@reactuses/core 5.0.18 → 5.0.19-beta.1

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 CHANGED
@@ -56,19 +56,6 @@ Refer to [documentations](https://reactuse.com/) for more details.
56
56
 
57
57
  <hr/>
58
58
 
59
- ## Sponsor Me
60
-
61
- If my work has helped you, consider buying me a cup of coffee. Thank you very much🥰!.
62
-
63
- [Buy me a coffee](https://www.buymeacoffee.com/lianwenwu)
64
-
65
- ### For Chinese User
66
-
67
- <p float="left">
68
- <img src="https://d21002cb.images-f3o.pages.dev/images/wechat.jpg" alt="Wechat Pay" width="200" />
69
- <img src="https://d21002cb.images-f3o.pages.dev/images/ali.jpg" alt="Ali Pay" width="200" />
70
- </p>
71
-
72
59
  ## Feedback
73
60
 
74
61
  You can submit an [issue](https://github.com/childrentime/reactuse/issues) or provide feedback on [Discord](https://discord.gg/HMsq6cFkKp).
@@ -94,3 +81,16 @@ This project is heavily inspired by the following awesome projects.
94
81
  - [vueuse](https://github.com/vueuse/vueuse)
95
82
 
96
83
  <hr/>
84
+
85
+ ## Sponsor Me
86
+
87
+ If my work has helped you, consider buying me a cup of coffee. Thank you very much🥰!.
88
+
89
+ [Buy me a coffee](https://www.buymeacoffee.com/lianwenwu)
90
+
91
+ ### For Chinese User
92
+
93
+ <p float="left">
94
+ <img src="https://d21002cb.images-f3o.pages.dev/images/wechat.jpg" alt="Wechat Pay" width="200" />
95
+ <img src="https://d21002cb.images-f3o.pages.dev/images/ali.jpg" alt="Ali Pay" width="200" />
96
+ </p>
package/dist/index.cjs CHANGED
@@ -207,7 +207,7 @@ const useClickOutside = (target, handler, enabled = true)=>{
207
207
  useEventListener('touchstart', listener, defaultWindow, listerOptions);
208
208
  };
209
209
 
210
- function getInitialState$4(key, defaultValue) {
210
+ function getInitialState$5(key, defaultValue) {
211
211
  // Prevent a React hydration mismatch when a default value is provided.
212
212
  if (defaultValue !== undefined) {
213
213
  return defaultValue;
@@ -221,7 +221,7 @@ function getInitialState$4(key, defaultValue) {
221
221
  return '';
222
222
  }
223
223
  const useCookie = (key, options = defaultOptions$1, defaultValue)=>{
224
- const [cookieValue, setCookieValue] = React.useState(getInitialState$4(key, defaultValue));
224
+ const [cookieValue, setCookieValue] = React.useState(getInitialState$5(key, defaultValue));
225
225
  React.useEffect(()=>{
226
226
  const getStoredValue = ()=>{
227
227
  const raw = Cookies__default.default.get(key);
@@ -442,7 +442,7 @@ const defaultOptions = {
442
442
  observe: false
443
443
  };
444
444
 
445
- function getInitialState$3(defaultValue) {
445
+ function getInitialState$4(defaultValue) {
446
446
  // Prevent a React hydration mismatch when a default value is provided.
447
447
  if (defaultValue !== undefined) {
448
448
  return defaultValue;
@@ -457,7 +457,7 @@ function getInitialState$3(defaultValue) {
457
457
  }
458
458
  const useCssVar = (prop, target, defaultValue, options = defaultOptions)=>{
459
459
  const { observe } = options;
460
- const [variable, setVariable] = React.useState(getInitialState$3(defaultValue));
460
+ const [variable, setVariable] = React.useState(getInitialState$4(defaultValue));
461
461
  const observerRef = React.useRef();
462
462
  const set = React.useCallback((v)=>{
463
463
  const element = getTargetElement(target);
@@ -579,7 +579,7 @@ const StorageSerializers = {
579
579
  write: (v)=>v.toISOString()
580
580
  }
581
581
  };
582
- function getInitialState$2(key, defaultValue, storage, serializer, onError) {
582
+ function getInitialState$3(key, defaultValue, storage, serializer, onError) {
583
583
  // Prevent a React hydration mismatch when a default value is provided.
584
584
  if (defaultValue !== undefined) {
585
585
  return defaultValue;
@@ -612,7 +612,7 @@ function useStorage(key, defaultValue, getStorage = ()=>isBrowser ? sessionStora
612
612
  const type = guessSerializerType(defaultValue);
613
613
  var _options_serializer;
614
614
  const serializer = (_options_serializer = options.serializer) != null ? _options_serializer : StorageSerializers[type];
615
- const [state, setState] = React.useState(getInitialState$2(key, defaultValue, storage, serializer, onError));
615
+ const [state, setState] = React.useState(getInitialState$3(key, defaultValue, storage, serializer, onError));
616
616
  useDeepCompareEffect(()=>{
617
617
  var _ref;
618
618
  const data = (_ref = effectStorageValue ? isFunction(effectStorageValue) ? effectStorageValue() : effectStorageValue : defaultValue) != null ? _ref : null;
@@ -755,7 +755,7 @@ const useDebounce = (value, wait, options)=>{
755
755
  return debounced;
756
756
  };
757
757
 
758
- function getInitialState$1(defaultValue) {
758
+ function getInitialState$2(defaultValue) {
759
759
  // Prevent a React hydration mismatch when a default value is provided.
760
760
  if (defaultValue !== undefined) {
761
761
  return defaultValue;
@@ -769,7 +769,7 @@ function getInitialState$1(defaultValue) {
769
769
  return 'visible';
770
770
  }
771
771
  function useDocumentVisibility(defaultValue) {
772
- const [visible, setVisible] = React.useState(getInitialState$1(defaultValue));
772
+ const [visible, setVisible] = React.useState(getInitialState$2(defaultValue));
773
773
  useEventListener('visibilitychange', ()=>{
774
774
  setVisible(document.visibilityState);
775
775
  }, ()=>document);
@@ -2035,7 +2035,7 @@ const useMediaDevices = (options = {})=>{
2035
2035
  ];
2036
2036
  };
2037
2037
 
2038
- function getInitialState(query, defaultState) {
2038
+ function getInitialState$1(query, defaultState) {
2039
2039
  // Prevent a React hydration mismatch when a default value is provided by not defaulting to window.matchMedia(query).matches.
2040
2040
  if (defaultState !== undefined) {
2041
2041
  return defaultState;
@@ -2050,7 +2050,7 @@ function getInitialState(query, defaultState) {
2050
2050
  return false;
2051
2051
  }
2052
2052
  const useMediaQuery = (query, defaultState)=>{
2053
- const [state, setState] = React.useState(getInitialState(query, defaultState));
2053
+ const [state, setState] = React.useState(getInitialState$1(query, defaultState));
2054
2054
  React.useEffect(()=>{
2055
2055
  let mounted = true;
2056
2056
  const mql = window.matchMedia(query);
@@ -3525,6 +3525,216 @@ const useEventSource = (url, events = [], options = defaultOptions$1)=>{
3525
3525
  }
3526
3526
  });
3527
3527
 
3528
+ function getInitialState(defaultState) {
3529
+ // Prevent a React hydration mismatch when a default value is provided by not defaulting to window.matchMedia(query).matches.
3530
+ if (defaultState !== undefined) {
3531
+ return defaultState;
3532
+ }
3533
+ if (isBrowser) {
3534
+ const navigator1 = window.navigator;
3535
+ return navigator1.languages;
3536
+ }
3537
+ // A default value has not been provided, and you are rendering on the server, warn of a possible hydration mismatch when defaulting to false.
3538
+ if (process.env.NODE_ENV !== 'production') {
3539
+ console.warn('`usePreferredLanguage` When server side rendering, defaultState should be defined to prevent a hydration mismatches.');
3540
+ }
3541
+ return [
3542
+ 'en'
3543
+ ];
3544
+ }
3545
+ const usePreferredLanguages = (defaultLanguages)=>{
3546
+ const [state, setState] = React.useState(getInitialState(defaultLanguages));
3547
+ useEventListener('languagechange', ()=>{
3548
+ setState(navigator.languages);
3549
+ });
3550
+ return state;
3551
+ };
3552
+
3553
+ const useBroadcastChannel = (options)=>{
3554
+ const { name } = options;
3555
+ const isSupported = useSupported(()=>window && 'BroadcastChannel' in window);
3556
+ const [isClosed, setIsClosed] = React.useState(false);
3557
+ const [data, setData] = React.useState();
3558
+ const [error, setError] = React.useState(null);
3559
+ const [timeStamp, setTimeStamp] = React.useState(0);
3560
+ const channelRef = React.useRef();
3561
+ const post = React.useCallback((data)=>{
3562
+ if (channelRef.current) {
3563
+ channelRef.current.postMessage(data);
3564
+ }
3565
+ }, []);
3566
+ const close = React.useCallback(()=>{
3567
+ if (channelRef.current) {
3568
+ channelRef.current.close();
3569
+ }
3570
+ setIsClosed(true);
3571
+ }, []);
3572
+ React.useEffect(()=>{
3573
+ if (isSupported) {
3574
+ channelRef.current = new BroadcastChannel(name);
3575
+ setError(null);
3576
+ const handleMessage = (e)=>{
3577
+ setData(e.data);
3578
+ // avoid data is same between two messages
3579
+ setTimeStamp(Date.now());
3580
+ };
3581
+ const handleError = (e)=>{
3582
+ setError(e);
3583
+ };
3584
+ const handleClose = ()=>{
3585
+ setIsClosed(true);
3586
+ };
3587
+ channelRef.current.addEventListener('message', handleMessage, {
3588
+ passive: true
3589
+ });
3590
+ channelRef.current.addEventListener('messageerror', handleError, {
3591
+ passive: true
3592
+ });
3593
+ channelRef.current.addEventListener('close', handleClose);
3594
+ return ()=>{
3595
+ if (channelRef.current) {
3596
+ channelRef.current.removeEventListener('message', handleMessage);
3597
+ channelRef.current.removeEventListener('messageerror', handleError);
3598
+ channelRef.current.removeEventListener('close', handleClose);
3599
+ close();
3600
+ }
3601
+ };
3602
+ }
3603
+ return close;
3604
+ }, [
3605
+ isSupported,
3606
+ name,
3607
+ close
3608
+ ]);
3609
+ return {
3610
+ isSupported,
3611
+ channel: channelRef.current,
3612
+ data,
3613
+ post,
3614
+ close,
3615
+ error,
3616
+ isClosed,
3617
+ timeStamp
3618
+ };
3619
+ };
3620
+
3621
+ const useDevicePixelRatio = ()=>{
3622
+ const [pixelRatio, setPixelRatio] = React.useState(1);
3623
+ const observe = React.useCallback(()=>{
3624
+ if (!window) return;
3625
+ setPixelRatio(window.devicePixelRatio);
3626
+ const media = window.matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`);
3627
+ const handleChange = ()=>{
3628
+ observe();
3629
+ };
3630
+ media.addEventListener('change', handleChange, {
3631
+ once: true
3632
+ });
3633
+ return ()=>{
3634
+ media.removeEventListener('change', handleChange);
3635
+ };
3636
+ }, []);
3637
+ React.useEffect(()=>{
3638
+ const cleanup = observe();
3639
+ return cleanup;
3640
+ }, [
3641
+ observe
3642
+ ]);
3643
+ return {
3644
+ pixelRatio
3645
+ };
3646
+ };
3647
+
3648
+ const useElementByPoint = (options)=>{
3649
+ const { x, y, document: doc = typeof document !== 'undefined' ? document : null, multiple = false, interval = 'requestAnimationFrame', immediate = true } = options;
3650
+ const isSupported = useSupported(()=>{
3651
+ if (multiple) return doc && 'elementsFromPoint' in doc;
3652
+ return doc && 'elementFromPoint' in doc;
3653
+ });
3654
+ const [element, setElement] = React.useState(null);
3655
+ const [isActive, setIsActive] = React.useState(immediate);
3656
+ const rafIdRef = React.useRef(null);
3657
+ const intervalIdRef = React.useRef(null);
3658
+ const getXY = React.useCallback(()=>{
3659
+ // 需要判断 NaN
3660
+ const currentX = typeof x === 'function' ? x() : x;
3661
+ const currentY = typeof y === 'function' ? y() : y;
3662
+ return {
3663
+ x: Number.isNaN(currentX) ? 0 : currentX,
3664
+ y: Number.isNaN(currentY) ? 0 : currentY
3665
+ };
3666
+ }, [
3667
+ x,
3668
+ y
3669
+ ]);
3670
+ const cb = React.useCallback(()=>{
3671
+ const { x: currentX, y: currentY } = getXY();
3672
+ var _doc_elementsFromPoint, _doc_elementFromPoint;
3673
+ setElement(multiple ? (_doc_elementsFromPoint = doc == null ? void 0 : doc.elementsFromPoint(currentX, currentY)) != null ? _doc_elementsFromPoint : [] : (_doc_elementFromPoint = doc == null ? void 0 : doc.elementFromPoint(currentX, currentY)) != null ? _doc_elementFromPoint : null);
3674
+ }, [
3675
+ doc,
3676
+ multiple,
3677
+ getXY
3678
+ ]);
3679
+ const cleanup = React.useCallback(()=>{
3680
+ if (rafIdRef.current !== null) {
3681
+ cancelAnimationFrame(rafIdRef.current);
3682
+ rafIdRef.current = null;
3683
+ }
3684
+ if (intervalIdRef.current !== null) {
3685
+ clearInterval(intervalIdRef.current);
3686
+ intervalIdRef.current = null;
3687
+ }
3688
+ }, []);
3689
+ const pause = React.useCallback(()=>{
3690
+ setIsActive(false);
3691
+ cleanup();
3692
+ }, [
3693
+ cleanup
3694
+ ]);
3695
+ const resume = React.useCallback(()=>{
3696
+ setIsActive(true);
3697
+ }, []);
3698
+ React.useEffect(()=>{
3699
+ if (!isActive) {
3700
+ return;
3701
+ }
3702
+ if (interval === 'requestAnimationFrame') {
3703
+ const runRaf = ()=>{
3704
+ cb();
3705
+ rafIdRef.current = requestAnimationFrame(runRaf);
3706
+ };
3707
+ runRaf();
3708
+ } else {
3709
+ cb();
3710
+ intervalIdRef.current = setInterval(cb, interval);
3711
+ }
3712
+ return cleanup;
3713
+ }, [
3714
+ isActive,
3715
+ interval,
3716
+ cb,
3717
+ cleanup
3718
+ ]);
3719
+ React.useEffect(()=>{
3720
+ if (immediate) {
3721
+ resume();
3722
+ }
3723
+ return pause;
3724
+ }, [
3725
+ immediate,
3726
+ resume,
3727
+ pause
3728
+ ]);
3729
+ return {
3730
+ isSupported,
3731
+ element,
3732
+ pause,
3733
+ resume,
3734
+ isActive
3735
+ };
3736
+ };
3737
+
3528
3738
  exports.assignRef = indexClient.assignRef;
3529
3739
  exports.mergeRefs = indexClient.mergeRefs;
3530
3740
  exports.useMergedRefs = indexClient.useMergedRefs;
@@ -3532,6 +3742,7 @@ exports.defaultOptions = defaultOptions;
3532
3742
  exports.use = use;
3533
3743
  exports.useActiveElement = useActiveElement;
3534
3744
  exports.useAsyncEffect = useAsyncEffect;
3745
+ exports.useBroadcastChannel = useBroadcastChannel;
3535
3746
  exports.useClickOutside = useClickOutside;
3536
3747
  exports.useClipboard = useClipboard;
3537
3748
  exports.useControlled = useControlled;
@@ -3545,12 +3756,14 @@ exports.useDarkMode = useDarkMode;
3545
3756
  exports.useDebounce = useDebounce;
3546
3757
  exports.useDebounceFn = useDebounceFn;
3547
3758
  exports.useDeepCompareEffect = useDeepCompareEffect;
3759
+ exports.useDevicePixelRatio = useDevicePixelRatio;
3548
3760
  exports.useDisclosure = useDisclosure;
3549
3761
  exports.useDocumentVisibility = useDocumentVisibility;
3550
3762
  exports.useDoubleClick = useDoubleClick;
3551
3763
  exports.useDraggable = useDraggable;
3552
3764
  exports.useDropZone = useDropZone;
3553
3765
  exports.useElementBounding = useElementBounding;
3766
+ exports.useElementByPoint = useElementByPoint;
3554
3767
  exports.useElementSize = useElementSize;
3555
3768
  exports.useElementVisibility = useElementVisibility;
3556
3769
  exports.useEvent = useEvent;
@@ -3597,6 +3810,7 @@ exports.usePlatform = usePlatform;
3597
3810
  exports.usePreferredColorScheme = usePreferredColorScheme;
3598
3811
  exports.usePreferredContrast = usePreferredContrast;
3599
3812
  exports.usePreferredDark = usePreferredDark;
3813
+ exports.usePreferredLanguages = usePreferredLanguages;
3600
3814
  exports.usePrevious = usePrevious;
3601
3815
  exports.useRafFn = useRafFn;
3602
3816
  exports.useRafState = useRafState;
package/dist/index.d.cts CHANGED
@@ -446,6 +446,26 @@ interface Position {
446
446
  x: number;
447
447
  y: number;
448
448
  }
449
+ /**
450
+ * @title Pausable
451
+ */
452
+ interface Pausable$1 {
453
+ /**
454
+ * @en A ref indicate whether a pausable instance is active
455
+ * @zh 一个 ref,表示一个 pausable 实例是否处于激活状态
456
+ */
457
+ isActive: boolean;
458
+ /**
459
+ * @en Temporary pause the effect from executing
460
+ * @zh 暂时暂停效果的执行
461
+ */
462
+ pause: Fn;
463
+ /**
464
+ * @en Resume the effects
465
+ * @zh 恢复效果
466
+ */
467
+ resume: Fn;
468
+ }
449
469
 
450
470
  /**
451
471
  * @title useDraggable
@@ -2838,6 +2858,165 @@ declare function useMergedRefs<T>(...refs: PossibleRef<T>[]): (node: T | null) =
2838
2858
  */
2839
2859
  declare const use: any;
2840
2860
 
2861
+ /**
2862
+ * @title UsePreferredLanguages
2863
+ * @returns 语言偏好
2864
+ * @returns_en preferred languages
2865
+ */
2866
+ type UsePreferredLanguages = (
2867
+ /**
2868
+ * @zh 默认值
2869
+ * @en defaule value
2870
+ */ defaultLanguages?: string[]) => string[];
2871
+
2872
+ declare const usePreferredLanguages: UsePreferredLanguages;
2873
+
2874
+ /**
2875
+ * @title UseBroadcastChannelOptions
2876
+ */
2877
+ interface UseBroadcastChannelOptions {
2878
+ /**
2879
+ * @zh 频道名称
2880
+ * @en channel name
2881
+ */
2882
+ name: string;
2883
+ }
2884
+ /**
2885
+ * @title UseBroadcastChannel
2886
+ */
2887
+ type UseBroadcastChannel = <D, P>(
2888
+ /**
2889
+ * @zh 选项
2890
+ * @en options
2891
+ */
2892
+ options: UseBroadcastChannelOptions) => UseBroadcastChannelReturn<D, P>;
2893
+ /**
2894
+ * @title UseBroadcastChannelReturn
2895
+ */
2896
+ interface UseBroadcastChannelReturn<D, P> {
2897
+ /**
2898
+ * @zh 是否支持
2899
+ * @en is supported
2900
+ */
2901
+ readonly isSupported: boolean;
2902
+ /**
2903
+ * @zh 频道
2904
+ * @en channel
2905
+ */
2906
+ readonly channel: BroadcastChannel | undefined;
2907
+ /**
2908
+ * @zh 数据
2909
+ * @en data
2910
+ */
2911
+ readonly data: D | undefined;
2912
+ /**
2913
+ * @zh 发送数据
2914
+ * @en post data
2915
+ */
2916
+ readonly post: (data: P) => void;
2917
+ /**
2918
+ * @zh 关闭
2919
+ * @en close
2920
+ */
2921
+ readonly close: () => void;
2922
+ /**
2923
+ * @zh 错误
2924
+ * @en error
2925
+ */
2926
+ readonly error: Event | null;
2927
+ /**
2928
+ * @zh 是否关闭
2929
+ * @en is closed
2930
+ */
2931
+ readonly isClosed: boolean;
2932
+ /**
2933
+ * @zh 时间戳
2934
+ * @en timestamp
2935
+ */
2936
+ readonly timeStamp: number;
2937
+ }
2938
+
2939
+ declare const useBroadcastChannel: UseBroadcastChannel;
2940
+
2941
+ /**
2942
+ * @title UseDevicePixelRatio
2943
+ */
2944
+ type UseDevicePixelRatio = () => UseDevicePixelRatioReturn;
2945
+ /**
2946
+ * @title UseDevicePixelRatioReturn
2947
+ */
2948
+ interface UseDevicePixelRatioReturn {
2949
+ /**
2950
+ * @zh 像素比率
2951
+ * @en Pixel ratio
2952
+ */
2953
+ pixelRatio: number;
2954
+ }
2955
+
2956
+ declare const useDevicePixelRatio: UseDevicePixelRatio;
2957
+
2958
+ /**
2959
+ * @title UseElementByPoint
2960
+ */
2961
+ type UseElementByPoint = <M extends boolean = false>(
2962
+ /**
2963
+ * @en options
2964
+ * @zh 配置项
2965
+ */
2966
+ options: UseElementByPointOptions<M>) => UseElementByPointReturn<M>;
2967
+ /**
2968
+ * @title UseElementByPointOptions
2969
+ */
2970
+ interface UseElementByPointOptions<M extends boolean = false> {
2971
+ /**
2972
+ * @en The x coordinate of the point
2973
+ * @zh 点的 x 坐标
2974
+ */
2975
+ x: number | (() => number);
2976
+ /**
2977
+ * @en The y coordinate of the point
2978
+ * @zh 点的 y 坐标
2979
+ */
2980
+ y: number | (() => number);
2981
+ /**
2982
+ * @en The document to query
2983
+ * @zh 要查询的文档
2984
+ */
2985
+ document?: Document | null;
2986
+ /**
2987
+ * @en Whether to query multiple elements
2988
+ * @zh 是否查询多个元素
2989
+ */
2990
+ multiple?: M;
2991
+ /**
2992
+ * @en The interval to query the element
2993
+ * @zh 查询元素的间隔
2994
+ */
2995
+ interval?: number | 'requestAnimationFrame';
2996
+ /**
2997
+ * @en Whether to query the element immediately
2998
+ * @zh 是否立即查询元素
2999
+ */
3000
+ immediate?: boolean;
3001
+ }
3002
+ /**
3003
+ * @title UseElementByPointReturn
3004
+ */
3005
+ interface UseElementByPointReturn<M extends boolean> extends Pausable$1 {
3006
+ /**
3007
+ * @en Whether the feature is supported
3008
+ * @zh 功能是否支持
3009
+ */
3010
+ isSupported: boolean;
3011
+ /**
3012
+ * @en The queried element
3013
+ * @zh 查询到的元素
3014
+ */
3015
+ element: M extends true ? Element[] : Element | null;
3016
+ }
3017
+
3018
+ declare const useElementByPoint: UseElementByPoint;
3019
+
2841
3020
  /**
2842
3021
  * @title useDocumentVisiblity
2843
3022
  * @returns_en document visibility
@@ -3221,4 +3400,4 @@ type Use = <T>(
3221
3400
  */
3222
3401
  usable: Usable<T>) => T;
3223
3402
 
3224
- export { type ColorScheme, type Contrast, type DepsEqualFnType, type EventSourceStatus, type EventType, type INetworkInformation, type IUseNetworkState, type KeyModifier, type Pausable, type Platform, type PossibleRef, type Use, type UseActiveElement, type UseAsyncEffect, type UseClickOutside, type UseClipboard, type UseControlled, type UseCookie, type UseCookieState, type UseCountDown, type UseCounter, type UseCssVar, type UseCssVarOptions, type UseCustomCompareEffect, type UseCycleList, type UseDarkMode, type UseDarkOptions, type UseDebounce, type UseDebounceFn, type UseDeepCompareEffect, type UseDisclosure, type UseDisclosureProps, type UseDocumentVisibility, type UseDoubleClick, type UseDoubleClickProps, type UseDraggable, type UseDraggableOptions, type UseDropZone, type UseElementBounding, type UseElementBoundingOptions, type UseElementBoundingReturn, type UseElementSize, type UseElementVisibility, type UseEvent, type UseEventEmitter, type UseEventEmitterDisposable, type UseEventEmitterEvent, type UseEventEmitterEventOnce, type UseEventEmitterListener, type UseEventEmitterReturn, type UseEventListener, type UseEventSource, type UseEventSourceAutoReconnectOptions, type UseEventSourceOptions, type UseEventSourceReturn, type UseEyeDropper, type UseEyeDropperOpenOptions, type UseEyeDropperOpenReturnType, type UseFavicon, type UseFileDialog, type UseFileDialogOptions, type UseFirstMountState, type UseFocus, type UseFps, type UseFpsOptions, type UseFullScreenOptions, type UseFullscreen, type UseGeolocation, type UseHover, type UseIdle, type UseInfiniteScroll, type UseInfiniteScrollArrivedState, type UseInfiniteScrollDirection, type UseInfiniteScrollLoadMore, type UseInfiniteScrollOptions, type UseIntersectionObserver, type UseInterval, type UseIntervalOptions, type UseKeyModifier, type UseLatest, type UseLocalStorage, type UseLocalStorageOptions, type UseLocalStorageSerializer, type UseLocationSelector, type UseLongPress, type UseLongPressOptions, type UseMeasure, type UseMeasureRect, type UseMediaDeviceOptions, type UseMediaDevices, type UseMediaQuery, type UseMergedRef, type UseMobileLandscape, type UseModifierOptions, type UseMount, type UseMountedState, type UseMouse, type UseMouseCursorState, type UseMousePressed, type UseMousePressedOptions, type UseMousePressedSourceType, type UseMutationObserver, type UseNetwork, type UseObjectUrl, type UseOnline, type UseOrientation, type UseOrientationLockType, type UseOrientationState, type UseOrientationType, type UsePageLeave, type UsePermission, type UsePermissionDescriptorNamePolyfill, type UsePermissionGeneralPermissionDescriptor, type UsePermissionState, type UsePlatform, type UsePlatformProps, type UsePlatformReturn, type UsePreferredColorScheme, type UsePreferredContrast, type UsePreferredDark, type UsePrevious, type UseRafFn, type UseRafState, type UseReducedMotion, type UseResizeObserver, type UseScreenSafeArea, type UseScriptTag, type UseScriptTagOptions, type UseScriptTagStatus, type UseScroll, type UseScrollArrivedState, type UseScrollDirection, type UseScrollIntoView, type UseScrollIntoViewAnimation, type UseScrollIntoViewParams, type UseScrollLock, type UseScrollOffset, type UseScrollOptions, type UseSessionStorage, type UseSessionStorageOptions, type UseSessionStorageSerializer, type UseSetState, type UseSticky, type UseStickyParams, type UseSupported, type UseTextDirection, type UseTextDirectionOptions, type UseTextDirectionValue, type UseTextSelection, type UseThrottle, type UseThrottleFn, type UseTimeout, type UseTimeoutFn, type UseTimeoutFnOptions, type UseTimeoutOptions, type UseTitle, type UseToggle, type UseUnmount, type UseUpdate, type UseWebNotification, type UseWebNotificationReturn, type UseWebNotificationShow, type UseWindowScroll, type UseWindowScrollState, type UseWindowSize, type UseWindowsFocus, assignRef, defaultOptions, mergeRefs, use, useActiveElement, useAsyncEffect, useClickOutside, useClipboard, useControlled, useCookie, useCountDown, useCounter, useCssVar, useCustomCompareEffect, useCycleList, useDarkMode, useDebounce, useDebounceFn, useDeepCompareEffect, useDisclosure, useDocumentVisibility, useDoubleClick, useDraggable, useDropZone, useElementBounding, useElementSize, useElementVisibility, useEvent, useEventEmitter, useEventListener, useEventSource, useEyeDropper, useFavicon, useFileDialog, useFirstMountState, useFocus, useFps, useFullscreen, useGeolocation, useHover, useIdle, useInfiniteScroll, useIntersectionObserver, useInterval, useIsomorphicLayoutEffect, useKeyModifier, useLatest, useLocalStorage, useLocationSelector, useLongPress, useMeasure, useMediaDevices, useMediaQuery, useMergedRefs, useMobileLandscape, useMount, useMountedState, useMouse, useMousePressed, useMutationObserver, useNetwork, useObjectUrl, useOnceEffect, useOnceLayoutEffect, useOnline, useOrientation, usePageLeave, usePermission, usePlatform, 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, useUpdateLayoutEffect, useWebNotification, useWindowScroll, useWindowSize, useWindowsFocus };
3403
+ export { type ColorScheme, type Contrast, type DepsEqualFnType, type EventSourceStatus, type EventType, type INetworkInformation, type IUseNetworkState, type KeyModifier, type Pausable, type Platform, type PossibleRef, type Use, type UseActiveElement, type UseAsyncEffect, type UseBroadcastChannel, type UseBroadcastChannelOptions, type UseBroadcastChannelReturn, type UseClickOutside, type UseClipboard, type UseControlled, type UseCookie, type UseCookieState, type UseCountDown, type UseCounter, type UseCssVar, type UseCssVarOptions, type UseCustomCompareEffect, type UseCycleList, type UseDarkMode, type UseDarkOptions, type UseDebounce, type UseDebounceFn, type UseDeepCompareEffect, type UseDevicePixelRatio, type UseDevicePixelRatioReturn, type UseDisclosure, type UseDisclosureProps, type UseDocumentVisibility, type UseDoubleClick, type UseDoubleClickProps, type UseDraggable, type UseDraggableOptions, type UseDropZone, type UseElementBounding, type UseElementBoundingOptions, type UseElementBoundingReturn, type UseElementByPoint, type UseElementByPointOptions, type UseElementByPointReturn, type UseElementSize, type UseElementVisibility, type UseEvent, type UseEventEmitter, type UseEventEmitterDisposable, type UseEventEmitterEvent, type UseEventEmitterEventOnce, type UseEventEmitterListener, type UseEventEmitterReturn, type UseEventListener, type UseEventSource, type UseEventSourceAutoReconnectOptions, type UseEventSourceOptions, type UseEventSourceReturn, type UseEyeDropper, type UseEyeDropperOpenOptions, type UseEyeDropperOpenReturnType, type UseFavicon, type UseFileDialog, type UseFileDialogOptions, type UseFirstMountState, type UseFocus, type UseFps, type UseFpsOptions, type UseFullScreenOptions, type UseFullscreen, type UseGeolocation, type UseHover, type UseIdle, type UseInfiniteScroll, type UseInfiniteScrollArrivedState, type UseInfiniteScrollDirection, type UseInfiniteScrollLoadMore, type UseInfiniteScrollOptions, type UseIntersectionObserver, type UseInterval, type UseIntervalOptions, type UseKeyModifier, type UseLatest, type UseLocalStorage, type UseLocalStorageOptions, type UseLocalStorageSerializer, type UseLocationSelector, type UseLongPress, type UseLongPressOptions, type UseMeasure, type UseMeasureRect, type UseMediaDeviceOptions, type UseMediaDevices, type UseMediaQuery, type UseMergedRef, type UseMobileLandscape, type UseModifierOptions, type UseMount, type UseMountedState, type UseMouse, type UseMouseCursorState, type UseMousePressed, type UseMousePressedOptions, type UseMousePressedSourceType, type UseMutationObserver, type UseNetwork, type UseObjectUrl, type UseOnline, type UseOrientation, type UseOrientationLockType, type UseOrientationState, type UseOrientationType, type UsePageLeave, type UsePermission, type UsePermissionDescriptorNamePolyfill, type UsePermissionGeneralPermissionDescriptor, type UsePermissionState, type UsePlatform, type UsePlatformProps, type UsePlatformReturn, type UsePreferredColorScheme, type UsePreferredContrast, type UsePreferredDark, type UsePreferredLanguages, type UsePrevious, type UseRafFn, type UseRafState, type UseReducedMotion, type UseResizeObserver, type UseScreenSafeArea, type UseScriptTag, type UseScriptTagOptions, type UseScriptTagStatus, type UseScroll, type UseScrollArrivedState, type UseScrollDirection, type UseScrollIntoView, type UseScrollIntoViewAnimation, type UseScrollIntoViewParams, type UseScrollLock, type UseScrollOffset, type UseScrollOptions, type UseSessionStorage, type UseSessionStorageOptions, type UseSessionStorageSerializer, type UseSetState, type UseSticky, type UseStickyParams, type UseSupported, type UseTextDirection, type UseTextDirectionOptions, type UseTextDirectionValue, type UseTextSelection, type UseThrottle, type UseThrottleFn, type UseTimeout, type UseTimeoutFn, type UseTimeoutFnOptions, type UseTimeoutOptions, type UseTitle, type UseToggle, type UseUnmount, type UseUpdate, type UseWebNotification, type UseWebNotificationReturn, type UseWebNotificationShow, type UseWindowScroll, type UseWindowScrollState, type UseWindowSize, type UseWindowsFocus, assignRef, defaultOptions, mergeRefs, use, useActiveElement, useAsyncEffect, useBroadcastChannel, useClickOutside, useClipboard, useControlled, useCookie, useCountDown, useCounter, useCssVar, useCustomCompareEffect, useCycleList, useDarkMode, useDebounce, useDebounceFn, useDeepCompareEffect, useDevicePixelRatio, useDisclosure, useDocumentVisibility, useDoubleClick, useDraggable, useDropZone, useElementBounding, useElementByPoint, useElementSize, useElementVisibility, useEvent, useEventEmitter, useEventListener, useEventSource, useEyeDropper, useFavicon, useFileDialog, useFirstMountState, useFocus, useFps, useFullscreen, useGeolocation, useHover, useIdle, useInfiniteScroll, useIntersectionObserver, useInterval, useIsomorphicLayoutEffect, useKeyModifier, useLatest, useLocalStorage, useLocationSelector, useLongPress, useMeasure, useMediaDevices, useMediaQuery, useMergedRefs, useMobileLandscape, useMount, useMountedState, useMouse, useMousePressed, useMutationObserver, useNetwork, useObjectUrl, useOnceEffect, useOnceLayoutEffect, useOnline, useOrientation, usePageLeave, usePermission, usePlatform, usePreferredColorScheme, usePreferredContrast, usePreferredDark, usePreferredLanguages, 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, useUpdateLayoutEffect, useWebNotification, useWindowScroll, useWindowSize, useWindowsFocus };