UNPKG

@mantine/hooks

Version:

A collection of 50+ hooks for state and UI management

26 lines (23 loc) 741 B
'use client'; import { useState } from 'react'; function useValidatedState(initialValue, validate, initialValidationState) { const [value, setValue] = useState(initialValue); const [lastValidValue, setLastValidValue] = useState( validate(initialValue) ? initialValue : void 0 ); const [valid, setValid] = useState( typeof initialValidationState === "boolean" ? initialValidationState : validate(initialValue) ); const onChange = (val) => { if (validate(val)) { setLastValidValue(val); setValid(true); } else { setValid(false); } setValue(val); }; return [{ value, lastValidValue, valid }, onChange]; } export { useValidatedState }; //# sourceMappingURL=use-validated-state.mjs.map