{
update({ touched: true, ...readInput(event) });
onBlur?.(event);
}}
onChange={(event) => {
update({ touched: true, ...readInput(event) });
onChange?.(event);
}}
onInvalid={(event) => {
update(readInput(event));
onInvalid?.(event);
}}
/>
);
});
export type FieldProps = BaseProps & JSX.IntrinsicElements['div'];
const readInput = (event: SyntheticEvent) => {
const { disabled, validity } = event.target as HTMLInputElement;
return { ...(disabled != null && { disabled }), validity };
};