@reactuses/core 1.1.3 → 1.1.4

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 CHANGED
@@ -2,27 +2,31 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var react = require('react');
5
+ var React = require('react');
6
6
  var lodash = require('lodash');
7
7
 
8
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
+
10
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
11
+
8
12
  function usePrevious(state) {
9
- const ref = react.useRef();
10
- react.useEffect(() => {
13
+ const ref = React.useRef();
14
+ React.useEffect(() => {
11
15
  ref.current = state;
12
16
  });
13
17
  return ref.current;
14
18
  }
15
19
 
16
20
  function useLatest(value) {
17
- const ref = react.useRef(value);
18
- react.useEffect(() => {
21
+ const ref = React.useRef(value);
22
+ React.useEffect(() => {
19
23
  ref.current = value;
20
24
  }, [value]);
21
25
  return ref;
22
26
  }
23
27
 
24
28
  function useFirstMountState() {
25
- const isFirst = react.useRef(true);
29
+ const isFirst = React.useRef(true);
26
30
  if (isFirst.current) {
27
31
  isFirst.current = false;
28
32
  return true;
@@ -39,9 +43,9 @@ const createUpdateEffect = (hook) => (effect, deps) => {
39
43
  }, deps);
40
44
  };
41
45
 
42
- var useUpdateEffect = createUpdateEffect(react.useEffect);
46
+ var useUpdateEffect = createUpdateEffect(React.useEffect);
43
47
 
44
- var useUpdateLayoutEffect = createUpdateEffect(react.useLayoutEffect);
48
+ var useUpdateLayoutEffect = createUpdateEffect(React.useLayoutEffect);
45
49
 
46
50
  var _a;
47
51
  const isFunction = (val) => typeof val === "function";
@@ -51,12 +55,13 @@ const isNavigator = typeof navigator !== "undefined";
51
55
  const noop = () => {
52
56
  };
53
57
  const isIOS = isBrowser && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent) && /iP(ad|hone|od)/.test(window.navigator.userAgent);
58
+ !React__default["default"].useId;
54
59
 
55
60
  function guessSerializerType(rawInit) {
56
61
  return rawInit == null ? "any" : rawInit instanceof Set ? "set" : rawInit instanceof Map ? "map" : rawInit instanceof Date ? "date" : typeof rawInit === "boolean" ? "boolean" : typeof rawInit === "string" ? "string" : typeof rawInit === "object" ? "object" : Array.isArray(rawInit) ? "object" : !Number.isNaN(rawInit) ? "number" : "any";
57
62
  }
58
63
 
59
- const useIsomorphicLayoutEffect = isBrowser ? react.useLayoutEffect : react.useEffect;
64
+ const useIsomorphicLayoutEffect = isBrowser ? React.useLayoutEffect : React.useEffect;
60
65
 
61
66
  function useEvent(fn) {
62
67
  if (isDev) {
@@ -66,11 +71,11 @@ function useEvent(fn) {
66
71
  );
67
72
  }
68
73
  }
69
- const handlerRef = react.useRef(fn);
74
+ const handlerRef = React.useRef(fn);
70
75
  useIsomorphicLayoutEffect(() => {
71
76
  handlerRef.current = fn;
72
77
  }, [fn]);
73
- return react.useCallback((...args) => {
78
+ return React.useCallback((...args) => {
74
79
  const fn2 = handlerRef.current;
75
80
  return fn2(...args);
76
81
  }, []);
@@ -139,7 +144,7 @@ function useStorage(key, defaults, getStorage, options = {}) {
139
144
  onError(e);
140
145
  }
141
146
  };
142
- const [state, setState] = react.useState(() => getStoredValue());
147
+ const [state, setState] = React.useState(() => getStoredValue());
143
148
  useUpdateEffect(() => {
144
149
  setState(getStoredValue());
145
150
  }, [key]);
@@ -181,13 +186,13 @@ function useSessionStorage(key, defaults, options = {}) {
181
186
 
182
187
  const toggleReducer = (state, nextValue) => typeof nextValue === "boolean" ? nextValue : !state;
183
188
  function useToggle(initialValue) {
184
- return react.useReducer(toggleReducer, initialValue);
189
+ return React.useReducer(toggleReducer, initialValue);
185
190
  }
186
191
 
187
192
  function useInterval(callback, delay, options) {
188
193
  const immediate = options == null ? void 0 : options.immediate;
189
194
  const savedCallback = useLatest(callback);
190
- react.useEffect(() => {
195
+ React.useEffect(() => {
191
196
  if (immediate) {
192
197
  savedCallback.current();
193
198
  }
@@ -214,8 +219,8 @@ const getInitialState = (query, defaultState) => {
214
219
  return false;
215
220
  };
216
221
  function useMediaQuery(query, defaultState) {
217
- const [state, setState] = react.useState(getInitialState(query, defaultState));
218
- react.useEffect(() => {
222
+ const [state, setState] = React.useState(getInitialState(query, defaultState));
223
+ React.useEffect(() => {
219
224
  let mounted = true;
220
225
  const mql = window.matchMedia(query);
221
226
  const onChange = () => {
@@ -257,7 +262,7 @@ function useDarkMode(options = {}) {
257
262
  const prefersDarkMode = usePreferredDark(false);
258
263
  const value = initialValue ? initialValue : prefersDarkMode ? "dark" : "light";
259
264
  const [dark, setDark] = useStorage(storageKey, value, storage);
260
- react.useEffect(() => {
265
+ React.useEffect(() => {
261
266
  const element = window == null ? void 0 : window.document.querySelector(selector);
262
267
  if (!element) {
263
268
  return;
@@ -282,7 +287,7 @@ function useMount(fn) {
282
287
  );
283
288
  }
284
289
  }
285
- react.useEffect(() => {
290
+ React.useEffect(() => {
286
291
  fn == null ? void 0 : fn();
287
292
  }, []);
288
293
  }
@@ -296,7 +301,7 @@ function useUnmount(fn) {
296
301
  }
297
302
  }
298
303
  const fnRef = useLatest(fn);
299
- react.useEffect(
304
+ React.useEffect(
300
305
  () => () => {
301
306
  fnRef.current();
302
307
  },
@@ -313,7 +318,7 @@ function useThrottleFn(fn, wait, options) {
313
318
  }
314
319
  }
315
320
  const fnRef = useLatest(fn);
316
- const throttled = react.useMemo(
321
+ const throttled = React.useMemo(
317
322
  () => lodash.throttle(
318
323
  (...args) => {
319
324
  return fnRef.current(...args);
@@ -334,7 +339,7 @@ function useThrottleFn(fn, wait, options) {
334
339
  }
335
340
 
336
341
  function useThrottle(value, wait, options) {
337
- const [throttled, setThrottled] = react.useState(value);
342
+ const [throttled, setThrottled] = React.useState(value);
338
343
  const { run } = useThrottleFn(
339
344
  () => {
340
345
  setThrottled(value);
@@ -342,7 +347,7 @@ function useThrottle(value, wait, options) {
342
347
  wait,
343
348
  options
344
349
  );
345
- react.useEffect(() => {
350
+ React.useEffect(() => {
346
351
  run();
347
352
  }, [run, value]);
348
353
  return throttled;
@@ -357,7 +362,7 @@ function useDebounceFn(fn, wait, options) {
357
362
  }
358
363
  }
359
364
  const fnRef = useLatest(fn);
360
- const debounced = react.useMemo(
365
+ const debounced = React.useMemo(
361
366
  () => lodash.debounce(
362
367
  (...args) => {
363
368
  return fnRef.current(...args);
@@ -378,7 +383,7 @@ function useDebounceFn(fn, wait, options) {
378
383
  }
379
384
 
380
385
  function useDebounce(value, wait, options) {
381
- const [debounced, setDebounced] = react.useState(value);
386
+ const [debounced, setDebounced] = React.useState(value);
382
387
  const { run } = useDebounceFn(
383
388
  () => {
384
389
  setDebounced(value);
@@ -386,16 +391,16 @@ function useDebounce(value, wait, options) {
386
391
  wait,
387
392
  options
388
393
  );
389
- react.useEffect(() => {
394
+ React.useEffect(() => {
390
395
  run();
391
396
  }, [run, value]);
392
397
  return debounced;
393
398
  }
394
399
 
395
400
  function useRafState(initialState) {
396
- const frame = react.useRef(0);
397
- const [state, setState] = react.useState(initialState);
398
- const setRafState = react.useCallback((value) => {
401
+ const frame = React.useRef(0);
402
+ const [state, setState] = React.useState(initialState);
403
+ const setRafState = React.useCallback((value) => {
399
404
  cancelAnimationFrame(frame.current);
400
405
  frame.current = requestAnimationFrame(() => {
401
406
  setState(value);
@@ -409,15 +414,15 @@ function useRafState(initialState) {
409
414
 
410
415
  const updateReducer = (num) => (num + 1) % 1e6;
411
416
  function useUpdate() {
412
- const [, update] = react.useReducer(updateReducer, 0);
417
+ const [, update] = React.useReducer(updateReducer, 0);
413
418
  return update;
414
419
  }
415
420
 
416
421
  function useTimeoutFn(cb, interval, options = {}) {
417
422
  const { immediate = true } = options;
418
- const [pending, setPending] = react.useState(false);
423
+ const [pending, setPending] = React.useState(false);
419
424
  const savedCallback = useLatest(cb);
420
- const timer = react.useRef();
425
+ const timer = React.useRef();
421
426
  const stop = useEvent(() => {
422
427
  setPending(false);
423
428
  if (timer.current) {
@@ -434,7 +439,7 @@ function useTimeoutFn(cb, interval, options = {}) {
434
439
  }, interval);
435
440
  setPending(true);
436
441
  });
437
- react.useEffect(() => {
442
+ React.useEffect(() => {
438
443
  if (immediate) {
439
444
  start();
440
445
  }
@@ -449,9 +454,9 @@ function useTimeout(ms = 0, options = {}) {
449
454
  }
450
455
 
451
456
  function useMountedState() {
452
- const mountedRef = react.useRef(false);
453
- const get = react.useCallback(() => mountedRef.current, []);
454
- react.useEffect(() => {
457
+ const mountedRef = React.useRef(false);
458
+ const get = React.useCallback(() => mountedRef.current, []);
459
+ React.useEffect(() => {
455
460
  mountedRef.current = true;
456
461
  return () => {
457
462
  mountedRef.current = false;
@@ -513,11 +518,11 @@ function useCustomCompareEffect(effect, deps, depsEqual) {
513
518
  );
514
519
  }
515
520
  }
516
- const ref = react.useRef(void 0);
521
+ const ref = React.useRef(void 0);
517
522
  if (!ref.current || !depsEqual(deps, ref.current)) {
518
523
  ref.current = deps;
519
524
  }
520
- react.useEffect(effect, ref.current);
525
+ React.useEffect(effect, ref.current);
521
526
  }
522
527
 
523
528
  const isPrimitive = (val) => val !== Object(val);
@@ -570,7 +575,7 @@ function useCounter(initialValue = 0, max = null, min = null) {
570
575
  }
571
576
  return init;
572
577
  };
573
- const [value, setValue] = react.useState(initFunc);
578
+ const [value, setValue] = React.useState(initFunc);
574
579
  const set = useEvent(
575
580
  (newState) => {
576
581
  setValue((v) => {
@@ -598,10 +603,10 @@ function useCounter(initialValue = 0, max = null, min = null) {
598
603
  }
599
604
 
600
605
  function useRafFn(callback, initiallyActive = true) {
601
- const raf = react.useRef(null);
602
- const rafActivity = react.useRef(false);
606
+ const raf = React.useRef(null);
607
+ const rafActivity = React.useRef(false);
603
608
  const rafCallback = useLatest(callback);
604
- const step = react.useCallback(
609
+ const step = React.useCallback(
605
610
  (time) => {
606
611
  if (rafActivity.current) {
607
612
  rafCallback.current(time);
@@ -610,7 +615,7 @@ function useRafFn(callback, initiallyActive = true) {
610
615
  },
611
616
  [rafCallback]
612
617
  );
613
- const result = react.useMemo(
618
+ const result = React.useMemo(
614
619
  () => [
615
620
  () => {
616
621
  if (rafActivity.current) {
@@ -628,7 +633,7 @@ function useRafFn(callback, initiallyActive = true) {
628
633
  ],
629
634
  [step]
630
635
  );
631
- react.useEffect(() => {
636
+ React.useEffect(() => {
632
637
  if (initiallyActive) {
633
638
  result[1]();
634
639
  }
@@ -638,8 +643,8 @@ function useRafFn(callback, initiallyActive = true) {
638
643
  }
639
644
 
640
645
  function useEventEmitter() {
641
- const listeners = react.useRef([]);
642
- const _event = react.useRef((listener) => {
646
+ const listeners = React.useRef([]);
647
+ const _event = React.useRef((listener) => {
643
648
  listeners.current.push(listener);
644
649
  const disposable = {
645
650
  dispose: () => {
@@ -655,7 +660,7 @@ function useEventEmitter() {
655
660
  };
656
661
  return disposable;
657
662
  });
658
- const _disposed = react.useRef(false);
663
+ const _disposed = React.useRef(false);
659
664
  const fire = (arg1, arg2) => {
660
665
  const queue = [];
661
666
  for (let i = 0; i < listeners.current.length; i++) {
@@ -675,7 +680,7 @@ function useEventEmitter() {
675
680
  }
676
681
 
677
682
  function useFavicon(href, baseUrl = "", rel = "icon") {
678
- react.useEffect(() => {
683
+ React.useEffect(() => {
679
684
  const url = `${baseUrl}${href}`;
680
685
  const element = document.head.querySelectorAll(
681
686
  `link[rel*="${rel}"]`
@@ -692,8 +697,8 @@ function useFavicon(href, baseUrl = "", rel = "icon") {
692
697
 
693
698
  function useMutationObserver(callback, target, options = {}) {
694
699
  const callbackRef = useLatest(callback);
695
- const observerRef = react.useRef();
696
- const stop = react.useCallback(() => {
700
+ const observerRef = React.useRef();
701
+ const stop = React.useCallback(() => {
697
702
  if (observerRef.current) {
698
703
  observerRef.current.disconnect();
699
704
  }
@@ -711,7 +716,7 @@ function useMutationObserver(callback, target, options = {}) {
711
716
  }
712
717
 
713
718
  function useTitle(title) {
714
- react.useEffect(() => {
719
+ React.useEffect(() => {
715
720
  document.title = title;
716
721
  }, [title]);
717
722
  }
@@ -728,9 +733,9 @@ function useScriptTag(src, onLoaded = noop, options = {}) {
728
733
  defer,
729
734
  attrs = {}
730
735
  } = options;
731
- const scriptTag = react.useRef(null);
732
- const _promise = react.useRef(null);
733
- const [status, setStatus] = react.useState(src ? "loading" : "idle");
736
+ const scriptTag = React.useRef(null);
737
+ const _promise = React.useRef(null);
738
+ const [status, setStatus] = React.useState(src ? "loading" : "idle");
734
739
  const loadScript = (waitForScriptLoad) => new Promise((resolve, reject) => {
735
740
  const resolveWithElement = (el2) => {
736
741
  scriptTag.current = el2;
@@ -831,8 +836,8 @@ function useScriptTag(src, onLoaded = noop, options = {}) {
831
836
  }
832
837
 
833
838
  function usePermission(permissionDesc) {
834
- const [state, setState] = react.useState("");
835
- react.useEffect(() => {
839
+ const [state, setState] = React.useState("");
840
+ React.useEffect(() => {
836
841
  const desc = typeof permissionDesc === "string" ? { name: permissionDesc } : permissionDesc;
837
842
  let mounted = true;
838
843
  let permissionStatus = null;
@@ -871,9 +876,9 @@ const preventDefault$1 = (ev) => {
871
876
  }
872
877
  };
873
878
  function useLongPress(callback, { isPreventDefault = true, delay = 300 } = {}) {
874
- const timeout = react.useRef();
875
- const target = react.useRef();
876
- const start = react.useCallback(
879
+ const timeout = React.useRef();
880
+ const target = React.useRef();
881
+ const start = React.useCallback(
877
882
  (event) => {
878
883
  if (isPreventDefault && event.target) {
879
884
  on(event.target, "touchend", preventDefault$1, { passive: false });
@@ -883,7 +888,7 @@ function useLongPress(callback, { isPreventDefault = true, delay = 300 } = {}) {
883
888
  },
884
889
  [callback, delay, isPreventDefault]
885
890
  );
886
- const clear = react.useCallback(() => {
891
+ const clear = React.useCallback(() => {
887
892
  timeout.current && clearTimeout(timeout.current);
888
893
  if (isPreventDefault && target.current) {
889
894
  off(target.current, "touchend", preventDefault$1);
@@ -899,8 +904,8 @@ function useLongPress(callback, { isPreventDefault = true, delay = 300 } = {}) {
899
904
  }
900
905
 
901
906
  function useObjectUrl(object) {
902
- const [url, setUrl] = react.useState();
903
- react.useEffect(() => {
907
+ const [url, setUrl] = React.useState();
908
+ React.useEffect(() => {
904
909
  if (object) {
905
910
  setUrl(URL.createObjectURL(object));
906
911
  }
@@ -923,8 +928,8 @@ const defaultEvents$1 = [
923
928
  ];
924
929
  const oneMinute = 6e4;
925
930
  function useIdle(ms = oneMinute, initialState = false, events = defaultEvents$1) {
926
- const [state, setState] = react.useState(initialState);
927
- react.useEffect(() => {
931
+ const [state, setState] = React.useState(initialState);
932
+ React.useEffect(() => {
928
933
  let mounted = true;
929
934
  let timeout;
930
935
  let localState = state;
@@ -963,8 +968,8 @@ function useIdle(ms = oneMinute, initialState = false, events = defaultEvents$1)
963
968
  }
964
969
 
965
970
  function useMediaDevices() {
966
- const [state, setState] = react.useState({ devices: [] });
967
- react.useEffect(() => {
971
+ const [state, setState] = React.useState({ devices: [] });
972
+ React.useEffect(() => {
968
973
  let mounted = true;
969
974
  const onChange = () => {
970
975
  navigator.mediaDevices.enumerateDevices().then((devices) => {
@@ -1002,7 +1007,7 @@ function useTextDirection(options = {}) {
1002
1007
  return initialValue;
1003
1008
  }
1004
1009
  };
1005
- const [value, setValue] = react.useState(getValue());
1010
+ const [value, setValue] = React.useState(getValue());
1006
1011
  const set = (value2) => {
1007
1012
  var _a, _b;
1008
1013
  if (!isBrowser) {
@@ -1071,10 +1076,10 @@ function useMouse(target) {
1071
1076
 
1072
1077
  function useFps(options) {
1073
1078
  var _a;
1074
- const [fps, setFps] = react.useState(0);
1079
+ const [fps, setFps] = React.useState(0);
1075
1080
  const every = (_a = options == null ? void 0 : options.every) != null ? _a : 10;
1076
- const last = react.useRef(performance.now());
1077
- const ticks = react.useRef(0);
1081
+ const last = React.useRef(performance.now());
1082
+ const ticks = React.useRef(0);
1078
1083
  useRafFn(() => {
1079
1084
  ticks.current += 1;
1080
1085
  if (ticks.current >= every) {
@@ -1105,20 +1110,20 @@ function useGeolocation(options = {}) {
1105
1110
  maximumAge = 3e4,
1106
1111
  timeout = 27e3
1107
1112
  } = options;
1108
- const [coordinates, setCoordinates] = react.useState(initCoord);
1109
- const [locatedAt, setLocatedAt] = react.useState(null);
1110
- const [error, setError] = react.useState(null);
1111
- const updatePosition = react.useCallback((position) => {
1113
+ const [coordinates, setCoordinates] = React.useState(initCoord);
1114
+ const [locatedAt, setLocatedAt] = React.useState(null);
1115
+ const [error, setError] = React.useState(null);
1116
+ const updatePosition = React.useCallback((position) => {
1112
1117
  setCoordinates(position.coords);
1113
1118
  setLocatedAt(position.timestamp);
1114
1119
  setError(null);
1115
1120
  }, []);
1116
- const updateError = react.useCallback((err) => {
1121
+ const updateError = React.useCallback((err) => {
1117
1122
  setCoordinates(initCoord);
1118
1123
  setLocatedAt(null);
1119
1124
  setError(err);
1120
1125
  }, []);
1121
- react.useEffect(() => {
1126
+ React.useEffect(() => {
1122
1127
  navigator.geolocation.getCurrentPosition(updatePosition, updateError);
1123
1128
  const watchId = navigator.geolocation.watchPosition(
1124
1129
  updatePosition,
@@ -1337,7 +1342,7 @@ function useFullscreen(target, options) {
1337
1342
  const { onExit, onEnter } = options || {};
1338
1343
  const onExitRef = useLatest(onExit);
1339
1344
  const onEnterRef = useLatest(onEnter);
1340
- const [state, setState] = react.useState(false);
1345
+ const [state, setState] = React.useState(false);
1341
1346
  const onChange = () => {
1342
1347
  var _a, _b;
1343
1348
  if (screenfull.isEnabled) {
@@ -1411,8 +1416,8 @@ function getConnectionState(previousState) {
1411
1416
  };
1412
1417
  }
1413
1418
  function useNetwork() {
1414
- const [state, setState] = react.useState(getConnectionState);
1415
- react.useEffect(() => {
1419
+ const [state, setState] = React.useState(getConnectionState);
1420
+ React.useEffect(() => {
1416
1421
  const handleStateChange = () => {
1417
1422
  setState(getConnectionState);
1418
1423
  };
@@ -1442,8 +1447,8 @@ const defaultState = {
1442
1447
  type: "landscape-primary"
1443
1448
  };
1444
1449
  function useOrientation(initialState = defaultState) {
1445
- const [state, setState] = react.useState(initialState);
1446
- react.useEffect(() => {
1450
+ const [state, setState] = React.useState(initialState);
1451
+ React.useEffect(() => {
1447
1452
  const screen = window.screen;
1448
1453
  let mounted = true;
1449
1454
  const onChange = () => {
@@ -1490,8 +1495,8 @@ function useOrientation(initialState = defaultState) {
1490
1495
 
1491
1496
  function useIntersectionObserver(target, callback, options = {}) {
1492
1497
  const savedCallback = useLatest(callback);
1493
- const observerRef = react.useRef();
1494
- const stop = react.useCallback(() => {
1498
+ const observerRef = React.useRef();
1499
+ const stop = React.useCallback(() => {
1495
1500
  if (observerRef.current) {
1496
1501
  observerRef.current.disconnect();
1497
1502
  }
@@ -1512,7 +1517,7 @@ function useIntersectionObserver(target, callback, options = {}) {
1512
1517
  }
1513
1518
 
1514
1519
  function usePageLeave() {
1515
- const [isLeft, setIsLeft] = react.useState(false);
1520
+ const [isLeft, setIsLeft] = React.useState(false);
1516
1521
  const handler = (event) => {
1517
1522
  if (!window)
1518
1523
  return;
@@ -1527,7 +1532,7 @@ function usePageLeave() {
1527
1532
  }
1528
1533
 
1529
1534
  function useDocumentVisibility() {
1530
- const [visible, setVisible] = react.useState(() => {
1535
+ const [visible, setVisible] = React.useState(() => {
1531
1536
  if (typeof document === "undefined") {
1532
1537
  return "visible";
1533
1538
  } else {
@@ -1546,8 +1551,8 @@ function useDocumentVisibility() {
1546
1551
 
1547
1552
  function useResizeObserver(target, callback, options = {}) {
1548
1553
  const savedCallback = useLatest(callback);
1549
- const observerRef = react.useRef();
1550
- const stop = react.useCallback(() => {
1554
+ const observerRef = React.useRef();
1555
+ const stop = React.useCallback(() => {
1551
1556
  if (observerRef.current) {
1552
1557
  observerRef.current.disconnect();
1553
1558
  }
@@ -1565,8 +1570,8 @@ function useResizeObserver(target, callback, options = {}) {
1565
1570
  }
1566
1571
 
1567
1572
  function useDropZone(target, onDrop) {
1568
- const [over, setOver] = react.useState(false);
1569
- const counter = react.useRef(0);
1573
+ const [over, setOver] = React.useState(false);
1574
+ const counter = React.useRef(0);
1570
1575
  const element = getTargetElement(target);
1571
1576
  useEventListener(
1572
1577
  "dragenter",
@@ -1631,9 +1636,9 @@ const DEFAULT_OPTIONS = {
1631
1636
  accept: "*"
1632
1637
  };
1633
1638
  function useFileDialog(options = {}) {
1634
- const [files, setFiles] = react.useState(null);
1635
- const inputRef = react.useRef();
1636
- const initFn = react.useCallback(() => {
1639
+ const [files, setFiles] = React.useState(null);
1640
+ const inputRef = React.useRef();
1641
+ const initFn = React.useCallback(() => {
1637
1642
  if (typeof document === "undefined") {
1638
1643
  return void 0;
1639
1644
  }
@@ -1683,16 +1688,16 @@ function useScroll(target, options = {}) {
1683
1688
  passive: true
1684
1689
  }
1685
1690
  } = options;
1686
- const [x, setX] = react.useState(0);
1687
- const [y, setY] = react.useState(0);
1688
- const [isScrolling, setIsScrolling] = react.useState(false);
1689
- const [arrivedState, setArrivedState] = react.useState({
1691
+ const [x, setX] = React.useState(0);
1692
+ const [y, setY] = React.useState(0);
1693
+ const [isScrolling, setIsScrolling] = React.useState(false);
1694
+ const [arrivedState, setArrivedState] = React.useState({
1690
1695
  left: true,
1691
1696
  right: false,
1692
1697
  top: true,
1693
1698
  bottom: false
1694
1699
  });
1695
- const [directions, setDirections] = react.useState({
1700
+ const [directions, setDirections] = React.useState({
1696
1701
  left: false,
1697
1702
  right: false,
1698
1703
  top: false,
@@ -1814,7 +1819,7 @@ const defaultEvents = [
1814
1819
  ];
1815
1820
  function useKeyModifier(modifier, options = {}) {
1816
1821
  const { events = defaultEvents, initial = false } = options;
1817
- const [state, setState] = react.useState(initial);
1822
+ const [state, setState] = React.useState(initial);
1818
1823
  useMount(() => {
1819
1824
  events.forEach((listenEvent) => {
1820
1825
  on(document, listenEvent, (evt) => {
@@ -1838,16 +1843,16 @@ function useKeyModifier(modifier, options = {}) {
1838
1843
 
1839
1844
  function useMousePressed(target, options = {}) {
1840
1845
  const { touch = true, drag = true, initialValue = false } = options;
1841
- const [pressed, setPressed] = react.useState(initialValue);
1842
- const [sourceType, setSourceType] = react.useState(null);
1843
- const onPressed = react.useCallback(
1846
+ const [pressed, setPressed] = React.useState(initialValue);
1847
+ const [sourceType, setSourceType] = React.useState(null);
1848
+ const onPressed = React.useCallback(
1844
1849
  (srcType) => () => {
1845
1850
  setPressed(true);
1846
1851
  setSourceType(srcType);
1847
1852
  },
1848
1853
  []
1849
1854
  );
1850
- const onReleased = react.useCallback(() => {
1855
+ const onReleased = React.useCallback(() => {
1851
1856
  setPressed(false);
1852
1857
  setSourceType(null);
1853
1858
  }, []);
@@ -1905,8 +1910,8 @@ function preventDefault(rawEvent) {
1905
1910
  return false;
1906
1911
  }
1907
1912
  function useScrollLock(target, initialState = false) {
1908
- const [locked, setLocked] = react.useState(initialState);
1909
- const initialOverflowRef = react.useRef("scroll");
1913
+ const [locked, setLocked] = React.useState(initialState);
1914
+ const initialOverflowRef = React.useRef("scroll");
1910
1915
  useMount(() => {
1911
1916
  const element = getTargetElement(target);
1912
1917
  if (element) {
@@ -1950,8 +1955,8 @@ function useScrollLock(target, initialState = false) {
1950
1955
 
1951
1956
  function useElementSize(target, options = {}) {
1952
1957
  const { box = "content-box" } = options;
1953
- const [width, setWidth] = react.useState(0);
1954
- const [height, setHeight] = react.useState(0);
1958
+ const [width, setWidth] = React.useState(0);
1959
+ const [height, setHeight] = React.useState(0);
1955
1960
  useResizeObserver(
1956
1961
  target,
1957
1962
  ([entry]) => {
@@ -1970,12 +1975,12 @@ function useElementSize(target, options = {}) {
1970
1975
  }
1971
1976
 
1972
1977
  function useVirtualList(list = [], options) {
1973
- const containerRef = react.useRef(null);
1978
+ const containerRef = React.useRef(null);
1974
1979
  const [width, height] = useElementSize(containerRef);
1975
- const [currentList, setCurrentList] = react.useState([]);
1980
+ const [currentList, setCurrentList] = React.useState([]);
1976
1981
  const { itemHeight, overscan = 5, containerHeight = 300 } = options;
1977
- const state = react.useRef({ start: 0, end: 10 });
1978
- const getViewCapacity = react.useCallback(
1982
+ const state = React.useRef({ start: 0, end: 10 });
1983
+ const getViewCapacity = React.useCallback(
1979
1984
  (containerHeight2) => {
1980
1985
  if (typeof itemHeight === "number") {
1981
1986
  return Math.ceil(containerHeight2 / itemHeight);
@@ -1995,7 +2000,7 @@ function useVirtualList(list = [], options) {
1995
2000
  },
1996
2001
  [itemHeight, list]
1997
2002
  );
1998
- const getOffset = react.useCallback(
2003
+ const getOffset = React.useCallback(
1999
2004
  (scrollTop) => {
2000
2005
  if (typeof itemHeight === "number")
2001
2006
  return Math.floor(scrollTop / itemHeight) + 1;
@@ -2032,16 +2037,16 @@ function useVirtualList(list = [], options) {
2032
2037
  );
2033
2038
  }
2034
2039
  });
2035
- react.useEffect(() => {
2040
+ React.useEffect(() => {
2036
2041
  calculateRange();
2037
2042
  }, [width, height, list, calculateRange]);
2038
- const totalHeight = react.useMemo(() => {
2043
+ const totalHeight = React.useMemo(() => {
2039
2044
  if (typeof itemHeight === "number") {
2040
2045
  return list.length * itemHeight;
2041
2046
  }
2042
2047
  return list.reduce((sum, _, index) => sum + itemHeight(index), 0);
2043
2048
  }, [itemHeight, list]);
2044
- const getDistanceTop = react.useCallback(
2049
+ const getDistanceTop = React.useCallback(
2045
2050
  (index) => {
2046
2051
  if (typeof itemHeight === "number") {
2047
2052
  const height3 = index * itemHeight;
@@ -2058,11 +2063,11 @@ function useVirtualList(list = [], options) {
2058
2063
  calculateRange();
2059
2064
  }
2060
2065
  });
2061
- const offsetTop = react.useMemo(
2066
+ const offsetTop = React.useMemo(
2062
2067
  () => getDistanceTop(state.current.start),
2063
2068
  [getDistanceTop]
2064
2069
  );
2065
- const wrapperProps = react.useMemo(() => {
2070
+ const wrapperProps = React.useMemo(() => {
2066
2071
  return {
2067
2072
  style: {
2068
2073
  width: "100%",
@@ -2071,7 +2076,7 @@ function useVirtualList(list = [], options) {
2071
2076
  }
2072
2077
  };
2073
2078
  }, [offsetTop, totalHeight]);
2074
- const containerStyle = react.useMemo(() => {
2079
+ const containerStyle = React.useMemo(() => {
2075
2080
  return { overflowY: "auto", height: containerHeight };
2076
2081
  }, [containerHeight]);
2077
2082
  return {
@@ -2108,8 +2113,8 @@ function usePreferredContrast(defaultState) {
2108
2113
  }
2109
2114
 
2110
2115
  function useActiveElement() {
2111
- const [active, setActive] = react.useState(null);
2112
- const listener = react.useCallback(() => {
2116
+ const [active, setActive] = React.useState(null);
2117
+ const listener = React.useCallback(() => {
2113
2118
  setActive(window == null ? void 0 : window.document.activeElement);
2114
2119
  }, []);
2115
2120
  useEventListener("blur", listener, () => window, true);
@@ -2124,10 +2129,10 @@ function useDraggable(target, options = {}) {
2124
2129
  defaultWindow
2125
2130
  );
2126
2131
  const draggingHandle = getTargetElement((_a = options.handle) != null ? _a : target);
2127
- const [position, setPositon] = react.useState(
2132
+ const [position, setPositon] = React.useState(
2128
2133
  (_b = options.initialValue) != null ? _b : { x: 0, y: 0 }
2129
2134
  );
2130
- const [pressedDelta, setPressedDelta] = react.useState();
2135
+ const [pressedDelta, setPressedDelta] = React.useState();
2131
2136
  const filterEvent = (e) => {
2132
2137
  if (options.pointerTypes) {
2133
2138
  return options.pointerTypes.includes(e.pointerType);
@@ -2202,14 +2207,14 @@ function useElementBounding(target, options = {}) {
2202
2207
  windowScroll = true,
2203
2208
  immediate = true
2204
2209
  } = options;
2205
- const [height, setHeight] = react.useState(0);
2206
- const [bottom, setBottom] = react.useState(0);
2207
- const [left, setLeft] = react.useState(0);
2208
- const [right, setRight] = react.useState(0);
2209
- const [top, setTop] = react.useState(0);
2210
- const [width, setWidth] = react.useState(0);
2211
- const [x, setX] = react.useState(0);
2212
- const [y, setY] = react.useState(0);
2210
+ const [height, setHeight] = React.useState(0);
2211
+ const [bottom, setBottom] = React.useState(0);
2212
+ const [left, setLeft] = React.useState(0);
2213
+ const [right, setRight] = React.useState(0);
2214
+ const [top, setTop] = React.useState(0);
2215
+ const [width, setWidth] = React.useState(0);
2216
+ const [x, setX] = React.useState(0);
2217
+ const [y, setY] = React.useState(0);
2213
2218
  const update = useEvent(() => {
2214
2219
  const element = getTargetElement(target);
2215
2220
  if (!element) {
@@ -2236,12 +2241,12 @@ function useElementBounding(target, options = {}) {
2236
2241
  setY(rect.y);
2237
2242
  });
2238
2243
  useResizeObserver(target, update);
2239
- react.useEffect(() => {
2244
+ React.useEffect(() => {
2240
2245
  if (immediate) {
2241
2246
  update();
2242
2247
  }
2243
2248
  }, [immediate, update]);
2244
- react.useEffect(() => {
2249
+ React.useEffect(() => {
2245
2250
  if (windowScroll) {
2246
2251
  window.addEventListener("scroll", update, { passive: true });
2247
2252
  }
@@ -2271,8 +2276,8 @@ function useElementBounding(target, options = {}) {
2271
2276
  }
2272
2277
 
2273
2278
  function useElementVisibility(target, options = {}) {
2274
- const [visible, setVisible] = react.useState(false);
2275
- const callback = react.useCallback((entries) => {
2279
+ const [visible, setVisible] = React.useState(false);
2280
+ const callback = React.useCallback((entries) => {
2276
2281
  const rect = entries[0].boundingClientRect;
2277
2282
  setVisible(
2278
2283
  rect.top <= (window.innerHeight || document.documentElement.clientHeight) && rect.left <= (window.innerWidth || document.documentElement.clientWidth) && rect.bottom >= 0 && rect.right >= 0
@@ -2283,7 +2288,7 @@ function useElementVisibility(target, options = {}) {
2283
2288
  }
2284
2289
 
2285
2290
  function useWindowsFocus() {
2286
- const [focused, setFocused] = react.useState(() => {
2291
+ const [focused, setFocused] = React.useState(() => {
2287
2292
  if (!isBrowser) {
2288
2293
  return false;
2289
2294
  }
@@ -2299,7 +2304,7 @@ function useWindowsFocus() {
2299
2304
  }
2300
2305
 
2301
2306
  function useWindowSize() {
2302
- const [windowSize, setWindowSize] = react.useState({
2307
+ const [windowSize, setWindowSize] = React.useState({
2303
2308
  width: 0,
2304
2309
  height: 0
2305
2310
  });
@@ -2355,15 +2360,15 @@ var __async = (__this, __arguments, generator) => {
2355
2360
  });
2356
2361
  };
2357
2362
  function useClipBorad() {
2358
- const [text, setText] = react.useState("");
2359
- const updateText = react.useCallback(() => {
2363
+ const [text, setText] = React.useState("");
2364
+ const updateText = React.useCallback(() => {
2360
2365
  window.navigator.clipboard.readText().then((value) => {
2361
2366
  setText(value);
2362
2367
  });
2363
2368
  }, []);
2364
2369
  useEventListener("copy", updateText);
2365
2370
  useEventListener("cut", updateText);
2366
- const copy = react.useCallback((txt) => __async(this, null, function* () {
2371
+ const copy = React.useCallback((txt) => __async(this, null, function* () {
2367
2372
  setText(txt);
2368
2373
  yield window.navigator.clipboard.writeText(txt);
2369
2374
  }), []);
@@ -2392,7 +2397,7 @@ function useClickOutSide(target, handler) {
2392
2397
  }
2393
2398
 
2394
2399
  function useCycleList(list, i = 0) {
2395
- const [index, setIndex] = react.useState(i);
2400
+ const [index, setIndex] = React.useState(i);
2396
2401
  const set = (i2) => {
2397
2402
  const length = list.length;
2398
2403
  const nextIndex = ((index + i2) % length + length) % length;
@@ -2408,7 +2413,7 @@ function useCycleList(list, i = 0) {
2408
2413
  }
2409
2414
 
2410
2415
  function useFocus(target, initialValue = false) {
2411
- const [focus, innerSetFocus] = react.useState(initialValue);
2416
+ const [focus, innerSetFocus] = React.useState(initialValue);
2412
2417
  useEventListener("focus", () => innerSetFocus(true), target);
2413
2418
  useEventListener("blur", () => innerSetFocus(false), target);
2414
2419
  useMount(() => {
@@ -2433,10 +2438,10 @@ function useControlled({
2433
2438
  defaultValue: defaultProp,
2434
2439
  state = "value"
2435
2440
  }) {
2436
- const { current: isControlled } = react.useRef(controlled !== void 0);
2437
- const [valueState, setValue] = react.useState(defaultProp);
2441
+ const { current: isControlled } = React.useRef(controlled !== void 0);
2442
+ const [valueState, setValue] = React.useState(defaultProp);
2438
2443
  const value = isControlled ? controlled : valueState;
2439
- react.useEffect(() => {
2444
+ React.useEffect(() => {
2440
2445
  if (isControlled !== (controlled !== void 0)) {
2441
2446
  console.error(
2442
2447
  [
@@ -2449,7 +2454,7 @@ function useControlled({
2449
2454
  );
2450
2455
  }
2451
2456
  }, [state, controlled]);
2452
- const setValueIfUncontrolled = react.useCallback((newValue) => {
2457
+ const setValueIfUncontrolled = React.useCallback((newValue) => {
2453
2458
  if (!isControlled) {
2454
2459
  setValue(newValue);
2455
2460
  }
@@ -2457,6 +2462,24 @@ function useControlled({
2457
2462
  return [value, setValueIfUncontrolled];
2458
2463
  }
2459
2464
 
2465
+ const record = /* @__PURE__ */ new WeakSet();
2466
+ const createOnceEffect = (hook) => (effect, deps) => {
2467
+ const onceWrapper = () => {
2468
+ const shouldStart = !record.has(effect);
2469
+ if (shouldStart) {
2470
+ record.add(effect);
2471
+ effect();
2472
+ }
2473
+ };
2474
+ hook(() => {
2475
+ onceWrapper();
2476
+ }, deps);
2477
+ };
2478
+
2479
+ var useOnceEffect = createOnceEffect(React.useEffect);
2480
+
2481
+ var useOnceLayoutEffect = createOnceEffect(React.useLayoutEffect);
2482
+
2460
2483
  exports.useActiveElement = useActiveElement;
2461
2484
  exports.useClickOutside = useClickOutSide;
2462
2485
  exports.useClipboard = useClipBorad;
@@ -2502,6 +2525,8 @@ exports.useMousePressed = useMousePressed;
2502
2525
  exports.useMutationObserver = useMutationObserver;
2503
2526
  exports.useNetwork = useNetwork;
2504
2527
  exports.useObjectUrl = useObjectUrl;
2528
+ exports.useOnceEffect = useOnceEffect;
2529
+ exports.useOnceLayoutEffect = useOnceLayoutEffect;
2505
2530
  exports.useOnline = useOnline;
2506
2531
  exports.useOrientation = useOrientation;
2507
2532
  exports.usePageLeave = usePageLeave;
package/dist/index.d.ts CHANGED
@@ -8,9 +8,9 @@ declare function useLatest<T>(value: T): MutableRefObject<T>;
8
8
 
9
9
  declare function useFirstMountState(): boolean;
10
10
 
11
- declare const _default$3: typeof useEffect | typeof react.useLayoutEffect;
11
+ declare const _default$5: typeof useEffect | typeof react.useLayoutEffect;
12
12
 
13
- declare const _default$2: typeof react.useEffect | typeof useLayoutEffect;
13
+ declare const _default$4: typeof react.useEffect | typeof useLayoutEffect;
14
14
 
15
15
  interface Serializer<T> {
16
16
  read(raw: string): T;
@@ -49,6 +49,9 @@ interface Position {
49
49
  y: number;
50
50
  }
51
51
 
52
+ /**
53
+ * keep function reference immutable
54
+ */
52
55
  declare function useEvent<T extends Fn>(fn: T): T;
53
56
 
54
57
  declare function useToggle(initialValue: boolean): [boolean, (nextValue?: any) => void];
@@ -248,7 +251,7 @@ declare function useObjectUrl(object: Blob | MediaSource | undefined): string |
248
251
 
249
252
  declare function useIdle(ms?: number, initialState?: boolean, events?: (keyof WindowEventMap)[]): boolean;
250
253
 
251
- declare const _default$1: () => {};
254
+ declare const _default$3: () => {};
252
255
 
253
256
  type UseTextDirectionValue = "ltr" | "rtl" | "auto";
254
257
  interface UseTextDirectionOptions {
@@ -290,7 +293,7 @@ interface UseFpsOptions {
290
293
  */
291
294
  every?: number;
292
295
  }
293
- declare const _default: (options?: UseFpsOptions | undefined) => number;
296
+ declare const _default$2: (options?: UseFpsOptions | undefined) => number;
294
297
 
295
298
  declare function useGeolocation(options?: Partial<PositionOptions>): {
296
299
  readonly coordinates: GeolocationCoordinates;
@@ -719,4 +722,8 @@ interface IProps<T> {
719
722
  }
720
723
  declare function useControlled<T = string>({ controlled, defaultValue, state, }: IProps<T>): readonly [T, (newValue: T) => void];
721
724
 
722
- export { useActiveElement, 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 as useFps, useFullscreen, useGeolocation, useIdle, useInfiniteScroll, useIntersectionObserver, useInterval, useIsomorphicLayoutEffect, useKeyModifier, useLatest, useLocalStorage, useLongPress, _default$1 as useMediaDevices, useMediaQuery, useMount, useMountedState, useMouse, useMousePressed, useMutationObserver, useNetwork, useObjectUrl, useOnline, useOrientation, usePageLeave, usePermission, usePreferredColorScheme, usePreferredContrast, usePreferredDark, usePrevious, useRafFn, useRafState, useResizeObserver, useScriptTag, useScroll, useScrollLock, useSessionStorage, useTextDirection, useThrottle, useThrottleFn, useTimeout, useTimeoutFn, useTitle, useToggle, useUnmount, useUpdate, _default$3 as useUpdateEffect, _default$2 as useUpdateLayoutEffect, useVirtualList, useWindowScroll, useWindowSize, useWindowsFocus };
725
+ declare const _default$1: typeof useEffect | typeof react.useLayoutEffect;
726
+
727
+ declare const _default: typeof react.useEffect | typeof useLayoutEffect;
728
+
729
+ export { useActiveElement, 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, useResizeObserver, useScriptTag, useScroll, useScrollLock, useSessionStorage, 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
@@ -1,4 +1,4 @@
1
- import { useRef, useEffect, useLayoutEffect, useCallback, useState, useReducer, useMemo } from 'react';
1
+ import React, { useRef, useEffect, useLayoutEffect, useCallback, useState, useReducer, useMemo } from 'react';
2
2
  import { throttle, debounce, isEqual } from 'lodash';
3
3
 
4
4
  function usePrevious(state) {
@@ -47,6 +47,7 @@ const isNavigator = typeof navigator !== "undefined";
47
47
  const noop = () => {
48
48
  };
49
49
  const isIOS = isBrowser && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent) && /iP(ad|hone|od)/.test(window.navigator.userAgent);
50
+ !React.useId;
50
51
 
51
52
  function guessSerializerType(rawInit) {
52
53
  return rawInit == null ? "any" : rawInit instanceof Set ? "set" : rawInit instanceof Map ? "map" : rawInit instanceof Date ? "date" : typeof rawInit === "boolean" ? "boolean" : typeof rawInit === "string" ? "string" : typeof rawInit === "object" ? "object" : Array.isArray(rawInit) ? "object" : !Number.isNaN(rawInit) ? "number" : "any";
@@ -2453,4 +2454,22 @@ function useControlled({
2453
2454
  return [value, setValueIfUncontrolled];
2454
2455
  }
2455
2456
 
2456
- export { useActiveElement, 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, useOnline, useOrientation, usePageLeave, usePermission, usePreferredColorScheme, usePreferredContrast, usePreferredDark, usePrevious, useRafFn, useRafState, useResizeObserver, useScriptTag, useScroll, useScrollLock, useSessionStorage, useTextDirection, useThrottle, useThrottleFn, useTimeout, useTimeoutFn, useTitle, useToggle, useUnmount, useUpdate, useUpdateEffect, useUpdateLayoutEffect, useVirtualList, useWindowScroll, useWindowSize, useWindowsFocus };
2457
+ const record = /* @__PURE__ */ new WeakSet();
2458
+ const createOnceEffect = (hook) => (effect, deps) => {
2459
+ const onceWrapper = () => {
2460
+ const shouldStart = !record.has(effect);
2461
+ if (shouldStart) {
2462
+ record.add(effect);
2463
+ effect();
2464
+ }
2465
+ };
2466
+ hook(() => {
2467
+ onceWrapper();
2468
+ }, deps);
2469
+ };
2470
+
2471
+ var useOnceEffect = createOnceEffect(useEffect);
2472
+
2473
+ var useOnceLayoutEffect = createOnceEffect(useLayoutEffect);
2474
+
2475
+ export { useActiveElement, 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, useResizeObserver, useScriptTag, useScroll, useScrollLock, useSessionStorage, useTextDirection, useThrottle, useThrottleFn, useTimeout, useTimeoutFn, useTitle, useToggle, useUnmount, useUpdate, useUpdateEffect, useUpdateLayoutEffect, useVirtualList, useWindowScroll, useWindowSize, useWindowsFocus };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reactuses/core",
3
- "version": "1.1.3",
3
+ "version": "1.1.4",
4
4
  "main": "./dist/index.cjs",
5
5
  "module": "./dist/index.mjs",
6
6
  "types": "./dist/index.d.ts",