react-hook-toolkit 0.0.5 → 0.0.7
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 +1 -1
- package/dist/Hooks/hooks.d.ts +194 -0
- package/dist/Hooks/hooks.js +1149 -0
- package/dist/Hooks/hooksComp.d.ts +38 -0
- package/dist/Hooks/hooksComp.js +212 -0
- package/dist/index.d.ts +4 -195
- package/dist/index.js +4 -9
- package/package.json +29 -51
- package/dist/index.js.map +0 -1
- package/dist/index.mjs +0 -9
- package/dist/index.mjs.map +0 -1
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
export declare function useHover<T extends HTMLElement>(): [RefObject<T>, boolean];
|
|
3
|
+
export declare function useOnClickOutside<T extends HTMLElement>(ref: RefObject<T>, handler: (event: MouseEvent | TouchEvent) => void): void;
|
|
4
|
+
interface IntersectionObserverArgs {
|
|
5
|
+
root?: Element | null;
|
|
6
|
+
rootMargin?: string;
|
|
7
|
+
threshold?: number | number[];
|
|
8
|
+
}
|
|
9
|
+
export declare function useIntersectionObserver<T extends HTMLElement>(ref: RefObject<T>, { root, rootMargin, threshold }?: IntersectionObserverArgs): boolean;
|
|
10
|
+
export declare function useHoverIntent<T extends HTMLElement>(): [RefObject<T>, boolean];
|
|
11
|
+
export interface DragDropState {
|
|
12
|
+
isDragging: boolean;
|
|
13
|
+
isOver: boolean;
|
|
14
|
+
draggedItemId: string | null;
|
|
15
|
+
overDropId: string | null;
|
|
16
|
+
}
|
|
17
|
+
export declare const useDragDrop: (onDrop: (dragId: string, dropId: string) => void) => {
|
|
18
|
+
state: DragDropState;
|
|
19
|
+
bindDrag: (dragId: string) => {
|
|
20
|
+
draggable: boolean;
|
|
21
|
+
onDragStart: (e: React.DragEvent) => void;
|
|
22
|
+
};
|
|
23
|
+
bindDrop: (dropId: string) => {
|
|
24
|
+
onDragOver: (e: React.DragEvent) => void;
|
|
25
|
+
onDragEnter: (e: React.DragEvent) => void;
|
|
26
|
+
onDragLeave: (e: React.DragEvent) => void;
|
|
27
|
+
onDrop: (e: React.DragEvent) => void;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
export declare function useFocusTrap(ref: React.RefObject<HTMLElement>): void;
|
|
31
|
+
export declare function useFocus<T extends HTMLElement>(): [React.RefObject<T>, boolean];
|
|
32
|
+
interface WindowSize {
|
|
33
|
+
width: number;
|
|
34
|
+
height: number;
|
|
35
|
+
}
|
|
36
|
+
export declare function useElementSize<T extends HTMLElement = HTMLDivElement>(): [(node: T | null) => void, WindowSize];
|
|
37
|
+
export declare function useLockBodyScroll(lock?: boolean): void;
|
|
38
|
+
export {};
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
import { useState, useEffect, useCallback, useRef, useLayoutEffect } from 'react';
|
|
13
|
+
export function useHover() {
|
|
14
|
+
var _a = useState(false), isHovered = _a[0], setIsHovered = _a[1];
|
|
15
|
+
var ref = useRef(null);
|
|
16
|
+
useEffect(function () {
|
|
17
|
+
var node = ref.current;
|
|
18
|
+
if (!node)
|
|
19
|
+
return;
|
|
20
|
+
var handleMouseOver = function () { return setIsHovered(true); };
|
|
21
|
+
var handleMouseOut = function () { return setIsHovered(false); };
|
|
22
|
+
node.addEventListener('mouseover', handleMouseOver);
|
|
23
|
+
node.addEventListener('mouseout', handleMouseOut);
|
|
24
|
+
return function () {
|
|
25
|
+
node.removeEventListener('mouseover', handleMouseOver);
|
|
26
|
+
node.removeEventListener('mouseout', handleMouseOut);
|
|
27
|
+
};
|
|
28
|
+
}, []);
|
|
29
|
+
return [ref, isHovered];
|
|
30
|
+
}
|
|
31
|
+
export function useOnClickOutside(ref, handler) {
|
|
32
|
+
useEffect(function () {
|
|
33
|
+
var listener = function (event) {
|
|
34
|
+
if (!ref.current || ref.current.contains(event.target))
|
|
35
|
+
return;
|
|
36
|
+
handler(event);
|
|
37
|
+
};
|
|
38
|
+
document.addEventListener('mousedown', listener);
|
|
39
|
+
document.addEventListener('touchstart', listener);
|
|
40
|
+
return function () {
|
|
41
|
+
document.removeEventListener('mousedown', listener);
|
|
42
|
+
document.removeEventListener('touchstart', listener);
|
|
43
|
+
};
|
|
44
|
+
}, [ref, handler]);
|
|
45
|
+
}
|
|
46
|
+
export function useIntersectionObserver(ref, _a) {
|
|
47
|
+
var _b = _a === void 0 ? {} : _a, _c = _b.root, root = _c === void 0 ? null : _c, _d = _b.rootMargin, rootMargin = _d === void 0 ? '0px' : _d, _e = _b.threshold, threshold = _e === void 0 ? 0 : _e;
|
|
48
|
+
var _f = useState(false), isIntersecting = _f[0], setIsIntersecting = _f[1];
|
|
49
|
+
useEffect(function () {
|
|
50
|
+
var observer = new IntersectionObserver(function (_a) {
|
|
51
|
+
var entry = _a[0];
|
|
52
|
+
return setIsIntersecting(entry.isIntersecting);
|
|
53
|
+
}, {
|
|
54
|
+
root: root,
|
|
55
|
+
rootMargin: rootMargin,
|
|
56
|
+
threshold: threshold,
|
|
57
|
+
});
|
|
58
|
+
var current = ref.current;
|
|
59
|
+
if (current)
|
|
60
|
+
observer.observe(current);
|
|
61
|
+
return function () {
|
|
62
|
+
if (current)
|
|
63
|
+
observer.unobserve(current);
|
|
64
|
+
};
|
|
65
|
+
}, [ref, root, rootMargin, threshold]);
|
|
66
|
+
return isIntersecting;
|
|
67
|
+
}
|
|
68
|
+
export function useHoverIntent() {
|
|
69
|
+
var _a = useState(false), isHovering = _a[0], setIsHovering = _a[1];
|
|
70
|
+
var ref = useRef(null);
|
|
71
|
+
useEffect(function () {
|
|
72
|
+
var node = ref.current;
|
|
73
|
+
if (!node)
|
|
74
|
+
return;
|
|
75
|
+
var timeout;
|
|
76
|
+
var handleMouseEnter = function () {
|
|
77
|
+
timeout = setTimeout(function () { return setIsHovering(true); }, 100);
|
|
78
|
+
};
|
|
79
|
+
var handleMouseLeave = function () {
|
|
80
|
+
clearTimeout(timeout);
|
|
81
|
+
setIsHovering(false);
|
|
82
|
+
};
|
|
83
|
+
node.addEventListener('mouseenter', handleMouseEnter);
|
|
84
|
+
node.addEventListener('mouseleave', handleMouseLeave);
|
|
85
|
+
return function () {
|
|
86
|
+
node.removeEventListener('mouseenter', handleMouseEnter);
|
|
87
|
+
node.removeEventListener('mouseleave', handleMouseLeave);
|
|
88
|
+
};
|
|
89
|
+
}, []);
|
|
90
|
+
return [ref, isHovering];
|
|
91
|
+
}
|
|
92
|
+
export var useDragDrop = function (onDrop) {
|
|
93
|
+
var _a = useState({
|
|
94
|
+
isDragging: false,
|
|
95
|
+
isOver: false,
|
|
96
|
+
draggedItemId: null,
|
|
97
|
+
overDropId: null,
|
|
98
|
+
}), state = _a[0], setState = _a[1];
|
|
99
|
+
var handleDragStart = useCallback(function (e, dragId) {
|
|
100
|
+
e.dataTransfer.setData('text/plain', dragId);
|
|
101
|
+
e.dataTransfer.effectAllowed = 'move';
|
|
102
|
+
setState({ isDragging: true, isOver: false, draggedItemId: dragId, overDropId: null });
|
|
103
|
+
}, []);
|
|
104
|
+
var handleDragOver = useCallback(function (e, dropId) {
|
|
105
|
+
e.preventDefault();
|
|
106
|
+
if (state.overDropId !== dropId) {
|
|
107
|
+
setState(function (s) { return (__assign(__assign({}, s), { isOver: true, overDropId: dropId })); });
|
|
108
|
+
}
|
|
109
|
+
}, [state.overDropId]);
|
|
110
|
+
var handleDragEnter = useCallback(function (e, dropId) {
|
|
111
|
+
e.preventDefault();
|
|
112
|
+
setState(function (s) { return (__assign(__assign({}, s), { isOver: true, overDropId: dropId })); });
|
|
113
|
+
}, []);
|
|
114
|
+
var handleDragLeave = useCallback(function (e, dropId) {
|
|
115
|
+
e.preventDefault();
|
|
116
|
+
if (state.overDropId === dropId) {
|
|
117
|
+
setState(function (s) { return (__assign(__assign({}, s), { isOver: false, overDropId: null })); });
|
|
118
|
+
}
|
|
119
|
+
}, [state.overDropId]);
|
|
120
|
+
var handleDrop = useCallback(function (e, dropId) {
|
|
121
|
+
e.preventDefault();
|
|
122
|
+
var dragId = e.dataTransfer.getData('text/plain');
|
|
123
|
+
setState({ isDragging: false, isOver: false, draggedItemId: dragId, overDropId: dropId });
|
|
124
|
+
onDrop(dragId, dropId);
|
|
125
|
+
}, [onDrop]);
|
|
126
|
+
return {
|
|
127
|
+
state: state,
|
|
128
|
+
bindDrag: function (dragId) { return ({
|
|
129
|
+
draggable: true,
|
|
130
|
+
onDragStart: function (e) { return handleDragStart(e, dragId); },
|
|
131
|
+
}); },
|
|
132
|
+
bindDrop: function (dropId) { return ({
|
|
133
|
+
onDragOver: function (e) { return handleDragOver(e, dropId); },
|
|
134
|
+
onDragEnter: function (e) { return handleDragEnter(e, dropId); },
|
|
135
|
+
onDragLeave: function (e) { return handleDragLeave(e, dropId); },
|
|
136
|
+
onDrop: function (e) { return handleDrop(e, dropId); },
|
|
137
|
+
}); },
|
|
138
|
+
};
|
|
139
|
+
};
|
|
140
|
+
export function useFocusTrap(ref) {
|
|
141
|
+
useEffect(function () {
|
|
142
|
+
var handleFocus = function (event) {
|
|
143
|
+
var _a, _b, _c;
|
|
144
|
+
if (!((_a = ref.current) === null || _a === void 0 ? void 0 : _a.contains(event.target))) {
|
|
145
|
+
var focusableElements = (_b = ref.current) === null || _b === void 0 ? void 0 : _b.querySelectorAll('a, button, input, textarea, select, [tabindex]:not([tabindex="-1"])');
|
|
146
|
+
(_c = focusableElements === null || focusableElements === void 0 ? void 0 : focusableElements[0]) === null || _c === void 0 ? void 0 : _c.focus();
|
|
147
|
+
event.preventDefault();
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
document.addEventListener('focusin', handleFocus);
|
|
151
|
+
return function () {
|
|
152
|
+
document.removeEventListener('focusin', handleFocus);
|
|
153
|
+
};
|
|
154
|
+
}, [ref]);
|
|
155
|
+
}
|
|
156
|
+
export function useFocus() {
|
|
157
|
+
var _a = useState(false), isFocused = _a[0], setIsFocused = _a[1];
|
|
158
|
+
var ref = useRef(null);
|
|
159
|
+
useEffect(function () {
|
|
160
|
+
var element = ref.current;
|
|
161
|
+
if (!element)
|
|
162
|
+
return;
|
|
163
|
+
var handleFocus = function () { return setIsFocused(true); };
|
|
164
|
+
var handleBlur = function () { return setIsFocused(false); };
|
|
165
|
+
element.addEventListener('focus', handleFocus);
|
|
166
|
+
element.addEventListener('blur', handleBlur);
|
|
167
|
+
return function () {
|
|
168
|
+
element.removeEventListener('focus', handleFocus);
|
|
169
|
+
element.removeEventListener('blur', handleBlur);
|
|
170
|
+
};
|
|
171
|
+
}, []);
|
|
172
|
+
return [ref, isFocused];
|
|
173
|
+
}
|
|
174
|
+
export function useElementSize() {
|
|
175
|
+
var _a = useState(null), ref = _a[0], setRef = _a[1];
|
|
176
|
+
var _b = useState({ width: 0, height: 0 }), size = _b[0], setSize = _b[1];
|
|
177
|
+
var handleSize = useCallback(function () {
|
|
178
|
+
if (ref) {
|
|
179
|
+
setSize({
|
|
180
|
+
width: ref.offsetWidth,
|
|
181
|
+
height: ref.offsetHeight,
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
}, [ref]);
|
|
185
|
+
var useEnviromentEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;
|
|
186
|
+
useEnviromentEffect(function () {
|
|
187
|
+
if (!ref)
|
|
188
|
+
return;
|
|
189
|
+
handleSize();
|
|
190
|
+
var resizeObserver = new ResizeObserver(handleSize);
|
|
191
|
+
resizeObserver.observe(ref);
|
|
192
|
+
return function () { return resizeObserver.disconnect(); };
|
|
193
|
+
}, [ref, handleSize]);
|
|
194
|
+
return [setRef, size];
|
|
195
|
+
}
|
|
196
|
+
export function useLockBodyScroll(lock) {
|
|
197
|
+
if (lock === void 0) { lock = true; }
|
|
198
|
+
useLayoutEffect(function () {
|
|
199
|
+
if (typeof document === 'undefined') {
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
var originalStyle = window.getComputedStyle(document.body).overflow;
|
|
203
|
+
if (lock) {
|
|
204
|
+
document.body.style.overflow = 'hidden';
|
|
205
|
+
}
|
|
206
|
+
return function () {
|
|
207
|
+
if (lock) {
|
|
208
|
+
document.body.style.overflow = originalStyle;
|
|
209
|
+
}
|
|
210
|
+
};
|
|
211
|
+
}, [lock]);
|
|
212
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,195 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
interface UseAxiosResponse<T> {
|
|
6
|
-
data: T | null;
|
|
7
|
-
loading: boolean;
|
|
8
|
-
error: string | null;
|
|
9
|
-
makeRequest: (url: string, method?: string, requestData?: any) => void;
|
|
10
|
-
cancelRequest: () => void;
|
|
11
|
-
}
|
|
12
|
-
interface UseAxiosConfig extends AxiosRequestConfig {
|
|
13
|
-
baseURL?: string;
|
|
14
|
-
headers?: {
|
|
15
|
-
[key: string]: string;
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
declare const useAxios: <T>(config?: UseAxiosConfig) => UseAxiosResponse<T>;
|
|
19
|
-
declare const useAdvReducer: <State, Action extends {
|
|
20
|
-
type: string;
|
|
21
|
-
}>(initialState: State, actions: Record<string, (state: State, action: Action) => State>) => (state: State | undefined, action: Action) => State;
|
|
22
|
-
interface FetchState<T> {
|
|
23
|
-
data: T | null;
|
|
24
|
-
loading: boolean;
|
|
25
|
-
error: string | null;
|
|
26
|
-
}
|
|
27
|
-
declare function useFetch<T>(url: string): FetchState<T>;
|
|
28
|
-
declare function useLocalStorage<T>(key: string, initialValue: T): [T, (value: T) => void];
|
|
29
|
-
declare function useToggle(initialValue?: boolean): [boolean, () => void];
|
|
30
|
-
declare function useDebounce<T>(value: T, delay: number): T;
|
|
31
|
-
declare function useThrottle<T>(value: T, limit: number): T;
|
|
32
|
-
declare function usePrevious<T>(value: T): T | undefined;
|
|
33
|
-
declare function useMediaQuery(query: string): boolean;
|
|
34
|
-
declare function useClipboard(): [boolean, (text: string) => Promise<void>];
|
|
35
|
-
declare function useInterval(callback: () => void, delay: number | null): void;
|
|
36
|
-
interface WindowSize {
|
|
37
|
-
width: number;
|
|
38
|
-
height: number;
|
|
39
|
-
}
|
|
40
|
-
declare function useWindowSize(): WindowSize;
|
|
41
|
-
declare function useKeyPress(targetKey: string): boolean;
|
|
42
|
-
declare function useOnlineStatus(): boolean;
|
|
43
|
-
interface ScrollPosition {
|
|
44
|
-
x: number;
|
|
45
|
-
y: number;
|
|
46
|
-
}
|
|
47
|
-
declare function useScrollPosition(): ScrollPosition;
|
|
48
|
-
declare function useTimeout(callback: () => void, delay: number | null): void;
|
|
49
|
-
declare function useDarkMode(): [boolean, () => void];
|
|
50
|
-
declare function useForm<T extends Record<string, any>>(initialValues: T): {
|
|
51
|
-
values: T;
|
|
52
|
-
errors: Partial<Record<keyof T, string>>;
|
|
53
|
-
handleChange: (name: keyof T, value: any) => void;
|
|
54
|
-
validate: (validators: Partial<Record<keyof T, (value: any) => string | null>>) => boolean;
|
|
55
|
-
};
|
|
56
|
-
declare function useArray<T>(initialArray: T[]): {
|
|
57
|
-
array: T[];
|
|
58
|
-
set: react.Dispatch<react.SetStateAction<T[]>>;
|
|
59
|
-
push: (item: T) => void;
|
|
60
|
-
removeByIndex: (index: number) => void;
|
|
61
|
-
clear: () => void;
|
|
62
|
-
};
|
|
63
|
-
declare function useStep<T>(steps: T[]): {
|
|
64
|
-
currentStep: T;
|
|
65
|
-
currentStepIndex: number;
|
|
66
|
-
next: () => void;
|
|
67
|
-
previous: () => void;
|
|
68
|
-
reset: () => void;
|
|
69
|
-
isFirstStep: boolean;
|
|
70
|
-
isLastStep: boolean;
|
|
71
|
-
};
|
|
72
|
-
declare function useTimeoutFn(callback: () => void, delay: number | null): {
|
|
73
|
-
reset: () => void;
|
|
74
|
-
clear: () => void;
|
|
75
|
-
};
|
|
76
|
-
declare function useDebouncedCallback(callback: () => void, delay: number): () => void;
|
|
77
|
-
declare function useScrollLock(lock: boolean): void;
|
|
78
|
-
declare function useResizeObserver<T extends HTMLElement>(ref: RefObject<T>): WindowSize | null;
|
|
79
|
-
interface MousePosition {
|
|
80
|
-
x: number;
|
|
81
|
-
y: number;
|
|
82
|
-
}
|
|
83
|
-
declare function useMousePosition(): MousePosition;
|
|
84
|
-
type ScrollDirection = 'up' | 'down';
|
|
85
|
-
declare function useScrollDirection(): ScrollDirection;
|
|
86
|
-
declare function useImageLoader(src: string): {
|
|
87
|
-
loaded: boolean;
|
|
88
|
-
error: boolean;
|
|
89
|
-
};
|
|
90
|
-
declare function usePersistedState<T>(key: string, initialValue: T): [T, React.Dispatch<React.SetStateAction<T>>];
|
|
91
|
-
declare function useReducedMotion(): boolean;
|
|
92
|
-
declare function useCookie(key: string): [string | null, (value: string, options?: any) => void, () => void];
|
|
93
|
-
declare function useFetchRetry<T>(url: string, options: RequestInit, retries?: number): {
|
|
94
|
-
data: T | null;
|
|
95
|
-
error: string | null;
|
|
96
|
-
loading: boolean;
|
|
97
|
-
};
|
|
98
|
-
declare function useDelay<T>(value: T, delay: number): T;
|
|
99
|
-
declare function useVisibilityChange(): boolean;
|
|
100
|
-
declare function useDebouncedValue<T>(value: T, delay: number): T;
|
|
101
|
-
type Status = 'idle' | 'pending' | 'success' | 'error';
|
|
102
|
-
type AsyncFunction<T> = () => Promise<T>;
|
|
103
|
-
interface UseAsyncReturn<T> {
|
|
104
|
-
execute: () => void;
|
|
105
|
-
status: Status;
|
|
106
|
-
value: T | null;
|
|
107
|
-
error: Error | null;
|
|
108
|
-
}
|
|
109
|
-
declare function useAsync<T>(asyncFunction: AsyncFunction<T>, immediate?: boolean): UseAsyncReturn<T>;
|
|
110
|
-
type ScriptStatus = 'loading' | 'ready' | 'error' | 'unknown';
|
|
111
|
-
declare function useScript(src: string, removeOnUnmount?: boolean): ScriptStatus;
|
|
112
|
-
declare function useIndexedDB<T>(dbName: string, storeName: string): {
|
|
113
|
-
data: T | null;
|
|
114
|
-
error: Error | null;
|
|
115
|
-
};
|
|
116
|
-
declare function useGeoLocation(): {
|
|
117
|
-
position: GeolocationPosition | null;
|
|
118
|
-
error: Error | null;
|
|
119
|
-
};
|
|
120
|
-
declare function useTimer(initialTime: number): {
|
|
121
|
-
time: number;
|
|
122
|
-
error: Error | null;
|
|
123
|
-
};
|
|
124
|
-
declare function useIsMounted(): boolean;
|
|
125
|
-
declare function useCss(css: string): {
|
|
126
|
-
error: Error | null;
|
|
127
|
-
};
|
|
128
|
-
declare function useSpeak(text: string): {
|
|
129
|
-
speak: () => void;
|
|
130
|
-
error: Error | null;
|
|
131
|
-
};
|
|
132
|
-
declare function useCountUp(target: number, duration: number): {
|
|
133
|
-
count: number;
|
|
134
|
-
error: Error | null;
|
|
135
|
-
};
|
|
136
|
-
declare function useCountDown(start: number): {
|
|
137
|
-
count: number;
|
|
138
|
-
error: Error | null;
|
|
139
|
-
};
|
|
140
|
-
interface BatteryState {
|
|
141
|
-
supported: boolean;
|
|
142
|
-
loading: boolean;
|
|
143
|
-
level: number | null;
|
|
144
|
-
charging: boolean | null;
|
|
145
|
-
chargingTime: number | null;
|
|
146
|
-
dischargingTime: number | null;
|
|
147
|
-
}
|
|
148
|
-
declare const useBattery: () => BatteryState;
|
|
149
|
-
declare const useEventListener: (eventName: string, handler: (event: Event) => void, elementRef?: React.RefObject<HTMLElement>, options?: boolean | AddEventListenerOptions) => void;
|
|
150
|
-
interface HistoryState {
|
|
151
|
-
[key: string]: any;
|
|
152
|
-
}
|
|
153
|
-
interface UseHistory {
|
|
154
|
-
history: History;
|
|
155
|
-
state: HistoryState | null;
|
|
156
|
-
push: (path: string, state?: HistoryState) => void;
|
|
157
|
-
replace: (path: string, state?: HistoryState) => void;
|
|
158
|
-
goBack: () => void;
|
|
159
|
-
goForward: () => void;
|
|
160
|
-
}
|
|
161
|
-
declare const useHistory: () => UseHistory;
|
|
162
|
-
interface UsePreferredLanguage {
|
|
163
|
-
language: string;
|
|
164
|
-
languages: Array<string>;
|
|
165
|
-
isSupported: boolean;
|
|
166
|
-
}
|
|
167
|
-
declare const usePreferredLanguage: () => UsePreferredLanguage;
|
|
168
|
-
interface UseSessionStorage<T> {
|
|
169
|
-
(key: string, initialValue: T): [T, (value: T) => void];
|
|
170
|
-
}
|
|
171
|
-
declare const useSessionStorage: UseSessionStorage<any>;
|
|
172
|
-
interface UseSound {
|
|
173
|
-
play: () => void;
|
|
174
|
-
pause: () => void;
|
|
175
|
-
stop: () => void;
|
|
176
|
-
setVolume: (volume: number) => void;
|
|
177
|
-
isPlaying: boolean;
|
|
178
|
-
error: Error | null;
|
|
179
|
-
}
|
|
180
|
-
declare const useSound: (url: string) => UseSound;
|
|
181
|
-
interface TouchPosition {
|
|
182
|
-
x: number | null;
|
|
183
|
-
y: number | null;
|
|
184
|
-
}
|
|
185
|
-
interface UseTouch {
|
|
186
|
-
(elementRef: React.RefObject<HTMLElement>): {
|
|
187
|
-
touchStart: TouchPosition;
|
|
188
|
-
touchMove: TouchPosition;
|
|
189
|
-
touchEnd: TouchPosition;
|
|
190
|
-
};
|
|
191
|
-
}
|
|
192
|
-
declare const useTouch: UseTouch;
|
|
193
|
-
declare const useUpdateEffect: (effect: React.EffectCallback, deps: React.DependencyList) => void;
|
|
194
|
-
|
|
195
|
-
export { type AsyncFunction, type ScriptStatus, type Status, type UseAsyncReturn, useAdvReducer, useArray, useAsync, useAxios, useBattery, useClipboard, useCookie, useCountDown, useCountUp, useCss, useDarkMode, useDebounce, useDebouncedCallback, useDebouncedValue, useDelay, useEventListener, useFetch, useFetchRetry, useForm, useGeoLocation, useHistory, useImageLoader, useIndexedDB, useInterval, useIsMounted, useKeyPress, useLocalStorage, useMediaQuery, useMousePosition, useOnlineStatus, usePersistedState, usePreferredLanguage, usePrevious, useReducedMotion, useResizeObserver, useScript, useScrollDirection, useScrollLock, useScrollPosition, useSessionStorage, useSound, useSpeak, useStep, useThrottle, useTimeout, useTimeoutFn, useTimer, useToggle, useTouch, useUpdateEffect, useVisibilityChange, useWindowSize };
|
|
1
|
+
export * from './Hooks/hooks';
|
|
2
|
+
import { useAxios, useAdvReducer, useFetch, useLocalStorage, useToggle, useDebounce, useThrottle, usePrevious, useMediaQuery, useClipboard, useInterval, useWindowSize, useKeyPress, useOnlineStatus, useScrollPosition, useTimeout, useDarkMode, useForm, useArray, useStepper, useUpdateEffect, useTouch, useSound, useSessionStorage, usePreferredLanguage, useHistory, useEventListener, useBattery, useDebouncedCallback, useScrollLock, useResizeObserver, useMousePosition, useScrollDirection, useImageLoader, usePersistedState, useReducedMotion, useCookie, useFetchRetry, useDelay, useVisibilityChange, useDebouncedValue, useAsync, useScript, useIndexedDB, useGeoLocation, useTimer, useIsMounted, useCss, useSpeak, useCountUp, useCountDown } from './Hooks/hooks';
|
|
3
|
+
import { useHover, useOnClickOutside, useIntersectionObserver, useHoverIntent, useDragDrop, useFocusTrap, useFocus, useElementSize, useLockBodyScroll } from './Hooks/hooksComp';
|
|
4
|
+
export { useAxios, useAdvReducer, useHover, useFetch, useLocalStorage, useToggle, useDebounce, useThrottle, usePrevious, useOnClickOutside, useMediaQuery, useClipboard, useInterval, useWindowSize, useKeyPress, useIntersectionObserver, useOnlineStatus, useScrollPosition, useTimeout, useDarkMode, useForm, useArray, useStepper, useUpdateEffect, useTouch, useSound, useSessionStorage, usePreferredLanguage, useHistory, useEventListener, useBattery, useDebouncedCallback, useHoverIntent, useScrollLock, useDragDrop, useResizeObserver, useMousePosition, useScrollDirection, useImageLoader, usePersistedState, useFocusTrap, useReducedMotion, useCookie, useFetchRetry, useFocus, useDelay, useVisibilityChange, useDebouncedValue, useAsync, useElementSize, useLockBodyScroll, useScript, useIndexedDB, useGeoLocation, useTimer, useIsMounted, useCss, useSpeak, useCountUp, useCountDown, };
|