البناء · جديد

الجداول

صفوف من السجلات يقارنها المستخدم ويتصرف بناءً عليها: معاملات وطلبات ومستخدمون. جدول حقيقي بعناوين أعمدة وخلايا.

المعاينة

المعكوسة هي المحتوى الإنجليزي نفسه من اليمين إلى اليسار، لتفصل خطأ الاتجاه عن خطأ الترجمة.

التثبيت

قريبًايُفتح التثبيت من السجل مع الإطلاق. حتى ذلك الحين، هذا هو الأمر الذي ستستخدمه.
npx shadcn@latest add @ritla/table

الاعتماديات التي يضيفها: @phosphor-icons/react

الاستخدام

import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table";
<Table>
  <TableHeader variant="gray">
    <TableRow>
      <TableHead sort="descending" onSort={toggle}>Date</TableHead>
      <TableHead align="end">Amount</TableHead>
    </TableRow>
  </TableHeader>
  <TableBody>
    <TableRow>
      <TableCell>12/09/2026</TableCell>
      <TableCell numeric>+2,450.00 JOD</TableCell>
    </TableRow>
  </TableBody>
</Table>

أمثلة

تحديد الصفوف

مربع تفعيل في أول عمود (CheckboxBox باسمه)، وصورة رمزية ونص فرعي في الخلية؛ الصف المحدد يبقى ملوّنًا.

عنوان أبيض وتلميح

‏variant="white" (الافتراضي)، وأيقونة قبل العنوان، وتلميح معلومات، ودون فواصل الأعمدة (dividers={false}).

مرجع الخصائص

Table

الخاصيةالنوعالافتراضيالوصف
dividersbooleantrueخاصية Show divider: خط عند نهاية كل عمود.
aria-label / TableCaptionstring / ReactNodeاسم الجدول لقارئ الشاشة.

TableHeader

الخاصيةالنوعالافتراضيالوصف
variant"white" | "gray""white"خاصية Color في Table header cell.

TableRow

الخاصيةالنوعالافتراضيالوصف
selectedbooleanfalse‏State = Hover/selected ثابتة لصف محدد.

TableHead

الخاصيةالنوعالافتراضيالوصف
childrenReactNodeخاصية Label.
sort"none" | "ascending" | "descending"عمود قابل للترتيب وحالته؛ اتركه للأعمدة الأخرى.
onSort / sortHref() => void / stringزر ترتيب (شيفرة العميل) أو رابط (صفحات الخادم).
leadingIconIconComponentخاصية Leading icon.
infoReactNodeخاصية Show tooltip: تلميح معلومات بعد العنوان.
align"start" | "end""start"‏end لأعمدة الأرقام.

TableCell

الخاصيةالنوعالافتراضيالوصف
childrenReactNodeخاصية Cell Title.
subtitleReactNodeخاصية Cell Subtitle.
leading / trailingReactNodeالعنصر قبل النص وبعده: صورة رمزية، أيقونة، وسم، مربع تفعيل…
numericbooleanfalseمبلغ أو عدد: في نهاية العمود بأرقام متساوية العرض، ومن اليسار إلى اليمين.

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

لوحة المفاتيح

المفاتيح مكتوبة للاتجاه من اليسار إلى اليمين. في الاتجاه من اليمين يتبادل السهمان دورهما: السهم المتجه مع اتجاه القراءة ينقلك إلى الأمام.

المفتاحما يفعله
Tabإلى أزرار الترتيب وعناصر التحكم داخل الخلايا فقط.
EnterSpaceيرتّب العمود.

ARIA

  • جدول حقيقي: table وth scope="col" وtd، وقارئ الشاشة يربط كل خلية بعنوانها.
  • العمود القابل للترتيب زر داخل th الذي يحمل aria-sort.
  • مربعات التحديد لها أسماء («تحديد الكل»، اسم الصف).

ملاحظات العربية والاتجاه

ينعكس

  • أول عمود على اليمين، والنص في بداية الخلية (يمينها)، والفاصل في نهايتها (يسارها).
  • أعمدة الأرقام في نهاية الخلية (يسارها في العربية).

لا ينعكس

  • المبالغ تبقى من اليسار إلى اليمين، فتبقى الإشارة بجانب الرقم.
  • البريد الإلكتروني والأرقام التعريفية في <bdi dir="ltr">.
الأرقام
التواريخ والمبالغ بنظام الأرقام المختار؛ لا تخلط الصيغ في العمود الواحد.
الخط العربي
‏body-12 بوزن Semibold للعناوين، وbody-14 بوزن Medium للخلايا، وbody-12 للنص الفرعي.
النص ثنائي الاتجاه
لا تخلط خلايا LTR وRTL في جدول واحد: الاتجاه يأتي من الصفحة.

كل المكونات ›