@modern-kit/react
Version:
37 lines (33 loc) • 1.1 kB
JavaScript
;
var React = require('react');
var hooksUseDebouncedState = require('../useDebouncedState/index.cjs');
require('../useDebounce/index.cjs');
require('@modern-kit/utils');
require('../useUnmount/index.cjs');
require('../usePreservedCallback/index.cjs');
function useDebouncedInputValue(initialValue, wait, options = {}) {
const [value, setValue] = React.useState(initialValue);
const [debouncedValue, setDebouncedValue] = hooksUseDebouncedState.useDebouncedState(
initialValue,
wait,
options
);
const onChange = React.useCallback(
(value2) => {
setValue(value2);
setDebouncedValue(value2);
},
[setDebouncedValue]
);
const onReset = React.useCallback(() => {
setValue(initialValue);
setDebouncedValue(initialValue);
}, [setDebouncedValue, initialValue]);
const onClear = React.useCallback(() => {
setValue("");
setDebouncedValue("");
}, [setDebouncedValue]);
return { value, debouncedValue, onChange, onReset, onClear };
}
exports.useDebouncedInputValue = useDebouncedInputValue;
//# sourceMappingURL=index.cjs.map