شريط جانبي

Sidebar

شريط جانبي للتطبيقات في React بمجموعات وقوائم وقوائم فرعية وشارات وسكّة أيقونات قابلة للطي في سطح المكتب تتحوّل إلى لوح في الجوال. ينعكس الجانب في الاتجاه العربي.

لف التطبيق بـ SidebarProvider ثم ضع Sidebar وSidebarInset. ينطوي إلى شريط أيقونات على سطح المكتب ودرج على الجوال، وينعكس جانبه في RTL.

متى تستخدمه

استخدم Sidebar تنقّلًا رئيسيًا لتطبيق يتطلّب تسجيل الدخول: لوحة إدارة، أو أداة إدارة معاملات، أو لوحة تحكّم للمستفيد بعدّة أقسام. غلّف التطبيق بـ SidebarProvider، وضع Sidebar، واعرض الصفحات داخل SidebarInset.

للمواقع العامة ذات الروابط القليلة، ترويسة مع SlideoutMenu في الجوال أخفّ.

أمثلة

هيكل التطبيق

الخصائص

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

<Sidebar>

الخاصيةالنوعالافتراضيالوصف
variant"sidebar" | "floating" | "inset"
collapsible"icon" | "none" | "offcanvas"
side"start" | "end"Logical side; flips with dir. Default 'start'.

<SidebarProvider>

الخاصيةالنوعالافتراضيالوصف
defaultOpenbooleanUncontrolled initial desktop state. Default true (expanded).
openbooleanControlled desktop open state.
onOpenChange(open: boolean) => void
mobileBreakpointnumberViewport width (px) below which the mobile Drawer engages. Default 768.
keyboardShortcutbooleanRegister Cmd/Ctrl+B to toggle. Default true.

<SidebarTrigger>

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

<SidebarInset>

الخاصيةالنوعالافتراضيالوصف
asChildboolean
scrollablebooleanMake the inset its own vertical scroll region: tall content scrolls inside it (the sidebar + footer stay put) with zero consumer layout CSS - no flex / min-block-size:0 / overflow-y:auto boilerplate. The whole inset scrolls, header included; for a fixed header with only the body scrolling, leave this off and compose a nested scroll region inside the inset (see the App shell story).

<SidebarGroupAction>

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

<SidebarMenuButton>

الخاصيةالنوعالافتراضيالوصف
size"sm" | "md" | "lg"
asChildboolean
isActiveboolean
tooltipreact.ReactNodeTooltip content shown only when the rail is collapsed (desktop).

<SidebarMenuAction>

الخاصيةالنوعالافتراضيالوصف
asChildboolean
showOnHoverbooleanReveal the action only on row hover/focus (CSS-driven).

<SidebarMenuSkeleton>

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

<SidebarMenuSubButton>

الخاصيةالنوعالافتراضيالوصف
size"sm" | "md"
asChildboolean
isActiveboolean

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

تُعرض القوائم قوائمَ من الأزرار والروابط، ويُعلّم العنصر النشط بـ aria-current. تعرض المجموعات القابلة للطي aria-expanded. عند الطي إلى سكّة الأيقونات، يعرض كل عنصر تلميحًا لتبقى التسمية متاحة.

للمشغّل اسم متاح، ويوفّر SidebarProvider اختصار لوحة مفاتيح تضبطه بـ keyboardShortcut. في الجوال يفتح الشريط لوحًا بحصر التركيز.