ColorPicker
Базовый
Цвет: #6366f1
Размеры
Состояния
Входные параметры
| Имя | Тип | По умолчанию | Описание |
|---|---|---|---|
presets | string[] | ['#ef4444', '#f97316', '#eab308', '#22c55e', '#0ea5e9', '#6366f1', '#a855f7', '#000000', '#ffffff'] | Набор предустановленных цветов (hex) для быстрого выбора. |
size | 'sm' | 'md' | 'lg' | undefined | Размер поля. Если не задан, берётся из C3FormField. |
disabled | boolean | false | Отключает выбор цвета. |
error | boolean | false | Признак ошибки — подсвечивает панель. |
name | string | undefined | Имя поля для форм. |
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.