@reactuses/core 2.0.0 → 2.0.2
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 +59 -28
- package/dist/index.d.ts +3 -1
- package/dist/index.mjs +59 -29
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -547,8 +547,8 @@ function useDeepCompareEffect(effect, deps) {
|
|
|
547
547
|
|
|
548
548
|
function useEventListener(eventName, handler, element, options) {
|
|
549
549
|
const savedHandler = useLatest(handler);
|
|
550
|
+
const targetElement = getTargetElement(element, defaultWindow);
|
|
550
551
|
useDeepCompareEffect(() => {
|
|
551
|
-
const targetElement = getTargetElement(element, window);
|
|
552
552
|
if (!(targetElement && targetElement.addEventListener)) {
|
|
553
553
|
return;
|
|
554
554
|
}
|
|
@@ -557,7 +557,7 @@ function useEventListener(eventName, handler, element, options) {
|
|
|
557
557
|
return () => {
|
|
558
558
|
off(targetElement, eventName, eventListener);
|
|
559
559
|
};
|
|
560
|
-
}, [eventName,
|
|
560
|
+
}, [eventName, targetElement, options, savedHandler]);
|
|
561
561
|
}
|
|
562
562
|
|
|
563
563
|
function useCounter(initialValue = 0, max = null, min = null) {
|
|
@@ -701,20 +701,20 @@ function useFavicon(href, baseUrl = "", rel = "icon") {
|
|
|
701
701
|
function useMutationObserver(callback, target, options = {}) {
|
|
702
702
|
const callbackRef = useLatest(callback);
|
|
703
703
|
const observerRef = React.useRef();
|
|
704
|
+
const element = getTargetElement(target);
|
|
704
705
|
const stop = React.useCallback(() => {
|
|
705
706
|
if (observerRef.current) {
|
|
706
707
|
observerRef.current.disconnect();
|
|
707
708
|
}
|
|
708
709
|
}, []);
|
|
709
710
|
useDeepCompareEffect(() => {
|
|
710
|
-
const element = getTargetElement(target);
|
|
711
711
|
if (!element) {
|
|
712
712
|
return;
|
|
713
713
|
}
|
|
714
714
|
observerRef.current = new MutationObserver(callbackRef.current);
|
|
715
715
|
observerRef.current.observe(element, options);
|
|
716
716
|
return stop;
|
|
717
|
-
}, [options,
|
|
717
|
+
}, [options, element]);
|
|
718
718
|
return stop;
|
|
719
719
|
}
|
|
720
720
|
|
|
@@ -1499,13 +1499,13 @@ function useOrientation(initialState = defaultState) {
|
|
|
1499
1499
|
function useIntersectionObserver(target, callback, options = {}) {
|
|
1500
1500
|
const savedCallback = useLatest(callback);
|
|
1501
1501
|
const observerRef = React.useRef();
|
|
1502
|
+
const element = getTargetElement(target);
|
|
1502
1503
|
const stop = React.useCallback(() => {
|
|
1503
1504
|
if (observerRef.current) {
|
|
1504
1505
|
observerRef.current.disconnect();
|
|
1505
1506
|
}
|
|
1506
1507
|
}, []);
|
|
1507
1508
|
useDeepCompareEffect(() => {
|
|
1508
|
-
const element = getTargetElement(target);
|
|
1509
1509
|
if (!element) {
|
|
1510
1510
|
return;
|
|
1511
1511
|
}
|
|
@@ -1515,7 +1515,7 @@ function useIntersectionObserver(target, callback, options = {}) {
|
|
|
1515
1515
|
);
|
|
1516
1516
|
observerRef.current.observe(element);
|
|
1517
1517
|
return stop;
|
|
1518
|
-
}, [options,
|
|
1518
|
+
}, [options, element]);
|
|
1519
1519
|
return stop;
|
|
1520
1520
|
}
|
|
1521
1521
|
|
|
@@ -1555,20 +1555,20 @@ function useDocumentVisibility() {
|
|
|
1555
1555
|
function useResizeObserver(target, callback, options = {}) {
|
|
1556
1556
|
const savedCallback = useLatest(callback);
|
|
1557
1557
|
const observerRef = React.useRef();
|
|
1558
|
+
const element = getTargetElement(target);
|
|
1558
1559
|
const stop = React.useCallback(() => {
|
|
1559
1560
|
if (observerRef.current) {
|
|
1560
1561
|
observerRef.current.disconnect();
|
|
1561
1562
|
}
|
|
1562
1563
|
}, []);
|
|
1563
1564
|
useDeepCompareEffect(() => {
|
|
1564
|
-
const element = getTargetElement(target);
|
|
1565
1565
|
if (!element) {
|
|
1566
1566
|
return;
|
|
1567
1567
|
}
|
|
1568
1568
|
observerRef.current = new ResizeObserver(savedCallback.current);
|
|
1569
1569
|
observerRef.current.observe(element, options);
|
|
1570
1570
|
return stop;
|
|
1571
|
-
}, [options,
|
|
1571
|
+
}, [options, element]);
|
|
1572
1572
|
return stop;
|
|
1573
1573
|
}
|
|
1574
1574
|
|
|
@@ -1764,7 +1764,7 @@ var __spreadValues = (a, b) => {
|
|
|
1764
1764
|
return a;
|
|
1765
1765
|
};
|
|
1766
1766
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
1767
|
-
var __async$
|
|
1767
|
+
var __async$2 = (__this, __arguments, generator) => {
|
|
1768
1768
|
return new Promise((resolve, reject) => {
|
|
1769
1769
|
var fulfilled = (value) => {
|
|
1770
1770
|
try {
|
|
@@ -1793,11 +1793,11 @@ function useInfiniteScroll(target, onLoadMore, options = {}) {
|
|
|
1793
1793
|
[direction]: (_b = options.distance) != null ? _b : 0
|
|
1794
1794
|
}, options.offset)
|
|
1795
1795
|
}));
|
|
1796
|
+
const element = getTargetElement(target);
|
|
1796
1797
|
const di = state[3][direction];
|
|
1797
1798
|
useUpdateEffect(() => {
|
|
1798
|
-
const fn = () => __async$
|
|
1799
|
+
const fn = () => __async$2(this, null, function* () {
|
|
1799
1800
|
var _a2, _b2;
|
|
1800
|
-
const element = getTargetElement(target);
|
|
1801
1801
|
const previous = {
|
|
1802
1802
|
height: (_a2 = element == null ? void 0 : element.scrollHeight) != null ? _a2 : 0,
|
|
1803
1803
|
width: (_b2 = element == null ? void 0 : element.scrollWidth) != null ? _b2 : 0
|
|
@@ -1811,7 +1811,7 @@ function useInfiniteScroll(target, onLoadMore, options = {}) {
|
|
|
1811
1811
|
}
|
|
1812
1812
|
});
|
|
1813
1813
|
fn();
|
|
1814
|
-
}, [di, options.preserveScrollPosition,
|
|
1814
|
+
}, [di, options.preserveScrollPosition, element]);
|
|
1815
1815
|
}
|
|
1816
1816
|
|
|
1817
1817
|
const defaultEvents = [
|
|
@@ -1848,6 +1848,7 @@ function useMousePressed(target, options = {}) {
|
|
|
1848
1848
|
const { touch = true, drag = true, initialValue = false } = options;
|
|
1849
1849
|
const [pressed, setPressed] = React.useState(initialValue);
|
|
1850
1850
|
const [sourceType, setSourceType] = React.useState(null);
|
|
1851
|
+
const element = getTargetElement(target);
|
|
1851
1852
|
const onPressed = React.useCallback(
|
|
1852
1853
|
(srcType) => () => {
|
|
1853
1854
|
setPressed(true);
|
|
@@ -1863,7 +1864,6 @@ function useMousePressed(target, options = {}) {
|
|
|
1863
1864
|
useEventListener("mouseleave", onReleased, () => window, { passive: true });
|
|
1864
1865
|
useEventListener("mouseup", onReleased, () => window, { passive: true });
|
|
1865
1866
|
React.useEffect(() => {
|
|
1866
|
-
const element = getTargetElement(target);
|
|
1867
1867
|
if (drag) {
|
|
1868
1868
|
element == null ? void 0 : element.addEventListener("dragstart", onPressed("mouse"), {
|
|
1869
1869
|
passive: true
|
|
@@ -1898,7 +1898,7 @@ function useMousePressed(target, options = {}) {
|
|
|
1898
1898
|
element == null ? void 0 : element.removeEventListener("touchcancel", onReleased);
|
|
1899
1899
|
}
|
|
1900
1900
|
};
|
|
1901
|
-
}, [drag, onPressed, onReleased,
|
|
1901
|
+
}, [drag, onPressed, onReleased, element, touch]);
|
|
1902
1902
|
return [pressed, sourceType];
|
|
1903
1903
|
}
|
|
1904
1904
|
|
|
@@ -1915,17 +1915,16 @@ function preventDefault(rawEvent) {
|
|
|
1915
1915
|
function useScrollLock(target, initialState = false) {
|
|
1916
1916
|
const [locked, setLocked] = React.useState(initialState);
|
|
1917
1917
|
const initialOverflowRef = React.useRef("scroll");
|
|
1918
|
+
const element = getTargetElement(target);
|
|
1918
1919
|
React.useEffect(() => {
|
|
1919
|
-
const element = getTargetElement(target);
|
|
1920
1920
|
if (element) {
|
|
1921
1921
|
initialOverflowRef.current = element.style.overflow;
|
|
1922
1922
|
if (locked) {
|
|
1923
1923
|
element.style.overflow = "hidden";
|
|
1924
1924
|
}
|
|
1925
1925
|
}
|
|
1926
|
-
}, [locked,
|
|
1926
|
+
}, [locked, element]);
|
|
1927
1927
|
const lock = useEvent(() => {
|
|
1928
|
-
const element = getTargetElement(target);
|
|
1929
1928
|
if (!element || locked) {
|
|
1930
1929
|
return;
|
|
1931
1930
|
}
|
|
@@ -1935,7 +1934,6 @@ function useScrollLock(target, initialState = false) {
|
|
|
1935
1934
|
setLocked(true);
|
|
1936
1935
|
});
|
|
1937
1936
|
const unlock = useEvent(() => {
|
|
1938
|
-
const element = getTargetElement(target);
|
|
1939
1937
|
if (!element || !locked) {
|
|
1940
1938
|
return;
|
|
1941
1939
|
}
|
|
@@ -2341,7 +2339,7 @@ function useWindowScroll() {
|
|
|
2341
2339
|
return state;
|
|
2342
2340
|
}
|
|
2343
2341
|
|
|
2344
|
-
var __async = (__this, __arguments, generator) => {
|
|
2342
|
+
var __async$1 = (__this, __arguments, generator) => {
|
|
2345
2343
|
return new Promise((resolve, reject) => {
|
|
2346
2344
|
var fulfilled = (value) => {
|
|
2347
2345
|
try {
|
|
@@ -2370,7 +2368,7 @@ function useClipBorad() {
|
|
|
2370
2368
|
}, []);
|
|
2371
2369
|
useEventListener("copy", updateText);
|
|
2372
2370
|
useEventListener("cut", updateText);
|
|
2373
|
-
const copy = React.useCallback((txt) => __async(this, null, function* () {
|
|
2371
|
+
const copy = React.useCallback((txt) => __async$1(this, null, function* () {
|
|
2374
2372
|
setText(txt);
|
|
2375
2373
|
yield window.navigator.clipboard.writeText(txt);
|
|
2376
2374
|
}), []);
|
|
@@ -2689,8 +2687,9 @@ const useSticky = ({
|
|
|
2689
2687
|
nav = 0
|
|
2690
2688
|
}) => {
|
|
2691
2689
|
const [isSticky, setSticky] = React.useState(false);
|
|
2690
|
+
const element = getTargetElement(targetElement);
|
|
2691
|
+
const scrollParent = getTargetElement(scrollElement) || getScrollParent(axis, element);
|
|
2692
2692
|
const { run: scrollHandler } = useThrottleFn(() => {
|
|
2693
|
-
const element = getTargetElement(targetElement);
|
|
2694
2693
|
if (!element) {
|
|
2695
2694
|
return;
|
|
2696
2695
|
}
|
|
@@ -2702,12 +2701,7 @@ const useSticky = ({
|
|
|
2702
2701
|
}
|
|
2703
2702
|
}, 50);
|
|
2704
2703
|
React.useEffect(() => {
|
|
2705
|
-
|
|
2706
|
-
if (!element) {
|
|
2707
|
-
return;
|
|
2708
|
-
}
|
|
2709
|
-
const scrollParent = getTargetElement(scrollElement) || getScrollParent(axis, element);
|
|
2710
|
-
if (!scrollParent) {
|
|
2704
|
+
if (!element || !scrollParent) {
|
|
2711
2705
|
return;
|
|
2712
2706
|
}
|
|
2713
2707
|
scrollParent.addEventListener("scroll", scrollHandler);
|
|
@@ -2715,11 +2709,48 @@ const useSticky = ({
|
|
|
2715
2709
|
return () => {
|
|
2716
2710
|
scrollParent.removeEventListener("scroll", scrollHandler);
|
|
2717
2711
|
};
|
|
2718
|
-
}, [axis,
|
|
2712
|
+
}, [axis, element, scrollHandler, scrollParent]);
|
|
2719
2713
|
return [isSticky, setSticky];
|
|
2720
2714
|
};
|
|
2721
2715
|
|
|
2716
|
+
var __async = (__this, __arguments, generator) => {
|
|
2717
|
+
return new Promise((resolve, reject) => {
|
|
2718
|
+
var fulfilled = (value) => {
|
|
2719
|
+
try {
|
|
2720
|
+
step(generator.next(value));
|
|
2721
|
+
} catch (e) {
|
|
2722
|
+
reject(e);
|
|
2723
|
+
}
|
|
2724
|
+
};
|
|
2725
|
+
var rejected = (value) => {
|
|
2726
|
+
try {
|
|
2727
|
+
step(generator.throw(value));
|
|
2728
|
+
} catch (e) {
|
|
2729
|
+
reject(e);
|
|
2730
|
+
}
|
|
2731
|
+
};
|
|
2732
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
2733
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
2734
|
+
});
|
|
2735
|
+
};
|
|
2736
|
+
function useAsyncEffect(effect, cleanup = noop, deps) {
|
|
2737
|
+
const mounted = useMountedState();
|
|
2738
|
+
React.useEffect(() => {
|
|
2739
|
+
const execute = () => __async(this, null, function* () {
|
|
2740
|
+
if (!mounted()) {
|
|
2741
|
+
return;
|
|
2742
|
+
}
|
|
2743
|
+
yield effect();
|
|
2744
|
+
});
|
|
2745
|
+
execute();
|
|
2746
|
+
return () => {
|
|
2747
|
+
cleanup();
|
|
2748
|
+
};
|
|
2749
|
+
}, deps);
|
|
2750
|
+
}
|
|
2751
|
+
|
|
2722
2752
|
exports.useActiveElement = useActiveElement;
|
|
2753
|
+
exports.useAsyncEffect = useAsyncEffect;
|
|
2723
2754
|
exports.useClickOutside = useClickOutSide;
|
|
2724
2755
|
exports.useClipboard = useClipBorad;
|
|
2725
2756
|
exports.useControlled = useControlled;
|
package/dist/index.d.ts
CHANGED
|
@@ -792,4 +792,6 @@ declare const useSticky: ({ targetElement, scrollElement, axis, nav, }: UseStick
|
|
|
792
792
|
react__default.Dispatch<react__default.SetStateAction<boolean>>
|
|
793
793
|
];
|
|
794
794
|
|
|
795
|
-
|
|
795
|
+
declare function useAsyncEffect<T extends void>(effect: () => Promise<T> | T, cleanup?: typeof effect, deps?: DependencyList): void;
|
|
796
|
+
|
|
797
|
+
export { ColorScheme, Contrast, CursorState, GeneralPermissionDescriptor, IDisposable, IEvent, IEventOnce, IListener, INetworkInformation, IState, IUseNetworkState, KeyModifier, MousePressedOptions, MouseSourceType, OrientationState, RafLoopReturns, ScrollIntoViewAnimation, ScrollIntoViewParams, State, Status, Target, UseDarkOptions, UseDraggableOptions, UseElementBoundingOptions, UseEventEmitterReturn, UseFileDialogOptions, UseFpsOptions, UseFullScreenOptions, UseInfiniteScrollOptions, UseLongPressOptions, UseModifierOptions, UseScriptTagOptions, UseScrollOptions, UseStickyParams, UseTextDirectionOptions, UseTextDirectionValue, UseTimeoutFnOptions, UseVirtualListItem, UseVirtualListOptions, UseVirtualListReturn, WindowSize, useActiveElement, useAsyncEffect, useClickOutSide as useClickOutside, useClipBorad as useClipboard, useControlled, useCounter, useCustomCompareEffect, useCycleList, useDarkMode, useDebounce, useDebounceFn, useDeepCompareEffect, useDocumentVisibility, useDraggable, useDropZone, useElementBounding, useElementSize, useElementVisibility, useEvent, useEventEmitter, useEventListener, useFavicon, useFileDialog, useFirstMountState, useFocus, _default$2 as useFps, useFullscreen, useGeolocation, useIdle, useInfiniteScroll, useIntersectionObserver, useInterval, useIsomorphicLayoutEffect, useKeyModifier, useLatest, useLocalStorage, useLongPress, _default$3 as 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, useScriptTag, useScroll, useScrollIntoView, useScrollLock, useSessionStorage, useSticky, useTextDirection, useThrottle, useThrottleFn, useTimeout, useTimeoutFn, useTitle, useToggle, useUnmount, useUpdate, _default$5 as useUpdateEffect, _default$4 as useUpdateLayoutEffect, useVirtualList, useWindowScroll, useWindowSize, useWindowsFocus };
|
package/dist/index.mjs
CHANGED
|
@@ -539,8 +539,8 @@ function useDeepCompareEffect(effect, deps) {
|
|
|
539
539
|
|
|
540
540
|
function useEventListener(eventName, handler, element, options) {
|
|
541
541
|
const savedHandler = useLatest(handler);
|
|
542
|
+
const targetElement = getTargetElement(element, defaultWindow);
|
|
542
543
|
useDeepCompareEffect(() => {
|
|
543
|
-
const targetElement = getTargetElement(element, window);
|
|
544
544
|
if (!(targetElement && targetElement.addEventListener)) {
|
|
545
545
|
return;
|
|
546
546
|
}
|
|
@@ -549,7 +549,7 @@ function useEventListener(eventName, handler, element, options) {
|
|
|
549
549
|
return () => {
|
|
550
550
|
off(targetElement, eventName, eventListener);
|
|
551
551
|
};
|
|
552
|
-
}, [eventName,
|
|
552
|
+
}, [eventName, targetElement, options, savedHandler]);
|
|
553
553
|
}
|
|
554
554
|
|
|
555
555
|
function useCounter(initialValue = 0, max = null, min = null) {
|
|
@@ -693,20 +693,20 @@ function useFavicon(href, baseUrl = "", rel = "icon") {
|
|
|
693
693
|
function useMutationObserver(callback, target, options = {}) {
|
|
694
694
|
const callbackRef = useLatest(callback);
|
|
695
695
|
const observerRef = useRef();
|
|
696
|
+
const element = getTargetElement(target);
|
|
696
697
|
const stop = useCallback(() => {
|
|
697
698
|
if (observerRef.current) {
|
|
698
699
|
observerRef.current.disconnect();
|
|
699
700
|
}
|
|
700
701
|
}, []);
|
|
701
702
|
useDeepCompareEffect(() => {
|
|
702
|
-
const element = getTargetElement(target);
|
|
703
703
|
if (!element) {
|
|
704
704
|
return;
|
|
705
705
|
}
|
|
706
706
|
observerRef.current = new MutationObserver(callbackRef.current);
|
|
707
707
|
observerRef.current.observe(element, options);
|
|
708
708
|
return stop;
|
|
709
|
-
}, [options,
|
|
709
|
+
}, [options, element]);
|
|
710
710
|
return stop;
|
|
711
711
|
}
|
|
712
712
|
|
|
@@ -1491,13 +1491,13 @@ function useOrientation(initialState = defaultState) {
|
|
|
1491
1491
|
function useIntersectionObserver(target, callback, options = {}) {
|
|
1492
1492
|
const savedCallback = useLatest(callback);
|
|
1493
1493
|
const observerRef = useRef();
|
|
1494
|
+
const element = getTargetElement(target);
|
|
1494
1495
|
const stop = useCallback(() => {
|
|
1495
1496
|
if (observerRef.current) {
|
|
1496
1497
|
observerRef.current.disconnect();
|
|
1497
1498
|
}
|
|
1498
1499
|
}, []);
|
|
1499
1500
|
useDeepCompareEffect(() => {
|
|
1500
|
-
const element = getTargetElement(target);
|
|
1501
1501
|
if (!element) {
|
|
1502
1502
|
return;
|
|
1503
1503
|
}
|
|
@@ -1507,7 +1507,7 @@ function useIntersectionObserver(target, callback, options = {}) {
|
|
|
1507
1507
|
);
|
|
1508
1508
|
observerRef.current.observe(element);
|
|
1509
1509
|
return stop;
|
|
1510
|
-
}, [options,
|
|
1510
|
+
}, [options, element]);
|
|
1511
1511
|
return stop;
|
|
1512
1512
|
}
|
|
1513
1513
|
|
|
@@ -1547,20 +1547,20 @@ function useDocumentVisibility() {
|
|
|
1547
1547
|
function useResizeObserver(target, callback, options = {}) {
|
|
1548
1548
|
const savedCallback = useLatest(callback);
|
|
1549
1549
|
const observerRef = useRef();
|
|
1550
|
+
const element = getTargetElement(target);
|
|
1550
1551
|
const stop = useCallback(() => {
|
|
1551
1552
|
if (observerRef.current) {
|
|
1552
1553
|
observerRef.current.disconnect();
|
|
1553
1554
|
}
|
|
1554
1555
|
}, []);
|
|
1555
1556
|
useDeepCompareEffect(() => {
|
|
1556
|
-
const element = getTargetElement(target);
|
|
1557
1557
|
if (!element) {
|
|
1558
1558
|
return;
|
|
1559
1559
|
}
|
|
1560
1560
|
observerRef.current = new ResizeObserver(savedCallback.current);
|
|
1561
1561
|
observerRef.current.observe(element, options);
|
|
1562
1562
|
return stop;
|
|
1563
|
-
}, [options,
|
|
1563
|
+
}, [options, element]);
|
|
1564
1564
|
return stop;
|
|
1565
1565
|
}
|
|
1566
1566
|
|
|
@@ -1756,7 +1756,7 @@ var __spreadValues = (a, b) => {
|
|
|
1756
1756
|
return a;
|
|
1757
1757
|
};
|
|
1758
1758
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
1759
|
-
var __async$
|
|
1759
|
+
var __async$2 = (__this, __arguments, generator) => {
|
|
1760
1760
|
return new Promise((resolve, reject) => {
|
|
1761
1761
|
var fulfilled = (value) => {
|
|
1762
1762
|
try {
|
|
@@ -1785,11 +1785,11 @@ function useInfiniteScroll(target, onLoadMore, options = {}) {
|
|
|
1785
1785
|
[direction]: (_b = options.distance) != null ? _b : 0
|
|
1786
1786
|
}, options.offset)
|
|
1787
1787
|
}));
|
|
1788
|
+
const element = getTargetElement(target);
|
|
1788
1789
|
const di = state[3][direction];
|
|
1789
1790
|
useUpdateEffect(() => {
|
|
1790
|
-
const fn = () => __async$
|
|
1791
|
+
const fn = () => __async$2(this, null, function* () {
|
|
1791
1792
|
var _a2, _b2;
|
|
1792
|
-
const element = getTargetElement(target);
|
|
1793
1793
|
const previous = {
|
|
1794
1794
|
height: (_a2 = element == null ? void 0 : element.scrollHeight) != null ? _a2 : 0,
|
|
1795
1795
|
width: (_b2 = element == null ? void 0 : element.scrollWidth) != null ? _b2 : 0
|
|
@@ -1803,7 +1803,7 @@ function useInfiniteScroll(target, onLoadMore, options = {}) {
|
|
|
1803
1803
|
}
|
|
1804
1804
|
});
|
|
1805
1805
|
fn();
|
|
1806
|
-
}, [di, options.preserveScrollPosition,
|
|
1806
|
+
}, [di, options.preserveScrollPosition, element]);
|
|
1807
1807
|
}
|
|
1808
1808
|
|
|
1809
1809
|
const defaultEvents = [
|
|
@@ -1840,6 +1840,7 @@ function useMousePressed(target, options = {}) {
|
|
|
1840
1840
|
const { touch = true, drag = true, initialValue = false } = options;
|
|
1841
1841
|
const [pressed, setPressed] = useState(initialValue);
|
|
1842
1842
|
const [sourceType, setSourceType] = useState(null);
|
|
1843
|
+
const element = getTargetElement(target);
|
|
1843
1844
|
const onPressed = useCallback(
|
|
1844
1845
|
(srcType) => () => {
|
|
1845
1846
|
setPressed(true);
|
|
@@ -1855,7 +1856,6 @@ function useMousePressed(target, options = {}) {
|
|
|
1855
1856
|
useEventListener("mouseleave", onReleased, () => window, { passive: true });
|
|
1856
1857
|
useEventListener("mouseup", onReleased, () => window, { passive: true });
|
|
1857
1858
|
useEffect(() => {
|
|
1858
|
-
const element = getTargetElement(target);
|
|
1859
1859
|
if (drag) {
|
|
1860
1860
|
element == null ? void 0 : element.addEventListener("dragstart", onPressed("mouse"), {
|
|
1861
1861
|
passive: true
|
|
@@ -1890,7 +1890,7 @@ function useMousePressed(target, options = {}) {
|
|
|
1890
1890
|
element == null ? void 0 : element.removeEventListener("touchcancel", onReleased);
|
|
1891
1891
|
}
|
|
1892
1892
|
};
|
|
1893
|
-
}, [drag, onPressed, onReleased,
|
|
1893
|
+
}, [drag, onPressed, onReleased, element, touch]);
|
|
1894
1894
|
return [pressed, sourceType];
|
|
1895
1895
|
}
|
|
1896
1896
|
|
|
@@ -1907,17 +1907,16 @@ function preventDefault(rawEvent) {
|
|
|
1907
1907
|
function useScrollLock(target, initialState = false) {
|
|
1908
1908
|
const [locked, setLocked] = useState(initialState);
|
|
1909
1909
|
const initialOverflowRef = useRef("scroll");
|
|
1910
|
+
const element = getTargetElement(target);
|
|
1910
1911
|
useEffect(() => {
|
|
1911
|
-
const element = getTargetElement(target);
|
|
1912
1912
|
if (element) {
|
|
1913
1913
|
initialOverflowRef.current = element.style.overflow;
|
|
1914
1914
|
if (locked) {
|
|
1915
1915
|
element.style.overflow = "hidden";
|
|
1916
1916
|
}
|
|
1917
1917
|
}
|
|
1918
|
-
}, [locked,
|
|
1918
|
+
}, [locked, element]);
|
|
1919
1919
|
const lock = useEvent(() => {
|
|
1920
|
-
const element = getTargetElement(target);
|
|
1921
1920
|
if (!element || locked) {
|
|
1922
1921
|
return;
|
|
1923
1922
|
}
|
|
@@ -1927,7 +1926,6 @@ function useScrollLock(target, initialState = false) {
|
|
|
1927
1926
|
setLocked(true);
|
|
1928
1927
|
});
|
|
1929
1928
|
const unlock = useEvent(() => {
|
|
1930
|
-
const element = getTargetElement(target);
|
|
1931
1929
|
if (!element || !locked) {
|
|
1932
1930
|
return;
|
|
1933
1931
|
}
|
|
@@ -2333,7 +2331,7 @@ function useWindowScroll() {
|
|
|
2333
2331
|
return state;
|
|
2334
2332
|
}
|
|
2335
2333
|
|
|
2336
|
-
var __async = (__this, __arguments, generator) => {
|
|
2334
|
+
var __async$1 = (__this, __arguments, generator) => {
|
|
2337
2335
|
return new Promise((resolve, reject) => {
|
|
2338
2336
|
var fulfilled = (value) => {
|
|
2339
2337
|
try {
|
|
@@ -2362,7 +2360,7 @@ function useClipBorad() {
|
|
|
2362
2360
|
}, []);
|
|
2363
2361
|
useEventListener("copy", updateText);
|
|
2364
2362
|
useEventListener("cut", updateText);
|
|
2365
|
-
const copy = useCallback((txt) => __async(this, null, function* () {
|
|
2363
|
+
const copy = useCallback((txt) => __async$1(this, null, function* () {
|
|
2366
2364
|
setText(txt);
|
|
2367
2365
|
yield window.navigator.clipboard.writeText(txt);
|
|
2368
2366
|
}), []);
|
|
@@ -2681,8 +2679,9 @@ const useSticky = ({
|
|
|
2681
2679
|
nav = 0
|
|
2682
2680
|
}) => {
|
|
2683
2681
|
const [isSticky, setSticky] = useState(false);
|
|
2682
|
+
const element = getTargetElement(targetElement);
|
|
2683
|
+
const scrollParent = getTargetElement(scrollElement) || getScrollParent(axis, element);
|
|
2684
2684
|
const { run: scrollHandler } = useThrottleFn(() => {
|
|
2685
|
-
const element = getTargetElement(targetElement);
|
|
2686
2685
|
if (!element) {
|
|
2687
2686
|
return;
|
|
2688
2687
|
}
|
|
@@ -2694,12 +2693,7 @@ const useSticky = ({
|
|
|
2694
2693
|
}
|
|
2695
2694
|
}, 50);
|
|
2696
2695
|
useEffect(() => {
|
|
2697
|
-
|
|
2698
|
-
if (!element) {
|
|
2699
|
-
return;
|
|
2700
|
-
}
|
|
2701
|
-
const scrollParent = getTargetElement(scrollElement) || getScrollParent(axis, element);
|
|
2702
|
-
if (!scrollParent) {
|
|
2696
|
+
if (!element || !scrollParent) {
|
|
2703
2697
|
return;
|
|
2704
2698
|
}
|
|
2705
2699
|
scrollParent.addEventListener("scroll", scrollHandler);
|
|
@@ -2707,8 +2701,44 @@ const useSticky = ({
|
|
|
2707
2701
|
return () => {
|
|
2708
2702
|
scrollParent.removeEventListener("scroll", scrollHandler);
|
|
2709
2703
|
};
|
|
2710
|
-
}, [axis,
|
|
2704
|
+
}, [axis, element, scrollHandler, scrollParent]);
|
|
2711
2705
|
return [isSticky, setSticky];
|
|
2712
2706
|
};
|
|
2713
2707
|
|
|
2714
|
-
|
|
2708
|
+
var __async = (__this, __arguments, generator) => {
|
|
2709
|
+
return new Promise((resolve, reject) => {
|
|
2710
|
+
var fulfilled = (value) => {
|
|
2711
|
+
try {
|
|
2712
|
+
step(generator.next(value));
|
|
2713
|
+
} catch (e) {
|
|
2714
|
+
reject(e);
|
|
2715
|
+
}
|
|
2716
|
+
};
|
|
2717
|
+
var rejected = (value) => {
|
|
2718
|
+
try {
|
|
2719
|
+
step(generator.throw(value));
|
|
2720
|
+
} catch (e) {
|
|
2721
|
+
reject(e);
|
|
2722
|
+
}
|
|
2723
|
+
};
|
|
2724
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
2725
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
2726
|
+
});
|
|
2727
|
+
};
|
|
2728
|
+
function useAsyncEffect(effect, cleanup = noop, deps) {
|
|
2729
|
+
const mounted = useMountedState();
|
|
2730
|
+
useEffect(() => {
|
|
2731
|
+
const execute = () => __async(this, null, function* () {
|
|
2732
|
+
if (!mounted()) {
|
|
2733
|
+
return;
|
|
2734
|
+
}
|
|
2735
|
+
yield effect();
|
|
2736
|
+
});
|
|
2737
|
+
execute();
|
|
2738
|
+
return () => {
|
|
2739
|
+
cleanup();
|
|
2740
|
+
};
|
|
2741
|
+
}, deps);
|
|
2742
|
+
}
|
|
2743
|
+
|
|
2744
|
+
export { useActiveElement, useAsyncEffect, useClickOutSide as useClickOutside, useClipBorad as useClipboard, useControlled, useCounter, useCustomCompareEffect, useCycleList, useDarkMode, useDebounce, useDebounceFn, useDeepCompareEffect, useDocumentVisibility, useDraggable, useDropZone, useElementBounding, useElementSize, useElementVisibility, useEvent, useEventEmitter, useEventListener, useFavicon, useFileDialog, useFirstMountState, useFocus, useFps$1 as useFps, useFullscreen, useGeolocation, useIdle, useInfiniteScroll, useIntersectionObserver, useInterval, useIsomorphicLayoutEffect, useKeyModifier, useLatest, useLocalStorage, useLongPress, useMediaDevices$1 as useMediaDevices, useMediaQuery, useMount, useMountedState, useMouse, useMousePressed, useMutationObserver, useNetwork, useObjectUrl, useOnceEffect, useOnceLayoutEffect, useOnline, useOrientation, usePageLeave, usePermission, usePreferredColorScheme, usePreferredContrast, usePreferredDark, usePrevious, useRafFn, useRafState, useReducedMotion, useResizeObserver, useScriptTag, useScroll, useScrollIntoView, useScrollLock, useSessionStorage, useSticky, useTextDirection, useThrottle, useThrottleFn, useTimeout, useTimeoutFn, useTitle, useToggle, useUnmount, useUpdate, useUpdateEffect, useUpdateLayoutEffect, useVirtualList, useWindowScroll, useWindowSize, useWindowsFocus };
|