تخطَّ إلى المحتوى

Spinner

يوضح أن عملية قيد التنفيذ. سبعة أحجام، بنمط primary وneutral وللخلفيات الملونة.

الإصدار 0.2.0 ·

الأحجام والأنماط
الاتجاه
السمة
حجم العرض

التثبيت

bunx --bun shadcn@latest add @dga/spinner

الاستخدام

page.tsx
tsx
import { Spinner } from "@/components/ui/spinner";

<Spinner label="جارٍ التحميل" />

البنية

  • Root: عنصر role="status" فيه الحلقة المتحركة.
  • Label: نص مخفي بصريًا تعلنه قارئات الشاشة.

أمثلة

الأحجام والألوان

سبعة أحجام من 2xs (‏20px) إلى 2xl (‏44px)، بالأنماط primary وneutral وon-color وcurrent (يتبع لون النص، للاستخدام داخل الأزرار).

الزخرفي

مرّر label={null} حين يعلن العنصر المحيط حالة الانشغال بنفسه، كما يفعل Button.

اتجاه RTL

الحلقة بلا اتجاه، فلا ينقلب شيء. ترجم label في الصفحات العربية.

LTR (الإنجليزية)
RTL (العربية)

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

  • role="status" مع تسمية مخفية بصريًا، فتعلنه قارئات الشاشة مرة واحدة.
  • مع label={null} يُخفى المؤشر عن قارئات الشاشة.
  • عند تفضيل تقليل الحركة، يدور المؤشر ببطء بدل أن يتوقف، فتبقى حالة الانشغال ظاهرة.

مرجع API

Spinner

مؤشر تحميل. يدور ببطء عند تفضيل تقليل الحركة.

خصائص Spinner
الخاصيةالنوعالقيمة الافتراضية
"2xs" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl"

القطر بأحجام Figma، من `2xs` (‏20px) إلى `2xl` (‏44px).

"md"
"on-color" | "primary" | "neutral" | "current"

اللون. `current` يأخذ لون نص العنصر الأب، للاستخدام داخل الأزرار.

"primary"
string

نص يُعلَن لقارئ الشاشة. مرّر `null` عندما يعلن شيء آخر حالة الانشغال (مثل زر فيه aria-busy).

"Loading"

يقبل أيضًا خصائص العنصر الذي يُصيّره.

الاختلافات عن DGA

لا شيء. يطابق هذا المكوّن ملف DGA في Figma.

التباين

16 زوجًا لونيًا فُحص · جميعها تجتاز WCAG 2.1 AAعرض 3 حالة
النمط / الحالةالفاتحالداكن
primary / indicator4.54:1 3:110.38:1 3:1
neutral / indicator17.31:1 3:115.87:1 3:1
on-color / indicator4.74:1 3:14.74:1 3:1

يحتاج النص إلى تباين 4.5:1، والأيقونات وحلقات التركيز إلى 3:1. الحالات المعطّلة مستثناة. تقرير التباين الكامل