خانة الاختيار (Checkbox)

يتيح لك مكوّن خانة الاختيار (Checkbox) تحديد خيار أو إلغاء تحديده.

التثبيت

bash
npx @smicolon/fasla-ui@latest add checkbox

قبل إضافة أي مكوّن، شغّل الأمر init مرة واحدة في مشروعك. التفاصيل في صفحة التثبيت.

معاينة

مع تسمية ووصف

تصلك رسائل عن المنتجات والميزات الجديدة

تصلك إشعارات عن تحديثات الأمان

الحالات

الخصائص (props)

الخاصيةالنوعالافتراضيالوصف
checkedbooleanلا يوجدحالة التحديد، وتُستخدم مع onChange.
indeterminatebooleanfalseيعرض شرطة لمجموعة محددة جزئيًا.
disabledbooleanfalseيعطّل الخانة ويُظهرها باهتة.
errorbooleanfalseيعلّم الخانة بأنها غير صالحة.
labelstringلا يوجدنص التسمية.
descriptionstringلا يوجدسطر ثانوي تحت التسمية.
namestringلا يوجدالاسم الذي يُرسَل مع النموذج.
valuestringلا يوجدالقيمة التي تُرسَل عند التحديد.
onChange(event) => voidلا يوجدتُستدعى عند تغيير حالة الخانة.
classNamestringلا يوجدأصناف (class) إضافية للمكوّن.

الاستخدام

خانة اختيار بسيطة

tsx
"use client"

import { Checkbox } from "@/components/ui/checkbox"

export function TermsCheckbox() {
  return <Checkbox name="terms" aria-label="أوافق على الشروط والأحكام" />
}

مع تسمية

tsx
"use client"

import { Checkbox } from "@/components/ui/checkbox"

export function TermsCheckbox() {
  return <Checkbox name="terms" label="أوافق على الشروط والأحكام" />
}

مع وصف

tsx
"use client"

import { Checkbox } from "@/components/ui/checkbox"

export function MarketingCheckbox() {
  return (
    <Checkbox
      name="marketing"
      label="رسائل العروض"
      description="تصلك رسائل عن المنتجات الجديدة"
    />
  )
}

حالة التحديد الجزئي (indeterminate)

tsx
"use client"

import { Checkbox } from "@/components/ui/checkbox"

export function SelectAllCheckbox() {
  return <Checkbox label="تحديد الكل" indeterminate />
}

حالة الخطأ

tsx
"use client"

import { Checkbox } from "@/components/ui/checkbox"

export function RequiredCheckbox() {
  return <Checkbox name="terms" label="حقل مطلوب" required error />
}