// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
//
// Copyright (c) 2015-2016 Andrey Antukh <niwi@niwi.nz>
// Copyright (c) 2015-2016 Juan de la Cruz <delacruzgarciajuan@gmail.com>

.assets-bar {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  height: 100%;

  .assets-bar-title {
    color: $color-gray-10;
    font-size: $fs14;
    margin: $small $small 0 $small;
    display: flex;
    align-items: center;
    cursor: pointer;

    & .libraries-button {
      margin-left: auto;
      display: flex;
      align-items: center;

      svg {
        fill: $color-gray-30;
        height: 16px;
        width: 16px;
        padding-right: 6px;
      }
    }

    & .libraries-button:hover {
      color: $color-primary;

      & svg {
        fill: $color-primary;
      }
    }
  }

  .search-block {
    border: 1px solid $color-gray-30;
    margin: $small $small 0 $small;
    padding: $x-small $small;
    display: flex;
    align-items: center;

    &:hover {
      border-color: $color-gray-20;
    }

    &:focus-within {
      border-color: $color-primary;
    }

    & .search-input {
      background-color: $color-gray-50;
      border: none;
      color: $color-gray-10;
      font-size: $fs12;
      margin: 0;
      padding: 0;
      flex-grow: 1;

      &:focus {
        color: lighten($color-gray-10, 8%);
      }
    }

    & .search-icon {
      display: flex;
      align-items: center;

      svg {
        fill: $color-gray-30;
        height: 16px;
        width: 16px;
      }

      &.close {
        transform: rotate(45deg);
        cursor: pointer;
      }
    }
  }

  .input-select {
    background-color: $color-gray-50;
    color: $color-gray-10;
    border: 1px solid transparent;
    border-bottom-color: $color-gray-40;
    padding: $x-small;
    margin: $small $small $medium $small;

    &:focus {
      color: lighten($color-gray-10, 8%);
    }

    option {
      background: $color-white;
      color: $color-gray-60;
      font-size: $fs12;
    }
  }

  .collapse-library {
    margin-right: $small;

    &.open svg {
      transform: rotate(90deg);
    }
  }

  .library-bar {
    cursor: pointer;
  }

  .listing-options {
    background-color: $color-gray-60;
    display: flex;
    align-items: center;
    padding: $medium $small 0 $small;

    .selected-count {
      color: $color-primary;
      font-size: $fs11;
    }

    .listing-option-btn {
      cursor: pointer;
      margin-left: $small;

      &.first {
        margin-left: auto;
      }

      svg {
        fill: $color-gray-20;
        height: 16px;
        width: 16px;
      }
    }
  }

  .asset-section {
    background-color: $color-gray-60;
    padding: $small;
    font-size: $fs12;
    color: $color-gray-20;
    /* TODO: see if this is useful, or is better to leave only
             one scroll bar in the whole sidebar
             (also see .asset-list) */
    // max-height: 30rem;
    // overflow-y: scroll;

    // First child is the listing options buttons
    &:not(:nth-child(2)) {
      border-top: 1px solid $color-gray-50;
    }

    .asset-title {
      display: flex;
      cursor: pointer;
      font-size: $fs11;
      text-transform: uppercase;

      & .num-assets {
        color: $color-gray-30;
      }

      & svg {
        height: 8px;
        width: 8px;
        fill: $color-gray-30;
        margin-right: 4px;
        transform: rotate(90deg);
      }

      &.closed svg {
        transform: rotate(0deg);
        transition: transform 0.3s;
      }
    }

    .group-title {
      display: flex;
      cursor: pointer;
      margin-top: $small;
      margin-bottom: $x-small;
      color: $color-white;

      & svg {
        height: 8px;
        width: 8px;
        fill: $color-white;
        margin-right: 4px;
        transform: rotate(90deg);
      }

      &.closed svg {
        transform: rotate(0deg);
        transition: transform 0.3s;
      }

      & .dim {
        color: $color-gray-40;
      }
    }

    .assets-button {
      margin-left: auto;
      cursor: pointer;

      & svg {
        width: 0.7rem;
        height: 0.7rem;
        fill: #F0F0F0;
      }

      &:hover svg {
          fill: $color-primary;
      }
    }

    .asset-title + .asset-grid {
      margin-top: $small;
    }

    .asset-grid {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr 1fr;
      grid-auto-rows: 6vh;
      column-gap: 0.5rem;
      row-gap: 0.5rem;

      &.big {
        grid-template-columns: 1fr 1fr;
        grid-auto-rows: 10vh;

        .grid-cell {
          padding: $x-small;

          & svg {
            height: 10vh;
          }
        }
      }
    }

    .grid-cell {
      background-color: $color-canvas;
      border-radius: 4px;
      border: 2px solid transparent;
      overflow: hidden;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: $small;
      position: relative;
      cursor: pointer;

      & img {
        max-height: 100%;
        max-width: 100%;
        height: auto;
        width: auto;
        pointer-events: none;
      }
    }

    .cell-name {
      background-color: $color-gray-60;
      font-size: $fs9;
      display: none;
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      padding: 3px;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;

      &.editing {
        display: block;
      }

      .editable-label-input {
        border: 1px solid $color-gray-20;
        border-radius: 3px;
        font-size: $fs11;
        padding: 2px;
        margin: 0;
        height: unset;
        width: 100%;
      }

      .editable-label-close {
        display: none;
      }
    }

    .grid-cell:hover {
      border: 2px solid $color-primary;

      & .cell-name {
        display: block;
      }
    }

    .grid-cell.selected {
      border: 2px solid $color-primary;
    }

    .asset-title + .asset-enum {
      margin-top: $small;
    }

    .asset-enum {
      .enum-item {
        display: flex;
        align-items: center;
        margin-bottom: $small;
        cursor: pointer;

        & > svg,
        & > img {
          background-color: $color-canvas;
          border-radius: 4px;
          border: 2px solid transparent;
          height: 24px;
          width: 24px;
          margin-right: $small;
        }

        .item-name {
          width: calc(100% - 24px - #{$small});
          overflow: hidden;
          text-overflow: ellipsis;
          white-space: nowrap;
          display: block;

          &.editing {
            display: flex;
            align-items: center;

            .editable-label-input {
              height: 24px;
            }

            .editable-label-close {
              display: none;
            }
          }
        }
      }

      .enum-item:hover,
      .enum-item.selected,
      {
        color: $color-primary;
      }
    }

    /* TODO: see if this is useful, or is better to leave only
             one scroll bar in the whole sidebar
             (also see .asset-section) */
    // .asset-list {
    //   max-height: 30rem;
    //   overflow-y: scroll;
    // }

    .asset-list-item {
      display: flex;
      align-items: center;
      border: 1px solid transparent;
      border-radius: $br-small;
      margin-top: $x-small;
      padding: 2px;
      font-size: $fs12;
      color: $color-white;
      cursor: pointer;

      & span {
        margin-left: $x-small;
        color: $color-gray-30;
        text-transform: uppercase;
      }

      &.selected {
        border: 1px solid $color-primary;
      }
    }

    .context-menu {
      position: fixed;
      top: 10px;
      left: 10px;
    }

    .advanced-options {
      border-color: $color-black;
      background-color: $color-gray-60;

      .input-text, .input-select, .adv-typography-name {
        background-color: $color-gray-60;
      }
    }
  }
}

.modal-create-color {
    position: relative;
    background-color: $color-white;
    padding: 4rem;
    display: flex;
    flex-direction: column;
    align-items: center;

    & .sketch-picker, .chrome-picker {
        box-shadow: none !important;
        border: 1px solid $color-gray-10 !important;
        border-radius: 0 !important;

        & input {
            background-color: $color-white;
        }
    }

    & .close {
        position: absolute;
        right: 1rem;
        transform: rotate(45deg);
        top: 1rem;

        svg {
            fill: $color-black;
            height: 20px;
            width: 20px;

            &:hover {
                fill: $color-danger;
            }

        }
    }

    & .btn-primary {
        width: 10rem;
        padding: 0.5rem;
        margin-top: 1rem;
    }
}

.modal-create-color-title {
    color: $color-black;
    font-size: 24px;
    font-weight: normal;
}


.libraries-wrapper {
    overflow: auto;
    display: flex;
    flex-direction: column;
    flex: 1;
}