@modern-kit/react
Version:
35 lines (32 loc) • 1.02 kB
JavaScript
import { useState, useCallback } from 'react';
import { useDebouncedState } from '../useDebouncedState/index.mjs';
import '../useDebounce/index.mjs';
import '@modern-kit/utils';
import '../useUnmount/index.mjs';
import '../usePreservedCallback/index.mjs';
function useDebouncedInputValue(initialValue, wait, options = {}) {
const [value, setValue] = useState(initialValue);
const [debouncedValue, setDebouncedValue] = useDebouncedState(
initialValue,
wait,
options
);
const onChange = useCallback(
(value2) => {
setValue(value2);
setDebouncedValue(value2);
},
[setDebouncedValue]
);
const onReset = useCallback(() => {
setValue(initialValue);
setDebouncedValue(initialValue);
}, [setDebouncedValue, initialValue]);
const onClear = useCallback(() => {
setValue("");
setDebouncedValue("");
}, [setDebouncedValue]);
return { value, debouncedValue, onChange, onReset, onClear };
}
export { useDebouncedInputValue };
//# sourceMappingURL=index.mjs.map