В SvelteKit UI кнопки (Button) являются базовым
элементом интерфейса, позволяя пользователю инициировать действия.
Компонент кнопки легко настраивается через пропсы и слоты, поддерживает
различные состояния и стили.
<script>
import { Button } from 'sveltekit-ui';
</script>
<Button>Нажми меня</Button>
Кнопка по умолчанию рендерится как <button> с
базовыми стилями. Для изменения визуального вида используется проп
variant:
<Button variant="primary">Основная</Button>
<Button variant="secondary">Вторичная</Button>
<Button variant="danger">Опасная</Button>
Ключевые варианты:
primary — основной акцент интерфейса, яркий цвет.secondary — менее заметная, поддерживающая визуальную
иерархию.danger — кнопка для критичных действий, предупреждающий
красный цвет.Кнопка может находиться в нескольких состояниях:
<Button disabled>Недоступно</Button>
<Button loading>Загрузка...</Button>
Состояние loading автоматически блокирует клик и
показывает анимацию загрузки.
Кнопки поддерживают размеры через проп size:
<Button size="small">Маленькая</Button>
<Button size="medium">Средняя</Button>
<Button size="large">Большая</Button>
Также можно менять форму с помощью пропа rounded:
<Button rounded>Скругленная</Button>
<Button rounded="full">Полностью круглая</Button>
SvelteKit UI поддерживает встроенные иконки, которые добавляются
через слот icon или проп icon:
<Button icon="check">Подтвердить</Button>
<Button>
<span slot="icon">✔️</span>
Сохранить
</Button>
<Button icon="settings" aria-label="Настройки" />
aria-label обязательна для доступности.FAB — это плавающая кнопка для ключевых действий, обычно закрепляется в углу экрана и визуально выделяется.
<script>
import { Fab } from 'sveltekit-ui';
</script>
<Fab icon="add" aria-label="Добавить элемент" />
FAB может быть:
bottom-right — стандартное расположение.bottom-left — альтернативное расположение.small, medium,
large через проп size.<Fab icon="edit" size="large" position="bottom-left" />
SvelteKit UI предоставляет встроенные анимации при наведении и клике:
<Fab icon="share" animation="ripple" />
FAB может открывать меню с дополнительными действиями через слот
menu:
<Fab icon="menu">
<div slot="menu">
<Button icon="edit">Редактировать</Button>
<Button icon="delete">Удалить</Button>
</div>
</Fab>
Кнопки и FAB легко связываются с состоянием через реактивные переменные SvelteKit:
<script>
import { Button, Fab } from 'sveltekit-ui';
let isLoading = false;
function handleClick() {
isLoading = true;
setTimeout(() => isLoading = false, 2000);
}
</script>
<Button on:click={handleClick} loading={isLoading}>Отправить</Button>
<Fab icon="send" on:click={handleClick} loading={isLoading} />
loading.SvelteKit UI поддерживает кастомизацию через CSS-переменные и пропы:
<Button style="--button-bg: #4caf50; --button-color: white;">
Кастомная кнопка
</Button>
<Fab style="--fab-bg: #ff5722; --fab-hover: #e64a19;" icon="star" />
Kнопки и FAB в SvelteKit UI представляют собой мощные и гибкие инструменты для построения интерактивного интерфейса, сочетающие визуальную привлекательность, доступность и удобство интеграции с состоянием приложения.