@w3ux/hooks 2.2.2 → 2.3.0
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/index.cjs +1713 -0
- package/index.d.cts +41 -0
- package/index.d.ts +41 -0
- package/index.js +1693 -0
- package/package.json +7 -7
- package/cjs/index.d.ts +0 -6
- package/cjs/index.js +0 -26
- package/cjs/index.js.map +0 -1
- package/cjs/useEffectIgnoreInitial.d.ts +0 -1
- package/cjs/useEffectIgnoreInitial.js +0 -20
- package/cjs/useEffectIgnoreInitial.js.map +0 -1
- package/cjs/useOnResize.d.ts +0 -7
- package/cjs/useOnResize.js +0 -28
- package/cjs/useOnResize.js.map +0 -1
- package/cjs/useOutsideAlerter.d.ts +0 -2
- package/cjs/useOutsideAlerter.js +0 -29
- package/cjs/useOutsideAlerter.js.map +0 -1
- package/cjs/useSafeContext.d.ts +0 -3
- package/cjs/useSafeContext.js +0 -21
- package/cjs/useSafeContext.js.map +0 -1
- package/cjs/useSize.d.ts +0 -10
- package/cjs/useSize.js +0 -35
- package/cjs/useSize.js.map +0 -1
- package/cjs/useTimeLeft/defaults.d.ts +0 -3
- package/cjs/useTimeLeft/defaults.js +0 -15
- package/cjs/useTimeLeft/defaults.js.map +0 -1
- package/cjs/useTimeLeft/index.d.ts +0 -5
- package/cjs/useTimeLeft/index.js +0 -87
- package/cjs/useTimeLeft/index.js.map +0 -1
- package/cjs/util.d.ts +0 -4
- package/cjs/util.js +0 -69
- package/cjs/util.js.map +0 -1
- package/mjs/index.d.ts +0 -6
- package/mjs/index.js +0 -10
- package/mjs/index.js.map +0 -1
- package/mjs/useEffectIgnoreInitial.d.ts +0 -1
- package/mjs/useEffectIgnoreInitial.js +0 -16
- package/mjs/useEffectIgnoreInitial.js.map +0 -1
- package/mjs/useOnResize.d.ts +0 -7
- package/mjs/useOnResize.js +0 -24
- package/mjs/useOnResize.js.map +0 -1
- package/mjs/useOutsideAlerter.d.ts +0 -2
- package/mjs/useOutsideAlerter.js +0 -25
- package/mjs/useOutsideAlerter.js.map +0 -1
- package/mjs/useSafeContext.d.ts +0 -3
- package/mjs/useSafeContext.js +0 -16
- package/mjs/useSafeContext.js.map +0 -1
- package/mjs/useSize.d.ts +0 -10
- package/mjs/useSize.js +0 -31
- package/mjs/useSize.js.map +0 -1
- package/mjs/useTimeLeft/defaults.d.ts +0 -3
- package/mjs/useTimeLeft/defaults.js +0 -12
- package/mjs/useTimeLeft/defaults.js.map +0 -1
- package/mjs/useTimeLeft/index.d.ts +0 -5
- package/mjs/useTimeLeft/index.js +0 -83
- package/mjs/useTimeLeft/index.js.map +0 -1
- package/mjs/util.d.ts +0 -4
- package/mjs/util.js +0 -63
- package/mjs/util.js.map +0 -1
package/index.d.cts
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { RefObject, Context } from 'react';
|
|
2
|
+
import { UseTimeleftProps, TimeLeftAll } from '@w3ux/types';
|
|
3
|
+
|
|
4
|
+
declare const useEffectIgnoreInitial: <T, U>(fn: T, deps: U[]) => void;
|
|
5
|
+
|
|
6
|
+
interface UseOnResizeOptions {
|
|
7
|
+
outerElement?: RefObject<HTMLElement | null>;
|
|
8
|
+
throttle?: number;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Custom hook that triggers a callback function when the specified element
|
|
12
|
+
* or the window is resized.
|
|
13
|
+
*
|
|
14
|
+
* @param callback - The function to be executed on resize.
|
|
15
|
+
* @param options - Optional parameters to customize the behavior:
|
|
16
|
+
* - outerElement: A ref to an HTMLElement to listen for resize events.
|
|
17
|
+
* - throttle: Optional duration in milliseconds to throttle the callback execution.
|
|
18
|
+
* Default is 100 milliseconds.
|
|
19
|
+
*/
|
|
20
|
+
declare const useOnResize: (callback: () => void, options?: UseOnResizeOptions) => void;
|
|
21
|
+
|
|
22
|
+
declare const useOutsideAlerter: (ref: RefObject<HTMLElement | null>, callback: () => void, ignore?: string[]) => void;
|
|
23
|
+
|
|
24
|
+
declare const useSafeContext: <T>(ctx: T | null | undefined) => T;
|
|
25
|
+
declare const createSafeContext: <T>() => [Context<T | null>, () => T];
|
|
26
|
+
|
|
27
|
+
interface UseSizeOptions {
|
|
28
|
+
outerElement?: RefObject<HTMLElement | null>;
|
|
29
|
+
throttle?: number;
|
|
30
|
+
}
|
|
31
|
+
declare const useSize: (element: RefObject<HTMLElement | null>, options?: UseSizeOptions) => {
|
|
32
|
+
width: number;
|
|
33
|
+
height: number;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
declare const useTimeLeft: (props?: UseTimeleftProps) => {
|
|
37
|
+
setFromNow: (dateFrom: Date, dateTo: Date) => void;
|
|
38
|
+
timeleft: TimeLeftAll;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
export { createSafeContext, useEffectIgnoreInitial, useOnResize, useOutsideAlerter, useSafeContext, useSize, useTimeLeft };
|
package/index.d.ts
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { RefObject, Context } from 'react';
|
|
2
|
+
import { UseTimeleftProps, TimeLeftAll } from '@w3ux/types';
|
|
3
|
+
|
|
4
|
+
declare const useEffectIgnoreInitial: <T, U>(fn: T, deps: U[]) => void;
|
|
5
|
+
|
|
6
|
+
interface UseOnResizeOptions {
|
|
7
|
+
outerElement?: RefObject<HTMLElement | null>;
|
|
8
|
+
throttle?: number;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Custom hook that triggers a callback function when the specified element
|
|
12
|
+
* or the window is resized.
|
|
13
|
+
*
|
|
14
|
+
* @param callback - The function to be executed on resize.
|
|
15
|
+
* @param options - Optional parameters to customize the behavior:
|
|
16
|
+
* - outerElement: A ref to an HTMLElement to listen for resize events.
|
|
17
|
+
* - throttle: Optional duration in milliseconds to throttle the callback execution.
|
|
18
|
+
* Default is 100 milliseconds.
|
|
19
|
+
*/
|
|
20
|
+
declare const useOnResize: (callback: () => void, options?: UseOnResizeOptions) => void;
|
|
21
|
+
|
|
22
|
+
declare const useOutsideAlerter: (ref: RefObject<HTMLElement | null>, callback: () => void, ignore?: string[]) => void;
|
|
23
|
+
|
|
24
|
+
declare const useSafeContext: <T>(ctx: T | null | undefined) => T;
|
|
25
|
+
declare const createSafeContext: <T>() => [Context<T | null>, () => T];
|
|
26
|
+
|
|
27
|
+
interface UseSizeOptions {
|
|
28
|
+
outerElement?: RefObject<HTMLElement | null>;
|
|
29
|
+
throttle?: number;
|
|
30
|
+
}
|
|
31
|
+
declare const useSize: (element: RefObject<HTMLElement | null>, options?: UseSizeOptions) => {
|
|
32
|
+
width: number;
|
|
33
|
+
height: number;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
declare const useTimeLeft: (props?: UseTimeleftProps) => {
|
|
37
|
+
setFromNow: (dateFrom: Date, dateTo: Date) => void;
|
|
38
|
+
timeleft: TimeLeftAll;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
export { createSafeContext, useEffectIgnoreInitial, useOnResize, useOutsideAlerter, useSafeContext, useSize, useTimeLeft };
|