تبويبات

Tabs

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

يرتبط كل TabsTrigger بـ TabsContent عبر value، ويحدد defaultValue اللوحة الأولى وتتنقل مفاتيح الأسهم بين التبويبات.

متى تستخدمه

استخدم Tabs لتقسيم صفحة واحدة إلى لوحات مترابطة تتشارك السياق، مثل تفاصيل الطلب ومستنداته وسجلّه. أبقِ تسميات التبويبات في كلمة أو كلمتين وضع اللوحة الافتراضية أولًا.

للتبديل بين عروض البيانات نفسها، استخدم ContentSwitcher. للمحتوى الطويل الذي يجب أن يظهر كلّه، استخدم العناوين وAccordion.

أمثلة

تبويبات أساسية

مع أيقونات في المقدّمة

عرض كامل

تسميات عربية

الخصائص

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

<Tabs>

الخاصيةالنوعالافتراضيالوصف
size"sm" | "md" | "lg"
asChildboolean
valuestringThe value for the selected tab, if controlled
defaultValuestringThe value of the tab to select by default, if uncontrolled
onValueChange(value: string) => voidA function called when a new tab is selected
orientation"vertical" | "horizontal"horizontalThe orientation the tabs are layed out. Mainly so arrow navigation is done accordingly (left & right vs. up & down)
dirDirectionThe direction of navigation between toolbar items.
activationMode"manual" | "automatic"automaticWhether a tab is activated automatically or manually.

<TabsList>

الخاصيةالنوعالافتراضيالوصف
fullWidthboolean
flushboolean
overflowbooleanCollapse tabs that don't fit into a trailing "More" overflow menu (SDGA "More Tab"). Horizontal lists only - the list fills its container's inline size and pushes the overflow trigger to the trailing edge.
moreLabelstringAccessible name for the overflow trigger when overflow is set.
asChildboolean
loopboolean

<TabsTrigger>

الخاصيةالنوعالافتراضيالوصف
startIconreact.ReactNodeLeading icon, rendered before the label in a decorative (aria-hidden) wrapper. Ignored when asChild is set - compose icons inside your own element in that mode.
endIconreact.ReactNodeTrailing icon (e.g. a count/badge glyph). Same rules as startIcon.
asChildboolean
valueإلزاميstring

<TabsContent>

الخاصيةالنوعالافتراضيالوصف
asChildboolean
valueإلزاميstring
forceMounttrueUsed to force mounting when more control is needed. Useful when controlling animation with React animation libraries.

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

تتّبع Tabs نمط التبويبات: role="tablist" وrole="tab" وrole="tabpanel" مع عرض التبويب المحدّد. تنقل مفاتيح الأسهم التركيز بين التبويبات، ويقفز Home وEnd إلى الطرفين، وتتبع مفاتيح الأسهم اتجاه القراءة في العربية.

أعطِ القائمة aria-label. تنتقل التبويبات الفائضة إلى قائمة «المزيد» التي تتحكّم في تسميتها بـ moreLabel.