PageSidebar

Боковая навигация страницы: список разделов (items) с группами и сворачиванием, опциональный поиск, шапка (header) и подвал (footerItems). Используется самостоятельно и как слот sidebar в PageServices.

Когда использовать

  • Навигация по разделам внутри одной страницы продукта.
  • Нужен сворачиваемый сайдбар с группировкой пунктов, поиском и шапкой «назад» / «заголовок».

Анатомия

Элементы (items, footerItems)

SidebarItem — либо ссылка (href), либо узел с вложенностью (items). Базовые поля: id, label, onClick, beforeContent / afterContent, disabledReason (+ disabledReasonPlacement).

  • typecollapse (по умолчанию, сворачиваемая группа) или group.
  • divider — разделитель после узла.

Шапка (header)

  • type: 'title' — заголовок с label и обязательной icon, опционально afterContent.
  • type: 'back' — кнопка «назад» с label, href или onClick.

Состояние и поведение

  • open / defaultOpen / onOpenChanged — раскрытие сайдбара (controlled / uncontrolled).
  • selected / onSelect — выбранный пункт и колбэк.
  • hasSearch — строка поиска по пунктам.
  • collapse — поведение сворачивания (пропсы @cloud-ru/ds-list).

Установка

pnpm add @cloud-ru/ds-uikit-product-page-layout
import { PageSidebar } from '@cloud-ru/ds-uikit-product-page-layout'

Props

Types

PropsPageSidebarProps
PropTypeDefaultRequiredDescription
classNamestringno
collapseCollapseStateno
data-test-idstringno
defaultOpenbooleanno
documentationDocumentationnoЗарезервировано, в текущей реализации не используется.
footerItemsSidebarItem[]no
hasSearchbooleanno
headerHeaderPropsno
itemsSidebarItem[]yes
onOpenChanged((open: boolean) => void)no
onSelect((id: string | number) => void)no
openbooleanno
pageContainerIdstringnoЗарезервировано, в текущей реализации не используется.
selectedstring | numberno

Types

PageSidebarProps

Storybook