Button
Компонент Button — это многофункциональная кнопка с поддержкой различных цветов, вариантов оформления, состояний и стилей.
Обзор
- Основное назначение: универсальный элемент взаимодействия для форм, диалогов и других действий.
- Ключевые возможности:
- Четыре варианта оформления:
filled,outlined,soft,flat. - Цветовая палитра с тёмной темой.
- Режим иконки (
isIcon). - Эффект свечения (
isGlow). - Нестилизованный режим (
unstyled). - Состояния:
hover,focus,active,disabled. - Проброс всех атрибутов и слушателей.
- Четыре варианта оформления:
API компонента
Props
| Проп | Тип | По умолчанию | Описание |
|---|---|---|---|
color | String | 'neutral' | Цветовая тема кнопки. Возможные значения: 'primary', 'secondary', 'info', 'success', 'warning', 'error', 'neutral'. |
variant | String | 'filled' | Вариант оформления. Возможные значения: 'filled', 'outlined', 'soft', 'flat'. |
type | String | 'button' | HTML-атрибут type кнопки. |
isIcon | Boolean | false | Если true, кнопка принимает квадратную форму без внутренних отступов, оптимизированную для иконок. |
isGlow | Boolean | false | Добавляет эффект тени-свечения в цвет темы. |
disabled | Boolean | false | Блокирует кнопку, делая её некликабельной и визуально неактивной. |
unstyled | Boolean | false | Если true, убирает все стили по умолчанию, оставляя только базовые и переданный className. |
className | String | Дополнительные CSS-классы. | |
onClick | Function | Функция-обработчик клика. |
Слоты
| Имя слота | Описание |
|---|---|
default | Содержимое кнопки (текст, иконка и т.д.). |
Состояния кнопки
Компонент отслеживает следующие состояния и добавляет соответствующие классы:
hover— курсор наведён на кнопку.focus— кнопка в фокусе.active— кнопка нажата.disabled— кнопка заблокирована, добавляется атрибутdata-disabled.