23 lines
643 B
TypeScript
23 lines
643 B
TypeScript
import { useFormField } from '@hooks/useFormField';
|
|
import * as LabelPrimitive from '@radix-ui/react-label';
|
|
import { cn } from '@utils/cn';
|
|
import * as React from 'react';
|
|
import { Label } from '../Label';
|
|
|
|
export const FormLabel = React.forwardRef<
|
|
React.ElementRef<typeof LabelPrimitive.Root>,
|
|
React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>
|
|
>(({ className, ...props }, ref) => {
|
|
const { error, formItemId } = useFormField();
|
|
|
|
return (
|
|
<Label
|
|
ref={ref}
|
|
className={cn(error && 'text-destructive', className)}
|
|
htmlFor={formItemId}
|
|
{...props}
|
|
/>
|
|
);
|
|
});
|
|
FormLabel.displayName = 'FormLabel';
|