برچسب (Label)
برچسب برای فیلدهای فرم
معرفی
کامپوننت Label برای برچسبگذاری فیلدهای فرم استفاده میشود. بر پایه Radix UI Label ساخته شده و بهصورت خودکار با فیلد مرتبط لینک میشود.
چه زمانی استفاده کنیم:
- برای برچسبگذاری فیلدهای فرم (input، select، textarea و ...)
- وقتی نیاز به لینک شدن خودکار بین برچسب و فیلد با
htmlForدارید - در ترکیب با
Inputیا سایر فیلدهای فرم بدون استفاده ازFieldیاForm
چه زمانی استفاده نکنیم:
- برای عناوین بخش — از
h2،h3استفاده کنید - وقتی از
FormLabelدر context react-hook-form هستید — ازFormLabelاستفاده کنید
استفاده
import { Label } from '@parto-system-design/ui'
export default function MyComponent() {
return (
<div>
<Label htmlFor="email">ایمیل</Label>
<input id="email" type="email" />
</div>
)
}با Input
import { Label, Input } from '@parto-system-design/ui'
export default function MyComponent() {
return (
<div className="grid gap-2">
<Label htmlFor="username">نام کاربری</Label>
<Input id="username" placeholder="نام کاربری خود را وارد کنید" />
</div>
)
}حالت غیرفعال
برچسب بهصورت خودکار با حالت disabled فیلد مرتبط همگام میشود:
<div className="grid gap-2">
<Label htmlFor="disabled-input">فیلد غیرفعال</Label>
<Input id="disabled-input" disabled />
</div>Props
حالتها و انواع
با Input
ترکیب Label با htmlFor و Input با id مطابق.
حالت غیرفعال
برچسب بهصورت خودکار با حالت disabled فیلد مرتبط همگام میشود و opacity کاهش مییابد.
راهنمای استفاده
بکنید
- همیشه از
htmlForاستفاده کنید و مقدار آن را باidفیلد مطابقت دهید - متن برچسب را کوتاه و توصیفی بنویسید - برچسب را به فارسی رسمی بنویسید
نکنید
- از Label بدون
htmlForاستفاده نکنید — دسترسیپذیری مختل میشود - از Label بهعنوان عنوان بخش استفاده نکنید — از تگهای heading استفاده کنید - در context فرمهای react-hook-form از Label استفاده نکنید —FormLabelمناسبتر است
دسترسیپذیری
- همیشه از
htmlForباidفیلد مرتبط استفاده کنید - کلیک روی Label باعث focus شدن فیلد میشود
- در حالت
disabled، Label بهصورت خودکار opacity کاهش مییابد - بر پایه Radix UI Label با پشتیبانی کامل از screen reader