@siberiacancode/reactuse 0.0.90 → 0.0.93
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/cjs/{_rollupPluginBabelHelpers-BsWog5nG.js → _rollupPluginBabelHelpers-CuUcoGqg.js} +3 -3
- package/dist/cjs/_rollupPluginBabelHelpers-CuUcoGqg.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/useBreakpoints/useBreakpoints.js.map +1 -1
- 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/useDisplayMedia/useDisplayMedia.js +3 -0
- package/dist/cjs/hooks/useDisplayMedia/useDisplayMedia.js.map +1 -0
- 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/useFileDialog/useFileDialog.js.map +1 -1
- 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/useInterval/useInterval.js.map +1 -1
- 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/useLongPress/useLongPress.js.map +1 -1
- 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/useOrientation/useOrientation.js.map +1 -1
- 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/useRaf/useRaf.js.map +1 -1
- 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/useScrollIntoView/useScrollIntoView.js +3 -0
- package/dist/cjs/hooks/useScrollIntoView/useScrollIntoView.js.map +1 -0
- 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/useShare/useShare.js.map +1 -1
- package/dist/cjs/hooks/useStateHistory/useStateHistory.js +3 -0
- package/dist/cjs/hooks/useStateHistory/useStateHistory.js.map +1 -0
- 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/hooks/useWizard/useWizard.js.map +1 -1
- 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/throttle.js.map +1 -1
- package/dist/cjs/utils/helpers/time/getDate.js +1 -1
- package/dist/esm/{_rollupPluginBabelHelpers-CNZ3s-mD.js → _rollupPluginBabelHelpers-BQehtgCo.js} +3 -3
- package/dist/esm/_rollupPluginBabelHelpers-BQehtgCo.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/useBreakpoints/useBreakpoints.js.map +1 -1
- 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/useDisplayMedia/useDisplayMedia.js +3 -0
- package/dist/esm/hooks/useDisplayMedia/useDisplayMedia.js.map +1 -0
- 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/useFileDialog/useFileDialog.js.map +1 -1
- 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/useInterval/useInterval.js.map +1 -1
- 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/useLongPress/useLongPress.js.map +1 -1
- 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/useOrientation/useOrientation.js.map +1 -1
- 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/useRaf/useRaf.js.map +1 -1
- 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/useScrollIntoView/useScrollIntoView.js +3 -0
- package/dist/esm/hooks/useScrollIntoView/useScrollIntoView.js.map +1 -0
- 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/useShare/useShare.js.map +1 -1
- package/dist/esm/hooks/useStateHistory/useStateHistory.js +3 -0
- package/dist/esm/hooks/useStateHistory/useStateHistory.js.map +1 -0
- 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/hooks/useWizard/useWizard.js.map +1 -1
- 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/throttle.js.map +1 -1
- package/dist/esm/utils/helpers/time/getDate.js +1 -1
- package/dist/types/index.d.ts +192 -30
- package/package.json +89 -114
- package/LICENSE +0 -21
- 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,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
import{_ as e}from"../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.93 */
|
|
2
|
+
import{_ as e}from"../../_rollupPluginBabelHelpers-BQehtgCo.js";import{useState as r,useRef as t,useEffect as n}from"react";import{getElement as o}from"../../utils/helpers/getElement.js";import{isTarget as i}from"../../utils/helpers/isTarget.js";import{useRefState as l}from"../useRefState/useRefState.js";var u=function(){var u,s=i(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,v=s?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],a=s?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],c=r(),d=e(c,2),f=d[0],m=d[1],p=null===(u=null==a?void 0:a.enabled)||void 0===u||u,g=l(window.document.documentElement),h=t(v);h.current=v;var b=t(a);b.current=a,n((function(){if(p||s||g.state){var e=s?o(s):g.current;if(e){var r=new MutationObserver(h.current);return m(r),r.observe(e,b.current),function(){r.disconnect()}}}}),[s,g.state]);var j=function(){return null==f?void 0:f.disconnect()};return s?{stop:j,observer:f}:{ref:g,stop:j,observer:f}};export{u as useMutationObserver};
|
|
3
3
|
//# sourceMappingURL=useMutationObserver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMutationObserver.js","sources":["../../../../src/hooks/useMutationObserver/useMutationObserver.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getElement, isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The mutation observer target element type */\nexport type UseMutationObserverTarget =\n | string\n | Document\n | Element\n | RefObject<Element | null | undefined>;\n\n/** The mutation observer return type */\nexport interface UseMutationObserverReturn {\n /** The mutation observer instance */\n observer: MutationObserver;\n /** The mutation observer entries */\n stop: () => void;\n}\n\n/** The mutation observer options type */\nexport interface UseMutationObserverOptions extends MutationObserverInit {\n /** The enabled state of the mutation observer */\n enabled?: boolean;\n}\n\nexport interface UseMutationObserver {\n <Target extends UseMutationObserverTarget>(\n target: Target,\n callback: MutationCallback,\n options?: UseMutationObserverOptions\n ): UseMutationObserverReturn;\n\n <Target extends UseMutationObserverTarget>(\n callback: MutationCallback,\n options?: UseMutationObserverOptions,\n target?: never\n ): UseMutationObserverReturn & { ref: StateRef<Target> };\n}\n\n/**\n * @name useMutationObserver\n * @description - Hook that gives you mutation observer state\n * @category Browser\n *\n * @overload\n * @template Target The target element\n * @param {MutationCallback} callback The callback to execute when mutation is detected\n * @param {boolean} [options.enabled=true] The enabled state of the mutation observer\n * @param {boolean} [options.attributes] Set to true if mutations to target's attributes are to be observed\n * @param {boolean} [options.characterData] Set to true if mutations to target's data are to be observed\n * @param {boolean} [options.childList] Set to true if mutations to target's children are to be observed\n * @param {boolean} [options.subtree] Set to true if mutations to not just target, but also target's descendants are to be observed\n * @param {boolean} [options.characterDataOldValue] Set to true if characterData is set to true or omitted and target's data before the mutation needs to be recorded\n * @param {boolean} [options.attributeOldValue] Set to a list of attribute local names (without namespace) if not all attribute mutations need to be observed and attributes is true or omitted\n * @param {string[]} [options.attributeFilter] Set to a list of attribute local names (without namespace) if not all attribute mutations need to be observed and attributes is true or omitted\n * @returns {UseMutationObserverReturn & { ref: StateRef<Target> }} An object containing the mutation observer state\n *\n * @example\n * const { ref, observer, stop } = useMutationObserver(() => console.log('callback'))\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to observe\n * @param {MutationCallback} callback The callback to execute when mutation is detected\n * @param {boolean} [options.enabled=true] The enabled state of the mutation observer\n * @param {boolean} [options.attributes] Set to true if mutations to target's attributes are to be observed\n * @param {boolean} [options.characterData] Set to true if mutations to target's data are to be observed\n * @param {boolean} [options.childList] Set to true if mutations to target's children are to be observed\n * @param {boolean} [options.subtree] Set to true if mutations to not just target, but also target's descendants are to be observed\n * @param {boolean} [options.characterDataOldValue] Set to true if characterData is set to true or omitted and target's data before the mutation needs to be recorded\n * @param {boolean} [options.attributeOldValue] Set to a list of attribute local names (without namespace) if not all attribute mutations need to be observed and attributes is true or omitted\n * @param {string[]} [options.attributeFilter] Set to a list of attribute local names (without namespace) if not all attribute mutations need to be observed and attributes is true or omitted\n * @returns {UseMutationObserverReturn} An object containing the mutation observer state\n *\n * @example\n * const { observer, stop } = useMutationObserver(ref, () => console.log('callback'))\n */\nexport const useMutationObserver = ((...params: any[]) => {\n const target = (isTarget(params[0]) ? params[0] : undefined) as\n | UseMutationObserverTarget\n | undefined;\n const callback = (target ? params[1] : params[0]) as MutationCallback;\n const options = (target ? params[2] : params[1]) as UseMutationObserverOptions | undefined;\n\n const [observer, setObserver] = useState<MutationObserver>();\n const enabled = options?.enabled ?? true;\n\n const internalRef = useRefState<Element>(window.document.documentElement);\n const internalCallbackRef = useRef<MutationCallback>(callback);\n internalCallbackRef.current = callback;\n const internalOptionsRef = useRef(options);\n internalOptionsRef.current = options;\n\n useEffect(() => {\n if (!enabled && !target && !internalRef.
|
|
1
|
+
{"version":3,"file":"useMutationObserver.js","sources":["../../../../src/hooks/useMutationObserver/useMutationObserver.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getElement, isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The mutation observer target element type */\nexport type UseMutationObserverTarget =\n | string\n | Document\n | Element\n | RefObject<Element | null | undefined>;\n\n/** The mutation observer return type */\nexport interface UseMutationObserverReturn {\n /** The mutation observer instance */\n observer: MutationObserver;\n /** The mutation observer entries */\n stop: () => void;\n}\n\n/** The mutation observer options type */\nexport interface UseMutationObserverOptions extends MutationObserverInit {\n /** The enabled state of the mutation observer */\n enabled?: boolean;\n}\n\nexport interface UseMutationObserver {\n <Target extends UseMutationObserverTarget>(\n target: Target,\n callback: MutationCallback,\n options?: UseMutationObserverOptions\n ): UseMutationObserverReturn;\n\n <Target extends UseMutationObserverTarget>(\n callback: MutationCallback,\n options?: UseMutationObserverOptions,\n target?: never\n ): UseMutationObserverReturn & { ref: StateRef<Target> };\n}\n\n/**\n * @name useMutationObserver\n * @description - Hook that gives you mutation observer state\n * @category Browser\n *\n * @overload\n * @template Target The target element\n * @param {MutationCallback} callback The callback to execute when mutation is detected\n * @param {boolean} [options.enabled=true] The enabled state of the mutation observer\n * @param {boolean} [options.attributes] Set to true if mutations to target's attributes are to be observed\n * @param {boolean} [options.characterData] Set to true if mutations to target's data are to be observed\n * @param {boolean} [options.childList] Set to true if mutations to target's children are to be observed\n * @param {boolean} [options.subtree] Set to true if mutations to not just target, but also target's descendants are to be observed\n * @param {boolean} [options.characterDataOldValue] Set to true if characterData is set to true or omitted and target's data before the mutation needs to be recorded\n * @param {boolean} [options.attributeOldValue] Set to a list of attribute local names (without namespace) if not all attribute mutations need to be observed and attributes is true or omitted\n * @param {string[]} [options.attributeFilter] Set to a list of attribute local names (without namespace) if not all attribute mutations need to be observed and attributes is true or omitted\n * @returns {UseMutationObserverReturn & { ref: StateRef<Target> }} An object containing the mutation observer state\n *\n * @example\n * const { ref, observer, stop } = useMutationObserver(() => console.log('callback'))\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to observe\n * @param {MutationCallback} callback The callback to execute when mutation is detected\n * @param {boolean} [options.enabled=true] The enabled state of the mutation observer\n * @param {boolean} [options.attributes] Set to true if mutations to target's attributes are to be observed\n * @param {boolean} [options.characterData] Set to true if mutations to target's data are to be observed\n * @param {boolean} [options.childList] Set to true if mutations to target's children are to be observed\n * @param {boolean} [options.subtree] Set to true if mutations to not just target, but also target's descendants are to be observed\n * @param {boolean} [options.characterDataOldValue] Set to true if characterData is set to true or omitted and target's data before the mutation needs to be recorded\n * @param {boolean} [options.attributeOldValue] Set to a list of attribute local names (without namespace) if not all attribute mutations need to be observed and attributes is true or omitted\n * @param {string[]} [options.attributeFilter] Set to a list of attribute local names (without namespace) if not all attribute mutations need to be observed and attributes is true or omitted\n * @returns {UseMutationObserverReturn} An object containing the mutation observer state\n *\n * @example\n * const { observer, stop } = useMutationObserver(ref, () => console.log('callback'))\n */\nexport const useMutationObserver = ((...params: any[]) => {\n const target = (isTarget(params[0]) ? params[0] : undefined) as\n | UseMutationObserverTarget\n | undefined;\n const callback = (target ? params[1] : params[0]) as MutationCallback;\n const options = (target ? params[2] : params[1]) as UseMutationObserverOptions | undefined;\n\n const [observer, setObserver] = useState<MutationObserver>();\n const enabled = options?.enabled ?? true;\n\n const internalRef = useRefState<Element>(window.document.documentElement);\n const internalCallbackRef = useRef<MutationCallback>(callback);\n internalCallbackRef.current = callback;\n const internalOptionsRef = useRef(options);\n internalOptionsRef.current = options;\n\n useEffect(() => {\n if (!enabled && !target && !internalRef.state) return;\n\n const element = (target ? getElement(target) : internalRef.current) as Element;\n if (!element) return;\n\n const observer = new MutationObserver(internalCallbackRef.current);\n setObserver(observer);\n observer.observe(element, internalOptionsRef.current);\n\n return () => {\n observer.disconnect();\n };\n }, [target, internalRef.state]);\n\n const stop = () => observer?.disconnect();\n\n if (target) return { stop, observer };\n return {\n ref: internalRef,\n stop,\n observer\n };\n}) as UseMutationObserver;\n"],"names":["useMutationObserver","_options$enabled","target","isTarget","arguments","length","undefined","callback","options","_useState","useState","_useState2","_slicedToArray","observer","setObserver","enabled","internalRef","useRefState","window","document","documentElement","internalCallbackRef","useRef","current","internalOptionsRef","useEffect","state","element","getElement","MutationObserver","observe","disconnect","stop","ref"],"mappings":";sTAmFaA,EAAuB,WAAsB,IAAAC,EAClDC,EAAUC,EAAQC,UAAAC,QAAAC,OAAAA,EAAAF,cAAWA,UAAAC,eAAAC,EAAAF,UAAA,QAAeE,EAG5CC,EAAYL,EAAME,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAA6C,GAC/DI,EAAWN,EAAME,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAmE,GAE1FK,EAAgCC,IAA4BC,EAAAC,EAAAH,EAAA,GAArDI,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GACtBI,EAA0Bd,QAAnBA,EAAGO,aAAO,EAAPA,EAASO,eAAOd,IAAAA,GAAAA,EAE1Be,EAAcC,EAAqBC,OAAOC,SAASC,iBACnDC,EAAsBC,EAAyBf,GACrDc,EAAoBE,QAAUhB,EAC9B,IAAMiB,EAAqBF,EAAOd,GAClCgB,EAAmBD,QAAUf,EAE7BiB,GAAU,WACR,GAAKV,GAAYb,GAAWc,EAAYU,MAAxC,CAEA,IAAMC,EAAWzB,EAAS0B,EAAW1B,GAAUc,EAAYO,QAC3D,GAAKI,EAAL,CAEA,IAAMd,EAAW,IAAIgB,iBAAiBR,EAAoBE,SAI1D,OAHAT,EAAYD,GACZA,EAASiB,QAAQH,EAASH,EAAmBD,SAEtC,WACLV,EAASkB,YACV,CARa,CAHiC,CAYhD,GAAE,CAAC7B,EAAQc,EAAYU,QAExB,IAAMM,EAAO,WAAH,OAASnB,aAAQ,EAARA,EAAUkB,YAAY,EAEzC,OAAI7B,EAAe,CAAE8B,KAAAA,EAAMnB,SAAAA,GACpB,CACLoB,IAAKjB,EACLgB,KAAAA,EACAnB,SAAAA,EAEJ"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
import{_ as n}from"../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.93 */
|
|
2
|
+
import{_ as n}from"../../_rollupPluginBabelHelpers-BQehtgCo.js";import{useState as e,useEffect as i}from"react";var o=function(){var n,e,i;return(null===(n=navigator)||void 0===n?void 0:n.connection)||(null===(e=navigator)||void 0===e?void 0:e.mozConnection)||(null===(i=navigator)||void 0===i?void 0:i.webkitConnection)},t=function(){var t=e((function(){if("undefined"==typeof navigator)return{online:!1,type:void 0,effectiveType:void 0,saveData:!1,downlink:0,downlinkMax:0,rtt:0};var n=navigator.onLine,e=o();return{online:n,downlink:null==e?void 0:e.downlink,downlinkMax:null==e?void 0:e.downlinkMax,effectiveType:null==e?void 0:e.effectiveType,rtt:null==e?void 0:e.rtt,saveData:null==e?void 0:e.saveData,type:null==e?void 0:e.type}})),v=n(t,2),l=v[0],a=v[1];return i((function(){var n=function(){var n=navigator.onLine,e=o();a({online:n,downlink:null==e?void 0:e.downlink,downlinkMax:null==e?void 0:e.downlinkMax,effectiveType:null==e?void 0:e.effectiveType,rtt:null==e?void 0:e.rtt,saveData:null==e?void 0:e.saveData,type:null==e?void 0:e.type})};window.addEventListener("online",n,{passive:!0}),window.addEventListener("offline",n,{passive:!0});var e=o();return e&&e.addEventListener("change",n,{passive:!0}),function(){window.removeEventListener("online",n),window.removeEventListener("offline",n),e&&e.removeEventListener("change",n)}})),l};export{o as getConnection,t as useNetwork};
|
|
3
3
|
//# sourceMappingURL=useNetwork.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNetwork.js","sources":["../../../../src/hooks/useNetwork/useNetwork.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\
|
|
1
|
+
{"version":3,"file":"useNetwork.js","sources":["../../../../src/hooks/useNetwork/useNetwork.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nexport interface Connection extends EventTarget {\n readonly downlink: number;\n readonly downlinkMax: number;\n readonly effectiveType: '2g' | '3g' | '4g' | 'slow-2g';\n readonly rtt: number;\n readonly saveData: boolean;\n onChange: (event: Event) => void;\n readonly type:\n | 'bluetooth'\n | 'cellular'\n | 'ethernet'\n | 'mixed'\n | 'none'\n | 'other'\n | 'unknown'\n | 'wifi'\n | 'wimax';\n}\n\ndeclare global {\n interface Navigator {\n readonly connection: Connection;\n readonly mozConnection: Connection;\n readonly webkitConnection: Connection;\n }\n}\n\n/** The type of network connection */\nexport type ConnectionType = Connection['type'];\n/** The effective type of connection */\nexport type ConnectionEffectiveType = Connection['effectiveType'];\n\n/** The use network return type */\nexport interface UseNetworkReturn {\n /** The estimated downlink speed in megabits per seconds */\n downlink?: Connection['downlink'];\n /** The maximum downlink speed, if available */\n downlinkMax?: Connection['downlinkMax'];\n /** The effective type of connection (e.g., '2g', '3g', '4g') */\n effectiveType?: Connection['effectiveType'];\n /** Indicates if the device is currently online */\n online: boolean;\n /** The estimated round-trip time in milliseconds */\n rtt?: Connection['rtt'];\n /** Indicates if the user has enabled data saving mode */\n saveData?: Connection['saveData'];\n /** The type of network connection (e.g., 'wifi', 'cellular') */\n type?: Connection['type'];\n}\n\nexport const getConnection = () =>\n navigator?.connection || navigator?.mozConnection || navigator?.webkitConnection;\n\n/**\n * @name useNetwork\n * @description - Hook to track network status\n * @category Sensors\n *\n * @returns {UseNetworkReturn} An object containing the network status\n *\n * @example\n * const { online, downlink, downlinkMax, effectiveType, rtt, saveData, type } = useNetwork();\n */\nexport const useNetwork = (): UseNetworkReturn => {\n const [value, setValue] = useState(() => {\n if (typeof navigator === 'undefined') {\n return {\n online: false,\n type: undefined,\n effectiveType: undefined,\n saveData: false,\n downlink: 0,\n downlinkMax: 0,\n rtt: 0\n };\n }\n const online = navigator.onLine;\n const connection = getConnection();\n\n return {\n online,\n downlink: connection?.downlink,\n downlinkMax: connection?.downlinkMax,\n effectiveType: connection?.effectiveType,\n rtt: connection?.rtt,\n saveData: connection?.saveData,\n type: connection?.type\n };\n });\n\n useEffect(() => {\n const callback = () => {\n const online = navigator.onLine;\n const connection = getConnection();\n\n setValue({\n online,\n downlink: connection?.downlink,\n downlinkMax: connection?.downlinkMax,\n effectiveType: connection?.effectiveType,\n rtt: connection?.rtt,\n saveData: connection?.saveData,\n type: connection?.type\n });\n };\n window.addEventListener('online', callback, { passive: true });\n window.addEventListener('offline', callback, { passive: true });\n\n const connection = getConnection();\n\n if (connection) {\n connection.addEventListener('change', callback, { passive: true });\n }\n\n return () => {\n window.removeEventListener('online', callback);\n window.removeEventListener('offline', callback);\n\n if (connection) {\n connection.removeEventListener('change', callback);\n }\n };\n });\n\n return value;\n};\n"],"names":["getConnection","_navigator","_navigator2","_navigator3","navigator","connection","mozConnection","webkitConnection","useNetwork","_useState","useState","online","type","undefined","effectiveType","saveData","downlink","downlinkMax","rtt","onLine","_useState2","_slicedToArray","value","setValue","useEffect","callback","window","addEventListener","passive","removeEventListener"],"mappings":";gHAoDaA,IAAAA,EAAgB,WAAH,IAAAC,EAAAC,EAAAC,EAAA,OACfF,QAATA,EAAAG,iBAAAH,IAASA,OAATA,EAAAA,EAAWI,cAAuBH,QAAbA,EAAIE,iBAAAF,IAASA,OAATA,EAAAA,EAAWI,iBAA0BH,QAAbA,EAAIC,iBAAAD,IAASA,OAATA,EAAAA,EAAWI,iBAAgB,EAYrEC,EAAa,WACxB,IAAAC,EAA0BC,GAAS,WACjC,GAAyB,oBAAdN,UACT,MAAO,CACLO,QAAQ,EACRC,UAAMC,EACNC,mBAAeD,EACfE,UAAU,EACVC,SAAU,EACVC,YAAa,EACbC,IAAK,GAGT,IAAMP,EAASP,UAAUe,OACnBd,EAAaL,IAEnB,MAAO,CACLW,OAAAA,EACAK,SAAUX,aAAAA,EAAAA,EAAYW,SACtBC,YAAaZ,aAAAA,EAAAA,EAAYY,YACzBH,cAAeT,aAAAA,EAAAA,EAAYS,cAC3BI,IAAKb,aAAAA,EAAAA,EAAYa,IACjBH,SAAUV,aAAAA,EAAAA,EAAYU,SACtBH,KAAMP,aAAU,EAAVA,EAAYO,KAEtB,IAAEQ,EAAAC,EAAAZ,EAAA,GAxBKa,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GA4DtB,OAlCAI,GAAU,WACR,IAAMC,EAAW,WACf,IAAMd,EAASP,UAAUe,OACnBd,EAAaL,IAEnBuB,EAAS,CACPZ,OAAAA,EACAK,SAAUX,aAAAA,EAAAA,EAAYW,SACtBC,YAAaZ,aAAAA,EAAAA,EAAYY,YACzBH,cAAeT,aAAAA,EAAAA,EAAYS,cAC3BI,IAAKb,aAAAA,EAAAA,EAAYa,IACjBH,SAAUV,aAAAA,EAAAA,EAAYU,SACtBH,KAAMP,aAAU,EAAVA,EAAYO,MAErB,EACDc,OAAOC,iBAAiB,SAAUF,EAAU,CAAEG,SAAS,IACvDF,OAAOC,iBAAiB,UAAWF,EAAU,CAAEG,SAAS,IAExD,IAAMvB,EAAaL,IAMnB,OAJIK,GACFA,EAAWsB,iBAAiB,SAAUF,EAAU,CAAEG,SAAS,IAGtD,WACLF,OAAOG,oBAAoB,SAAUJ,GACrCC,OAAOG,oBAAoB,UAAWJ,GAElCpB,GACFA,EAAWwB,oBAAoB,SAAUJ,EAE5C,CACH,IAEOH,CACT"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
import{_ as e}from"../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.93 */
|
|
2
|
+
import{_ as e}from"../../_rollupPluginBabelHelpers-BQehtgCo.js";import{useState as n,useRef as a,useEffect as i}from"react";var r=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=r.total,o=void 0===t?Number.POSITIVE_INFINITY:t,g=r.pageSize,u=void 0===g?10:g,p=r.initialPage,c=void 0===p?1:p,f=r.onPageChange,v=void 0===f?function(){}:f,S=r.onPageCountChange,z=void 0===S?function(){}:S,l=r.onPageSizeChange,P=void 0===l?function(){}:l,s=n(c),d=e(s,2),h=d[0],m=d[1],C=a(v),I=a(z),x=a(P);C.current=v,I.current=z,x.current=P;var N=Math.max(1,Math.ceil(o/u)),_=1===h,b=h===N;return i((function(){I.current({page:h,pageSize:u})}),[N]),i((function(){x.current({page:h,pageSize:u})}),[u]),{page:h,set:function(e){m(e),v({page:e,pageSize:u})},currentPageSize:u,isFirstPage:_,isLastPage:b,pageCount:N,next:function(){if(b)return v({page:N,pageSize:u});m((function(e){var n=e+1;return v({page:n,pageSize:u}),n}))},prev:function(){if(_)return v({page:1,pageSize:u});m((function(e){var n=e-1;return v({page:n,pageSize:u}),n}))}}};export{r as useOffsetPagination};
|
|
3
3
|
//# sourceMappingURL=useOffsetPagination.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.93 */
|
|
2
2
|
import{useSyncExternalStore as n}from"react";var e=function(){return navigator.onLine},t=function(){return!1},i=function(n){return window.addEventListener("online",n),window.addEventListener("offline",n),function(){window.removeEventListener("online",n),window.removeEventListener("offline",n)}},o=function(){return n(i,e,t)};export{o as useOnline};
|
|
3
3
|
//# sourceMappingURL=useOnline.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.93 */
|
|
2
2
|
import{useRef as n}from"react";var i=function(){if("undefined"==typeof window)return"undetermined";var n=window.navigator.userAgent;return/Macintosh|MacIntel|MacPPC|Mac68K/i.test(n)?"macos":/iPhone|iPad|iPod/i.test(n)?"ios":/Win32|Win64|Windows|WinCE/i.test(n)?"windows":/Android/i.test(n)?"android":/Linux/i.test(n)?"linux":"undetermined"},t=function(){return n(i()).current};export{i as getOperatingSystem,t as useOperatingSystem};
|
|
3
3
|
//# sourceMappingURL=useOperatingSystem.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
import{_ as r}from"../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.93 */
|
|
2
|
+
import{_ as r}from"../../_rollupPluginBabelHelpers-BQehtgCo.js";import{useState as t,useRef as o}from"react";import{useDidUpdate as e}from"../useDidUpdate/useDidUpdate.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";var u=function(u,n){var i=t(u),f=r(i,2),c=f[0],a=f[1],p=o(n);p.current=n;var s=t(!1),m=r(s,2),l=m[0],d=m[1];e((function(){l&&(a(u),d(!1))}),[l]);return[c,function(r,t){return a((function(t){return p.current(t,r)})),t.finally((function(){return d(!0)}))}]};export{u as useOptimistic};
|
|
3
3
|
//# sourceMappingURL=useOptimistic.js.map
|
|
@@ -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":["useOptimistic","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":["useOptimistic","externalState","update","_useState","useState","_useState2","_slicedToArray","state","setState","internalUpdateRef","useRef","current","_useState3","_useState4","promised","setPromised","useDidUpdate","optimisticValue","promise","currentState"],"mappings":";8OAsBO,IAAMA,EAAgB,SAC3BC,EACAC,GAEA,IAAAC,EAA0BC,EAAgBH,GAAcI,EAAAC,EAAAH,EAAA,GAAjDI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAChBI,EAAoBC,EAAOR,GACjCO,EAAkBE,QAAUT,EAE5B,IAAAU,EAAgCR,GAAS,GAAMS,EAAAP,EAAAM,EAAA,GAAxCE,EAAQD,EAAA,GAAEE,EAAWF,EAAA,GAE5BG,GAAa,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
|
-
import{_ as e}from"../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.93 */
|
|
2
|
+
import{_ as e}from"../../_rollupPluginBabelHelpers-BQehtgCo.js";import{useState as n,useEffect as r}from"react";var t=function(){var t=n({angle:0,type:"landscape-primary"}),o=e(t,2),a=o[0],i=o[1];return r((function(){var e=function(){var e=window.screen.orientation,n=e.angle,r=e.type;i({angle:n,type:r})};return window.screen.orientation.addEventListener("change",e),function(){return window.screen.orientation.removeEventListener("change",e)}}),[]),a};export{t as useOrientation};
|
|
3
3
|
//# sourceMappingURL=useOrientation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOrientation.js","sources":["../../../../src/hooks/useOrientation/useOrientation.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\
|
|
1
|
+
{"version":3,"file":"useOrientation.js","sources":["../../../../src/hooks/useOrientation/useOrientation.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\n/** The use orientation return type */\nexport interface UseOrientationReturn {\n /** The current screen orientation angle */\n angle: number;\n /** The screen orientation type */\n type: OrientationType;\n}\n\n/**\n * @name useOrientation\n * @description - Hook that returns the current screen orientation\n * @category Browser\n *\n * @returns {UseOrientationReturn} An object containing the current screen orientation\n *\n * @example\n * const { angle, type } = useOrientation();\n */\nexport const useOrientation = (): UseOrientationReturn => {\n const [orientation, setOrientation] = useState<{\n angle: number;\n type: OrientationType;\n }>({ angle: 0, type: 'landscape-primary' });\n\n useEffect(() => {\n const onChange = () => {\n const { angle, type } = window.screen.orientation;\n setOrientation({\n angle,\n type\n });\n };\n\n window.screen.orientation.addEventListener('change', onChange);\n return () => window.screen.orientation.removeEventListener('change', onChange);\n }, []);\n\n return orientation;\n};\n"],"names":["useOrientation","_useState","useState","angle","type","_useState2","_slicedToArray","orientation","setOrientation","useEffect","onChange","_window$screen$orient","window","screen","addEventListener","removeEventListener"],"mappings":";oHAoBaA,EAAiB,WAC5B,IAAAC,EAAsCC,EAGnC,CAAEC,MAAO,EAAGC,KAAM,sBAAsBC,EAAAC,EAAAL,EAAA,GAHpCM,EAAWF,EAAA,GAAEG,EAAcH,EAAA,GAkBlC,OAbAI,GAAU,WACR,IAAMC,EAAW,WACf,IAAAC,EAAwBC,OAAOC,OAAON,YAA9BJ,EAAKQ,EAALR,MAAOC,EAAIO,EAAJP,KACfI,EAAe,CACbL,MAAAA,EACAC,KAAAA,GAEH,EAGD,OADAQ,OAAOC,OAAON,YAAYO,iBAAiB,SAAUJ,GAC9C,WAAA,OAAME,OAAOC,OAAON,YAAYQ,oBAAoB,SAAUL,EAAS,CAC/E,GAAE,IAEIH,CACT"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
import{_ as r,d as n,e as t}from"../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.93 */
|
|
2
|
+
import{_ as r,d as n,e as t}from"../../_rollupPluginBabelHelpers-BQehtgCo.js";import{useState as e,useRef as o}from"react";var a=function(){for(var a,u,i=arguments.length,c=new Array(i),l=0;l<i;l++)c[l]=arguments[l];var s=c[0]instanceof Function?c[0]:null===(a=c[0])||void 0===a?void 0:a.onSuccess,p=c[0]instanceof Function?null===(u=c[0])||void 0===u?void 0:u.onError:void 0,f="undefined"!=typeof navigator&&"OTPCredential"in window,v=e(!1),d=r(v,2),b=d[0],g=d[1],w=o(new AbortController),m=function(){var r=n(t().mark((function r(){var n;return t().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(f){r.next=2;break}return r.abrupt("return");case 2:return w.current=new AbortController,r.prev=3,r.next=6,navigator.credentials.get({otp:{transport:["sms"]},signal:w.current.signal});case 6:return n=r.sent,null==s||s(n),g(!1),r.abrupt("return",n);case 12:r.prev=12,r.t0=r.catch(3),null==p||p(r.t0);case 15:case"end":return r.stop()}}),r,null,[[3,12]])})));return function(){return r.apply(this,arguments)}}();return{supported:f,abort:function(){w.current.abort(),w.current=new AbortController,w.current.signal.onabort=function(){return g(!0)}},aborted:b,get:m}};export{a as useOtpCredential};
|
|
3
3
|
//# sourceMappingURL=useOtpCredential.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
import{_ as e}from"../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.93 */
|
|
2
|
+
import{_ as e}from"../../_rollupPluginBabelHelpers-BQehtgCo.js";import{useState as n,useEffect as t}from"react";import{useEvent as r}from"../useEvent/useEvent.js";var o=function(o){var u=n(!1),s=e(u,2),m=s[0],i=s[1],v=r((function(){if(m)return i(!1);null==o||o(),i(!0)}));return t((function(){return document.addEventListener("mouseleave",v,{passive:!0}),document.addEventListener("mouseenter",v,{passive:!0}),function(){document.removeEventListener("mouseenter",v),document.removeEventListener("mouseleave",v)}}),[]),m};export{o as usePageLeave};
|
|
3
3
|
//# sourceMappingURL=usePageLeave.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
import{h as t,i as s,f as i}from"../../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.93 */
|
|
2
|
+
import{h as t,i as s,f as i}from"../../../_rollupPluginBabelHelpers-BQehtgCo.js";import{Pointer as r}from"./Pointer.js";var h=function(){return t((function t(h){var e=h.x,o=h.y,n=h.radius,u=h.smooth;s(this,t),i(this,"smooth",!1),i(this,"points",[]),i(this,"lines",[]),this.smooth=u,this.pointer=new r(e,o),this.brush=new r(e,o),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 r=i+Math.PI/2;return this.brush.update({x:this.brush.x+Math.sin(r)*(s-this.radius),y:this.brush.y-Math.cos(r)*(s-this.radius)}),this.points.push(this.getBrushCoordinates()),!0}return!1}}])}();export{h as Paint};
|
|
3
3
|
//# sourceMappingURL=Paint.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
import{h as t,i as e}from"../../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.93 */
|
|
2
|
+
import{h as t,i as e}from"../../../_rollupPluginBabelHelpers-BQehtgCo.js";var n=function(){function n(t,i){e(this,n),this.x=t,this.y=i}return t(n,[{key:"update",value:function(t){this.x=t.x,this.y=t.y}},{key:"getDifferenceTo",value:function(t){return new n(this.x-t.x,this.y-t.y)}},{key:"getDistanceTo",value:function(t){var e=this.getDifferenceTo(t);return Math.sqrt(Math.pow(e.x,2)+Math.pow(e.y,2))}},{key:"getAngleTo",value:function(t){var e=this.getDifferenceTo(t);return Math.atan2(e.y,e.x)}},{key:"equalsTo",value:function(t){return this.x===t.x&&this.y===t.y}},{key:"moveByAngle",value:function(t,e){var n=t+Math.PI/2;return this.x+=Math.sin(n)*e,this.y-=Math.cos(n)*e,this}}])}();export{n as Pointer};
|
|
3
3
|
//# sourceMappingURL=Pointer.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
import{b as r,_ as n}from"../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.93 */
|
|
2
|
+
import{b as r,_ as n}from"../../_rollupPluginBabelHelpers-BQehtgCo.js";import{useRef as e,useState as t,useEffect as o}from"react";import{getElement as u}from"../../utils/helpers/getElement.js";import{useEvent as i}from"../useEvent/useEvent.js";import{Paint as l}from"./helpers/Paint.js";import"./helpers/Pointer.js";var c=function(){var c,s,a,v,d,p="object"!==r(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,f=p?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],h=null!==(c=null==f?void 0:f.color)&&void 0!==c?c:"black",m=null!==(s=null==f?void 0:f.opacity)&&void 0!==s?s:1,g=null!==(a=null==f?void 0:f.radius)&&void 0!==a?a:10,y=e(new l({x:0,y:0,radius:null!==(v=null==f?void 0:f.radius)&&void 0!==v?v:10,smooth:null!==(d=null==f?void 0:f.smooth)&&void 0!==d&&d})),x=t(!1),E=n(x,2),w=E[0],L=E[1],b=e(null),j=e(null),M=function(r,n,e,t){if(j.current){j.current.globalAlpha=e,j.current.strokeStyle=n,j.current.lineWidth=2*t,j.current.lineCap="round",j.current.lineJoin="round";var o=r[0],u=r[1];j.current.beginPath();for(var i=1;i<r.length;i+=1){var l={x:o.x+(u.x-o.x)/2,y:o.y+(u.y-o.y)/2};j.current.quadraticCurveTo(o.x,o.y,l.x,l.y),o=r[i],u=r[i+1]}j.current.lineTo(o.x,o.y),j.current.stroke()}},P=function(){j.current&&j.current.clearRect(0,0,j.current.canvas.width,j.current.canvas.height)},k=i((function(r){var n;if(w){null==f||null===(n=f.onMouseMove)||void 0===n||n.call(f,r,y.current);var e={x:r.offsetX,y:r.offsetY};y.current.update(e)&&j.current&&(P(),j.current.clearRect(0,0,j.current.canvas.width,j.current.canvas.height),y.current.lines.forEach((function(r){var n=r.points,e=r.color,t=r.opacity,o=r.radius;return M(n,e,t,o)})),M(y.current.points,h,m,g))}})),C=i((function(r){var n;if(j.current){var e={x:r.offsetX,y:r.offsetY};y.current.brush.update(e),y.current.points.push(e),M(y.current.points,h,m,g),null==f||null===(n=f.onMouseDown)||void 0===n||n.call(f,r,y.current),L(!0)}})),R=i((function(r){var n;j.current&&(y.current.points.length&&(y.current.lines.push({points:y.current.points,color:h,opacity:m,radius:g}),y.current.points=[]),null==f||null===(n=f.onMouseUp)||void 0===n||n.call(f,r,y.current),L(!1))})),T=function(){j.current&&(P(),y.current.lines=[],y.current.points=[])},X=function(){j.current&&(P(),y.current.lines.pop(),y.current.lines.forEach((function(r){var n=r.points,e=r.color,t=r.opacity,o=r.radius;return M(n,e,t,o)})))};return o((function(){var r=p?u(p):b.current;if(r)return j.current=r.getContext("2d"),null!=f&&f.initialLines&&(y.current.lines=f.initialLines,f.initialLines.forEach((function(r){var n=r.points,e=r.color,t=r.opacity,o=r.radius;return M(n,e,t,o)}))),r.addEventListener("mousedown",C),r.addEventListener("mousemove",k),r.addEventListener("mouseup",R),function(){r&&(r.removeEventListener("mousedown",C),r.removeEventListener("mousemove",k),r.removeEventListener("mouseup",R))}}),[]),p?{drawing:w,clear:T,undo:X,draw:M,lines:y.current.lines}:{ref:b,drawing:w,clear:T,undo:X,draw:M,lines:y.current.lines}};export{c as usePaint};
|
|
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":["usePaint","_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":["usePaint","_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
|
-
import{_ as e}from"../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.93 */
|
|
2
|
+
import{_ as e}from"../../_rollupPluginBabelHelpers-BQehtgCo.js";import{useState as t,useEffect as a}from"react";import{useDeviceOrientation as n}from"../useDeviceOrientation/useDeviceOrientation.js";import{useMouse as r}from"../useMouse/useMouse.js";import{useRefState as i}from"../useRefState/useRefState.js";import{useScreenOrientation as o}from"../useScreenOrientation/useScreenOrientation.js";import"../../utils/helpers/getElement.js";var u=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,s=i(),v=r(null!=l?l:s.current),c=o(),m=n(),d=null!==(u=l?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0])&&void 0!==u?u:{},p=d.deviceOrientationRollAdjust,f=void 0===p?function(e){return e}:p,g=d.deviceOrientationTiltAdjust,h=void 0===g?function(e){return e}:g,b=d.mouseRollAdjust,y=void 0===b?function(e){return e}:b,j=d.mouseTiltAdjust,O=void 0===j?function(e){return e}:j,k=t({roll:0,tilt:0,source:"mouse"}),R=e(k,2),T=R[0],A=R[1],S=function(){return m.supported&&(m.value.alpha||m.value.gamma)?"deviceOrientation":"mouse"};return a((function(){if(v.element){var e=S(),t=function(){if("deviceOrientation"===S()){var e;switch(c.value.orientationType){case"landscape-primary":e=m.value.gamma/90;break;case"landscape-secondary":e=-m.value.gamma/90;break;case"portrait-primary":default:e=-m.value.beta/90;break;case"portrait-secondary":e=m.value.beta/90}return f(e)}if(!v.element)return 0;var t=v.y-v.elementPositionY,a=v.element.getBoundingClientRect().height;return y(-(t-a/2)/a)}(),a=function(){if("deviceOrientation"===S()){var e;switch(c.value.orientationType){case"landscape-primary":e=m.value.beta/90;break;case"landscape-secondary":e=-m.value.beta/90;break;case"portrait-primary":default:e=m.value.gamma/90;break;case"portrait-secondary":e=-m.value.gamma/90}return h(e)}if(!v.element)return 0;var t=v.x-v.elementPositionX,a=v.element.getBoundingClientRect().width;return O((t-a/2)/a)}();A({roll:t,source:e,tilt:a})}}),[c.value.angle,c.value.orientationType,m.value.gamma,m.value.beta,m.value.alpha,m.value.absolute,v.x,v.y,v.element]),l?{value:T}:{ref:s,value:T}};export{u as useParallax};
|
|
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":["useParallax","_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":["useParallax","_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
|
-
import{_ as e,d as r,e as t}from"../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.93 */
|
|
2
|
+
import{_ as e,d as r,e as t}from"../../_rollupPluginBabelHelpers-BQehtgCo.js";import{useState as n,useEffect as a}from"react";import{useEvent as o}from"../useEvent/useEvent.js";var s=function(s,u){var i,p=n("prompt"),c=e(p,2),v=c[0],m=c[1],d="undefined"!=typeof navigator&&"permissions"in navigator,f=null===(i=null==u?void 0:u.enabled)||void 0===i||i,l={name:s},g=o(r(t().mark((function e(){var r;return t().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 r=e.sent,m(r.state),e.abrupt("return",r.state);case 8:return e.prev=8,e.t0=e.catch(0),m("prompt"),e.abrupt("return","prompt");case 12:case"end":return e.stop()}}),e,null,[[0,8]])}))));return a((function(){if(d&&f)return g(),window.addEventListener("change",g),function(){window.removeEventListener("change",g)}}),[s,f]),{state:v,supported:d,query:g}};export{s as usePermission};
|
|
3
3
|
//# sourceMappingURL=usePermission.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
import{_ as e}from"../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.93 */
|
|
2
|
+
import{_ as e}from"../../_rollupPluginBabelHelpers-BQehtgCo.js";import{useState as n,useEffect as t}from"react";var o=function(){var o="undefined"!=typeof document&&"pointerLockElement"in document,r=n(),c=e(r,2),i=c[0],u=c[1];t((function(){if(o){var e=function(){var e;if(o){var n=null!==(e=document.pointerLockElement)&&void 0!==e?e:i;n&&n===i&&u(document.pointerLockElement)}},n=function(){var e;if(o){var n=null!==(e=document.pointerLockElement)&&void 0!==e?e:i;if(n&&n===i){var t=document.pointerLockElement?"release":"acquire";throw new Error("Failed to ".concat(t," pointer lock."))}}};return document.addEventListener("pointerlockchange",e),document.addEventListener("pointerlockerror",n),function(){document.removeEventListener("pointerlockchange",e),document.removeEventListener("pointerlockerror",n)}}}),[]);return{supported:o,element:i,lock:function(e){return!!o&&(!(e instanceof Event)&&(e.currentTarget.requestPointerLock(),u(e.currentTarget),!0))},unlock:function(){return!!o&&(!!i&&(document.exitPointerLock(),u(void 0),!0))}}};export{o as usePointerLock};
|
|
3
3
|
//# sourceMappingURL=usePointerLock.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.93 */
|
|
2
2
|
import{useRef as r,useEffect as n}from"react";var e=function(e,t){var i=r(t);i.current=t,n((function(){var r=function(r){!(!Array.isArray(e)||e.includes(r.origin)&&e.includes("*"))||r.origin!==e&&"*"!==e||i.current(r.data,r)};return window.addEventListener("message",r),function(){return window.removeEventListener("message",r)}}),[]);return function(r){Array.isArray(e)?e.forEach((function(n){return window.postMessage(r,n)})):window.postMessage(r,e)}};export{e as usePostMessage};
|
|
3
3
|
//# sourceMappingURL=usePostMessage.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.93 */
|
|
2
2
|
import{useMediaQuery as e}from"../useMediaQuery/useMediaQuery.js";import"react";var r=function(){var r=e("(prefers-color-scheme: light)"),o=e("(prefers-color-scheme: dark)");return r?"light":o?"dark":"no-preference"};export{r as usePreferredColorScheme};
|
|
3
3
|
//# sourceMappingURL=usePreferredColorScheme.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.93 */
|
|
2
2
|
import{useMediaQuery as r}from"../useMediaQuery/useMediaQuery.js";import"react";var e=function(){var e=r("(prefers-contrast: more)"),s=r("(prefers-contrast: less)"),t=r("(prefers-contrast: custom)");return e?"more":s?"less":t?"custom":"no-preference"};export{e as usePreferredContrast};
|
|
3
3
|
//# sourceMappingURL=usePreferredContrast.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.93 */
|
|
2
2
|
import{useMediaQuery as r}from"../useMediaQuery/useMediaQuery.js";import"react";var e=function(){return r("(prefers-color-scheme: dark)")};export{e as usePreferredDark};
|
|
3
3
|
//# sourceMappingURL=usePreferredDark.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.93 */
|
|
2
2
|
import{useSyncExternalStore as n}from"react";var e=function(){return window.navigator.languages},r=function(){return[]},t=function(n){return window.addEventListener("languagechange",n),function(){window.removeEventListener("languagechange",n)}},a=function(){return n(t,e,r)};export{a as usePreferredLanguages};
|
|
3
3
|
//# sourceMappingURL=usePreferredLanguages.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.93 */
|
|
2
2
|
import{useMediaQuery as e}from"../useMediaQuery/useMediaQuery.js";import"react";var r=function(){return e("(prefers-reduced-motion: reduce)")?"reduce":"no-preference"};export{r as usePreferredReducedMotion};
|
|
3
3
|
//# sourceMappingURL=usePreferredReducedMotion.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.93 */
|
|
2
2
|
import{useRef as r}from"react";var t=function(t,e){var n,u=r(t),c=r();return(null!==(n=null==e?void 0:e.equality)&&void 0!==n?n:Object.is)(t,u.current)||(c.current=u.current,u.current=t),c.current};export{t as usePrevious};
|
|
3
3
|
//# sourceMappingURL=usePrevious.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
import{_ as r,a as t}from"../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.93 */
|
|
2
|
+
import{_ as r,a as t}from"../../_rollupPluginBabelHelpers-BQehtgCo.js";import{useRef as n,useState as e,useEffect as l}from"react";import{getRetry as i}from"../../utils/helpers/getRetry.js";import{useDidUpdate as o}from"../useDidUpdate/useDidUpdate.js";import{useMount as u}from"../useMount/useMount.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";var c=function(c,a){var f,s,v=null===(f=null==a?void 0:a.enabled)||void 0===f||f,d=n(null!=a&&a.retry?i(a.retry):0),h=n(!1),p=e(!1),y=r(p,2),m=y[0],D=y[1],I=e(!1),g=r(I,2),b=g[0],j=g[1],E=e(!1),L=r(E,2),k=L[0],w=L[1],A=e(!1),C=r(A,2),F=C[0],M=C[1],R=e(!(null==a||!a.initialData)),S=r(R,2),U=S[0],_=S[1],x=e(void 0),B=r(x,2),H=B[0],P=B[1],T=e(null==a?void 0:a.initialData),q=r(T,2),z=q[0],G=q[1],J=n(new AbortController),K=n(),N=null!==(s=null==a?void 0:a.keys)&&void 0!==s?s:[],O=function(){J.current.abort(),J.current=new AbortController},Q=function(r){O(),D(!0),"init"===r&&(h.current=!0,j(!0)),"refetch"===r&&M(!0),c({signal:J.current.signal,keys:N}).then((function(t){var n,e=null!=a&&a.select?null==a?void 0:a.select(t):t;null==a||null===(n=a.onSuccess)||void 0===n||n.call(a,e),G(e),_(!0),P(void 0),w(!1),D(!1),"init"===r&&j(!1),"refetch"===r&&M(!1)})).catch((function(t){var n;if(d.current>0){d.current-=1;var e="function"==typeof(null==a?void 0:a.retryDelay)?null==a?void 0:a.retryDelay(d.current,t):null==a?void 0:a.retryDelay;return e?void setTimeout((function(){return Q(r)}),e):Q(r)}null==a||null===(n=a.onError)||void 0===n||n.call(a,t),G(void 0),_(!1),P(t),w(!0),D(!1),"init"===r&&j(!1),"refetch"===r&&M(!1),d.current=null!=a&&a.retry?i(a.retry):0})).finally((function(){if(null!=a&&a.refetchInterval){var r=setInterval((function(){clearInterval(r),Q("refetch")}),null==a?void 0:a.refetchInterval);K.current=r}}))};u((function(){v&&Q("init")})),o((function(){v&&Q(h.current?"refetch":"init")}),[v].concat(t(N))),l((function(){return function(){clearInterval(K.current)}}),[v,null==a?void 0:a.refetchInterval,null==a?void 0:a.retry].concat(t(N)));var V=(null==a?void 0:a.placeholderData)instanceof Function?null==a?void 0:a.placeholderData():null==a?void 0:a.placeholderData;return{abort:O,data:null!=z?z:V,error:H,refetch:function(){return Q("refetch")},isFetching:m,isLoading:b,isError:k,isSuccess:U,isRefetching:F}};export{c as useQuery};
|
|
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":["useQuery","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":["useQuery","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
|
-
import{_ as r,
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.93 */
|
|
2
|
+
import{_ as r,g as n,a as t}from"../../_rollupPluginBabelHelpers-BQehtgCo.js";import{useState as e}from"react";import{flushSync as o}from"react-dom";var u=function(){var u=e(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]),a=r(u,2),i=a[0],c=a[1];return{add:function(r){return c((function(n){return[].concat(t(n),[r])}))},remove:function(){var r;return o((function(){c((function(t){var e=n(t),o=e[0],u=e.slice(1);return r=o,u}))})),r},clear:function(){return c([])},first:i[0],last:i[i.length-1],size:i.length,queue:i}};export{u as useQueue};
|
|
3
3
|
//# sourceMappingURL=useQueue.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
import{_ as r}from"../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.93 */
|
|
2
|
+
import{_ as r}from"../../_rollupPluginBabelHelpers-BQehtgCo.js";import{useRef as n,useState as e,useEffect as t}from"react";var u=function(u,l){var i,a=n(null),o=n(0),c=e(!1),m=r(c,2),d=m[0],v=m[1],f=null===(i=null==l?void 0:l.enabled)||void 0===i||i,s=n(u);s.current=u;var p=function(r){var n=r-o.current;null!=l&&l.delay&&n<(null==l?void 0:l.delay)||(o.current=r,s.current({delta:n,timestamp:r})),a.current=window.requestAnimationFrame(p)},w=function(){d||(v(!0),o.current=0,a.current=window.requestAnimationFrame(p))};function y(){a.current&&(v(!1),window.cancelAnimationFrame(a.current),a.current=null)}return t((function(){if(f)return w(),y}),[f,null==l?void 0:l.delay]),{active:d,pause:y,resume:w}};export{u as useRaf};
|
|
3
3
|
//# sourceMappingURL=useRaf.js.map
|