PanelHeader

Компонент, предназначенный для создания заголовочной секции (шапки) внутри компонента Panel.

Связанные компоненты:

Загружается...

Основной текст следует передавать в свойство children. В зависимости от платформы заголовок будет либо располагаться слева, либо будет выровнен по центру (платформа iOS).

Дополнительно есть возможность передать в свойстве typographyProps параметры для типографического элемента заголовка, например, Component (тэг для рендеринга компонента, span по умолчанию) или data-атрибуты.

Используйте свойства before для добавления дополнительного контента слева от заголовка. Наиболее частый вариант использования свойства before - иконки (например “Назад”, “Закрыть”) или текстовые кнопки (на платформе iOS). Также допускается использовать компонент Avatar (размером 28px или 36px).

Используйте свойства after для добавления дополнительного контента справа от заголовка. Наиболее частый вариант использования свойства after - иконки и компонент Avatar (размером 28px или 36px). Допускается использование нескольких иконок одновременно (компонент автоматически расставит между ними отступы).

Булево свойство transparent позволяет задать компоненту прозрачный фон.

Загружается...

Свойство float

Свойство fixed позволяет шапке выбиваться из потока и фиксироваться сверху при прокрутке основного контента.

  • true - шапка фиксируется сверху;
  • false - шапка остаётся в потоке и прокручивается вместе с контентом.

По умолчанию значение true на всех платформах, кроме vkcom.

Используйте свойство delimiter, оно позволяет управлять типом разделителя (разделительная линия или отступ). Доступны следующие значения:

  • "none" - разделитель отсутствует;
  • "separator" - добвляется разделительная линия при условии, что это либо платформа vkcom, либо платформа android/iOS на мобильных устройствах;
  • "spacing" - добавляется отступ, если это платформа android/iOS на планшетах и десктопах;
  • "auto" - автоматически подбирает разделительную линию или отступ в зависимости от удовлетворяющих условий "separator" или "spacing".

Исключения, в которых разделительная линия после шапки не нужна (включая мобильные устройства android/iOS):

  • если в PanelHeader рисуется Search;
  • если после PanelHeader рисуется Search;
  • если после PanelHeader рисуется Banner;
  • если в PanelHeader рисуются Tabs;
  • любой другой элемент, визуально разделяющий шапку и основной контент.

В таких случаях передавайте в PanelHeader свойство delimiter="spacing", это позволит сохранить отступ на планшетах и десктопах, но обеспечит отсутствие разделительной линии для мобильных устройствах.

Загружается...

Подкомпонент для отрисовки кнопки в шапке – передаётся в свойство before и/или after.

Загружается...

В качестве содержимого компонента передавайте в свойство children либо иконку ↗, либо текст. Текстовые кнопки чаще всего используются в iOS, но есть исключения для android.

Обратите внимание, что для планшетов и десктопов рекомендуется использовать кнопки размером 24px, а для мобильных устройств - размером 28px (возможно, будет полезен AdaptiveIconRenderer).

Если нужно несколько кнопок в ряд, то используйте React.Fragment:

Загружается...

Кнопка назад в экранах в рамках одного сценария (View). Внутри инкапсулирована логика показа нужной иконки для платформы. Также можно передать свойство label, для отображения текста, который будет виден на платформах vkcom и iOS, но будет скрыт на Android. С помощью свойств hideLabelOnVKCom и hideLabelOnIOS можно также визуально скрыть label на соответствующих платформах, он будет виден только для скринридеров.

Загружается...

Кнопка “Отмена” в модальных окнах для закрытия текущего View в рамках View. На iOS будет показан текст, передаваемый как label, на Android и Desktop - <Icon28CancelOutline /> или <Icon24CancelOutline />. Если передать свойство label, то на Android и Desktop он будет скрыт, но виден для скринридеров.

Загружается...

Кнопка “Редактировать”. Принимает свойство isActive, которое определяет состояние кнопки (включен ли режим редактирования). Для указания кастомных текстов для состояний можно использовать соответствующие свойства doneLabel и editLabel. Данные тексты будут видны на iOS, а на Android и Desktop они будет скрыты, но видны для скринридеров.

Загружается...

Кнопка “Готово” в модальных окнах для закрытия текущего View в рамках View и сохранения какого-либо результата. На iOS будет показан текст, передаваемый как label, на Android и Desktop - <Icon28DoneOutline /> или <Icon24DoneOutline />. Если передать свойство label, то на Android и Desktop текст будет скрыт, но виден для скринридеров.

Загружается...

Подкомпонент, предназначенный для создания сложного контента, включая добавление аватаров и подзаголовков.

Загружается...

Текст заголовка следует передавать в свойство children данного компонента.

В свойство aside можно передать дополнительный контент (чаще всего, иконку размером 12px), который будет располагаться справа от заголовка.

Подзаголовок, располагающийся под заголовком, следует передавать в свойство subtitle.

В компоненте доступна возможность добавления дополнительного контента в начале через свойство before. Наиболее частый вариант использования свойства before - аватары (компонент Avatar).

Следует руководствоваться следующими правилами:

  • на мобильных устройствах старайтесь использовать аватары размером 36px;
  • на планшетах и десктопах аватары размером 32px.

Компонент позволяет обрабатывать нажатия через свойство onClick. В таком случае вся шапка становится кликабельным элементом (role="button"), поэтому старайтесь не вкладывать другие интерактивные элементы (кнопки, ссылки), чтобы не нарушать a11y.

СвойствоОписание
afterReactNode

Добавляет элемент справа.

При передаче нескольких элементов, расставляет отступы между ними.

По умолчанию: -
beforeReactNode

Добавляет элемент слева.

По умолчанию: -
delimiter"auto" | "none" | "separator" | "spacing"

Тип разделителя под шапкой.

  • "none" означает, что разделитель не нужен
  • "separator" включает сепаратор при условии, что это:
    • либо платформа vkcom
    • либо платформа android/ios при <AdaptivityProvider sizeX="compact" />
  • "spacing" включает отступ, если это платформа android/ios при <AdaptivityProvider sizeX="regular" />
  • "auto" автоматически подбирает либо "separator", либо "spacing" по их условиям.
По умолчанию: auto
fixedboolean

Если false, то шапка будет в потоке. По умолчанию true, но если платформа vkcom, то по умолчанию false.

По умолчанию: -
floatboolean

Высота шапки будет игнорироваться контентом панели.

По умолчанию: false
getRefRef<HTMLDivElement>
По умолчанию: -
getRootRefRef<HTMLDivElement>
По умолчанию: -
shadowboolean

Deprecated: Since 7.4.0.

Свойство будет удалено в v8 (не используется).

По умолчанию: -
transparentboolean

Прозрачный фон компонента.

По умолчанию: false
typographyProps(HasComponent & HTMLAttributes<HTMLElement> & HasDataAttribute)

По умолчанию как Component используется span.

По умолчанию: {}
СвойствоОписание
activatedboolean

Позволяет управлять activated-состоянием извне.

По умолчанию: -
activeClassNamestring

Deprecated: Since 7.3.0.

Свойство устарело и будет удалено в v8, используйте свойство activeMode.

По умолчанию: -
activeEffectDelaynumber

Длительность показа active-состояния.

По умолчанию: -
activeModeStateModeLiteral

Стиль подсветки active-состояния. Если передать произвольную строку, она добавится как css-класс во время active.

По умолчанию: -
baseClassNamestring | false

Deprecated: Since 7.3.0.

Свойство устарело и будет удалено в v8, используйте свойство className.

По умолчанию: -
baseStyleCSSProperties

Deprecated: Since 7.3.0.

Свойство устарело и будет удалено в v8, используйте свойство style.

По умолчанию: -
borderRadiusMode"auto" | "inherit"

Задает border-radius элементу В режиме auto на маленьких экранах border-radius: 0, иначе определяется токеном --vkui--size_border_radius--regular.

По умолчанию: -
ComponentElementType<any, keyof IntrinsicElements>
По умолчанию: -
focusVisibleModeFocusVisibleMode

Стиль аутлайна focus visible. Если передать произвольную строку, она добавится как css-класс при :focus-visible

По умолчанию: -
getRootRefRef<HTMLElement>
По умолчанию: -
hasActiveboolean

Указывает, должен ли компонент реагировать на active-состояние.

По умолчанию: -
hasHoverboolean

Указывает, должен ли компонент реагировать на hover-состояние.

По умолчанию: -
hasHoverWithChildrenboolean

Позволяет родительскому компоненту иметь hovered-cостояние при наведении на любой дочерний элемент. По умолчанию состояние hovered у родителя сбрасывается.

Присваивается родителькому компоненту.

По умолчанию: -
hoverClassNamestring

Deprecated: Since 7.3.0.

Свойство устарело и будет удалено в v8, используйте свойство hoverMode.

По умолчанию: -
hoveredboolean

Позволяет управлять hovered-состоянием извне.

По умолчанию: -
hoverModeStateModeLiteral

Стиль подсветки hover-состояния. Если передать произвольную строку, она добавится как css-класс во время hover.

По умолчанию: -
labelReactNode

Текст или содержимое кнопки.

По умолчанию: -
primaryboolean

Флаг для обозначения первичной кнопки Влияет на стилизацию кнопки.

По умолчанию: false
unlockParentHoverboolean

Позволяет родительскому компоненту показывать hovered-состояние при наведении на текущий дочерний компонент.

Присваивается дочернему компоненту.

По умолчанию: -
СвойствоОписание
activatedboolean

Позволяет управлять activated-состоянием извне.

По умолчанию: -
activeClassNamestring

Deprecated: Since 7.3.0.

Свойство устарело и будет удалено в v8, используйте свойство activeMode.

По умолчанию: -
activeEffectDelaynumber

Длительность показа active-состояния.

По умолчанию: -
activeModeStateModeLiteral

Стиль подсветки active-состояния. Если передать произвольную строку, она добавится как css-класс во время active.

По умолчанию: -
baseClassNamestring | false

Deprecated: Since 7.3.0.

Свойство устарело и будет удалено в v8, используйте свойство className.

По умолчанию: -
baseStyleCSSProperties

Deprecated: Since 7.3.0.

Свойство устарело и будет удалено в v8, используйте свойство style.

По умолчанию: -
borderRadiusMode"auto" | "inherit"

Задает border-radius элементу В режиме auto на маленьких экранах border-radius: 0, иначе определяется токеном --vkui--size_border_radius--regular.

По умолчанию: -
ComponentElementType<any, keyof IntrinsicElements>
По умолчанию: -
focusVisibleModeFocusVisibleMode

Стиль аутлайна focus visible. Если передать произвольную строку, она добавится как css-класс при :focus-visible

По умолчанию: -
getRootRefRef<HTMLElement>
По умолчанию: -
hasActiveboolean

Указывает, должен ли компонент реагировать на active-состояние.

По умолчанию: -
hasHoverboolean

Указывает, должен ли компонент реагировать на hover-состояние.

По умолчанию: -
hasHoverWithChildrenboolean

Позволяет родительскому компоненту иметь hovered-cостояние при наведении на любой дочерний элемент. По умолчанию состояние hovered у родителя сбрасывается.

Присваивается родителькому компоненту.

По умолчанию: -
hideLabelOnIOSboolean

Скрыть надпись на платформе ios.

По умолчанию: false
hideLabelOnVKComboolean

Скрыть надпись на платформе vkcom.

По умолчанию: false
hoverClassNamestring

Deprecated: Since 7.3.0.

Свойство устарело и будет удалено в v8, используйте свойство hoverMode.

По умолчанию: -
hoveredboolean

Позволяет управлять hovered-состоянием извне.

По умолчанию: -
hoverModeStateModeLiteral

Стиль подсветки hover-состояния. Если передать произвольную строку, она добавится как css-класс во время hover.

По умолчанию: -
labelReactNode

Текст или содержимое кнопки.

По умолчанию: Назад
primaryboolean

Флаг для обозначения первичной кнопки Влияет на стилизацию кнопки.

По умолчанию: -
unlockParentHoverboolean

Позволяет родительскому компоненту показывать hovered-состояние при наведении на текущий дочерний компонент.

Присваивается дочернему компоненту.

По умолчанию: -
СвойствоОписание
activatedboolean

Позволяет управлять activated-состоянием извне.

По умолчанию: -
activeClassNamestring

Deprecated: Since 7.3.0.

Свойство устарело и будет удалено в v8, используйте свойство activeMode.

По умолчанию: -
activeEffectDelaynumber

Длительность показа active-состояния.

По умолчанию: -
activeModeStateModeLiteral

Стиль подсветки active-состояния. Если передать произвольную строку, она добавится как css-класс во время active.

По умолчанию: -
baseClassNamestring | false

Deprecated: Since 7.3.0.

Свойство устарело и будет удалено в v8, используйте свойство className.

По умолчанию: -
baseStyleCSSProperties

Deprecated: Since 7.3.0.

Свойство устарело и будет удалено в v8, используйте свойство style.

По умолчанию: -
borderRadiusMode"auto" | "inherit"

Задает border-radius элементу В режиме auto на маленьких экранах border-radius: 0, иначе определяется токеном --vkui--size_border_radius--regular.

По умолчанию: -
ComponentElementType<any, keyof IntrinsicElements>
По умолчанию: -
focusVisibleModeFocusVisibleMode

Стиль аутлайна focus visible. Если передать произвольную строку, она добавится как css-класс при :focus-visible

По умолчанию: -
getRootRefRef<HTMLElement>
По умолчанию: -
hasActiveboolean

Указывает, должен ли компонент реагировать на active-состояние.

По умолчанию: -
hasHoverboolean

Указывает, должен ли компонент реагировать на hover-состояние.

По умолчанию: -
hasHoverWithChildrenboolean

Позволяет родительскому компоненту иметь hovered-cостояние при наведении на любой дочерний элемент. По умолчанию состояние hovered у родителя сбрасывается.

Присваивается родителькому компоненту.

По умолчанию: -
hoverClassNamestring

Deprecated: Since 7.3.0.

Свойство устарело и будет удалено в v8, используйте свойство hoverMode.

По умолчанию: -
hoveredboolean

Позволяет управлять hovered-состоянием извне.

По умолчанию: -
hoverModeStateModeLiteral

Стиль подсветки hover-состояния. Если передать произвольную строку, она добавится как css-класс во время hover.

По умолчанию: -
labelReactNode

Текст или содержимое кнопки.

По умолчанию: Отмена
primaryboolean

Флаг для обозначения первичной кнопки Влияет на стилизацию кнопки.

По умолчанию: -
unlockParentHoverboolean

Позволяет родительскому компоненту показывать hovered-состояние при наведении на текущий дочерний компонент.

Присваивается дочернему компоненту.

По умолчанию: -
СвойствоОписание
activatedboolean

Позволяет управлять activated-состоянием извне.

По умолчанию: -
activeClassNamestring

Deprecated: Since 7.3.0.

Свойство устарело и будет удалено в v8, используйте свойство activeMode.

По умолчанию: -
activeEffectDelaynumber

Длительность показа active-состояния.

По умолчанию: -
activeModeStateModeLiteral

Стиль подсветки active-состояния. Если передать произвольную строку, она добавится как css-класс во время active.

По умолчанию: -
baseClassNamestring | false

Deprecated: Since 7.3.0.

Свойство устарело и будет удалено в v8, используйте свойство className.

По умолчанию: -
baseStyleCSSProperties

Deprecated: Since 7.3.0.

Свойство устарело и будет удалено в v8, используйте свойство style.

По умолчанию: -
borderRadiusMode"auto" | "inherit"

Задает border-radius элементу В режиме auto на маленьких экранах border-radius: 0, иначе определяется токеном --vkui--size_border_radius--regular.

По умолчанию: -
ComponentElementType<any, keyof IntrinsicElements>
По умолчанию: -
doneLabelstring

Текст кнопки при активном режиме редактирования для выхода из него. Визуально скрыт везде, кроме iOS.

По умолчанию: Готово
editLabelstring

Текст кнопки, когда режим редактирования не активен. Визуально скрыт везде, кроме iOS.

По умолчанию: Редактировать
focusVisibleModeFocusVisibleMode

Стиль аутлайна focus visible. Если передать произвольную строку, она добавится как css-класс при :focus-visible

По умолчанию: -
getRootRefRef<HTMLElement>
По умолчанию: -
hasActiveboolean

Указывает, должен ли компонент реагировать на active-состояние.

По умолчанию: -
hasHoverboolean

Указывает, должен ли компонент реагировать на hover-состояние.

По умолчанию: -
hasHoverWithChildrenboolean

Позволяет родительскому компоненту иметь hovered-cостояние при наведении на любой дочерний элемент. По умолчанию состояние hovered у родителя сбрасывается.

Присваивается родителькому компоненту.

По умолчанию: -
hoverClassNamestring

Deprecated: Since 7.3.0.

Свойство устарело и будет удалено в v8, используйте свойство hoverMode.

По умолчанию: -
hoveredboolean

Позволяет управлять hovered-состоянием извне.

По умолчанию: -
hoverModeStateModeLiteral

Стиль подсветки hover-состояния. Если передать произвольную строку, она добавится как css-класс во время hover.

По умолчанию: -
isActiveboolean

Включен ли режим редактирования.

По умолчанию: false
primaryboolean

Флаг для обозначения первичной кнопки Влияет на стилизацию кнопки.

По умолчанию: -
unlockParentHoverboolean

Позволяет родительскому компоненту показывать hovered-состояние при наведении на текущий дочерний компонент.

Присваивается дочернему компоненту.

По умолчанию: -
СвойствоОписание
activatedboolean

Позволяет управлять activated-состоянием извне.

По умолчанию: -
activeClassNamestring

Deprecated: Since 7.3.0.

Свойство устарело и будет удалено в v8, используйте свойство activeMode.

По умолчанию: -
activeEffectDelaynumber

Длительность показа active-состояния.

По умолчанию: -
activeModeStateModeLiteral

Стиль подсветки active-состояния. Если передать произвольную строку, она добавится как css-класс во время active.

По умолчанию: -
baseClassNamestring | false

Deprecated: Since 7.3.0.

Свойство устарело и будет удалено в v8, используйте свойство className.

По умолчанию: -
baseStyleCSSProperties

Deprecated: Since 7.3.0.

Свойство устарело и будет удалено в v8, используйте свойство style.

По умолчанию: -
borderRadiusMode"auto" | "inherit"

Задает border-radius элементу В режиме auto на маленьких экранах border-radius: 0, иначе определяется токеном --vkui--size_border_radius--regular.

По умолчанию: -
ComponentElementType<any, keyof IntrinsicElements>
По умолчанию: -
focusVisibleModeFocusVisibleMode

Стиль аутлайна focus visible. Если передать произвольную строку, она добавится как css-класс при :focus-visible

По умолчанию: -
getRootRefRef<HTMLElement>
По умолчанию: -
hasActiveboolean

Указывает, должен ли компонент реагировать на active-состояние.

По умолчанию: -
hasHoverboolean

Указывает, должен ли компонент реагировать на hover-состояние.

По умолчанию: -
hasHoverWithChildrenboolean

Позволяет родительскому компоненту иметь hovered-cостояние при наведении на любой дочерний элемент. По умолчанию состояние hovered у родителя сбрасывается.

Присваивается родителькому компоненту.

По умолчанию: -
hoverClassNamestring

Deprecated: Since 7.3.0.

Свойство устарело и будет удалено в v8, используйте свойство hoverMode.

По умолчанию: -
hoveredboolean

Позволяет управлять hovered-состоянием извне.

По умолчанию: -
hoverModeStateModeLiteral

Стиль подсветки hover-состояния. Если передать произвольную строку, она добавится как css-класс во время hover.

По умолчанию: -
labelReactNode

Текст или содержимое кнопки.

По умолчанию: Готово
primaryboolean

Флаг для обозначения первичной кнопки Влияет на стилизацию кнопки.

По умолчанию: -
unlockParentHoverboolean

Позволяет родительскому компоненту показывать hovered-состояние при наведении на текущий дочерний компонент.

Присваивается дочернему компоненту.

По умолчанию: -
СвойствоОписание
asideReactNode

Компонент отображаемый после содержимого.

По умолчанию: -
beforeReactNode

Компонент отображаемый до содержимого.

По умолчанию: -
getRootRefRef<HTMLDivElement>
По умолчанию: -
subtitleReactNode

Подпись под основным текстом.

По умолчанию: -