@reactuses/core 4.0.6 → 4.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/dist/index.cjs +203 -96
- package/dist/index.d.ts +13 -2
- package/dist/index.mjs +202 -97
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -81,7 +81,7 @@ function useEvent(fn) {
|
|
|
81
81
|
}, []);
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
-
const defaultOptions = {};
|
|
84
|
+
const defaultOptions$1 = {};
|
|
85
85
|
const defaultOnError = (e) => {
|
|
86
86
|
console.error(e);
|
|
87
87
|
};
|
|
@@ -120,7 +120,7 @@ const StorageSerializers = {
|
|
|
120
120
|
write: (v) => v.toISOString()
|
|
121
121
|
}
|
|
122
122
|
};
|
|
123
|
-
const getInitialState$
|
|
123
|
+
const getInitialState$4 = (key, defaultValue, storage, serializer, onError) => {
|
|
124
124
|
if (defaultValue !== void 0) {
|
|
125
125
|
return defaultValue;
|
|
126
126
|
}
|
|
@@ -141,7 +141,7 @@ const getInitialState$3 = (key, defaultValue, storage, serializer, onError) => {
|
|
|
141
141
|
}
|
|
142
142
|
return null;
|
|
143
143
|
};
|
|
144
|
-
function useStorage(key, defaultValue, getStorage = () => isBrowser ? sessionStorage : void 0, options = defaultOptions) {
|
|
144
|
+
function useStorage(key, defaultValue, getStorage = () => isBrowser ? sessionStorage : void 0, options = defaultOptions$1) {
|
|
145
145
|
let storage;
|
|
146
146
|
const { onError = defaultOnError, csrData } = options;
|
|
147
147
|
try {
|
|
@@ -155,7 +155,7 @@ function useStorage(key, defaultValue, getStorage = () => isBrowser ? sessionSto
|
|
|
155
155
|
return (_a = options.serializer) != null ? _a : StorageSerializers[type];
|
|
156
156
|
}, [options.serializer, type]);
|
|
157
157
|
const [state, setState] = React.useState(
|
|
158
|
-
getInitialState$
|
|
158
|
+
getInitialState$4(key, defaultValue, storage, serializer, onError)
|
|
159
159
|
);
|
|
160
160
|
React.useEffect(() => {
|
|
161
161
|
const data = csrData ? isFunction$1(csrData) ? csrData() : csrData : defaultValue;
|
|
@@ -192,7 +192,7 @@ function useStorage(key, defaultValue, getStorage = () => isBrowser ? sessionSto
|
|
|
192
192
|
return [state, updateState];
|
|
193
193
|
}
|
|
194
194
|
|
|
195
|
-
function useLocalStorage(key, defaultValue, options = defaultOptions) {
|
|
195
|
+
function useLocalStorage(key, defaultValue, options = defaultOptions$1) {
|
|
196
196
|
return useStorage(
|
|
197
197
|
key,
|
|
198
198
|
defaultValue,
|
|
@@ -201,7 +201,7 @@ function useLocalStorage(key, defaultValue, options = defaultOptions) {
|
|
|
201
201
|
);
|
|
202
202
|
}
|
|
203
203
|
|
|
204
|
-
function useSessionStorage(key, defaultValue, options = defaultOptions) {
|
|
204
|
+
function useSessionStorage(key, defaultValue, options = defaultOptions$1) {
|
|
205
205
|
return useStorage(
|
|
206
206
|
key,
|
|
207
207
|
defaultValue,
|
|
@@ -215,7 +215,7 @@ function useToggle(initialValue) {
|
|
|
215
215
|
return React.useReducer(toggleReducer, initialValue);
|
|
216
216
|
}
|
|
217
217
|
|
|
218
|
-
function useInterval(callback, delay, options = defaultOptions) {
|
|
218
|
+
function useInterval(callback, delay, options = defaultOptions$1) {
|
|
219
219
|
const immediate = options.immediate;
|
|
220
220
|
const savedCallback = useLatest(callback);
|
|
221
221
|
React.useEffect(() => {
|
|
@@ -279,7 +279,7 @@ function useDarkMode(options) {
|
|
|
279
279
|
return [dark, () => setDark((dark2) => !dark2), setDark];
|
|
280
280
|
}
|
|
281
281
|
|
|
282
|
-
const getInitialState$
|
|
282
|
+
const getInitialState$3 = (query, defaultState) => {
|
|
283
283
|
if (defaultState !== void 0) {
|
|
284
284
|
return defaultState;
|
|
285
285
|
}
|
|
@@ -294,7 +294,7 @@ const getInitialState$2 = (query, defaultState) => {
|
|
|
294
294
|
return false;
|
|
295
295
|
};
|
|
296
296
|
function useMediaQuery(query, defaultState) {
|
|
297
|
-
const [state, setState] = React.useState(getInitialState$
|
|
297
|
+
const [state, setState] = React.useState(getInitialState$3(query, defaultState));
|
|
298
298
|
React.useEffect(() => {
|
|
299
299
|
var _a;
|
|
300
300
|
let mounted = true;
|
|
@@ -785,7 +785,7 @@ function baseIsNative(value) {
|
|
|
785
785
|
* @param {string} key The key of the property to get.
|
|
786
786
|
* @returns {*} Returns the property value.
|
|
787
787
|
*/
|
|
788
|
-
function getValue(object, key) {
|
|
788
|
+
function getValue$1(object, key) {
|
|
789
789
|
return object == null ? undefined : object[key];
|
|
790
790
|
}
|
|
791
791
|
|
|
@@ -798,7 +798,7 @@ function getValue(object, key) {
|
|
|
798
798
|
* @returns {*} Returns the function if it's native, else `undefined`.
|
|
799
799
|
*/
|
|
800
800
|
function getNative(object, key) {
|
|
801
|
-
var value = getValue(object, key);
|
|
801
|
+
var value = getValue$1(object, key);
|
|
802
802
|
return baseIsNative(value) ? value : undefined;
|
|
803
803
|
}
|
|
804
804
|
|
|
@@ -2873,7 +2873,7 @@ function useUpdate() {
|
|
|
2873
2873
|
return update;
|
|
2874
2874
|
}
|
|
2875
2875
|
|
|
2876
|
-
function useTimeoutFn(cb, interval, options = defaultOptions) {
|
|
2876
|
+
function useTimeoutFn(cb, interval, options = defaultOptions$1) {
|
|
2877
2877
|
const { immediate = true } = options;
|
|
2878
2878
|
const [pending, setPending] = React.useState(false);
|
|
2879
2879
|
const savedCallback = useLatest(cb);
|
|
@@ -2963,7 +2963,7 @@ function useLatestElement(target, defaultElement) {
|
|
|
2963
2963
|
return latestElement;
|
|
2964
2964
|
}
|
|
2965
2965
|
|
|
2966
|
-
function useEventListener(eventName, handler, element, options = defaultOptions) {
|
|
2966
|
+
function useEventListener(eventName, handler, element, options = defaultOptions$1) {
|
|
2967
2967
|
const savedHandler = useLatest(handler);
|
|
2968
2968
|
const targetElement = useLatestElement(element, defaultWindow);
|
|
2969
2969
|
React.useEffect(() => {
|
|
@@ -3120,7 +3120,7 @@ function useFavicon(href, baseUrl = "", rel = "icon") {
|
|
|
3120
3120
|
}, [baseUrl, href, rel]);
|
|
3121
3121
|
}
|
|
3122
3122
|
|
|
3123
|
-
function useMutationObserver(callback, target, options = defaultOptions) {
|
|
3123
|
+
function useMutationObserver(callback, target, options = defaultOptions$1) {
|
|
3124
3124
|
const callbackRef = useLatest(callback);
|
|
3125
3125
|
const observerRef = React.useRef();
|
|
3126
3126
|
const element = useLatestElement(target);
|
|
@@ -3189,7 +3189,7 @@ function useTitle(title) {
|
|
|
3189
3189
|
}, [title]);
|
|
3190
3190
|
}
|
|
3191
3191
|
|
|
3192
|
-
function useScriptTag(src, onLoaded = noop, options = defaultOptions) {
|
|
3192
|
+
function useScriptTag(src, onLoaded = noop, options = defaultOptions$1) {
|
|
3193
3193
|
const {
|
|
3194
3194
|
immediate = true,
|
|
3195
3195
|
manual = false,
|
|
@@ -3343,7 +3343,7 @@ const preventDefault$1 = (ev) => {
|
|
|
3343
3343
|
ev.preventDefault();
|
|
3344
3344
|
}
|
|
3345
3345
|
};
|
|
3346
|
-
function useLongPress(callback, { isPreventDefault = true, delay = 300 } = defaultOptions) {
|
|
3346
|
+
function useLongPress(callback, { isPreventDefault = true, delay = 300 } = defaultOptions$1) {
|
|
3347
3347
|
const timeout = React.useRef();
|
|
3348
3348
|
const target = React.useRef();
|
|
3349
3349
|
const start = React.useCallback(
|
|
@@ -3529,7 +3529,7 @@ function useMediaDevices(options = {}) {
|
|
|
3529
3529
|
return [state, ensurePermissions];
|
|
3530
3530
|
}
|
|
3531
3531
|
|
|
3532
|
-
function useTextDirection(options = defaultOptions) {
|
|
3532
|
+
function useTextDirection(options = defaultOptions$1) {
|
|
3533
3533
|
const { selector = "html", initialValue = "ltr" } = options;
|
|
3534
3534
|
const getValue = () => {
|
|
3535
3535
|
var _a, _b;
|
|
@@ -3556,18 +3556,18 @@ function useTextDirection(options = defaultOptions) {
|
|
|
3556
3556
|
}
|
|
3557
3557
|
|
|
3558
3558
|
const initState = {
|
|
3559
|
-
screenX: NaN,
|
|
3560
|
-
screenY: NaN,
|
|
3561
|
-
clientX: NaN,
|
|
3562
|
-
clientY: NaN,
|
|
3563
|
-
pageX: NaN,
|
|
3564
|
-
pageY: NaN,
|
|
3565
|
-
elementX: NaN,
|
|
3566
|
-
elementY: NaN,
|
|
3567
|
-
elementH: NaN,
|
|
3568
|
-
elementW: NaN,
|
|
3569
|
-
elementPosX: NaN,
|
|
3570
|
-
elementPosY: NaN
|
|
3559
|
+
screenX: Number.NaN,
|
|
3560
|
+
screenY: Number.NaN,
|
|
3561
|
+
clientX: Number.NaN,
|
|
3562
|
+
clientY: Number.NaN,
|
|
3563
|
+
pageX: Number.NaN,
|
|
3564
|
+
pageY: Number.NaN,
|
|
3565
|
+
elementX: Number.NaN,
|
|
3566
|
+
elementY: Number.NaN,
|
|
3567
|
+
elementH: Number.NaN,
|
|
3568
|
+
elementW: Number.NaN,
|
|
3569
|
+
elementPosX: Number.NaN,
|
|
3570
|
+
elementPosY: Number.NaN
|
|
3571
3571
|
};
|
|
3572
3572
|
function useMouse(target) {
|
|
3573
3573
|
const [state, setState] = useRafState(initState);
|
|
@@ -3582,12 +3582,12 @@ function useMouse(target) {
|
|
|
3582
3582
|
clientY,
|
|
3583
3583
|
pageX,
|
|
3584
3584
|
pageY,
|
|
3585
|
-
elementX: NaN,
|
|
3586
|
-
elementY: NaN,
|
|
3587
|
-
elementH: NaN,
|
|
3588
|
-
elementW: NaN,
|
|
3589
|
-
elementPosX: NaN,
|
|
3590
|
-
elementPosY: NaN
|
|
3585
|
+
elementX: Number.NaN,
|
|
3586
|
+
elementY: Number.NaN,
|
|
3587
|
+
elementH: Number.NaN,
|
|
3588
|
+
elementW: Number.NaN,
|
|
3589
|
+
elementPosX: Number.NaN,
|
|
3590
|
+
elementPosY: Number.NaN
|
|
3591
3591
|
};
|
|
3592
3592
|
const targetElement = getTargetElement(target);
|
|
3593
3593
|
if (targetElement) {
|
|
@@ -3606,7 +3606,7 @@ function useMouse(target) {
|
|
|
3606
3606
|
return state;
|
|
3607
3607
|
}
|
|
3608
3608
|
|
|
3609
|
-
function useFps(options = defaultOptions) {
|
|
3609
|
+
function useFps(options = defaultOptions$1) {
|
|
3610
3610
|
var _a;
|
|
3611
3611
|
const [fps, setFps] = React.useState(0);
|
|
3612
3612
|
const every = (_a = options.every) != null ? _a : 10;
|
|
@@ -3629,14 +3629,14 @@ var index$2 = typeof performance === "undefined" ? useFpsMock : useFps;
|
|
|
3629
3629
|
|
|
3630
3630
|
const initCoord = {
|
|
3631
3631
|
accuracy: 0,
|
|
3632
|
-
latitude:
|
|
3633
|
-
longitude:
|
|
3632
|
+
latitude: Number.POSITIVE_INFINITY,
|
|
3633
|
+
longitude: Number.POSITIVE_INFINITY,
|
|
3634
3634
|
altitude: null,
|
|
3635
3635
|
altitudeAccuracy: null,
|
|
3636
3636
|
heading: null,
|
|
3637
3637
|
speed: null
|
|
3638
3638
|
};
|
|
3639
|
-
function useGeolocation(options = defaultOptions) {
|
|
3639
|
+
function useGeolocation(options = defaultOptions$1) {
|
|
3640
3640
|
const {
|
|
3641
3641
|
enableHighAccuracy = true,
|
|
3642
3642
|
maximumAge = 3e4,
|
|
@@ -3862,7 +3862,7 @@ var screenfull$1 = {exports: {}};
|
|
|
3862
3862
|
|
|
3863
3863
|
var screenfull = screenfull$1.exports;
|
|
3864
3864
|
|
|
3865
|
-
function useFullscreen(target, options = defaultOptions) {
|
|
3865
|
+
function useFullscreen(target, options = defaultOptions$1) {
|
|
3866
3866
|
const { onExit, onEnter } = options;
|
|
3867
3867
|
const [state, setState] = React.useState(false);
|
|
3868
3868
|
const onChange = () => {
|
|
@@ -4014,7 +4014,7 @@ function useOrientation(initialState = defaultState$1) {
|
|
|
4014
4014
|
return [state, lockOrientation, unlockOrientation];
|
|
4015
4015
|
}
|
|
4016
4016
|
|
|
4017
|
-
function useIntersectionObserver(target, callback, options = defaultOptions) {
|
|
4017
|
+
function useIntersectionObserver(target, callback, options = defaultOptions$1) {
|
|
4018
4018
|
const savedCallback = useLatest(callback);
|
|
4019
4019
|
const observerRef = React.useRef();
|
|
4020
4020
|
const element = useLatestElement(target);
|
|
@@ -4052,7 +4052,7 @@ function usePageLeave() {
|
|
|
4052
4052
|
return isLeft;
|
|
4053
4053
|
}
|
|
4054
4054
|
|
|
4055
|
-
const getInitialState$
|
|
4055
|
+
const getInitialState$2 = (defaultValue) => {
|
|
4056
4056
|
if (defaultValue !== void 0) {
|
|
4057
4057
|
return defaultValue;
|
|
4058
4058
|
}
|
|
@@ -4068,7 +4068,7 @@ const getInitialState$1 = (defaultValue) => {
|
|
|
4068
4068
|
};
|
|
4069
4069
|
function useDocumentVisibility(defaultValue) {
|
|
4070
4070
|
const [visible, setVisible] = React.useState(
|
|
4071
|
-
getInitialState$
|
|
4071
|
+
getInitialState$2(defaultValue)
|
|
4072
4072
|
);
|
|
4073
4073
|
useEventListener(
|
|
4074
4074
|
"visibilitychange",
|
|
@@ -4083,7 +4083,7 @@ function useDocumentVisibility(defaultValue) {
|
|
|
4083
4083
|
return visible;
|
|
4084
4084
|
}
|
|
4085
4085
|
|
|
4086
|
-
function useResizeObserver(target, callback, options = defaultOptions) {
|
|
4086
|
+
function useResizeObserver(target, callback, options = defaultOptions$1) {
|
|
4087
4087
|
const savedCallback = useLatest(callback);
|
|
4088
4088
|
const observerRef = React.useRef();
|
|
4089
4089
|
const element = useLatestElement(target);
|
|
@@ -4168,7 +4168,7 @@ const DEFAULT_OPTIONS = {
|
|
|
4168
4168
|
multiple: true,
|
|
4169
4169
|
accept: "*"
|
|
4170
4170
|
};
|
|
4171
|
-
function useFileDialog(options = defaultOptions) {
|
|
4171
|
+
function useFileDialog(options = defaultOptions$1) {
|
|
4172
4172
|
const [files, setFiles] = React.useState(null);
|
|
4173
4173
|
const inputRef = React.useRef();
|
|
4174
4174
|
const initFn = React.useCallback(() => {
|
|
@@ -4208,7 +4208,7 @@ const defaultListerOptions = {
|
|
|
4208
4208
|
capture: false,
|
|
4209
4209
|
passive: true
|
|
4210
4210
|
};
|
|
4211
|
-
function useScroll(target, options = defaultOptions) {
|
|
4211
|
+
function useScroll(target, options = defaultOptions$1) {
|
|
4212
4212
|
const {
|
|
4213
4213
|
throttle = 0,
|
|
4214
4214
|
idle = 200,
|
|
@@ -4315,7 +4315,7 @@ var __async$3 = (__this, __arguments, generator) => {
|
|
|
4315
4315
|
step((generator = generator.apply(__this, __arguments)).next());
|
|
4316
4316
|
});
|
|
4317
4317
|
};
|
|
4318
|
-
function useInfiniteScroll(target, onLoadMore, options = defaultOptions) {
|
|
4318
|
+
function useInfiniteScroll(target, onLoadMore, options = defaultOptions$1) {
|
|
4319
4319
|
var _a, _b;
|
|
4320
4320
|
const savedLoadMore = useLatest(onLoadMore);
|
|
4321
4321
|
const direction = (_a = options.direction) != null ? _a : "bottom";
|
|
@@ -4351,7 +4351,7 @@ const defaultEvents = [
|
|
|
4351
4351
|
"keydown",
|
|
4352
4352
|
"keyup"
|
|
4353
4353
|
];
|
|
4354
|
-
function useKeyModifier(modifier, options = defaultOptions) {
|
|
4354
|
+
function useKeyModifier(modifier, options = defaultOptions$1) {
|
|
4355
4355
|
const { events = defaultEvents, initial = false } = options;
|
|
4356
4356
|
const [state, setState] = React.useState(initial);
|
|
4357
4357
|
useMount(() => {
|
|
@@ -4376,7 +4376,7 @@ function useKeyModifier(modifier, options = defaultOptions) {
|
|
|
4376
4376
|
}
|
|
4377
4377
|
|
|
4378
4378
|
const listenerOptions$2 = { passive: true };
|
|
4379
|
-
function useMousePressed(target, options = defaultOptions) {
|
|
4379
|
+
function useMousePressed(target, options = defaultOptions$1) {
|
|
4380
4380
|
const { touch = true, drag = true, initialValue = false } = options;
|
|
4381
4381
|
const [pressed, setPressed] = React.useState(initialValue);
|
|
4382
4382
|
const [sourceType, setSourceType] = React.useState(null);
|
|
@@ -4483,7 +4483,7 @@ function useScrollLock(target, initialState = false) {
|
|
|
4483
4483
|
return [locked, set];
|
|
4484
4484
|
}
|
|
4485
4485
|
|
|
4486
|
-
function useElementSize(target, options = defaultOptions) {
|
|
4486
|
+
function useElementSize(target, options = defaultOptions$1) {
|
|
4487
4487
|
const { box = "content-box" } = options;
|
|
4488
4488
|
const [width, setWidth] = React.useState(0);
|
|
4489
4489
|
const [height, setHeight] = React.useState(0);
|
|
@@ -4723,7 +4723,7 @@ function useDraggable(target, options = {}) {
|
|
|
4723
4723
|
return [position.x, position.y, !!pressedDelta];
|
|
4724
4724
|
}
|
|
4725
4725
|
|
|
4726
|
-
function useElementBounding(target, options = defaultOptions) {
|
|
4726
|
+
function useElementBounding(target, options = defaultOptions$1) {
|
|
4727
4727
|
const {
|
|
4728
4728
|
reset = true,
|
|
4729
4729
|
windowResize = true,
|
|
@@ -4798,7 +4798,7 @@ function useElementBounding(target, options = defaultOptions) {
|
|
|
4798
4798
|
};
|
|
4799
4799
|
}
|
|
4800
4800
|
|
|
4801
|
-
function useElementVisibility(target, options = defaultOptions) {
|
|
4801
|
+
function useElementVisibility(target, options = defaultOptions$1) {
|
|
4802
4802
|
const [visible, setVisible] = React.useState(false);
|
|
4803
4803
|
const callback = React.useCallback((entries) => {
|
|
4804
4804
|
const rect = entries[0].boundingClientRect;
|
|
@@ -5134,7 +5134,7 @@ function useScrollIntoView(targetElement, {
|
|
|
5134
5134
|
offset = 0,
|
|
5135
5135
|
cancelable = true,
|
|
5136
5136
|
isList = false
|
|
5137
|
-
} = defaultOptions, scrollElement) {
|
|
5137
|
+
} = defaultOptions$1, scrollElement) {
|
|
5138
5138
|
const frameID = React.useRef(0);
|
|
5139
5139
|
const startTime = React.useRef(0);
|
|
5140
5140
|
const shouldStop = React.useRef(false);
|
|
@@ -5145,48 +5145,48 @@ function useScrollIntoView(targetElement, {
|
|
|
5145
5145
|
}
|
|
5146
5146
|
};
|
|
5147
5147
|
const element = useLatestElement(targetElement);
|
|
5148
|
-
const scrollIntoView =
|
|
5149
|
-
|
|
5150
|
-
|
|
5151
|
-
|
|
5152
|
-
|
|
5153
|
-
|
|
5154
|
-
|
|
5148
|
+
const scrollIntoView = ({
|
|
5149
|
+
alignment = "start"
|
|
5150
|
+
} = {}) => {
|
|
5151
|
+
var _a;
|
|
5152
|
+
const parent = getTargetElement(scrollElement) || getScrollParent(axis, element);
|
|
5153
|
+
shouldStop.current = false;
|
|
5154
|
+
if (frameID.current) {
|
|
5155
|
+
cancel();
|
|
5156
|
+
}
|
|
5157
|
+
const start = (_a = getScrollStart({ parent, axis })) != null ? _a : 0;
|
|
5158
|
+
const change = getRelativePosition({
|
|
5159
|
+
parent,
|
|
5160
|
+
target: element,
|
|
5161
|
+
axis,
|
|
5162
|
+
alignment,
|
|
5163
|
+
offset,
|
|
5164
|
+
isList
|
|
5165
|
+
}) - (parent ? 0 : start);
|
|
5166
|
+
const animateScroll = () => {
|
|
5167
|
+
if (startTime.current === 0) {
|
|
5168
|
+
startTime.current = performance.now();
|
|
5155
5169
|
}
|
|
5156
|
-
const
|
|
5157
|
-
const
|
|
5170
|
+
const now = performance.now();
|
|
5171
|
+
const elapsed = now - startTime.current;
|
|
5172
|
+
const t = reducedMotion || duration === 0 ? 1 : elapsed / duration;
|
|
5173
|
+
const distance = start + change * easing(t);
|
|
5174
|
+
setScrollParam({
|
|
5158
5175
|
parent,
|
|
5159
|
-
target: element,
|
|
5160
5176
|
axis,
|
|
5161
|
-
|
|
5162
|
-
|
|
5163
|
-
|
|
5164
|
-
|
|
5165
|
-
|
|
5166
|
-
|
|
5167
|
-
|
|
5168
|
-
|
|
5169
|
-
|
|
5170
|
-
|
|
5171
|
-
|
|
5172
|
-
|
|
5173
|
-
|
|
5174
|
-
parent,
|
|
5175
|
-
axis,
|
|
5176
|
-
distance
|
|
5177
|
-
});
|
|
5178
|
-
if (!shouldStop.current && t < 1) {
|
|
5179
|
-
frameID.current = requestAnimationFrame(animateScroll);
|
|
5180
|
-
} else {
|
|
5181
|
-
typeof onScrollFinish === "function" && onScrollFinish();
|
|
5182
|
-
startTime.current = 0;
|
|
5183
|
-
frameID.current = 0;
|
|
5184
|
-
cancel();
|
|
5185
|
-
}
|
|
5186
|
-
};
|
|
5187
|
-
animateScroll();
|
|
5188
|
-
}
|
|
5189
|
-
);
|
|
5177
|
+
distance
|
|
5178
|
+
});
|
|
5179
|
+
if (!shouldStop.current && t < 1) {
|
|
5180
|
+
frameID.current = requestAnimationFrame(animateScroll);
|
|
5181
|
+
} else {
|
|
5182
|
+
typeof onScrollFinish === "function" && onScrollFinish();
|
|
5183
|
+
startTime.current = 0;
|
|
5184
|
+
frameID.current = 0;
|
|
5185
|
+
cancel();
|
|
5186
|
+
}
|
|
5187
|
+
};
|
|
5188
|
+
animateScroll();
|
|
5189
|
+
};
|
|
5190
5190
|
const handleStop = () => {
|
|
5191
5191
|
if (cancelable) {
|
|
5192
5192
|
shouldStop.current = true;
|
|
@@ -5485,7 +5485,7 @@ function init (converter, defaultAttributes) {
|
|
|
5485
5485
|
|
|
5486
5486
|
var api = init(defaultConverter, { path: '/' });
|
|
5487
5487
|
|
|
5488
|
-
const getInitialState = (key, defaultValue) => {
|
|
5488
|
+
const getInitialState$1 = (key, defaultValue) => {
|
|
5489
5489
|
if (defaultValue !== void 0) {
|
|
5490
5490
|
return defaultValue;
|
|
5491
5491
|
}
|
|
@@ -5499,9 +5499,9 @@ const getInitialState = (key, defaultValue) => {
|
|
|
5499
5499
|
}
|
|
5500
5500
|
return "";
|
|
5501
5501
|
};
|
|
5502
|
-
function useCookie(key, options = defaultOptions, defaultValue) {
|
|
5502
|
+
function useCookie(key, options = defaultOptions$1, defaultValue) {
|
|
5503
5503
|
const [cookieValue, setCookieValue] = React.useState(
|
|
5504
|
-
getInitialState(key, defaultValue)
|
|
5504
|
+
getInitialState$1(key, defaultValue)
|
|
5505
5505
|
);
|
|
5506
5506
|
React.useEffect(() => {
|
|
5507
5507
|
const getStoredValue = () => {
|
|
@@ -5611,7 +5611,7 @@ const defaultState = {
|
|
|
5611
5611
|
bottom: 0,
|
|
5612
5612
|
right: 0
|
|
5613
5613
|
};
|
|
5614
|
-
function useMeasure(target, options = defaultOptions) {
|
|
5614
|
+
function useMeasure(target, options = defaultOptions$1) {
|
|
5615
5615
|
const [rect, setRect] = React.useState(defaultState);
|
|
5616
5616
|
const stop = useResizeObserver(
|
|
5617
5617
|
target,
|
|
@@ -5635,6 +5635,111 @@ function useHover(target) {
|
|
|
5635
5635
|
return hovered;
|
|
5636
5636
|
}
|
|
5637
5637
|
|
|
5638
|
+
const defaultOptions = {
|
|
5639
|
+
observe: false
|
|
5640
|
+
};
|
|
5641
|
+
const getInitialState = (defaultValue) => {
|
|
5642
|
+
if (defaultValue !== void 0) {
|
|
5643
|
+
return defaultValue;
|
|
5644
|
+
}
|
|
5645
|
+
if (isBrowser) {
|
|
5646
|
+
return "";
|
|
5647
|
+
}
|
|
5648
|
+
if (process.env.NODE_ENV !== "production") {
|
|
5649
|
+
console.warn(
|
|
5650
|
+
"`useCssVar` When server side rendering, defaultValue should be defined to prevent a hydration mismatches."
|
|
5651
|
+
);
|
|
5652
|
+
}
|
|
5653
|
+
return "";
|
|
5654
|
+
};
|
|
5655
|
+
function useCssVar(prop, target, defaultValue, options = defaultOptions) {
|
|
5656
|
+
const { observe } = options;
|
|
5657
|
+
const [variable, setVariable] = React.useState(
|
|
5658
|
+
getInitialState(defaultValue)
|
|
5659
|
+
);
|
|
5660
|
+
const element = useLatestElement(target);
|
|
5661
|
+
const observerRef = React.useRef();
|
|
5662
|
+
const set = React.useCallback(
|
|
5663
|
+
(v) => {
|
|
5664
|
+
if (element == null ? void 0 : element.style) {
|
|
5665
|
+
element == null ? void 0 : element.style.setProperty(prop, v);
|
|
5666
|
+
setVariable(v);
|
|
5667
|
+
}
|
|
5668
|
+
},
|
|
5669
|
+
[element, prop]
|
|
5670
|
+
);
|
|
5671
|
+
const updateCssVar = React.useCallback(() => {
|
|
5672
|
+
var _a;
|
|
5673
|
+
if (element) {
|
|
5674
|
+
const value = (_a = window.getComputedStyle(element).getPropertyValue(prop)) == null ? void 0 : _a.trim();
|
|
5675
|
+
setVariable(value);
|
|
5676
|
+
}
|
|
5677
|
+
}, [element, prop]);
|
|
5678
|
+
React.useEffect(() => {
|
|
5679
|
+
var _a;
|
|
5680
|
+
if (!element) {
|
|
5681
|
+
return;
|
|
5682
|
+
}
|
|
5683
|
+
const value = (_a = window.getComputedStyle(element).getPropertyValue(prop)) == null ? void 0 : _a.trim();
|
|
5684
|
+
if (!value && defaultValue) {
|
|
5685
|
+
set(defaultValue);
|
|
5686
|
+
} else {
|
|
5687
|
+
updateCssVar();
|
|
5688
|
+
}
|
|
5689
|
+
if (!observe) {
|
|
5690
|
+
return;
|
|
5691
|
+
}
|
|
5692
|
+
observerRef.current = new MutationObserver(updateCssVar);
|
|
5693
|
+
observerRef.current.observe(element, {
|
|
5694
|
+
attributeFilter: ["style", "class"]
|
|
5695
|
+
});
|
|
5696
|
+
return () => {
|
|
5697
|
+
if (observerRef.current) {
|
|
5698
|
+
observerRef.current.disconnect();
|
|
5699
|
+
}
|
|
5700
|
+
};
|
|
5701
|
+
}, [observe, element, updateCssVar, set, defaultValue, prop]);
|
|
5702
|
+
return [variable, set];
|
|
5703
|
+
}
|
|
5704
|
+
|
|
5705
|
+
const topVarName = "--reactuse-safe-area-top";
|
|
5706
|
+
const rightVarName = "--reactuse-safe-area-right";
|
|
5707
|
+
const bottomVarName = "--reactuse-safe-area-bottom";
|
|
5708
|
+
const leftVarName = "--reactuse-safe-area-left";
|
|
5709
|
+
const defaultElement = () => document.documentElement;
|
|
5710
|
+
function useScreenSafeArea() {
|
|
5711
|
+
const top = React.useRef("");
|
|
5712
|
+
const right = React.useRef("");
|
|
5713
|
+
const bottom = React.useRef("");
|
|
5714
|
+
const left = React.useRef("");
|
|
5715
|
+
const forceUpdate = useUpdate();
|
|
5716
|
+
useCssVar(topVarName, defaultElement, "env(safe-area-inset-top, 0px)");
|
|
5717
|
+
useCssVar(rightVarName, defaultElement, "env(safe-area-inset-right, 0px)");
|
|
5718
|
+
useCssVar(bottomVarName, defaultElement, "env(safe-area-inset-bottom, 0px)");
|
|
5719
|
+
useCssVar(leftVarName, defaultElement, "env(safe-area-inset-left, 0px)");
|
|
5720
|
+
const { run: update } = useDebounceFn(() => {
|
|
5721
|
+
top.current = getValue(topVarName);
|
|
5722
|
+
right.current = getValue(rightVarName);
|
|
5723
|
+
bottom.current = getValue(bottomVarName);
|
|
5724
|
+
left.current = getValue(leftVarName);
|
|
5725
|
+
forceUpdate();
|
|
5726
|
+
});
|
|
5727
|
+
React.useEffect(() => {
|
|
5728
|
+
update();
|
|
5729
|
+
}, [update]);
|
|
5730
|
+
useEventListener("resize", update);
|
|
5731
|
+
return [
|
|
5732
|
+
top.current,
|
|
5733
|
+
right.current,
|
|
5734
|
+
bottom.current,
|
|
5735
|
+
left.current,
|
|
5736
|
+
update
|
|
5737
|
+
];
|
|
5738
|
+
}
|
|
5739
|
+
function getValue(position) {
|
|
5740
|
+
return getComputedStyle(document.documentElement).getPropertyValue(position);
|
|
5741
|
+
}
|
|
5742
|
+
|
|
5638
5743
|
exports.getHMSTime = getHMSTime;
|
|
5639
5744
|
exports.useActiveElement = useActiveElement;
|
|
5640
5745
|
exports.useAsyncEffect = useAsyncEffect;
|
|
@@ -5644,6 +5749,7 @@ exports.useControlled = useControlled;
|
|
|
5644
5749
|
exports.useCookie = useCookie;
|
|
5645
5750
|
exports.useCountDown = useCountDown;
|
|
5646
5751
|
exports.useCounter = useCounter;
|
|
5752
|
+
exports.useCssVar = useCssVar;
|
|
5647
5753
|
exports.useCustomCompareEffect = useCustomCompareEffect;
|
|
5648
5754
|
exports.useCycleList = useCycleList;
|
|
5649
5755
|
exports.useDarkMode = useDarkMode;
|
|
@@ -5702,6 +5808,7 @@ exports.useRafFn = useRafFn;
|
|
|
5702
5808
|
exports.useRafState = useRafState;
|
|
5703
5809
|
exports.useReducedMotion = useReducedMotion;
|
|
5704
5810
|
exports.useResizeObserver = useResizeObserver;
|
|
5811
|
+
exports.useScreenSafeArea = useScreenSafeArea;
|
|
5705
5812
|
exports.useScriptTag = useScriptTag;
|
|
5706
5813
|
exports.useScroll = useScroll;
|
|
5707
5814
|
exports.useScrollIntoView = useScrollIntoView;
|
package/dist/index.d.ts
CHANGED
|
@@ -807,7 +807,7 @@ interface ScrollIntoViewParams {
|
|
|
807
807
|
isList?: boolean;
|
|
808
808
|
}
|
|
809
809
|
declare function useScrollIntoView(targetElement: BasicTarget<HTMLElement>, { duration, axis, onScrollFinish, easing, offset, cancelable, isList, }?: ScrollIntoViewParams, scrollElement?: BasicTarget<HTMLElement>): {
|
|
810
|
-
scrollIntoView: ({ alignment }?: ScrollIntoViewAnimation) => void;
|
|
810
|
+
scrollIntoView: ({ alignment, }?: ScrollIntoViewAnimation) => void;
|
|
811
811
|
cancel: () => void;
|
|
812
812
|
};
|
|
813
813
|
|
|
@@ -854,4 +854,15 @@ declare function useMeasure(target: BasicTarget, options?: ResizeObserverOptions
|
|
|
854
854
|
|
|
855
855
|
declare function useHover<T extends HTMLElement = HTMLDivElement>(target: BasicTarget<T>): boolean;
|
|
856
856
|
|
|
857
|
-
|
|
857
|
+
declare function useScreenSafeArea(): readonly [string, string, string, string, lodash.DebouncedFunc<() => void>];
|
|
858
|
+
|
|
859
|
+
interface UseCssVarOptions {
|
|
860
|
+
/**
|
|
861
|
+
* Use MutationObserver to monitor variable changes
|
|
862
|
+
* @default false
|
|
863
|
+
*/
|
|
864
|
+
observe?: boolean;
|
|
865
|
+
}
|
|
866
|
+
declare function useCssVar<T extends HTMLElement = HTMLElement>(prop: string, target: BasicTarget<T>, defaultValue?: string, options?: UseCssVarOptions): readonly [string, (v: string) => void];
|
|
867
|
+
|
|
868
|
+
export { ColorScheme, Contrast, CursorState, EyeDropperOpenReturnType, GeneralPermissionDescriptor, IDisposable, IEvent, IEventOnce, IListener, INetworkInformation, IState, IUseNetworkState, KeyModifier, MousePressedOptions, MouseSourceType, OrientationState, RafLoopReturns, ScrollIntoViewAnimation, ScrollIntoViewParams, Status, Target, UseCookieState, UseCssVarOptions, UseDarkOptions, UseDraggableOptions, UseElementBoundingOptions, UseEventEmitterReturn, UseEyeDropperReturn, UseFileDialogOptions, UseFpsOptions, UseFullScreenOptions, UseInfiniteScrollOptions, UseLongPressOptions, UseMeasureRect, UseMediaDeviceOptions, UseModifierOptions, UseScriptTagOptions, UseScrollOptions, UseStickyParams, UseTextDirectionOptions, UseTextDirectionValue, UseTimeoutFnOptions, UseVirtualListItem, UseVirtualListOptions, UseVirtualListReturn, UseWindowScrollState, WindowSize, getHMSTime, useActiveElement, useAsyncEffect, useClickOutside, useClipBorad as useClipboard, useControlled, useCookie, useCountDown, useCounter, useCssVar, useCustomCompareEffect, useCycleList, useDarkMode, useDebounce, useDebounceFn, useDeepCompareEffect, useDocumentVisibility, useDoubleClick, useDraggable, useDropZone, useElementBounding, useElementSize, useElementVisibility, useEvent, useEventEmitter, useEventListener, useEyeDropper, useFavicon, useFileDialog, useFirstMountState, useFocus, _default$2 as useFps, useFullscreen, useGeolocation, useHover, useIdle, useInfiniteScroll, useIntersectionObserver, useInterval, useIsomorphicLayoutEffect, useKeyModifier, useLatest, useLocalStorage, useLongPress, useMeasure, useMediaDevices, useMediaQuery, useMount, useMountedState, useMouse, useMousePressed, useMutationObserver, useNetwork, useObjectUrl, _default$1 as useOnceEffect, _default as useOnceLayoutEffect, useOnline, useOrientation, usePageLeave, usePermission, usePreferredColorScheme, usePreferredContrast, usePreferredDark, usePrevious, useRafFn, useRafState, useReducedMotion, useResizeObserver, useScreenSafeArea, useScriptTag, useScroll, useScrollIntoView, useScrollLock, useSessionStorage, useSetState, useSticky, useSupported, useTextDirection, useTextSelection, useThrottle, useThrottleFn, useTimeout, useTimeoutFn, useTitle, useToggle, useUnmount, useUpdate, _default$4 as useUpdateEffect, _default$3 as useUpdateLayoutEffect, useVirtualList, useWindowScroll, useWindowSize, useWindowsFocus };
|
package/dist/index.mjs
CHANGED
|
@@ -73,7 +73,7 @@ function useEvent(fn) {
|
|
|
73
73
|
}, []);
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
const defaultOptions = {};
|
|
76
|
+
const defaultOptions$1 = {};
|
|
77
77
|
const defaultOnError = (e) => {
|
|
78
78
|
console.error(e);
|
|
79
79
|
};
|
|
@@ -112,7 +112,7 @@ const StorageSerializers = {
|
|
|
112
112
|
write: (v) => v.toISOString()
|
|
113
113
|
}
|
|
114
114
|
};
|
|
115
|
-
const getInitialState$
|
|
115
|
+
const getInitialState$4 = (key, defaultValue, storage, serializer, onError) => {
|
|
116
116
|
if (defaultValue !== void 0) {
|
|
117
117
|
return defaultValue;
|
|
118
118
|
}
|
|
@@ -133,7 +133,7 @@ const getInitialState$3 = (key, defaultValue, storage, serializer, onError) => {
|
|
|
133
133
|
}
|
|
134
134
|
return null;
|
|
135
135
|
};
|
|
136
|
-
function useStorage(key, defaultValue, getStorage = () => isBrowser ? sessionStorage : void 0, options = defaultOptions) {
|
|
136
|
+
function useStorage(key, defaultValue, getStorage = () => isBrowser ? sessionStorage : void 0, options = defaultOptions$1) {
|
|
137
137
|
let storage;
|
|
138
138
|
const { onError = defaultOnError, csrData } = options;
|
|
139
139
|
try {
|
|
@@ -147,7 +147,7 @@ function useStorage(key, defaultValue, getStorage = () => isBrowser ? sessionSto
|
|
|
147
147
|
return (_a = options.serializer) != null ? _a : StorageSerializers[type];
|
|
148
148
|
}, [options.serializer, type]);
|
|
149
149
|
const [state, setState] = useState(
|
|
150
|
-
getInitialState$
|
|
150
|
+
getInitialState$4(key, defaultValue, storage, serializer, onError)
|
|
151
151
|
);
|
|
152
152
|
useEffect(() => {
|
|
153
153
|
const data = csrData ? isFunction$1(csrData) ? csrData() : csrData : defaultValue;
|
|
@@ -184,7 +184,7 @@ function useStorage(key, defaultValue, getStorage = () => isBrowser ? sessionSto
|
|
|
184
184
|
return [state, updateState];
|
|
185
185
|
}
|
|
186
186
|
|
|
187
|
-
function useLocalStorage(key, defaultValue, options = defaultOptions) {
|
|
187
|
+
function useLocalStorage(key, defaultValue, options = defaultOptions$1) {
|
|
188
188
|
return useStorage(
|
|
189
189
|
key,
|
|
190
190
|
defaultValue,
|
|
@@ -193,7 +193,7 @@ function useLocalStorage(key, defaultValue, options = defaultOptions) {
|
|
|
193
193
|
);
|
|
194
194
|
}
|
|
195
195
|
|
|
196
|
-
function useSessionStorage(key, defaultValue, options = defaultOptions) {
|
|
196
|
+
function useSessionStorage(key, defaultValue, options = defaultOptions$1) {
|
|
197
197
|
return useStorage(
|
|
198
198
|
key,
|
|
199
199
|
defaultValue,
|
|
@@ -207,7 +207,7 @@ function useToggle(initialValue) {
|
|
|
207
207
|
return useReducer(toggleReducer, initialValue);
|
|
208
208
|
}
|
|
209
209
|
|
|
210
|
-
function useInterval(callback, delay, options = defaultOptions) {
|
|
210
|
+
function useInterval(callback, delay, options = defaultOptions$1) {
|
|
211
211
|
const immediate = options.immediate;
|
|
212
212
|
const savedCallback = useLatest(callback);
|
|
213
213
|
useEffect(() => {
|
|
@@ -271,7 +271,7 @@ function useDarkMode(options) {
|
|
|
271
271
|
return [dark, () => setDark((dark2) => !dark2), setDark];
|
|
272
272
|
}
|
|
273
273
|
|
|
274
|
-
const getInitialState$
|
|
274
|
+
const getInitialState$3 = (query, defaultState) => {
|
|
275
275
|
if (defaultState !== void 0) {
|
|
276
276
|
return defaultState;
|
|
277
277
|
}
|
|
@@ -286,7 +286,7 @@ const getInitialState$2 = (query, defaultState) => {
|
|
|
286
286
|
return false;
|
|
287
287
|
};
|
|
288
288
|
function useMediaQuery(query, defaultState) {
|
|
289
|
-
const [state, setState] = useState(getInitialState$
|
|
289
|
+
const [state, setState] = useState(getInitialState$3(query, defaultState));
|
|
290
290
|
useEffect(() => {
|
|
291
291
|
var _a;
|
|
292
292
|
let mounted = true;
|
|
@@ -777,7 +777,7 @@ function baseIsNative(value) {
|
|
|
777
777
|
* @param {string} key The key of the property to get.
|
|
778
778
|
* @returns {*} Returns the property value.
|
|
779
779
|
*/
|
|
780
|
-
function getValue(object, key) {
|
|
780
|
+
function getValue$1(object, key) {
|
|
781
781
|
return object == null ? undefined : object[key];
|
|
782
782
|
}
|
|
783
783
|
|
|
@@ -790,7 +790,7 @@ function getValue(object, key) {
|
|
|
790
790
|
* @returns {*} Returns the function if it's native, else `undefined`.
|
|
791
791
|
*/
|
|
792
792
|
function getNative(object, key) {
|
|
793
|
-
var value = getValue(object, key);
|
|
793
|
+
var value = getValue$1(object, key);
|
|
794
794
|
return baseIsNative(value) ? value : undefined;
|
|
795
795
|
}
|
|
796
796
|
|
|
@@ -2865,7 +2865,7 @@ function useUpdate() {
|
|
|
2865
2865
|
return update;
|
|
2866
2866
|
}
|
|
2867
2867
|
|
|
2868
|
-
function useTimeoutFn(cb, interval, options = defaultOptions) {
|
|
2868
|
+
function useTimeoutFn(cb, interval, options = defaultOptions$1) {
|
|
2869
2869
|
const { immediate = true } = options;
|
|
2870
2870
|
const [pending, setPending] = useState(false);
|
|
2871
2871
|
const savedCallback = useLatest(cb);
|
|
@@ -2955,7 +2955,7 @@ function useLatestElement(target, defaultElement) {
|
|
|
2955
2955
|
return latestElement;
|
|
2956
2956
|
}
|
|
2957
2957
|
|
|
2958
|
-
function useEventListener(eventName, handler, element, options = defaultOptions) {
|
|
2958
|
+
function useEventListener(eventName, handler, element, options = defaultOptions$1) {
|
|
2959
2959
|
const savedHandler = useLatest(handler);
|
|
2960
2960
|
const targetElement = useLatestElement(element, defaultWindow);
|
|
2961
2961
|
useEffect(() => {
|
|
@@ -3112,7 +3112,7 @@ function useFavicon(href, baseUrl = "", rel = "icon") {
|
|
|
3112
3112
|
}, [baseUrl, href, rel]);
|
|
3113
3113
|
}
|
|
3114
3114
|
|
|
3115
|
-
function useMutationObserver(callback, target, options = defaultOptions) {
|
|
3115
|
+
function useMutationObserver(callback, target, options = defaultOptions$1) {
|
|
3116
3116
|
const callbackRef = useLatest(callback);
|
|
3117
3117
|
const observerRef = useRef();
|
|
3118
3118
|
const element = useLatestElement(target);
|
|
@@ -3181,7 +3181,7 @@ function useTitle(title) {
|
|
|
3181
3181
|
}, [title]);
|
|
3182
3182
|
}
|
|
3183
3183
|
|
|
3184
|
-
function useScriptTag(src, onLoaded = noop, options = defaultOptions) {
|
|
3184
|
+
function useScriptTag(src, onLoaded = noop, options = defaultOptions$1) {
|
|
3185
3185
|
const {
|
|
3186
3186
|
immediate = true,
|
|
3187
3187
|
manual = false,
|
|
@@ -3335,7 +3335,7 @@ const preventDefault$1 = (ev) => {
|
|
|
3335
3335
|
ev.preventDefault();
|
|
3336
3336
|
}
|
|
3337
3337
|
};
|
|
3338
|
-
function useLongPress(callback, { isPreventDefault = true, delay = 300 } = defaultOptions) {
|
|
3338
|
+
function useLongPress(callback, { isPreventDefault = true, delay = 300 } = defaultOptions$1) {
|
|
3339
3339
|
const timeout = useRef();
|
|
3340
3340
|
const target = useRef();
|
|
3341
3341
|
const start = useCallback(
|
|
@@ -3521,7 +3521,7 @@ function useMediaDevices(options = {}) {
|
|
|
3521
3521
|
return [state, ensurePermissions];
|
|
3522
3522
|
}
|
|
3523
3523
|
|
|
3524
|
-
function useTextDirection(options = defaultOptions) {
|
|
3524
|
+
function useTextDirection(options = defaultOptions$1) {
|
|
3525
3525
|
const { selector = "html", initialValue = "ltr" } = options;
|
|
3526
3526
|
const getValue = () => {
|
|
3527
3527
|
var _a, _b;
|
|
@@ -3548,18 +3548,18 @@ function useTextDirection(options = defaultOptions) {
|
|
|
3548
3548
|
}
|
|
3549
3549
|
|
|
3550
3550
|
const initState = {
|
|
3551
|
-
screenX: NaN,
|
|
3552
|
-
screenY: NaN,
|
|
3553
|
-
clientX: NaN,
|
|
3554
|
-
clientY: NaN,
|
|
3555
|
-
pageX: NaN,
|
|
3556
|
-
pageY: NaN,
|
|
3557
|
-
elementX: NaN,
|
|
3558
|
-
elementY: NaN,
|
|
3559
|
-
elementH: NaN,
|
|
3560
|
-
elementW: NaN,
|
|
3561
|
-
elementPosX: NaN,
|
|
3562
|
-
elementPosY: NaN
|
|
3551
|
+
screenX: Number.NaN,
|
|
3552
|
+
screenY: Number.NaN,
|
|
3553
|
+
clientX: Number.NaN,
|
|
3554
|
+
clientY: Number.NaN,
|
|
3555
|
+
pageX: Number.NaN,
|
|
3556
|
+
pageY: Number.NaN,
|
|
3557
|
+
elementX: Number.NaN,
|
|
3558
|
+
elementY: Number.NaN,
|
|
3559
|
+
elementH: Number.NaN,
|
|
3560
|
+
elementW: Number.NaN,
|
|
3561
|
+
elementPosX: Number.NaN,
|
|
3562
|
+
elementPosY: Number.NaN
|
|
3563
3563
|
};
|
|
3564
3564
|
function useMouse(target) {
|
|
3565
3565
|
const [state, setState] = useRafState(initState);
|
|
@@ -3574,12 +3574,12 @@ function useMouse(target) {
|
|
|
3574
3574
|
clientY,
|
|
3575
3575
|
pageX,
|
|
3576
3576
|
pageY,
|
|
3577
|
-
elementX: NaN,
|
|
3578
|
-
elementY: NaN,
|
|
3579
|
-
elementH: NaN,
|
|
3580
|
-
elementW: NaN,
|
|
3581
|
-
elementPosX: NaN,
|
|
3582
|
-
elementPosY: NaN
|
|
3577
|
+
elementX: Number.NaN,
|
|
3578
|
+
elementY: Number.NaN,
|
|
3579
|
+
elementH: Number.NaN,
|
|
3580
|
+
elementW: Number.NaN,
|
|
3581
|
+
elementPosX: Number.NaN,
|
|
3582
|
+
elementPosY: Number.NaN
|
|
3583
3583
|
};
|
|
3584
3584
|
const targetElement = getTargetElement(target);
|
|
3585
3585
|
if (targetElement) {
|
|
@@ -3598,7 +3598,7 @@ function useMouse(target) {
|
|
|
3598
3598
|
return state;
|
|
3599
3599
|
}
|
|
3600
3600
|
|
|
3601
|
-
function useFps(options = defaultOptions) {
|
|
3601
|
+
function useFps(options = defaultOptions$1) {
|
|
3602
3602
|
var _a;
|
|
3603
3603
|
const [fps, setFps] = useState(0);
|
|
3604
3604
|
const every = (_a = options.every) != null ? _a : 10;
|
|
@@ -3621,14 +3621,14 @@ var index$2 = typeof performance === "undefined" ? useFpsMock : useFps;
|
|
|
3621
3621
|
|
|
3622
3622
|
const initCoord = {
|
|
3623
3623
|
accuracy: 0,
|
|
3624
|
-
latitude:
|
|
3625
|
-
longitude:
|
|
3624
|
+
latitude: Number.POSITIVE_INFINITY,
|
|
3625
|
+
longitude: Number.POSITIVE_INFINITY,
|
|
3626
3626
|
altitude: null,
|
|
3627
3627
|
altitudeAccuracy: null,
|
|
3628
3628
|
heading: null,
|
|
3629
3629
|
speed: null
|
|
3630
3630
|
};
|
|
3631
|
-
function useGeolocation(options = defaultOptions) {
|
|
3631
|
+
function useGeolocation(options = defaultOptions$1) {
|
|
3632
3632
|
const {
|
|
3633
3633
|
enableHighAccuracy = true,
|
|
3634
3634
|
maximumAge = 3e4,
|
|
@@ -3854,7 +3854,7 @@ var screenfull$1 = {exports: {}};
|
|
|
3854
3854
|
|
|
3855
3855
|
var screenfull = screenfull$1.exports;
|
|
3856
3856
|
|
|
3857
|
-
function useFullscreen(target, options = defaultOptions) {
|
|
3857
|
+
function useFullscreen(target, options = defaultOptions$1) {
|
|
3858
3858
|
const { onExit, onEnter } = options;
|
|
3859
3859
|
const [state, setState] = useState(false);
|
|
3860
3860
|
const onChange = () => {
|
|
@@ -4006,7 +4006,7 @@ function useOrientation(initialState = defaultState$1) {
|
|
|
4006
4006
|
return [state, lockOrientation, unlockOrientation];
|
|
4007
4007
|
}
|
|
4008
4008
|
|
|
4009
|
-
function useIntersectionObserver(target, callback, options = defaultOptions) {
|
|
4009
|
+
function useIntersectionObserver(target, callback, options = defaultOptions$1) {
|
|
4010
4010
|
const savedCallback = useLatest(callback);
|
|
4011
4011
|
const observerRef = useRef();
|
|
4012
4012
|
const element = useLatestElement(target);
|
|
@@ -4044,7 +4044,7 @@ function usePageLeave() {
|
|
|
4044
4044
|
return isLeft;
|
|
4045
4045
|
}
|
|
4046
4046
|
|
|
4047
|
-
const getInitialState$
|
|
4047
|
+
const getInitialState$2 = (defaultValue) => {
|
|
4048
4048
|
if (defaultValue !== void 0) {
|
|
4049
4049
|
return defaultValue;
|
|
4050
4050
|
}
|
|
@@ -4060,7 +4060,7 @@ const getInitialState$1 = (defaultValue) => {
|
|
|
4060
4060
|
};
|
|
4061
4061
|
function useDocumentVisibility(defaultValue) {
|
|
4062
4062
|
const [visible, setVisible] = useState(
|
|
4063
|
-
getInitialState$
|
|
4063
|
+
getInitialState$2(defaultValue)
|
|
4064
4064
|
);
|
|
4065
4065
|
useEventListener(
|
|
4066
4066
|
"visibilitychange",
|
|
@@ -4075,7 +4075,7 @@ function useDocumentVisibility(defaultValue) {
|
|
|
4075
4075
|
return visible;
|
|
4076
4076
|
}
|
|
4077
4077
|
|
|
4078
|
-
function useResizeObserver(target, callback, options = defaultOptions) {
|
|
4078
|
+
function useResizeObserver(target, callback, options = defaultOptions$1) {
|
|
4079
4079
|
const savedCallback = useLatest(callback);
|
|
4080
4080
|
const observerRef = useRef();
|
|
4081
4081
|
const element = useLatestElement(target);
|
|
@@ -4160,7 +4160,7 @@ const DEFAULT_OPTIONS = {
|
|
|
4160
4160
|
multiple: true,
|
|
4161
4161
|
accept: "*"
|
|
4162
4162
|
};
|
|
4163
|
-
function useFileDialog(options = defaultOptions) {
|
|
4163
|
+
function useFileDialog(options = defaultOptions$1) {
|
|
4164
4164
|
const [files, setFiles] = useState(null);
|
|
4165
4165
|
const inputRef = useRef();
|
|
4166
4166
|
const initFn = useCallback(() => {
|
|
@@ -4200,7 +4200,7 @@ const defaultListerOptions = {
|
|
|
4200
4200
|
capture: false,
|
|
4201
4201
|
passive: true
|
|
4202
4202
|
};
|
|
4203
|
-
function useScroll(target, options = defaultOptions) {
|
|
4203
|
+
function useScroll(target, options = defaultOptions$1) {
|
|
4204
4204
|
const {
|
|
4205
4205
|
throttle = 0,
|
|
4206
4206
|
idle = 200,
|
|
@@ -4307,7 +4307,7 @@ var __async$3 = (__this, __arguments, generator) => {
|
|
|
4307
4307
|
step((generator = generator.apply(__this, __arguments)).next());
|
|
4308
4308
|
});
|
|
4309
4309
|
};
|
|
4310
|
-
function useInfiniteScroll(target, onLoadMore, options = defaultOptions) {
|
|
4310
|
+
function useInfiniteScroll(target, onLoadMore, options = defaultOptions$1) {
|
|
4311
4311
|
var _a, _b;
|
|
4312
4312
|
const savedLoadMore = useLatest(onLoadMore);
|
|
4313
4313
|
const direction = (_a = options.direction) != null ? _a : "bottom";
|
|
@@ -4343,7 +4343,7 @@ const defaultEvents = [
|
|
|
4343
4343
|
"keydown",
|
|
4344
4344
|
"keyup"
|
|
4345
4345
|
];
|
|
4346
|
-
function useKeyModifier(modifier, options = defaultOptions) {
|
|
4346
|
+
function useKeyModifier(modifier, options = defaultOptions$1) {
|
|
4347
4347
|
const { events = defaultEvents, initial = false } = options;
|
|
4348
4348
|
const [state, setState] = useState(initial);
|
|
4349
4349
|
useMount(() => {
|
|
@@ -4368,7 +4368,7 @@ function useKeyModifier(modifier, options = defaultOptions) {
|
|
|
4368
4368
|
}
|
|
4369
4369
|
|
|
4370
4370
|
const listenerOptions$2 = { passive: true };
|
|
4371
|
-
function useMousePressed(target, options = defaultOptions) {
|
|
4371
|
+
function useMousePressed(target, options = defaultOptions$1) {
|
|
4372
4372
|
const { touch = true, drag = true, initialValue = false } = options;
|
|
4373
4373
|
const [pressed, setPressed] = useState(initialValue);
|
|
4374
4374
|
const [sourceType, setSourceType] = useState(null);
|
|
@@ -4475,7 +4475,7 @@ function useScrollLock(target, initialState = false) {
|
|
|
4475
4475
|
return [locked, set];
|
|
4476
4476
|
}
|
|
4477
4477
|
|
|
4478
|
-
function useElementSize(target, options = defaultOptions) {
|
|
4478
|
+
function useElementSize(target, options = defaultOptions$1) {
|
|
4479
4479
|
const { box = "content-box" } = options;
|
|
4480
4480
|
const [width, setWidth] = useState(0);
|
|
4481
4481
|
const [height, setHeight] = useState(0);
|
|
@@ -4715,7 +4715,7 @@ function useDraggable(target, options = {}) {
|
|
|
4715
4715
|
return [position.x, position.y, !!pressedDelta];
|
|
4716
4716
|
}
|
|
4717
4717
|
|
|
4718
|
-
function useElementBounding(target, options = defaultOptions) {
|
|
4718
|
+
function useElementBounding(target, options = defaultOptions$1) {
|
|
4719
4719
|
const {
|
|
4720
4720
|
reset = true,
|
|
4721
4721
|
windowResize = true,
|
|
@@ -4790,7 +4790,7 @@ function useElementBounding(target, options = defaultOptions) {
|
|
|
4790
4790
|
};
|
|
4791
4791
|
}
|
|
4792
4792
|
|
|
4793
|
-
function useElementVisibility(target, options = defaultOptions) {
|
|
4793
|
+
function useElementVisibility(target, options = defaultOptions$1) {
|
|
4794
4794
|
const [visible, setVisible] = useState(false);
|
|
4795
4795
|
const callback = useCallback((entries) => {
|
|
4796
4796
|
const rect = entries[0].boundingClientRect;
|
|
@@ -5126,7 +5126,7 @@ function useScrollIntoView(targetElement, {
|
|
|
5126
5126
|
offset = 0,
|
|
5127
5127
|
cancelable = true,
|
|
5128
5128
|
isList = false
|
|
5129
|
-
} = defaultOptions, scrollElement) {
|
|
5129
|
+
} = defaultOptions$1, scrollElement) {
|
|
5130
5130
|
const frameID = useRef(0);
|
|
5131
5131
|
const startTime = useRef(0);
|
|
5132
5132
|
const shouldStop = useRef(false);
|
|
@@ -5137,48 +5137,48 @@ function useScrollIntoView(targetElement, {
|
|
|
5137
5137
|
}
|
|
5138
5138
|
};
|
|
5139
5139
|
const element = useLatestElement(targetElement);
|
|
5140
|
-
const scrollIntoView =
|
|
5141
|
-
|
|
5142
|
-
|
|
5143
|
-
|
|
5144
|
-
|
|
5145
|
-
|
|
5146
|
-
|
|
5140
|
+
const scrollIntoView = ({
|
|
5141
|
+
alignment = "start"
|
|
5142
|
+
} = {}) => {
|
|
5143
|
+
var _a;
|
|
5144
|
+
const parent = getTargetElement(scrollElement) || getScrollParent(axis, element);
|
|
5145
|
+
shouldStop.current = false;
|
|
5146
|
+
if (frameID.current) {
|
|
5147
|
+
cancel();
|
|
5148
|
+
}
|
|
5149
|
+
const start = (_a = getScrollStart({ parent, axis })) != null ? _a : 0;
|
|
5150
|
+
const change = getRelativePosition({
|
|
5151
|
+
parent,
|
|
5152
|
+
target: element,
|
|
5153
|
+
axis,
|
|
5154
|
+
alignment,
|
|
5155
|
+
offset,
|
|
5156
|
+
isList
|
|
5157
|
+
}) - (parent ? 0 : start);
|
|
5158
|
+
const animateScroll = () => {
|
|
5159
|
+
if (startTime.current === 0) {
|
|
5160
|
+
startTime.current = performance.now();
|
|
5147
5161
|
}
|
|
5148
|
-
const
|
|
5149
|
-
const
|
|
5162
|
+
const now = performance.now();
|
|
5163
|
+
const elapsed = now - startTime.current;
|
|
5164
|
+
const t = reducedMotion || duration === 0 ? 1 : elapsed / duration;
|
|
5165
|
+
const distance = start + change * easing(t);
|
|
5166
|
+
setScrollParam({
|
|
5150
5167
|
parent,
|
|
5151
|
-
target: element,
|
|
5152
5168
|
axis,
|
|
5153
|
-
|
|
5154
|
-
|
|
5155
|
-
|
|
5156
|
-
|
|
5157
|
-
|
|
5158
|
-
|
|
5159
|
-
|
|
5160
|
-
|
|
5161
|
-
|
|
5162
|
-
|
|
5163
|
-
|
|
5164
|
-
|
|
5165
|
-
|
|
5166
|
-
parent,
|
|
5167
|
-
axis,
|
|
5168
|
-
distance
|
|
5169
|
-
});
|
|
5170
|
-
if (!shouldStop.current && t < 1) {
|
|
5171
|
-
frameID.current = requestAnimationFrame(animateScroll);
|
|
5172
|
-
} else {
|
|
5173
|
-
typeof onScrollFinish === "function" && onScrollFinish();
|
|
5174
|
-
startTime.current = 0;
|
|
5175
|
-
frameID.current = 0;
|
|
5176
|
-
cancel();
|
|
5177
|
-
}
|
|
5178
|
-
};
|
|
5179
|
-
animateScroll();
|
|
5180
|
-
}
|
|
5181
|
-
);
|
|
5169
|
+
distance
|
|
5170
|
+
});
|
|
5171
|
+
if (!shouldStop.current && t < 1) {
|
|
5172
|
+
frameID.current = requestAnimationFrame(animateScroll);
|
|
5173
|
+
} else {
|
|
5174
|
+
typeof onScrollFinish === "function" && onScrollFinish();
|
|
5175
|
+
startTime.current = 0;
|
|
5176
|
+
frameID.current = 0;
|
|
5177
|
+
cancel();
|
|
5178
|
+
}
|
|
5179
|
+
};
|
|
5180
|
+
animateScroll();
|
|
5181
|
+
};
|
|
5182
5182
|
const handleStop = () => {
|
|
5183
5183
|
if (cancelable) {
|
|
5184
5184
|
shouldStop.current = true;
|
|
@@ -5477,7 +5477,7 @@ function init (converter, defaultAttributes) {
|
|
|
5477
5477
|
|
|
5478
5478
|
var api = init(defaultConverter, { path: '/' });
|
|
5479
5479
|
|
|
5480
|
-
const getInitialState = (key, defaultValue) => {
|
|
5480
|
+
const getInitialState$1 = (key, defaultValue) => {
|
|
5481
5481
|
if (defaultValue !== void 0) {
|
|
5482
5482
|
return defaultValue;
|
|
5483
5483
|
}
|
|
@@ -5491,9 +5491,9 @@ const getInitialState = (key, defaultValue) => {
|
|
|
5491
5491
|
}
|
|
5492
5492
|
return "";
|
|
5493
5493
|
};
|
|
5494
|
-
function useCookie(key, options = defaultOptions, defaultValue) {
|
|
5494
|
+
function useCookie(key, options = defaultOptions$1, defaultValue) {
|
|
5495
5495
|
const [cookieValue, setCookieValue] = useState(
|
|
5496
|
-
getInitialState(key, defaultValue)
|
|
5496
|
+
getInitialState$1(key, defaultValue)
|
|
5497
5497
|
);
|
|
5498
5498
|
useEffect(() => {
|
|
5499
5499
|
const getStoredValue = () => {
|
|
@@ -5603,7 +5603,7 @@ const defaultState = {
|
|
|
5603
5603
|
bottom: 0,
|
|
5604
5604
|
right: 0
|
|
5605
5605
|
};
|
|
5606
|
-
function useMeasure(target, options = defaultOptions) {
|
|
5606
|
+
function useMeasure(target, options = defaultOptions$1) {
|
|
5607
5607
|
const [rect, setRect] = useState(defaultState);
|
|
5608
5608
|
const stop = useResizeObserver(
|
|
5609
5609
|
target,
|
|
@@ -5627,4 +5627,109 @@ function useHover(target) {
|
|
|
5627
5627
|
return hovered;
|
|
5628
5628
|
}
|
|
5629
5629
|
|
|
5630
|
-
|
|
5630
|
+
const defaultOptions = {
|
|
5631
|
+
observe: false
|
|
5632
|
+
};
|
|
5633
|
+
const getInitialState = (defaultValue) => {
|
|
5634
|
+
if (defaultValue !== void 0) {
|
|
5635
|
+
return defaultValue;
|
|
5636
|
+
}
|
|
5637
|
+
if (isBrowser) {
|
|
5638
|
+
return "";
|
|
5639
|
+
}
|
|
5640
|
+
if (process.env.NODE_ENV !== "production") {
|
|
5641
|
+
console.warn(
|
|
5642
|
+
"`useCssVar` When server side rendering, defaultValue should be defined to prevent a hydration mismatches."
|
|
5643
|
+
);
|
|
5644
|
+
}
|
|
5645
|
+
return "";
|
|
5646
|
+
};
|
|
5647
|
+
function useCssVar(prop, target, defaultValue, options = defaultOptions) {
|
|
5648
|
+
const { observe } = options;
|
|
5649
|
+
const [variable, setVariable] = useState(
|
|
5650
|
+
getInitialState(defaultValue)
|
|
5651
|
+
);
|
|
5652
|
+
const element = useLatestElement(target);
|
|
5653
|
+
const observerRef = useRef();
|
|
5654
|
+
const set = useCallback(
|
|
5655
|
+
(v) => {
|
|
5656
|
+
if (element == null ? void 0 : element.style) {
|
|
5657
|
+
element == null ? void 0 : element.style.setProperty(prop, v);
|
|
5658
|
+
setVariable(v);
|
|
5659
|
+
}
|
|
5660
|
+
},
|
|
5661
|
+
[element, prop]
|
|
5662
|
+
);
|
|
5663
|
+
const updateCssVar = useCallback(() => {
|
|
5664
|
+
var _a;
|
|
5665
|
+
if (element) {
|
|
5666
|
+
const value = (_a = window.getComputedStyle(element).getPropertyValue(prop)) == null ? void 0 : _a.trim();
|
|
5667
|
+
setVariable(value);
|
|
5668
|
+
}
|
|
5669
|
+
}, [element, prop]);
|
|
5670
|
+
useEffect(() => {
|
|
5671
|
+
var _a;
|
|
5672
|
+
if (!element) {
|
|
5673
|
+
return;
|
|
5674
|
+
}
|
|
5675
|
+
const value = (_a = window.getComputedStyle(element).getPropertyValue(prop)) == null ? void 0 : _a.trim();
|
|
5676
|
+
if (!value && defaultValue) {
|
|
5677
|
+
set(defaultValue);
|
|
5678
|
+
} else {
|
|
5679
|
+
updateCssVar();
|
|
5680
|
+
}
|
|
5681
|
+
if (!observe) {
|
|
5682
|
+
return;
|
|
5683
|
+
}
|
|
5684
|
+
observerRef.current = new MutationObserver(updateCssVar);
|
|
5685
|
+
observerRef.current.observe(element, {
|
|
5686
|
+
attributeFilter: ["style", "class"]
|
|
5687
|
+
});
|
|
5688
|
+
return () => {
|
|
5689
|
+
if (observerRef.current) {
|
|
5690
|
+
observerRef.current.disconnect();
|
|
5691
|
+
}
|
|
5692
|
+
};
|
|
5693
|
+
}, [observe, element, updateCssVar, set, defaultValue, prop]);
|
|
5694
|
+
return [variable, set];
|
|
5695
|
+
}
|
|
5696
|
+
|
|
5697
|
+
const topVarName = "--reactuse-safe-area-top";
|
|
5698
|
+
const rightVarName = "--reactuse-safe-area-right";
|
|
5699
|
+
const bottomVarName = "--reactuse-safe-area-bottom";
|
|
5700
|
+
const leftVarName = "--reactuse-safe-area-left";
|
|
5701
|
+
const defaultElement = () => document.documentElement;
|
|
5702
|
+
function useScreenSafeArea() {
|
|
5703
|
+
const top = useRef("");
|
|
5704
|
+
const right = useRef("");
|
|
5705
|
+
const bottom = useRef("");
|
|
5706
|
+
const left = useRef("");
|
|
5707
|
+
const forceUpdate = useUpdate();
|
|
5708
|
+
useCssVar(topVarName, defaultElement, "env(safe-area-inset-top, 0px)");
|
|
5709
|
+
useCssVar(rightVarName, defaultElement, "env(safe-area-inset-right, 0px)");
|
|
5710
|
+
useCssVar(bottomVarName, defaultElement, "env(safe-area-inset-bottom, 0px)");
|
|
5711
|
+
useCssVar(leftVarName, defaultElement, "env(safe-area-inset-left, 0px)");
|
|
5712
|
+
const { run: update } = useDebounceFn(() => {
|
|
5713
|
+
top.current = getValue(topVarName);
|
|
5714
|
+
right.current = getValue(rightVarName);
|
|
5715
|
+
bottom.current = getValue(bottomVarName);
|
|
5716
|
+
left.current = getValue(leftVarName);
|
|
5717
|
+
forceUpdate();
|
|
5718
|
+
});
|
|
5719
|
+
useEffect(() => {
|
|
5720
|
+
update();
|
|
5721
|
+
}, [update]);
|
|
5722
|
+
useEventListener("resize", update);
|
|
5723
|
+
return [
|
|
5724
|
+
top.current,
|
|
5725
|
+
right.current,
|
|
5726
|
+
bottom.current,
|
|
5727
|
+
left.current,
|
|
5728
|
+
update
|
|
5729
|
+
];
|
|
5730
|
+
}
|
|
5731
|
+
function getValue(position) {
|
|
5732
|
+
return getComputedStyle(document.documentElement).getPropertyValue(position);
|
|
5733
|
+
}
|
|
5734
|
+
|
|
5735
|
+
export { getHMSTime, useActiveElement, useAsyncEffect, useClickOutside, useClipBorad as useClipboard, useControlled, useCookie, useCountDown, useCounter, useCssVar, useCustomCompareEffect, useCycleList, useDarkMode, useDebounce, useDebounceFn, useDeepCompareEffect, useDocumentVisibility, useDoubleClick, useDraggable, useDropZone, useElementBounding, useElementSize, useElementVisibility, useEvent, useEventEmitter, useEventListener, useEyeDropper, useFavicon, useFileDialog, useFirstMountState, useFocus, index$2 as useFps, useFullscreen, useGeolocation, useHover, useIdle, useInfiniteScroll, useIntersectionObserver, useInterval, useIsomorphicLayoutEffect, useKeyModifier, useLatest, useLocalStorage, useLongPress, useMeasure, useMediaDevices, useMediaQuery, useMount, useMountedState, useMouse, useMousePressed, useMutationObserver, useNetwork, useObjectUrl, index$1 as useOnceEffect, index as useOnceLayoutEffect, useOnline, useOrientation, usePageLeave, usePermission, usePreferredColorScheme, usePreferredContrast, usePreferredDark, usePrevious, useRafFn, useRafState, useReducedMotion, useResizeObserver, useScreenSafeArea, useScriptTag, useScroll, useScrollIntoView, useScrollLock, useSessionStorage, useSetState, useSticky, useSupported, useTextDirection, useTextSelection, useThrottle, useThrottleFn, useTimeout, useTimeoutFn, useTitle, useToggle, useUnmount, useUpdate, useUpdateEffect, index$3 as useUpdateLayoutEffect, useVirtualList, useWindowScroll, useWindowSize, useWindowsFocus };
|