لوح جانبي

Drawer

لوح في React ينزلق من بداية السطر أو نهايته أو الأسفل للإعدادات ولوحات التفاصيل ونماذج التصفية. تعامل مع التركيز كما في Modal، وجوانب تراعي الاتجاه العربي.

ينزلق Drawer من حافة الشاشة بنفس سلوك التركيز وزر ESC في Modal. الخاصية side منطقية، لذا تنعكس start/end مع الاتجاه.

متى تستخدمه

استخدم Drawer للتدفّقات الثانوية التي تحتاج مساحة أكبر من Modal: تحرير الإعدادات، أو عرض تفاصيل سجل، أو نموذج تصفية. استخدم اللوح السفلي في الجوال للمنتقيات القصيرة.

لأن side منطقي، يتبادل start وend في الاتجاه العربي. أبقِ الصفحة خلفه ظاهرة ليحتفظ المستخدم بسياقه.

أمثلة

لوح الإعدادات

لوح سفلي

نموذج تصفية

الخصائص

الخصائص التي يعرّفها Drawer. سمات العنصر الأصلي تمرّ كما هي.

<Drawer>

الخاصيةالنوعالافتراضيالوصف
childrenReactNode
openboolean
defaultOpenboolean
onOpenChange(open: boolean) => void
modalboolean

<DrawerTrigger>

الخاصيةالنوعالافتراضيالوصف
asChildboolean

<DrawerClose>

الخاصيةالنوعالافتراضيالوصف
asChildboolean

<DrawerContent>

الخاصيةالنوعالافتراضيالوصف
side"start" | "end" | "top" | "bottom"
size"sm" | "md" | "lg" | "full"
showCloseButtonbooleanShow the corner X close button. Defaults to true.
closeLabelstringLocalized aria-label for the close button. Defaults to "Close".
forceMounttrueUsed to force mounting when more control is needed. Useful when controlling animation with React animation libraries.
onOpenAutoFocus(event: Event) => voidEvent handler called when auto-focusing on open. Can be prevented.
onCloseAutoFocus(event: Event) => voidEvent handler called when auto-focusing on close. Can be prevented.
deferPointerDownOutsidebooleanWhen true, a 'pointerdown' event outside of the layered element will wait for the interaction's click event before dispatching, allowing third-party code to stop propagation of later events and cancel dismissal.
onEscapeKeyDown(event: KeyboardEvent) => voidEvent handler called when the escape key is down. Can be prevented.
onPointerDownOutside(event: PointerDownOutsideEvent) => voidEvent handler called when the a pointerdown event happens outside of the DismissableLayer. Can be prevented.
onFocusOutside(event: FocusOutsideEvent) => voidEvent handler called when the focus moves outside of the DismissableLayer. Can be prevented.
onInteractOutside(event: PointerDownOutsideEvent | FocusOutsideEvent) => voidEvent handler called when an interaction happens outside the DismissableLayer. Specifically, when a pointerdown event happens outside or focus moves outside of it. Can be prevented.
asChildboolean

<DrawerTitle>

الخاصيةالنوعالافتراضيالوصف
asChildboolean

<DrawerDescription>

الخاصيةالنوعالافتراضيالوصف
asChildboolean

إمكانية الوصول

يُبنى Drawer على أساس الحوار نفسه في Modal: يُحصر التركيز داخله، ويغلقه Escape، ويعود التركيز إلى المشغّل. تمنح أجزاء العنوان والوصف اللوحَ اسمه المتاح.

لزر الإغلاق اسم متاح، ويتبع اللوح اتجاه الصفحة فينزلق من الحافّة المتوقّعة.