PageServices

Детальная страница инстанса: селект раздела (sidebar), заголовок (title) со статусом в slotAfterTitle, действия (actions) и контент (children). Раскладку берёт из AdaptiveProvider.

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

  • Страница конкретного ресурса/инстанса с навигацией по разделам и заголовком-статусом.
  • Нужен заголовок со статусом и панелью действий поверх адаптивной раскладки с боковым сайдбаром.

Анатомия

  • sidebar — селект/сайдбар разделов (пропсы PageSidebar).
  • title — заголовок страницы (строка Headline).
  • slotBeforeTitle / slotAfterTitle — слоты до/после заголовка; статус инстанса обычно кладут в slotAfterTitle.
  • actions — панель действий справа от заголовка.
  • subtitle — подзаголовок (например, DefaultSubtitle с ID ресурса).
  • children — контент страницы.
  • autoHeight — снять расчёт высоты по глобальному хост-контейнеру single-spa.
  • limitContentMaxWidth — ограничить максимальную ширину контента.

Адаптивность

  • desktop — сайдбар сбоку, заголовок и действия в строке шапки.
  • mobile — селект раздела (SidebarSelect) выносится наверх как full-bleed-строка с разделителем снизу; ниже — заголовок со статусом, строка действий и контент с отступом.

Установка

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

Props

Types

PropsPageServicesProps
PropTypeDefaultRequiredDescription
actionsAction[]no
autoHeightbooleanno
childrenstring | number | boolean | ReactElement<any, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | null | undefinedno
classNamestringno
data-test-idstringno
limitContentMaxWidthbooleanno
maxVisibleActionsItemsnumberno
sidebarPageSidebarPropsno
slotAfterTitleReactNodenoСлот после заголовка (например, статус)
slotBeforeTitleReactNodenoСлот перед заголовком (например, кнопка «назад»)
subtitleReactNodenoПодзаголовок под заголовком
titlestringyesЗаголовок страницы
truncateTitlebooleannoОбрезать заголовок в одну строку с многоточием

Types

PageServicesProps

Storybook

Figma