@siberiacancode/reactuse 0.0.90 → 0.0.91
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/cjs/{_rollupPluginBabelHelpers-BsWog5nG.js → _rollupPluginBabelHelpers-Cyl0H0H0.js} +2 -2
- package/dist/cjs/_rollupPluginBabelHelpers-Cyl0H0H0.js.map +1 -0
- package/dist/cjs/hooks/index.js +2 -2
- package/dist/cjs/hooks/useActiveElement/useActiveElement.js +2 -2
- package/dist/cjs/hooks/useAsync/useAsync.js +2 -2
- package/dist/cjs/hooks/useBattery/useBattery.js +2 -2
- package/dist/cjs/hooks/useBattery/useBattery.js.map +1 -1
- package/dist/cjs/hooks/useBluetooth/useBluetooth.js +2 -2
- package/dist/cjs/hooks/useBoolean/useBoolean.js +2 -2
- package/dist/cjs/hooks/useBreakpoints/constants/breakpoints.js +1 -1
- package/dist/cjs/hooks/useBreakpoints/useBreakpoints.js +2 -2
- package/dist/cjs/hooks/useBrowserLanguage/useBrowserLanguage.js +1 -1
- package/dist/cjs/hooks/useClickOutside/useClickOutside.js +2 -2
- package/dist/cjs/hooks/useClickOutside/useClickOutside.js.map +1 -1
- package/dist/cjs/hooks/useClipboard/useClipboard.js +2 -2
- package/dist/cjs/hooks/useConst/useConst.js +1 -1
- package/dist/cjs/hooks/useCounter/useCounter.js +2 -2
- package/dist/cjs/hooks/useCssVar/useCssVar.js +2 -2
- package/dist/cjs/hooks/useCssVar/useCssVar.js.map +1 -1
- package/dist/cjs/hooks/useDebounceCallback/useDebounceCallback.js +2 -2
- package/dist/cjs/hooks/useDebounceCallback/useDebounceCallback.js.map +1 -1
- package/dist/cjs/hooks/useDebounceValue/useDebounceValue.js +2 -2
- package/dist/cjs/hooks/useDebounceValue/useDebounceValue.js.map +1 -1
- package/dist/cjs/hooks/useDefault/useDefault.js +2 -2
- package/dist/cjs/hooks/useDeviceMotion/useDeviceMotion.js +2 -2
- package/dist/cjs/hooks/useDeviceMotion/useDeviceMotion.js.map +1 -1
- package/dist/cjs/hooks/useDeviceOrientation/useDeviceOrientation.js +2 -2
- package/dist/cjs/hooks/useDevicePixelRatio/useDevicePixelRatio.js +2 -2
- package/dist/cjs/hooks/useDevicePixelRatio/useDevicePixelRatio.js.map +1 -1
- package/dist/cjs/hooks/useDidUpdate/useDidUpdate.js +2 -2
- package/dist/cjs/hooks/useDidUpdate/useDidUpdate.js.map +1 -1
- package/dist/cjs/hooks/useDisclosure/useDisclosure.js +2 -2
- package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.js +2 -2
- package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.js.map +1 -1
- package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
- package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js.map +1 -1
- package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
- package/dist/cjs/hooks/useElementSize/useElementSize.js +2 -2
- package/dist/cjs/hooks/useElementSize/useElementSize.js.map +1 -1
- package/dist/cjs/hooks/useEvent/useEvent.js +1 -1
- package/dist/cjs/hooks/useEventListener/useEventListener.js +2 -2
- package/dist/cjs/hooks/useEventListener/useEventListener.js.map +1 -1
- package/dist/cjs/hooks/useEyeDropper/useEyeDropper.js +2 -2
- package/dist/cjs/hooks/useFavicon/useFavicon.js +2 -2
- package/dist/cjs/hooks/useFavicon/useFavicon.js.map +1 -1
- package/dist/cjs/hooks/useField/useField.js +2 -2
- package/dist/cjs/hooks/useFileDialog/useFileDialog.js +2 -2
- package/dist/cjs/hooks/useFocus/useFocus.js +2 -2
- package/dist/cjs/hooks/useFocus/useFocus.js.map +1 -1
- package/dist/cjs/hooks/useFps/useFps.js +2 -2
- package/dist/cjs/hooks/useFullscreen/useFullscreen.js +2 -2
- package/dist/cjs/hooks/useFullscreen/useFullscreen.js.map +1 -1
- package/dist/cjs/hooks/useGamepad/helpers/mapGamepadToXbox360Controller.js +1 -1
- package/dist/cjs/hooks/useGamepad/useGamepad.js +2 -2
- package/dist/cjs/hooks/useGeolocation/useGeolocation.js +2 -2
- package/dist/cjs/hooks/useHash/useHash.js +2 -2
- package/dist/cjs/hooks/useHotkeys/useHotkeys.js +2 -2
- package/dist/cjs/hooks/useHotkeys/useHotkeys.js.map +1 -1
- package/dist/cjs/hooks/useHover/useHover.js +2 -2
- package/dist/cjs/hooks/useHover/useHover.js.map +1 -1
- package/dist/cjs/hooks/useIdle/useIdle.js +2 -2
- package/dist/cjs/hooks/useIdle/useIdle.js.map +1 -1
- package/dist/cjs/hooks/useImage/useImage.js +2 -2
- package/dist/cjs/hooks/useImage/useImage.js.map +1 -1
- package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.js +2 -2
- package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.js.map +1 -1
- package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
- package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
- package/dist/cjs/hooks/useInterval/useInterval.js +2 -2
- package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
- package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +2 -2
- package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js.map +1 -1
- package/dist/cjs/hooks/useKeyPress/useKeyPress.js +2 -2
- package/dist/cjs/hooks/useKeyPress/useKeyPress.js.map +1 -1
- package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js +2 -2
- package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js.map +1 -1
- package/dist/cjs/hooks/useKeyboard/useKeyboard.js +2 -2
- package/dist/cjs/hooks/useKeyboard/useKeyboard.js.map +1 -1
- package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js +2 -2
- package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js.map +1 -1
- package/dist/cjs/hooks/useLastChanged/useLastChanged.js +2 -2
- package/dist/cjs/hooks/useLastChanged/useLastChanged.js.map +1 -1
- package/dist/cjs/hooks/useLatest/useLatest.js +1 -1
- package/dist/cjs/hooks/useList/useList.js +2 -2
- package/dist/cjs/hooks/useLocalStorage/useLocalStorage.js +2 -2
- package/dist/cjs/hooks/useLocalStorage/useLocalStorage.js.map +1 -1
- package/dist/cjs/hooks/useLogger/useLogger.js +2 -2
- package/dist/cjs/hooks/useLogger/useLogger.js.map +1 -1
- package/dist/cjs/hooks/useLongPress/useLongPress.js +2 -2
- package/dist/cjs/hooks/useMap/useMap.js +2 -2
- package/dist/cjs/hooks/useMeasure/useMeasure.js +2 -2
- package/dist/cjs/hooks/useMeasure/useMeasure.js.map +1 -1
- package/dist/cjs/hooks/useMediaQuery/useMediaQuery.js +1 -1
- package/dist/cjs/hooks/useMemory/useMemory.js +2 -2
- package/dist/cjs/hooks/useMount/useMount.js +1 -1
- package/dist/cjs/hooks/useMouse/useMouse.js +2 -2
- package/dist/cjs/hooks/useMouse/useMouse.js.map +1 -1
- package/dist/cjs/hooks/useMutation/useMutation.js +2 -2
- package/dist/cjs/hooks/useMutationObserver/useMutationObserver.js +2 -2
- package/dist/cjs/hooks/useMutationObserver/useMutationObserver.js.map +1 -1
- package/dist/cjs/hooks/useNetwork/useNetwork.js +2 -2
- package/dist/cjs/hooks/useNetwork/useNetwork.js.map +1 -1
- package/dist/cjs/hooks/useOffsetPagination/useOffsetPagination.js +2 -2
- package/dist/cjs/hooks/useOnline/useOnline.js +1 -1
- package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.js +1 -1
- package/dist/cjs/hooks/useOptimistic/useOptimistic.js +2 -2
- package/dist/cjs/hooks/useOptimistic/useOptimistic.js.map +1 -1
- package/dist/cjs/hooks/useOrientation/useOrientation.js +2 -2
- package/dist/cjs/hooks/useOtpCredential/useOtpCredential.js +2 -2
- package/dist/cjs/hooks/usePageLeave/usePageLeave.js +2 -2
- package/dist/cjs/hooks/usePaint/helpers/Paint.js +2 -2
- package/dist/cjs/hooks/usePaint/helpers/Pointer.js +2 -2
- package/dist/cjs/hooks/usePaint/usePaint.js +2 -2
- package/dist/cjs/hooks/usePaint/usePaint.js.map +1 -1
- package/dist/cjs/hooks/useParallax/useParallax.js +2 -2
- package/dist/cjs/hooks/useParallax/useParallax.js.map +1 -1
- package/dist/cjs/hooks/usePermission/usePermission.js +2 -2
- package/dist/cjs/hooks/usePointerLock/usePointerLock.js +2 -2
- package/dist/cjs/hooks/usePostMessage/usePostMessage.js +1 -1
- package/dist/cjs/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
- package/dist/cjs/hooks/usePreferredContrast/usePreferredContrast.js +1 -1
- package/dist/cjs/hooks/usePreferredDark/usePreferredDark.js +1 -1
- package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
- package/dist/cjs/hooks/usePreferredReducedMotion/usePreferredReducedMotion.js +1 -1
- package/dist/cjs/hooks/usePrevious/usePrevious.js +1 -1
- package/dist/cjs/hooks/useQuery/useQuery.js +2 -2
- package/dist/cjs/hooks/useQuery/useQuery.js.map +1 -1
- package/dist/cjs/hooks/useQueue/useQueue.js +2 -2
- package/dist/cjs/hooks/useRaf/useRaf.js +2 -2
- package/dist/cjs/hooks/useRafValue/useRafValue.js +2 -2
- package/dist/cjs/hooks/useRefState/useRefState.js +2 -2
- package/dist/cjs/hooks/useRefState/useRefState.js.map +1 -1
- package/dist/cjs/hooks/useRenderCount/useRenderCount.js +1 -1
- package/dist/cjs/hooks/useRenderInfo/useRenderInfo.js +1 -1
- package/dist/cjs/hooks/useRerender/useRerender.js +1 -1
- package/dist/cjs/hooks/useResizeObserver/useResizeObserver.js +2 -2
- package/dist/cjs/hooks/useResizeObserver/useResizeObserver.js.map +1 -1
- package/dist/cjs/hooks/useScreenOrientation/useScreenOrientation.js +2 -2
- package/dist/cjs/hooks/useScript/useScript.js +2 -2
- package/dist/cjs/hooks/useScroll/useScroll.js +2 -2
- package/dist/cjs/hooks/useScroll/useScroll.js.map +1 -1
- package/dist/cjs/hooks/useScrollTo/useScrollTo.js +2 -2
- package/dist/cjs/hooks/useScrollTo/useScrollTo.js.map +1 -1
- package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js +2 -2
- package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js.map +1 -1
- package/dist/cjs/hooks/useSet/useSet.js +2 -2
- package/dist/cjs/hooks/useShare/useShare.js +2 -2
- package/dist/cjs/hooks/useStep/useStep.js +2 -2
- package/dist/cjs/hooks/useStopwatch/useStopwatch.js +2 -2
- package/dist/cjs/hooks/useStorage/useStorage.js +2 -2
- package/dist/cjs/hooks/useStorage/useStorage.js.map +1 -1
- package/dist/cjs/hooks/useTextDirection/useTextDirection.js +2 -2
- package/dist/cjs/hooks/useTextDirection/useTextDirection.js.map +1 -1
- package/dist/cjs/hooks/useTextSelection/useTextSelection.js +2 -2
- package/dist/cjs/hooks/useTextSelection/useTextSelection.js.map +1 -1
- package/dist/cjs/hooks/useThrottleCallback/useThrottleCallback.js +2 -2
- package/dist/cjs/hooks/useThrottleCallback/useThrottleCallback.js.map +1 -1
- package/dist/cjs/hooks/useThrottleValue/useThrottleValue.js +2 -2
- package/dist/cjs/hooks/useThrottleValue/useThrottleValue.js.map +1 -1
- package/dist/cjs/hooks/useTime/useTime.js +2 -2
- package/dist/cjs/hooks/useTime/useTime.js.map +1 -1
- package/dist/cjs/hooks/useTimeout/useTimeout.js +2 -2
- package/dist/cjs/hooks/useTimer/useTimer.js +2 -2
- package/dist/cjs/hooks/useToggle/useToggle.js +2 -2
- package/dist/cjs/hooks/useUnmount/useUnmount.js +1 -1
- package/dist/cjs/hooks/useVibrate/useVibrate.js +2 -2
- package/dist/cjs/hooks/useWebSocket/useWebSocket.js +2 -2
- package/dist/cjs/hooks/useWebSocket/useWebSocket.js.map +1 -1
- package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js +2 -2
- package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js.map +1 -1
- package/dist/cjs/hooks/useWindowFocus/useWindowFocus.js +2 -2
- package/dist/cjs/hooks/useWindowScroll/useWindowScroll.js +2 -2
- package/dist/cjs/hooks/useWindowScroll/useWindowScroll.js.map +1 -1
- package/dist/cjs/hooks/useWindowSize/useWindowSize.js +2 -2
- package/dist/cjs/hooks/useWindowSize/useWindowSize.js.map +1 -1
- package/dist/cjs/hooks/useWizard/useWizard.js +2 -2
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/utils/helpers/debounce.js +1 -1
- package/dist/cjs/utils/helpers/getElement.js +1 -1
- package/dist/cjs/utils/helpers/getRetry.js +1 -1
- package/dist/cjs/utils/helpers/index.js +2 -2
- package/dist/cjs/utils/helpers/isTarget.js +2 -2
- package/dist/cjs/utils/helpers/isTarget.js.map +1 -1
- package/dist/cjs/utils/helpers/throttle.js +1 -1
- package/dist/cjs/utils/helpers/time/getDate.js +1 -1
- package/dist/esm/{_rollupPluginBabelHelpers-CNZ3s-mD.js → _rollupPluginBabelHelpers-USgtHx7z.js} +2 -2
- package/dist/esm/_rollupPluginBabelHelpers-USgtHx7z.js.map +1 -0
- package/dist/esm/hooks/index.js +2 -2
- package/dist/esm/hooks/useActiveElement/useActiveElement.js +2 -2
- package/dist/esm/hooks/useAsync/useAsync.js +2 -2
- package/dist/esm/hooks/useBattery/useBattery.js +2 -2
- package/dist/esm/hooks/useBattery/useBattery.js.map +1 -1
- package/dist/esm/hooks/useBluetooth/useBluetooth.js +2 -2
- package/dist/esm/hooks/useBoolean/useBoolean.js +2 -2
- package/dist/esm/hooks/useBreakpoints/constants/breakpoints.js +1 -1
- package/dist/esm/hooks/useBreakpoints/useBreakpoints.js +2 -2
- package/dist/esm/hooks/useBrowserLanguage/useBrowserLanguage.js +1 -1
- package/dist/esm/hooks/useClickOutside/useClickOutside.js +2 -2
- package/dist/esm/hooks/useClickOutside/useClickOutside.js.map +1 -1
- package/dist/esm/hooks/useClipboard/useClipboard.js +2 -2
- package/dist/esm/hooks/useConst/useConst.js +1 -1
- package/dist/esm/hooks/useCounter/useCounter.js +2 -2
- package/dist/esm/hooks/useCssVar/useCssVar.js +2 -2
- package/dist/esm/hooks/useCssVar/useCssVar.js.map +1 -1
- package/dist/esm/hooks/useDebounceCallback/useDebounceCallback.js +2 -2
- package/dist/esm/hooks/useDebounceCallback/useDebounceCallback.js.map +1 -1
- package/dist/esm/hooks/useDebounceValue/useDebounceValue.js +2 -2
- package/dist/esm/hooks/useDebounceValue/useDebounceValue.js.map +1 -1
- package/dist/esm/hooks/useDefault/useDefault.js +2 -2
- package/dist/esm/hooks/useDeviceMotion/useDeviceMotion.js +2 -2
- package/dist/esm/hooks/useDeviceMotion/useDeviceMotion.js.map +1 -1
- package/dist/esm/hooks/useDeviceOrientation/useDeviceOrientation.js +2 -2
- package/dist/esm/hooks/useDevicePixelRatio/useDevicePixelRatio.js +2 -2
- package/dist/esm/hooks/useDevicePixelRatio/useDevicePixelRatio.js.map +1 -1
- package/dist/esm/hooks/useDidUpdate/useDidUpdate.js +2 -2
- package/dist/esm/hooks/useDidUpdate/useDidUpdate.js.map +1 -1
- package/dist/esm/hooks/useDisclosure/useDisclosure.js +2 -2
- package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.js +2 -2
- package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.js.map +1 -1
- package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
- package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js.map +1 -1
- package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
- package/dist/esm/hooks/useElementSize/useElementSize.js +2 -2
- package/dist/esm/hooks/useElementSize/useElementSize.js.map +1 -1
- package/dist/esm/hooks/useEvent/useEvent.js +1 -1
- package/dist/esm/hooks/useEventListener/useEventListener.js +2 -2
- package/dist/esm/hooks/useEventListener/useEventListener.js.map +1 -1
- package/dist/esm/hooks/useEyeDropper/useEyeDropper.js +2 -2
- package/dist/esm/hooks/useFavicon/useFavicon.js +2 -2
- package/dist/esm/hooks/useFavicon/useFavicon.js.map +1 -1
- package/dist/esm/hooks/useField/useField.js +2 -2
- package/dist/esm/hooks/useFileDialog/useFileDialog.js +2 -2
- package/dist/esm/hooks/useFocus/useFocus.js +2 -2
- package/dist/esm/hooks/useFocus/useFocus.js.map +1 -1
- package/dist/esm/hooks/useFps/useFps.js +2 -2
- package/dist/esm/hooks/useFullscreen/useFullscreen.js +2 -2
- package/dist/esm/hooks/useFullscreen/useFullscreen.js.map +1 -1
- package/dist/esm/hooks/useGamepad/helpers/mapGamepadToXbox360Controller.js +1 -1
- package/dist/esm/hooks/useGamepad/useGamepad.js +2 -2
- package/dist/esm/hooks/useGeolocation/useGeolocation.js +2 -2
- package/dist/esm/hooks/useHash/useHash.js +2 -2
- package/dist/esm/hooks/useHotkeys/useHotkeys.js +2 -2
- package/dist/esm/hooks/useHotkeys/useHotkeys.js.map +1 -1
- package/dist/esm/hooks/useHover/useHover.js +2 -2
- package/dist/esm/hooks/useHover/useHover.js.map +1 -1
- package/dist/esm/hooks/useIdle/useIdle.js +2 -2
- package/dist/esm/hooks/useIdle/useIdle.js.map +1 -1
- package/dist/esm/hooks/useImage/useImage.js +2 -2
- package/dist/esm/hooks/useImage/useImage.js.map +1 -1
- package/dist/esm/hooks/useInfiniteScroll/useInfiniteScroll.js +2 -2
- package/dist/esm/hooks/useInfiniteScroll/useInfiniteScroll.js.map +1 -1
- package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
- package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
- package/dist/esm/hooks/useInterval/useInterval.js +2 -2
- package/dist/esm/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
- package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +2 -2
- package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js.map +1 -1
- package/dist/esm/hooks/useKeyPress/useKeyPress.js +2 -2
- package/dist/esm/hooks/useKeyPress/useKeyPress.js.map +1 -1
- package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js +2 -2
- package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js.map +1 -1
- package/dist/esm/hooks/useKeyboard/useKeyboard.js +2 -2
- package/dist/esm/hooks/useKeyboard/useKeyboard.js.map +1 -1
- package/dist/esm/hooks/useKeysPressed/useKeysPressed.js +2 -2
- package/dist/esm/hooks/useKeysPressed/useKeysPressed.js.map +1 -1
- package/dist/esm/hooks/useLastChanged/useLastChanged.js +2 -2
- package/dist/esm/hooks/useLastChanged/useLastChanged.js.map +1 -1
- package/dist/esm/hooks/useLatest/useLatest.js +1 -1
- package/dist/esm/hooks/useList/useList.js +2 -2
- package/dist/esm/hooks/useLocalStorage/useLocalStorage.js +2 -2
- package/dist/esm/hooks/useLocalStorage/useLocalStorage.js.map +1 -1
- package/dist/esm/hooks/useLogger/useLogger.js +2 -2
- package/dist/esm/hooks/useLogger/useLogger.js.map +1 -1
- package/dist/esm/hooks/useLongPress/useLongPress.js +2 -2
- package/dist/esm/hooks/useMap/useMap.js +2 -2
- package/dist/esm/hooks/useMeasure/useMeasure.js +2 -2
- package/dist/esm/hooks/useMeasure/useMeasure.js.map +1 -1
- package/dist/esm/hooks/useMediaQuery/useMediaQuery.js +1 -1
- package/dist/esm/hooks/useMemory/useMemory.js +2 -2
- package/dist/esm/hooks/useMount/useMount.js +1 -1
- package/dist/esm/hooks/useMouse/useMouse.js +2 -2
- package/dist/esm/hooks/useMouse/useMouse.js.map +1 -1
- package/dist/esm/hooks/useMutation/useMutation.js +2 -2
- package/dist/esm/hooks/useMutationObserver/useMutationObserver.js +2 -2
- package/dist/esm/hooks/useMutationObserver/useMutationObserver.js.map +1 -1
- package/dist/esm/hooks/useNetwork/useNetwork.js +2 -2
- package/dist/esm/hooks/useNetwork/useNetwork.js.map +1 -1
- package/dist/esm/hooks/useOffsetPagination/useOffsetPagination.js +2 -2
- package/dist/esm/hooks/useOnline/useOnline.js +1 -1
- package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.js +1 -1
- package/dist/esm/hooks/useOptimistic/useOptimistic.js +2 -2
- package/dist/esm/hooks/useOptimistic/useOptimistic.js.map +1 -1
- package/dist/esm/hooks/useOrientation/useOrientation.js +2 -2
- package/dist/esm/hooks/useOtpCredential/useOtpCredential.js +2 -2
- package/dist/esm/hooks/usePageLeave/usePageLeave.js +2 -2
- package/dist/esm/hooks/usePaint/helpers/Paint.js +2 -2
- package/dist/esm/hooks/usePaint/helpers/Pointer.js +2 -2
- package/dist/esm/hooks/usePaint/usePaint.js +2 -2
- package/dist/esm/hooks/usePaint/usePaint.js.map +1 -1
- package/dist/esm/hooks/useParallax/useParallax.js +2 -2
- package/dist/esm/hooks/useParallax/useParallax.js.map +1 -1
- package/dist/esm/hooks/usePermission/usePermission.js +2 -2
- package/dist/esm/hooks/usePointerLock/usePointerLock.js +2 -2
- package/dist/esm/hooks/usePostMessage/usePostMessage.js +1 -1
- package/dist/esm/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
- package/dist/esm/hooks/usePreferredContrast/usePreferredContrast.js +1 -1
- package/dist/esm/hooks/usePreferredDark/usePreferredDark.js +1 -1
- package/dist/esm/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
- package/dist/esm/hooks/usePreferredReducedMotion/usePreferredReducedMotion.js +1 -1
- package/dist/esm/hooks/usePrevious/usePrevious.js +1 -1
- package/dist/esm/hooks/useQuery/useQuery.js +2 -2
- package/dist/esm/hooks/useQuery/useQuery.js.map +1 -1
- package/dist/esm/hooks/useQueue/useQueue.js +2 -2
- package/dist/esm/hooks/useRaf/useRaf.js +2 -2
- package/dist/esm/hooks/useRafValue/useRafValue.js +2 -2
- package/dist/esm/hooks/useRefState/useRefState.js +2 -2
- package/dist/esm/hooks/useRefState/useRefState.js.map +1 -1
- package/dist/esm/hooks/useRenderCount/useRenderCount.js +1 -1
- package/dist/esm/hooks/useRenderInfo/useRenderInfo.js +1 -1
- package/dist/esm/hooks/useRerender/useRerender.js +1 -1
- package/dist/esm/hooks/useResizeObserver/useResizeObserver.js +2 -2
- package/dist/esm/hooks/useResizeObserver/useResizeObserver.js.map +1 -1
- package/dist/esm/hooks/useScreenOrientation/useScreenOrientation.js +2 -2
- package/dist/esm/hooks/useScript/useScript.js +2 -2
- package/dist/esm/hooks/useScroll/useScroll.js +2 -2
- package/dist/esm/hooks/useScroll/useScroll.js.map +1 -1
- package/dist/esm/hooks/useScrollTo/useScrollTo.js +2 -2
- package/dist/esm/hooks/useScrollTo/useScrollTo.js.map +1 -1
- package/dist/esm/hooks/useSessionStorage/useSessionStorage.js +2 -2
- package/dist/esm/hooks/useSessionStorage/useSessionStorage.js.map +1 -1
- package/dist/esm/hooks/useSet/useSet.js +2 -2
- package/dist/esm/hooks/useShare/useShare.js +2 -2
- package/dist/esm/hooks/useStep/useStep.js +2 -2
- package/dist/esm/hooks/useStopwatch/useStopwatch.js +2 -2
- package/dist/esm/hooks/useStorage/useStorage.js +2 -2
- package/dist/esm/hooks/useStorage/useStorage.js.map +1 -1
- package/dist/esm/hooks/useTextDirection/useTextDirection.js +2 -2
- package/dist/esm/hooks/useTextDirection/useTextDirection.js.map +1 -1
- package/dist/esm/hooks/useTextSelection/useTextSelection.js +2 -2
- package/dist/esm/hooks/useTextSelection/useTextSelection.js.map +1 -1
- package/dist/esm/hooks/useThrottleCallback/useThrottleCallback.js +2 -2
- package/dist/esm/hooks/useThrottleCallback/useThrottleCallback.js.map +1 -1
- package/dist/esm/hooks/useThrottleValue/useThrottleValue.js +2 -2
- package/dist/esm/hooks/useThrottleValue/useThrottleValue.js.map +1 -1
- package/dist/esm/hooks/useTime/useTime.js +2 -2
- package/dist/esm/hooks/useTime/useTime.js.map +1 -1
- package/dist/esm/hooks/useTimeout/useTimeout.js +2 -2
- package/dist/esm/hooks/useTimer/useTimer.js +2 -2
- package/dist/esm/hooks/useToggle/useToggle.js +2 -2
- package/dist/esm/hooks/useUnmount/useUnmount.js +1 -1
- package/dist/esm/hooks/useVibrate/useVibrate.js +2 -2
- package/dist/esm/hooks/useWebSocket/useWebSocket.js +2 -2
- package/dist/esm/hooks/useWebSocket/useWebSocket.js.map +1 -1
- package/dist/esm/hooks/useWindowEvent/useWindowEvent.js +2 -2
- package/dist/esm/hooks/useWindowEvent/useWindowEvent.js.map +1 -1
- package/dist/esm/hooks/useWindowFocus/useWindowFocus.js +2 -2
- package/dist/esm/hooks/useWindowScroll/useWindowScroll.js +2 -2
- package/dist/esm/hooks/useWindowScroll/useWindowScroll.js.map +1 -1
- package/dist/esm/hooks/useWindowSize/useWindowSize.js +2 -2
- package/dist/esm/hooks/useWindowSize/useWindowSize.js.map +1 -1
- package/dist/esm/hooks/useWizard/useWizard.js +2 -2
- package/dist/esm/index.js +2 -2
- package/dist/esm/utils/helpers/debounce.js +1 -1
- package/dist/esm/utils/helpers/getElement.js +1 -1
- package/dist/esm/utils/helpers/getRetry.js +1 -1
- package/dist/esm/utils/helpers/index.js +2 -2
- package/dist/esm/utils/helpers/isTarget.js +2 -2
- package/dist/esm/utils/helpers/isTarget.js.map +1 -1
- package/dist/esm/utils/helpers/throttle.js +1 -1
- package/dist/esm/utils/helpers/time/getDate.js +1 -1
- package/dist/types/index.d.ts +1 -3
- package/package.json +1 -1
- package/dist/cjs/_rollupPluginBabelHelpers-BsWog5nG.js.map +0 -1
- package/dist/cjs/utils/helpers/isClient.js +0 -3
- package/dist/cjs/utils/helpers/isClient.js.map +0 -1
- package/dist/esm/_rollupPluginBabelHelpers-CNZ3s-mD.js.map +0 -1
- package/dist/esm/utils/helpers/isClient.js +0 -3
- package/dist/esm/utils/helpers/isClient.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOptimistic.js","sources":["../../../../src/hooks/useOptimistic/useOptimistic.ts"],"sourcesContent":["import { useRef, useState } from 'react';\n\nimport { useDidUpdate } from '../useDidUpdate/useDidUpdate';\n\nexport type UseOptimisticReturn<State> = [\n State,\n (optimisticValue: State, promise: Promise<any>) => void\n];\n\n/**\n * @name useOptimistic\n * @description - Hook that allows get optimistic value before its update\n * @category Utilities\n *\n * @template State The type of the state\n * @param {State} state The value to be returned initially and whenever no action is pending\n * @param {(currentState: State, optimisticValue: State) => State} update A pure function that takes the current state and the optimistic value passed to updateOptimistic and returns the resulting optimistic state\n * @returns {UseOptimisticReturn<State>} The resulting optimistic state, and the function to update it\n *\n * @example\n * const [optimisticValue, updateOptimistic] = useOptimistic<number>(count, (currentState, optimisticValue) => currentState + optimisticValue);\n */\nexport const useOptimistic = <State, OptimisticState = State>(\n externalState: State,\n update: (currentState: State, optimisticState: OptimisticState) => State\n) => {\n const [state, setState] = useState<State>(externalState);\n const internalUpdateRef = useRef(update);\n internalUpdateRef.current = update;\n\n const [promised, setPromised] = useState(false);\n\n useDidUpdate(() => {\n if (!promised) return;\n setState(externalState);\n setPromised(false);\n }, [promised]);\n\n const updateState = (optimisticValue: OptimisticState, promise: Promise<any>) => {\n setState((currentState) => internalUpdateRef.current(currentState, optimisticValue));\n return promise.finally(() => setPromised(true));\n };\n\n return [state, updateState] as const;\n};\n"],"names":["externalState","update","_useState","useState","_useState2","_slicedToArray","state","setState","internalUpdateRef","useRef","current","_useState3","_useState4","promised","setPromised","useDidUpdate","optimisticValue","promise","currentState"],"mappings":";
|
|
1
|
+
{"version":3,"file":"useOptimistic.js","sources":["../../../../src/hooks/useOptimistic/useOptimistic.ts"],"sourcesContent":["import { useRef, useState } from 'react';\n\nimport { useDidUpdate } from '../useDidUpdate/useDidUpdate';\n\nexport type UseOptimisticReturn<State> = [\n State,\n (optimisticValue: State, promise: Promise<any>) => void\n];\n\n/**\n * @name useOptimistic\n * @description - Hook that allows get optimistic value before its update\n * @category Utilities\n *\n * @template State The type of the state\n * @param {State} state The value to be returned initially and whenever no action is pending\n * @param {(currentState: State, optimisticValue: State) => State} update A pure function that takes the current state and the optimistic value passed to updateOptimistic and returns the resulting optimistic state\n * @returns {UseOptimisticReturn<State>} The resulting optimistic state, and the function to update it\n *\n * @example\n * const [optimisticValue, updateOptimistic] = useOptimistic<number>(count, (currentState, optimisticValue) => currentState + optimisticValue);\n */\nexport const useOptimistic = <State, OptimisticState = State>(\n externalState: State,\n update: (currentState: State, optimisticState: OptimisticState) => State\n) => {\n const [state, setState] = useState<State>(externalState);\n const internalUpdateRef = useRef(update);\n internalUpdateRef.current = update;\n\n const [promised, setPromised] = useState(false);\n\n useDidUpdate(() => {\n if (!promised) return;\n setState(externalState);\n setPromised(false);\n }, [promised]);\n\n const updateState = (optimisticValue: OptimisticState, promise: Promise<any>) => {\n setState((currentState) => internalUpdateRef.current(currentState, optimisticValue));\n return promise.finally(() => setPromised(true));\n };\n\n return [state, updateState] as const;\n};\n"],"names":["externalState","update","_useState","useState","_useState2","_slicedToArray","state","setState","internalUpdateRef","useRef","current","_useState3","_useState4","promised","setPromised","useDidUpdate","optimisticValue","promise","currentState"],"mappings":";qOAsB6B,SAC3BA,EACAC,GAEA,IAAAC,EAA0BC,EAAQA,SAAQH,GAAcI,EAAAC,EAAAA,eAAAH,EAAA,GAAjDI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAChBI,EAAoBC,EAAMA,OAACR,GACjCO,EAAkBE,QAAUT,EAE5B,IAAAU,EAAgCR,EAAQA,UAAC,GAAMS,EAAAP,EAAAA,eAAAM,EAAA,GAAxCE,EAAQD,EAAA,GAAEE,EAAWF,EAAA,GAE5BG,EAAAA,cAAa,WACNF,IACLN,EAASP,GACTc,GAAY,GACd,GAAG,CAACD,IAOJ,MAAO,CAACP,EALY,SAACU,EAAkCC,GAErD,OADAV,GAAS,SAACW,GAAY,OAAKV,EAAkBE,QAAQQ,EAAcF,MAC5DC,WAAgB,WAAA,OAAMH,GAAY,KAC1C,EAGH"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.91 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),n=require("react");exports.useOrientation=function(){var r=n.useState({angle:0,type:"landscape-primary"}),t=e._slicedToArray(r,2),i=t[0],a=t[1];return n.useEffect((function(){var e=function(){var e=window.screen.orientation,n=e.angle,r=e.type;a({angle:n,type:r})};return window.screen.orientation.addEventListener("change",e),function(){return window.screen.orientation.removeEventListener("change",e)}}),[]),i};
|
|
3
3
|
//# sourceMappingURL=useOrientation.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var r=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.91 */
|
|
2
|
+
"use strict";var r=require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),e=require("react");exports.useOtpCredential=function(){for(var n,t,o=arguments.length,u=new Array(o),a=0;a<o;a++)u[a]=arguments[a];var i=u[0]instanceof Function?u[0]:null===(n=u[0])||void 0===n?void 0:n.onSuccess,c=u[0]instanceof Function?null===(t=u[0])||void 0===t?void 0:t.onError:void 0,s="undefined"!=typeof navigator&&"OTPCredential"in window,l=e.useState(!1),p=r._slicedToArray(l,2),d=p[0],f=p[1],v=e.useRef(new AbortController),b=function(){var e=r._asyncToGenerator(r._regeneratorRuntime().mark((function e(){var n;return r._regeneratorRuntime().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(s){r.next=2;break}return r.abrupt("return");case 2:return v.current=new AbortController,r.prev=3,r.next=6,navigator.credentials.get({otp:{transport:["sms"]},signal:v.current.signal});case 6:return n=r.sent,null==i||i(n),f(!1),r.abrupt("return",n);case 12:r.prev=12,r.t0=r.catch(3),null==c||c(r.t0);case 15:case"end":return r.stop()}}),e,null,[[3,12]])})));return function(){return e.apply(this,arguments)}}();return{supported:s,abort:function(){v.current.abort(),v.current=new AbortController,v.current.signal.onabort=function(){return f(!0)}},aborted:d,get:b}};
|
|
3
3
|
//# sourceMappingURL=useOtpCredential.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.91 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),t=require("react"),n=require("../useEvent/useEvent.js");exports.usePageLeave=function(r){var u=t.useState(!1),s=e._slicedToArray(u,2),i=s[0],o=s[1],v=n.useEvent((function(){if(i)return o(!1);null==r||r(),o(!0)}));return t.useEffect((function(){return document.addEventListener("mouseleave",v,{passive:!0}),document.addEventListener("mouseenter",v,{passive:!0}),function(){document.removeEventListener("mouseenter",v),document.removeEventListener("mouseleave",v)}}),[]),i};
|
|
3
3
|
//# sourceMappingURL=usePageLeave.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var t=require("../../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.91 */
|
|
2
|
+
"use strict";var t=require("../../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),s=require("./Pointer.js"),i=function(){return t._createClass((function i(e){var r=e.x,h=e.y,n=e.radius,o=e.smooth;t._classCallCheck(this,i),t._defineProperty(this,"smooth",!1),t._defineProperty(this,"points",[]),t._defineProperty(this,"lines",[]),this.smooth=o,this.pointer=new s.Pointer(r,h),this.brush=new s.Pointer(r,h),this.radius=n,this.points=[],this.lines=[]}),[{key:"getBrushCoordinates",value:function(){return{x:this.brush.x,y:this.brush.y}}},{key:"getPointerCoordinates",value:function(){return{x:this.pointer.x,y:this.pointer.y}}},{key:"update",value:function(t){if(this.pointer.equalsTo(t))return!1;if(this.pointer.update(t),!this.smooth)return this.brush.update(t),this.points.push(this.getBrushCoordinates()),!0;var s=this.pointer.getDistanceTo(this.brush),i=this.pointer.getAngleTo(this.brush);if(Math.round(10*(s-this.radius))/10>0){var e=i+Math.PI/2;return this.brush.update({x:this.brush.x+Math.sin(e)*(s-this.radius),y:this.brush.y-Math.cos(e)*(s-this.radius)}),this.points.push(this.getBrushCoordinates()),!0}return!1}}])}();exports.Paint=i;
|
|
3
3
|
//# sourceMappingURL=Paint.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.91 */
|
|
2
|
+
"use strict";var e=require("../../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),t=function(){function t(n,i){e._classCallCheck(this,t),this.x=n,this.y=i}return e._createClass(t,[{key:"update",value:function(e){this.x=e.x,this.y=e.y}},{key:"getDifferenceTo",value:function(e){return new t(this.x-e.x,this.y-e.y)}},{key:"getDistanceTo",value:function(e){var t=this.getDifferenceTo(e);return Math.sqrt(Math.pow(t.x,2)+Math.pow(t.y,2))}},{key:"getAngleTo",value:function(e){var t=this.getDifferenceTo(e);return Math.atan2(t.y,t.x)}},{key:"equalsTo",value:function(e){return this.x===e.x&&this.y===e.y}},{key:"moveByAngle",value:function(e,t){var n=e+Math.PI/2;return this.x+=Math.sin(n)*t,this.y-=Math.cos(n)*t,this}}])}();exports.Pointer=t;
|
|
3
3
|
//# sourceMappingURL=Pointer.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.91 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),n=require("react"),r=require("../../utils/helpers/getElement.js"),t=require("../useEvent/useEvent.js"),u=require("./helpers/Paint.js");require("./helpers/Pointer.js");exports.usePaint=function(){var i,o,l,c,s,a="object"!==e._typeof(arguments.length<=0?void 0:arguments[0])||"current"in(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,v=a?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],d=null!==(i=null==v?void 0:v.color)&&void 0!==i?i:"black",f=null!==(o=null==v?void 0:v.opacity)&&void 0!==o?o:1,p=null!==(l=null==v?void 0:v.radius)&&void 0!==l?l:10,h=n.useRef(new u.Paint({x:0,y:0,radius:null!==(c=null==v?void 0:v.radius)&&void 0!==c?c:10,smooth:null!==(s=null==v?void 0:v.smooth)&&void 0!==s&&s})),y=n.useState(!1),g=e._slicedToArray(y,2),E=g[0],m=g[1],x=n.useRef(null),w=n.useRef(null),L=function(e,n,r,t){if(w.current){w.current.globalAlpha=r,w.current.strokeStyle=n,w.current.lineWidth=2*t,w.current.lineCap="round",w.current.lineJoin="round";var u=e[0],i=e[1];w.current.beginPath();for(var o=1;o<e.length;o+=1){var l={x:u.x+(i.x-u.x)/2,y:u.y+(i.y-u.y)/2};w.current.quadraticCurveTo(u.x,u.y,l.x,l.y),u=e[o],i=e[o+1]}w.current.lineTo(u.x,u.y),w.current.stroke()}},q=function(){w.current&&w.current.clearRect(0,0,w.current.canvas.width,w.current.canvas.height)},b=t.useEvent((function(e){var n;if(E){null==v||null===(n=v.onMouseMove)||void 0===n||n.call(v,e,h.current);var r={x:e.offsetX,y:e.offsetY};h.current.update(r)&&w.current&&(q(),w.current.clearRect(0,0,w.current.canvas.width,w.current.canvas.height),h.current.lines.forEach((function(e){var n=e.points,r=e.color,t=e.opacity,u=e.radius;return L(n,r,t,u)})),L(h.current.points,d,f,p))}})),j=t.useEvent((function(e){var n;if(w.current){var r={x:e.offsetX,y:e.offsetY};h.current.brush.update(r),h.current.points.push(r),L(h.current.points,d,f,p),null==v||null===(n=v.onMouseDown)||void 0===n||n.call(v,e,h.current),m(!0)}})),P=t.useEvent((function(e){var n;w.current&&(h.current.points.length&&(h.current.lines.push({points:h.current.points,color:d,opacity:f,radius:p}),h.current.points=[]),null==v||null===(n=v.onMouseUp)||void 0===n||n.call(v,e,h.current),m(!1))})),R=function(){w.current&&(q(),h.current.lines=[],h.current.points=[])},M=function(){w.current&&(q(),h.current.lines.pop(),h.current.lines.forEach((function(e){var n=e.points,r=e.color,t=e.opacity,u=e.radius;return L(n,r,t,u)})))};return n.useEffect((function(){var e=a?r.getElement(a):x.current;if(e)return w.current=e.getContext("2d"),null!=v&&v.initialLines&&(h.current.lines=v.initialLines,v.initialLines.forEach((function(e){var n=e.points,r=e.color,t=e.opacity,u=e.radius;return L(n,r,t,u)}))),e.addEventListener("mousedown",j),e.addEventListener("mousemove",b),e.addEventListener("mouseup",P),function(){e&&(e.removeEventListener("mousedown",j),e.removeEventListener("mousemove",b),e.removeEventListener("mouseup",P))}}),[]),a?{drawing:E,clear:R,undo:M,draw:L,lines:h.current.lines}:{ref:x,drawing:E,clear:R,undo:M,draw:L,lines:h.current.lines}};
|
|
3
3
|
//# sourceMappingURL=usePaint.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePaint.js","sources":["../../../../src/hooks/usePaint/usePaint.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getElement } from '@/utils/helpers';\n\nimport type { Point } from './helpers/Pointer';\n\nimport { useEvent } from '../useEvent/useEvent';\nimport { Paint } from './helpers/Paint';\n\nconst DEFAULT_BRUSH_RADIUS = 10;\n\nexport interface UsePaintOptions {\n /** Brush color */\n color?: string;\n /** Initial lines */\n initialLines?: Paint['lines'];\n /** Brush opacity */\n opacity?: number;\n /** Brush radius */\n radius?: number;\n /** Smooth brush movement */\n smooth?: boolean;\n /** Callback when the mouse is down */\n onMouseDown?: (event: MouseEvent, paint: Paint) => void;\n /** Callback when the mouse is moved */\n onMouseMove?: (event: MouseEvent, paint: Paint) => void;\n /** Callback when the mouse is up */\n onMouseUp?: (event: MouseEvent, paint: Paint) => void;\n}\n\nexport interface UsePaintReturn {\n drawing: boolean;\n lines: Paint['lines'];\n clear: () => void;\n draw: (points: Point[], color: string, opacity: number, radius: number) => void;\n undo: () => void;\n}\n\n/** The use paint return type */\nexport type UsePaintTarget =\n | (() => HTMLCanvasElement)\n | HTMLCanvasElement\n | RefObject<HTMLCanvasElement>;\n\nexport interface UsePaint {\n <Target extends UsePaintTarget>(target: Target, options?: UsePaintOptions): UsePaintReturn;\n\n (\n options?: UsePaintOptions,\n target?: never\n ): { ref: RefObject<HTMLCanvasElement> } & UsePaintReturn;\n}\n\n/**\n * @name usePaint\n * @description - Hook that allows you to draw in a specific area\n * @category Browser\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to be painted\n * @param {UsePaintOptions} [options] The options to be used\n * @returns {UsePaintReturn} An object containing the current pencil options and functions to interact with the paint\n *\n * @example\n * const drawing = usePaint(canvasRef);\n *\n * @overload\n * @param {UsePaintOptions} [options] The options to be used\n * @returns {UsePaintReturn & { ref: RefObject<HTMLCanvasElement> }} An object containing the current pencil options and functions to interact with the paint\n *\n * @example\n * const { ref, drawing } = usePaint();\n */\n\nexport const usePaint = ((...params: any[]) => {\n const target = (\n typeof params[0] === 'object' && !('current' in params[0]) ? undefined : params[0]\n ) as UsePaintTarget | undefined;\n const options = (target ? params[1] : params[0]) as UsePaintOptions | undefined;\n\n const color = options?.color ?? 'black';\n const opacity = options?.opacity ?? 1;\n const radius = options?.radius ?? DEFAULT_BRUSH_RADIUS;\n\n const paintRef = useRef<Paint>(\n new Paint({\n x: 0,\n y: 0,\n radius: options?.radius ?? DEFAULT_BRUSH_RADIUS,\n smooth: options?.smooth ?? false\n })\n );\n const [drawing, setIsDrawing] = useState(false);\n const internalRef = useRef<HTMLCanvasElement>(null);\n const contextRef = useRef<CanvasRenderingContext2D | null>(null);\n\n const draw = (points: Point[], color: string, opacity: number, radius: number) => {\n if (!contextRef.current) return;\n\n contextRef.current.globalAlpha = opacity;\n contextRef.current.strokeStyle = color;\n contextRef.current.lineWidth = radius * 2;\n contextRef.current.lineCap = 'round';\n contextRef.current.lineJoin = 'round';\n\n let p1 = points[0];\n let p2 = points[1];\n\n contextRef.current.beginPath();\n\n for (let i = 1; i < points.length; i += 1) {\n const midPoint = {\n x: p1.x + (p2.x - p1.x) / 2,\n y: p1.y + (p2.y - p1.y) / 2\n };\n contextRef.current.quadraticCurveTo(p1.x, p1.y, midPoint.x, midPoint.y);\n p1 = points[i];\n p2 = points[i + 1];\n }\n contextRef.current.lineTo(p1.x, p1.y);\n contextRef.current.stroke();\n };\n\n const clearCanvas = () => {\n if (!contextRef.current) return;\n contextRef.current.clearRect(\n 0,\n 0,\n contextRef.current.canvas.width,\n contextRef.current.canvas.height\n );\n };\n\n const onMouseMove = useEvent((event: MouseEvent) => {\n if (!drawing) return;\n options?.onMouseMove?.(event, paintRef.current);\n\n const point = { x: event.offsetX, y: event.offsetY };\n\n const isUpdated = paintRef.current.update(point);\n\n if (!isUpdated) return;\n if (!contextRef.current) return;\n clearCanvas();\n contextRef.current.clearRect(\n 0,\n 0,\n contextRef.current.canvas.width,\n contextRef.current.canvas.height\n );\n\n // const brush = paintRef.current.getBrushCoordinates();\n // // Draw brush point\n // contextRef.current.beginPath();\n // contextRef.current.fillStyle = 'red';\n // contextRef.current.arc(brush.x, brush.y, radius, 0, Math.PI * 2, true);\n // contextRef.current.fill();\n\n // // Draw the lazy radius.\n // contextRef.current.beginPath();\n // contextRef.current.strokeStyle = '#ccc';\n // contextRef.current.arc(brush.x, brush.y, radius * 2, 0, Math.PI * 2, true);\n // contextRef.current.stroke();\n\n paintRef.current.lines.forEach(({ points, color, opacity, radius }) =>\n draw(points, color, opacity, radius)\n );\n draw(paintRef.current.points, color, opacity, radius);\n });\n\n const onMouseDown = useEvent((event: MouseEvent) => {\n if (!contextRef.current) return;\n\n const point = { x: event.offsetX, y: event.offsetY };\n paintRef.current.brush.update(point);\n paintRef.current.points.push(point);\n draw(paintRef.current.points, color, opacity, radius);\n\n options?.onMouseDown?.(event, paintRef.current);\n setIsDrawing(true);\n });\n\n const onMouseUp = useEvent((event: MouseEvent) => {\n if (!contextRef.current) return;\n\n if (paintRef.current.points.length) {\n paintRef.current.lines.push({ points: paintRef.current.points, color, opacity, radius });\n paintRef.current.points = [];\n }\n\n options?.onMouseUp?.(event, paintRef.current);\n setIsDrawing(false);\n });\n\n const clear = () => {\n if (!contextRef.current) return;\n clearCanvas();\n paintRef.current.lines = [];\n paintRef.current.points = [];\n };\n\n const undo = () => {\n if (!contextRef.current) return;\n clearCanvas();\n\n paintRef.current.lines.pop();\n paintRef.current.lines.forEach(({ points, color, opacity, radius }) =>\n draw(points, color, opacity, radius)\n );\n };\n\n useEffect(() => {\n const element = (target ? getElement(target) : internalRef.current) as HTMLCanvasElement;\n if (!element) return;\n contextRef.current = element.getContext('2d');\n\n if (options?.initialLines) {\n paintRef.current.lines = options.initialLines;\n options.initialLines.forEach(({ points, color, opacity, radius }) =>\n draw(points, color, opacity, radius)\n );\n }\n\n element.addEventListener('mousedown', onMouseDown);\n element.addEventListener('mousemove', onMouseMove);\n element.addEventListener('mouseup', onMouseUp);\n\n return () => {\n if (!element) return;\n element.removeEventListener('mousedown', onMouseDown);\n element.removeEventListener('mousemove', onMouseMove);\n element.removeEventListener('mouseup', onMouseUp);\n };\n }, []);\n\n if (target) return { drawing, clear, undo, draw, lines: paintRef.current.lines };\n return { ref: internalRef, drawing, clear, undo, draw, lines: paintRef.current.lines };\n}) as UsePaint;\n"],"names":["_options$color","_options$opacity","_options$radius","_options$radius2","_options$smooth","target","_typeof","arguments","length","undefined","options","color","opacity","radius","paintRef","useRef","Paint","x","y","smooth","_useState","useState","_useState2","_slicedToArray","drawing","setIsDrawing","internalRef","contextRef","draw","points","current","globalAlpha","strokeStyle","lineWidth","lineCap","lineJoin","p1","p2","beginPath","i","midPoint","quadraticCurveTo","lineTo","stroke","clearCanvas","clearRect","canvas","width","height","onMouseMove","useEvent","event","_options$onMouseMove","call","point","offsetX","offsetY","update","lines","forEach","_ref","onMouseDown","_options$onMouseDown","brush","push","onMouseUp","_options$onMouseUp","clear","undo","pop","_ref2","useEffect","element","getElement","getContext","initialLines","_ref3","addEventListener","removeEventListener","ref"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"usePaint.js","sources":["../../../../src/hooks/usePaint/usePaint.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getElement } from '@/utils/helpers';\n\nimport type { Point } from './helpers/Pointer';\n\nimport { useEvent } from '../useEvent/useEvent';\nimport { Paint } from './helpers/Paint';\n\nconst DEFAULT_BRUSH_RADIUS = 10;\n\nexport interface UsePaintOptions {\n /** Brush color */\n color?: string;\n /** Initial lines */\n initialLines?: Paint['lines'];\n /** Brush opacity */\n opacity?: number;\n /** Brush radius */\n radius?: number;\n /** Smooth brush movement */\n smooth?: boolean;\n /** Callback when the mouse is down */\n onMouseDown?: (event: MouseEvent, paint: Paint) => void;\n /** Callback when the mouse is moved */\n onMouseMove?: (event: MouseEvent, paint: Paint) => void;\n /** Callback when the mouse is up */\n onMouseUp?: (event: MouseEvent, paint: Paint) => void;\n}\n\nexport interface UsePaintReturn {\n drawing: boolean;\n lines: Paint['lines'];\n clear: () => void;\n draw: (points: Point[], color: string, opacity: number, radius: number) => void;\n undo: () => void;\n}\n\n/** The use paint return type */\nexport type UsePaintTarget =\n | (() => HTMLCanvasElement)\n | HTMLCanvasElement\n | RefObject<HTMLCanvasElement>;\n\nexport interface UsePaint {\n <Target extends UsePaintTarget>(target: Target, options?: UsePaintOptions): UsePaintReturn;\n\n (\n options?: UsePaintOptions,\n target?: never\n ): { ref: RefObject<HTMLCanvasElement> } & UsePaintReturn;\n}\n\n/**\n * @name usePaint\n * @description - Hook that allows you to draw in a specific area\n * @category Browser\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to be painted\n * @param {UsePaintOptions} [options] The options to be used\n * @returns {UsePaintReturn} An object containing the current pencil options and functions to interact with the paint\n *\n * @example\n * const drawing = usePaint(canvasRef);\n *\n * @overload\n * @param {UsePaintOptions} [options] The options to be used\n * @returns {UsePaintReturn & { ref: RefObject<HTMLCanvasElement> }} An object containing the current pencil options and functions to interact with the paint\n *\n * @example\n * const { ref, drawing } = usePaint();\n */\n\nexport const usePaint = ((...params: any[]) => {\n const target = (\n typeof params[0] === 'object' && !('current' in params[0]) ? undefined : params[0]\n ) as UsePaintTarget | undefined;\n const options = (target ? params[1] : params[0]) as UsePaintOptions | undefined;\n\n const color = options?.color ?? 'black';\n const opacity = options?.opacity ?? 1;\n const radius = options?.radius ?? DEFAULT_BRUSH_RADIUS;\n\n const paintRef = useRef<Paint>(\n new Paint({\n x: 0,\n y: 0,\n radius: options?.radius ?? DEFAULT_BRUSH_RADIUS,\n smooth: options?.smooth ?? false\n })\n );\n const [drawing, setIsDrawing] = useState(false);\n const internalRef = useRef<HTMLCanvasElement>(null);\n const contextRef = useRef<CanvasRenderingContext2D | null>(null);\n\n const draw = (points: Point[], color: string, opacity: number, radius: number) => {\n if (!contextRef.current) return;\n\n contextRef.current.globalAlpha = opacity;\n contextRef.current.strokeStyle = color;\n contextRef.current.lineWidth = radius * 2;\n contextRef.current.lineCap = 'round';\n contextRef.current.lineJoin = 'round';\n\n let p1 = points[0];\n let p2 = points[1];\n\n contextRef.current.beginPath();\n\n for (let i = 1; i < points.length; i += 1) {\n const midPoint = {\n x: p1.x + (p2.x - p1.x) / 2,\n y: p1.y + (p2.y - p1.y) / 2\n };\n contextRef.current.quadraticCurveTo(p1.x, p1.y, midPoint.x, midPoint.y);\n p1 = points[i];\n p2 = points[i + 1];\n }\n contextRef.current.lineTo(p1.x, p1.y);\n contextRef.current.stroke();\n };\n\n const clearCanvas = () => {\n if (!contextRef.current) return;\n contextRef.current.clearRect(\n 0,\n 0,\n contextRef.current.canvas.width,\n contextRef.current.canvas.height\n );\n };\n\n const onMouseMove = useEvent((event: MouseEvent) => {\n if (!drawing) return;\n options?.onMouseMove?.(event, paintRef.current);\n\n const point = { x: event.offsetX, y: event.offsetY };\n\n const isUpdated = paintRef.current.update(point);\n\n if (!isUpdated) return;\n if (!contextRef.current) return;\n clearCanvas();\n contextRef.current.clearRect(\n 0,\n 0,\n contextRef.current.canvas.width,\n contextRef.current.canvas.height\n );\n\n // const brush = paintRef.current.getBrushCoordinates();\n // // Draw brush point\n // contextRef.current.beginPath();\n // contextRef.current.fillStyle = 'red';\n // contextRef.current.arc(brush.x, brush.y, radius, 0, Math.PI * 2, true);\n // contextRef.current.fill();\n\n // // Draw the lazy radius.\n // contextRef.current.beginPath();\n // contextRef.current.strokeStyle = '#ccc';\n // contextRef.current.arc(brush.x, brush.y, radius * 2, 0, Math.PI * 2, true);\n // contextRef.current.stroke();\n\n paintRef.current.lines.forEach(({ points, color, opacity, radius }) =>\n draw(points, color, opacity, radius)\n );\n draw(paintRef.current.points, color, opacity, radius);\n });\n\n const onMouseDown = useEvent((event: MouseEvent) => {\n if (!contextRef.current) return;\n\n const point = { x: event.offsetX, y: event.offsetY };\n paintRef.current.brush.update(point);\n paintRef.current.points.push(point);\n draw(paintRef.current.points, color, opacity, radius);\n\n options?.onMouseDown?.(event, paintRef.current);\n setIsDrawing(true);\n });\n\n const onMouseUp = useEvent((event: MouseEvent) => {\n if (!contextRef.current) return;\n\n if (paintRef.current.points.length) {\n paintRef.current.lines.push({ points: paintRef.current.points, color, opacity, radius });\n paintRef.current.points = [];\n }\n\n options?.onMouseUp?.(event, paintRef.current);\n setIsDrawing(false);\n });\n\n const clear = () => {\n if (!contextRef.current) return;\n clearCanvas();\n paintRef.current.lines = [];\n paintRef.current.points = [];\n };\n\n const undo = () => {\n if (!contextRef.current) return;\n clearCanvas();\n\n paintRef.current.lines.pop();\n paintRef.current.lines.forEach(({ points, color, opacity, radius }) =>\n draw(points, color, opacity, radius)\n );\n };\n\n useEffect(() => {\n const element = (target ? getElement(target) : internalRef.current) as HTMLCanvasElement;\n if (!element) return;\n contextRef.current = element.getContext('2d');\n\n if (options?.initialLines) {\n paintRef.current.lines = options.initialLines;\n options.initialLines.forEach(({ points, color, opacity, radius }) =>\n draw(points, color, opacity, radius)\n );\n }\n\n element.addEventListener('mousedown', onMouseDown);\n element.addEventListener('mousemove', onMouseMove);\n element.addEventListener('mouseup', onMouseUp);\n\n return () => {\n if (!element) return;\n element.removeEventListener('mousedown', onMouseDown);\n element.removeEventListener('mousemove', onMouseMove);\n element.removeEventListener('mouseup', onMouseUp);\n };\n }, []);\n\n if (target) return { drawing, clear, undo, draw, lines: paintRef.current.lines };\n return { ref: internalRef, drawing, clear, undo, draw, lines: paintRef.current.lines };\n}) as UsePaint;\n"],"names":["_options$color","_options$opacity","_options$radius","_options$radius2","_options$smooth","target","_typeof","arguments","length","undefined","options","color","opacity","radius","paintRef","useRef","Paint","x","y","smooth","_useState","useState","_useState2","_slicedToArray","drawing","setIsDrawing","internalRef","contextRef","draw","points","current","globalAlpha","strokeStyle","lineWidth","lineCap","lineJoin","p1","p2","beginPath","i","midPoint","quadraticCurveTo","lineTo","stroke","clearCanvas","clearRect","canvas","width","height","onMouseMove","useEvent","event","_options$onMouseMove","call","point","offsetX","offsetY","update","lines","forEach","_ref","onMouseDown","_options$onMouseDown","brush","push","onMouseUp","_options$onMouseUp","clear","undo","pop","_ref2","useEffect","element","getElement","getContext","initialLines","_ref3","addEventListener","removeEventListener","ref"],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.91 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),t=require("react"),r=require("../useDeviceOrientation/useDeviceOrientation.js"),a=require("../useMouse/useMouse.js"),n=require("../useRefState/useRefState.js"),i=require("../useScreenOrientation/useScreenOrientation.js");require("../../utils/helpers/getElement.js"),require("../useRerender/useRerender.js");exports.useParallax=function(){var u,l=(arguments.length<=0?void 0:arguments[0])instanceof Function||(arguments.length<=0?void 0:arguments[0])&&"current"in(arguments.length<=0?void 0:arguments[0])||(arguments.length<=0?void 0:arguments[0])instanceof Element?arguments.length<=0?void 0:arguments[0]:void 0,o=n.useRefState(),s=a.useMouse(null!=l?l:o.current),c=i.useScreenOrientation(),v=r.useDeviceOrientation(),d=null!==(u=l?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0])&&void 0!==u?u:{},m=d.deviceOrientationRollAdjust,f=void 0===m?function(e){return e}:m,p=d.deviceOrientationTiltAdjust,g=void 0===p?function(e){return e}:p,h=d.mouseRollAdjust,y=void 0===h?function(e){return e}:h,b=d.mouseTiltAdjust,j=void 0===b?function(e){return e}:b,O=t.useState({roll:0,tilt:0,source:"mouse"}),R=e._slicedToArray(O,2),q=R[0],S=R[1],k=function(){return v.supported&&(v.value.alpha||v.value.gamma)?"deviceOrientation":"mouse"};return t.useEffect((function(){if(s.element){var e=k(),t=function(){if("deviceOrientation"===k()){var e;switch(c.value.orientationType){case"landscape-primary":e=v.value.gamma/90;break;case"landscape-secondary":e=-v.value.gamma/90;break;case"portrait-primary":default:e=-v.value.beta/90;break;case"portrait-secondary":e=v.value.beta/90}return f(e)}if(!s.element)return 0;var t=s.y-s.elementPositionY,r=s.element.getBoundingClientRect().height;return y(-(t-r/2)/r)}(),r=function(){if("deviceOrientation"===k()){var e;switch(c.value.orientationType){case"landscape-primary":e=v.value.beta/90;break;case"landscape-secondary":e=-v.value.beta/90;break;case"portrait-primary":default:e=v.value.gamma/90;break;case"portrait-secondary":e=-v.value.gamma/90}return g(e)}if(!s.element)return 0;var t=s.x-s.elementPositionX,r=s.element.getBoundingClientRect().width;return j((t-r/2)/r)}();S({roll:t,source:e,tilt:r})}}),[c.value.angle,c.value.orientationType,v.value.gamma,v.value.beta,v.value.alpha,v.value.absolute,s.x,s.y,s.element]),l?{value:q}:{ref:o,value:q}};
|
|
3
3
|
//# sourceMappingURL=useParallax.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useParallax.js","sources":["../../../../src/hooks/useParallax/useParallax.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { UseMouseTarget } from '../useMouse/useMouse';\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useDeviceOrientation } from '../useDeviceOrientation/useDeviceOrientation';\nimport { useMouse } from '../useMouse/useMouse';\nimport { useRefState } from '../useRefState/useRefState';\nimport { useScreenOrientation } from '../useScreenOrientation/useScreenOrientation';\n\n/** The use parallax value type */\nexport interface UseParallaxValue {\n /** Roll value. Scaled to `-0.5 ~ 0.5` */\n roll: number;\n /** Sensor source, can be `mouse` or `deviceOrientation` */\n source: 'deviceOrientation' | 'mouse';\n /** Tilt value. Scaled to `-0.5 ~ 0.5` */\n tilt: number;\n}\n\n/** The use parallax options type */\nexport interface UseParallaxOptions {\n /** Device orientation roll adjust function */\n deviceOrientationRollAdjust?: (value: number) => number;\n /** Device orientation tilt adjust function */\n deviceOrientationTiltAdjust?: (value: number) => number;\n /** Mouse roll adjust function */\n mouseRollAdjust?: (value: number) => number;\n /** Mouse tilt adjust function */\n mouseTiltAdjust?: (value: number) => number;\n}\n\ninterface UseParallaxReturn {\n value: UseParallaxValue;\n}\n\nexport interface UseParallax {\n <Target extends UseMouseTarget>(target: Target, options?: UseParallaxOptions): UseParallaxReturn;\n\n <Target extends UseMouseTarget>(\n params?: UseParallaxOptions\n ): UseParallaxReturn & {\n ref: StateRef<Target>;\n };\n}\n\n/**\n * @name useParallax\n * @description - Hook to help create parallax effect\n * @category Sensors\n *\n * @overload\n * @template Target The target element for the parallax effect\n * @param {Target} target The target element for the parallax effect\n * @param {UseParallaxOptions} options The options for the parallax effect\n * @returns {UseParallaxReturn} An object of parallax values\n *\n * @example\n * const { roll, tilt, source } = useParallax(ref);\n *\n * @overload\n * @template Target The target element for the parallax effect\n * @param {UseParallaxOptions} options The options for the parallax effect\n * @returns {UseParallaxReturn & { ref: StateRef<Target> }} An object of parallax values\n *\n * @example\n * const { ref, roll, tilt, source } = useParallax();\n */\nexport const useParallax = ((...params: any[]) => {\n const target =\n params[0] instanceof Function ||\n (params[0] && 'current' in params[0]) ||\n params[0] instanceof Element\n ? params[0]\n : undefined;\n\n const internalRef = useRefState<Element>();\n\n const mouse = useMouse(target ?? internalRef.current);\n const screenOrientation = useScreenOrientation();\n const deviceOrientation = useDeviceOrientation();\n\n const {\n deviceOrientationRollAdjust = (value) => value,\n deviceOrientationTiltAdjust = (value) => value,\n mouseRollAdjust = (value) => value,\n mouseTiltAdjust = (value) => value\n } = ((target ? params[1] : params[0]) ?? {}) as UseParallaxOptions;\n\n const [value, setValue] = useState({\n roll: 0,\n tilt: 0,\n source: 'mouse'\n });\n\n const getSource = () => {\n const isDeviceOrientation =\n deviceOrientation.supported &&\n (deviceOrientation.value.alpha || deviceOrientation.value.gamma);\n\n if (isDeviceOrientation) return 'deviceOrientation';\n return 'mouse';\n };\n\n const getRoll = () => {\n const source = getSource();\n if (source === 'deviceOrientation') {\n let value: number;\n switch (screenOrientation.value.orientationType) {\n case 'landscape-primary':\n value = deviceOrientation.value.gamma! / 90;\n break;\n case 'landscape-secondary':\n value = -deviceOrientation.value.gamma! / 90;\n break;\n case 'portrait-primary':\n value = -deviceOrientation.value.beta! / 90;\n break;\n case 'portrait-secondary':\n value = deviceOrientation.value.beta! / 90;\n break;\n default:\n value = -deviceOrientation.value.beta! / 90;\n }\n return deviceOrientationRollAdjust(value);\n } else {\n if (!mouse.element) return 0;\n const y = mouse.y - mouse.elementPositionY;\n const height = mouse.element.getBoundingClientRect().height;\n const value = -(y - height / 2) / height;\n return mouseRollAdjust(value);\n }\n };\n\n const getTilt = () => {\n const source = getSource();\n if (source === 'deviceOrientation') {\n let value: number;\n switch (screenOrientation.value.orientationType) {\n case 'landscape-primary':\n value = deviceOrientation.value.beta! / 90;\n break;\n case 'landscape-secondary':\n value = -deviceOrientation.value.beta! / 90;\n break;\n case 'portrait-primary':\n value = deviceOrientation.value.gamma! / 90;\n break;\n case 'portrait-secondary':\n value = -deviceOrientation.value.gamma! / 90;\n break;\n default:\n value = deviceOrientation.value.gamma! / 90;\n }\n return deviceOrientationTiltAdjust(value);\n } else {\n if (!mouse.element) return 0;\n const x = mouse.x - mouse.elementPositionX;\n const width = mouse.element.getBoundingClientRect().width;\n const value = (x - width / 2) / width;\n return mouseTiltAdjust(value);\n }\n };\n\n useEffect(() => {\n if (!mouse.element) return;\n\n const source = getSource();\n const roll = getRoll();\n const tilt = getTilt();\n\n setValue({\n roll,\n source,\n tilt\n });\n }, [\n screenOrientation.value.angle,\n screenOrientation.value.orientationType,\n deviceOrientation.value.gamma,\n deviceOrientation.value.beta,\n deviceOrientation.value.alpha,\n deviceOrientation.value.absolute,\n mouse.x,\n mouse.y,\n mouse.element\n ]);\n\n if (target) return { value };\n return { ref: internalRef, value };\n}) as UseParallax;\n"],"names":["_ref2","target","arguments","length","undefined","Function","Element","internalRef","useRefState","mouse","useMouse","current","screenOrientation","useScreenOrientation","deviceOrientation","useDeviceOrientation","_ref","_ref$deviceOrientatio","deviceOrientationRollAdjust","value","_ref$deviceOrientatio2","deviceOrientationTiltAdjust","_ref$mouseRollAdjust","mouseRollAdjust","_ref$mouseTiltAdjust","mouseTiltAdjust","_useState","useState","roll","tilt","source","_useState2","_slicedToArray","setValue","getSource","supported","alpha","gamma","useEffect","element","orientationType","beta","y","elementPositionY","height","getBoundingClientRect","getRoll","x","elementPositionX","width","getTilt","angle","absolute","ref"],"mappings":";
|
|
1
|
+
{"version":3,"file":"useParallax.js","sources":["../../../../src/hooks/useParallax/useParallax.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { UseMouseTarget } from '../useMouse/useMouse';\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useDeviceOrientation } from '../useDeviceOrientation/useDeviceOrientation';\nimport { useMouse } from '../useMouse/useMouse';\nimport { useRefState } from '../useRefState/useRefState';\nimport { useScreenOrientation } from '../useScreenOrientation/useScreenOrientation';\n\n/** The use parallax value type */\nexport interface UseParallaxValue {\n /** Roll value. Scaled to `-0.5 ~ 0.5` */\n roll: number;\n /** Sensor source, can be `mouse` or `deviceOrientation` */\n source: 'deviceOrientation' | 'mouse';\n /** Tilt value. Scaled to `-0.5 ~ 0.5` */\n tilt: number;\n}\n\n/** The use parallax options type */\nexport interface UseParallaxOptions {\n /** Device orientation roll adjust function */\n deviceOrientationRollAdjust?: (value: number) => number;\n /** Device orientation tilt adjust function */\n deviceOrientationTiltAdjust?: (value: number) => number;\n /** Mouse roll adjust function */\n mouseRollAdjust?: (value: number) => number;\n /** Mouse tilt adjust function */\n mouseTiltAdjust?: (value: number) => number;\n}\n\ninterface UseParallaxReturn {\n value: UseParallaxValue;\n}\n\nexport interface UseParallax {\n <Target extends UseMouseTarget>(target: Target, options?: UseParallaxOptions): UseParallaxReturn;\n\n <Target extends UseMouseTarget>(\n params?: UseParallaxOptions\n ): UseParallaxReturn & {\n ref: StateRef<Target>;\n };\n}\n\n/**\n * @name useParallax\n * @description - Hook to help create parallax effect\n * @category Sensors\n *\n * @overload\n * @template Target The target element for the parallax effect\n * @param {Target} target The target element for the parallax effect\n * @param {UseParallaxOptions} options The options for the parallax effect\n * @returns {UseParallaxReturn} An object of parallax values\n *\n * @example\n * const { roll, tilt, source } = useParallax(ref);\n *\n * @overload\n * @template Target The target element for the parallax effect\n * @param {UseParallaxOptions} options The options for the parallax effect\n * @returns {UseParallaxReturn & { ref: StateRef<Target> }} An object of parallax values\n *\n * @example\n * const { ref, roll, tilt, source } = useParallax();\n */\nexport const useParallax = ((...params: any[]) => {\n const target =\n params[0] instanceof Function ||\n (params[0] && 'current' in params[0]) ||\n params[0] instanceof Element\n ? params[0]\n : undefined;\n\n const internalRef = useRefState<Element>();\n\n const mouse = useMouse(target ?? internalRef.current);\n const screenOrientation = useScreenOrientation();\n const deviceOrientation = useDeviceOrientation();\n\n const {\n deviceOrientationRollAdjust = (value) => value,\n deviceOrientationTiltAdjust = (value) => value,\n mouseRollAdjust = (value) => value,\n mouseTiltAdjust = (value) => value\n } = ((target ? params[1] : params[0]) ?? {}) as UseParallaxOptions;\n\n const [value, setValue] = useState({\n roll: 0,\n tilt: 0,\n source: 'mouse'\n });\n\n const getSource = () => {\n const isDeviceOrientation =\n deviceOrientation.supported &&\n (deviceOrientation.value.alpha || deviceOrientation.value.gamma);\n\n if (isDeviceOrientation) return 'deviceOrientation';\n return 'mouse';\n };\n\n const getRoll = () => {\n const source = getSource();\n if (source === 'deviceOrientation') {\n let value: number;\n switch (screenOrientation.value.orientationType) {\n case 'landscape-primary':\n value = deviceOrientation.value.gamma! / 90;\n break;\n case 'landscape-secondary':\n value = -deviceOrientation.value.gamma! / 90;\n break;\n case 'portrait-primary':\n value = -deviceOrientation.value.beta! / 90;\n break;\n case 'portrait-secondary':\n value = deviceOrientation.value.beta! / 90;\n break;\n default:\n value = -deviceOrientation.value.beta! / 90;\n }\n return deviceOrientationRollAdjust(value);\n } else {\n if (!mouse.element) return 0;\n const y = mouse.y - mouse.elementPositionY;\n const height = mouse.element.getBoundingClientRect().height;\n const value = -(y - height / 2) / height;\n return mouseRollAdjust(value);\n }\n };\n\n const getTilt = () => {\n const source = getSource();\n if (source === 'deviceOrientation') {\n let value: number;\n switch (screenOrientation.value.orientationType) {\n case 'landscape-primary':\n value = deviceOrientation.value.beta! / 90;\n break;\n case 'landscape-secondary':\n value = -deviceOrientation.value.beta! / 90;\n break;\n case 'portrait-primary':\n value = deviceOrientation.value.gamma! / 90;\n break;\n case 'portrait-secondary':\n value = -deviceOrientation.value.gamma! / 90;\n break;\n default:\n value = deviceOrientation.value.gamma! / 90;\n }\n return deviceOrientationTiltAdjust(value);\n } else {\n if (!mouse.element) return 0;\n const x = mouse.x - mouse.elementPositionX;\n const width = mouse.element.getBoundingClientRect().width;\n const value = (x - width / 2) / width;\n return mouseTiltAdjust(value);\n }\n };\n\n useEffect(() => {\n if (!mouse.element) return;\n\n const source = getSource();\n const roll = getRoll();\n const tilt = getTilt();\n\n setValue({\n roll,\n source,\n tilt\n });\n }, [\n screenOrientation.value.angle,\n screenOrientation.value.orientationType,\n deviceOrientation.value.gamma,\n deviceOrientation.value.beta,\n deviceOrientation.value.alpha,\n deviceOrientation.value.absolute,\n mouse.x,\n mouse.y,\n mouse.element\n ]);\n\n if (target) return { value };\n return { ref: internalRef, value };\n}) as UseParallax;\n"],"names":["_ref2","target","arguments","length","undefined","Function","Element","internalRef","useRefState","mouse","useMouse","current","screenOrientation","useScreenOrientation","deviceOrientation","useDeviceOrientation","_ref","_ref$deviceOrientatio","deviceOrientationRollAdjust","value","_ref$deviceOrientatio2","deviceOrientationTiltAdjust","_ref$mouseRollAdjust","mouseRollAdjust","_ref$mouseTiltAdjust","mouseTiltAdjust","_useState","useState","roll","tilt","source","_useState2","_slicedToArray","setValue","getSource","supported","alpha","gamma","useEffect","element","orientationType","beta","y","elementPositionY","height","getBoundingClientRect","getRoll","x","elementPositionX","width","getTilt","angle","absolute","ref"],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.91 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),r=require("react"),t=require("../useEvent/useEvent.js");exports.usePermission=function(n,u){var s,a=r.useState("prompt"),i=e._slicedToArray(a,2),o=i[0],p=i[1],c="undefined"!=typeof navigator&&"permissions"in navigator,v=null===(s=null==u?void 0:u.enabled)||void 0===s||s,l={name:n},d=t.useEvent(e._asyncToGenerator(e._regeneratorRuntime().mark((function r(){var t;return e._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,navigator.permissions.query(l);case 3:return t=e.sent,p(t.state),e.abrupt("return",t.state);case 8:return e.prev=8,e.t0=e.catch(0),p("prompt"),e.abrupt("return","prompt");case 12:case"end":return e.stop()}}),r,null,[[0,8]])}))));return r.useEffect((function(){if(c&&v)return d(),window.addEventListener("change",d),function(){window.removeEventListener("change",d)}}),[n,v]),{state:o,supported:c,query:d}};
|
|
3
3
|
//# sourceMappingURL=usePermission.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.91 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),n=require("react");exports.usePointerLock=function(){var t="undefined"!=typeof document&&"pointerLockElement"in document,r=n.useState(),o=e._slicedToArray(r,2),c=o[0],i=o[1];n.useEffect((function(){if(t){var e=function(){var e;if(t){var n=null!==(e=document.pointerLockElement)&&void 0!==e?e:c;n&&n===c&&i(document.pointerLockElement)}},n=function(){var e;if(t){var n=null!==(e=document.pointerLockElement)&&void 0!==e?e:c;if(n&&n===c){var r=document.pointerLockElement?"release":"acquire";throw new Error("Failed to ".concat(r," pointer lock."))}}};return document.addEventListener("pointerlockchange",e),document.addEventListener("pointerlockerror",n),function(){document.removeEventListener("pointerlockchange",e),document.removeEventListener("pointerlockerror",n)}}}),[]);return{supported:t,element:c,lock:function(e){return!!t&&(!(e instanceof Event)&&(e.currentTarget.requestPointerLock(),i(e.currentTarget),!0))},unlock:function(){return!!t&&(!!c&&(document.exitPointerLock(),i(void 0),!0))}}};
|
|
3
3
|
//# sourceMappingURL=usePointerLock.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.91 */
|
|
2
2
|
"use strict";var e=require("react");exports.usePostMessage=function(r,n){var s=e.useRef(n);s.current=n,e.useEffect((function(){var e=function(e){!(!Array.isArray(r)||r.includes(e.origin)&&r.includes("*"))||e.origin!==r&&"*"!==r||s.current(e.data,e)};return window.addEventListener("message",e),function(){return window.removeEventListener("message",e)}}),[]);return function(e){Array.isArray(r)?r.forEach((function(r){return window.postMessage(e,r)})):window.postMessage(e,r)}};
|
|
3
3
|
//# sourceMappingURL=usePostMessage.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.91 */
|
|
2
2
|
"use strict";var e=require("../useMediaQuery/useMediaQuery.js");require("react");exports.usePreferredColorScheme=function(){var r=e.useMediaQuery("(prefers-color-scheme: light)"),u=e.useMediaQuery("(prefers-color-scheme: dark)");return r?"light":u?"dark":"no-preference"};
|
|
3
3
|
//# sourceMappingURL=usePreferredColorScheme.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.91 */
|
|
2
2
|
"use strict";var e=require("../useMediaQuery/useMediaQuery.js");require("react");exports.usePreferredContrast=function(){var r=e.useMediaQuery("(prefers-contrast: more)"),s=e.useMediaQuery("(prefers-contrast: less)"),u=e.useMediaQuery("(prefers-contrast: custom)");return r?"more":s?"less":u?"custom":"no-preference"};
|
|
3
3
|
//# sourceMappingURL=usePreferredContrast.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.91 */
|
|
2
2
|
"use strict";var e=require("../useMediaQuery/useMediaQuery.js");require("react");exports.usePreferredDark=function(){return e.useMediaQuery("(prefers-color-scheme: dark)")};
|
|
3
3
|
//# sourceMappingURL=usePreferredDark.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.91 */
|
|
2
2
|
"use strict";var e=require("react"),n=function(){return window.navigator.languages},r=function(){return[]},t=function(e){return window.addEventListener("languagechange",e),function(){window.removeEventListener("languagechange",e)}};exports.usePreferredLanguages=function(){return e.useSyncExternalStore(t,n,r)};
|
|
3
3
|
//# sourceMappingURL=usePreferredLanguages.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.91 */
|
|
2
2
|
"use strict";var e=require("../useMediaQuery/useMediaQuery.js");require("react");exports.usePreferredReducedMotion=function(){return e.useMediaQuery("(prefers-reduced-motion: reduce)")?"reduce":"no-preference"};
|
|
3
3
|
//# sourceMappingURL=usePreferredReducedMotion.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.91 */
|
|
2
2
|
"use strict";var r=require("react");exports.usePrevious=function(e,u){var t,n=r.useRef(e),c=r.useRef();return(null!==(t=null==u?void 0:u.equality)&&void 0!==t?t:Object.is)(e,n.current)||(c.current=n.current,n.current=e),c.current};
|
|
3
3
|
//# sourceMappingURL=usePrevious.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.91 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),r=require("react"),t=require("../../utils/helpers/getRetry.js"),n=require("../useDidUpdate/useDidUpdate.js"),l=require("../useMount/useMount.js");require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js");exports.useQuery=function(u,i){var o,a,c=null===(o=null==i?void 0:i.enabled)||void 0===o||o,s=r.useRef(null!=i&&i.retry?t.getRetry(i.retry):0),d=r.useRef(!1),f=r.useState(!1),v=e._slicedToArray(f,2),y=v[0],h=v[1],p=r.useState(!1),A=e._slicedToArray(p,2),D=A[0],_=A[1],g=r.useState(!1),S=e._slicedToArray(g,2),b=S[0],I=S[1],R=r.useState(!1),T=e._slicedToArray(R,2),q=T[0],j=T[1],m=r.useState(!(null==i||!i.initialData)),E=e._slicedToArray(m,2),C=E[0],L=E[1],M=r.useState(void 0),U=e._slicedToArray(M,2),k=U[0],w=U[1],F=r.useState(null==i?void 0:i.initialData),x=e._slicedToArray(F,2),B=x[0],H=x[1],P=r.useRef(new AbortController),Q=r.useRef(),z=null!==(a=null==i?void 0:i.keys)&&void 0!==a?a:[],G=function(){P.current.abort(),P.current=new AbortController},J=function(e){G(),h(!0),"init"===e&&(d.current=!0,_(!0)),"refetch"===e&&j(!0),u({signal:P.current.signal,keys:z}).then((function(r){var t,n=null!=i&&i.select?null==i?void 0:i.select(r):r;null==i||null===(t=i.onSuccess)||void 0===t||t.call(i,n),H(n),L(!0),w(void 0),I(!1),h(!1),"init"===e&&_(!1),"refetch"===e&&j(!1)})).catch((function(r){var n;if(s.current>0){s.current-=1;var l="function"==typeof(null==i?void 0:i.retryDelay)?null==i?void 0:i.retryDelay(s.current,r):null==i?void 0:i.retryDelay;return l?void setTimeout((function(){return J(e)}),l):J(e)}null==i||null===(n=i.onError)||void 0===n||n.call(i,r),H(void 0),L(!1),w(r),I(!0),h(!1),"init"===e&&_(!1),"refetch"===e&&j(!1),s.current=null!=i&&i.retry?t.getRetry(i.retry):0})).finally((function(){if(null!=i&&i.refetchInterval){var e=setInterval((function(){clearInterval(e),J("refetch")}),null==i?void 0:i.refetchInterval);Q.current=e}}))};l.useMount((function(){c&&J("init")})),n.useDidUpdate((function(){c&&J(d.current?"refetch":"init")}),[c].concat(e._toConsumableArray(z))),r.useEffect((function(){return function(){clearInterval(Q.current)}}),[c,null==i?void 0:i.refetchInterval,null==i?void 0:i.retry].concat(e._toConsumableArray(z)));var K=(null==i?void 0:i.placeholderData)instanceof Function?null==i?void 0:i.placeholderData():null==i?void 0:i.placeholderData;return{abort:G,data:null!=B?B:K,error:k,refetch:function(){return J("refetch")},isFetching:y,isLoading:D,isError:b,isSuccess:C,isRefetching:q}};
|
|
3
3
|
//# sourceMappingURL=useQuery.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQuery.js","sources":["../../../../src/hooks/useQuery/useQuery.ts"],"sourcesContent":["import type { DependencyList } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getRetry } from '@/utils/helpers';\n\nimport { useDidUpdate } from '../useDidUpdate/useDidUpdate';\nimport { useMount } from '../useMount/useMount';\n\n/* The use query return type */\nexport interface UseQueryOptions<QueryData, Data> {\n /* The enabled state of the query */\n enabled?: boolean;\n /* The initial data for the hook */\n initialData?: (() => Data) | Data;\n /* The depends for the hook */\n keys?: DependencyList;\n /* The placeholder data for the hook */\n placeholderData?: (() => Data) | Data;\n /* The refetch interval */\n refetchInterval?: number;\n /* The retry count of requests */\n retry?: boolean | number;\n /* The retry delay of requests */\n retryDelay?: ((retry: number, error: Error) => number) | number;\n /* The callback function to be invoked on error */\n onError?: (error: Error) => void;\n /* The callback function to be invoked on success */\n onSuccess?: (data: Data) => void;\n /* The select function to be invoked */\n select?: (data: QueryData) => Data;\n}\n\ninterface UseQueryCallbackParams {\n /* The depends for the hook */\n keys: DependencyList;\n /* The abort signal */\n signal: AbortSignal;\n}\n\n/* The use query return type */\nexport interface UseQueryReturn<Data> {\n /* The abort function */\n abort: AbortController['abort'];\n /* The state of the query */\n data?: Data;\n /* The success state of the query */\n error?: Error;\n /* The error state of the query */\n isError: boolean;\n /* The fetching state of the query */\n isFetching: boolean;\n /* The loading state of the query */\n isLoading: boolean;\n /* The refetching state of the query */\n isRefetching: boolean;\n /* The success state of the query */\n isSuccess: boolean;\n /* The refetch function */\n refetch: () => void;\n}\n\n/**\n * @name useQuery\n * @description - Hook that defines the logic when query data\n * @category Utilities\n *\n * @template Data The type of the data\n * @param {() => Promise<Data>} callback The callback function to be invoked\n * @param {DependencyList} [options.keys] The dependencies for the hook\n * @param {(data: Data) => void} [options.onSuccess] The callback function to be invoked on success\n * @param {(error: Error) => void} [options.onError] The callback function to be invoked on error\n * @param {UseQueryOptionsSelect<Data>} [options.select] The select function to be invoked\n * @param {Data | (() => Data)} [options.initialData] The initial data for the hook\n * @param {Data | (() => Data)} [options.placeholderData] The placeholder data for the hook\n * @param {number} [options.refetchInterval] The refetch interval\n * @param {boolean | number} [options.retry] The retry count of requests\n * @returns {UseQueryReturn<Data>} An object with the state of the query\n *\n * @example\n * const { data, isFetching, isLoading, isError, isSuccess, error, refetch, isRefetching, abort, aborted } = useQuery(() => fetch('url'));\n */\nexport const useQuery = <QueryData, Data = QueryData>(\n callback: (params: UseQueryCallbackParams) => Promise<QueryData>,\n options?: UseQueryOptions<QueryData, Data>\n): UseQueryReturn<Data> => {\n const enabled = options?.enabled ?? true;\n const retryCountRef = useRef(options?.retry ? getRetry(options.retry) : 0);\n const alreadyRequested = useRef(false);\n\n const [isFetching, setIsFetching] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n const [isError, setIsError] = useState(false);\n const [isRefetching, setIsRefetching] = useState(false);\n const [isSuccess, setIsSuccess] = useState(!!options?.initialData);\n\n const [error, setError] = useState<Error | undefined>(undefined);\n const [data, setData] = useState<Data | undefined>(options?.initialData);\n\n const abortControllerRef = useRef<AbortController>(new AbortController());\n const intervalIdRef = useRef<ReturnType<typeof setInterval>>();\n\n const keys = options?.keys ?? [];\n\n const abort = () => {\n abortControllerRef.current.abort();\n abortControllerRef.current = new AbortController();\n };\n\n const request = (action: 'init' | 'refetch') => {\n abort();\n\n setIsFetching(true);\n if (action === 'init') {\n alreadyRequested.current = true;\n setIsLoading(true);\n }\n if (action === 'refetch') setIsRefetching(true);\n callback({ signal: abortControllerRef.current.signal, keys })\n .then((response) => {\n const data = options?.select ? options?.select(response) : response;\n options?.onSuccess?.(data as Data);\n setData(data as Data);\n setIsSuccess(true);\n setError(undefined);\n setIsError(false);\n setIsFetching(false);\n if (action === 'init') setIsLoading(false);\n if (action === 'refetch') setIsRefetching(false);\n })\n .catch((error: Error) => {\n if (retryCountRef.current > 0) {\n retryCountRef.current -= 1;\n const retryDelay =\n typeof options?.retryDelay === 'function'\n ? options?.retryDelay(retryCountRef.current, error)\n : options?.retryDelay;\n\n if (retryDelay) {\n setTimeout(() => request(action), retryDelay);\n return;\n }\n\n return request(action);\n }\n options?.onError?.(error);\n setData(undefined);\n setIsSuccess(false);\n setError(error);\n setIsError(true);\n setIsFetching(false);\n if (action === 'init') setIsLoading(false);\n if (action === 'refetch') setIsRefetching(false);\n retryCountRef.current = options?.retry ? getRetry(options.retry) : 0;\n })\n .finally(() => {\n if (options?.refetchInterval) {\n const interval = setInterval(() => {\n clearInterval(interval);\n request('refetch');\n }, options?.refetchInterval);\n intervalIdRef.current = interval;\n }\n });\n };\n\n useMount(() => {\n if (!enabled) return;\n request('init');\n });\n\n useDidUpdate(() => {\n if (!enabled) return;\n request(alreadyRequested.current ? 'refetch' : 'init');\n }, [enabled, ...keys]);\n\n useEffect(() => {\n return () => {\n clearInterval(intervalIdRef.current);\n };\n }, [enabled, options?.refetchInterval, options?.retry, ...keys]);\n\n const refetch = () => request('refetch');\n\n const placeholderData =\n options?.placeholderData instanceof Function\n ? options?.placeholderData()\n : options?.placeholderData;\n\n return {\n abort,\n data: data ?? placeholderData,\n error,\n refetch,\n isFetching,\n isLoading,\n isError,\n isSuccess,\n isRefetching\n };\n};\n"],"names":["callback","options","_options$enabled","_options$keys","enabled","retryCountRef","useRef","retry","getRetry","alreadyRequested","_useState","useState","_useState2","_slicedToArray","isFetching","setIsFetching","_useState3","_useState4","isLoading","setIsLoading","_useState5","_useState6","isError","setIsError","_useState7","_useState8","isRefetching","setIsRefetching","_useState9","initialData","_useState10","isSuccess","setIsSuccess","_useState11","undefined","_useState12","error","setError","_useState13","_useState14","data","setData","abortControllerRef","AbortController","intervalIdRef","keys","abort","current","request","action","signal","then","response","_options$onSuccess","select","onSuccess","call","_options$onError","retryDelay","setTimeout","onError","refetchInterval","interval","setInterval","clearInterval","useMount","useDidUpdate","concat","_toConsumableArray","useEffect","placeholderData","Function","refetch"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useQuery.js","sources":["../../../../src/hooks/useQuery/useQuery.ts"],"sourcesContent":["import type { DependencyList } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getRetry } from '@/utils/helpers';\n\nimport { useDidUpdate } from '../useDidUpdate/useDidUpdate';\nimport { useMount } from '../useMount/useMount';\n\n/* The use query return type */\nexport interface UseQueryOptions<QueryData, Data> {\n /* The enabled state of the query */\n enabled?: boolean;\n /* The initial data for the hook */\n initialData?: (() => Data) | Data;\n /* The depends for the hook */\n keys?: DependencyList;\n /* The placeholder data for the hook */\n placeholderData?: (() => Data) | Data;\n /* The refetch interval */\n refetchInterval?: number;\n /* The retry count of requests */\n retry?: boolean | number;\n /* The retry delay of requests */\n retryDelay?: ((retry: number, error: Error) => number) | number;\n /* The callback function to be invoked on error */\n onError?: (error: Error) => void;\n /* The callback function to be invoked on success */\n onSuccess?: (data: Data) => void;\n /* The select function to be invoked */\n select?: (data: QueryData) => Data;\n}\n\ninterface UseQueryCallbackParams {\n /* The depends for the hook */\n keys: DependencyList;\n /* The abort signal */\n signal: AbortSignal;\n}\n\n/* The use query return type */\nexport interface UseQueryReturn<Data> {\n /* The abort function */\n abort: AbortController['abort'];\n /* The state of the query */\n data?: Data;\n /* The success state of the query */\n error?: Error;\n /* The error state of the query */\n isError: boolean;\n /* The fetching state of the query */\n isFetching: boolean;\n /* The loading state of the query */\n isLoading: boolean;\n /* The refetching state of the query */\n isRefetching: boolean;\n /* The success state of the query */\n isSuccess: boolean;\n /* The refetch function */\n refetch: () => void;\n}\n\n/**\n * @name useQuery\n * @description - Hook that defines the logic when query data\n * @category Utilities\n *\n * @template Data The type of the data\n * @param {() => Promise<Data>} callback The callback function to be invoked\n * @param {DependencyList} [options.keys] The dependencies for the hook\n * @param {(data: Data) => void} [options.onSuccess] The callback function to be invoked on success\n * @param {(error: Error) => void} [options.onError] The callback function to be invoked on error\n * @param {UseQueryOptionsSelect<Data>} [options.select] The select function to be invoked\n * @param {Data | (() => Data)} [options.initialData] The initial data for the hook\n * @param {Data | (() => Data)} [options.placeholderData] The placeholder data for the hook\n * @param {number} [options.refetchInterval] The refetch interval\n * @param {boolean | number} [options.retry] The retry count of requests\n * @returns {UseQueryReturn<Data>} An object with the state of the query\n *\n * @example\n * const { data, isFetching, isLoading, isError, isSuccess, error, refetch, isRefetching, abort, aborted } = useQuery(() => fetch('url'));\n */\nexport const useQuery = <QueryData, Data = QueryData>(\n callback: (params: UseQueryCallbackParams) => Promise<QueryData>,\n options?: UseQueryOptions<QueryData, Data>\n): UseQueryReturn<Data> => {\n const enabled = options?.enabled ?? true;\n const retryCountRef = useRef(options?.retry ? getRetry(options.retry) : 0);\n const alreadyRequested = useRef(false);\n\n const [isFetching, setIsFetching] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n const [isError, setIsError] = useState(false);\n const [isRefetching, setIsRefetching] = useState(false);\n const [isSuccess, setIsSuccess] = useState(!!options?.initialData);\n\n const [error, setError] = useState<Error | undefined>(undefined);\n const [data, setData] = useState<Data | undefined>(options?.initialData);\n\n const abortControllerRef = useRef<AbortController>(new AbortController());\n const intervalIdRef = useRef<ReturnType<typeof setInterval>>();\n\n const keys = options?.keys ?? [];\n\n const abort = () => {\n abortControllerRef.current.abort();\n abortControllerRef.current = new AbortController();\n };\n\n const request = (action: 'init' | 'refetch') => {\n abort();\n\n setIsFetching(true);\n if (action === 'init') {\n alreadyRequested.current = true;\n setIsLoading(true);\n }\n if (action === 'refetch') setIsRefetching(true);\n callback({ signal: abortControllerRef.current.signal, keys })\n .then((response) => {\n const data = options?.select ? options?.select(response) : response;\n options?.onSuccess?.(data as Data);\n setData(data as Data);\n setIsSuccess(true);\n setError(undefined);\n setIsError(false);\n setIsFetching(false);\n if (action === 'init') setIsLoading(false);\n if (action === 'refetch') setIsRefetching(false);\n })\n .catch((error: Error) => {\n if (retryCountRef.current > 0) {\n retryCountRef.current -= 1;\n const retryDelay =\n typeof options?.retryDelay === 'function'\n ? options?.retryDelay(retryCountRef.current, error)\n : options?.retryDelay;\n\n if (retryDelay) {\n setTimeout(() => request(action), retryDelay);\n return;\n }\n\n return request(action);\n }\n options?.onError?.(error);\n setData(undefined);\n setIsSuccess(false);\n setError(error);\n setIsError(true);\n setIsFetching(false);\n if (action === 'init') setIsLoading(false);\n if (action === 'refetch') setIsRefetching(false);\n retryCountRef.current = options?.retry ? getRetry(options.retry) : 0;\n })\n .finally(() => {\n if (options?.refetchInterval) {\n const interval = setInterval(() => {\n clearInterval(interval);\n request('refetch');\n }, options?.refetchInterval);\n intervalIdRef.current = interval;\n }\n });\n };\n\n useMount(() => {\n if (!enabled) return;\n request('init');\n });\n\n useDidUpdate(() => {\n if (!enabled) return;\n request(alreadyRequested.current ? 'refetch' : 'init');\n }, [enabled, ...keys]);\n\n useEffect(() => {\n return () => {\n clearInterval(intervalIdRef.current);\n };\n }, [enabled, options?.refetchInterval, options?.retry, ...keys]);\n\n const refetch = () => request('refetch');\n\n const placeholderData =\n options?.placeholderData instanceof Function\n ? options?.placeholderData()\n : options?.placeholderData;\n\n return {\n abort,\n data: data ?? placeholderData,\n error,\n refetch,\n isFetching,\n isLoading,\n isError,\n isSuccess,\n isRefetching\n };\n};\n"],"names":["callback","options","_options$enabled","_options$keys","enabled","retryCountRef","useRef","retry","getRetry","alreadyRequested","_useState","useState","_useState2","_slicedToArray","isFetching","setIsFetching","_useState3","_useState4","isLoading","setIsLoading","_useState5","_useState6","isError","setIsError","_useState7","_useState8","isRefetching","setIsRefetching","_useState9","initialData","_useState10","isSuccess","setIsSuccess","_useState11","undefined","_useState12","error","setError","_useState13","_useState14","data","setData","abortControllerRef","AbortController","intervalIdRef","keys","abort","current","request","action","signal","then","response","_options$onSuccess","select","onSuccess","call","_options$onError","retryDelay","setTimeout","onError","refetchInterval","interval","setInterval","clearInterval","useMount","useDidUpdate","concat","_toConsumableArray","useEffect","placeholderData","Function","refetch"],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var r=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.91 */
|
|
2
|
+
"use strict";var r=require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),e=require("react"),t=require("react-dom");exports.useQueue=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],u=e.useState(n),i=r._slicedToArray(u,2),o=i[0],a=i[1];return{add:function(e){return a((function(t){return[].concat(r._toConsumableArray(t),[e])}))},remove:function(){var e;return t.flushSync((function(){a((function(t){var n=r._toArray(t),u=n[0],i=n.slice(1);return e=u,i}))})),e},clear:function(){return a([])},first:o[0],last:o[o.length-1],size:o.length,queue:o}};
|
|
3
3
|
//# sourceMappingURL=useQueue.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.91 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),r=require("react");exports.useRaf=function(n,u){var t,i=r.useRef(null),l=r.useRef(0),a=r.useState(!1),c=e._slicedToArray(a,2),o=c[0],s=c[1],d=null===(t=null==u?void 0:u.enabled)||void 0===t||t,f=r.useRef(n);f.current=n;var m=function(e){var r=e-l.current;null!=u&&u.delay&&r<(null==u?void 0:u.delay)||(l.current=e,f.current({delta:r,timestamp:e})),i.current=window.requestAnimationFrame(m)},v=function(){o||(s(!0),l.current=0,i.current=window.requestAnimationFrame(m))};function w(){i.current&&(s(!1),window.cancelAnimationFrame(i.current),i.current=null)}return r.useEffect((function(){if(d)return v(),w}),[d,null==u?void 0:u.delay]),{active:o,pause:w,resume:v}};
|
|
3
3
|
//# sourceMappingURL=useRaf.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.91 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),r=require("react"),n=require("../useUnmount/useUnmount.js");exports.useRafValue=function(u){var t=r.useRef(0),a=r.useState(u),i=e._slicedToArray(a,2),c=i[0],s=i[1];return n.useUnmount((function(){return cancelAnimationFrame(t.current)})),[c,function(e){cancelAnimationFrame(t.current),t.current=requestAnimationFrame((function(){return s(e)}))}]};
|
|
3
3
|
//# sourceMappingURL=useRafValue.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.91 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),r=require("react"),n=require("../useRerender/useRerender.js");exports.useRefState=function(u){var t=n.useRerender(),i=r.useState((function(){return function(e,r){var n=e;function u(e){n!==e&&(n=e,r())}return Object.defineProperty(u,"current",{get:function(){return n},set:function(e){n!==e&&(n=e,r())},configurable:!0,enumerable:!0}),u}(u,t)}));return e._slicedToArray(i,1)[0]};
|
|
3
3
|
//# sourceMappingURL=useRefState.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRefState.js","sources":["../../../../src/hooks/useRefState/useRefState.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"useRefState.js","sources":["../../../../src/hooks/useRefState/useRefState.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport { useRerender } from '../useRerender/useRerender';\n\nexport interface StateRef<Value> {\n (node: Value): void;\n current: Value;\n}\n\nconst createRefState = <Value>(initialValue: Value | undefined, rerender: () => void) => {\n let temp = initialValue;\n function ref(value: Value) {\n if (temp === value) return;\n temp = value;\n rerender();\n }\n\n Object.defineProperty(ref, 'current', {\n get() {\n return temp;\n },\n set(value: Value) {\n if (temp === value) return;\n temp = value;\n rerender();\n },\n configurable: true,\n enumerable: true\n });\n\n return ref as StateRef<Value>;\n};\n\n/**\n * @name useRefState\n * @description - Hook that returns the state reference of the value\n * @category Lifecycle\n *\n * @template Value The type of the value\n * @param {Value} [initialValue] The initial value\n * @returns {StateRef<Value>} The current value\n *\n * @example\n * const internalRefState = useRefState();\n */\nexport const useRefState = <Value>(initialValue?: Value) => {\n const rerender = useRerender();\n const [ref] = useState(() => createRefState<Value>(initialValue, rerender));\n return ref;\n};\n"],"names":["initialValue","rerender","useRerender","_useState","useState","temp","ref","value","Object","defineProperty","get","set","configurable","enumerable","createRefState","_slicedToArray"],"mappings":";4JA6C2B,SAAQA,GACjC,IAAMC,EAAWC,EAAAA,cACjBC,EAAcC,EAAAA,UAAS,WAAA,OAtCF,SAAQJ,EAAiCC,GAC9D,IAAII,EAAOL,EACX,SAASM,EAAIC,GACPF,IAASE,IACbF,EAAOE,EACPN,IACF,CAeA,OAbAO,OAAOC,eAAeH,EAAK,UAAW,CACpCI,IAAG,WACD,OAAOL,CACR,EACDM,IAAAA,SAAIJ,GACEF,IAASE,IACbF,EAAOE,EACPN,IACD,EACDW,cAAc,EACdC,YAAY,IAGPP,CACT,CAgB+BQ,CAAsBd,EAAcC,MACjE,OAD2Ec,EAAAA,eAAAZ,EAAA,GAAjE,EAEZ"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.91 */
|
|
2
2
|
"use strict";var e=require("react");exports.useRenderCount=function(){var r=e.useRef(0);return e.useEffect((function(){r.current+=1})),r.current};
|
|
3
3
|
//# sourceMappingURL=useRenderCount.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.91 */
|
|
2
2
|
"use strict";var e=require("react");exports.useRenderInfo=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Unknown",r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],t=e.useRef({component:n,renders:0,timestamp:Date.now(),sinceLast:0}),c=Date.now();return t.current.renders+=1,t.current.sinceLast=t.current.timestamp?c-t.current.timestamp:0,t.current.timestamp=c,r&&(console.group("".concat(n," info, render number: ").concat(t.current.renders)),console.log("Timestamp: ".concat(t.current.timestamp)),console.log("Since last render: ".concat(t.current.sinceLast)),console.log("Renders: ".concat(t.current.renders)),console.dir(t.current),console.groupEnd()),t.current};
|
|
3
3
|
//# sourceMappingURL=useRenderInfo.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.91 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),r=require("react"),n=require("../../utils/helpers/getElement.js"),t=require("../useRefState/useRefState.js");require("../useRerender/useRerender.js");exports.useResizeObserver=function(){var u,i="object"!==e._typeof(arguments.length<=0?void 0:arguments[0])||"current"in(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,l=i?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],s=null===(u=null==l?void 0:l.enabled)||void 0===u||u,o=r.useState([]),c=e._slicedToArray(o,2),v=c[0],a=c[1],f=t.useRefState(),d=r.useRef();return d.current=null==l?void 0:l.onChange,r.useEffect((function(){if(s||i||f.current){if(Array.isArray(i)){if(!i.length)return;var e=new ResizeObserver((function(r){var n;a(r),null===(n=d.current)||void 0===n||n.call(d,r,e)}));return i.forEach((function(r){var t=n.getElement(r);t&&e.observe(t,l)})),function(){e.disconnect()}}var r=i?n.getElement(i):f.current;if(r){var t=new ResizeObserver((function(e){var r;a(e),null===(r=d.current)||void 0===r||r.call(d,e,t)}));return t.observe(r,l),function(){t.disconnect()}}}}),[i,f.current,null==l?void 0:l.box,s]),i?{entries:v}:{ref:f,entries:v}};
|
|
3
3
|
//# sourceMappingURL=useResizeObserver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useResizeObserver.js","sources":["../../../../src/hooks/useResizeObserver/useResizeObserver.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getElement } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The resize observer target element type */\nexport type UseResizeObserverTarget = string | Element | RefObject<Element | null | undefined>;\n\n/** The resize observer options type */\nexport interface UseResizeObserverOptions extends ResizeObserverOptions {\n /** The enabled state */\n enabled?: boolean;\n /** The resize observer callback */\n onChange?: (entries: ResizeObserverEntry[], observer: ResizeObserver) => void;\n}\n\n/** The resize observer return type */\nexport interface UseResizeObserverReturn {\n /** The resize observer entries */\n entries: ResizeObserverEntry[];\n}\n\nexport interface UseResizeObserver {\n <Target extends UseResizeObserverTarget | UseResizeObserverTarget[]>(\n target: Target,\n options?: UseResizeObserverOptions\n ): UseResizeObserverReturn;\n\n <Target extends UseResizeObserverTarget | UseResizeObserverTarget[]>(\n options?: UseResizeObserverOptions,\n target?: never\n ): UseResizeObserverReturn & { ref: StateRef<Target> };\n}\n\n/**\n * @name useResizeObserver\n * @description - Hook that gives you resize observer state\n * @category Browser\n *\n * @overload\n * @template Target The target element\n * @param {boolean} [options.enabled=true] The IntersectionObserver options\n * @param {boolean} [options.box] The IntersectionObserver options\n * @param {(entries: ResizeObserverEntry[], observer: ResizeObserver) => void} [options.onChange] The callback to execute when resize is detected\n * @returns {UseResizeObserverReturn & { ref: (node: Target) => void }} An object containing the resize observer state\n *\n * @example\n * const { ref, entries } = useResizeObserver();\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to observe\n * @param {boolean} [options.enabled=true] The IntersectionObserver options\n * @param {boolean} [options.box] The IntersectionObserver options\n * @param {(entries: ResizeObserverEntry[], observer: ResizeObserver) => void} [options.onChange] The callback to execute when resize is detected\n * @returns {UseResizeObserverReturn} An object containing the resize observer state\n *\n * @example\n * const { entries } = useResizeObserver(ref);\n */\nexport const useResizeObserver = ((...params: any[]) => {\n const target = (\n typeof params[0] === 'object' && !('current' in params[0]) ? undefined : params[0]\n ) as UseResizeObserverTarget | UseResizeObserverTarget[] | undefined;\n const options = (target ? params[1] : params[0]) as UseResizeObserverOptions | undefined;\n const enabled = options?.enabled ?? true;\n\n const [entries, setEntries] = useState<ResizeObserverEntry[]>([]);\n\n const internalRef = useRefState<Element>();\n const internalOnChangeRef = useRef<UseResizeObserverOptions['onChange']>();\n internalOnChangeRef.current = options?.onChange;\n\n useEffect(() => {\n if (!enabled && !target && !internalRef.current) return;\n\n if (Array.isArray(target)) {\n if (!target.length) return;\n const observer = new ResizeObserver((entries) => {\n setEntries(entries);\n internalOnChangeRef.current?.(entries, observer);\n });\n\n target.forEach((target) => {\n const element = getElement(target);\n if (!element) return;\n observer.observe(element as Element, options);\n });\n\n return () => {\n observer.disconnect();\n };\n }\n\n const element = target ? getElement(target) : internalRef.current;\n if (!element) return;\n\n const observer = new ResizeObserver((entries) => {\n setEntries(entries);\n internalOnChangeRef.current?.(entries, observer);\n });\n observer.observe(element as Element, options);\n\n return () => {\n observer.disconnect();\n };\n }, [target, internalRef.current, options?.box, enabled]);\n\n if (target) return { entries };\n return {\n ref: internalRef,\n entries\n };\n}) as UseResizeObserver;\n"],"names":["_options$enabled","target","_typeof","arguments","length","undefined","options","enabled","_useState","useState","_useState2","_slicedToArray","entries","setEntries","internalRef","useRefState","internalOnChangeRef","useRef","current","onChange","useEffect","Array","isArray","observer","ResizeObserver","_internalOnChangeRef$","call","forEach","element","getElement","observe","disconnect","_internalOnChangeRef$2","box","ref"],"mappings":";
|
|
1
|
+
{"version":3,"file":"useResizeObserver.js","sources":["../../../../src/hooks/useResizeObserver/useResizeObserver.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getElement } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The resize observer target element type */\nexport type UseResizeObserverTarget = string | Element | RefObject<Element | null | undefined>;\n\n/** The resize observer options type */\nexport interface UseResizeObserverOptions extends ResizeObserverOptions {\n /** The enabled state */\n enabled?: boolean;\n /** The resize observer callback */\n onChange?: (entries: ResizeObserverEntry[], observer: ResizeObserver) => void;\n}\n\n/** The resize observer return type */\nexport interface UseResizeObserverReturn {\n /** The resize observer entries */\n entries: ResizeObserverEntry[];\n}\n\nexport interface UseResizeObserver {\n <Target extends UseResizeObserverTarget | UseResizeObserverTarget[]>(\n target: Target,\n options?: UseResizeObserverOptions\n ): UseResizeObserverReturn;\n\n <Target extends UseResizeObserverTarget | UseResizeObserverTarget[]>(\n options?: UseResizeObserverOptions,\n target?: never\n ): UseResizeObserverReturn & { ref: StateRef<Target> };\n}\n\n/**\n * @name useResizeObserver\n * @description - Hook that gives you resize observer state\n * @category Browser\n *\n * @overload\n * @template Target The target element\n * @param {boolean} [options.enabled=true] The IntersectionObserver options\n * @param {boolean} [options.box] The IntersectionObserver options\n * @param {(entries: ResizeObserverEntry[], observer: ResizeObserver) => void} [options.onChange] The callback to execute when resize is detected\n * @returns {UseResizeObserverReturn & { ref: (node: Target) => void }} An object containing the resize observer state\n *\n * @example\n * const { ref, entries } = useResizeObserver();\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to observe\n * @param {boolean} [options.enabled=true] The IntersectionObserver options\n * @param {boolean} [options.box] The IntersectionObserver options\n * @param {(entries: ResizeObserverEntry[], observer: ResizeObserver) => void} [options.onChange] The callback to execute when resize is detected\n * @returns {UseResizeObserverReturn} An object containing the resize observer state\n *\n * @example\n * const { entries } = useResizeObserver(ref);\n */\nexport const useResizeObserver = ((...params: any[]) => {\n const target = (\n typeof params[0] === 'object' && !('current' in params[0]) ? undefined : params[0]\n ) as UseResizeObserverTarget | UseResizeObserverTarget[] | undefined;\n const options = (target ? params[1] : params[0]) as UseResizeObserverOptions | undefined;\n const enabled = options?.enabled ?? true;\n\n const [entries, setEntries] = useState<ResizeObserverEntry[]>([]);\n\n const internalRef = useRefState<Element>();\n const internalOnChangeRef = useRef<UseResizeObserverOptions['onChange']>();\n internalOnChangeRef.current = options?.onChange;\n\n useEffect(() => {\n if (!enabled && !target && !internalRef.current) return;\n\n if (Array.isArray(target)) {\n if (!target.length) return;\n const observer = new ResizeObserver((entries) => {\n setEntries(entries);\n internalOnChangeRef.current?.(entries, observer);\n });\n\n target.forEach((target) => {\n const element = getElement(target);\n if (!element) return;\n observer.observe(element as Element, options);\n });\n\n return () => {\n observer.disconnect();\n };\n }\n\n const element = target ? getElement(target) : internalRef.current;\n if (!element) return;\n\n const observer = new ResizeObserver((entries) => {\n setEntries(entries);\n internalOnChangeRef.current?.(entries, observer);\n });\n observer.observe(element as Element, options);\n\n return () => {\n observer.disconnect();\n };\n }, [target, internalRef.current, options?.box, enabled]);\n\n if (target) return { entries };\n return {\n ref: internalRef,\n entries\n };\n}) as UseResizeObserver;\n"],"names":["_options$enabled","target","_typeof","arguments","length","undefined","options","enabled","_useState","useState","_useState2","_slicedToArray","entries","setEntries","internalRef","useRefState","internalOnChangeRef","useRef","current","onChange","useEffect","Array","isArray","observer","ResizeObserver","_internalOnChangeRef$","call","forEach","element","getElement","observe","disconnect","_internalOnChangeRef$2","box","ref"],"mappings":";0PAiEkC,WAAsB,IAAAA,EAChDC,EACiB,WAArBC,EAAAA,QAAAC,UAAAC,QAAA,OAAAC,EAAAF,UAAqB,KAAc,YAASA,UAAAC,eAAAC,EAAAF,UAAA,IAA0BA,UAAAC,QAAA,OAAAC,EAAAF,UACJ,QADLE,EAEzDC,EAAWL,EAAME,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAiE,GAClFI,EAA0BP,QAAnBA,EAAGM,aAAO,EAAPA,EAASC,eAAOP,IAAAA,GAAAA,EAEhCQ,EAA8BC,EAAQA,SAAwB,IAAGC,EAAAC,EAAAA,eAAAH,EAAA,GAA1DI,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAEpBI,EAAcC,EAAAA,cACdC,EAAsBC,EAAAA,SAsC5B,OArCAD,EAAoBE,QAAUZ,aAAO,EAAPA,EAASa,SAEvCC,EAAAA,WAAU,WACR,GAAKb,GAAYN,GAAWa,EAAYI,QAAxC,CAEA,GAAIG,MAAMC,QAAQrB,GAAS,CACzB,IAAKA,EAAOG,OAAQ,OACpB,IAAMmB,EAAW,IAAIC,gBAAe,SAACZ,GAAY,IAAAa,EAC/CZ,EAAWD,WACXa,EAAAT,EAAoBE,eAAO,IAAAO,GAA3BA,EAAAC,KAAAV,EAA8BJ,EAASW,EACzC,IAQA,OANAtB,EAAO0B,SAAQ,SAAC1B,GACd,IAAM2B,EAAUC,EAAUA,WAAC5B,GACtB2B,GACLL,EAASO,QAAQF,EAAoBtB,EACvC,IAEO,WACLiB,EAASQ,YACV,CACH,CAEA,IAAMH,EAAU3B,EAAS4B,EAAAA,WAAW5B,GAAUa,EAAYI,QAC1D,GAAKU,EAAL,CAEA,IAAML,EAAW,IAAIC,gBAAe,SAACZ,GAAY,IAAAoB,EAC/CnB,EAAWD,WACXoB,EAAAhB,EAAoBE,eAAO,IAAAc,GAA3BA,EAAAN,KAAAV,EAA8BJ,EAASW,EACzC,IAGA,OAFAA,EAASO,QAAQF,EAAoBtB,GAE9B,WACLiB,EAASQ,YACV,CAVa,CArBmC,CAgClD,GAAE,CAAC9B,EAAQa,EAAYI,QAASZ,eAAAA,EAAS2B,IAAK1B,IAE3CN,EAAe,CAAEW,QAAAA,GACd,CACLsB,IAAKpB,EACLF,QAAAA,EAEJ"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var n=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.91 */
|
|
2
|
+
"use strict";var n=require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),e=require("react");exports.useScreenOrientation=function(){var o="undefined"!=typeof window&&"screen"in window&&"orientation"in window.screen,t=o?window.screen.orientation:{},i=e.useState((function(){var n;return{angle:null!==(n=null==t?void 0:t.angle)&&void 0!==n?n:0,orientationType:null==t?void 0:t.type}})),r=n._slicedToArray(i,2),u=r[0],c=r[1];e.useEffect((function(){if(o){var n=function(){return c({angle:t.angle,orientationType:t.type})};return window.addEventListener("orientationchange",n),function(){window.removeEventListener("orientationchange",n)}}}));return{supported:o,value:u,lock:function(n){if(o&&"function"==typeof t.lock)return t.lock(n)},unlock:function(){o&&"function"==typeof t.unlock&&t.unlock()}}};
|
|
3
3
|
//# sourceMappingURL=useScreenOrientation.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.91 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),r=require("react"),t="script-status";exports.SCRIPT_STATUS_ATTRIBUTE_NAME=t,exports.useScript=function(n){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=r.useState((function(){var e=document.querySelector('script[src="'.concat(n,'"]')),r=null==e?void 0:e.getAttribute(t);return r||(e?"unknown":"loading")})),u=e._slicedToArray(i,2),c=u[0],s=u[1],a=o.removeOnUnmount,d=void 0===a||a,l=o.async,v=void 0===l||l;return r.useEffect((function(){var r=document.querySelector('script[src="'.concat(n,'"]')),i=null==r?void 0:r.getAttribute(t);if(i)return s(i);if(r)return s("unknown");var u=document.createElement("script");u.src=n,u.async=v;for(var c=0,a=Object.entries(o);c<a.length;c++){var l=e._slicedToArray(a[c],2),f=l[0],p=l[1];u.setAttribute(f,String(p))}u.setAttribute(t,"loading"),document.body.appendChild(u);var A=function(){u.setAttribute(t,"ready"),s("ready")},m=function(){u.setAttribute(t,"error"),s("error")};return u.addEventListener("load",A),u.addEventListener("error",m),function(){d&&u.remove(),u.removeEventListener("load",A),u.removeEventListener("error",m)}}),[n,d]),c};
|
|
3
3
|
//# sourceMappingURL=useScript.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.91 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),t=require("react"),r=require("../../utils/helpers/getElement.js"),l=require("../../utils/helpers/isTarget.js"),n=require("../useRefState/useRefState.js");require("../useRerender/useRerender.js");exports.useScroll=function(){var o=l.isTarget(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,i=o?"object"===e._typeof(arguments.length<=1?void 0:arguments[1])?arguments.length<=1?void 0:arguments[1]:{onScroll:arguments.length<=1?void 0:arguments[1]}:"object"===e._typeof(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:{onScroll:arguments.length<=0?void 0:arguments[0]},u=n.useRefState(),c=t.useRef(i);c.current=i;var s=t.useState(!1),d=e._slicedToArray(s,2),v=d[0],a=d[1],f=t.useRef({x:0,y:0});return t.useEffect((function(){if(o||u.current){var e=o?r.getElement(o):u.current;if(e){var t=function(e){var t;a(!1),null==i||null===(t=i.onStop)||void 0===t||t.call(i,e)},l=function(e){var t,r,l,n,o,i,u;a(!0);var s=e.target===document?e.target.documentElement:e.target,d=s.style,v=d.display,g=d.flexDirection,h="rtl"===d.direction?-1:1,m=s.scrollLeft,p=s.scrollTop;s instanceof Document&&!p&&(p=window.document.body.scrollTop);var y=null===(t=c.current)||void 0===t?void 0:t.offset,x=m*h<=(null!==(r=null==y?void 0:y.left)&&void 0!==r?r:0),S=m*h+s.clientWidth>=s.scrollWidth-(null!==(l=null==y?void 0:y.right)&&void 0!==l?l:0)-1,E=p<=(null!==(n=null==y?void 0:y.top)&&void 0!==n?n:0),b=p+s.clientHeight>=s.scrollHeight-(null!==(o=null==y?void 0:y.bottom)&&void 0!==o?o:0)-1,j="flex"===v&&"column-reverse"===g,R="flex"===v&&"column-reverse"===g,q={x:m,y:p,directions:{left:m<f.current.x,right:m>f.current.x,top:p<f.current.y,bottom:p>f.current.y},arrived:{left:R?S:x,right:R?x:S,top:j?b:E,bottom:j?E:b}};f.current={x:m,y:p},null===(i=c.current)||void 0===i||null===(u=i.onScroll)||void 0===u||u.call(i,q,e)};return e.addEventListener("scroll",l),e.addEventListener("scrollend",t),function(){e.removeEventListener("scroll",l),e.removeEventListener("scrollend",t)}}}}),[o,u.current]),o?v:[u,v]};
|
|
3
3
|
//# sourceMappingURL=useScroll.js.map
|