HeaderLayout
HeaderLayout — контейнер шапки консоли. Раскладывает переданные слоты по зонам: меню, логотип, селектор проекта, хлебные крошки и правый тулбар.
Демо
Logo
Menu
Project Select
Breadcrumbs
Prop
Type
Value
breadcrumbstext
classNametext
data-test-idtext
logotext
menutext
selecttext
toolbartext
Code
<HeaderLayout menu={"key":null,"ref":null,"props":{},"_owner":null} logo={"key":null,"ref":null,"props":{},"_owner":null} select={"key":null,"ref":null,"props":{},"_owner":null} breadcrumbs={"key":null,"ref":null,"props":{},"_owner":null} toolbar={"key":null,"ref":null,"props":{},"_owner":null} data-test-id="header-layout-demo" />Когда использовать
- Сборка верхней панели консоли из готовых блоков (
MainMenu,Logo,PathBreadcrumbs,UserMenu). - Единая раскладка шапки на desktop и mobile через
AdaptiveProvider.
Примеры использования
Полная шапка
Logo
Menu
Select
Breadcrumbs
Toolbar
tsx
import { HeaderLayout } from '@cloud-ru/ds-uikit-product-header';
function Slot({ label }: { label: string }) {
return <div style={{ padding: '4px 8px', fontSize: 12 }}>{label}</div>;
}
export function Basic() {
return (
<HeaderLayout
menu={<Slot label='Menu' />}
logo={<Slot label='Logo' />}
select={<Slot label='Select' />}
breadcrumbs={<Slot label='Breadcrumbs' />}
toolbar={<Slot label='Toolbar' />}
data-test-id='header-layout-basic'
/>
);
}Частичная компоновка
Logo
Menu
Breadcrumbs
tsx
import { HeaderLayout } from '@cloud-ru/ds-uikit-product-header';
function Slot({ label }: { label: string }) {
return <div style={{ padding: '4px 8px', fontSize: 12 }}>{label}</div>;
}
export function PartialSlots() {
return (
<HeaderLayout
menu={<Slot label='Menu' />}
logo={<Slot label='Logo' />}
breadcrumbs={<Slot label='Breadcrumbs' />}
data-test-id='header-layout-partial'
/>
);
}Props
Types
Props
HeaderLayoutProps| Prop | Type | Default | Required | Description |
|---|---|---|---|---|
breadcrumbs | ReactNode | — | no | Слот хлебных крошек. На mobile переносится под основную строку хедера. |
className | string | — | no | CSS-класс корневого элемента. |
data-test-id | string | — | no | |
logo | ReactNode | — | no | Слот логотипа (крайний левый). |
menu | ReactNode | — | no | Слот главного меню (слева, после логотипа). |
select | ReactNode | — | no | Слот селектора (например, выбор облака/организации), после меню. |
toolbar | ReactNode | — | no | Слот тулбара — правая часть хедера. |