@usefy/usefy 0.0.17 โ 0.0.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +98 -18
- package/dist/index.d.mts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +4 -0
- package/dist/index.mjs.map +1 -1
- package/package.json +14 -13
package/README.md
CHANGED
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
- **๐ Zero Dependencies** โ Pure React implementation with no external dependencies
|
|
48
48
|
- **๐ฆ Tree Shakeable** โ Import only the hooks you need to optimize bundle size
|
|
49
49
|
- **๐ท TypeScript First** โ Complete type safety with full autocomplete support
|
|
50
|
-
- **โก SSR
|
|
50
|
+
- **โก SSR Compatible** โ Works seamlessly with Next.js, Remix, and other SSR frameworks
|
|
51
51
|
- **๐งช Well Tested** โ High test coverage ensures reliability and stability
|
|
52
52
|
- **๐ Well Documented** โ Detailed documentation with practical examples
|
|
53
53
|
|
|
@@ -112,6 +112,9 @@ All packages require React 18 or 19:
|
|
|
112
112
|
| [@usefy/use-session-storage](https://www.npmjs.com/package/@usefy/use-session-storage) | sessionStorage persistence for tab lifetime | [](https://www.npmjs.com/package/@usefy/use-session-storage) |  |
|
|
113
113
|
| [@usefy/use-click-any-where](https://www.npmjs.com/package/@usefy/use-click-any-where) | Document-wide click event detection | [](https://www.npmjs.com/package/@usefy/use-click-any-where) |  |
|
|
114
114
|
| [@usefy/use-copy-to-clipboard](https://www.npmjs.com/package/@usefy/use-copy-to-clipboard) | Clipboard copy with fallback support | [](https://www.npmjs.com/package/@usefy/use-copy-to-clipboard) |  |
|
|
115
|
+
| [@usefy/use-event-listener](https://www.npmjs.com/package/@usefy/use-event-listener) | DOM event listener with auto cleanup | [](https://www.npmjs.com/package/@usefy/use-event-listener) |  |
|
|
116
|
+
| [@usefy/use-on-click-outside](https://www.npmjs.com/package/@usefy/use-on-click-outside) | Outside click detection for modals/dropdowns | [](https://www.npmjs.com/package/@usefy/use-on-click-outside) |  |
|
|
117
|
+
| [@usefy/use-timer](https://www.npmjs.com/package/@usefy/use-timer) | Countdown timer with drift compensation and formats | [](https://www.npmjs.com/package/@usefy/use-timer) |  |
|
|
115
118
|
|
|
116
119
|
---
|
|
117
120
|
|
|
@@ -126,6 +129,8 @@ import {
|
|
|
126
129
|
useDebounce,
|
|
127
130
|
useLocalStorage,
|
|
128
131
|
useCopyToClipboard,
|
|
132
|
+
useEventListener,
|
|
133
|
+
useOnClickOutside,
|
|
129
134
|
} from "@usefy/usefy";
|
|
130
135
|
|
|
131
136
|
function App() {
|
|
@@ -293,6 +298,36 @@ const throttledFn = useThrottleCallback(callback, 100);
|
|
|
293
298
|
|
|
294
299
|
</details>
|
|
295
300
|
|
|
301
|
+
<details>
|
|
302
|
+
<summary><strong>useTimer</strong> โ Countdown timer with accurate timing</summary>
|
|
303
|
+
|
|
304
|
+
```tsx
|
|
305
|
+
import { useTimer, ms } from "@usefy/use-timer";
|
|
306
|
+
|
|
307
|
+
const timer = useTimer(ms.minutes(5), {
|
|
308
|
+
format: "MM:SS",
|
|
309
|
+
autoStart: false,
|
|
310
|
+
loop: false,
|
|
311
|
+
onComplete: () => console.log("Time's up!"),
|
|
312
|
+
});
|
|
313
|
+
|
|
314
|
+
// Controls
|
|
315
|
+
timer.start();
|
|
316
|
+
timer.pause();
|
|
317
|
+
timer.reset();
|
|
318
|
+
timer.addTime(ms.seconds(10));
|
|
319
|
+
timer.subtractTime(ms.seconds(5));
|
|
320
|
+
|
|
321
|
+
// State
|
|
322
|
+
timer.formattedTime; // "05:00"
|
|
323
|
+
timer.progress; // 0-100
|
|
324
|
+
timer.isRunning; // boolean
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
Perfect for countdown timers, Pomodoro apps, kitchen timers, and time-based UIs with smart render optimization.
|
|
328
|
+
|
|
329
|
+
</details>
|
|
330
|
+
|
|
296
331
|
### ๐พ Storage
|
|
297
332
|
|
|
298
333
|
<details>
|
|
@@ -324,6 +359,65 @@ Data persists during tab lifetime, isolated per tab.
|
|
|
324
359
|
|
|
325
360
|
### ๐ฑ๏ธ Events
|
|
326
361
|
|
|
362
|
+
<details>
|
|
363
|
+
<summary><strong>useEventListener</strong> โ DOM event listener with auto cleanup</summary>
|
|
364
|
+
|
|
365
|
+
```tsx
|
|
366
|
+
// Window resize event (default target)
|
|
367
|
+
useEventListener("resize", (e) => {
|
|
368
|
+
console.log("Window resized:", window.innerWidth);
|
|
369
|
+
});
|
|
370
|
+
|
|
371
|
+
// Document keydown event
|
|
372
|
+
useEventListener(
|
|
373
|
+
"keydown",
|
|
374
|
+
(e) => {
|
|
375
|
+
if (e.key === "Escape") closeModal();
|
|
376
|
+
},
|
|
377
|
+
document
|
|
378
|
+
);
|
|
379
|
+
|
|
380
|
+
// Element with ref
|
|
381
|
+
const buttonRef = useRef<HTMLButtonElement>(null);
|
|
382
|
+
useEventListener("click", handleClick, buttonRef);
|
|
383
|
+
|
|
384
|
+
// With options
|
|
385
|
+
useEventListener("scroll", handleScroll, window, {
|
|
386
|
+
passive: true,
|
|
387
|
+
capture: false,
|
|
388
|
+
enabled: isTracking,
|
|
389
|
+
});
|
|
390
|
+
```
|
|
391
|
+
|
|
392
|
+
Supports window, document, HTMLElement, and RefObject targets with full TypeScript type inference.
|
|
393
|
+
|
|
394
|
+
</details>
|
|
395
|
+
|
|
396
|
+
<details>
|
|
397
|
+
<summary><strong>useOnClickOutside</strong> โ Outside click detection</summary>
|
|
398
|
+
|
|
399
|
+
```tsx
|
|
400
|
+
// Basic usage - close modal on outside click
|
|
401
|
+
const modalRef = useRef<HTMLDivElement>(null);
|
|
402
|
+
useOnClickOutside(modalRef, () => onClose(), { enabled: isOpen });
|
|
403
|
+
|
|
404
|
+
// Multiple refs - button and dropdown menu
|
|
405
|
+
const buttonRef = useRef<HTMLButtonElement>(null);
|
|
406
|
+
const menuRef = useRef<HTMLDivElement>(null);
|
|
407
|
+
useOnClickOutside([buttonRef, menuRef], () => setIsOpen(false), {
|
|
408
|
+
enabled: isOpen,
|
|
409
|
+
});
|
|
410
|
+
|
|
411
|
+
// With exclude refs
|
|
412
|
+
useOnClickOutside(modalRef, onClose, {
|
|
413
|
+
excludeRefs: [toastRef], // Clicks on toast won't close modal
|
|
414
|
+
});
|
|
415
|
+
```
|
|
416
|
+
|
|
417
|
+
Perfect for modals, dropdowns, popovers, tooltips, and context menus with mouse + touch support.
|
|
418
|
+
|
|
419
|
+
</details>
|
|
420
|
+
|
|
327
421
|
<details>
|
|
328
422
|
<summary><strong>useClickAnyWhere</strong> โ Global click detection</summary>
|
|
329
423
|
|
|
@@ -377,6 +471,9 @@ All packages are comprehensively tested using Vitest to ensure reliability and s
|
|
|
377
471
|
| use-click-any-where | 92% | 88% | 100% | 92% |
|
|
378
472
|
| use-debounce | 91% | 90% | 67% | 93% |
|
|
379
473
|
| use-copy-to-clipboard | 88% | 79% | 86% | 88% |
|
|
474
|
+
| use-event-listener | 96% | 91% | 100% | 96% |
|
|
475
|
+
| use-on-click-outside | 97% | 93% | 100% | 97% |
|
|
476
|
+
| use-timer | 84% | 73% | 94% | 84% |
|
|
380
477
|
|
|
381
478
|
---
|
|
382
479
|
|
|
@@ -392,23 +489,6 @@ All packages are comprehensively tested using Vitest to ensure reliability and s
|
|
|
392
489
|
|
|
393
490
|
---
|
|
394
491
|
|
|
395
|
-
## SSR Compatibility
|
|
396
|
-
|
|
397
|
-
All hooks are SSR-safe and will not throw errors on the server.
|
|
398
|
-
|
|
399
|
-
| Hook | SSR Behavior |
|
|
400
|
-
| -------------------------------------------- | ------------------------------------------------ |
|
|
401
|
-
| `useToggle`, `useCounter` | โ
Fully compatible (pure React state) |
|
|
402
|
-
| `useDebounce`, `useThrottle` | โ
Fully compatible (uses `setTimeout`) |
|
|
403
|
-
| `useDebounceCallback`, `useThrottleCallback` | โ
Fully compatible |
|
|
404
|
-
| `useLocalStorage`, `useSessionStorage` | โ
Safe โ returns `initialValue` on server |
|
|
405
|
-
| `useClickAnyWhere` | โ
Safe โ event listener only attached on client |
|
|
406
|
-
| `useCopyToClipboard` | โ
Safe โ copy function only works on client |
|
|
407
|
-
|
|
408
|
-
> **Note**: `useLocalStorage` and `useSessionStorage` include proper `typeof window` checks and will gracefully fall back to `initialValue` during server-side rendering.
|
|
409
|
-
|
|
410
|
-
---
|
|
411
|
-
|
|
412
492
|
## Related Links
|
|
413
493
|
|
|
414
494
|
- ๐ฆ [npm Organization](https://www.npmjs.com/org/usefy)
|
package/dist/index.d.mts
CHANGED
|
@@ -10,3 +10,4 @@ export { InitialValue, UseLocalStorageOptions, UseLocalStorageReturn, useLocalSt
|
|
|
10
10
|
export { InitialValue as SessionStorageInitialValue, UseSessionStorageOptions, UseSessionStorageReturn, useSessionStorage } from '@usefy/use-session-storage';
|
|
11
11
|
export { ClickOutsideEvent, MouseEventType, OnClickOutsideHandler, RefTarget, TouchEventType, UseOnClickOutsideOptions, useOnClickOutside } from '@usefy/use-on-click-outside';
|
|
12
12
|
export { EventTargetType, UseEventListenerOptions, useEventListener } from '@usefy/use-event-listener';
|
|
13
|
+
export { TimeFormat, TimeUnit, UseTimerOptions, UseTimerReturn, useTimer } from '@usefy/use-timer';
|
package/dist/index.d.ts
CHANGED
|
@@ -10,3 +10,4 @@ export { InitialValue, UseLocalStorageOptions, UseLocalStorageReturn, useLocalSt
|
|
|
10
10
|
export { InitialValue as SessionStorageInitialValue, UseSessionStorageOptions, UseSessionStorageReturn, useSessionStorage } from '@usefy/use-session-storage';
|
|
11
11
|
export { ClickOutsideEvent, MouseEventType, OnClickOutsideHandler, RefTarget, TouchEventType, UseOnClickOutsideOptions, useOnClickOutside } from '@usefy/use-on-click-outside';
|
|
12
12
|
export { EventTargetType, UseEventListenerOptions, useEventListener } from '@usefy/use-event-listener';
|
|
13
|
+
export { TimeFormat, TimeUnit, UseTimerOptions, UseTimerReturn, useTimer } from '@usefy/use-timer';
|
package/dist/index.js
CHANGED
|
@@ -31,6 +31,7 @@ __export(index_exports, {
|
|
|
31
31
|
useSessionStorage: () => import_use_session_storage.useSessionStorage,
|
|
32
32
|
useThrottle: () => import_use_throttle.useThrottle,
|
|
33
33
|
useThrottleCallback: () => import_use_throttle_callback.useThrottleCallback,
|
|
34
|
+
useTimer: () => import_use_timer.useTimer,
|
|
34
35
|
useToggle: () => import_use_toggle.useToggle
|
|
35
36
|
});
|
|
36
37
|
module.exports = __toCommonJS(index_exports);
|
|
@@ -46,6 +47,7 @@ var import_use_local_storage = require("@usefy/use-local-storage");
|
|
|
46
47
|
var import_use_session_storage = require("@usefy/use-session-storage");
|
|
47
48
|
var import_use_on_click_outside = require("@usefy/use-on-click-outside");
|
|
48
49
|
var import_use_event_listener = require("@usefy/use-event-listener");
|
|
50
|
+
var import_use_timer = require("@usefy/use-timer");
|
|
49
51
|
// Annotate the CommonJS export names for ESM import in node:
|
|
50
52
|
0 && (module.exports = {
|
|
51
53
|
useClickAnyWhere,
|
|
@@ -59,6 +61,7 @@ var import_use_event_listener = require("@usefy/use-event-listener");
|
|
|
59
61
|
useSessionStorage,
|
|
60
62
|
useThrottle,
|
|
61
63
|
useThrottleCallback,
|
|
64
|
+
useTimer,
|
|
62
65
|
useToggle
|
|
63
66
|
});
|
|
64
67
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["// Re-export all hooks from individual packages\n\n// useClickAnyWhere\nexport {\n useClickAnyWhere,\n type UseClickAnyWhereOptions,\n type ClickAnyWhereHandler,\n} from \"@usefy/use-click-any-where\";\n\n// useCopyToClipboard\nexport {\n useCopyToClipboard,\n type UseCopyToClipboardOptions,\n type UseCopyToClipboardReturn,\n type CopyFn,\n} from \"@usefy/use-copy-to-clipboard\";\n\n// useCounter\nexport { useCounter } from \"@usefy/use-counter\";\n\n// useToggle\nexport { useToggle, type UseToggleReturn } from \"@usefy/use-toggle\";\n\n// useDebounce\nexport { useDebounce, type UseDebounceOptions } from \"@usefy/use-debounce\";\n\n// useDebounceCallback\nexport {\n useDebounceCallback,\n type UseDebounceCallbackOptions,\n type DebouncedFunction,\n} from \"@usefy/use-debounce-callback\";\n\n// useThrottle\nexport { useThrottle, type UseThrottleOptions } from \"@usefy/use-throttle\";\n\n// useThrottleCallback\nexport {\n useThrottleCallback,\n type UseThrottleCallbackOptions,\n type ThrottledFunction,\n} from \"@usefy/use-throttle-callback\";\n\n// useLocalStorage\nexport {\n useLocalStorage,\n type UseLocalStorageOptions,\n type UseLocalStorageReturn,\n type InitialValue,\n} from \"@usefy/use-local-storage\";\n\n// useSessionStorage\nexport {\n useSessionStorage,\n type UseSessionStorageOptions,\n type UseSessionStorageReturn,\n type InitialValue as SessionStorageInitialValue,\n} from \"@usefy/use-session-storage\";\n\n// useOnClickOutside\nexport {\n useOnClickOutside,\n type UseOnClickOutsideOptions,\n type OnClickOutsideHandler,\n type ClickOutsideEvent,\n type RefTarget,\n type MouseEventType,\n type TouchEventType,\n} from \"@usefy/use-on-click-outside\";\n\n// useEventListener\nexport {\n useEventListener,\n type UseEventListenerOptions,\n type EventTargetType,\n} from \"@usefy/use-event-listener\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,iCAIO;AAGP,mCAKO;AAGP,yBAA2B;AAG3B,wBAAgD;AAGhD,0BAAqD;AAGrD,mCAIO;AAGP,0BAAqD;AAGrD,mCAIO;AAGP,+BAKO;AAGP,iCAKO;AAGP,kCAQO;AAGP,gCAIO;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["// Re-export all hooks from individual packages\n\n// useClickAnyWhere\nexport {\n useClickAnyWhere,\n type UseClickAnyWhereOptions,\n type ClickAnyWhereHandler,\n} from \"@usefy/use-click-any-where\";\n\n// useCopyToClipboard\nexport {\n useCopyToClipboard,\n type UseCopyToClipboardOptions,\n type UseCopyToClipboardReturn,\n type CopyFn,\n} from \"@usefy/use-copy-to-clipboard\";\n\n// useCounter\nexport { useCounter } from \"@usefy/use-counter\";\n\n// useToggle\nexport { useToggle, type UseToggleReturn } from \"@usefy/use-toggle\";\n\n// useDebounce\nexport { useDebounce, type UseDebounceOptions } from \"@usefy/use-debounce\";\n\n// useDebounceCallback\nexport {\n useDebounceCallback,\n type UseDebounceCallbackOptions,\n type DebouncedFunction,\n} from \"@usefy/use-debounce-callback\";\n\n// useThrottle\nexport { useThrottle, type UseThrottleOptions } from \"@usefy/use-throttle\";\n\n// useThrottleCallback\nexport {\n useThrottleCallback,\n type UseThrottleCallbackOptions,\n type ThrottledFunction,\n} from \"@usefy/use-throttle-callback\";\n\n// useLocalStorage\nexport {\n useLocalStorage,\n type UseLocalStorageOptions,\n type UseLocalStorageReturn,\n type InitialValue,\n} from \"@usefy/use-local-storage\";\n\n// useSessionStorage\nexport {\n useSessionStorage,\n type UseSessionStorageOptions,\n type UseSessionStorageReturn,\n type InitialValue as SessionStorageInitialValue,\n} from \"@usefy/use-session-storage\";\n\n// useOnClickOutside\nexport {\n useOnClickOutside,\n type UseOnClickOutsideOptions,\n type OnClickOutsideHandler,\n type ClickOutsideEvent,\n type RefTarget,\n type MouseEventType,\n type TouchEventType,\n} from \"@usefy/use-on-click-outside\";\n\n// useEventListener\nexport {\n useEventListener,\n type UseEventListenerOptions,\n type EventTargetType,\n} from \"@usefy/use-event-listener\";\n\n// useTimer\nexport {\n useTimer,\n type TimeUnit,\n type TimeFormat,\n type UseTimerOptions,\n type UseTimerReturn,\n} from \"@usefy/use-timer\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,iCAIO;AAGP,mCAKO;AAGP,yBAA2B;AAG3B,wBAAgD;AAGhD,0BAAqD;AAGrD,mCAIO;AAGP,0BAAqD;AAGrD,mCAIO;AAGP,+BAKO;AAGP,iCAKO;AAGP,kCAQO;AAGP,gCAIO;AAGP,uBAMO;","names":[]}
|
package/dist/index.mjs
CHANGED
|
@@ -27,6 +27,9 @@ import {
|
|
|
27
27
|
import {
|
|
28
28
|
useEventListener
|
|
29
29
|
} from "@usefy/use-event-listener";
|
|
30
|
+
import {
|
|
31
|
+
useTimer
|
|
32
|
+
} from "@usefy/use-timer";
|
|
30
33
|
export {
|
|
31
34
|
useClickAnyWhere,
|
|
32
35
|
useCopyToClipboard,
|
|
@@ -39,6 +42,7 @@ export {
|
|
|
39
42
|
useSessionStorage,
|
|
40
43
|
useThrottle,
|
|
41
44
|
useThrottleCallback,
|
|
45
|
+
useTimer,
|
|
42
46
|
useToggle
|
|
43
47
|
};
|
|
44
48
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["// Re-export all hooks from individual packages\n\n// useClickAnyWhere\nexport {\n useClickAnyWhere,\n type UseClickAnyWhereOptions,\n type ClickAnyWhereHandler,\n} from \"@usefy/use-click-any-where\";\n\n// useCopyToClipboard\nexport {\n useCopyToClipboard,\n type UseCopyToClipboardOptions,\n type UseCopyToClipboardReturn,\n type CopyFn,\n} from \"@usefy/use-copy-to-clipboard\";\n\n// useCounter\nexport { useCounter } from \"@usefy/use-counter\";\n\n// useToggle\nexport { useToggle, type UseToggleReturn } from \"@usefy/use-toggle\";\n\n// useDebounce\nexport { useDebounce, type UseDebounceOptions } from \"@usefy/use-debounce\";\n\n// useDebounceCallback\nexport {\n useDebounceCallback,\n type UseDebounceCallbackOptions,\n type DebouncedFunction,\n} from \"@usefy/use-debounce-callback\";\n\n// useThrottle\nexport { useThrottle, type UseThrottleOptions } from \"@usefy/use-throttle\";\n\n// useThrottleCallback\nexport {\n useThrottleCallback,\n type UseThrottleCallbackOptions,\n type ThrottledFunction,\n} from \"@usefy/use-throttle-callback\";\n\n// useLocalStorage\nexport {\n useLocalStorage,\n type UseLocalStorageOptions,\n type UseLocalStorageReturn,\n type InitialValue,\n} from \"@usefy/use-local-storage\";\n\n// useSessionStorage\nexport {\n useSessionStorage,\n type UseSessionStorageOptions,\n type UseSessionStorageReturn,\n type InitialValue as SessionStorageInitialValue,\n} from \"@usefy/use-session-storage\";\n\n// useOnClickOutside\nexport {\n useOnClickOutside,\n type UseOnClickOutsideOptions,\n type OnClickOutsideHandler,\n type ClickOutsideEvent,\n type RefTarget,\n type MouseEventType,\n type TouchEventType,\n} from \"@usefy/use-on-click-outside\";\n\n// useEventListener\nexport {\n useEventListener,\n type UseEventListenerOptions,\n type EventTargetType,\n} from \"@usefy/use-event-listener\";\n"],"mappings":";AAGA;AAAA,EACE;AAAA,OAGK;AAGP;AAAA,EACE;AAAA,OAIK;AAGP,SAAS,kBAAkB;AAG3B,SAAS,iBAAuC;AAGhD,SAAS,mBAA4C;AAGrD;AAAA,EACE;AAAA,OAGK;AAGP,SAAS,mBAA4C;AAGrD;AAAA,EACE;AAAA,OAGK;AAGP;AAAA,EACE;AAAA,OAIK;AAGP;AAAA,EACE;AAAA,OAIK;AAGP;AAAA,EACE;AAAA,OAOK;AAGP;AAAA,EACE;AAAA,OAGK;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["// Re-export all hooks from individual packages\n\n// useClickAnyWhere\nexport {\n useClickAnyWhere,\n type UseClickAnyWhereOptions,\n type ClickAnyWhereHandler,\n} from \"@usefy/use-click-any-where\";\n\n// useCopyToClipboard\nexport {\n useCopyToClipboard,\n type UseCopyToClipboardOptions,\n type UseCopyToClipboardReturn,\n type CopyFn,\n} from \"@usefy/use-copy-to-clipboard\";\n\n// useCounter\nexport { useCounter } from \"@usefy/use-counter\";\n\n// useToggle\nexport { useToggle, type UseToggleReturn } from \"@usefy/use-toggle\";\n\n// useDebounce\nexport { useDebounce, type UseDebounceOptions } from \"@usefy/use-debounce\";\n\n// useDebounceCallback\nexport {\n useDebounceCallback,\n type UseDebounceCallbackOptions,\n type DebouncedFunction,\n} from \"@usefy/use-debounce-callback\";\n\n// useThrottle\nexport { useThrottle, type UseThrottleOptions } from \"@usefy/use-throttle\";\n\n// useThrottleCallback\nexport {\n useThrottleCallback,\n type UseThrottleCallbackOptions,\n type ThrottledFunction,\n} from \"@usefy/use-throttle-callback\";\n\n// useLocalStorage\nexport {\n useLocalStorage,\n type UseLocalStorageOptions,\n type UseLocalStorageReturn,\n type InitialValue,\n} from \"@usefy/use-local-storage\";\n\n// useSessionStorage\nexport {\n useSessionStorage,\n type UseSessionStorageOptions,\n type UseSessionStorageReturn,\n type InitialValue as SessionStorageInitialValue,\n} from \"@usefy/use-session-storage\";\n\n// useOnClickOutside\nexport {\n useOnClickOutside,\n type UseOnClickOutsideOptions,\n type OnClickOutsideHandler,\n type ClickOutsideEvent,\n type RefTarget,\n type MouseEventType,\n type TouchEventType,\n} from \"@usefy/use-on-click-outside\";\n\n// useEventListener\nexport {\n useEventListener,\n type UseEventListenerOptions,\n type EventTargetType,\n} from \"@usefy/use-event-listener\";\n\n// useTimer\nexport {\n useTimer,\n type TimeUnit,\n type TimeFormat,\n type UseTimerOptions,\n type UseTimerReturn,\n} from \"@usefy/use-timer\";\n"],"mappings":";AAGA;AAAA,EACE;AAAA,OAGK;AAGP;AAAA,EACE;AAAA,OAIK;AAGP,SAAS,kBAAkB;AAG3B,SAAS,iBAAuC;AAGhD,SAAS,mBAA4C;AAGrD;AAAA,EACE;AAAA,OAGK;AAGP,SAAS,mBAA4C;AAGrD;AAAA,EACE;AAAA,OAGK;AAGP;AAAA,EACE;AAAA,OAIK;AAGP;AAAA,EACE;AAAA,OAIK;AAGP;AAAA,EACE;AAAA,OAOK;AAGP;AAAA,EACE;AAAA,OAGK;AAGP;AAAA,EACE;AAAA,OAKK;","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@usefy/usefy",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.19",
|
|
4
4
|
"description": "A collection of useful React hooks",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -17,18 +17,19 @@
|
|
|
17
17
|
],
|
|
18
18
|
"sideEffects": false,
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@usefy/use-click-any-where": "0.0.
|
|
21
|
-
"@usefy/use-
|
|
22
|
-
"@usefy/use-
|
|
23
|
-
"@usefy/use-
|
|
24
|
-
"@usefy/use-debounce
|
|
25
|
-
"@usefy/use-
|
|
26
|
-
"@usefy/use-throttle": "0.0.
|
|
27
|
-
"@usefy/use-throttle-callback": "0.0.
|
|
28
|
-
"@usefy/use-local-storage": "0.0.
|
|
29
|
-
"@usefy/use-session-storage": "0.0.
|
|
30
|
-
"@usefy/use-on-click-outside": "0.0.
|
|
31
|
-
"@usefy/use-event-listener": "0.0.
|
|
20
|
+
"@usefy/use-click-any-where": "0.0.19",
|
|
21
|
+
"@usefy/use-copy-to-clipboard": "0.0.19",
|
|
22
|
+
"@usefy/use-counter": "0.0.19",
|
|
23
|
+
"@usefy/use-toggle": "0.0.19",
|
|
24
|
+
"@usefy/use-debounce": "0.0.19",
|
|
25
|
+
"@usefy/use-debounce-callback": "0.0.19",
|
|
26
|
+
"@usefy/use-throttle": "0.0.19",
|
|
27
|
+
"@usefy/use-throttle-callback": "0.0.19",
|
|
28
|
+
"@usefy/use-local-storage": "0.0.19",
|
|
29
|
+
"@usefy/use-session-storage": "0.0.19",
|
|
30
|
+
"@usefy/use-on-click-outside": "0.0.19",
|
|
31
|
+
"@usefy/use-event-listener": "0.0.19",
|
|
32
|
+
"@usefy/use-timer": "0.0.19"
|
|
32
33
|
},
|
|
33
34
|
"peerDependencies": {
|
|
34
35
|
"react": "^18.0.0 || ^19.0.0"
|