Для интеграции Carbon Components Svelte в проект на SvelteKit необходимо сначала установить пакет через npm или yarn:
npm install carbon-components-svelte carbon-components
Или с использованием yarn:
yarn add carbon-components-svelte carbon-components
После установки рекомендуется импортировать CSS стили
Carbon в главный файл приложения, обычно это
src/app.css или src/app.html через глобальный
импорт:
@import 'carbon-components/css/carbon-components.min.css';
Для динамических проектов с SvelteKit можно также подключать стили
через src/routes/+layout.svelte:
Это гарантирует корректное отображение компонентов во всех маршрутах.
Carbon Components Svelte предоставляет обширный набор UI-компонентов. Рассмотрим несколько основных примеров с их особенностями.
Ключевые моменты:
kind определяет стиль кнопки: primary,
secondary, danger, tertiary.on:click) можно использовать для
реактивного поведения.size="field", size="small").
Особенности:
bind:value и
bind:checked.aria-*), соответствующие рекомендациям WCAG.
Содержимое карточки, включая текст и элементы интерфейса.
Преимущества использования:
Carbon Components Svelte прекрасно работает с маршрутизатором SvelteKit. Для управления состоянием компонентов рекомендуется использовать реактивные переменные и сторы.
Пример использования состояния для модального окна:
Содержимое модального окна
Особенности:
bind:open позволяет полностью контролировать видимость
модального окна через стор.Carbon Components Svelte включает таблицы с поддержкой сортировки, фильтрации и пагинации.
{#each headers as { header }}
{header}
{/each}
{#each rows as row}
{row.name}
{row.age}
{/each}
Ключевые возможности:
Carbon позволяет изменять темы и цвета компонентов через CSS переменные:
:root {
--cds-background: #f4f4f4;
--cds-ui-01: #0f62fe;
}
Для SvelteKit можно импортировать свой кастомный CSS после стилей Carbon, чтобы переопределять переменные и адаптировать интерфейс под корпоративный стиль.
svelte:component для динамических
компонентов.Carbon Components Svelte учитывает WCAG и ARIA-стандарты. Компоненты поддерживают:
translate или кастомные
строки.