tsf-checkbox-field
shuip/tsf-checkbox-fieldFreeComponent
shuip publishes no description for this item.
Install it
npx shadcn@latest add https://shuip.plvo.dev/r/tsf-checkbox-field.jsonSource
1'use client';23import { Checkbox } from '@/components/ui/checkbox';4import { Field, FieldDescription, FieldError, FieldLabel } from '@/components/ui/field';5import { useFieldContext } from '@/components/ui/shuip/tanstack-form/form-context';67export interface CheckboxFieldProps {8 label: string;9 description?: string;10 fieldProps?: React.ComponentProps<typeof Field>;11 props?: React.ComponentProps<typeof Checkbox>;12}1314export function CheckboxField({ label, description, fieldProps, props }: CheckboxFieldProps) {15 const field = useFieldContext<boolean>();16 const { isValid, errors } = field.state.meta;1718 return (19 <Field className='gap-2' data-invalid={!isValid} {...fieldProps}>20 <div className='flex items-center gap-2'>21 <Checkbox22 id={field.name}23 name={field.name}24 checked={field.state.value}25 onCheckedChange={(checked) => field.handleChange(checked === true)}26 onBlur={field.handleBlur}27 aria-invalid={!isValid}28 {...props}29 />30 <FieldLabel htmlFor={field.name} className='text-sm cursor-pointer'>31 {label}32 </FieldLabel>33 </div>34 {!isValid && (35 <FieldError36 className='text-xs text-left'37 errors={errors.map((error) => ({ message: typeof error === 'string' ? error : error?.message }))}38 />39 )}40 {description && <FieldDescription className='text-xs'>{description}</FieldDescription>}41 </Field>42 );43}
What it pulls in
Other registry items
Files it writes
More from shuip
All 52 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| confirmation-dialogconfirmation-dialog | shuip | Components | Free | 1 dep | |
| copy-buttoncopy-button | shuip | Components | Free | 3 deps | |
| hover-revealhover-reveal | shuip | Components | Free | 1 dep | |
| rhf-address-fieldrhf-address-field | shuip | Components | Free | 5 deps · 2 files | |
| rhf-autocomplete-fieldrhf-autocomplete-field | shuip | Components | Free | 4 deps | |
| rhf-checkbox-fieldrhf-checkbox-field | shuip | Components | Free | 3 deps | |
| rhf-combobox-fieldrhf-combobox-field | shuip | Components | Free | 5 deps | |
| rhf-date-fieldrhf-date-field | shuip | Components | Free | 6 deps |
