UNPKG

@mantine/hooks

Version:

A collection of 50+ hooks for state and UI management

24 lines (23 loc) 792 B
"use client"; import { useState } from "react"; //#region packages/@mantine/hooks/src/use-validated-state/use-validated-state.ts 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]; } //#endregion export { useValidatedState }; //# sourceMappingURL=use-validated-state.mjs.map