Drawer

Панель, выезжающая с края экрана, с поддержкой свайп-жестов, точек привязки и вложенных панелей.

API Reference

Установка

Использование

API

Drawer

Корневой компонент. Оборачивает Drawer.Root из Base UI с автоматическим сопоставлением swipeDirection на основе position.

Поддерживаются все остальные свойства Drawer.Root, включая open, onOpenChange, modal, snapPoints, snapPoint, onSnapPointChange и snapToSequentialPoints. Примечание: точки привязки работают только для нижних панелей.

DrawerCreateHandle

Создаёт хэндл для отсоединённых триггеров панели. Используйте его, когда триггеры и содержимое панели нужно согласовать между разными частями дерева.

DrawerTrigger

Кнопка-триггер, открывающая панель. Псевдоним для Drawer.Trigger из Base UI.

DrawerPopup

Контейнер всплывающего окна, отображающий содержимое панели.

Пример:

DrawerHeader

Контейнер для заголовка и описания панели. Поддерживает свойство render для полиморфной композиции (например, render={<header />}).

DrawerFooter

Секция футера для кнопок действий. Поддерживает свойство render для полиморфной композиции.

DrawerTitle

Компонент заголовка. Псевдоним для Drawer.Title из Base UI.

DrawerDescription

Компонент описания. Псевдоним для Drawer.Description из Base UI.

DrawerPanel

Контейнер содержимого. Когда scrollable равно true (по умолчанию), оборачивает содержимое в компонент ScrollArea. Поддерживает свойство render для полиморфной композиции.

DrawerMenu

Контейнер для пунктов меню панели. Используйте вместе с DrawerMenuItem, DrawerMenuSeparator, DrawerMenuGroup, DrawerMenuGroupLabel, DrawerMenuCheckboxItem, DrawerMenuRadioGroup, DrawerMenuRadioItem и DrawerMenuTrigger, чтобы создавать меню, повторяющие API компонента Menu. Поддерживает свойство render для полиморфной композиции.

DrawerMenuItem

Стилизованный пункт меню, соответствующий внешнему виду MenuItem. Не закрывает панель — оберните в DrawerClose, когда нужно закрытие по клику. Поддерживает свойство render для полиморфной композиции.

Пример: используйте с DrawerClose для закрытия по клику: <DrawerClose render={<DrawerMenuItem />}>Edit</DrawerClose>

DrawerMenuSeparator

Горизонтальный разделитель между пунктами меню или группами. Поддерживает свойство render для полиморфной композиции.

DrawerMenuGroup

Контейнер для группировки связанных пунктов меню. Используйте с DrawerMenuGroupLabel для секций с подписями. Поддерживает свойство render для полиморфной композиции.

DrawerMenuGroupLabel

Подпись для секции DrawerMenuGroup. Отображает приглушённый текст меньшего размера над группой пунктов. Во вложенных панелях используйте как заголовок секции в верхней части меню (кнопка «назад» не нужна — свайпните, чтобы вернуться). Поддерживает свойство render для полиморфной композиции.

DrawerMenuTrigger

Триггер, открывающий вложенную панель. Стилизован как пункт меню с шевроном в конце. Используйте для пунктов меню, открывающих вложенные панели (например, «Add to Playlist» → вложенная панель с вариантами плейлистов). Внутри оборачивает DrawerTrigger.

Пример: <DrawerMenuTrigger>Add to Playlist</DrawerMenuTrigger> открывает вложенную панель при касании.

DrawerMenuCheckboxItem

Пункт меню с чекбоксом для независимых переключений. Поддерживает variant="switch" для переключателей в виде свитчей. Для групп выбора используйте DrawerMenuRadioGroup вместе с DrawerMenuRadioItem.

DrawerMenuRadioGroup

Контейнер для радио-пунктов меню. Используйте с DrawerMenuRadioItem для взаимоисключающих вариантов (например, «Sort by» с вариантами Artist, Album, Title).

DrawerMenuRadioItem

Радио-пункт меню. Должен использоваться внутри DrawerMenuRadioGroup со свойством value.

DrawerClose

Компонент кнопки закрытия. Псевдоним для Drawer.Close из Base UI.

DrawerPortal

Компонент портала для рендеринга вне иерархии DOM. Псевдоним для Drawer.Portal из Base UI.

DrawerBackdrop

Компонент подложки/оверлея. Псевдоним для Drawer.Backdrop из Base UI.

DrawerViewport

Компонент области просмотра для позиционирования. Псевдоним для Drawer.Viewport из Base UI. Обычно не используется напрямую — DrawerPopup рендерит его внутри.

DrawerBar

Индикатор-ручка для перетаскивания, отображаемый, когда showBar равно true у DrawerPopup. Обычно не используется напрямую.

DrawerContent

Примитивная обёртка содержимого, используемая для полиморфной композиции со свойством render. Псевдоним для Drawer.Content из Base UI.

Примеры

Вариант inset

Вариант straight

Прокручиваемое содержимое

Вложенные панели

Точки привязки

Мобильное меню

Адаптивный диалог

Используйте Drawer на маленьких экранах и Dialog на больших, чтобы показывать одно и то же содержимое в модальном окне на десктопе и в нижней панели на мобильных.

Адаптивное меню

Сочетайте Drawer с Menu, чтобы действия отображались в выпадающем меню на десктопе и в выезжающей снизу панели на мобильных. Используйте DrawerMenuTrigger для пунктов, открывающих вложенные панели на мобильных. Во вложенных панелях DrawerMenuGroupLabel выступает заголовком секции; свайпните, чтобы вернуться.

Oracul DS

Built for the future of AI-driven interfaces.