Button — это основной элемент управления, предназначенный для выполнения действий пользователя. В библиотеке Carbon Components Svelte он реализован с полной поддержкой стилей, состояний и событий, обеспечивая гибкую интеграцию в приложения на Svelte.
Для использования кнопки необходимо импортировать компонент из библиотеки:
<script>
import { Button } from "carbon-components-svelte";
</script>
<Button>Нажми меня</Button>
Базовая кнопка отображается с дефолтным стилем Carbon и поддерживает
стандартные HTML-события, такие как on:click.
Button поддерживает несколько типов, каждый из которых предназначен для различных сценариев:
Primary Button
kind="primary" задает основной стиль.<Button kind="primary">Сохранить</Button>Secondary Button
kind="secondary":<Button kind="secondary">Отмена</Button>Tertiary Button
kind="tertiary":<Button kind="tertiary">Подробнее</Button>Danger Button
kind="danger":<Button kind="danger">Удалить</Button>Компонент поддерживает изменение размеров через атрибут
size:
Small
<Button size="sm">Маленькая кнопка</Button>Medium (значение по умолчанию)
<Button size="md">Средняя кнопка</Button>Large
<Button size="lg">Большая кнопка</Button>Размер влияет на высоту, отступы и размер текста кнопки.
Button поддерживает несколько визуальных состояний:
Disabled — заблокированное состояние:
<Button disabled>Недоступно</Button>
Заблокированная кнопка не реагирует на клики и меняет визуальный стиль.
Loading — индикатор загрузки:
<Button loading>Загрузка...</Button>
Показывает спиннер и делает кнопку неактивной до завершения процесса.
Skeleton — скелетон для предварительной загрузки:
<Button skeleton>Загрузка</Button>Button позволяет интегрировать иконки для улучшения визуальной навигации:
<Button>
<Icon name="add" slot="icon" />
Добавить элемент
</Button>
slot="icon" размещает иконку перед
текстом.Основное событие, используемое с Button, — click:
<Button on:click={() => console.log("Кнопка нажата")}>
Кликни меня
</Button>
Поддерживаются все стандартные события DOM, включая
focus, blur, mouseenter и
mouseleave.
aria-label, aria-disabled и другие для
улучшенной доступности.Button можно комбинировать по типу, размеру, состоянию и наличию иконки:
<Button kind="danger" size="lg" loading>
Удаление...
</Button>
В этом примере кнопка отображается большой, красной, с индикатором загрузки и неактивна до завершения процесса.
kind="primary".secondary или
tertiary стилями.loading при асинхронных действиях, чтобы
предотвратить повторные клики.Button в Carbon Components Svelte — это гибкий инструмент для создания интерактивных элементов интерфейса, сочетающий универсальность, доступность и соответствие дизайну Carbon.