लेबल
इनपुट्स, चेकबॉक्स, स्विच और रेडियो समूहों के लिए कैप्शन — क्लिक करने पर नियंत्रण सक्रिय होता है, जिसे नियोब्रूटलिस्ट हेडिंग फ़ॉन्ट में सेट किया गया है।
import { Checkbox } from "@/components/ui/checkbox"
import { Label } from "@/components/ui/label"
लेबल फ़ॉर्म कंट्रोल का कैप्शन है — कंट्रोल की id से जोड़ें, और टेक्स्ट पर क्लिक फ़ील्ड फ़ोकस या टॉगल करता है। यह वैरिएंट स्टाइल किया नेटिव <label> एलिमेंट है, कोई प्रिमिटिव डिपेंडेंसी नहीं, नियोब्रूटलिस्ट हेडिंग फ़ॉन्ट में।
इसे इन स्थितियों में चुनें:
- स्टैंडअलोन कंट्रोल — अकेला चेकबॉक्स, स्विच या रेडियो ग्रुप जहाँ पूरा
Fieldज़रूरी न हो: सहमति बॉक्स, नोटिफ़िकेशन टॉगल। - सेटिंग्स पंक्ति — switch-plus-label जोड़े जहाँ पूरा कैप्शन क्लिक लक्ष्य हो।
- कस्टम फ़ॉर्म लेआउट — ग्रिड और इनलाइन व्यवस्था जहाँ
Fieldका स्टैक्ड ढाँचा फिट न बैठे।
फ़ॉर्म फ़ील्ड के लिए Field कंपोनेंट इस्तेमाल करें जिसमें बिल्ट-इन लेबल, विवरण और एरर हैंडलिंग शामिल है।
इंस्टॉलेशन#
pnpm dlx shadcn@latest add https://neobrutalism.com/r/base/label.jsonnpx shadcn@latest add https://neobrutalism.com/r/base/label.jsonyarn dlx shadcn@latest add https://neobrutalism.com/r/base/label.jsonbunx --bun shadcn@latest add https://neobrutalism.com/r/base/label.json
निम्नलिखित डिपेंडेंसी इंस्टॉल करें:
pnpm add @base-ui/reactnpm install @base-ui/reactyarn add @base-ui/reactbun add @base-ui/react
निम्नलिखित कोड को अपने प्रोजेक्ट में कॉपी और पेस्ट करें.
"use client"
import * as React from "react"
import { Label as LabelPrimitive } from "radix-ui"
import { cn } from "@/lib/utils"
function Label({
className,
...props
}: React.ComponentProps<typeof LabelPrimitive.Root>) {
return (
<LabelPrimitive.Root
data-slot="label"
className={cn(
"flex items-center gap-2 text-sm leading-none font-head font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
className
)}
{...props}
/>
)
}
export { Label }
अपने प्रोजेक्ट सेटअप के अनुसार इंपोर्ट पाथ अपडेट करें.
उपयोग#
import { Label } from "@/components/ui/label"<Label htmlFor="email">Your email address</Label>Field में Label#
फ़ॉर्म फ़ील्ड के लिए, Field कंपोनेंट का उपयोग करें, जिसमें
बिल्ट-इन FieldLabel, FieldDescription और FieldError कंपोनेंट शामिल हैं.
<Field>
<FieldLabel htmlFor="email">Your email address</FieldLabel>
<Input id="email" />
</Field>import { Button } from "@/components/ui/button"
import { Checkbox } from "@/components/ui/checkbox"
import {RTL#
Neobrutalism में RTL समर्थन सक्षम करने के लिए, RTL कॉन्फ़िगरेशन गाइड देखें.
"use client"
import * as React from "react"एक्सेसिबिलिटी#
Label नेटिव <label> एलिमेंट रेंडर करता है: htmlFor को कंट्रोल की id से मिलाएँ (या कंट्रोल को लेबल के अंदर रखें) और स्क्रीन रीडर टेक्स्ट को कंट्रोल का accessible name घोषित करते हैं, जबकि लेबल पर क्लिक फ़ोकस या टॉगल करता है। स्टाइल में select-none है, इसलिए लेबल पर डबल-क्लिक टेक्स्ट नहीं चुनता। <label> सिर्फ़ फ़ॉर्म कंट्रोल से जुड़ता है — कस्टम विजेट के लिए aria-labelledby को लेबल की id पर इंगित करें।
API रेफ़रेंस#
अधिक जानकारी के लिए Base UI Label दस्तावेज़ देखें.