import { getClassNames, IEquatable, IOption } from '@websolutespa/bom-core'; import { FormControl, useControl, valueToString } from '@websolutespa/bom-mixer-forms'; import { useLabel } from '@websolutespa/bom-mixer-hooks'; import { IconChevronDown } from '@websolutespa/bom-mixer-icons'; import { FocusEvent, ReactElement, useId } from 'react'; import { Field, Select } from '../forms'; import { FieldError } from './field-error'; type FieldSelectProps = { control: FormControl; icon?: ReactElement; }; export function FieldSelect({ control, icon }: FieldSelectProps) { const uid = useId(); const label = useLabel(); const uniqueName = `${control.name}-${uid}`; const [state, setValue, setTouched] = useControl(control); // const [focus, setFocus] = useState(false); const onBlur = (event: FocusEvent) => { setTouched(); // setFocus(false); }; const onFocus = (event: FocusEvent) => { // setFocus(true); }; const onChange = (option: string | IOption | string[] | IOption[] | null) => { setValue(option); }; const controlLabel = control.label && label(control.label); return ( state.flags.hidden ? ( ) : ( {control.customData?.after && ( control.customData.after )} ) ); }