Table
جدول أصلي بمحوّل تفاعلي اختياري.
- المتصفحات
- Chrome 123+Firefox 121+Safari 17.5+
- الفئة
- 0
- الحجم المضغوط
- 617 B
- ميزانية التخطيط القسري
- 0 ms
- ميزانية axe
- 0
- متوافق مع SSR
- نعم
- العقد المنشور
- بيئة الاختبار
المختبر
Table
مثال جدول أصلي
| الاسم | الدور | الحالة |
|---|---|---|
| Alice Chen | مسؤول | نشط |
| Bob Smith | محرّر | نشط |
| Carol Lee | مشاهد | مدعو |
| ثلاثة أعضاء · عضوان نشطان | ||
فرز وترشيح وتوسيع
| الدور | التفاصيل | ||
|---|---|---|---|
| Alice Chen | مسؤول | ||
| alice@example.com · نشط | |||
| Bob Smith | محرّر | ||
| bob@example.com · نشط | |||
| Carol Lee | مشاهد | ||
| carol@example.com · مدعو | |||
| عدد الأعضاء: 3 · عدد المحدّدين: 0 | |||
ترويسات وتذييل وأعمدة ثابتة
API
Table.Root (native)
| الخاصية | النوع | افتراضي | الوصف |
|---|---|---|---|
layout | "auto" | "fixed" | "auto" | تخطيط جدول أصلي. يستخدم التحديد والفرز وتوسيع الصفوف نقطة الدخول الصريحة TableClient. |
size | "sm" | "md" | "lg" | — | تباعد الخلايا من ورقة الأنماط المختارة. |
variant | "solid" | "outline" | "ghost" | — | نمط السطح من ورقة الأنماط المختارة. |
render | ReactElement | ((props, state) => ReactElement) | — | استبدل العنصر المعروض مع الحفاظ على توصيلات السلوك وإمكانية الوصول. |
Table.Footer
| الخاصية | النوع | افتراضي | الوصف |
|---|---|---|---|
sticky | boolean | — | يثبّت التذييل عند نهاية محور الكتل في حاوية التمرير. |
render | ReactElement | ((props, state) => ReactElement) | — | استبدل العنصر المعروض مع الحفاظ على توصيلات السلوك وإمكانية الوصول. |
Table.RowHeader / Table.Cell / Table.ColumnHeader
| الخاصية | النوع | افتراضي | الوصف |
|---|---|---|---|
align | "start" | "center" | "end" | "start" | المحاذاة المنطقية للنص في هذه الخلية. |
sticky | "start" | "end" | — | يثبّت خلية عند حافة المحور السطري المنطقية. للخلايا الثابتة المتجاورة، عيّن --uiify-table-sticky-offset على كل خلية. |
render | ReactElement | ((props, state) => ReactElement) | — | استبدل العنصر المعروض مع الحفاظ على توصيلات السلوك وإمكانية الوصول. |
TableClient.ExpandTrigger / TableClient.ExpandedRow
| الخاصية | النوع | افتراضي | الوصف |
|---|---|---|---|
rowId* | string | — | مفتاح صف مشترك يصل زر التوسيع بعنصر <tr> الأصلي. ضع <td colSpan={columnCount}> داخل الصف الموسّع. |
TableClient.Root — @gunkin/uiify/components/table/client
| الخاصية | النوع | افتراضي | الوصف |
|---|---|---|---|
aria-label | string | — | اسم الجدول للتقنيات المساعدة، حين لا يوجد عنوان أو وصف مرئي يسمّيه. |
aria-labelledby | string | — | معرّف العنصر الذي يوفّر تسمية الجدول. |
selectionMode | "none" | "single" | "multiple" | "none" | يحدّد إمكان تحديد الصفوف وعددها في المرة الواحدة؛ يعرض "none" جدولًا ثابتًا عاديًا دون دور grid. |
selectionBehavior | "toggle" | "replace" | — | يحدّد إن كان النقر على صف يضيفه إلى التحديد أم يستبدل التحديد الحالي. |
defaultSelectedKeys | Iterable<string> | — | معرّفات الصفوف المحدّدة مبدئيًا، مع إبقاء التحديد غير متحكّم به داخل المكوّن. |
selectedKeys | Iterable<string> | — | معرّفات الصفوف المحدّدة حاليًا، ليصبح التحديد متحكّمًا به من الجهة المستدعية. |
onSelectionChange | (selectedKeys: Set<string>) => void | — | تُستدعى بمجموعة معرّفات الصفوف المحدّدة الجديدة كلما تغيّر التحديد. |
defaultSortDescriptor | SortDescriptor | null | — | العمود واتجاه الفرز المبدئيان، مع إبقاء حالة الفرز غير متحكّم بها داخل المكوّن. |
sortDescriptor | SortDescriptor | null | — | العمود واتجاه الفرز الحاليان، ليصبح الفرز متحكّمًا به. |
onSortChange | (descriptor: SortDescriptor | null) => void | — | تُستدعى بواصف الفرز الجديد، أو null، عند تفعيل ترويسة عمود قابل للفرز. |
expandedKeys / defaultExpandedKeys | Iterable<string> | — | مفاتيح الصفوف الموسّعة المتحكّم بها أو المبدئية. |
onExpandedChange | (keys: Set<string>) => void | — | تبلّغ عن طلبات التوسيع. وتنتظر الصفوف المتحكّم بها تحديث المفاتيح. |
render | ReactElement | ((props, state) => ReactElement) | — | استبدل العنصر المعروض مع الحفاظ على توصيلات السلوك وإمكانية الوصول. |
Table.Header
| الخاصية | النوع | افتراضي | الوصف |
|---|---|---|---|
sticky | boolean | false | يثبّت هذا القسم في حاوية التمرير؛ يستخدم Header بداية محور الكتل، وFooter نهايته. |
render | ReactElement | ((props, state) => ReactElement) | — | استبدل العنصر المعروض مع الحفاظ على توصيلات السلوك وإمكانية الوصول. |
Table.Body
| الخاصية | النوع | افتراضي | الوصف |
|---|---|---|---|
children | ReactNode | — | صفوف جسم الجدول. |
render | ReactElement | ((props, state) => ReactElement) | — | استبدل العنصر المعروض مع الحفاظ على توصيلات السلوك وإمكانية الوصول. |
Table.Row
| الخاصية | النوع | افتراضي | الوصف |
|---|---|---|---|
id* | string | — | معرّف ثابت للصف يُستخدم مفتاحًا للتحديد ومعرّفًا للعنصر. |
disabled | boolean | false | يمنع تحديد الصف أو تركيزه بلوحة المفاتيح. |
selected | boolean | — | يعلّم الصف كمحدّد في بنية HTML المعروضة على الخادم قبل أن يتولى مخزن التحديد المسؤولية. |
render | ReactElement | ((props, state) => ReactElement) | — | استبدل العنصر المعروض مع الحفاظ على توصيلات السلوك وإمكانية الوصول. |
Table.ColumnHeader
| الخاصية | النوع | افتراضي | الوصف |
|---|---|---|---|
id* | string | — | معرّف العمود الذي تشير إليه واصفات الفرز. |
allowsSorting | boolean | false | يجعل الترويسة تبدّل فرز عمودها وتكشف aria-sort. |
sortDirection | "ascending" | "descending" | null | — | اتجاه الفرز المعروض لهذا العمود، ويُستخدم في بنية الخادم الأولية حين يُسمح بالفرز. |
onClick | React.MouseEventHandler<HTMLTableCellElement> | — | تعمل قبل الفرز؛ ويمنع preventDefault() تغيير الفرز. |
children | ReactNode | — | تسمية الترويسة. |
render | ReactElement | ((props, state) => ReactElement) | — | استبدل العنصر المعروض مع الحفاظ على توصيلات السلوك وإمكانية الوصول. |
Table.Cell
| الخاصية | النوع | افتراضي | الوصف |
|---|---|---|---|
children | ReactNode | — | محتويات الخلية. |
render | ReactElement | ((props, state) => ReactElement) | — | استبدل العنصر المعروض مع الحفاظ على توصيلات السلوك وإمكانية الوصول. |
Table.Caption
| الخاصية | النوع | افتراضي | الوصف |
|---|---|---|---|
children | ReactNode | — | نص الوصف الذي يشرح الجدول. |
render | ReactElement | ((props, state) => ReactElement) | — | استبدل العنصر المعروض مع الحفاظ على توصيلات السلوك وإمكانية الوصول. |
Table.RowSelect
| الخاصية | النوع | افتراضي | الوصف |
|---|---|---|---|
rowId* | string | — | معرّف الصف الذي يحدّده مربع الاختيار هذا أو يلغي تحديده. |
لوحة المفاتيح
| المفتاح | الإجراء |
|---|---|
| Tab | تركيز عناصر تحكم الفرز والتحديد والتوسيع في TableClient |
| Enter / Space | تفعيل زر الفرز أو التوسيع المركّز؛ وتبديل مربع اختيار |
| Arrow keys | التنقل بين صفوف الجسم القابلة للتحديد في TableClient |
إمكانية الوصول
يعرض Table الافتراضي عناصر <table> و<caption> و<thead> و<tbody> و<tfoot> الأصلية دون JavaScript على العميل؛ استخدم ColumnHeader وRowHeader لدلالات الترويسات. تضيف نقطة الدخول /client الفرز والتحديد والتنقل بين الصفوف بلوحة المفاتيح والتوسيع المتحكّم به، وتكشفها عبر aria-sort وaria-expanded وaria-controls. ExpandedRow هو <tr> أصلي؛ ضع داخله Cell مع colSpan. ويظل الترشيح والترتيب من مسؤولية المستهلك.
نقاط التنسيق
data-uiify-tabledata-partdata-layoutdata-sizedata-variantdata-stickydata-selecteddata-disabled--uiify-table-sticky-offset