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

مربع اختيار

محدد أو غير محدد أو مختلط. حقل مخفي يرسل القيمة الافتراضية قبل الترطيب، وإعادة ضبط النموذج تعيدها.

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

مربع اختيار

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

محدد أو غير محدد أو مختلط. حقل مخفي يرسل القيمة الافتراضية قبل الترطيب، وإعادة ضبط النموذج تعيدها.

تثبيت

جرّبه

size
invalid

الشيفرة

checkbox.tsx
import { Checkbox } from 'topclassui/checkbox'

<div className="flex items-center gap-2">
  <Checkbox id="checkbox-playground" defaultChecked />
  <label htmlFor="checkbox-playground" className="text-sm text-body">I accept the terms</label>
</div>

المربع زر أصلي <button role="checkbox">، وبجانبه مربع اختيار مخفي هو ما يرسله النموذج.

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

9 حالات

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

topclassui/checkbox
import { Checkbox } from 'topclassui/checkbox'

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

أمثلة

  • لاختيار يرسله النموذج لاحقًا. أما الإعداد الذي يسري فورًا فيناسبه Switch أكثر.
  • غير المحدد لا يرسل شيئًا، والمحدد يرسل on، قبل الترطيب وبعده. ويمكن لقيمة عدم التحديد أن تجعل المربع غير المحدد يرسل نصًا خاصًا به.
  • المربع المختلط يرسم شَرطة ويضبط aria-checked على mixed؛ وإلغاؤه مسؤوليتك، ولا يرسل شيئًا ما دام مختلطًا.
  • لا يرسم Checkbox تسمية خاصة به: اكتب التسمية بجانبه أو حوله، وأعطِ المربع id.
  • في سمة Ocean يكون المربعان xs وsm دائريين: لا يميّزهما عن زر الراديو إلا علامة الاختيار أو الشَرطة.
basic
labelled
form
sizes
بالعربية، من اليمين إلى اليسار

الخصائص

خصائص Checkbox
الخاصيةالنوعالافتراضيالحدودالوصف
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 checkbox's own.
invalidbooleanfalse-Marks the value as wrong: sets aria-invalid, and the line of the box turns to danger and thickens.
refRef<HTMLButtonElement>--The root element, which is a <button>.
sizexs | sm | md | lg | xl | custom"md"-The toggle scale of the drawn box and its mark; custom emits no size classes.

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

لوحة مفاتيح Checkbox
المفاتيحما يفعله
Tabينقل التركيز إلى المربع، ويتخطى المربع المعطّل.
Spaceيحدد المربع أو يلغي تحديده.
Enterيرسل النموذج الذي يضم المربع، كما يفعل مربع الاختيار الأصلي، ولا يحدده.
  • الاسم مطلوب: id لتسمية <label htmlFor>، أو aria-label، أو aria-labelledby. والنقر على التسمية يضغط المربع.
  • مساحة الهدف 24px، و44px تحت مؤشر لمس، مهما كان size المرسوم: حلقة التركيز تحيط بالمربع.
  • invalid يضبط aria-invalid، ويتحوّل خط المربع إلى لون الخطر ويزداد سمكًا، محددًا كان أو لا.

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

يقع المربع على اليمين، قبل تسميته، دون أي تغيير في شيفرتك: الترتيب منطقي لا فيزيائي.

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

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

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

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