منتقي الوقت
نافذة منبثقة لاختيار الوقت بأعمدة قابلة للتمرير للساعات والدقائق، مع عمود ص/م في نظام 12 ساعة. استخدمه اختصارًا بجانب حقل إدخال الوقت.
التثبيت
npx sdaia-ui@latest add time-picker
الاستخدام
import { TimePicker } from "@/components/ui/TimePicker"<TimePicker title="Select time" value={time} onApply={setTime} onCancel={close} />نظام 12 ساعة
الساعات والدقائق وص/م، مع عنوان وتذييل الإلغاء والتطبيق.
جارٍ تحميل العرض التوضيحي: time-picker-default
أمثلة
نظام 24 ساعة
الساعات والدقائق فقط. استخدم نظام 24 ساعة في شاشات التشغيل والتدقيق والتقارير.
جارٍ تحميل العرض التوضيحي: time-picker-24-hour
دون عنوان
أخفِ العنوان في التخطيطات الضيقة؛ يبقى الوقت المحدد في الرأس.
جارٍ تحميل العرض التوضيحي: time-picker-no-title
دون تذييل
يُطبَّق كل اختيار فورًا عبر onChange (بفواصل 15 دقيقة هنا).
جارٍ تحميل العرض التوضيحي: time-picker-no-footer
RTL
تنعكس الأعمدة والتسميات وتبقى الأرقام من اليسار إلى اليمين.
جارٍ تحميل العرض التوضيحي: time-picker-rtl
الخصائص
الخاصية | النوع | القيمة الافتراضية | مطلوبة |
|---|---|---|---|
format | "12-hour" | "24-hour" | "12-hour" | اختيارية |
value | TimeValue | null | — | اختيارية |
defaultValue | TimeValue | null | null | اختيارية |
onChange | (value: TimeValue) => void | — | اختيارية |
onApply | (value: TimeValue) => void | — | اختيارية |
onCancel | () => void | — | اختيارية |
title | string | — | اختيارية |
footer | boolean | true | اختيارية |
minuteStep | number | 5 | اختيارية |
autoFocus | boolean | false | اختيارية |
labels | Partial<TimePickerLabels> | — | اختيارية |
dir | "ltr" | "rtl" | — | اختيارية |
إمكانية الوصول
- كل عمود قائمة اختيار (الساعات، الدقائق، ص/م) بنقطة Tab واحدة: Tab ينقل بين الأعمدة، والأسهم أعلى/أسفل تغيّر الاختيار داخل العمود، وHome/End للطرفين، وPageUp/PageDown لخمسة خيارات.
- Enter يطبّق الوقت وEscape يلغي؛ وفي حقل إدخال الوقت يعيد كلاهما التركيز إلى الحقل.
- يظهر الخيار المحدد بالتعبئة والوزن إضافة إلى اللون، وللخيار المركَّز عليه حلقة 2px بلون Border/border-focus.
- تتمرر الأعمدة ذاتيًا لإبقاء الاختيار ظاهرًا دون تمرير الصفحة.
- أزرار التذييل من مكوّن الزر بمساحة نقر 24 بكسل.
السلوك المتجاوب
- تحتفظ البطاقة بعرضها في Figma (300 بكسل مع ص/م و260 بكسل دونه) وتتقلص مع الحاوية إذا ضاقت.
- الحشو والفواصل تستخدم رموز المسافات المتجاوبة.