Header в Carbon Components Svelte представляет собой основной компонент для создания шапки приложения. Он объединяет навигацию, брендинг и элементы управления интерфейсом, обеспечивая консистентный и адаптивный внешний вид.
Header состоит из нескольких ключевых частей:
Header Container (Header) Основной
контейнер, который задаёт фоновый цвет, размеры и базовую структуру
шапки. Он принимает следующие свойства:
aria-label — строка для доступности, описывающая
назначение шапки.fixed — логическое значение, фиксирует шапку в верхней
части экрана при прокрутке.expanded — управляет состоянием раскрытия
навигационного меню на мобильных устройствах.Branding Section (HeaderName)
Используется для отображения названия компании или приложения.
Содержит:
prefix — дополнительный текст перед названием
(например, «IBM»).href — ссылка на главную страницу.Пример использования:
<Header>
<HeaderName prefix="IBM" href="/">Carbon App</HeaderName>
</Header>Navigation (HeaderNavigation)
Основной блок навигации, содержащий ссылки на разделы приложения.
HeaderMenuItem — элемент меню, может быть
вложенным.click для обработки переходов.Пример:
<HeaderNavigation aria-label="Main Navigation">
<HeaderMenuItem href="/dashboard">Dashboard</HeaderMenuItem>
<HeaderMenuItem href="/reports">Reports</HeaderMenuItem>
</HeaderNavigation>Global Actions (HeaderGlobalBar)
Панель с элементами управления, такими как иконки уведомлений,
пользовательский профиль и поиск.
HeaderGlobalAction — отдельная кнопка, поддерживает
событие click и отображение иконки. Пример добавления
иконки поиска:<HeaderGlobalBar>
<HeaderGlobalAction aria-label="Search" on:click={handleSearch}>
<Search32 />
</HeaderGlobalAction>
</HeaderGlobalBar>Header автоматически поддерживает мобильные устройства:
Mobile Nav Toggle
(HeaderMenuButton) Отвечает за открытие и закрытие бокового
меню на маленьких экранах.
aria-label — обязательно для доступности.click управляют состоянием
expanded в Header.Пример:
<HeaderMenuButton aria-label="Open menu" on:click={() => expanded = !expanded} />
Carbon Components Svelte использует CSS-переменные для настройки внешнего вида:
--cds-ui-01
и --cds-text-01..bx--header__menu-item--active.Header и его дочерние компоненты поддерживают стандартные события DOM и собственные:
HeaderMenuButton — событие клика для открытия
меню.HeaderNavigation — навигационные клики можно
отслеживать через on:click на
HeaderMenuItem.Реактивное состояние expanded позволяет управлять
отображением мобильной навигации:
<script>
let expanded = false;
</script>
<Header {expanded}>
<HeaderMenuButton aria-label="Toggle menu" on:click={() => expanded = !expanded} />
<HeaderNavigation>
<HeaderMenuItem href="/">Home</HeaderMenuItem>
</HeaderNavigation>
</Header>
Carbon Components Svelte предоставляет готовые иконки в виде
компонентов, которые удобно вставлять в HeaderGlobalAction
или рядом с названием:
<HeaderGlobalAction aria-label="Notifications">
<Notification20 />
</HeaderGlobalAction>
aria-label для элементов навигации и
глобальных действий для улучшения доступности.HeaderMenuButton только на мобильных
версиях для корректного отображения меню.HeaderMenu и
HeaderMenuItem с поддержкой подменю.HeaderName для добавления логотипа или иконки.Header в Carbon Components Svelte обеспечивает полный набор инструментов для создания удобной и доступной шапки приложения, сочетающей адаптивность, брендинг и элементы управления интерфейсом.