Загрузка данных


@use '../../../theme/mixins' as m;

$color-option-size: 32px;
$color-option-gap: 8px;

.colorPicker {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--space-1000);
}

.colorPalette {
  display: grid;
  grid-template-columns: repeat(10, $color-option-size);
  gap: $color-option-gap;
}

.colorOption {
  @include m.buttonBase;

  --color-option: transparent;

  width: $color-option-size;
  min-width: $color-option-size;
  height: $color-option-size;
  padding: 0;
  border: 0;
  border-radius: var(--space-0250);
  background-color: var(--color-option);
  cursor: pointer;

  p {
    display: none;
  }

  &:hover:not(:disabled):not(.selected),
  &:active:not(:disabled):not(.selected) {
    background-color: var(--color-option);
    box-shadow: 0 0 0 2px var(--neutral-8);
  }

  &.selected {
    background-color: var(--color-option);
    box-shadow:
      0 0 0 2px var(--neutral-2),
      0 0 0 4px var(--blue-1);
  }
}

.colorDivider {
  width: 100%;
  height: 1px;
  background-color: var(--color-field-border);
}









@use '../../../theme/mixins' as m;

$color-menu-width: 424px;

.colorField {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-1000);
}

.colorFieldLabel {
  color: var(--neutral-12);
  font-size: var(--space-0875);
}

.colorTrigger {
  @include m.buttonBase;

  min-width: 44px;
  height: 40px;
  justify-content: center;
  padding: var(--space-0250);
  border: 1px solid var(--color-field-border);
  border-radius: var(--space-0250);
  background-color: transparent;

  p {
    width: 100%;
    justify-content: center;
    padding: 0;
  }

  &:hover:not(:disabled):not(.pressed),
  &:active:not(:disabled):not(.pressed) {
    border-color: var(--blue-1);
  }

  &.pressed {
    border-color: var(--blue-1);
  }
}

.colorPreview {
  position: relative;
  width: 30px;
  height: 30px;
  flex-shrink: 0;
  overflow: hidden;
  border: 1px solid var(--color-field-border);
  border-radius: var(--space-0125);
  background:
    linear-gradient(45deg, var(--color-field-square) 25%, transparent 25%),
    linear-gradient(-45deg, var(--color-field-square) 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, var(--color-field-square) 75%),
    linear-gradient(-45deg, transparent 75%, var(--color-field-square) 75%);
  background-size: var(--space-0500) var(--space-0500);
  background-position:
    0 0,
    0 calc(var(--space-0500) / 2),
    calc(var(--space-0500) / 2) calc(var(--space-0500) / -2),
    calc(var(--space-0500) / -2) 0;
}

.colorPreviewFill {
  position: absolute;
  inset: 0;
}

.colorMenu {
  --dropdown-width: #{$color-menu-width};

  box-sizing: border-box;
  padding: var(--space-1000);
}