ColorPicker

Базовый

Цвет: #6366f1

Размеры

Состояния

Входные параметры

ИмяТипПо умолчаниюОписание
presetsstring[]['#ef4444', '#f97316', '#eab308', '#22c55e', '#0ea5e9', '#6366f1', '#a855f7', '#000000', '#ffffff']Набор предустановленных цветов (hex) для быстрого выбора.
size'sm' | 'md' | 'lg'undefinedРазмер поля. Если не задан, берётся из C3FormField.
disabledbooleanfalseОтключает выбор цвета.
errorbooleanfalseПризнак ошибки — подсвечивает панель.
namestringundefinedИмя поля для форм.

v-model привязывает выбранный цвет (hex-строка) через defineModel<string>({ default: '#6366f1' }).

Описание

Компонент C3ColorPicker — палитра выбора цвета. По клику на триггер открывается панель со встроенным системным пикером, набором пресетов и hex-полем для ручного ввода. Подходит для настройки цвета в интерфейсах.

Значение хранится как hex-строка. Выбор производится встроенным пикером, кликом по пресету или вводом корректного hex-кода.

Дополнительная информация

  • Панель рендерится через Teleport to="body" и позиционируется под триггером; закрывается по клику вне её.
  • Открытие/закрытие переключается кликом по триггеру, триггер несёт атрибуты aria-expanded и aria-haspopup="dialog".
  • В hex-поле фиксируется только валидный код (регулярное выражение 3 или 6 шестнадцатеричных символов); иначе значение возвращается к текущему цвету.
  • Компонент интегрируется с C3FormField: берёт ошибку из контекста и регистрирует геттер значения для валидации.
  • События: явные emit не объявляются, изменение идёт через v-model.
×