@siberiacancode/reactuse 0.0.84 → 0.0.87
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/LICENSE +21 -21
- package/dist/cjs/{_rollupPluginBabelHelpers-DMeXxW1G.js → _rollupPluginBabelHelpers-BzvxghPP.js} +2 -2
- package/dist/cjs/_rollupPluginBabelHelpers-BzvxghPP.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/useActiveElement/useActiveElement.js.map +1 -1
- package/dist/cjs/hooks/useAsync/useAsync.js +2 -2
- package/dist/cjs/hooks/useAsync/useAsync.js.map +1 -1
- 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/useBluetooth/useBluetooth.js.map +1 -1
- 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 +3 -0
- package/dist/cjs/hooks/useDevicePixelRatio/useDevicePixelRatio.js.map +1 -0
- package/dist/cjs/hooks/useDidUpdate/useDidUpdate.js +1 -1
- package/dist/cjs/hooks/useDisclosure/useDisclosure.js +2 -2
- package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.js +2 -2
- package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.js.map +1 -1
- package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
- package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js.map +1 -1
- package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
- package/dist/cjs/hooks/useElementSize/useElementSize.js +2 -2
- package/dist/cjs/hooks/useElementSize/useElementSize.js.map +1 -1
- package/dist/cjs/hooks/useEvent/useEvent.js +1 -1
- package/dist/cjs/hooks/useEventListener/useEventListener.js +2 -2
- package/dist/cjs/hooks/useEventListener/useEventListener.js.map +1 -1
- package/dist/cjs/hooks/useEyeDropper/useEyeDropper.js +2 -2
- package/dist/cjs/hooks/useFavicon/useFavicon.js +2 -2
- package/dist/cjs/hooks/useField/useField.js +2 -2
- package/dist/cjs/hooks/useField/useField.js.map +1 -1
- package/dist/cjs/hooks/useFileDialog/useFileDialog.js +2 -2
- package/dist/cjs/hooks/useFocus/useFocus.js +2 -2
- package/dist/cjs/hooks/useFocus/useFocus.js.map +1 -1
- package/dist/cjs/hooks/useFps/useFps.js +2 -2
- package/dist/cjs/hooks/useFullscreen/useFullscreen.js +2 -2
- package/dist/cjs/hooks/useFullscreen/useFullscreen.js.map +1 -1
- package/dist/cjs/hooks/useGamepad/helpers/mapGamepadToXbox360Controller.js +1 -1
- package/dist/cjs/hooks/useGamepad/useGamepad.js +2 -2
- package/dist/cjs/hooks/useGeolocation/useGeolocation.js +2 -2
- package/dist/cjs/hooks/useHash/useHash.js +2 -2
- package/dist/cjs/hooks/useHotkeys/useHotkeys.js +2 -2
- package/dist/cjs/hooks/useHotkeys/useHotkeys.js.map +1 -1
- package/dist/cjs/hooks/useHover/useHover.js +2 -2
- package/dist/cjs/hooks/useHover/useHover.js.map +1 -1
- package/dist/cjs/hooks/useIdle/useIdle.js +2 -2
- package/dist/cjs/hooks/useIdle/useIdle.js.map +1 -1
- package/dist/cjs/hooks/useImage/useImage.js +2 -2
- package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.js +2 -2
- package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.js.map +1 -1
- package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
- package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
- package/dist/cjs/hooks/useInterval/useInterval.js +2 -2
- package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
- package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +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/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/useLogger/useLogger.js +2 -2
- package/dist/cjs/hooks/useLongPress/useLongPress.js +2 -2
- package/dist/cjs/hooks/useMap/useMap.js +2 -2
- package/dist/cjs/hooks/useMeasure/useMeasure.js +2 -2
- package/dist/cjs/hooks/useMeasure/useMeasure.js.map +1 -1
- package/dist/cjs/hooks/useMediaQuery/useMediaQuery.js +1 -1
- package/dist/cjs/hooks/useMemory/useMemory.js +2 -2
- package/dist/cjs/hooks/useMount/useMount.js +1 -1
- package/dist/cjs/hooks/useMouse/useMouse.js +2 -2
- package/dist/cjs/hooks/useMouse/useMouse.js.map +1 -1
- package/dist/cjs/hooks/useMutation/useMutation.js +2 -2
- package/dist/cjs/hooks/useMutationObserver/useMutationObserver.js +2 -2
- package/dist/cjs/hooks/useMutationObserver/useMutationObserver.js.map +1 -1
- package/dist/cjs/hooks/useNetwork/useNetwork.js +2 -2
- package/dist/cjs/hooks/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/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/useRafValue/useRafValue.js +2 -2
- package/dist/cjs/hooks/useRefState/useRefState.js +3 -0
- package/dist/cjs/hooks/useRefState/useRefState.js.map +1 -0
- 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 +2 -2
- package/dist/cjs/hooks/useRerender/useRerender.js.map +1 -1
- package/dist/cjs/hooks/useResizeObserver/useResizeObserver.js +2 -2
- package/dist/cjs/hooks/useResizeObserver/useResizeObserver.js.map +1 -1
- package/dist/cjs/hooks/useScreenOrientation/useScreenOrientation.js +2 -2
- package/dist/cjs/hooks/useScript/useScript.js +2 -2
- package/dist/cjs/hooks/useScroll/useScroll.js +2 -2
- package/dist/cjs/hooks/useScroll/useScroll.js.map +1 -1
- package/dist/cjs/hooks/useScrollTo/useScrollTo.js +2 -2
- package/dist/cjs/hooks/useScrollTo/useScrollTo.js.map +1 -1
- package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js +2 -2
- package/dist/cjs/hooks/useSet/useSet.js +2 -2
- package/dist/cjs/hooks/useShare/useShare.js +2 -2
- package/dist/cjs/hooks/useStep/useStep.js +2 -2
- package/dist/cjs/hooks/useStopwatch/useStopwatch.js +2 -2
- package/dist/cjs/hooks/useStorage/useStorage.js +2 -2
- package/dist/cjs/hooks/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/useWindowSize/useWindowSize.js +2 -2
- package/dist/cjs/hooks/useWizard/useWizard.js +2 -2
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/utils/helpers/debounce.js +1 -1
- package/dist/cjs/utils/helpers/getElement.js +1 -1
- package/dist/cjs/utils/helpers/getRetry.js +1 -1
- package/dist/cjs/utils/helpers/index.js +1 -1
- package/dist/cjs/utils/helpers/isClient.js +1 -1
- package/dist/cjs/utils/helpers/isTarget.js +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-uiAv_x3e.js → _rollupPluginBabelHelpers-B8S6IKRR.js} +2 -2
- package/dist/esm/_rollupPluginBabelHelpers-B8S6IKRR.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/useActiveElement/useActiveElement.js.map +1 -1
- package/dist/esm/hooks/useAsync/useAsync.js +2 -2
- package/dist/esm/hooks/useAsync/useAsync.js.map +1 -1
- 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/useBluetooth/useBluetooth.js.map +1 -1
- 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 +3 -0
- package/dist/esm/hooks/useDevicePixelRatio/useDevicePixelRatio.js.map +1 -0
- package/dist/esm/hooks/useDidUpdate/useDidUpdate.js +1 -1
- package/dist/esm/hooks/useDisclosure/useDisclosure.js +2 -2
- package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.js +2 -2
- package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.js.map +1 -1
- package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
- package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js.map +1 -1
- package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
- package/dist/esm/hooks/useElementSize/useElementSize.js +2 -2
- package/dist/esm/hooks/useElementSize/useElementSize.js.map +1 -1
- package/dist/esm/hooks/useEvent/useEvent.js +1 -1
- package/dist/esm/hooks/useEventListener/useEventListener.js +2 -2
- package/dist/esm/hooks/useEventListener/useEventListener.js.map +1 -1
- package/dist/esm/hooks/useEyeDropper/useEyeDropper.js +2 -2
- package/dist/esm/hooks/useFavicon/useFavicon.js +2 -2
- package/dist/esm/hooks/useField/useField.js +2 -2
- package/dist/esm/hooks/useField/useField.js.map +1 -1
- package/dist/esm/hooks/useFileDialog/useFileDialog.js +2 -2
- package/dist/esm/hooks/useFocus/useFocus.js +2 -2
- package/dist/esm/hooks/useFocus/useFocus.js.map +1 -1
- package/dist/esm/hooks/useFps/useFps.js +2 -2
- package/dist/esm/hooks/useFullscreen/useFullscreen.js +2 -2
- package/dist/esm/hooks/useFullscreen/useFullscreen.js.map +1 -1
- package/dist/esm/hooks/useGamepad/helpers/mapGamepadToXbox360Controller.js +1 -1
- package/dist/esm/hooks/useGamepad/useGamepad.js +2 -2
- package/dist/esm/hooks/useGeolocation/useGeolocation.js +2 -2
- package/dist/esm/hooks/useHash/useHash.js +2 -2
- package/dist/esm/hooks/useHotkeys/useHotkeys.js +2 -2
- package/dist/esm/hooks/useHotkeys/useHotkeys.js.map +1 -1
- package/dist/esm/hooks/useHover/useHover.js +2 -2
- package/dist/esm/hooks/useHover/useHover.js.map +1 -1
- package/dist/esm/hooks/useIdle/useIdle.js +2 -2
- package/dist/esm/hooks/useIdle/useIdle.js.map +1 -1
- package/dist/esm/hooks/useImage/useImage.js +2 -2
- package/dist/esm/hooks/useInfiniteScroll/useInfiniteScroll.js +2 -2
- package/dist/esm/hooks/useInfiniteScroll/useInfiniteScroll.js.map +1 -1
- package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
- package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
- package/dist/esm/hooks/useInterval/useInterval.js +2 -2
- package/dist/esm/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
- package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +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/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/useLogger/useLogger.js +2 -2
- package/dist/esm/hooks/useLongPress/useLongPress.js +2 -2
- package/dist/esm/hooks/useMap/useMap.js +2 -2
- package/dist/esm/hooks/useMeasure/useMeasure.js +2 -2
- package/dist/esm/hooks/useMeasure/useMeasure.js.map +1 -1
- package/dist/esm/hooks/useMediaQuery/useMediaQuery.js +1 -1
- package/dist/esm/hooks/useMemory/useMemory.js +2 -2
- package/dist/esm/hooks/useMount/useMount.js +1 -1
- package/dist/esm/hooks/useMouse/useMouse.js +2 -2
- package/dist/esm/hooks/useMouse/useMouse.js.map +1 -1
- package/dist/esm/hooks/useMutation/useMutation.js +2 -2
- package/dist/esm/hooks/useMutationObserver/useMutationObserver.js +2 -2
- package/dist/esm/hooks/useMutationObserver/useMutationObserver.js.map +1 -1
- package/dist/esm/hooks/useNetwork/useNetwork.js +2 -2
- package/dist/esm/hooks/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/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/useQueue/useQueue.js +2 -2
- package/dist/esm/hooks/useRaf/useRaf.js +2 -2
- package/dist/esm/hooks/useRafValue/useRafValue.js +2 -2
- package/dist/esm/hooks/useRefState/useRefState.js +3 -0
- package/dist/esm/hooks/useRefState/useRefState.js.map +1 -0
- 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 +2 -2
- package/dist/esm/hooks/useRerender/useRerender.js.map +1 -1
- package/dist/esm/hooks/useResizeObserver/useResizeObserver.js +2 -2
- package/dist/esm/hooks/useResizeObserver/useResizeObserver.js.map +1 -1
- package/dist/esm/hooks/useScreenOrientation/useScreenOrientation.js +2 -2
- package/dist/esm/hooks/useScript/useScript.js +2 -2
- package/dist/esm/hooks/useScroll/useScroll.js +2 -2
- package/dist/esm/hooks/useScroll/useScroll.js.map +1 -1
- package/dist/esm/hooks/useScrollTo/useScrollTo.js +2 -2
- package/dist/esm/hooks/useScrollTo/useScrollTo.js.map +1 -1
- package/dist/esm/hooks/useSessionStorage/useSessionStorage.js +2 -2
- package/dist/esm/hooks/useSet/useSet.js +2 -2
- package/dist/esm/hooks/useShare/useShare.js +2 -2
- package/dist/esm/hooks/useStep/useStep.js +2 -2
- package/dist/esm/hooks/useStopwatch/useStopwatch.js +2 -2
- package/dist/esm/hooks/useStorage/useStorage.js +2 -2
- package/dist/esm/hooks/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/useWindowSize/useWindowSize.js +2 -2
- package/dist/esm/hooks/useWizard/useWizard.js +2 -2
- package/dist/esm/index.js +2 -2
- package/dist/esm/utils/helpers/debounce.js +1 -1
- package/dist/esm/utils/helpers/getElement.js +1 -1
- package/dist/esm/utils/helpers/getRetry.js +1 -1
- package/dist/esm/utils/helpers/index.js +1 -1
- package/dist/esm/utils/helpers/isClient.js +1 -1
- package/dist/esm/utils/helpers/isTarget.js +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 +168 -53
- package/package.json +114 -114
- package/dist/cjs/_rollupPluginBabelHelpers-DMeXxW1G.js.map +0 -1
- package/dist/esm/_rollupPluginBabelHelpers-uiAv_x3e.js.map +0 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
import{b as e,_ as t}from"../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.87 */
|
|
2
|
+
import{b as e,_ as t}from"../../_rollupPluginBabelHelpers-B8S6IKRR.js";import{useState as o}from"react";import{getElement as l}from"../../utils/helpers/getElement.js";import"../../utils/helpers/isClient.js";import{useMount as r}from"../useMount/useMount.js";import{useMutationObserver as i}from"../useMutationObserver/useMutationObserver.js";import"../useRefState/useRefState.js";import"../useRerender/useRerender.js";var n=function(){var n="object"===e(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,u=n?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],s=n?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],d=o(null!=s?s:""),v=t(d,2),m=v[0],a=v[1],p=function(e){var t,o=l(null!=n?n:null===(t=window)||void 0===t||null===(t=t.document)||void 0===t?void 0:t.documentElement);if(o.style){if(!e)return o.style.removeProperty(u),void a(e);o.style.setProperty(u,e),a(e)}};return r((function(){s&&p(s)})),i(window,(function(){var e,t,o=l(null!=n?n:null===(e=window)||void 0===e||null===(e=e.document)||void 0===e?void 0:e.documentElement);if(o){var r=null===(t=window.getComputedStyle(o).getPropertyValue(u))||void 0===t?void 0:t.trim();a(null!=r?r:s)}}),{attributeFilter:["style","class"]}),{value:m,set:p}};export{n as useCssVar};
|
|
3
3
|
//# sourceMappingURL=useCssVar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCssVar.js","sources":["../../../../src/hooks/useCssVar/useCssVar.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useState } from 'react';\n\nimport { getElement } from '@/utils/helpers';\n\nimport { useMount } from '../useMount/useMount';\nimport { useMutationObserver } from '../useMutationObserver/useMutationObserver';\n\n/** The css variable target element type */\nexport type UseCssVarTarget =\n | (() => Element)\n | Element\n | RefObject<Element | null | undefined>\n | undefined;\n\n/** The css variable return type */\nexport interface UseCssVarReturn {\n /** The value of the CSS variable */\n value: string;\n /** Set the value of the CSS variable */\n set: (value: string) => void;\n}\n\nexport interface UseCssVar {\n (key: string, initialValue?: string): UseCssVarReturn;\n\n <Target extends UseCssVarTarget>(\n target: Target,\n key: string,\n initialValue?: string\n ): UseCssVarReturn;\n}\n\n/**\n * @name useCssVar\n * @description - Hook that returns the value of a CSS variable\n * @category Utilities\n *\n * @overload\n * @param {string} key The CSS variable key\n * @param {string} initialValue The initial value of the CSS variable\n * @returns {UseCssVarReturn} The object containing the value of the CSS variable\n *\n * @example\n * const { value, set } = useCssVar('color', 'red');\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element\n * @param {string} key The CSS variable key\n * @param {string} initialValue The initial value of the CSS variable\n * @returns {UseCssVarReturn} The object containing the value of the CSS variable\n *\n * @example\n * const { value, set } = useCssVar(ref, 'color', 'red');\n */\nexport const useCssVar = ((...params: any[]) => {\n const target = (typeof params[0] === 'object' ? params[0] : undefined) as\n | UseCssVarTarget\n | undefined;\n const key = (target ? params[1] : params[0]) as string;\n const initialValue = (target ? params[2] : params[1]) as string | undefined;\n\n const [value, setValue] = useState(initialValue ?? '');\n\n const set = (value: string) => {\n const element = getElement(target ?? window?.document?.documentElement) as HTMLElement;\n\n if (element.style) {\n if (!value) {\n element.style.removeProperty(key);\n setValue(value);\n return;\n }\n\n element.style.setProperty(key, value);\n setValue(value);\n }\n };\n\n const updateCssVar = () => {\n const element = getElement(target ?? window?.document?.documentElement) as HTMLElement;\n if (!element) return;\n\n const value = window\n .getComputedStyle(element as Element)\n .getPropertyValue(key)\n ?.trim();\n\n setValue(value ?? initialValue);\n };\n\n useMount(() => {\n if (initialValue) set(initialValue);\n });\n\n useMutationObserver(window, updateCssVar, {\n attributeFilter: ['style', 'class']\n });\n\n return {\n value,\n set\n };\n}) as UseCssVar;\n"],"names":["useCssVar","target","_typeof","arguments","length","undefined","key","initialValue","_useState","useState","_useState2","_slicedToArray","value","setValue","set","_window","element","getElement","window","document","documentElement","style","removeProperty","setProperty","useMount","useMutationObserver","_window2","_window$getComputedSt","getComputedStyle","getPropertyValue","trim","attributeFilter"],"mappings":";
|
|
1
|
+
{"version":3,"file":"useCssVar.js","sources":["../../../../src/hooks/useCssVar/useCssVar.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useState } from 'react';\n\nimport { getElement } from '@/utils/helpers';\n\nimport { useMount } from '../useMount/useMount';\nimport { useMutationObserver } from '../useMutationObserver/useMutationObserver';\n\n/** The css variable target element type */\nexport type UseCssVarTarget =\n | (() => Element)\n | Element\n | RefObject<Element | null | undefined>\n | undefined;\n\n/** The css variable return type */\nexport interface UseCssVarReturn {\n /** The value of the CSS variable */\n value: string;\n /** Set the value of the CSS variable */\n set: (value: string) => void;\n}\n\nexport interface UseCssVar {\n (key: string, initialValue?: string): UseCssVarReturn;\n\n <Target extends UseCssVarTarget>(\n target: Target,\n key: string,\n initialValue?: string\n ): UseCssVarReturn;\n}\n\n/**\n * @name useCssVar\n * @description - Hook that returns the value of a CSS variable\n * @category Utilities\n *\n * @overload\n * @param {string} key The CSS variable key\n * @param {string} initialValue The initial value of the CSS variable\n * @returns {UseCssVarReturn} The object containing the value of the CSS variable\n *\n * @example\n * const { value, set } = useCssVar('color', 'red');\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element\n * @param {string} key The CSS variable key\n * @param {string} initialValue The initial value of the CSS variable\n * @returns {UseCssVarReturn} The object containing the value of the CSS variable\n *\n * @example\n * const { value, set } = useCssVar(ref, 'color', 'red');\n */\nexport const useCssVar = ((...params: any[]) => {\n const target = (typeof params[0] === 'object' ? params[0] : undefined) as\n | UseCssVarTarget\n | undefined;\n const key = (target ? params[1] : params[0]) as string;\n const initialValue = (target ? params[2] : params[1]) as string | undefined;\n\n const [value, setValue] = useState(initialValue ?? '');\n\n const set = (value: string) => {\n const element = getElement(target ?? window?.document?.documentElement) as HTMLElement;\n\n if (element.style) {\n if (!value) {\n element.style.removeProperty(key);\n setValue(value);\n return;\n }\n\n element.style.setProperty(key, value);\n setValue(value);\n }\n };\n\n const updateCssVar = () => {\n const element = getElement(target ?? window?.document?.documentElement) as HTMLElement;\n if (!element) return;\n\n const value = window\n .getComputedStyle(element as Element)\n .getPropertyValue(key)\n ?.trim();\n\n setValue(value ?? initialValue);\n };\n\n useMount(() => {\n if (initialValue) set(initialValue);\n });\n\n useMutationObserver(window, updateCssVar, {\n attributeFilter: ['style', 'class']\n });\n\n return {\n value,\n set\n };\n}) as UseCssVar;\n"],"names":["useCssVar","target","_typeof","arguments","length","undefined","key","initialValue","_useState","useState","_useState2","_slicedToArray","value","setValue","set","_window","element","getElement","window","document","documentElement","style","removeProperty","setProperty","useMount","useMutationObserver","_window2","_window$getComputedSt","getComputedStyle","getPropertyValue","trim","attributeFilter"],"mappings":";saAyDaA,EAAa,WACxB,IAAMC,EAA+B,WAArBC,EAAAC,UAAAC,QAAAC,OAAAA,EAAAF,cAA6BA,UAAAC,eAAAC,EAAAF,UAAA,QAAeE,EAGtDC,EAAOL,EAAME,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAmC,GAChDI,EAAgBN,EAAME,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAA+C,GAE3EK,EAA0BC,EAASF,QAAAA,EAAgB,IAAGG,EAAAC,EAAAH,EAAA,GAA/CI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAEhBI,EAAM,SAACF,GAAkB,IAAAG,EACvBC,EAAUC,EAAWhB,QAAAA,EAAgBc,QAAVA,EAAIG,cAAMH,IAAAA,GAAUA,QAAVA,EAANA,EAAQI,gBAARJ,IAAgBA,OAAhBA,EAAAA,EAAkBK,iBAEvD,GAAIJ,EAAQK,MAAO,CACjB,IAAKT,EAGH,OAFAI,EAAQK,MAAMC,eAAehB,QAC7BO,EAASD,GAIXI,EAAQK,MAAME,YAAYjB,EAAKM,GAC/BC,EAASD,EACX,CACD,EAsBD,OARAY,GAAS,WACHjB,GAAcO,EAAIP,EACxB,IAEAkB,EAAoBP,QAhBC,WAAM,IAAAQ,EAAAC,EACnBX,EAAUC,EAAWhB,QAAAA,EAAgByB,QAAVA,EAAIR,cAAMQ,IAAAA,GAAUA,QAAVA,EAANA,EAAQP,gBAARO,IAAgBA,OAAhBA,EAAAA,EAAkBN,iBACvD,GAAKJ,EAAL,CAEA,IAAMJ,EAEkBe,QAFbA,EAAGT,OACXU,iBAAiBZ,GACjBa,iBAAiBvB,cAAIqB,SAFVA,EAGVG,OAEJjB,EAASD,QAAAA,EAASL,EAPJ,CAQf,GAMyC,CACxCwB,gBAAiB,CAAC,QAAS,WAGtB,CACLnB,MAAAA,EACAE,IAAAA,EAEJ"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
import{useMemo as r}from"react";import{
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.87 */
|
|
2
|
+
import{useMemo as r}from"react";import{debounce as e}from"../../utils/helpers/debounce.js";import"../../utils/helpers/isClient.js";import{useEvent as t}from"../useEvent/useEvent.js";var o=function(o,i){var n=t(o);return r((function(){return e(n,i)}),[i])};export{o as useDebounceCallback};
|
|
3
3
|
//# sourceMappingURL=useDebounceCallback.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDebounceCallback.js","sources":["../../../../src/hooks/useDebounceCallback/useDebounceCallback.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport { debounce } from '@/utils/helpers';\n\nimport { useEvent } from '../useEvent/useEvent';\n\n/**\n * @name useDebounceCallback\n * @description - Hook that creates a debounced callback and returns a stable reference of it\n * @category Utilities\n *\n * @template Params The type of the params\n * @template Return The type of the return\n * @param {(...args: Params) => Return} callback The callback function\n * @param {number} delay The delay in milliseconds\n * @returns {(...args: Params) => Return} The callback with debounce\n *\n * @example\n * const debouncedCallback = useDebounceCallback(() => console.log('callback'), 500);\n */\nexport const useDebounceCallback = <Params extends unknown[], Return>(\n callback: (...args: Params) => Return,\n delay: number\n) => {\n const internalCallback = useEvent(callback);\n const debounced = useMemo(() => debounce(internalCallback, delay), [delay]);\n\n return debounced;\n};\n"],"names":["useDebounceCallback","callback","delay","internalCallback","useEvent","useMemo","debounce"],"mappings":";
|
|
1
|
+
{"version":3,"file":"useDebounceCallback.js","sources":["../../../../src/hooks/useDebounceCallback/useDebounceCallback.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport { debounce } from '@/utils/helpers';\n\nimport { useEvent } from '../useEvent/useEvent';\n\n/**\n * @name useDebounceCallback\n * @description - Hook that creates a debounced callback and returns a stable reference of it\n * @category Utilities\n *\n * @template Params The type of the params\n * @template Return The type of the return\n * @param {(...args: Params) => Return} callback The callback function\n * @param {number} delay The delay in milliseconds\n * @returns {(...args: Params) => Return} The callback with debounce\n *\n * @example\n * const debouncedCallback = useDebounceCallback(() => console.log('callback'), 500);\n */\nexport const useDebounceCallback = <Params extends unknown[], Return>(\n callback: (...args: Params) => Return,\n delay: number\n) => {\n const internalCallback = useEvent(callback);\n const debounced = useMemo(() => debounce(internalCallback, delay), [delay]);\n\n return debounced;\n};\n"],"names":["useDebounceCallback","callback","delay","internalCallback","useEvent","useMemo","debounce"],"mappings":";sLAoBO,IAAMA,EAAsB,SACjCC,EACAC,GAEA,IAAMC,EAAmBC,EAASH,GAGlC,OAFkBI,GAAQ,WAAA,OAAMC,EAASH,EAAkBD,KAAQ,CAACA,GAGtE"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
import{_ as e}from"../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.87 */
|
|
2
|
+
import{_ as e}from"../../_rollupPluginBabelHelpers-B8S6IKRR.js";import{useRef as r,useState as t,useEffect as o}from"react";import{useDebounceCallback as s}from"../useDebounceCallback/useDebounceCallback.js";import"../../utils/helpers/debounce.js";import"../../utils/helpers/isClient.js";import"../useEvent/useEvent.js";var u=function(u,l){var n=r(u),i=t(u),p=e(i,2),c=p[0],a=p[1],m=s(a,l);return o((function(){n.current!==u&&(m(u),n.current=u)}),[u]),c};export{u as useDebounceValue};
|
|
3
3
|
//# sourceMappingURL=useDebounceValue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDebounceValue.js","sources":["../../../../src/hooks/useDebounceValue/useDebounceValue.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport { useDebounceCallback } from '../useDebounceCallback/useDebounceCallback';\n\n/**\n * @name useDebounceValue\n * @description - Hook that creates a debounced value and returns a stable reference of it\n * @category Utilities\n *\n * @template Value The type of the value\n * @param {Value} value The value to be debounced\n * @param {number} delay The delay in milliseconds\n * @returns {Value} The debounced value\n *\n * @example\n * const debouncedValue = useDebounceValue(value, 500);\n */\nexport const useDebounceValue = <Value>(value: Value, delay: number) => {\n const previousValueRef = useRef(value);\n const [debouncedValue, setDebounceValue] = useState(value);\n\n const debouncedSetState = useDebounceCallback(setDebounceValue, delay);\n\n useEffect(() => {\n if (previousValueRef.current === value) return;\n debouncedSetState(value);\n previousValueRef.current = value;\n }, [value]);\n\n return debouncedValue;\n};\n"],"names":["useDebounceValue","value","delay","previousValueRef","useRef","_useState","useState","_useState2","_slicedToArray","debouncedValue","setDebounceValue","debouncedSetState","useDebounceCallback","useEffect","current"],"mappings":";
|
|
1
|
+
{"version":3,"file":"useDebounceValue.js","sources":["../../../../src/hooks/useDebounceValue/useDebounceValue.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport { useDebounceCallback } from '../useDebounceCallback/useDebounceCallback';\n\n/**\n * @name useDebounceValue\n * @description - Hook that creates a debounced value and returns a stable reference of it\n * @category Utilities\n *\n * @template Value The type of the value\n * @param {Value} value The value to be debounced\n * @param {number} delay The delay in milliseconds\n * @returns {Value} The debounced value\n *\n * @example\n * const debouncedValue = useDebounceValue(value, 500);\n */\nexport const useDebounceValue = <Value>(value: Value, delay: number) => {\n const previousValueRef = useRef(value);\n const [debouncedValue, setDebounceValue] = useState(value);\n\n const debouncedSetState = useDebounceCallback(setDebounceValue, delay);\n\n useEffect(() => {\n if (previousValueRef.current === value) return;\n debouncedSetState(value);\n previousValueRef.current = value;\n }, [value]);\n\n return debouncedValue;\n};\n"],"names":["useDebounceValue","value","delay","previousValueRef","useRef","_useState","useState","_useState2","_slicedToArray","debouncedValue","setDebounceValue","debouncedSetState","useDebounceCallback","useEffect","current"],"mappings":";gUAiBO,IAAMA,EAAmB,SAAQC,EAAcC,GACpD,IAAMC,EAAmBC,EAAOH,GAChCI,EAA2CC,EAASL,GAAMM,EAAAC,EAAAH,EAAA,GAAnDI,EAAcF,EAAA,GAAEG,EAAgBH,EAAA,GAEjCI,EAAoBC,EAAoBF,EAAkBR,GAQhE,OANAW,GAAU,WACJV,EAAiBW,UAAYb,IACjCU,EAAkBV,GAClBE,EAAiBW,QAAUb,EAC7B,GAAG,CAACA,IAEGQ,CACT"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
import{_ as r}from"../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.87 */
|
|
2
|
+
import{_ as r}from"../../_rollupPluginBabelHelpers-B8S6IKRR.js";import{useState as l}from"react";var o=function(o,e){var t=l(o),a=r(t,2),n=a[0];return[null==n?e:n,a[1]]};export{o as useDefault};
|
|
3
3
|
//# sourceMappingURL=useDefault.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
import{_ as l,c as n}from"../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.87 */
|
|
2
|
+
import{_ as l,c as n}from"../../_rollupPluginBabelHelpers-B8S6IKRR.js";import{useState as e,useRef as t,useEffect as a}from"react";import"../../utils/helpers/isClient.js";import{throttle as i}from"../../utils/helpers/throttle.js";var r=function(r){var o,c,u=null===(o=null==r?void 0:r.enabled)||void 0===o||o,v=null!==(c=null==r?void 0:r.delay)&&void 0!==c?c:1e3,d=e({interval:0,rotationRate:{alpha:null,beta:null,gamma:null},acceleration:{x:null,y:null,z:null},accelerationIncludingGravity:{x:null,y:null,z:null}}),s=l(d,2),m=s[0],p=s[1],f=t(null==r?void 0:r.callback);return f.current=null==r?void 0:r.callback,a((function(){if(u){var l=i((function(l){var e;null===(e=f.current)||void 0===e||e.call(f,l),p({interval:l.interval,rotationRate:n(n({},m.rotationRate),l.rotationRate),acceleration:n(n({},m.acceleration),l.acceleration),accelerationIncludingGravity:n(n({},m.accelerationIncludingGravity),l.accelerationIncludingGravity)})}),v);return window.addEventListener("devicemotion",l),function(){window.removeEventListener("devicemotion",l)}}}),[v,u]),m};export{r as useDeviceMotion};
|
|
3
3
|
//# sourceMappingURL=useDeviceMotion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDeviceMotion.js","sources":["../../../../src/hooks/useDeviceMotion/useDeviceMotion.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport { throttle } from '@/utils/helpers';\n\nexport interface UseDeviceMotionReturn {\n acceleration: DeviceMotionEventAcceleration;\n accelerationIncludingGravity: DeviceMotionEventAcceleration;\n interval: DeviceMotionEvent['interval'];\n rotationRate: DeviceMotionEventRotationRate;\n}\n\nexport interface UseDeviceMotionParams {\n /** The delay in milliseconds */\n delay?: number;\n /** Whether to enable the hook */\n enabled?: boolean;\n /** The callback function to be invoked */\n callback?: (event: DeviceMotionEvent) => void;\n}\n\n/**\n * @name useDeviceMotion\n * @description - Hook that work with device motion\n * @category Utilities\n *\n * @param {number} [delay=1000] The delay in milliseconds\n * @param {(event: DeviceMotionEvent) => void} [callback] The callback function to be invoked\n * @param {boolean} [enabled=true] Whether to enable the hook\n * @returns {UseDeviceMotionReturn} The device motion data and interval\n *\n * @example\n * const { interval, rotationRate, acceleration, accelerationIncludingGravity } = useDeviceMotion();\n */\nexport const useDeviceMotion = (params?: UseDeviceMotionParams) => {\n const enabled = params?.enabled ?? true;\n const delay = params?.delay ?? 1000;\n const [value, setValue] = useState<UseDeviceMotionReturn>({\n interval: 0,\n rotationRate: { alpha: null, beta: null, gamma: null },\n acceleration: { x: null, y: null, z: null },\n accelerationIncludingGravity: { x: null, y: null, z: null }\n });\n const internalCallbackRef = useRef(params?.callback);\n internalCallbackRef.current = params?.callback;\n\n useEffect(() => {\n if (!enabled) return;\n\n const onDeviceMotion = throttle<[DeviceMotionEvent]>((event) => {\n internalCallbackRef.current?.(event);\n setValue({\n interval: event.interval,\n rotationRate: {\n ...value.rotationRate,\n ...event.rotationRate\n },\n acceleration: {\n ...value.acceleration,\n ...event.acceleration\n },\n accelerationIncludingGravity: {\n ...value.accelerationIncludingGravity,\n ...event.accelerationIncludingGravity\n }\n });\n }, delay);\n\n window.addEventListener('devicemotion', onDeviceMotion);\n\n return () => {\n window.removeEventListener('devicemotion', onDeviceMotion);\n };\n }, [delay, enabled]);\n\n return value;\n};\n"],"names":["useDeviceMotion","params","_params$enabled","_params$delay","enabled","delay","_useState","useState","interval","rotationRate","alpha","beta","gamma","acceleration","x","y","z","accelerationIncludingGravity","_useState2","_slicedToArray","value","setValue","internalCallbackRef","useRef","callback","current","useEffect","onDeviceMotion","throttle","event","_internalCallbackRef$","call","_objectSpread","window","addEventListener","removeEventListener"],"mappings":";
|
|
1
|
+
{"version":3,"file":"useDeviceMotion.js","sources":["../../../../src/hooks/useDeviceMotion/useDeviceMotion.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport { throttle } from '@/utils/helpers';\n\nexport interface UseDeviceMotionReturn {\n acceleration: DeviceMotionEventAcceleration;\n accelerationIncludingGravity: DeviceMotionEventAcceleration;\n interval: DeviceMotionEvent['interval'];\n rotationRate: DeviceMotionEventRotationRate;\n}\n\nexport interface UseDeviceMotionParams {\n /** The delay in milliseconds */\n delay?: number;\n /** Whether to enable the hook */\n enabled?: boolean;\n /** The callback function to be invoked */\n callback?: (event: DeviceMotionEvent) => void;\n}\n\n/**\n * @name useDeviceMotion\n * @description - Hook that work with device motion\n * @category Utilities\n *\n * @param {number} [delay=1000] The delay in milliseconds\n * @param {(event: DeviceMotionEvent) => void} [callback] The callback function to be invoked\n * @param {boolean} [enabled=true] Whether to enable the hook\n * @returns {UseDeviceMotionReturn} The device motion data and interval\n *\n * @example\n * const { interval, rotationRate, acceleration, accelerationIncludingGravity } = useDeviceMotion();\n */\nexport const useDeviceMotion = (params?: UseDeviceMotionParams) => {\n const enabled = params?.enabled ?? true;\n const delay = params?.delay ?? 1000;\n const [value, setValue] = useState<UseDeviceMotionReturn>({\n interval: 0,\n rotationRate: { alpha: null, beta: null, gamma: null },\n acceleration: { x: null, y: null, z: null },\n accelerationIncludingGravity: { x: null, y: null, z: null }\n });\n const internalCallbackRef = useRef(params?.callback);\n internalCallbackRef.current = params?.callback;\n\n useEffect(() => {\n if (!enabled) return;\n\n const onDeviceMotion = throttle<[DeviceMotionEvent]>((event) => {\n internalCallbackRef.current?.(event);\n setValue({\n interval: event.interval,\n rotationRate: {\n ...value.rotationRate,\n ...event.rotationRate\n },\n acceleration: {\n ...value.acceleration,\n ...event.acceleration\n },\n accelerationIncludingGravity: {\n ...value.accelerationIncludingGravity,\n ...event.accelerationIncludingGravity\n }\n });\n }, delay);\n\n window.addEventListener('devicemotion', onDeviceMotion);\n\n return () => {\n window.removeEventListener('devicemotion', onDeviceMotion);\n };\n }, [delay, enabled]);\n\n return value;\n};\n"],"names":["useDeviceMotion","params","_params$enabled","_params$delay","enabled","delay","_useState","useState","interval","rotationRate","alpha","beta","gamma","acceleration","x","y","z","accelerationIncludingGravity","_useState2","_slicedToArray","value","setValue","internalCallbackRef","useRef","callback","current","useEffect","onDeviceMotion","throttle","event","_internalCallbackRef$","call","_objectSpread","window","addEventListener","removeEventListener"],"mappings":";0OAiCaA,EAAkB,SAACC,GAAmC,IAAAC,EAAAC,EAC3DC,EAAyBF,QAAlBA,EAAGD,aAAM,EAANA,EAAQG,eAAOF,IAAAA,GAAAA,EACzBG,EAAqBF,QAAhBA,EAAGF,aAAM,EAANA,EAAQI,aAAKF,IAAAA,EAAAA,EAAI,IAC/BG,EAA0BC,EAAgC,CACxDC,SAAU,EACVC,aAAc,CAAEC,MAAO,KAAMC,KAAM,KAAMC,MAAO,MAChDC,aAAc,CAAEC,EAAG,KAAMC,EAAG,KAAMC,EAAG,MACrCC,6BAA8B,CAAEH,EAAG,KAAMC,EAAG,KAAMC,EAAG,QACrDE,EAAAC,EAAAb,EAAA,GALKc,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAMhBI,EAAsBC,EAAOtB,aAAAA,EAAAA,EAAQuB,UAgC3C,OA/BAF,EAAoBG,QAAUxB,aAAM,EAANA,EAAQuB,SAEtCE,GAAU,WACR,GAAKtB,EAAL,CAEA,IAAMuB,EAAiBC,GAA8B,SAACC,GAAU,IAAAC,EACnCA,QAA3BA,EAAAR,EAAoBG,eAApBK,IAA2BA,GAA3BA,EAAAC,KAAAT,EAA8BO,GAC9BR,EAAS,CACPb,SAAUqB,EAAMrB,SAChBC,aAAYuB,EAAAA,EACPZ,CAAAA,EAAAA,EAAMX,cACNoB,EAAMpB,cAEXI,aAAYmB,EAAAA,EACPZ,CAAAA,EAAAA,EAAMP,cACNgB,EAAMhB,cAEXI,6BAA4Be,EAAAA,EAAA,CAAA,EACvBZ,EAAMH,8BACNY,EAAMZ,+BAGd,GAAEZ,GAIH,OAFA4B,OAAOC,iBAAiB,eAAgBP,GAEjC,WACLM,OAAOE,oBAAoB,eAAgBR,EAC5C,CAzBa,CA0BhB,GAAG,CAACtB,EAAOD,IAEJgB,CACT"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
import{_ as e}from"../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.87 */
|
|
2
|
+
import{_ as e}from"../../_rollupPluginBabelHelpers-B8S6IKRR.js";import{useState as n,useEffect as t}from"react";var a=function(){var a="undefined"!=typeof window&&"DeviceOrientationEvent"in window,i=n({alpha:null,beta:null,gamma:null,absolute:!1}),o=e(i,2),r=o[0],l=o[1];return t((function(){if(a){var e=function(e){return l({alpha:e.alpha,beta:e.beta,gamma:e.gamma,absolute:e.absolute})};return window.addEventListener("deviceorientation",e),function(){window.removeEventListener("deviceorientation",e)}}}),[]),{supported:a,value:r}};export{a as useDeviceOrientation};
|
|
3
3
|
//# sourceMappingURL=useDeviceOrientation.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.87 */
|
|
2
|
+
import{_ as e}from"../../_rollupPluginBabelHelpers-B8S6IKRR.js";import{useState as i,useEffect as n}from"react";var o=function(){var o,t="undefined"!=typeof window&&"function"==typeof window.matchMedia&&"number"==typeof window.devicePixelRatio,r=i(null!==(o=window.devicePixelRatio)&&void 0!==o?o:1),d=e(r,2),a=d[0],c=d[1];return n((function(){if(t){var e=function(){return c(window.devicePixelRatio)},i=window.matchMedia("(resolution: ".concat(window.devicePixelRatio,"dppx)"));return i.addEventListener("change",e),function(){i.removeEventListener("change",e)}}}),[a]),{supported:t,ratio:a}};export{o as useDevicePixelRatio};
|
|
3
|
+
//# sourceMappingURL=useDevicePixelRatio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDevicePixelRatio.js","sources":["../../../../src/hooks/useDevicePixelRatio/useDevicePixelRatio.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\n/** The use device pixel ratio return type */\nexport interface UseDevicePixelRatioReturn {\n /** The ratio of the resolution in physical pixels to the resolution in CSS pixels */\n ratio: number;\n /** Whether the device pixel ratio is supported*/\n supported: boolean;\n}\n\n/**\n * @name useDevicePixelRatio\n * @description - Hook that returns the ratio of the resolution in physical pixels to the resolution in CSS pixels for the current display device\n * @category Display\n *\n * @returns {UseDevicePixelRatioReturn} The ratio and supported flag\n *\n * @example\n * const { supported, ratio } = useDevicePixelRatio();\n */\nexport const useDevicePixelRatio = (): UseDevicePixelRatioReturn => {\n const supported =\n typeof window !== 'undefined' &&\n typeof window.matchMedia === 'function' &&\n typeof window.devicePixelRatio === 'number';\n\n const [ratio, setRatio] = useState<number>(window.devicePixelRatio ?? 1);\n\n useEffect(() => {\n if (!supported) return;\n\n const updatePixelRatio = () => setRatio(window.devicePixelRatio);\n\n const media = window.matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`);\n media.addEventListener('change', updatePixelRatio);\n return () => {\n media.removeEventListener('change', updatePixelRatio);\n };\n }, [ratio]);\n\n return { supported, ratio };\n};\n"],"names":["useDevicePixelRatio","_window$devicePixelRa","supported","window","matchMedia","devicePixelRatio","_useState","useState","_useState2","_slicedToArray","ratio","setRatio","useEffect","updatePixelRatio","media","concat","addEventListener","removeEventListener"],"mappings":";oHAoBaA,EAAsB,WAAiC,IAAAC,EAC5DC,EACc,oBAAXC,QACsB,mBAAtBA,OAAOC,YACqB,iBAA5BD,OAAOE,iBAEhBC,EAA0BC,UAAQN,EAASE,OAAOE,wBAAgB,IAAAJ,EAAAA,EAAI,GAAEO,EAAAC,EAAAH,EAAA,GAAjEI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GActB,OAZAI,GAAU,WACR,GAAKV,EAAL,CAEA,IAAMW,EAAmB,WAAH,OAASF,EAASR,OAAOE,iBAAiB,EAE1DS,EAAQX,OAAOC,WAAU,gBAAAW,OAAiBZ,OAAOE,iBAAgB,UAEvE,OADAS,EAAME,iBAAiB,SAAUH,GAC1B,WACLC,EAAMG,oBAAoB,SAAUJ,EACrC,CARe,CASlB,GAAG,CAACH,IAEG,CAAER,UAAAA,EAAWQ,MAAAA,EACtB"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.87 */
|
|
2
2
|
import{useRef as r}from"react";import{useIsomorphicLayoutEffect as t}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var o=function(o,e){var i=r(!0);t((function(){if(!i.current){var r=o();return r&&"function"==typeof r?r:void 0}i.current=!1}),e)};export{o as useDidUpdate};
|
|
3
3
|
//# sourceMappingURL=useDidUpdate.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
import{_ as n}from"../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.87 */
|
|
2
|
+
import{_ as n}from"../../_rollupPluginBabelHelpers-B8S6IKRR.js";import{useState as r}from"react";var o=function(){var o=arguments.length>1?arguments[1]:void 0,l=r(arguments.length>0&&void 0!==arguments[0]&&arguments[0]),e=n(l,2),t=e[0],u=e[1],i=function(){return u((function(n){var r;return n||(null==o||null===(r=o.onOpen)||void 0===r||r.call(o),!0)}))},c=function(){return u((function(n){var r;return n?(null==o||null===(r=o.onClose)||void 0===r||r.call(o),!1):n}))};return{opened:t,open:i,close:c,toggle:function(){return t?c():i()}}};export{o as useDisclosure};
|
|
3
3
|
//# sourceMappingURL=useDisclosure.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
import{useEventListener as e}from"../useEventListener/useEventListener.js";import"../../
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.87 */
|
|
2
|
+
import{useEventListener as e}from"../useEventListener/useEventListener.js";import"react";import"../../utils/helpers/getElement.js";import"../../utils/helpers/isClient.js";import"../useEvent/useEvent.js";import"../useRefState/useRefState.js";import"../useRerender/useRerender.js";var t=function(t,r,s){return e(document,t,r,s)};export{t as useDocumentEvent};
|
|
3
3
|
//# sourceMappingURL=useDocumentEvent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDocumentEvent.js","sources":["../../../../src/hooks/useDocumentEvent/useDocumentEvent.ts"],"sourcesContent":["import type { UseEventListenerOptions } from '../useEventListener/useEventListener';\n\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/**\n * @name useDocumentEvent\n * @description - Hook attaches an event listener to the document object for the specified event\n * @category Browser\n *\n * @template Event Key of document event map.\n * @param {Event} event The event to listen for.\n * @param {(event: DocumentEventMap[Event]) => void} listener The callback function to be executed when the event is triggered\n * @param {UseEventListenerOptions} [options] The options for the event listener\n * @returns {void}\n *\n * @example\n * useDocumentEvent('click', () => console.log('clicked'));\n */\nexport const useDocumentEvent = <Event extends keyof DocumentEventMap>(\n event: Event,\n listener: (this: Document, event: DocumentEventMap[Event]) => any,\n options?: UseEventListenerOptions\n) => useEventListener(document, event, listener, options);\n"],"names":["useDocumentEvent","event","listener","options","useEventListener","document"],"mappings":";
|
|
1
|
+
{"version":3,"file":"useDocumentEvent.js","sources":["../../../../src/hooks/useDocumentEvent/useDocumentEvent.ts"],"sourcesContent":["import type { UseEventListenerOptions } from '../useEventListener/useEventListener';\n\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/**\n * @name useDocumentEvent\n * @description - Hook attaches an event listener to the document object for the specified event\n * @category Browser\n *\n * @template Event Key of document event map.\n * @param {Event} event The event to listen for.\n * @param {(event: DocumentEventMap[Event]) => void} listener The callback function to be executed when the event is triggered\n * @param {UseEventListenerOptions} [options] The options for the event listener\n * @returns {void}\n *\n * @example\n * useDocumentEvent('click', () => console.log('clicked'));\n */\nexport const useDocumentEvent = <Event extends keyof DocumentEventMap>(\n event: Event,\n listener: (this: Document, event: DocumentEventMap[Event]) => any,\n options?: UseEventListenerOptions\n) => useEventListener(document, event, listener, options);\n"],"names":["useDocumentEvent","event","listener","options","useEventListener","document"],"mappings":";uRAkBO,IAAMA,EAAmB,SAC9BC,EACAC,EACAC,GAAiC,OAC9BC,EAAiBC,SAAUJ,EAAOC,EAAUC,EAAQ"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
import{_ as t}from"../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.87 */
|
|
2
|
+
import{_ as t}from"../../_rollupPluginBabelHelpers-B8S6IKRR.js";import{useRef as e,useState as r}from"react";import{useIsomorphicLayoutEffect as o}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import{useMutationObserver as n}from"../useMutationObserver/useMutationObserver.js";import"../../utils/helpers/isClient.js";import"../../utils/helpers/getElement.js";import"../useRefState/useRefState.js";import"../useRerender/useRerender.js";function u(u,i){var s=e(document.title),l=r(null!=u?u:document.title),m=t(l,2),c=m[0],f=m[1];n(document.head.querySelector("title"),(function(){document&&document.title!==c&&f(document.title)}),{childList:!0}),o((function(){if(null!=i&&i.restoreOnUnmount)return function(){document.title=s.current}}),[]);var p=function(t){var e=t.trim();e.length>0&&(document.title=e)};return o((function(){"string"==typeof u&&p(u)}),[u]),[c,p]}export{u as useDocumentTitle};
|
|
3
3
|
//# sourceMappingURL=useDocumentTitle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDocumentTitle.js","sources":["../../../../src/hooks/useDocumentTitle/useDocumentTitle.ts"],"sourcesContent":["import { useRef, useState } from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\nimport { useMutationObserver } from '../useMutationObserver/useMutationObserver';\n\n/** The use document title options type */\nexport interface UseDocumentTitleOptions {\n /** Restore the previous title on unmount */\n restoreOnUnmount?: boolean;\n}\n\n/** The use document title return type */\nexport type UseDocumentTitleReturn = [\n /** The current title */\n title: string,\n\n /** Function to update the title */\n setTitle: (title: string) => void\n];\n\n/**\n * @name useDocumentTitle\n * @description - Hook that manages the document title and allows updating it\n * @category Browser\n *\n * @param {string} [value] The initial title. If not provided, the current document title will be used\n * @param {boolean} [options.restoreOnUnmount] Restore the previous title on unmount\n * @returns {UseDocumentTitleReturn} An array containing the current title and a function to update the title\n *\n * @example\n * const [title, setTitle] = useDocumentTitle();\n */\nexport function useDocumentTitle(\n value?: string,\n options?: UseDocumentTitleOptions\n): UseDocumentTitleReturn {\n const prevTitleRef = useRef(document.title);\n const [title, setTitle] = useState(value ?? document.title);\n\n useMutationObserver(\n document.head.querySelector('title')!,\n () => {\n if (document && document.title !== title) {\n setTitle(document.title);\n }\n },\n { childList: true }\n );\n\n useIsomorphicLayoutEffect(() => {\n if (options?.restoreOnUnmount) {\n return () => {\n document.title = prevTitleRef.current;\n };\n }\n }, []);\n\n const set = (value: string) => {\n const updatedValue = value.trim();\n if (updatedValue.length > 0) document.title = updatedValue;\n };\n\n useIsomorphicLayoutEffect(() => {\n if (typeof value !== 'string') return;\n set(value);\n }, [value]);\n\n return [title, set];\n}\n"],"names":["useDocumentTitle","value","options","prevTitleRef","useRef","document","title","_useState","useState","_useState2","_slicedToArray","setTitle","useMutationObserver","head","querySelector","childList","useIsomorphicLayoutEffect","restoreOnUnmount","current","set","updatedValue","trim","length"],"mappings":";
|
|
1
|
+
{"version":3,"file":"useDocumentTitle.js","sources":["../../../../src/hooks/useDocumentTitle/useDocumentTitle.ts"],"sourcesContent":["import { useRef, useState } from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\nimport { useMutationObserver } from '../useMutationObserver/useMutationObserver';\n\n/** The use document title options type */\nexport interface UseDocumentTitleOptions {\n /** Restore the previous title on unmount */\n restoreOnUnmount?: boolean;\n}\n\n/** The use document title return type */\nexport type UseDocumentTitleReturn = [\n /** The current title */\n title: string,\n\n /** Function to update the title */\n setTitle: (title: string) => void\n];\n\n/**\n * @name useDocumentTitle\n * @description - Hook that manages the document title and allows updating it\n * @category Browser\n *\n * @param {string} [value] The initial title. If not provided, the current document title will be used\n * @param {boolean} [options.restoreOnUnmount] Restore the previous title on unmount\n * @returns {UseDocumentTitleReturn} An array containing the current title and a function to update the title\n *\n * @example\n * const [title, setTitle] = useDocumentTitle();\n */\nexport function useDocumentTitle(\n value?: string,\n options?: UseDocumentTitleOptions\n): UseDocumentTitleReturn {\n const prevTitleRef = useRef(document.title);\n const [title, setTitle] = useState(value ?? document.title);\n\n useMutationObserver(\n document.head.querySelector('title')!,\n () => {\n if (document && document.title !== title) {\n setTitle(document.title);\n }\n },\n { childList: true }\n );\n\n useIsomorphicLayoutEffect(() => {\n if (options?.restoreOnUnmount) {\n return () => {\n document.title = prevTitleRef.current;\n };\n }\n }, []);\n\n const set = (value: string) => {\n const updatedValue = value.trim();\n if (updatedValue.length > 0) document.title = updatedValue;\n };\n\n useIsomorphicLayoutEffect(() => {\n if (typeof value !== 'string') return;\n set(value);\n }, [value]);\n\n return [title, set];\n}\n"],"names":["useDocumentTitle","value","options","prevTitleRef","useRef","document","title","_useState","useState","_useState2","_slicedToArray","setTitle","useMutationObserver","head","querySelector","childList","useIsomorphicLayoutEffect","restoreOnUnmount","current","set","updatedValue","trim","length"],"mappings":";qcAgCO,SAASA,EACdC,EACAC,GAEA,IAAMC,EAAeC,EAAOC,SAASC,OACrCC,EAA0BC,EAASP,QAAAA,EAASI,SAASC,OAAMG,EAAAC,EAAAH,EAAA,GAApDD,EAAKG,EAAA,GAAEE,EAAQF,EAAA,GAEtBG,EACEP,SAASQ,KAAKC,cAAc,UAC5B,WACMT,UAAYA,SAASC,QAAUA,GACjCK,EAASN,SAASC,MAEtB,GACA,CAAES,WAAW,IAGfC,GAA0B,WACxB,GAAId,SAAAA,EAASe,iBACX,OAAO,WACLZ,SAASC,MAAQH,EAAae,OAC/B,CAEJ,GAAE,IAEH,IAAMC,EAAM,SAAClB,GACX,IAAMmB,EAAenB,EAAMoB,OACvBD,EAAaE,OAAS,IAAGjB,SAASC,MAAQc,EAC/C,EAOD,OALAJ,GAA0B,WACH,iBAAVf,GACXkB,EAAIlB,EACN,GAAG,CAACA,IAEG,CAACK,EAAOa,EACjB"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.87 */
|
|
2
2
|
import{useSyncExternalStore as n}from"react";var t=function(){return document.visibilityState},e=function(){return"hidden"},i=function(n){return document.addEventListener("visibilitychange",n),function(){document.removeEventListener("visibilitychange",n)}},r=function(){return n(i,t,e)};export{r as useDocumentVisibility};
|
|
3
3
|
//# sourceMappingURL=useDocumentVisibility.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
import{_ as e}from"../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.87 */
|
|
2
|
+
import{_ as e}from"../../_rollupPluginBabelHelpers-B8S6IKRR.js";import{useState as r,useEffect as t}from"react";import{getElement as i}from"../../utils/helpers/getElement.js";import"../../utils/helpers/isClient.js";import{isTarget as n}from"../../utils/helpers/isTarget.js";import{useRefState as o}from"../useRefState/useRefState.js";import"../useRerender/useRerender.js";var s=function(){var s=n(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,l=s?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],u=r(null!=l?l:{width:0,height:0}),h=e(u,2),f=h[0],v=h[1],a=o();return t((function(){if(s||a.current){var r=s?i(s):a.current;if(r){var t=new ResizeObserver((function(r){var t=e(r,1)[0].contentRect,i=t.width,n=t.height;v({width:i,height:n})}));return r&&t.observe(r),function(){t.disconnect()}}}}),[a.current,s]),s?{value:f}:{ref:a,value:f}};export{s as useElementSize};
|
|
3
3
|
//# sourceMappingURL=useElementSize.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useElementSize.js","sources":["../../../../src/hooks/useElementSize/useElementSize.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect, useState } from 'react';\n\nimport { getElement } from '@/utils/helpers';\n\n
|
|
1
|
+
{"version":3,"file":"useElementSize.js","sources":["../../../../src/hooks/useElementSize/useElementSize.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect, 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 element size value type */\nexport interface UseElementSizeValue {\n /** The element's height */\n height: number;\n /** The element's width */\n width: number;\n}\n\n/** The use element size target element type */\nexport type UseElementSizeTarget = string | Element | RefObject<Element | null | undefined>;\n\n/** The use element size return type */\nexport interface UseElementSizeReturn {\n value: UseElementSizeValue;\n}\n\nexport interface UseElementSize {\n <Target extends UseElementSizeTarget>(\n target: Target,\n initialValue?: UseElementSizeValue\n ): UseElementSizeReturn;\n\n <Target extends UseElementSizeTarget>(\n initialValue?: UseElementSizeValue,\n target?: never\n ): { ref: StateRef<Target> } & UseElementSizeReturn;\n}\n\n/**\n * @name useElementSize\n * @description - Hook that observes and returns the width and height of element\n * @category Elements\n *\n * @overload\n * @template Target The target element type\n * @param {UseElementSizeTarget} target The target element to observe\n * @param {UseElementSizeValue} [initialValue] The initial size of the element.\n * @returns {UseElementSizeReturn} An object containing the current width and height of the element\n *\n * @example\n * const { value } = useElementSize(ref);\n *\n * @overload\n * @param {UseElementSizeValue} [initialValue] The initial size of the element\n * @returns { { ref: StateRef<Target> } & UseElementSizeReturn } An object containing the current width and height of the element\n *\n * @example\n * const { ref, value } = useElementSize();\n */\nexport const useElementSize = ((...params: any[]) => {\n const target = (isTarget(params[0]) ? params[0] : undefined) as UseElementSizeTarget | undefined;\n const initialValue = (target ? params[1] : params[0]) as UseElementSizeTarget | undefined;\n\n const [size, setSize] = useState(initialValue ?? { width: 0, height: 0 });\n const internalRef = useRefState<Element>();\n\n useEffect(() => {\n if (!target && !internalRef.current) return;\n const element = (target ? getElement(target) : internalRef.current) as Element;\n\n if (!element) return;\n\n const observer = new ResizeObserver(([entry]) => {\n const { width, height } = entry.contentRect;\n setSize({ width, height });\n });\n\n if (element) observer.observe(element);\n\n return () => {\n observer.disconnect();\n };\n }, [internalRef.current, target]);\n\n if (target) return { value: size };\n return {\n ref: internalRef,\n value: size\n };\n}) as UseElementSize;\n"],"names":["useElementSize","target","isTarget","arguments","length","undefined","initialValue","_useState","useState","width","height","_useState2","_slicedToArray","size","setSize","internalRef","useRefState","useEffect","current","element","getElement","observer","ResizeObserver","_ref","_entry$contentRect","contentRect","observe","disconnect","value","ref"],"mappings":";wXA2DaA,EAAkB,WAC7B,IAAMC,EAAUC,EAAQC,UAAAC,QAAAC,OAAAA,EAAAF,cAAWA,UAAAC,eAAAC,EAAAF,UAAA,QAAeE,EAC5CC,EAAgBL,EAAME,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAA6D,GAEzFI,EAAwBC,EAASF,QAAAA,EAAgB,CAAEG,MAAO,EAAGC,OAAQ,IAAIC,EAAAC,EAAAL,EAAA,GAAlEM,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GACdI,EAAcC,IAoBpB,OAlBAC,GAAU,WACR,GAAKhB,GAAWc,EAAYG,QAA5B,CACA,IAAMC,EAAWlB,EAASmB,EAAWnB,GAAUc,EAAYG,QAE3D,GAAKC,EAAL,CAEA,IAAME,EAAW,IAAIC,gBAAe,SAAAC,GAAa,IAC/CC,EAD+CZ,EAAAW,EAAA,GAAN,GACTE,YAAxBhB,EAAKe,EAALf,MAAOC,EAAMc,EAANd,OACfI,EAAQ,CAAEL,MAAAA,EAAOC,OAAAA,GACnB,IAIA,OAFIS,GAASE,EAASK,QAAQP,GAEvB,WACLE,EAASM,YACV,CAXa,CAHuB,CAetC,GAAE,CAACZ,EAAYG,QAASjB,IAErBA,EAAe,CAAE2B,MAAOf,GACrB,CACLgB,IAAKd,EACLa,MAAOf,EAEX"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.87 */
|
|
2
2
|
import{useRef as r,useCallback as t}from"react";var n=function(n){var e=r(n);return e.current=n,t((function(){return e.current.apply(void 0,arguments)}),[])};export{n as useEvent};
|
|
3
3
|
//# sourceMappingURL=useEvent.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
import{
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.87 */
|
|
2
|
+
import{useEffect as e}from"react";import{getElement as t}from"../../utils/helpers/getElement.js";import"../../utils/helpers/isClient.js";import{useEvent as r}from"../useEvent/useEvent.js";import{useRefState as n}from"../useRefState/useRefState.js";import"../useRerender/useRerender.js";var i=function(){var i=(arguments.length<=1?void 0:arguments[1])instanceof Function||arguments.length<=0?void 0:arguments[0],o=i?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],u=Array.isArray(o)?o:[o],s=i?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],f=i?arguments.length<=3?void 0:arguments[3]:arguments.length<=2?void 0:arguments[2],v=n(window),l=r(s);if(e((function(){var e=function(e){return l(e)},r=i?t(i):v.current;if(r)return u.forEach((function(t){return r.addEventListener(t,e,f)})),function(){u.forEach((function(t){return r.removeEventListener(t,e,f)}))}}),[i,v.current,o,f]),!i)return v};export{i as useEventListener};
|
|
3
3
|
//# sourceMappingURL=useEventListener.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEventListener.js","sources":["../../../../src/hooks/useEventListener/useEventListener.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect
|
|
1
|
+
{"version":3,"file":"useEventListener.js","sources":["../../../../src/hooks/useEventListener/useEventListener.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect } from 'react';\n\nimport { getElement } from '@/utils/helpers';\n\nimport { useEvent } from '../useEvent/useEvent';\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The use event listener target type */\nexport type UseEventListenerTarget =\n | string\n | Document\n | Element\n | RefObject<Element | null | undefined>\n | Window;\n\n/** The use event listener options */\nexport type UseEventListenerOptions = boolean | AddEventListenerOptions;\n\n/** The use event listener return type */\nexport type UseEventListenerReturn<Target extends UseEventListenerTarget> = RefObject<Target>;\n\nexport interface UseEventListener {\n <Event extends keyof WindowEventMap = keyof WindowEventMap>(\n target: Window,\n event: Event | Event[],\n listener: (this: Window, event: WindowEventMap[Event]) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Event extends keyof DocumentEventMap = keyof DocumentEventMap>(\n target: Document,\n event: Event | Event[],\n listener: (this: Document, event: DocumentEventMap[Event]) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <\n Target extends UseEventListenerTarget,\n Event extends keyof HTMLElementEventMap = keyof HTMLElementEventMap\n >(\n target: Target,\n event: Event | Event[],\n listener: (this: Target, event: HTMLElementEventMap[Event]) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Target extends Element, Event extends keyof HTMLElementEventMap = keyof HTMLElementEventMap>(\n event: Event | Event[],\n listener: (this: Target, event: HTMLElementEventMap[Event]) => void,\n options?: UseEventListenerOptions,\n target?: never\n ): UseEventListenerReturn<Target>;\n\n <\n Target extends Element,\n Event extends keyof MediaQueryListEventMap = keyof MediaQueryListEventMap\n >(\n event: Event | Event[],\n listener: (this: Target, event: MediaQueryListEventMap[Event]) => void,\n options?: UseEventListenerOptions,\n target?: never\n ): UseEventListenerReturn<Target>;\n}\n\n/**\n * @name useEventListener\n * @description - Hook that attaches an event listener to the specified target\n * @category Browser\n *\n * @overload\n * @template Event Key of window event map\n * @param {Window} target The window object to attach the event listener to\n * @param {Event | Event[]} event An array of event types to listen for\n * @param {(this: Window, event: WindowEventMap[Event]) => void} handler The event handler function\n * @param {UseEventListenerOptions} [options] Options for the event listener\n * @returns {void}\n *\n * @example\n * useEventListener(window, 'click', () => console.log('click'));\n *\n * @overload\n * @template Event Key of window event map\n * @param {Document} target The window object to attach the event listener to\n * @param {Event | Event[]} event An array of event types to listen for\n * @param {(this: Document, event: DocumentEventMap[Event]) => void} handler The event handler function\n * @param {UseEventListenerOptions} [options] Options for the event listener\n * @returns {void}\n *\n * @example\n * useEventListener(document, 'click', () => console.log('click'));\n *\n * @overload\n * @template Event Key of window event map\n * @template Target The target element\n * @param {Target} target The target element to attach the event listener to\n * @param {Event | Event[]} event An array of event types to listen for\n * @param {(this: Target, event: HTMLElementEventMap[Event]) => void} handler The event handler function\n * @param {UseEventListenerOptions} [options] Options for the event listener\n * @returns {void}\n *\n * @example\n * useEventListener(ref, 'click', () => console.log('click'));\n *\n * @overload\n * @template Event Key of window event map\n * @template Target The target element\n * @param {Event | Event[]} event An array of event types to listen for\n * @param {(this: Target, event: HTMLElementEventMap[Event] | MediaQueryListEventMap[Event]) => void} handler The event handler function\n * @param {UseEventListenerOptions} [options] Options for the event listener\n * @returns {UseEventListenerReturn<Target>} A reference to the target element\n *\n * @example\n * const ref = useEventListener('click', () => console.log('click'));\n */\nexport const useEventListener = ((...params: any[]) => {\n const target = (params[1] instanceof Function ? undefined : params[0]) as\n | UseEventListenerTarget\n | undefined;\n const event = (target ? params[1] : params[0]) as string | string[];\n const events = Array.isArray(event) ? event : [event];\n const listener = (target ? params[2] : params[1]) as (...arg: any[]) => undefined | void;\n const options = (target ? params[3] : params[2]) as UseEventListenerOptions | undefined;\n\n const internalRef = useRefState(window);\n const internalListener = useEvent(listener);\n\n useEffect(() => {\n const callback = (event: Event) => internalListener(event);\n const element = target ? getElement(target) : internalRef.current;\n\n if (!element) return;\n\n events.forEach((event) => element.addEventListener(event, callback, options));\n return () => {\n events.forEach((event) => element.removeEventListener(event, callback, options));\n };\n }, [target, internalRef.current, event, options]);\n\n if (target) return;\n return internalRef;\n}) as UseEventListener;\n"],"names":["useEventListener","target","arguments","length","undefined","Function","event","events","Array","isArray","listener","options","internalRef","useRefState","window","internalListener","useEvent","useEffect","callback","element","getElement","current","forEach","addEventListener","removeEventListener"],"mappings":";kSAoHaA,EAAoB,WAC/B,IAAMC,GAAUC,UAAAC,QAAA,OAAAC,EAAAF,UAAA,cAAqBG,UAAoBH,UAAAC,QAAAC,OAATA,EAASF,UAE5C,GACPI,EAASL,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAA8C,GAC7DK,EAASC,MAAMC,QAAQH,GAASA,EAAQ,CAACA,GACzCI,EAAYT,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAgE,GAClFS,EAAWV,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAgE,GAEjFU,EAAcC,EAAYC,QAC1BC,EAAmBC,EAASN,GAclC,GAZAO,GAAU,WACR,IAAMC,EAAW,SAACZ,GAAY,OAAKS,EAAiBT,EAAM,EACpDa,EAAUlB,EAASmB,EAAWnB,GAAUW,EAAYS,QAE1D,GAAKF,EAGL,OADAZ,EAAOe,SAAQ,SAAChB,GAAK,OAAKa,EAAQI,iBAAiBjB,EAAOY,EAAUP,MAC7D,WACLJ,EAAOe,SAAQ,SAAChB,GAAK,OAAKa,EAAQK,oBAAoBlB,EAAOY,EAAUP,KACxE,CACH,GAAG,CAACV,EAAQW,EAAYS,QAASf,EAAOK,KAEpCV,EACJ,OAAOW,CACT"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
import{_ as r,d as e,e as n}from"../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.87 */
|
|
2
|
+
import{_ as r,d as e,e as n}from"../../_rollupPluginBabelHelpers-B8S6IKRR.js";import{useState as o}from"react";var t=function(){var t="undefined"!=typeof window&&"EyeDropper"in window,p=o(arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0),a=r(p,2),i=a[0],u=a[1],s=function(){var r=e(n().mark((function r(e){var o,t;return n().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(window.EyeDropper){r.next=2;break}throw new Error("EyeDropper is not supported");case 2:return o=new window.EyeDropper,r.next=5,o.open(e);case 5:return t=r.sent,u(t.sRGBHex),r.abrupt("return",t);case 8:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}();return{supported:t,value:i,open:s}};export{t as useEyeDropper};
|
|
3
3
|
//# sourceMappingURL=useEyeDropper.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
import{_ as e}from"../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.87 */
|
|
2
|
+
import{_ as e}from"../../_rollupPluginBabelHelpers-B8S6IKRR.js";import{useState as o}from"react";import{useDidUpdate as t}from"../useDidUpdate/useDidUpdate.js";import{useMount as r}from"../useMount/useMount.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var n=function(n){var i,u=o(null!=n?n:null===(i=document.querySelector('link[rel*="icon"]'))||void 0===i?void 0:i.href),c=e(u,2),l=c[0],p=c[1],s=function(e){var o=document.querySelector('link[rel*="icon"]')||document.createElement("link");o.rel="icon",o.href=e,o.type="image/".concat(e.split(".").pop()),document.head.append(o)};return r((function(){n&&s(n)})),t((function(){n&&(p(n),s(n))}),[n]),{href:l,set:function(e){p(e),s(e)}}};export{n as useFavicon};
|
|
3
3
|
//# sourceMappingURL=useFavicon.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
import{_ as e,d as r,e as n}from"../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.87 */
|
|
2
|
+
import{_ as e,d as r,e as n}from"../../_rollupPluginBabelHelpers-B8S6IKRR.js";import{useRef as t,useState as u}from"react";import{useRerender as i}from"../useRerender/useRerender.js";var a=function(a){var l,c,o=null!==(l=null==a?void 0:a.initialValue)&&void 0!==l?l:"",v=t(),d=t(!1),f=i(),s=u(!1),m=e(s,2),p=m[0],h=m[1],g=u(null!==(c=null==a?void 0:a.initialTouched)&&void 0!==c&&c),x=e(g,2),k=x[0],b=x[1],y=u(void 0),L=e(y,2),V=L[0],w=L[1],B=function(){var e,r,n,t;return"radio"===(null===(e=v.current)||void 0===e?void 0:e.type)||"checkbox"===(null===(r=v.current)||void 0===r?void 0:r.type)?v.current.checked:null!==(n=null===(t=v.current)||void 0===t?void 0:t.value)&&void 0!==n?n:o},C=function(e){var r,n;return"radio"===(null===(r=v.current)||void 0===r?void 0:r.type)||"checkbox"===(null===(n=v.current)||void 0===n?void 0:n.type)?(v.current.checked=e,d.current?f():void 0):(v.current.value=e,d.current?f():void 0)},O=function(e){if(e.required&&!v.current.value)return w(e.required);if(e.minLength&&v.current.value.length<e.minLength.value)return w(e.minLength.message);if(e.maxLength&&v.current.value.length>e.maxLength.value)return w(e.maxLength.message);if(e.min&&Number(v.current.value)<e.min.value)return w(e.min.message);if(e.max&&Number(v.current.value)>e.max.value)return w(e.max.message);if(e.pattern&&!e.pattern.value.test(v.current.value))return w(e.pattern.message);if(e.validate){var r=e.validate(v.current.value);if("string"==typeof r)return w(r)}w(void 0)};return{register:function(e){return{ref:function(r){if(!v.current&&r){if(null!=a&&a.autoFocus&&r.focus(),v.current=r,"radio"===v.current.type)return void(v.current.defaultChecked=(null==a?void 0:a.initialValue)===r.value);if("checkbox"===v.current.type)return void(v.current.defaultChecked=!(null==a||!a.initialValue));v.current.defaultValue=String(o),e&&null!=a&&a.validateOnMount&&O(e)}},onChange:(u=r(n().mark((function r(){return n().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(!d.current){r.next=2;break}return r.abrupt("return",f());case 2:if(v.current.value!==o&&h(!0),p&&v.current.value===o&&h(!1),!e||null==a||!a.validateOnChange){r.next=7;break}return r.next=7,O(e);case 7:e&&null!=a&&a.validateOnBlur&&w(void 0);case 8:case"end":return r.stop()}}),r)}))),function(){return u.apply(this,arguments)}),onBlur:(t=r(n().mark((function r(){return n().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(!e||null==a||!a.validateOnBlur){r.next=3;break}return r.next=3,O(e);case 3:b(!0);case 4:case"end":return r.stop()}}),r)}))),function(){return t.apply(this,arguments)})};var t,u},dirty:p,touched:k,error:V,setError:w,clearError:function(){return w(void 0)},getValue:B,setValue:C,reset:function(){C(o),h(!1),b(!1),w(void 0)},watch:function(){return d.current=!0,B()},focus:function(){v.current.focus()}}};export{a as useField};
|
|
3
3
|
//# sourceMappingURL=useField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useField.js","sources":["../../../../src/hooks/useField/useField.ts"],"sourcesContent":["import { useRef, useState } from 'react';\n\nimport { useRerender } from '../useRerender/useRerender';\n\n/** The use field params type */\nexport interface UseFieldParams<Value> {\n /** The auto focus */\n autoFocus?: boolean;\n /** The initial touched */\n initialTouched?: boolean;\n /** The initial value */\n initialValue?: Value;\n /** The validate on blur */\n validateOnBlur?: boolean;\n /** The validate on mount */\n validateOnChange?: boolean;\n /** The validate on mount */\n validateOnMount?: boolean;\n}\n\n/** The use field register params type */\nexport interface UseFieldRegisterParams {\n /** The required validation */\n required?: string;\n /** The custom validation */\n validate?: (value: string) => Promise<string | true>;\n /** The min value validation */\n max?: {\n value: number;\n message: string;\n };\n /** The max length validation */\n maxLength?: {\n value: number;\n message: string;\n };\n /** The max value validation */\n min?: {\n value: number;\n message: string;\n };\n /** The min length validation */\n minLength?: {\n value: number;\n message: string;\n };\n /** The pattern validation */\n pattern?: {\n value: RegExp;\n message: string;\n };\n}\n\n/** The use field return type */\nexport interface UseFieldReturn<Value> {\n /** The dirty state */\n dirty: boolean;\n /** The error state */\n error?: string;\n /** The set error function */\n touched: boolean;\n /** The set error function */\n clearError: () => void;\n /** The focus function */\n focus: () => void;\n /** The get value function */\n getValue: () => Value;\n /** The register function */\n register: (params?: UseFieldRegisterParams) => {\n onBlur: () => void;\n onChange: () => void;\n ref: (\n node: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement | null | undefined\n ) => void;\n };\n /** The reset function */\n reset: () => void;\n /** The set error function */\n setError: (error: string) => void;\n /** The set value function */\n setValue: (value: Value) => void;\n /** The watch function */\n watch: () => Value;\n}\n\n/**\n * @name useField\n * @description - Hook to manage a form field\n * @category Utilities\n *\n * @template Value The input value\n * @template Type The input value type\n * @param {Value} [params.initialValue] Initial value\n * @param {boolean} [params.initialTouched=false] Initial touched state\n * @param {boolean} [params.autoFocus=false] Auto focus\n * @param {boolean} [params.validateOnChange=false] Validate on change\n * @param {boolean} [params.validateOnBlur=false] Validate on blur\n * @param {boolean} [params.validateOnMount=false] Validate on mount\n * @returns {UseFieldReturn<Value>} An object containing input information\n *\n * @example\n * const { register, getValue, setValue, reset, dirty, error, setError, clearError, touched, focus, watch } = useField();\n */\nexport const useField = <\n Value extends boolean | number | string = string,\n Type = Value extends string ? string : Value extends boolean ? boolean : number\n>(\n params?: UseFieldParams<Value>\n): UseFieldReturn<Type> => {\n const initialValue = (params?.initialValue ?? '') as Value;\n\n const inputRef = useRef<HTMLInputElement>();\n const watchingRef = useRef(false);\n const rerender = useRerender();\n\n const [dirty, setDirty] = useState(false);\n const [touched, setTouched] = useState(params?.initialTouched ?? false);\n const [error, setError] = useState<string | undefined>(undefined);\n\n const getValue = () => {\n if (inputRef.current?.type === 'radio' || inputRef.current?.type === 'checkbox')\n return inputRef.current.checked as Type;\n return (inputRef.current?.value ?? initialValue) as Type;\n };\n\n const setValue = (value: Type) => {\n if (inputRef.current?.type === 'radio' || inputRef.current?.type === 'checkbox') {\n inputRef.current.checked = value as boolean;\n if (watchingRef.current) return rerender.update();\n return;\n }\n\n inputRef.current!.value = value as string;\n if (watchingRef.current) return rerender.update();\n };\n\n const reset = () => {\n setValue(initialValue as unknown as Type);\n setDirty(false);\n setTouched(false);\n setError(undefined);\n };\n\n const focus = () => {\n inputRef.current!.focus();\n };\n\n const validate = (params: UseFieldRegisterParams) => {\n if (params.required && !inputRef.current!.value) {\n return setError(params.required);\n }\n\n if (params.minLength && inputRef.current!.value.length < params.minLength.value) {\n return setError(params.minLength.message);\n }\n\n if (params.maxLength && inputRef.current!.value.length > params.maxLength.value) {\n return setError(params.maxLength.message);\n }\n\n if (params.min && Number(inputRef.current!.value) < params.min.value) {\n return setError(params.min.message);\n }\n\n if (params.max && Number(inputRef.current!.value) > params.max.value) {\n return setError(params.max.message);\n }\n\n if (params.pattern && !params.pattern.value.test(inputRef.current!.value)) {\n return setError(params.pattern.message);\n }\n\n if (params.validate) {\n const error = params.validate(inputRef.current!.value);\n if (typeof error === 'string') return setError(error);\n }\n\n setError(undefined);\n };\n\n const register = (registerParams?: UseFieldRegisterParams) => ({\n ref: (node: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement | null | undefined) => {\n if (!inputRef.current && node) {\n if (params?.autoFocus) node.focus();\n inputRef.current = node as HTMLInputElement;\n if (inputRef.current.type === 'radio') {\n inputRef.current.defaultChecked = params?.initialValue === node.value;\n return;\n }\n if (inputRef.current.type === 'checkbox') {\n inputRef.current.defaultChecked = !!params?.initialValue;\n return;\n }\n inputRef.current.defaultValue = String(initialValue);\n\n if (registerParams && params?.validateOnMount) validate(registerParams);\n }\n },\n onChange: async () => {\n if (watchingRef.current) return rerender.update();\n if (inputRef.current!.value !== initialValue) setDirty(true);\n if (dirty && inputRef.current!.value === initialValue) setDirty(false);\n if (registerParams && params?.validateOnChange) await validate(registerParams);\n if (registerParams && params?.validateOnBlur) setError(undefined);\n },\n onBlur: async () => {\n if (registerParams && params?.validateOnBlur) await validate(registerParams);\n setTouched(true);\n }\n });\n\n const watch = () => {\n watchingRef.current = true;\n return getValue();\n };\n\n const clearError = () => setError(undefined);\n\n return {\n register,\n dirty,\n touched,\n error,\n setError,\n clearError,\n getValue,\n setValue,\n reset,\n watch,\n focus\n };\n};\n"],"names":["useField","params","_params$initialValue","_params$initialTouche","initialValue","inputRef","useRef","watchingRef","rerender","useRerender","_useState","useState","_useState2","_slicedToArray","dirty","setDirty","_useState3","initialTouched","_useState4","touched","setTouched","_useState5","undefined","_useState6","error","setError","getValue","_inputRef$current","_inputRef$current2","_inputRef$current$val","_inputRef$current3","current","type","checked","value","setValue","_inputRef$current4","_inputRef$current5","update","validate","required","minLength","length","message","maxLength","min","Number","max","pattern","test","register","registerParams","ref","node","autoFocus","focus","defaultChecked","defaultValue","String","validateOnMount","onChange","_onChange","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","abrupt","validateOnChange","validateOnBlur","stop","apply","this","arguments","onBlur","_onBlur","_callee2","_context2","clearError","reset","watch"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useField.js","sources":["../../../../src/hooks/useField/useField.ts"],"sourcesContent":["import { useRef, useState } from 'react';\n\nimport { useRerender } from '../useRerender/useRerender';\n\n/** The use field params type */\nexport interface UseFieldParams<Value> {\n /** The auto focus */\n autoFocus?: boolean;\n /** The initial touched */\n initialTouched?: boolean;\n /** The initial value */\n initialValue?: Value;\n /** The validate on blur */\n validateOnBlur?: boolean;\n /** The validate on mount */\n validateOnChange?: boolean;\n /** The validate on mount */\n validateOnMount?: boolean;\n}\n\n/** The use field register params type */\nexport interface UseFieldRegisterParams {\n /** The required validation */\n required?: string;\n /** The custom validation */\n validate?: (value: string) => Promise<string | true>;\n /** The min value validation */\n max?: {\n value: number;\n message: string;\n };\n /** The max length validation */\n maxLength?: {\n value: number;\n message: string;\n };\n /** The max value validation */\n min?: {\n value: number;\n message: string;\n };\n /** The min length validation */\n minLength?: {\n value: number;\n message: string;\n };\n /** The pattern validation */\n pattern?: {\n value: RegExp;\n message: string;\n };\n}\n\n/** The use field return type */\nexport interface UseFieldReturn<Value> {\n /** The dirty state */\n dirty: boolean;\n /** The error state */\n error?: string;\n /** The set error function */\n touched: boolean;\n /** The set error function */\n clearError: () => void;\n /** The focus function */\n focus: () => void;\n /** The get value function */\n getValue: () => Value;\n /** The register function */\n register: (params?: UseFieldRegisterParams) => {\n onBlur: () => void;\n onChange: () => void;\n ref: (\n node: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement | null | undefined\n ) => void;\n };\n /** The reset function */\n reset: () => void;\n /** The set error function */\n setError: (error: string) => void;\n /** The set value function */\n setValue: (value: Value) => void;\n /** The watch function */\n watch: () => Value;\n}\n\n/**\n * @name useField\n * @description - Hook to manage a form field\n * @category Utilities\n *\n * @template Value The input value\n * @template Type The input value type\n * @param {Value} [params.initialValue] Initial value\n * @param {boolean} [params.initialTouched=false] Initial touched state\n * @param {boolean} [params.autoFocus=false] Auto focus\n * @param {boolean} [params.validateOnChange=false] Validate on change\n * @param {boolean} [params.validateOnBlur=false] Validate on blur\n * @param {boolean} [params.validateOnMount=false] Validate on mount\n * @returns {UseFieldReturn<Value>} An object containing input information\n *\n * @example\n * const { register, getValue, setValue, reset, dirty, error, setError, clearError, touched, focus, watch } = useField();\n */\nexport const useField = <\n Value extends boolean | number | string = string,\n Type = Value extends string ? string : Value extends boolean ? boolean : number\n>(\n params?: UseFieldParams<Value>\n): UseFieldReturn<Type> => {\n const initialValue = (params?.initialValue ?? '') as Value;\n\n const inputRef = useRef<HTMLInputElement>();\n const watchingRef = useRef(false);\n const rerender = useRerender();\n\n const [dirty, setDirty] = useState(false);\n const [touched, setTouched] = useState(params?.initialTouched ?? false);\n const [error, setError] = useState<string | undefined>(undefined);\n\n const getValue = () => {\n if (inputRef.current?.type === 'radio' || inputRef.current?.type === 'checkbox')\n return inputRef.current.checked as Type;\n return (inputRef.current?.value ?? initialValue) as Type;\n };\n\n const setValue = (value: Type) => {\n if (inputRef.current?.type === 'radio' || inputRef.current?.type === 'checkbox') {\n inputRef.current.checked = value as boolean;\n if (watchingRef.current) return rerender();\n return;\n }\n\n inputRef.current!.value = value as string;\n if (watchingRef.current) return rerender();\n };\n\n const reset = () => {\n setValue(initialValue as unknown as Type);\n setDirty(false);\n setTouched(false);\n setError(undefined);\n };\n\n const focus = () => {\n inputRef.current!.focus();\n };\n\n const validate = (params: UseFieldRegisterParams) => {\n if (params.required && !inputRef.current!.value) {\n return setError(params.required);\n }\n\n if (params.minLength && inputRef.current!.value.length < params.minLength.value) {\n return setError(params.minLength.message);\n }\n\n if (params.maxLength && inputRef.current!.value.length > params.maxLength.value) {\n return setError(params.maxLength.message);\n }\n\n if (params.min && Number(inputRef.current!.value) < params.min.value) {\n return setError(params.min.message);\n }\n\n if (params.max && Number(inputRef.current!.value) > params.max.value) {\n return setError(params.max.message);\n }\n\n if (params.pattern && !params.pattern.value.test(inputRef.current!.value)) {\n return setError(params.pattern.message);\n }\n\n if (params.validate) {\n const error = params.validate(inputRef.current!.value);\n if (typeof error === 'string') return setError(error);\n }\n\n setError(undefined);\n };\n\n const register = (registerParams?: UseFieldRegisterParams) => ({\n ref: (node: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement | null | undefined) => {\n if (!inputRef.current && node) {\n if (params?.autoFocus) node.focus();\n inputRef.current = node as HTMLInputElement;\n if (inputRef.current.type === 'radio') {\n inputRef.current.defaultChecked = params?.initialValue === node.value;\n return;\n }\n if (inputRef.current.type === 'checkbox') {\n inputRef.current.defaultChecked = !!params?.initialValue;\n return;\n }\n inputRef.current.defaultValue = String(initialValue);\n\n if (registerParams && params?.validateOnMount) validate(registerParams);\n }\n },\n onChange: async () => {\n if (watchingRef.current) return rerender();\n if (inputRef.current!.value !== initialValue) setDirty(true);\n if (dirty && inputRef.current!.value === initialValue) setDirty(false);\n if (registerParams && params?.validateOnChange) await validate(registerParams);\n if (registerParams && params?.validateOnBlur) setError(undefined);\n },\n onBlur: async () => {\n if (registerParams && params?.validateOnBlur) await validate(registerParams);\n setTouched(true);\n }\n });\n\n const watch = () => {\n watchingRef.current = true;\n return getValue();\n };\n\n const clearError = () => setError(undefined);\n\n return {\n register,\n dirty,\n touched,\n error,\n setError,\n clearError,\n getValue,\n setValue,\n reset,\n watch,\n focus\n };\n};\n"],"names":["useField","params","_params$initialValue","_params$initialTouche","initialValue","inputRef","useRef","watchingRef","rerender","useRerender","_useState","useState","_useState2","_slicedToArray","dirty","setDirty","_useState3","initialTouched","_useState4","touched","setTouched","_useState5","undefined","_useState6","error","setError","getValue","_inputRef$current","_inputRef$current2","_inputRef$current$val","_inputRef$current3","current","type","checked","value","setValue","_inputRef$current4","_inputRef$current5","validate","required","minLength","length","message","maxLength","min","Number","max","pattern","test","register","registerParams","ref","node","autoFocus","focus","defaultChecked","defaultValue","String","validateOnMount","onChange","_onChange","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","abrupt","validateOnChange","validateOnBlur","stop","apply","this","arguments","onBlur","_onBlur","_callee2","_context2","clearError","reset","watch"],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
import{_ as l}from"../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.87 */
|
|
2
|
+
import{_ as l}from"../../_rollupPluginBabelHelpers-B8S6IKRR.js";import{useState as n,useRef as u,useEffect as e}from"react";var r=!0,t="*",i=!1,o=function(){var o="function"==typeof(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,c=o?arguments.length<=0?void 0:arguments[0]:arguments.length<=1?void 0:arguments[1],v=n(null),d=l(v,2),a=d[0],p=d[1],f=u(),m=u(o);m.current=o;var s=function(){var l;p(null),null===(l=m.current)||void 0===l||l.call(m,null),f.current&&(f.current.value="")};return e((function(){var l;return f.current=((l=document.createElement("input")).type="file",l.onchange=function(l){var n,u=l.target.files;p(u),null===(n=m.current)||void 0===n||n.call(m,u)},l),function(){var l;null===(l=f.current)||void 0===l||l.remove()}}),[null==c?void 0:c.multiple,null==c?void 0:c.accept,null==c?void 0:c.capture,null==c?void 0:c.reset]),{value:a,open:function(l){var n,u,e,o,v,d,a;if(f.current){f.current.multiple=null!==(n=null!==(u=null==l?void 0:l.multiple)&&void 0!==u?u:null==c?void 0:c.multiple)&&void 0!==n?n:r,f.current.accept=null!==(e=null!==(o=null==l?void 0:l.accept)&&void 0!==o?o:null==c?void 0:c.accept)&&void 0!==e?e:t;var p=null!==(v=null==l?void 0:l.capture)&&void 0!==v?v:null==c?void 0:c.capture;p&&(f.current.capture=p),(null!==(d=null!==(a=null==l?void 0:l.reset)&&void 0!==a?a:null==c?void 0:c.reset)&&void 0!==d?d:i)&&s(),f.current.click()}},reset:s}};export{o as useFileDialog};
|
|
3
3
|
//# sourceMappingURL=useFileDialog.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
import{_ as
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.87 */
|
|
2
|
+
import{_ as e}from"../../_rollupPluginBabelHelpers-B8S6IKRR.js";import{useState as r,useRef as t,useEffect as n}from"react";import{getElement as u}from"../../utils/helpers/getElement.js";import"../../utils/helpers/isClient.js";import{isTarget as i}from"../../utils/helpers/isTarget.js";import{useRefState as o}from"../useRefState/useRefState.js";import"../useRerender/useRerender.js";var l=function(){var l,s,f=i(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,v=null!==(s=(null!==(l=f?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0])&&void 0!==l?l:{}).initialValue)&&void 0!==s&&s,c=r(v),a=e(c,2),d=a[0],m=a[1],p=o(),g=t(),h=function(){var e;return null===(e=g.current)||void 0===e?void 0:e.focus()},b=function(){var e;return null===(e=g.current)||void 0===e?void 0:e.blur()};return n((function(){if(f||p.current){var e=f?u(f):p.current;if(e){g.current=e;var r=function(e){var r,t;(!h||null!==(r=(t=e.target).matches)&&void 0!==r&&r.call(t,":focus-visible"))&&m(!0)},t=function(){return m(!1)};return v&&e.focus(),e.addEventListener("focus",r),e.addEventListener("blur",t),function(){e.removeEventListener("focus",r),e.removeEventListener("blur",t)}}}}),[f,p.current]),f?{focus:h,blur:b,focused:d}:{ref:p,focus:h,blur:b,focused:d}};export{l as useFocus};
|
|
3
3
|
//# sourceMappingURL=useFocus.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFocus.js","sources":["../../../../src/hooks/useFocus/useFocus.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getElement, isTarget } from '@/utils/helpers';\n\n/** The use focus target type */\nexport type UseFocusTarget = string | Element | RefObject<Element | null | undefined>;\n\n/** The use focus options type */\nexport interface UseFocusOptions {\n /** The initial focus state of the target */\n initialValue?: boolean;\n}\n\n/** The use focus return type */\nexport interface UseFocusReturn {\n /** The boolean state value of the target */\n focused: boolean;\n /** Is the target focused */\n blur: () => void;\n /** Is the target focused */\n focus: () => void;\n}\n\nexport interface UseFocus {\n <Target extends UseFocusTarget>(\n options?: UseFocusOptions\n ): UseFocusReturn & { ref:
|
|
1
|
+
{"version":3,"file":"useFocus.js","sources":["../../../../src/hooks/useFocus/useFocus.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 use focus target type */\nexport type UseFocusTarget = string | Element | RefObject<Element | null | undefined>;\n\n/** The use focus options type */\nexport interface UseFocusOptions {\n /** The initial focus state of the target */\n initialValue?: boolean;\n}\n\n/** The use focus return type */\nexport interface UseFocusReturn {\n /** The boolean state value of the target */\n focused: boolean;\n /** Is the target focused */\n blur: () => void;\n /** Is the target focused */\n focus: () => void;\n}\n\nexport interface UseFocus {\n <Target extends UseFocusTarget>(\n options?: UseFocusOptions\n ): UseFocusReturn & { ref: StateRef<Target> };\n\n <Target extends UseFocusTarget>(target: Target, options?: UseFocusOptions): UseFocusReturn;\n}\n\n/**\n * @name useFocus\n * @description - Hook that allows you to focus on a specific element\n * @category Browser\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to focus\n * @param {boolean} [options.initialValue=false] The initial focus state of the target\n * @returns {UseFocusReturn} An object with a `focus` boolean state value\n *\n * @example\n * const { focus, blur, focused } = useFocus(ref);\n *\n * @overload\n * @param {boolean} [options.initialValue=false] The initial focus state of the target\n * @returns {UseFocusReturn} An object with a `focus` boolean state value\n *\n * @example\n * const { ref, focus, blur, focused } = useFocus();\n */\nexport const useFocus = ((...params: any[]) => {\n const target = isTarget(params[0]) ? params[0] : undefined;\n const options = ((target ? params[1] : params[0]) as UseFocusOptions) ?? {};\n const initialValue = options.initialValue ?? false;\n\n const [focused, setFocused] = useState(initialValue);\n const internalRef = useRefState<Element>();\n\n const elementRef = useRef<HTMLElement>();\n\n const focus = () => elementRef.current?.focus();\n const blur = () => elementRef.current?.blur();\n\n useEffect(() => {\n if (!target && !internalRef.current) return;\n const element = (target ? getElement(target) : internalRef.current) as HTMLElement;\n if (!element) return;\n elementRef.current = element;\n\n const onFocus = (event: Event) => {\n if (!focus || (event.target as HTMLElement).matches?.(':focus-visible')) setFocused(true);\n };\n const onBlur = () => setFocused(false);\n if (initialValue) element.focus();\n\n element.addEventListener('focus', onFocus);\n element.addEventListener('blur', onBlur);\n\n return () => {\n element.removeEventListener('focus', onFocus);\n element.removeEventListener('blur', onBlur);\n };\n }, [target, internalRef.current]);\n\n if (target) return { focus, blur, focused };\n return {\n ref: internalRef,\n focus,\n blur,\n focused\n };\n}) as UseFocus;\n"],"names":["useFocus","_ref","_options$initialValue","target","isTarget","arguments","length","undefined","initialValue","_useState","useState","_useState2","_slicedToArray","focused","setFocused","internalRef","useRefState","elementRef","useRef","focus","_elementRef$current","current","blur","_elementRef$current2","useEffect","element","getElement","onFocus","event","_matches","_ref2","matches","call","onBlur","addEventListener","removeEventListener","ref"],"mappings":";oYA0DaA,EAAY,WAAsB,IAAAC,EAAAC,EACvCC,EAASC,EAAQC,UAAAC,QAAAC,OAAAA,EAAAF,cAAWA,UAAAC,eAAAC,EAAAF,UAAA,QAAeE,EAE3CC,EAAmC,QAAvBN,GAD8BD,QAAnCA,EAAKE,EAAME,UAAAC,QAAA,OAAAC,EAAAF,UAAA,GAAAA,UAAAC,QAAA,OAAAC,EAAAF,UAAA,UAAwBJ,IAAAA,EAAAA,EAAyB,CAAE,GAC9CO,oBAAY,IAAAN,GAAAA,EAEzCO,EAA8BC,EAASF,GAAaG,EAAAC,EAAAH,EAAA,GAA7CI,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GACpBI,EAAcC,IAEdC,EAAaC,IAEbC,EAAQ,WAAH,IAAAC,EAAA,OAA2B,QAA3BA,EAASH,EAAWI,eAAO,IAAAD,OAAA,EAAlBA,EAAoBD,OAAO,EACzCG,EAAO,WAAH,IAAAC,EAAA,OAA2B,QAA3BA,EAASN,EAAWI,eAAO,IAAAE,OAAA,EAAlBA,EAAoBD,MAAM,EAuB7C,OArBAE,GAAU,WACR,GAAKrB,GAAWY,EAAYM,QAA5B,CACA,IAAMI,EAAWtB,EAASuB,EAAWvB,GAAUY,EAAYM,QAC3D,GAAKI,EAAL,CACAR,EAAWI,QAAUI,EAErB,IAAME,EAAU,SAACC,GAAiB,IAAAC,EAAAC,IAC3BX,GAA8C,QAAzCU,GAAIC,EAACF,EAAMzB,QAAuB4B,eAAO,IAAAF,GAArCA,EAAAG,KAAAF,EAAwC,oBAAmBhB,GAAW,EACrF,EACKmB,EAAS,WAAH,OAASnB,GAAW,EAAM,EAMtC,OALIN,GAAciB,EAAQN,QAE1BM,EAAQS,iBAAiB,QAASP,GAClCF,EAAQS,iBAAiB,OAAQD,GAE1B,WACLR,EAAQU,oBAAoB,QAASR,GACrCF,EAAQU,oBAAoB,OAAQF,EACrC,CAfa,CAFuB,CAkBtC,GAAE,CAAC9B,EAAQY,EAAYM,UAEpBlB,EAAe,CAAEgB,MAAAA,EAAOG,KAAAA,EAAMT,QAAAA,GAC3B,CACLuB,IAAKrB,EACLI,MAAAA,EACAG,KAAAA,EACAT,QAAAA,EAEJ"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
import{_ as r}from"../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.87 */
|
|
2
|
+
import{_ as r}from"../../_rollupPluginBabelHelpers-B8S6IKRR.js";import{useState as n,useEffect as e}from"react";var a=function(){var a=n(0),o=r(a,2),t=o[0],i=o[1];return e((function(){var r,n=0,e=performance.now(),a=function(){n+=1;var o=performance.now(),t=o-e;if(t>=1e3){var m=Math.round(1e3*n/t);i(m),n=0,e=o}r=requestAnimationFrame(a)};return r=requestAnimationFrame(a),function(){cancelAnimationFrame(r)}}),[]),t};export{a as useFps};
|
|
3
3
|
//# sourceMappingURL=useFps.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
import{_ as e
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.87 */
|
|
2
|
+
import{_ as e}from"../../_rollupPluginBabelHelpers-B8S6IKRR.js";import{useState as n,useEffect as l}from"react";import{getElement as r}from"../../utils/helpers/getElement.js";import"../../utils/helpers/isClient.js";import{isTarget as t}from"../../utils/helpers/isTarget.js";import{useRefState as o}from"../useRefState/useRefState.js";import"../useRerender/useRerender.js";const c=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],s=(()=>{if("undefined"==typeof document)return!1;const e=c[0],n={};for(const l of c){const r=l?.[1];if(r in document){for(const[r,t]of l.entries())n[e[r]]=t;return n}}return!1})(),u={change:s.fullscreenchange,error:s.fullscreenerror};let i={request:(e=document.documentElement,n)=>new Promise(((l,r)=>{const t=()=>{i.off("change",t),l()};i.on("change",t);const o=e[s.requestFullscreen](n);o instanceof Promise&&o.then(t).catch(r)})),exit:()=>new Promise(((e,n)=>{if(!i.isFullscreen)return void e();const l=()=>{i.off("change",l),e()};i.on("change",l);const r=document[s.exitFullscreen]();r instanceof Promise&&r.then(l).catch(n)})),toggle:(e,n)=>i.isFullscreen?i.exit():i.request(e,n),onchange(e){i.on("change",e)},onerror(e){i.on("error",e)},on(e,n){const l=u[e];l&&document.addEventListener(l,n,!1)},off(e,n){const l=u[e];l&&document.removeEventListener(l,n,!1)},raw:s};Object.defineProperties(i,{isFullscreen:{get:()=>Boolean(document[s.fullscreenElement])},element:{enumerable:!0,get:()=>document[s.fullscreenElement]??void 0},isEnabled:{enumerable:!0,get:()=>Boolean(document[s.fullscreenEnabled])}}),s||(i={isEnabled:!1});var a=i,f=function(){var c,s=t(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,u=s?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],i=n(null!==(c=null==u?void 0:u.initialValue)&&void 0!==c&&c),f=e(i,2),m=f[0],d=f[1],g=o(),h=function(){if(a.isEnabled){var e,n;if(a.isFullscreen)null==u||null===(e=u.onEnter)||void 0===e||e.call(u);else a.off("change",h),null==u||null===(n=u.onExit)||void 0===n||n.call(u);d(a.isFullscreen)}},b=function(){var e=s?r(s):g.current;if(e&&a.isEnabled)try{a.request(e),a.on("change",h)}catch(e){console.error(e)}},E=function(){a.isEnabled&&a.exit()},F=function(){if(m)return E();b()};return l((function(){return function(){a.isEnabled&&a.off("change",h)}}),[]),s?{enter:b,exit:E,toggle:F,value:m}:{ref:g,enter:b,exit:E,toggle:F,value:m}};export{f as useFullscreen};
|
|
3
3
|
//# sourceMappingURL=useFullscreen.js.map
|