@reactuses/core 2.0.1 → 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 CHANGED
@@ -547,7 +547,7 @@ 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, window);
550
+ const targetElement = getTargetElement(element, defaultWindow);
551
551
  useDeepCompareEffect(() => {
552
552
  if (!(targetElement && targetElement.addEventListener)) {
553
553
  return;
@@ -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$1 = (__this, __arguments, generator) => {
1767
+ var __async$2 = (__this, __arguments, generator) => {
1768
1768
  return new Promise((resolve, reject) => {
1769
1769
  var fulfilled = (value) => {
1770
1770
  try {
@@ -1796,7 +1796,7 @@ function useInfiniteScroll(target, onLoadMore, options = {}) {
1796
1796
  const element = getTargetElement(target);
1797
1797
  const di = state[3][direction];
1798
1798
  useUpdateEffect(() => {
1799
- const fn = () => __async$1(this, null, function* () {
1799
+ const fn = () => __async$2(this, null, function* () {
1800
1800
  var _a2, _b2;
1801
1801
  const previous = {
1802
1802
  height: (_a2 = element == null ? void 0 : element.scrollHeight) != null ? _a2 : 0,
@@ -2339,7 +2339,7 @@ function useWindowScroll() {
2339
2339
  return state;
2340
2340
  }
2341
2341
 
2342
- var __async = (__this, __arguments, generator) => {
2342
+ var __async$1 = (__this, __arguments, generator) => {
2343
2343
  return new Promise((resolve, reject) => {
2344
2344
  var fulfilled = (value) => {
2345
2345
  try {
@@ -2368,7 +2368,7 @@ function useClipBorad() {
2368
2368
  }, []);
2369
2369
  useEventListener("copy", updateText);
2370
2370
  useEventListener("cut", updateText);
2371
- const copy = React.useCallback((txt) => __async(this, null, function* () {
2371
+ const copy = React.useCallback((txt) => __async$1(this, null, function* () {
2372
2372
  setText(txt);
2373
2373
  yield window.navigator.clipboard.writeText(txt);
2374
2374
  }), []);
@@ -2713,7 +2713,44 @@ const useSticky = ({
2713
2713
  return [isSticky, setSticky];
2714
2714
  };
2715
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
+
2716
2752
  exports.useActiveElement = useActiveElement;
2753
+ exports.useAsyncEffect = useAsyncEffect;
2717
2754
  exports.useClickOutside = useClickOutSide;
2718
2755
  exports.useClipboard = useClipBorad;
2719
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
- 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, 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 };
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,7 +539,7 @@ 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, window);
542
+ const targetElement = getTargetElement(element, defaultWindow);
543
543
  useDeepCompareEffect(() => {
544
544
  if (!(targetElement && targetElement.addEventListener)) {
545
545
  return;
@@ -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$1 = (__this, __arguments, generator) => {
1759
+ var __async$2 = (__this, __arguments, generator) => {
1760
1760
  return new Promise((resolve, reject) => {
1761
1761
  var fulfilled = (value) => {
1762
1762
  try {
@@ -1788,7 +1788,7 @@ function useInfiniteScroll(target, onLoadMore, options = {}) {
1788
1788
  const element = getTargetElement(target);
1789
1789
  const di = state[3][direction];
1790
1790
  useUpdateEffect(() => {
1791
- const fn = () => __async$1(this, null, function* () {
1791
+ const fn = () => __async$2(this, null, function* () {
1792
1792
  var _a2, _b2;
1793
1793
  const previous = {
1794
1794
  height: (_a2 = element == null ? void 0 : element.scrollHeight) != null ? _a2 : 0,
@@ -2331,7 +2331,7 @@ function useWindowScroll() {
2331
2331
  return state;
2332
2332
  }
2333
2333
 
2334
- var __async = (__this, __arguments, generator) => {
2334
+ var __async$1 = (__this, __arguments, generator) => {
2335
2335
  return new Promise((resolve, reject) => {
2336
2336
  var fulfilled = (value) => {
2337
2337
  try {
@@ -2360,7 +2360,7 @@ function useClipBorad() {
2360
2360
  }, []);
2361
2361
  useEventListener("copy", updateText);
2362
2362
  useEventListener("cut", updateText);
2363
- const copy = useCallback((txt) => __async(this, null, function* () {
2363
+ const copy = useCallback((txt) => __async$1(this, null, function* () {
2364
2364
  setText(txt);
2365
2365
  yield window.navigator.clipboard.writeText(txt);
2366
2366
  }), []);
@@ -2705,4 +2705,40 @@ const useSticky = ({
2705
2705
  return [isSticky, setSticky];
2706
2706
  };
2707
2707
 
2708
- 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, useReducedMotion, useResizeObserver, useScriptTag, useScroll, useScrollIntoView, useScrollLock, useSessionStorage, useSticky, useTextDirection, useThrottle, useThrottleFn, useTimeout, useTimeoutFn, useTitle, useToggle, useUnmount, useUpdate, useUpdateEffect, useUpdateLayoutEffect, useVirtualList, useWindowScroll, useWindowSize, useWindowsFocus };
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 };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reactuses/core",
3
- "version": "2.0.1",
3
+ "version": "2.0.2",
4
4
  "main": "./dist/index.cjs",
5
5
  "module": "./dist/index.mjs",
6
6
  "types": "./dist/index.d.ts",