انتقل إلى المحتوى
TopClass UI

حقل رقمي

رقم بين حدود معروفة، يُكتب أو يُزاد خطوة خطوة. حقل مخفي يحمل الرقم المجرد، فيُرسل النموذج قبل الترطيب.

client - الحجم لم يُقَس بعد

حقل رقمي

client - الحجم لم يُقَس بعد

رقم بين حدود معروفة، يُكتب أو يُزاد خطوة خطوة. حقل مخفي يحمل الرقم المجرد، فيُرسل النموذج قبل الترطيب.

تثبيت

جرّبه

size
invalid
fullWidth
min
max

الشيفرة

number-field.tsx
import { NumberField } from 'topclassui/number-field'

<div className="grid justify-items-start gap-2">
  <label htmlFor="number-field-playground-guests" className="text-sm text-body">Guests</label>
  <NumberField id="number-field-playground-guests" defaultValue={2} />
</div>

min وmax وstep تُحصر أثناء التشغيل، فلا تستطيع قيمة مكتوبة أو ممرَّرة أن تكسر الحقل.

كل الحالات، بدون تمرير الفأرة

4 حالات

أو استورده من الحزمة

topclassui/number-field
import { NumberField } from 'topclassui/number-field'

ثبّت مرة واحدة:npm i topclassui@beta zod

أمثلة

  • لعدد أو مقدار بين حدود معروفة: الضيوف، المقاعد، الساعات. ولا يحدّه عدد الأحرف.
  • يستلم النموذج الرقم المجرد، لا النص المنسّق: 1234.5 لا 1,234.5. والحقل الفارغ يرسل قيمة فارغة.
  • العدد العشري يحتاج خطوة تناسبه: مع step الافتراضية 1، تفشل القيمة 12.5 في تحقق المتصفح. استخدم 0.5 أو any.
  • ينسّق الحقل بلغة المزوّد ونظام أرقامه، فيطبع الخادم والمتصفح النص نفسه. والأرقام الهندية الشرقية تُقرأ في أي لغة.
  • زر الحد يتعطّل ويخفت عند بلوغ الحد. ويحتفظ الزران بـ24px، و44px تحت مؤشر لمس، فيأخذ الحقل الضيق المساحة من الرقم.
basic
limits
form
sizes
row
بالعربية، من اليمين إلى اليسار

الخصائص

خصائص NumberField
الخاصيةالنوعالافتراضيالحدودالوصف
aria-labelstring--The name read out when no visible label names the control.
aria-labelledbystring--The id of the visible text that names the control.
idstring--The id a <label htmlFor> points at.
classNamestring--Merged last, so a consumer class wins a conflict with the field's own.
fullWidthbooleanfalse-Fills the width of its parent instead of taking the width of an Input.
invalidbooleanfalse-Marks the value as wrong: sets aria-invalid on the input, and the line of the field turns to danger and thickens.
maxnumber, min -1000000000000000, max 1000000000000000-min -1000000000000000, max 1000000000000000The largest value. End goes to it; a default or a value over it is lowered to it. Clamped to 1e15; NaN reads as none, and under min it is raised to min.
minnumber, min -1000000000000000, max 1000000000000000-min -1000000000000000, max 1000000000000000The smallest value. Home goes to it; a default or a value under it is raised to it. Clamped to -1e15; NaN reads as none.
placeholderstring--Shown in the input while it is empty.
refRef<HTMLDivElement>--The root element, the <div> that owns the width.
sizexs | sm | md | lg | xl | custom"md"-The control scale: the height of the field and its type step; custom emits no size classes.
stepunknown1-What an arrow key and a stepper add or take away, and the step the form validates against; any turns that check off. NaN reads as 1.

لوحة المفاتيح وإمكانية الوصول

لوحة مفاتيح NumberField
المفاتيحما يفعله
ArrowUpيضيف خطوة واحدة؛ ومع Shift يضيف 10، ومع Alt 0.1.
ArrowDownينقص خطوة واحدة؛ ومع Shift ينقص 10، ومع Alt 0.1.
Homeينتقل إلى الحد الأدنى، إن كان محددًا.
Endينتقل إلى الحد الأقصى، إن كان محددًا.
Tabيتجاوز الحقل: زرّا الزيادة والإنقاص ليسا محطتي Tab.
  • الاسم مطلوب: id لتسمية <label htmlFor>، أو aria-label، أو aria-labelledby. وتقع على الحقل الظاهر.
  • زرّا الزيادة والإنقاص مسمّيان بلغة المزوّد، وليسا محطتي Tab: مفاتيح الأسهم تؤدي العمل نفسه من الحقل.
  • invalid يضبط aria-invalid على الحقل، ويتحوّل خطه إلى لون الخطر ويزداد سمكًا.

من اليمين إلى اليسار

يقع زر الزيادة على اليسار ويبقى الرقم من اليسار إلى اليمين. وأرقامه تتبع نظام الأرقام في المزوّد.

الخادم والمتصفح

مكوّن متصفح: يُعرض على الخادم ثم يُرطَّب في المتصفح.

الملفات: index.tsx, client.tsx.

على الشارة: client - الحجم لم يُقَس بعد.