@import './color-picker.less';

@namespace: ql;

.@{namespace}-editor {
  ::selection {
    background-color: rgba(56, 189, 248, 1);
  }
}

.@{namespace}-bubble .@{namespace}-toolbar,
.@{namespace}-toolbar.@{namespace}-snow {
  .@{namespace}-color-picker.@{namespace}-background,
  .@{namespace}-color-picker.@{namespace}-color  {
    .@{namespace}-picker-item {
      float: none;
      border-color: rgba(120, 113, 108, 1);
      background-color: var(--bg);
      font-size: 12px;
      &.@{namespace}-selected {
        --border-color: #000000;
        &[data-dark] {
          --border-color: #ffffff;
        }
        &::before {
          margin-left: 5px;
          margin-top: 1px;
          content: '';
          display: block;
          width: 3px;
          height: 8px;
          transform: rotate(45deg);
          border-style: solid;
          border-width: 0 2px 2px 0;
          border-color: var(--border-color);
        }
      }
      &.blank {
        &:hover {
          --bg: rgba(0, 0, 0, 0.05);
        }
        &::before {
          content: none;
        }
      }
      &.custom {
        position: relative;
        display: block;
        width: 100%;
        height: 22px;
        line-height: 22px;
        margin: 4px 0px 0px 0px;
        border: none;
        cursor: pointer;
        &:hover {
          color: inherit;
          --bg: rgba(0, 0, 0, 0.05);
        }
        .jsf-color-picker {
          position: absolute;
          top: 0;
          left: 0;
          z-index: 10;
        }
      }
    }
    &.@{namespace}-expanded {
      .@{namespace}-picker-options {
        display: flex;
      }
    }
  }
}
.@{namespace}-toolbar {
  .@{namespace}-color-picker {
    &.keep-color {
      display: flex;
      width: 52px;
      &.@{namespace}-color,
      &.@{namespace}-background {
        padding-left: 4px;
        padding-right: 4px;
        .@{namespace}-picker-label {
          width: 28px;
          flex-shrink: 0;
        }
      }
      .@{namespace}-picker-label {
        border-right-color: transparent;
      }
    }
  }
  
  &.@{namespace}-snow {
    .@{namespace}-color-picker {
      &.@{namespace}-expanded {
        .@{namespace}-picker-expand {
          border-color: #ccc;
          border-left-color: transparent;
          color: #ccc;
          &:hover {
            color: #ccc;
          }
        }
      }
      .@{namespace}-picker-expand {
        &:hover {
          color: #06c;
        }
      }
    }
  }

  .@{namespace}-color-picker {
    .@{namespace}-picker-expand {
      display: inline-flex;
      height: 100%;
      width: 100%;
      align-items: center;
      cursor: pointer;
      border: 1px solid transparent;
      &:hover {
        color: #fff;
      }
    }
    .@{namespace}-picker-options {
      width: 212px;
      flex-wrap: wrap;
    }
    .@{namespace}-picker-item {
      &.blank {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 20px;
        line-height: 20px;
        margin: 4px 0px;
        text-align: center;
      }
    }
    
    .used {
      width: 100%;
      &-list {
        display: flex;
        flex-wrap: wrap;
        min-height: 20px;
      }
      &::before {
        content: 'Recently used';
        font-size: 12px;
        color: rgba(209, 213, 219, 1);
      }
    }
  }
}
