import { FormControl, useControl } from '@websolutespa/bom-mixer-forms'; import { useLabel } from '@websolutespa/bom-mixer-hooks'; import { ChangeEvent, FocusEvent, useId, useState } from 'react'; import { Text } from '../components'; import { Field, Label, Radio } from '../forms'; import { FieldError } from './field-error'; type FieldAcceptProps = { control: FormControl; }; export function FieldAccept({ control }: FieldAcceptProps) { const uid = useId(); const label = useLabel(); const uniqueName = `${control.name}-${uid}`; const uniqueNameTrue = `${uniqueName}-true`; const uniqueNameFalse = `${uniqueName}-false`; const [state, setValue, setTouched] = useControl(control); const onSelect = (value: boolean) => { // console.log('value', value); setValue(value); }; const onChange = (event: ChangeEvent) => { onSelect(event.target.value === 'true'); }; const [focus, setFocus] = useState(false); const onBlur = (_: FocusEvent) => { setTouched(); setFocus(false); }; const onFocus = (_: FocusEvent) => { setFocus(true); }; const controlLabel = control.label && label(control.label); return ( state.flags.hidden ? ( ) : ( {controlLabel && {controlLabel} } ) ); }