24 lines
613 B
TypeScript
24 lines
613 B
TypeScript
import { forwardRef, type LabelHTMLAttributes } from 'react';
|
|
import { cn } from '@utils/cn';
|
|
|
|
export interface LabelProps extends LabelHTMLAttributes<HTMLLabelElement> {
|
|
required?: boolean;
|
|
}
|
|
|
|
export const Label = forwardRef<HTMLLabelElement, LabelProps>(
|
|
({ children, required, className, ...props }, ref) => {
|
|
return (
|
|
<label
|
|
ref={ref}
|
|
className={cn('block text-sm font-medium text-gray-700', className)}
|
|
{...props}
|
|
>
|
|
{children}
|
|
{required && <span className="ml-1 text-danger-500">*</span>}
|
|
</label>
|
|
);
|
|
}
|
|
);
|
|
|
|
Label.displayName = 'Label';
|