Project Init

This commit is contained in:
Muluhabt
2026-05-29 15:23:46 +03:00
commit 2fbc557aac
67387 changed files with 6063341 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
'use client';
import { useState, useRef, useEffect, useCallback } from 'react';
function useDebouncedState(defaultValue, wait, options = { leading: false }) {
const [value, setValue] = useState(defaultValue);
const timeoutRef = useRef(null);
const leadingRef = useRef(true);
const clearTimeout = () => window.clearTimeout(timeoutRef.current);
useEffect(() => clearTimeout, []);
const debouncedSetValue = useCallback(
(newValue) => {
clearTimeout();
if (leadingRef.current && options.leading) {
setValue(newValue);
} else {
timeoutRef.current = window.setTimeout(() => {
leadingRef.current = true;
setValue(newValue);
}, wait);
}
leadingRef.current = false;
},
[options.leading]
);
return [value, debouncedSetValue];
}
export { useDebouncedState };
//# sourceMappingURL=use-debounced-state.mjs.map