({
type: 'formField',
fieldType: 'checkbox',
id: skipRegistration ? '__skip_registration_checkbox' : (id || '__skip_registration_checkbox'),
label: typeof label === 'string' ? label : undefined,
value: typeof checked === 'boolean' ? checked : undefined,
disabled,
required
});
// Update metadata when field props change
useEffect(() => {
if (updateMetadata) {
updateMetadata({
value: typeof checked === 'boolean' ? checked : undefined,
label: typeof label === 'string' ? label : undefined,
disabled,
required
});
}
}, [checked, updateMetadata, label, disabled, required]);
useEffect(() => {
if (checkboxRef.current) {
checkboxRef.current.indeterminate = !!indeterminate && !checked;
}
}, [indeterminate, checked]);
const wrapperClasses = cn('flex items-center gap-2', containerClassName ?? 'mb-4');
return (
{
props.onChange?.(event);
}}
{...props}
{...withDataAutomationId({ id })}
/>
{label && (
)}
);
}