@siberiacancode/reactuse 0.3.14 → 0.3.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/_virtual/_rolldown/runtime.cjs +1 -0
- package/dist/cjs/helpers/createContext/createContext.cjs +2 -2
- package/dist/cjs/helpers/createContext/createContext.cjs.map +1 -1
- package/dist/cjs/helpers/createContextHook/createContextHook.cjs +2 -2
- package/dist/cjs/helpers/createContextHook/createContextHook.cjs.map +1 -1
- package/dist/cjs/helpers/createEventEmitter/createEventEmitter.cjs +2 -2
- package/dist/cjs/helpers/createEventEmitter/createEventEmitter.cjs.map +1 -1
- package/dist/cjs/helpers/createReactiveContext/createReactiveContext.cjs +2 -2
- package/dist/cjs/helpers/createReactiveContext/createReactiveContext.cjs.map +1 -1
- package/dist/cjs/helpers/createSharedHook/createSharedHook.cjs +2 -2
- package/dist/cjs/helpers/createSharedHook/createSharedHook.cjs.map +1 -1
- package/dist/cjs/helpers/createStore/createStore.cjs +2 -2
- package/dist/cjs/helpers/createStore/createStore.cjs.map +1 -1
- package/dist/cjs/helpers/makeDestructurable/makeDestructurable.cjs +2 -0
- package/dist/cjs/helpers/makeDestructurable/makeDestructurable.cjs.map +1 -0
- package/dist/cjs/hooks/useActiveElement/useActiveElement.cjs +2 -2
- package/dist/cjs/hooks/useActiveElement/useActiveElement.cjs.map +1 -1
- package/dist/cjs/hooks/useAsync/useAsync.cjs +2 -2
- package/dist/cjs/hooks/useAsync/useAsync.cjs.map +1 -1
- package/dist/cjs/hooks/useAsyncEffect/useAsyncEffect.cjs +2 -2
- package/dist/cjs/hooks/useAsyncEffect/useAsyncEffect.cjs.map +1 -1
- package/dist/cjs/hooks/useAudio/useAudio.cjs +2 -2
- package/dist/cjs/hooks/useAudio/useAudio.cjs.map +1 -1
- package/dist/cjs/hooks/useAutoScroll/useAutoScroll.cjs +2 -2
- package/dist/cjs/hooks/useAutoScroll/useAutoScroll.cjs.map +1 -1
- package/dist/cjs/hooks/useBatchedCallback/useBatchedCallback.cjs +2 -2
- package/dist/cjs/hooks/useBatchedCallback/useBatchedCallback.cjs.map +1 -1
- package/dist/cjs/hooks/useBattery/useBattery.cjs +2 -2
- package/dist/cjs/hooks/useBattery/useBattery.cjs.map +1 -1
- package/dist/cjs/hooks/useBluetooth/useBluetooth.cjs +2 -2
- package/dist/cjs/hooks/useBluetooth/useBluetooth.cjs.map +1 -1
- package/dist/cjs/hooks/useBoolean/useBoolean.cjs +2 -2
- package/dist/cjs/hooks/useBoolean/useBoolean.cjs.map +1 -1
- package/dist/cjs/hooks/useBreakpoints/useBreakpoints.cjs +2 -2
- package/dist/cjs/hooks/useBreakpoints/useBreakpoints.cjs.map +1 -1
- package/dist/cjs/hooks/useBroadcastChannel/useBroadcastChannel.cjs +2 -2
- package/dist/cjs/hooks/useBroadcastChannel/useBroadcastChannel.cjs.map +1 -1
- package/dist/cjs/hooks/useBrowserLanguage/useBrowserLanguage.cjs +2 -2
- package/dist/cjs/hooks/useBrowserLanguage/useBrowserLanguage.cjs.map +1 -1
- package/dist/cjs/hooks/useClickOutside/useClickOutside.cjs +2 -2
- package/dist/cjs/hooks/useClickOutside/useClickOutside.cjs.map +1 -1
- package/dist/cjs/hooks/useClipboard/useClipboard.cjs +2 -2
- package/dist/cjs/hooks/useClipboard/useClipboard.cjs.map +1 -1
- package/dist/cjs/hooks/useConst/useConst.cjs +2 -2
- package/dist/cjs/hooks/useConst/useConst.cjs.map +1 -1
- package/dist/cjs/hooks/useControllableState/useControllableState.cjs +2 -2
- package/dist/cjs/hooks/useControllableState/useControllableState.cjs.map +1 -1
- package/dist/cjs/hooks/useCookie/useCookie.cjs +2 -2
- package/dist/cjs/hooks/useCookie/useCookie.cjs.map +1 -1
- package/dist/cjs/hooks/useCookies/useCookies.cjs +2 -2
- package/dist/cjs/hooks/useCookies/useCookies.cjs.map +1 -1
- package/dist/cjs/hooks/useCopy/useCopy.cjs +2 -2
- package/dist/cjs/hooks/useCopy/useCopy.cjs.map +1 -1
- package/dist/cjs/hooks/useCounter/useCounter.cjs +2 -2
- package/dist/cjs/hooks/useCounter/useCounter.cjs.map +1 -1
- package/dist/cjs/hooks/useCssVar/useCssVar.cjs +2 -2
- package/dist/cjs/hooks/useCssVar/useCssVar.cjs.map +1 -1
- package/dist/cjs/hooks/useDebounceCallback/useDebounceCallback.cjs +2 -2
- package/dist/cjs/hooks/useDebounceCallback/useDebounceCallback.cjs.map +1 -1
- package/dist/cjs/hooks/useDebounceEffect/useDebounceEffect.cjs +2 -2
- package/dist/cjs/hooks/useDebounceEffect/useDebounceEffect.cjs.map +1 -1
- package/dist/cjs/hooks/useDebounceState/useDebounceState.cjs +2 -2
- package/dist/cjs/hooks/useDebounceState/useDebounceState.cjs.map +1 -1
- package/dist/cjs/hooks/useDebounceValue/useDebounceValue.cjs +2 -2
- package/dist/cjs/hooks/useDebounceValue/useDebounceValue.cjs.map +1 -1
- package/dist/cjs/hooks/useDefault/useDefault.cjs +2 -2
- package/dist/cjs/hooks/useDefault/useDefault.cjs.map +1 -1
- package/dist/cjs/hooks/useDeviceMotion/useDeviceMotion.cjs +2 -2
- package/dist/cjs/hooks/useDeviceMotion/useDeviceMotion.cjs.map +1 -1
- package/dist/cjs/hooks/useDeviceOrientation/useDeviceOrientation.cjs +2 -2
- package/dist/cjs/hooks/useDeviceOrientation/useDeviceOrientation.cjs.map +1 -1
- package/dist/cjs/hooks/useDevicePixelRatio/useDevicePixelRatio.cjs +2 -2
- package/dist/cjs/hooks/useDevicePixelRatio/useDevicePixelRatio.cjs.map +1 -1
- package/dist/cjs/hooks/useDidUpdate/useDidUpdate.cjs +2 -2
- package/dist/cjs/hooks/useDidUpdate/useDidUpdate.cjs.map +1 -1
- package/dist/cjs/hooks/useDisclosure/useDisclosure.cjs +2 -2
- package/dist/cjs/hooks/useDisclosure/useDisclosure.cjs.map +1 -1
- package/dist/cjs/hooks/useDisplayMedia/useDisplayMedia.cjs +2 -2
- package/dist/cjs/hooks/useDisplayMedia/useDisplayMedia.cjs.map +1 -1
- package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.cjs +2 -2
- package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.cjs.map +1 -1
- package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.cjs +2 -2
- package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.cjs.map +1 -1
- package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.cjs +2 -2
- package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.cjs.map +1 -1
- package/dist/cjs/hooks/useDoubleClick/useDoubleClick.cjs +2 -2
- package/dist/cjs/hooks/useDoubleClick/useDoubleClick.cjs.map +1 -1
- package/dist/cjs/hooks/useDropZone/useDropZone.cjs +2 -2
- package/dist/cjs/hooks/useDropZone/useDropZone.cjs.map +1 -1
- package/dist/cjs/hooks/useEvent/useEvent.cjs +2 -2
- package/dist/cjs/hooks/useEvent/useEvent.cjs.map +1 -1
- package/dist/cjs/hooks/useEventListener/useEventListener.cjs +2 -2
- package/dist/cjs/hooks/useEventListener/useEventListener.cjs.map +1 -1
- package/dist/cjs/hooks/useEventSource/useEventSource.cjs +2 -2
- package/dist/cjs/hooks/useEventSource/useEventSource.cjs.map +1 -1
- package/dist/cjs/hooks/useEyeDropper/useEyeDropper.cjs +2 -2
- package/dist/cjs/hooks/useEyeDropper/useEyeDropper.cjs.map +1 -1
- package/dist/cjs/hooks/useFavicon/useFavicon.cjs +2 -2
- package/dist/cjs/hooks/useFavicon/useFavicon.cjs.map +1 -1
- package/dist/cjs/hooks/useField/useField.cjs +2 -2
- package/dist/cjs/hooks/useField/useField.cjs.map +1 -1
- package/dist/cjs/hooks/useFileDialog/useFileDialog.cjs +2 -2
- package/dist/cjs/hooks/useFileDialog/useFileDialog.cjs.map +1 -1
- package/dist/cjs/hooks/useFileSystemAccess/useFileSystemAccess.cjs +2 -0
- package/dist/cjs/hooks/useFileSystemAccess/useFileSystemAccess.cjs.map +1 -0
- package/dist/cjs/hooks/useFocus/useFocus.cjs +2 -2
- package/dist/cjs/hooks/useFocus/useFocus.cjs.map +1 -1
- package/dist/cjs/hooks/useFocusTrap/useFocusTrap.cjs +2 -2
- package/dist/cjs/hooks/useFocusTrap/useFocusTrap.cjs.map +1 -1
- package/dist/cjs/hooks/useFps/useFps.cjs +2 -2
- package/dist/cjs/hooks/useFps/useFps.cjs.map +1 -1
- package/dist/cjs/hooks/useFul/useFul.cjs +2 -2
- package/dist/cjs/hooks/useFul/useFul.cjs.map +1 -1
- package/dist/cjs/hooks/useFullscreen/useFullscreen.cjs +2 -2
- package/dist/cjs/hooks/useFullscreen/useFullscreen.cjs.map +1 -1
- package/dist/cjs/hooks/useGamepad/useGamepad.cjs +2 -2
- package/dist/cjs/hooks/useGamepad/useGamepad.cjs.map +1 -1
- package/dist/cjs/hooks/useGeolocation/useGeolocation.cjs +2 -2
- package/dist/cjs/hooks/useGeolocation/useGeolocation.cjs.map +1 -1
- package/dist/cjs/hooks/useHash/useHash.cjs +2 -2
- package/dist/cjs/hooks/useHash/useHash.cjs.map +1 -1
- package/dist/cjs/hooks/useHotkeys/useHotkeys.cjs +2 -2
- package/dist/cjs/hooks/useHotkeys/useHotkeys.cjs.map +1 -1
- package/dist/cjs/hooks/useHover/useHover.cjs +2 -2
- package/dist/cjs/hooks/useHover/useHover.cjs.map +1 -1
- package/dist/cjs/hooks/useIdle/useIdle.cjs +2 -2
- package/dist/cjs/hooks/useIdle/useIdle.cjs.map +1 -1
- package/dist/cjs/hooks/useImage/useImage.cjs +2 -2
- package/dist/cjs/hooks/useImage/useImage.cjs.map +1 -1
- package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.cjs +2 -2
- package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.cjs.map +1 -1
- package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.cjs +2 -2
- package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.cjs.map +1 -1
- package/dist/cjs/hooks/useInterval/useInterval.cjs +2 -2
- package/dist/cjs/hooks/useInterval/useInterval.cjs.map +1 -1
- package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.cjs +2 -2
- package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.cjs.map +1 -1
- package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.cjs +2 -2
- package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.cjs.map +1 -1
- package/dist/cjs/hooks/useKeyPress/useKeyPress.cjs +2 -2
- package/dist/cjs/hooks/useKeyPress/useKeyPress.cjs.map +1 -1
- package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.cjs +2 -2
- package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.cjs.map +1 -1
- package/dist/cjs/hooks/useKeyboard/useKeyboard.cjs +2 -2
- package/dist/cjs/hooks/useKeyboard/useKeyboard.cjs.map +1 -1
- package/dist/cjs/hooks/useKeysPressed/useKeysPressed.cjs +2 -2
- package/dist/cjs/hooks/useKeysPressed/useKeysPressed.cjs.map +1 -1
- package/dist/cjs/hooks/useLastChanged/useLastChanged.cjs +2 -2
- package/dist/cjs/hooks/useLastChanged/useLastChanged.cjs.map +1 -1
- package/dist/cjs/hooks/useLatest/useLatest.cjs +2 -2
- package/dist/cjs/hooks/useLatest/useLatest.cjs.map +1 -1
- package/dist/cjs/hooks/useLess/useLess.cjs +2 -2
- package/dist/cjs/hooks/useLess/useLess.cjs.map +1 -1
- package/dist/cjs/hooks/useList/useList.cjs +2 -2
- package/dist/cjs/hooks/useList/useList.cjs.map +1 -1
- package/dist/cjs/hooks/useLocalStorage/useLocalStorage.cjs +2 -2
- package/dist/cjs/hooks/useLocalStorage/useLocalStorage.cjs.map +1 -1
- package/dist/cjs/hooks/useLockCallback/useLockCallback.cjs +2 -2
- package/dist/cjs/hooks/useLockCallback/useLockCallback.cjs.map +1 -1
- package/dist/cjs/hooks/useLockScroll/useLockScroll.cjs +2 -2
- package/dist/cjs/hooks/useLockScroll/useLockScroll.cjs.map +1 -1
- package/dist/cjs/hooks/useLogger/useLogger.cjs +2 -2
- package/dist/cjs/hooks/useLogger/useLogger.cjs.map +1 -1
- package/dist/cjs/hooks/useLongPress/useLongPress.cjs +2 -2
- package/dist/cjs/hooks/useLongPress/useLongPress.cjs.map +1 -1
- package/dist/cjs/hooks/useMap/useMap.cjs +2 -2
- package/dist/cjs/hooks/useMap/useMap.cjs.map +1 -1
- package/dist/cjs/hooks/useMeasure/useMeasure.cjs +2 -2
- package/dist/cjs/hooks/useMeasure/useMeasure.cjs.map +1 -1
- package/dist/cjs/hooks/useMediaControls/useMediaControls.cjs +2 -2
- package/dist/cjs/hooks/useMediaControls/useMediaControls.cjs.map +1 -1
- package/dist/cjs/hooks/useMediaQuery/useMediaQuery.cjs +2 -2
- package/dist/cjs/hooks/useMediaQuery/useMediaQuery.cjs.map +1 -1
- package/dist/cjs/hooks/useMemory/useMemory.cjs +2 -2
- package/dist/cjs/hooks/useMemory/useMemory.cjs.map +1 -1
- package/dist/cjs/hooks/useMergedRef/useMergedRef.cjs +2 -2
- package/dist/cjs/hooks/useMergedRef/useMergedRef.cjs.map +1 -1
- package/dist/cjs/hooks/useMount/useMount.cjs +2 -2
- package/dist/cjs/hooks/useMount/useMount.cjs.map +1 -1
- package/dist/cjs/hooks/useMouse/useMouse.cjs +2 -2
- package/dist/cjs/hooks/useMouse/useMouse.cjs.map +1 -1
- package/dist/cjs/hooks/useMutation/useMutation.cjs +2 -2
- package/dist/cjs/hooks/useMutation/useMutation.cjs.map +1 -1
- package/dist/cjs/hooks/useMutationObserver/useMutationObserver.cjs +2 -2
- package/dist/cjs/hooks/useMutationObserver/useMutationObserver.cjs.map +1 -1
- package/dist/cjs/hooks/useNetwork/useNetwork.cjs +2 -2
- package/dist/cjs/hooks/useNetwork/useNetwork.cjs.map +1 -1
- package/dist/cjs/hooks/useObjectUrl/useObjectUrl.cjs +2 -0
- package/dist/cjs/hooks/useObjectUrl/useObjectUrl.cjs.map +1 -0
- package/dist/cjs/hooks/useOffsetPagination/useOffsetPagination.cjs +2 -2
- package/dist/cjs/hooks/useOffsetPagination/useOffsetPagination.cjs.map +1 -1
- package/dist/cjs/hooks/useOnce/useOnce.cjs +2 -2
- package/dist/cjs/hooks/useOnce/useOnce.cjs.map +1 -1
- package/dist/cjs/hooks/useOnline/useOnline.cjs +2 -2
- package/dist/cjs/hooks/useOnline/useOnline.cjs.map +1 -1
- package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.cjs +2 -2
- package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.cjs.map +1 -1
- package/dist/cjs/hooks/useOptimistic/useOptimistic.cjs +2 -2
- package/dist/cjs/hooks/useOptimistic/useOptimistic.cjs.map +1 -1
- package/dist/cjs/hooks/useOrientation/useOrientation.cjs +2 -2
- package/dist/cjs/hooks/useOrientation/useOrientation.cjs.map +1 -1
- package/dist/cjs/hooks/useOtpCredential/useOtpCredential.cjs +2 -2
- package/dist/cjs/hooks/useOtpCredential/useOtpCredential.cjs.map +1 -1
- package/dist/cjs/hooks/usePageLeave/usePageLeave.cjs +2 -2
- package/dist/cjs/hooks/usePageLeave/usePageLeave.cjs.map +1 -1
- package/dist/cjs/hooks/usePaint/usePaint.cjs +2 -2
- package/dist/cjs/hooks/usePaint/usePaint.cjs.map +1 -1
- package/dist/cjs/hooks/useParallax/useParallax.cjs +2 -2
- package/dist/cjs/hooks/useParallax/useParallax.cjs.map +1 -1
- package/dist/cjs/hooks/usePerformanceObserver/usePerformanceObserver.cjs +2 -2
- package/dist/cjs/hooks/usePerformanceObserver/usePerformanceObserver.cjs.map +1 -1
- package/dist/cjs/hooks/usePermission/usePermission.cjs +2 -2
- package/dist/cjs/hooks/usePermission/usePermission.cjs.map +1 -1
- package/dist/cjs/hooks/usePictureInPicture/usePictureInPicture.cjs +2 -2
- package/dist/cjs/hooks/usePictureInPicture/usePictureInPicture.cjs.map +1 -1
- package/dist/cjs/hooks/usePointerLock/usePointerLock.cjs +2 -2
- package/dist/cjs/hooks/usePointerLock/usePointerLock.cjs.map +1 -1
- package/dist/cjs/hooks/usePostMessage/usePostMessage.cjs +2 -2
- package/dist/cjs/hooks/usePostMessage/usePostMessage.cjs.map +1 -1
- package/dist/cjs/hooks/usePreferredColorScheme/usePreferredColorScheme.cjs +2 -2
- package/dist/cjs/hooks/usePreferredColorScheme/usePreferredColorScheme.cjs.map +1 -1
- package/dist/cjs/hooks/usePreferredContrast/usePreferredContrast.cjs +2 -2
- package/dist/cjs/hooks/usePreferredContrast/usePreferredContrast.cjs.map +1 -1
- package/dist/cjs/hooks/usePreferredDark/usePreferredDark.cjs +2 -2
- package/dist/cjs/hooks/usePreferredDark/usePreferredDark.cjs.map +1 -1
- package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.cjs +2 -2
- package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.cjs.map +1 -1
- package/dist/cjs/hooks/usePreferredReducedMotion/usePreferredReducedMotion.cjs +2 -2
- package/dist/cjs/hooks/usePreferredReducedMotion/usePreferredReducedMotion.cjs.map +1 -1
- package/dist/cjs/hooks/usePrevious/usePrevious.cjs +2 -2
- package/dist/cjs/hooks/usePrevious/usePrevious.cjs.map +1 -1
- package/dist/cjs/hooks/useProgress/useProgress.cjs +2 -2
- package/dist/cjs/hooks/useProgress/useProgress.cjs.map +1 -1
- package/dist/cjs/hooks/useQuery/useQuery.cjs +2 -2
- package/dist/cjs/hooks/useQuery/useQuery.cjs.map +1 -1
- package/dist/cjs/hooks/useQueue/useQueue.cjs +2 -2
- package/dist/cjs/hooks/useQueue/useQueue.cjs.map +1 -1
- package/dist/cjs/hooks/useRaf/useRaf.cjs +2 -2
- package/dist/cjs/hooks/useRaf/useRaf.cjs.map +1 -1
- package/dist/cjs/hooks/useRafState/useRafState.cjs +2 -2
- package/dist/cjs/hooks/useRafState/useRafState.cjs.map +1 -1
- package/dist/cjs/hooks/useRefState/useRefState.cjs +2 -2
- package/dist/cjs/hooks/useRefState/useRefState.cjs.map +1 -1
- package/dist/cjs/hooks/useRenderCount/useRenderCount.cjs +2 -2
- package/dist/cjs/hooks/useRenderCount/useRenderCount.cjs.map +1 -1
- package/dist/cjs/hooks/useRenderInfo/useRenderInfo.cjs +2 -2
- package/dist/cjs/hooks/useRenderInfo/useRenderInfo.cjs.map +1 -1
- package/dist/cjs/hooks/useRerender/useRerender.cjs +2 -2
- package/dist/cjs/hooks/useRerender/useRerender.cjs.map +1 -1
- package/dist/cjs/hooks/useResizeObserver/useResizeObserver.cjs +2 -2
- package/dist/cjs/hooks/useResizeObserver/useResizeObserver.cjs.map +1 -1
- package/dist/cjs/hooks/useRightClick/useRightClick.cjs +2 -2
- package/dist/cjs/hooks/useRightClick/useRightClick.cjs.map +1 -1
- package/dist/cjs/hooks/useScript/useScript.cjs +2 -2
- package/dist/cjs/hooks/useScript/useScript.cjs.map +1 -1
- package/dist/cjs/hooks/useScroll/useScroll.cjs +2 -2
- package/dist/cjs/hooks/useScroll/useScroll.cjs.map +1 -1
- package/dist/cjs/hooks/useScrollIntoView/useScrollIntoView.cjs +2 -2
- package/dist/cjs/hooks/useScrollIntoView/useScrollIntoView.cjs.map +1 -1
- package/dist/cjs/hooks/useScrollTo/useScrollTo.cjs +2 -2
- package/dist/cjs/hooks/useScrollTo/useScrollTo.cjs.map +1 -1
- package/dist/cjs/hooks/useSessionStorage/useSessionStorage.cjs +2 -2
- package/dist/cjs/hooks/useSessionStorage/useSessionStorage.cjs.map +1 -1
- package/dist/cjs/hooks/useSet/useSet.cjs +2 -2
- package/dist/cjs/hooks/useSet/useSet.cjs.map +1 -1
- package/dist/cjs/hooks/useShallowEffect/useShallowEffect.cjs +2 -2
- package/dist/cjs/hooks/useShallowEffect/useShallowEffect.cjs.map +1 -1
- package/dist/cjs/hooks/useShare/useShare.cjs +2 -2
- package/dist/cjs/hooks/useShare/useShare.cjs.map +1 -1
- package/dist/cjs/hooks/useSize/useSize.cjs +2 -2
- package/dist/cjs/hooks/useSize/useSize.cjs.map +1 -1
- package/dist/cjs/hooks/useSpeechRecognition/useSpeechRecognition.cjs +2 -2
- package/dist/cjs/hooks/useSpeechRecognition/useSpeechRecognition.cjs.map +1 -1
- package/dist/cjs/hooks/useSpeechSynthesis/useSpeechSynthesis.cjs +2 -2
- package/dist/cjs/hooks/useSpeechSynthesis/useSpeechSynthesis.cjs.map +1 -1
- package/dist/cjs/hooks/useStateHistory/useStateHistory.cjs +2 -2
- package/dist/cjs/hooks/useStateHistory/useStateHistory.cjs.map +1 -1
- package/dist/cjs/hooks/useStep/useStep.cjs +2 -2
- package/dist/cjs/hooks/useStep/useStep.cjs.map +1 -1
- package/dist/cjs/hooks/useSticky/useSticky.cjs +2 -2
- package/dist/cjs/hooks/useSticky/useSticky.cjs.map +1 -1
- package/dist/cjs/hooks/useStopwatch/useStopwatch.cjs +2 -2
- package/dist/cjs/hooks/useStopwatch/useStopwatch.cjs.map +1 -1
- package/dist/cjs/hooks/useStorage/useStorage.cjs +2 -2
- package/dist/cjs/hooks/useStorage/useStorage.cjs.map +1 -1
- package/dist/cjs/hooks/useTextDirection/useTextDirection.cjs +2 -2
- package/dist/cjs/hooks/useTextDirection/useTextDirection.cjs.map +1 -1
- package/dist/cjs/hooks/useTextSelection/useTextSelection.cjs +2 -2
- package/dist/cjs/hooks/useTextSelection/useTextSelection.cjs.map +1 -1
- package/dist/cjs/hooks/useTextareaAutosize/useTextareaAutosize.cjs +2 -2
- package/dist/cjs/hooks/useTextareaAutosize/useTextareaAutosize.cjs.map +1 -1
- package/dist/cjs/hooks/useThrottleCallback/useThrottleCallback.cjs +2 -2
- package/dist/cjs/hooks/useThrottleCallback/useThrottleCallback.cjs.map +1 -1
- package/dist/cjs/hooks/useThrottleEffect/useThrottleEffect.cjs +2 -2
- package/dist/cjs/hooks/useThrottleEffect/useThrottleEffect.cjs.map +1 -1
- package/dist/cjs/hooks/useThrottleState/useThrottleState.cjs +2 -2
- package/dist/cjs/hooks/useThrottleState/useThrottleState.cjs.map +1 -1
- package/dist/cjs/hooks/useThrottleValue/useThrottleValue.cjs +2 -2
- package/dist/cjs/hooks/useThrottleValue/useThrottleValue.cjs.map +1 -1
- package/dist/cjs/hooks/useTime/useTime.cjs +2 -2
- package/dist/cjs/hooks/useTime/useTime.cjs.map +1 -1
- package/dist/cjs/hooks/useTimeout/useTimeout.cjs +2 -2
- package/dist/cjs/hooks/useTimeout/useTimeout.cjs.map +1 -1
- package/dist/cjs/hooks/useTimer/useTimer.cjs +2 -2
- package/dist/cjs/hooks/useTimer/useTimer.cjs.map +1 -1
- package/dist/cjs/hooks/useToggle/useToggle.cjs +2 -2
- package/dist/cjs/hooks/useToggle/useToggle.cjs.map +1 -1
- package/dist/cjs/hooks/useUnmount/useUnmount.cjs +2 -2
- package/dist/cjs/hooks/useUnmount/useUnmount.cjs.map +1 -1
- package/dist/cjs/hooks/useUrlSearchParam/useUrlSearchParam.cjs +2 -2
- package/dist/cjs/hooks/useUrlSearchParam/useUrlSearchParam.cjs.map +1 -1
- package/dist/cjs/hooks/useUrlSearchParams/useUrlSearchParams.cjs +2 -2
- package/dist/cjs/hooks/useUrlSearchParams/useUrlSearchParams.cjs.map +1 -1
- package/dist/cjs/hooks/useVibrate/useVibrate.cjs +2 -2
- package/dist/cjs/hooks/useVibrate/useVibrate.cjs.map +1 -1
- package/dist/cjs/hooks/useVirtualKeyboard/useVirtualKeyboard.cjs +2 -2
- package/dist/cjs/hooks/useVirtualKeyboard/useVirtualKeyboard.cjs.map +1 -1
- package/dist/cjs/hooks/useVisibility/useVisibility.cjs +2 -2
- package/dist/cjs/hooks/useVisibility/useVisibility.cjs.map +1 -1
- package/dist/cjs/hooks/useWakeLock/useWakeLock.cjs +2 -2
- package/dist/cjs/hooks/useWakeLock/useWakeLock.cjs.map +1 -1
- package/dist/cjs/hooks/useWebSocket/useWebSocket.cjs +2 -2
- package/dist/cjs/hooks/useWebSocket/useWebSocket.cjs.map +1 -1
- package/dist/cjs/hooks/useWindowEvent/useWindowEvent.cjs +2 -2
- package/dist/cjs/hooks/useWindowEvent/useWindowEvent.cjs.map +1 -1
- package/dist/cjs/hooks/useWindowFocus/useWindowFocus.cjs +2 -2
- package/dist/cjs/hooks/useWindowFocus/useWindowFocus.cjs.map +1 -1
- package/dist/cjs/hooks/useWindowScroll/useWindowScroll.cjs +2 -2
- package/dist/cjs/hooks/useWindowScroll/useWindowScroll.cjs.map +1 -1
- package/dist/cjs/hooks/useWindowSize/useWindowSize.cjs +2 -2
- package/dist/cjs/hooks/useWindowSize/useWindowSize.cjs.map +1 -1
- package/dist/cjs/hooks/useWizard/useWizard.cjs +2 -2
- package/dist/cjs/hooks/useWizard/useWizard.cjs.map +1 -1
- package/dist/cjs/index.cjs +1 -2
- package/dist/cjs/utils/helpers/copy.cjs +2 -2
- package/dist/cjs/utils/helpers/copy.cjs.map +1 -1
- package/dist/cjs/utils/helpers/debounce.cjs +2 -2
- package/dist/cjs/utils/helpers/debounce.cjs.map +1 -1
- package/dist/cjs/utils/helpers/getDate.cjs +2 -2
- package/dist/cjs/utils/helpers/getDate.cjs.map +1 -1
- package/dist/cjs/utils/helpers/getRetry.cjs +2 -2
- package/dist/cjs/utils/helpers/getRetry.cjs.map +1 -1
- package/dist/cjs/utils/helpers/isTarget.cjs +2 -2
- package/dist/cjs/utils/helpers/isTarget.cjs.map +1 -1
- package/dist/cjs/utils/helpers/throttle.cjs +2 -2
- package/dist/cjs/utils/helpers/throttle.cjs.map +1 -1
- package/dist/esm/helpers/createContext/createContext.mjs +32 -33
- package/dist/esm/helpers/createContext/createContext.mjs.map +1 -1
- package/dist/esm/helpers/createContextHook/createContextHook.mjs +19 -12
- package/dist/esm/helpers/createContextHook/createContextHook.mjs.map +1 -1
- package/dist/esm/helpers/createEventEmitter/createEventEmitter.mjs +34 -33
- package/dist/esm/helpers/createEventEmitter/createEventEmitter.mjs.map +1 -1
- package/dist/esm/helpers/createReactiveContext/createReactiveContext.mjs +53 -53
- package/dist/esm/helpers/createReactiveContext/createReactiveContext.mjs.map +1 -1
- package/dist/esm/helpers/createSharedHook/createSharedHook.mjs +36 -41
- package/dist/esm/helpers/createSharedHook/createSharedHook.mjs.map +1 -1
- package/dist/esm/helpers/createStore/createStore.mjs +25 -29
- package/dist/esm/helpers/createStore/createStore.mjs.map +1 -1
- package/dist/esm/helpers/makeDestructurable/makeDestructurable.mjs +21 -0
- package/dist/esm/helpers/makeDestructurable/makeDestructurable.mjs.map +1 -0
- package/dist/esm/hooks/useActiveElement/useActiveElement.mjs +28 -27
- package/dist/esm/hooks/useActiveElement/useActiveElement.mjs.map +1 -1
- package/dist/esm/hooks/useAsync/useAsync.mjs +22 -21
- package/dist/esm/hooks/useAsync/useAsync.mjs.map +1 -1
- package/dist/esm/hooks/useAsyncEffect/useAsyncEffect.mjs +10 -9
- package/dist/esm/hooks/useAsyncEffect/useAsyncEffect.mjs.map +1 -1
- package/dist/esm/hooks/useAudio/useAudio.mjs +55 -55
- package/dist/esm/hooks/useAudio/useAudio.mjs.map +1 -1
- package/dist/esm/hooks/useAutoScroll/useAutoScroll.mjs +43 -40
- package/dist/esm/hooks/useAutoScroll/useAutoScroll.mjs.map +1 -1
- package/dist/esm/hooks/useBatchedCallback/useBatchedCallback.mjs +20 -19
- package/dist/esm/hooks/useBatchedCallback/useBatchedCallback.mjs.map +1 -1
- package/dist/esm/hooks/useBattery/useBattery.mjs +32 -29
- package/dist/esm/hooks/useBattery/useBattery.mjs.map +1 -1
- package/dist/esm/hooks/useBluetooth/useBluetooth.mjs +35 -33
- package/dist/esm/hooks/useBluetooth/useBluetooth.mjs.map +1 -1
- package/dist/esm/hooks/useBoolean/useBoolean.mjs +9 -8
- package/dist/esm/hooks/useBoolean/useBoolean.mjs.map +1 -1
- package/dist/esm/hooks/useBreakpoints/useBreakpoints.mjs +90 -104
- package/dist/esm/hooks/useBreakpoints/useBreakpoints.mjs.map +1 -1
- package/dist/esm/hooks/useBroadcastChannel/useBroadcastChannel.mjs +30 -31
- package/dist/esm/hooks/useBroadcastChannel/useBroadcastChannel.mjs.map +1 -1
- package/dist/esm/hooks/useBrowserLanguage/useBrowserLanguage.mjs +7 -6
- package/dist/esm/hooks/useBrowserLanguage/useBrowserLanguage.mjs.map +1 -1
- package/dist/esm/hooks/useClickOutside/useClickOutside.mjs +21 -21
- package/dist/esm/hooks/useClickOutside/useClickOutside.mjs.map +1 -1
- package/dist/esm/hooks/useClipboard/useClipboard.mjs +25 -23
- package/dist/esm/hooks/useClipboard/useClipboard.mjs.map +1 -1
- package/dist/esm/hooks/useConst/useConst.mjs +7 -6
- package/dist/esm/hooks/useConst/useConst.mjs.map +1 -1
- package/dist/esm/hooks/useControllableState/useControllableState.mjs +18 -16
- package/dist/esm/hooks/useControllableState/useControllableState.mjs.map +1 -1
- package/dist/esm/hooks/useCookie/useCookie.mjs +53 -56
- package/dist/esm/hooks/useCookie/useCookie.mjs.map +1 -1
- package/dist/esm/hooks/useCookies/useCookies.mjs +38 -37
- package/dist/esm/hooks/useCookies/useCookies.mjs.map +1 -1
- package/dist/esm/hooks/useCopy/useCopy.mjs +15 -10
- package/dist/esm/hooks/useCopy/useCopy.mjs.map +1 -1
- package/dist/esm/hooks/useCounter/useCounter.mjs +26 -22
- package/dist/esm/hooks/useCounter/useCounter.mjs.map +1 -1
- package/dist/esm/hooks/useCssVar/useCssVar.mjs +42 -32
- package/dist/esm/hooks/useCssVar/useCssVar.mjs.map +1 -1
- package/dist/esm/hooks/useDebounceCallback/useDebounceCallback.mjs +18 -17
- package/dist/esm/hooks/useDebounceCallback/useDebounceCallback.mjs.map +1 -1
- package/dist/esm/hooks/useDebounceEffect/useDebounceEffect.mjs +19 -18
- package/dist/esm/hooks/useDebounceEffect/useDebounceEffect.mjs.map +1 -1
- package/dist/esm/hooks/useDebounceState/useDebounceState.mjs +10 -9
- package/dist/esm/hooks/useDebounceState/useDebounceState.mjs.map +1 -1
- package/dist/esm/hooks/useDebounceValue/useDebounceValue.mjs +12 -11
- package/dist/esm/hooks/useDebounceValue/useDebounceValue.mjs.map +1 -1
- package/dist/esm/hooks/useDefault/useDefault.mjs +9 -8
- package/dist/esm/hooks/useDefault/useDefault.mjs.map +1 -1
- package/dist/esm/hooks/useDeviceMotion/useDeviceMotion.mjs +49 -36
- package/dist/esm/hooks/useDeviceMotion/useDeviceMotion.mjs.map +1 -1
- package/dist/esm/hooks/useDeviceOrientation/useDeviceOrientation.mjs +28 -27
- package/dist/esm/hooks/useDeviceOrientation/useDeviceOrientation.mjs.map +1 -1
- package/dist/esm/hooks/useDevicePixelRatio/useDevicePixelRatio.mjs +18 -14
- package/dist/esm/hooks/useDevicePixelRatio/useDevicePixelRatio.mjs.map +1 -1
- package/dist/esm/hooks/useDidUpdate/useDidUpdate.mjs +15 -18
- package/dist/esm/hooks/useDidUpdate/useDidUpdate.mjs.map +1 -1
- package/dist/esm/hooks/useDisclosure/useDisclosure.mjs +14 -8
- package/dist/esm/hooks/useDisclosure/useDisclosure.mjs.map +1 -1
- package/dist/esm/hooks/useDisplayMedia/useDisplayMedia.mjs +39 -39
- package/dist/esm/hooks/useDisplayMedia/useDisplayMedia.mjs.map +1 -1
- package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.mjs +8 -7
- package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.mjs.map +1 -1
- package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.mjs +28 -27
- package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.mjs.map +1 -1
- package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.mjs +9 -8
- package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.mjs.map +1 -1
- package/dist/esm/hooks/useDoubleClick/useDoubleClick.mjs +25 -28
- package/dist/esm/hooks/useDoubleClick/useDoubleClick.mjs.map +1 -1
- package/dist/esm/hooks/useDropZone/useDropZone.mjs +55 -47
- package/dist/esm/hooks/useDropZone/useDropZone.mjs.map +1 -1
- package/dist/esm/hooks/useEvent/useEvent.mjs +12 -11
- package/dist/esm/hooks/useEvent/useEvent.mjs.map +1 -1
- package/dist/esm/hooks/useEventListener/useEventListener.mjs +24 -19
- package/dist/esm/hooks/useEventListener/useEventListener.mjs.map +1 -1
- package/dist/esm/hooks/useEventSource/useEventSource.mjs +44 -49
- package/dist/esm/hooks/useEventSource/useEventSource.mjs.map +1 -1
- package/dist/esm/hooks/useEyeDropper/useEyeDropper.mjs +17 -16
- package/dist/esm/hooks/useEyeDropper/useEyeDropper.mjs.map +1 -1
- package/dist/esm/hooks/useFavicon/useFavicon.mjs +20 -18
- package/dist/esm/hooks/useFavicon/useFavicon.mjs.map +1 -1
- package/dist/esm/hooks/useField/useField.mjs +61 -67
- package/dist/esm/hooks/useField/useField.mjs.map +1 -1
- package/dist/esm/hooks/useFileDialog/useFileDialog.mjs +34 -32
- package/dist/esm/hooks/useFileDialog/useFileDialog.mjs.map +1 -1
- package/dist/esm/hooks/useFileSystemAccess/useFileSystemAccess.mjs +59 -0
- package/dist/esm/hooks/useFileSystemAccess/useFileSystemAccess.mjs.map +1 -0
- package/dist/esm/hooks/useFocus/useFocus.mjs +43 -34
- package/dist/esm/hooks/useFocus/useFocus.mjs.map +1 -1
- package/dist/esm/hooks/useFocusTrap/useFocusTrap.mjs +51 -36
- package/dist/esm/hooks/useFocusTrap/useFocusTrap.mjs.map +1 -1
- package/dist/esm/hooks/useFps/useFps.mjs +18 -22
- package/dist/esm/hooks/useFps/useFps.mjs.map +1 -1
- package/dist/esm/hooks/useFul/useFul.mjs +8 -7
- package/dist/esm/hooks/useFul/useFul.mjs.map +1 -1
- package/dist/esm/hooks/useFullscreen/useFullscreen.mjs +39 -42
- package/dist/esm/hooks/useFullscreen/useFullscreen.mjs.map +1 -1
- package/dist/esm/hooks/useGamepad/useGamepad.mjs +76 -83
- package/dist/esm/hooks/useGamepad/useGamepad.mjs.map +1 -1
- package/dist/esm/hooks/useGeolocation/useGeolocation.mjs +50 -45
- package/dist/esm/hooks/useGeolocation/useGeolocation.mjs.map +1 -1
- package/dist/esm/hooks/useHash/useHash.mjs +24 -26
- package/dist/esm/hooks/useHash/useHash.mjs.map +1 -1
- package/dist/esm/hooks/useHotkeys/useHotkeys.mjs +35 -37
- package/dist/esm/hooks/useHotkeys/useHotkeys.mjs.map +1 -1
- package/dist/esm/hooks/useHover/useHover.mjs +30 -25
- package/dist/esm/hooks/useHover/useHover.mjs.map +1 -1
- package/dist/esm/hooks/useIdle/useIdle.mjs +29 -26
- package/dist/esm/hooks/useIdle/useIdle.mjs.map +1 -1
- package/dist/esm/hooks/useImage/useImage.mjs +24 -26
- package/dist/esm/hooks/useImage/useImage.mjs.map +1 -1
- package/dist/esm/hooks/useInfiniteScroll/useInfiniteScroll.mjs +38 -32
- package/dist/esm/hooks/useInfiniteScroll/useInfiniteScroll.mjs.map +1 -1
- package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.mjs +38 -37
- package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.mjs.map +1 -1
- package/dist/esm/hooks/useInterval/useInterval.mjs +20 -20
- package/dist/esm/hooks/useInterval/useInterval.mjs.map +1 -1
- package/dist/esm/hooks/useIsFirstRender/useIsFirstRender.mjs +8 -7
- package/dist/esm/hooks/useIsFirstRender/useIsFirstRender.mjs.map +1 -1
- package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.mjs +7 -6
- package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.mjs.map +1 -1
- package/dist/esm/hooks/useKeyPress/useKeyPress.mjs +30 -26
- package/dist/esm/hooks/useKeyPress/useKeyPress.mjs.map +1 -1
- package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.mjs +33 -35
- package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.mjs.map +1 -1
- package/dist/esm/hooks/useKeyboard/useKeyboard.mjs +16 -19
- package/dist/esm/hooks/useKeyboard/useKeyboard.mjs.map +1 -1
- package/dist/esm/hooks/useKeysPressed/useKeysPressed.mjs +36 -25
- package/dist/esm/hooks/useKeysPressed/useKeysPressed.mjs.map +1 -1
- package/dist/esm/hooks/useLastChanged/useLastChanged.mjs +10 -9
- package/dist/esm/hooks/useLastChanged/useLastChanged.mjs.map +1 -1
- package/dist/esm/hooks/useLatest/useLatest.mjs +14 -16
- package/dist/esm/hooks/useLatest/useLatest.mjs.map +1 -1
- package/dist/esm/hooks/useLess/useLess.mjs +9 -8
- package/dist/esm/hooks/useLess/useLess.mjs.map +1 -1
- package/dist/esm/hooks/useList/useList.mjs +22 -22
- package/dist/esm/hooks/useList/useList.mjs.map +1 -1
- package/dist/esm/hooks/useLocalStorage/useLocalStorage.mjs +10 -9
- package/dist/esm/hooks/useLocalStorage/useLocalStorage.mjs.map +1 -1
- package/dist/esm/hooks/useLockCallback/useLockCallback.mjs +18 -17
- package/dist/esm/hooks/useLockCallback/useLockCallback.mjs.map +1 -1
- package/dist/esm/hooks/useLockScroll/useLockScroll.mjs +44 -39
- package/dist/esm/hooks/useLockScroll/useLockScroll.mjs.map +1 -1
- package/dist/esm/hooks/useLogger/useLogger.mjs +10 -9
- package/dist/esm/hooks/useLogger/useLogger.mjs.map +1 -1
- package/dist/esm/hooks/useLongPress/useLongPress.mjs +30 -26
- package/dist/esm/hooks/useLongPress/useLongPress.mjs.map +1 -1
- package/dist/esm/hooks/useMap/useMap.mjs +21 -20
- package/dist/esm/hooks/useMap/useMap.mjs.map +1 -1
- package/dist/esm/hooks/useMeasure/useMeasure.mjs +45 -32
- package/dist/esm/hooks/useMeasure/useMeasure.mjs.map +1 -1
- package/dist/esm/hooks/useMediaControls/useMediaControls.mjs +67 -68
- package/dist/esm/hooks/useMediaControls/useMediaControls.mjs.map +1 -1
- package/dist/esm/hooks/useMediaQuery/useMediaQuery.mjs +12 -17
- package/dist/esm/hooks/useMediaQuery/useMediaQuery.mjs.map +1 -1
- package/dist/esm/hooks/useMemory/useMemory.mjs +20 -18
- package/dist/esm/hooks/useMemory/useMemory.mjs.map +1 -1
- package/dist/esm/hooks/useMergedRef/useMergedRef.mjs +23 -25
- package/dist/esm/hooks/useMergedRef/useMergedRef.mjs.map +1 -1
- package/dist/esm/hooks/useMount/useMount.mjs +7 -6
- package/dist/esm/hooks/useMount/useMount.mjs.map +1 -1
- package/dist/esm/hooks/useMouse/useMouse.mjs +61 -58
- package/dist/esm/hooks/useMouse/useMouse.mjs.map +1 -1
- package/dist/esm/hooks/useMutation/useMutation.mjs +63 -60
- package/dist/esm/hooks/useMutation/useMutation.mjs.map +1 -1
- package/dist/esm/hooks/useMutationObserver/useMutationObserver.mjs +35 -34
- package/dist/esm/hooks/useMutationObserver/useMutationObserver.mjs.map +1 -1
- package/dist/esm/hooks/useNetwork/useNetwork.mjs +47 -48
- package/dist/esm/hooks/useNetwork/useNetwork.mjs.map +1 -1
- package/dist/esm/hooks/useObjectUrl/useObjectUrl.mjs +20 -0
- package/dist/esm/hooks/useObjectUrl/useObjectUrl.mjs.map +1 -0
- package/dist/esm/hooks/useOffsetPagination/useOffsetPagination.mjs +50 -40
- package/dist/esm/hooks/useOffsetPagination/useOffsetPagination.mjs.map +1 -1
- package/dist/esm/hooks/useOnce/useOnce.mjs +13 -13
- package/dist/esm/hooks/useOnce/useOnce.mjs.map +1 -1
- package/dist/esm/hooks/useOnline/useOnline.mjs +9 -8
- package/dist/esm/hooks/useOnline/useOnline.mjs.map +1 -1
- package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.mjs +12 -12
- package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.mjs.map +1 -1
- package/dist/esm/hooks/useOptimistic/useOptimistic.mjs +14 -13
- package/dist/esm/hooks/useOptimistic/useOptimistic.mjs.map +1 -1
- package/dist/esm/hooks/useOrientation/useOrientation.mjs +30 -29
- package/dist/esm/hooks/useOrientation/useOrientation.mjs.map +1 -1
- package/dist/esm/hooks/useOtpCredential/useOtpCredential.mjs +28 -25
- package/dist/esm/hooks/useOtpCredential/useOtpCredential.mjs.map +1 -1
- package/dist/esm/hooks/usePageLeave/usePageLeave.mjs +15 -14
- package/dist/esm/hooks/usePageLeave/usePageLeave.mjs.map +1 -1
- package/dist/esm/hooks/usePaint/usePaint.mjs +139 -151
- package/dist/esm/hooks/usePaint/usePaint.mjs.map +1 -1
- package/dist/esm/hooks/useParallax/useParallax.mjs +90 -96
- package/dist/esm/hooks/useParallax/useParallax.mjs.map +1 -1
- package/dist/esm/hooks/usePerformanceObserver/usePerformanceObserver.mjs +29 -23
- package/dist/esm/hooks/usePerformanceObserver/usePerformanceObserver.mjs.map +1 -1
- package/dist/esm/hooks/usePermission/usePermission.mjs +25 -27
- package/dist/esm/hooks/usePermission/usePermission.mjs.map +1 -1
- package/dist/esm/hooks/usePictureInPicture/usePictureInPicture.mjs +42 -38
- package/dist/esm/hooks/usePictureInPicture/usePictureInPicture.mjs.map +1 -1
- package/dist/esm/hooks/usePointerLock/usePointerLock.mjs +31 -30
- package/dist/esm/hooks/usePointerLock/usePointerLock.mjs.map +1 -1
- package/dist/esm/hooks/usePostMessage/usePostMessage.mjs +22 -23
- package/dist/esm/hooks/usePostMessage/usePostMessage.mjs.map +1 -1
- package/dist/esm/hooks/usePreferredColorScheme/usePreferredColorScheme.mjs +8 -7
- package/dist/esm/hooks/usePreferredColorScheme/usePreferredColorScheme.mjs.map +1 -1
- package/dist/esm/hooks/usePreferredContrast/usePreferredContrast.mjs +8 -7
- package/dist/esm/hooks/usePreferredContrast/usePreferredContrast.mjs.map +1 -1
- package/dist/esm/hooks/usePreferredDark/usePreferredDark.mjs +6 -5
- package/dist/esm/hooks/usePreferredDark/usePreferredDark.mjs.map +1 -1
- package/dist/esm/hooks/usePreferredLanguages/usePreferredLanguages.mjs +9 -8
- package/dist/esm/hooks/usePreferredLanguages/usePreferredLanguages.mjs.map +1 -1
- package/dist/esm/hooks/usePreferredReducedMotion/usePreferredReducedMotion.mjs +6 -5
- package/dist/esm/hooks/usePreferredReducedMotion/usePreferredReducedMotion.mjs.map +1 -1
- package/dist/esm/hooks/usePrevious/usePrevious.mjs +9 -8
- package/dist/esm/hooks/usePrevious/usePrevious.mjs.map +1 -1
- package/dist/esm/hooks/useProgress/useProgress.mjs +28 -24
- package/dist/esm/hooks/useProgress/useProgress.mjs.map +1 -1
- package/dist/esm/hooks/useQuery/useQuery.mjs +61 -52
- package/dist/esm/hooks/useQuery/useQuery.mjs.map +1 -1
- package/dist/esm/hooks/useQueue/useQueue.mjs +23 -22
- package/dist/esm/hooks/useQueue/useQueue.mjs.map +1 -1
- package/dist/esm/hooks/useRaf/useRaf.mjs +32 -29
- package/dist/esm/hooks/useRaf/useRaf.mjs.map +1 -1
- package/dist/esm/hooks/useRafState/useRafState.mjs +12 -11
- package/dist/esm/hooks/useRafState/useRafState.mjs.map +1 -1
- package/dist/esm/hooks/useRefState/useRefState.mjs +24 -24
- package/dist/esm/hooks/useRefState/useRefState.mjs.map +1 -1
- package/dist/esm/hooks/useRenderCount/useRenderCount.mjs +11 -10
- package/dist/esm/hooks/useRenderCount/useRenderCount.mjs.map +1 -1
- package/dist/esm/hooks/useRenderInfo/useRenderInfo.mjs +14 -13
- package/dist/esm/hooks/useRenderInfo/useRenderInfo.mjs.map +1 -1
- package/dist/esm/hooks/useRerender/useRerender.mjs +6 -5
- package/dist/esm/hooks/useRerender/useRerender.mjs.map +1 -1
- package/dist/esm/hooks/useResizeObserver/useResizeObserver.mjs +33 -24
- package/dist/esm/hooks/useResizeObserver/useResizeObserver.mjs.map +1 -1
- package/dist/esm/hooks/useRightClick/useRightClick.mjs +37 -34
- package/dist/esm/hooks/useRightClick/useRightClick.mjs.map +1 -1
- package/dist/esm/hooks/useScript/useScript.mjs +28 -31
- package/dist/esm/hooks/useScript/useScript.mjs.map +1 -1
- package/dist/esm/hooks/useScroll/useScroll.mjs +95 -81
- package/dist/esm/hooks/useScroll/useScroll.mjs.map +1 -1
- package/dist/esm/hooks/useScrollIntoView/useScrollIntoView.mjs +33 -34
- package/dist/esm/hooks/useScrollIntoView/useScrollIntoView.mjs.map +1 -1
- package/dist/esm/hooks/useScrollTo/useScrollTo.mjs +33 -21
- package/dist/esm/hooks/useScrollTo/useScrollTo.mjs.map +1 -1
- package/dist/esm/hooks/useSessionStorage/useSessionStorage.mjs +10 -9
- package/dist/esm/hooks/useSessionStorage/useSessionStorage.mjs.map +1 -1
- package/dist/esm/hooks/useSet/useSet.mjs +30 -29
- package/dist/esm/hooks/useSet/useSet.mjs.map +1 -1
- package/dist/esm/hooks/useShallowEffect/useShallowEffect.mjs +20 -22
- package/dist/esm/hooks/useShallowEffect/useShallowEffect.mjs.map +1 -1
- package/dist/esm/hooks/useShare/useShare.mjs +18 -14
- package/dist/esm/hooks/useShare/useShare.mjs.map +1 -1
- package/dist/esm/hooks/useSize/useSize.mjs +40 -30
- package/dist/esm/hooks/useSize/useSize.mjs.map +1 -1
- package/dist/esm/hooks/useSpeechRecognition/useSpeechRecognition.mjs +34 -44
- package/dist/esm/hooks/useSpeechRecognition/useSpeechRecognition.mjs.map +1 -1
- package/dist/esm/hooks/useSpeechSynthesis/useSpeechSynthesis.mjs +65 -64
- package/dist/esm/hooks/useSpeechSynthesis/useSpeechSynthesis.mjs.map +1 -1
- package/dist/esm/hooks/useStateHistory/useStateHistory.mjs +96 -84
- package/dist/esm/hooks/useStateHistory/useStateHistory.mjs.map +1 -1
- package/dist/esm/hooks/useStep/useStep.mjs +27 -28
- package/dist/esm/hooks/useStep/useStep.mjs.map +1 -1
- package/dist/esm/hooks/useSticky/useSticky.mjs +36 -30
- package/dist/esm/hooks/useSticky/useSticky.mjs.map +1 -1
- package/dist/esm/hooks/useStopwatch/useStopwatch.mjs +59 -57
- package/dist/esm/hooks/useStopwatch/useStopwatch.mjs.map +1 -1
- package/dist/esm/hooks/useStorage/useStorage.mjs +61 -62
- package/dist/esm/hooks/useStorage/useStorage.mjs.map +1 -1
- package/dist/esm/hooks/useTextDirection/useTextDirection.mjs +35 -30
- package/dist/esm/hooks/useTextDirection/useTextDirection.mjs.map +1 -1
- package/dist/esm/hooks/useTextSelection/useTextSelection.mjs +25 -27
- package/dist/esm/hooks/useTextSelection/useTextSelection.mjs.map +1 -1
- package/dist/esm/hooks/useTextareaAutosize/useTextareaAutosize.mjs +53 -52
- package/dist/esm/hooks/useTextareaAutosize/useTextareaAutosize.mjs.map +1 -1
- package/dist/esm/hooks/useThrottleCallback/useThrottleCallback.mjs +18 -17
- package/dist/esm/hooks/useThrottleCallback/useThrottleCallback.mjs.map +1 -1
- package/dist/esm/hooks/useThrottleEffect/useThrottleEffect.mjs +21 -21
- package/dist/esm/hooks/useThrottleEffect/useThrottleEffect.mjs.map +1 -1
- package/dist/esm/hooks/useThrottleState/useThrottleState.mjs +10 -9
- package/dist/esm/hooks/useThrottleState/useThrottleState.mjs.map +1 -1
- package/dist/esm/hooks/useThrottleValue/useThrottleValue.mjs +12 -11
- package/dist/esm/hooks/useThrottleValue/useThrottleValue.mjs.map +1 -1
- package/dist/esm/hooks/useTime/useTime.mjs +14 -13
- package/dist/esm/hooks/useTime/useTime.mjs.map +1 -1
- package/dist/esm/hooks/useTimeout/useTimeout.mjs +19 -15
- package/dist/esm/hooks/useTimeout/useTimeout.mjs.map +1 -1
- package/dist/esm/hooks/useTimer/useTimer.mjs +61 -66
- package/dist/esm/hooks/useTimer/useTimer.mjs.map +1 -1
- package/dist/esm/hooks/useToggle/useToggle.mjs +12 -11
- package/dist/esm/hooks/useToggle/useToggle.mjs.map +1 -1
- package/dist/esm/hooks/useUnmount/useUnmount.mjs +11 -13
- package/dist/esm/hooks/useUnmount/useUnmount.mjs.map +1 -1
- package/dist/esm/hooks/useUrlSearchParam/useUrlSearchParam.mjs +66 -76
- package/dist/esm/hooks/useUrlSearchParam/useUrlSearchParam.mjs.map +1 -1
- package/dist/esm/hooks/useUrlSearchParams/useUrlSearchParams.mjs +50 -60
- package/dist/esm/hooks/useUrlSearchParams/useUrlSearchParams.mjs.map +1 -1
- package/dist/esm/hooks/useVibrate/useVibrate.mjs +28 -21
- package/dist/esm/hooks/useVibrate/useVibrate.mjs.map +1 -1
- package/dist/esm/hooks/useVirtualKeyboard/useVirtualKeyboard.mjs +30 -29
- package/dist/esm/hooks/useVirtualKeyboard/useVirtualKeyboard.mjs.map +1 -1
- package/dist/esm/hooks/useVisibility/useVisibility.mjs +41 -39
- package/dist/esm/hooks/useVisibility/useVisibility.mjs.map +1 -1
- package/dist/esm/hooks/useWakeLock/useWakeLock.mjs +28 -23
- package/dist/esm/hooks/useWakeLock/useWakeLock.mjs.map +1 -1
- package/dist/esm/hooks/useWebSocket/useWebSocket.mjs +38 -35
- package/dist/esm/hooks/useWebSocket/useWebSocket.mjs.map +1 -1
- package/dist/esm/hooks/useWindowEvent/useWindowEvent.mjs +7 -6
- package/dist/esm/hooks/useWindowEvent/useWindowEvent.mjs.map +1 -1
- package/dist/esm/hooks/useWindowFocus/useWindowFocus.mjs +14 -13
- package/dist/esm/hooks/useWindowFocus/useWindowFocus.mjs.map +1 -1
- package/dist/esm/hooks/useWindowScroll/useWindowScroll.mjs +29 -21
- package/dist/esm/hooks/useWindowScroll/useWindowScroll.mjs.map +1 -1
- package/dist/esm/hooks/useWindowSize/useWindowSize.mjs +24 -23
- package/dist/esm/hooks/useWindowSize/useWindowSize.mjs.map +1 -1
- package/dist/esm/hooks/useWizard/useWizard.mjs +25 -20
- package/dist/esm/hooks/useWizard/useWizard.mjs.map +1 -1
- package/dist/esm/index.mjs +173 -394
- package/dist/esm/utils/helpers/copy.mjs +18 -18
- package/dist/esm/utils/helpers/copy.mjs.map +1 -1
- package/dist/esm/utils/helpers/debounce.mjs +10 -10
- package/dist/esm/utils/helpers/debounce.mjs.map +1 -1
- package/dist/esm/utils/helpers/getDate.mjs +20 -16
- package/dist/esm/utils/helpers/getDate.mjs.map +1 -1
- package/dist/esm/utils/helpers/getRetry.mjs +6 -5
- package/dist/esm/utils/helpers/getRetry.mjs.map +1 -1
- package/dist/esm/utils/helpers/isTarget.mjs +10 -19
- package/dist/esm/utils/helpers/isTarget.mjs.map +1 -1
- package/dist/esm/utils/helpers/throttle.mjs +20 -20
- package/dist/esm/utils/helpers/throttle.mjs.map +1 -1
- package/dist/types/helpers/index.d.ts +1 -0
- package/dist/types/helpers/makeDestructurable/makeDestructurable.d.ts +16 -0
- package/dist/types/hooks/browser.d.ts +2 -0
- package/dist/types/hooks/useEventListener/useEventListener.d.ts +0 -22
- package/dist/types/hooks/useField/useField.d.ts +3 -3
- package/dist/types/hooks/useFileSystemAccess/useFileSystemAccess.d.ts +116 -0
- package/dist/types/hooks/useKeyboard/useKeyboard.d.ts +4 -2
- package/dist/types/hooks/useObjectUrl/useObjectUrl.d.ts +24 -0
- package/dist/types/hooks/usePerformanceObserver/usePerformanceObserver.d.ts +1 -0
- package/dist/types/hooks/useScrollIntoView/useScrollIntoView.d.ts +1 -1
- package/dist/types/hooks/useWebSocket/useWebSocket.d.ts +1 -0
- package/package.json +5 -5
- package/dist/cjs/_virtual/client.cjs +0 -2
- package/dist/cjs/_virtual/client.cjs.map +0 -1
- package/dist/cjs/_virtual/client2.cjs +0 -2
- package/dist/cjs/_virtual/client2.cjs.map +0 -1
- package/dist/cjs/_virtual/index.cjs +0 -2
- package/dist/cjs/_virtual/index.cjs.map +0 -1
- package/dist/cjs/_virtual/react-dom-client.development.cjs +0 -2
- package/dist/cjs/_virtual/react-dom-client.development.cjs.map +0 -1
- package/dist/cjs/_virtual/react-dom-client.production.cjs +0 -2
- package/dist/cjs/_virtual/react-dom-client.production.cjs.map +0 -1
- package/dist/cjs/_virtual/scheduler.development.cjs +0 -2
- package/dist/cjs/_virtual/scheduler.development.cjs.map +0 -1
- package/dist/cjs/_virtual/scheduler.production.cjs +0 -2
- package/dist/cjs/_virtual/scheduler.production.cjs.map +0 -1
- package/dist/cjs/index.cjs.map +0 -1
- package/dist/cjs/node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/cjs/react-dom-client.development.cjs +0 -215
- package/dist/cjs/node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/cjs/react-dom-client.development.cjs.map +0 -1
- package/dist/cjs/node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/cjs/react-dom-client.production.cjs +0 -10
- package/dist/cjs/node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/cjs/react-dom-client.production.cjs.map +0 -1
- package/dist/cjs/node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/client.cjs +0 -2
- package/dist/cjs/node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/client.cjs.map +0 -1
- package/dist/cjs/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/cjs/scheduler.development.cjs +0 -2
- package/dist/cjs/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/cjs/scheduler.development.cjs.map +0 -1
- package/dist/cjs/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/cjs/scheduler.production.cjs +0 -2
- package/dist/cjs/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/cjs/scheduler.production.cjs.map +0 -1
- package/dist/cjs/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/index.cjs +0 -2
- package/dist/cjs/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/index.cjs.map +0 -1
- package/dist/esm/_virtual/client.mjs +0 -6
- package/dist/esm/_virtual/client.mjs.map +0 -1
- package/dist/esm/_virtual/client2.mjs +0 -5
- package/dist/esm/_virtual/client2.mjs.map +0 -1
- package/dist/esm/_virtual/index.mjs +0 -5
- package/dist/esm/_virtual/index.mjs.map +0 -1
- package/dist/esm/_virtual/react-dom-client.development.mjs +0 -5
- package/dist/esm/_virtual/react-dom-client.development.mjs.map +0 -1
- package/dist/esm/_virtual/react-dom-client.production.mjs +0 -5
- package/dist/esm/_virtual/react-dom-client.production.mjs.map +0 -1
- package/dist/esm/_virtual/scheduler.development.mjs +0 -5
- package/dist/esm/_virtual/scheduler.development.mjs.map +0 -1
- package/dist/esm/_virtual/scheduler.production.mjs +0 -5
- package/dist/esm/_virtual/scheduler.production.mjs.map +0 -1
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/cjs/react-dom-client.development.mjs +0 -17019
- package/dist/esm/node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/cjs/react-dom-client.development.mjs.map +0 -1
- package/dist/esm/node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/cjs/react-dom-client.production.mjs +0 -9745
- package/dist/esm/node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/cjs/react-dom-client.production.mjs.map +0 -1
- package/dist/esm/node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/client.mjs +0 -24
- package/dist/esm/node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/client.mjs.map +0 -1
- package/dist/esm/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/cjs/scheduler.development.mjs +0 -228
- package/dist/esm/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/cjs/scheduler.development.mjs.map +0 -1
- package/dist/esm/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/cjs/scheduler.production.mjs +0 -225
- package/dist/esm/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/cjs/scheduler.production.mjs.map +0 -1
- package/dist/esm/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/index.mjs +0 -11
- package/dist/esm/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/index.mjs.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
//# sourceMappingURL=getDate.cjs.map
|
|
1
|
+
var e=(e=new Date)=>{let t=e.getSeconds(),n=e.getMinutes(),r=e.getHours(),i=r%12==0?12:r%12,a=r>=12?`pm`:`am`,o=e.getDate(),s=e.getMonth()+1,c=e.getFullYear(),l=e.getTime();return{seconds:t,minutes:n,hours:r,meridiemHours:{value:i,type:a},day:o,month:s,year:c,timestamp:l}};exports.getDate=e;
|
|
2
|
+
//# sourceMappingURL=getDate.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDate.cjs","sources":["../../../../src/utils/helpers/getDate.ts"],"sourcesContent":["export const getDate = (now: Date = new Date()) => {\n const seconds = now.getSeconds();\n const minutes = now.getMinutes();\n const hours = now.getHours();\n const meridiemHours = hours % 12 === 0 ? 12 : hours % 12;\n const meridiemType = hours >= 12 ? 'pm' : 'am';\n const day = now.getDate();\n const month = now.getMonth() + 1;\n const year = now.getFullYear();\n const timestamp = now.getTime();\n\n return {\n seconds,\n minutes,\n hours,\n meridiemHours: { value: meridiemHours, type: meridiemType },\n day,\n month,\n year,\n timestamp\n };\n};\n"],"
|
|
1
|
+
{"version":3,"file":"getDate.cjs","names":[],"sources":["../../../../src/utils/helpers/getDate.ts"],"sourcesContent":["export const getDate = (now: Date = new Date()) => {\n const seconds = now.getSeconds();\n const minutes = now.getMinutes();\n const hours = now.getHours();\n const meridiemHours = hours % 12 === 0 ? 12 : hours % 12;\n const meridiemType = hours >= 12 ? 'pm' : 'am';\n const day = now.getDate();\n const month = now.getMonth() + 1;\n const year = now.getFullYear();\n const timestamp = now.getTime();\n\n return {\n seconds,\n minutes,\n hours,\n meridiemHours: { value: meridiemHours, type: meridiemType },\n day,\n month,\n year,\n timestamp\n };\n};\n"],"mappings":"AAAA,IAAa,GAAW,EAAY,IAAI,OAAW,CACjD,IAAM,EAAU,EAAI,YAAY,CAC1B,EAAU,EAAI,YAAY,CAC1B,EAAQ,EAAI,UAAU,CACtB,EAAgB,EAAQ,IAAO,EAAI,GAAK,EAAQ,GAChD,EAAe,GAAS,GAAK,KAAO,KACpC,EAAM,EAAI,SAAS,CACnB,EAAQ,EAAI,UAAU,CAAG,EACzB,EAAO,EAAI,aAAa,CACxB,EAAY,EAAI,SAAS,CAE/B,MAAO,CACL,UACA,UACA,QACA,cAAe,CAAE,MAAO,EAAe,KAAM,EAAc,CAC3D,MACA,QACA,OACA,YACD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
//# sourceMappingURL=getRetry.cjs.map
|
|
1
|
+
var e=e=>typeof e==`number`?e:e?1:0;exports.getRetry=e;
|
|
2
|
+
//# sourceMappingURL=getRetry.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRetry.cjs","sources":["../../../../src/utils/helpers/getRetry.ts"],"sourcesContent":["export const getRetry = (retry: boolean | number) => {\n if (typeof retry === 'number') return retry;\n return retry ? 1 : 0;\n};\n"],"
|
|
1
|
+
{"version":3,"file":"getRetry.cjs","names":[],"sources":["../../../../src/utils/helpers/getRetry.ts"],"sourcesContent":["export const getRetry = (retry: boolean | number) => {\n if (typeof retry === 'number') return retry;\n return retry ? 1 : 0;\n};\n"],"mappings":"AAAA,IAAa,EAAY,GACnB,OAAO,GAAU,SAAiB,EAC/B,EAAQ,EAAI"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
//# sourceMappingURL=isTarget.cjs.map
|
|
1
|
+
var e=Symbol(`target`),t=t=>({value:t,type:e}),n=e=>typeof e==`object`&&`current`in e,r=e=>typeof e==`function`&&`state`in e&&`current`in e,i=t=>typeof t==`object`&&t&&`type`in t&&t.type===e&&`value`in t,a=e=>n(e)||r(e)||i(e),o=e=>`current`in e?e.current:typeof e.value==`function`?e.value():typeof e.value==`string`?document.querySelector(e.value):(e.value instanceof Document||e.value instanceof Window||e.value instanceof Element,e.value),s=e=>e&&`state`in e&&e.state,c=e=>r(e)?e.state:i(e)?e.value:e;a.wrap=t,a.getElement=o,a.getRefState=s,a.getRawElement=c,exports.getRawElement=c,exports.getRefState=s,exports.isBrowserTarget=i,exports.isRef=n,exports.isRefState=r,exports.isTarget=a,exports.target=t,exports.targetSymbol=e;
|
|
2
|
+
//# sourceMappingURL=isTarget.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isTarget.cjs","sources":["../../../../src/utils/helpers/isTarget.ts"],"sourcesContent":["import type { RefObject } from 'react';\r\n\r\nexport const targetSymbol = Symbol('target');\r\n\r\nexport type Target = (() => Element) | string | Document | Element | Window;\r\ninterface BrowserTarget {\r\n type: symbol;\r\n value: Target;\r\n}\r\ninterface StateRef<Value> {\r\n (node: Value): void;\r\n current: Value;\r\n state: Value;\r\n}\r\n\r\nexport type HookTarget =\r\n | BrowserTarget\r\n | RefObject<Element | null | undefined>\r\n | StateRef<Element | null | undefined>;\r\n\r\nexport const target = (target: Target) => ({\r\n value: target,\r\n type: targetSymbol\r\n});\r\n\r\nexport const isRef = (target: HookTarget) => typeof target === 'object' && 'current' in target;\r\n\r\nexport const isRefState = (target: HookTarget) =>\r\n typeof target === 'function' && 'state' in target && 'current' in target;\r\n\r\nexport const isBrowserTarget = (target: HookTarget) =>\r\n typeof target === 'object' &&\r\n target &&\r\n 'type' in target &&\r\n target.type === targetSymbol &&\r\n 'value' in target;\r\n\r\nexport const isTarget = (target: HookTarget) =>\r\n isRef(target) || isRefState(target) || isBrowserTarget(target);\r\n\r\nconst getElement = (target: HookTarget) => {\r\n if ('current' in target) {\r\n return target.current;\r\n }\r\n\r\n if (typeof target.value === 'function') {\r\n return target.value();\r\n }\r\n\r\n if (typeof target.value === 'string') {\r\n return document.querySelector(target.value);\r\n }\r\n\r\n if (target.value instanceof Document) {\r\n return target.value;\r\n }\r\n\r\n if (target.value instanceof Window) {\r\n return target.value;\r\n }\r\n\r\n if (target.value instanceof Element) {\r\n return target.value;\r\n }\r\n\r\n return target.value;\r\n};\r\nexport const getRefState = (target?: HookTarget) => target && 'state' in target && target.state;\r\nexport const getRawElement = (target: HookTarget) => {\r\n if (isRefState(target)) return target.state;\r\n if (isBrowserTarget(target)) return (target as BrowserTarget).value;\r\n\r\n return target;\r\n};\r\n\r\nisTarget.wrap = target;\r\nisTarget.getElement = getElement;\r\nisTarget.getRefState = getRefState;\r\nisTarget.getRawElement = getRawElement;\r\n"],"
|
|
1
|
+
{"version":3,"file":"isTarget.cjs","names":[],"sources":["../../../../src/utils/helpers/isTarget.ts"],"sourcesContent":["import type { RefObject } from 'react';\r\n\r\nexport const targetSymbol = Symbol('target');\r\n\r\nexport type Target = (() => Element) | string | Document | Element | Window;\r\ninterface BrowserTarget {\r\n type: symbol;\r\n value: Target;\r\n}\r\ninterface StateRef<Value> {\r\n (node: Value): void;\r\n current: Value;\r\n state: Value;\r\n}\r\n\r\nexport type HookTarget =\r\n | BrowserTarget\r\n | RefObject<Element | null | undefined>\r\n | StateRef<Element | null | undefined>;\r\n\r\nexport const target = (target: Target) => ({\r\n value: target,\r\n type: targetSymbol\r\n});\r\n\r\nexport const isRef = (target: HookTarget) => typeof target === 'object' && 'current' in target;\r\n\r\nexport const isRefState = (target: HookTarget) =>\r\n typeof target === 'function' && 'state' in target && 'current' in target;\r\n\r\nexport const isBrowserTarget = (target: HookTarget) =>\r\n typeof target === 'object' &&\r\n target &&\r\n 'type' in target &&\r\n target.type === targetSymbol &&\r\n 'value' in target;\r\n\r\nexport const isTarget = (target: HookTarget) =>\r\n isRef(target) || isRefState(target) || isBrowserTarget(target);\r\n\r\nconst getElement = (target: HookTarget) => {\r\n if ('current' in target) {\r\n return target.current;\r\n }\r\n\r\n if (typeof target.value === 'function') {\r\n return target.value();\r\n }\r\n\r\n if (typeof target.value === 'string') {\r\n return document.querySelector(target.value);\r\n }\r\n\r\n if (target.value instanceof Document) {\r\n return target.value;\r\n }\r\n\r\n if (target.value instanceof Window) {\r\n return target.value;\r\n }\r\n\r\n if (target.value instanceof Element) {\r\n return target.value;\r\n }\r\n\r\n return target.value;\r\n};\r\nexport const getRefState = (target?: HookTarget) => target && 'state' in target && target.state;\r\nexport const getRawElement = (target: HookTarget) => {\r\n if (isRefState(target)) return target.state;\r\n if (isBrowserTarget(target)) return (target as BrowserTarget).value;\r\n\r\n return target;\r\n};\r\n\r\nisTarget.wrap = target;\r\nisTarget.getElement = getElement;\r\nisTarget.getRefState = getRefState;\r\nisTarget.getRawElement = getRawElement;\r\n"],"mappings":"AAEA,IAAa,EAAe,OAAO,SAAS,CAkB/B,EAAU,IAAoB,CACzC,MAAO,EACP,KAAM,EACP,EAEY,EAAS,GAAuB,OAAO,GAAW,UAAY,YAAa,EAE3E,EAAc,GACzB,OAAO,GAAW,YAAc,UAAW,GAAU,YAAa,EAEvD,EAAmB,GAC9B,OAAO,GAAW,UAClB,GACA,SAAU,GACV,EAAO,OAAS,GAChB,UAAW,EAEA,EAAY,GACvB,EAAM,EAAO,EAAI,EAAW,EAAO,EAAI,EAAgB,EAAO,CAE1D,EAAc,GACd,YAAa,EACR,EAAO,QAGZ,OAAO,EAAO,OAAU,WACnB,EAAO,OAAO,CAGnB,OAAO,EAAO,OAAU,SACnB,SAAS,cAAc,EAAO,MAAM,EAGzC,EAAO,iBAAiB,UAIxB,EAAO,iBAAiB,QAIxB,EAAO,iBAAiB,QACnB,EAAO,OAKL,EAAe,GAAwB,GAAU,UAAW,GAAU,EAAO,MAC7E,EAAiB,GACxB,EAAW,EAAO,CAAS,EAAO,MAClC,EAAgB,EAAO,CAAU,EAAyB,MAEvD,EAGT,EAAS,KAAO,EAChB,EAAS,WAAa,EACtB,EAAS,YAAc,EACvB,EAAS,cAAgB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
//# sourceMappingURL=throttle.cjs.map
|
|
1
|
+
var e=(e,t)=>{let n=!1,r=null,i=()=>{if(!r){n=!1;return}e.apply(void 0,r),r=null,setTimeout(i,t)};return function(...a){if(n){r=a;return}e.apply(this,a),n=!0,setTimeout(i,t)}};exports.throttle=e;
|
|
2
|
+
//# sourceMappingURL=throttle.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"throttle.cjs","sources":["../../../../src/utils/helpers/throttle.ts"],"sourcesContent":["export const throttle = <Params extends any[]>(\n callback: (...args: Params) => void,\n delay: number\n): ((...args: Params) => void) => {\n let isCalled = false;\n let lastArgs: Params | null = null;\n\n const timer = () => {\n if (!lastArgs) {\n isCalled = false;\n return;\n }\n\n callback.apply(this, lastArgs);\n lastArgs = null;\n setTimeout(timer, delay);\n };\n\n return function (this: any, ...args: Params) {\n if (isCalled) {\n lastArgs = args;\n return;\n }\n\n callback.apply(this, args);\n isCalled = true;\n setTimeout(timer, delay);\n };\n};\n"],"
|
|
1
|
+
{"version":3,"file":"throttle.cjs","names":[],"sources":["../../../../src/utils/helpers/throttle.ts"],"sourcesContent":["export const throttle = <Params extends any[]>(\n callback: (...args: Params) => void,\n delay: number\n): ((...args: Params) => void) => {\n let isCalled = false;\n let lastArgs: Params | null = null;\n\n const timer = () => {\n if (!lastArgs) {\n isCalled = false;\n return;\n }\n\n callback.apply(this, lastArgs);\n lastArgs = null;\n setTimeout(timer, delay);\n };\n\n return function (this: any, ...args: Params) {\n if (isCalled) {\n lastArgs = args;\n return;\n }\n\n callback.apply(this, args);\n isCalled = true;\n setTimeout(timer, delay);\n };\n};\n"],"mappings":"AAAA,IAAa,GACX,EACA,IACgC,CAChC,IAAI,EAAW,GACX,EAA0B,KAExB,MAAc,CAClB,GAAI,CAAC,EAAU,CACb,EAAW,GACX,OAGF,EAAS,MAAA,IAAA,GAAY,EAAS,CAC9B,EAAW,KACX,WAAW,EAAO,EAAM,EAG1B,OAAO,SAAqB,GAAG,EAAc,CAC3C,GAAI,EAAU,CACZ,EAAW,EACX,OAGF,EAAS,MAAM,KAAM,EAAK,CAC1B,EAAW,GACX,WAAW,EAAO,EAAM"}
|
|
@@ -1,34 +1,33 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
};
|
|
1
|
+
import { createContext as e, useContext as t, useMemo as n, useState as r } from "react";
|
|
2
|
+
import { jsx as i } from "react/jsx-runtime";
|
|
3
|
+
//#region src/helpers/createContext/createContext.tsx
|
|
4
|
+
var a = (a = void 0, o = {}) => {
|
|
5
|
+
let s = e({
|
|
6
|
+
value: a,
|
|
7
|
+
set: () => {}
|
|
8
|
+
});
|
|
9
|
+
s.displayName = o.name;
|
|
10
|
+
function c(e) {
|
|
11
|
+
let n = t(s);
|
|
12
|
+
if (!n && o.strict) throw Error(`Context hook ${o.name} must be used inside a Provider`);
|
|
13
|
+
return e ? e(n.value) : n;
|
|
14
|
+
}
|
|
15
|
+
return {
|
|
16
|
+
useSelect: c,
|
|
17
|
+
instance: s,
|
|
18
|
+
Provider: ({ children: e, initialValue: t }) => {
|
|
19
|
+
let [o, c] = r(t ?? a);
|
|
20
|
+
return /* @__PURE__ */ i(s, {
|
|
21
|
+
value: n(() => ({
|
|
22
|
+
value: o,
|
|
23
|
+
set: c
|
|
24
|
+
}), [o]),
|
|
25
|
+
children: e
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
};
|
|
30
29
|
};
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
//# sourceMappingURL=createContext.mjs.map
|
|
30
|
+
//#endregion
|
|
31
|
+
export { a as createContext };
|
|
32
|
+
|
|
33
|
+
//# sourceMappingURL=createContext.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createContext.mjs","sources":["../../../../src/helpers/createContext/createContext.tsx"],"sourcesContent":["import type { JSX, ReactNode } from 'react';\r\n\r\nimport { createContext as createReactContext, useContext, useMemo, useState } from 'react';\r\n\r\n/** The create context options type */\r\nexport interface CreateContextOptions {\r\n /** Display name for the context (useful for debugging) */\r\n name?: string;\r\n /** Whether to throw an error if context is used outside of Provider */\r\n strict?: boolean;\r\n}\r\n\r\n/** The context value type */\r\nexport interface ContextValue<Value> {\r\n /** The context value */\r\n value: Value | undefined;\r\n /** The context set function */\r\n set: (value: Value) => void;\r\n}\r\n\r\n/** The provider props type */\r\nexport interface ProviderProps<Value> {\r\n /** The children */\r\n children?: ReactNode;\r\n /** The initial value */\r\n initialValue?: Value;\r\n}\r\n\r\n/** The create context return type */\r\nexport interface CreateContextReturn<Value> {\r\n /** The context instance */\r\n instance: React.Context<ContextValue<Value>>;\r\n /** The provider component */\r\n Provider: (props: ProviderProps<Value>) => JSX.Element;\r\n /** The selector hook */\r\n useSelect: {\r\n <Selected>(selector: (value: Value) => Selected): Selected;\r\n (): ContextValue<Value>;\r\n };\r\n}\r\n\r\n/**\r\n * @name createContext\r\n * @description - Creates a typed context with additional utilities\r\n * @category Helpers\r\n * @usage high\r\n *\r\n * @template Value - The type of value that will be stored in the context\r\n * @param {Value | undefined} [defaultValue] - Default value for the context\r\n * @param {CreateContextOptions<Value>} [options] - Additional options for context creation\r\n * @returns {CreateContextReturn<Value>} Object containing context utilities and components\r\n *\r\n * @example\r\n * const { useSelect, instance, Provider } = createContext<number>(0);\r\n */\r\nexport const createContext = <Value,>(\r\n defaultValue: Value | undefined = undefined,\r\n options: CreateContextOptions = {}\r\n): CreateContextReturn<Value> => {\r\n const Context = createReactContext<{\r\n value: Value | undefined;\r\n set: (value: Value) => void;\r\n }>({\r\n value: defaultValue,\r\n set: () => {}\r\n });\r\n\r\n Context.displayName = options.name;\r\n\r\n function useSelect(): ContextValue<Value>;\r\n function useSelect<Selected>(selector: (value: Value) => Selected): Selected;\r\n function useSelect<Selected>(selector?: (value: Value) => Selected) {\r\n const context = useContext(Context);\r\n\r\n if (!context && options.strict) {\r\n throw new Error(`Context hook ${options.name} must be used inside a Provider`);\r\n }\r\n\r\n if (!selector) {\r\n return context;\r\n }\r\n\r\n return selector(context.value as Value);\r\n }\r\n\r\n const Provider = ({ children, initialValue }: ProviderProps<Value>) => {\r\n const [profile, setProfile] = useState<Value | undefined>(initialValue ?? defaultValue);\r\n\r\n const value = useMemo(\r\n () => ({\r\n value: profile,\r\n set: setProfile\r\n }),\r\n [profile]\r\n );\r\n\r\n return <Context value={value}>{children}</Context>;\r\n };\r\n\r\n return {\r\n useSelect,\r\n instance: Context,\r\n Provider\r\n } as const;\r\n};\r\n"],"
|
|
1
|
+
{"version":3,"file":"createContext.mjs","names":[],"sources":["../../../../src/helpers/createContext/createContext.tsx"],"sourcesContent":["import type { JSX, ReactNode } from 'react';\r\n\r\nimport { createContext as createReactContext, useContext, useMemo, useState } from 'react';\r\n\r\n/** The create context options type */\r\nexport interface CreateContextOptions {\r\n /** Display name for the context (useful for debugging) */\r\n name?: string;\r\n /** Whether to throw an error if context is used outside of Provider */\r\n strict?: boolean;\r\n}\r\n\r\n/** The context value type */\r\nexport interface ContextValue<Value> {\r\n /** The context value */\r\n value: Value | undefined;\r\n /** The context set function */\r\n set: (value: Value) => void;\r\n}\r\n\r\n/** The provider props type */\r\nexport interface ProviderProps<Value> {\r\n /** The children */\r\n children?: ReactNode;\r\n /** The initial value */\r\n initialValue?: Value;\r\n}\r\n\r\n/** The create context return type */\r\nexport interface CreateContextReturn<Value> {\r\n /** The context instance */\r\n instance: React.Context<ContextValue<Value>>;\r\n /** The provider component */\r\n Provider: (props: ProviderProps<Value>) => JSX.Element;\r\n /** The selector hook */\r\n useSelect: {\r\n <Selected>(selector: (value: Value) => Selected): Selected;\r\n (): ContextValue<Value>;\r\n };\r\n}\r\n\r\n/**\r\n * @name createContext\r\n * @description - Creates a typed context with additional utilities\r\n * @category Helpers\r\n * @usage high\r\n *\r\n * @template Value - The type of value that will be stored in the context\r\n * @param {Value | undefined} [defaultValue] - Default value for the context\r\n * @param {CreateContextOptions<Value>} [options] - Additional options for context creation\r\n * @returns {CreateContextReturn<Value>} Object containing context utilities and components\r\n *\r\n * @example\r\n * const { useSelect, instance, Provider } = createContext<number>(0);\r\n */\r\nexport const createContext = <Value,>(\r\n defaultValue: Value | undefined = undefined,\r\n options: CreateContextOptions = {}\r\n): CreateContextReturn<Value> => {\r\n const Context = createReactContext<{\r\n value: Value | undefined;\r\n set: (value: Value) => void;\r\n }>({\r\n value: defaultValue,\r\n set: () => {}\r\n });\r\n\r\n Context.displayName = options.name;\r\n\r\n function useSelect(): ContextValue<Value>;\r\n function useSelect<Selected>(selector: (value: Value) => Selected): Selected;\r\n function useSelect<Selected>(selector?: (value: Value) => Selected) {\r\n const context = useContext(Context);\r\n\r\n if (!context && options.strict) {\r\n throw new Error(`Context hook ${options.name} must be used inside a Provider`);\r\n }\r\n\r\n if (!selector) {\r\n return context;\r\n }\r\n\r\n return selector(context.value as Value);\r\n }\r\n\r\n const Provider = ({ children, initialValue }: ProviderProps<Value>) => {\r\n const [profile, setProfile] = useState<Value | undefined>(initialValue ?? defaultValue);\r\n\r\n const value = useMemo(\r\n () => ({\r\n value: profile,\r\n set: setProfile\r\n }),\r\n [profile]\r\n );\r\n\r\n return <Context value={value}>{children}</Context>;\r\n };\r\n\r\n return {\r\n useSelect,\r\n instance: Context,\r\n Provider\r\n } as const;\r\n};\r\n"],"mappings":";;;AAuDA,IAAa,KACX,IAAkC,KAAA,GAClC,IAAgC,EAAE,KACH;CAC/B,IAAM,IAAU,EAGb;EACD,OAAO;EACP,WAAW;EACZ,CAAC;AAEF,GAAQ,cAAc,EAAQ;CAI9B,SAAS,EAAoB,GAAuC;EAClE,IAAM,IAAU,EAAW,EAAQ;AAEnC,MAAI,CAAC,KAAW,EAAQ,OACtB,OAAU,MAAM,gBAAgB,EAAQ,KAAK,iCAAiC;AAOhF,SAJK,IAIE,EAAS,EAAQ,MAAe,GAH9B;;AAoBX,QAAO;EACL;EACA,UAAU;EACV,WAjBgB,EAAE,aAAU,sBAAyC;GACrE,IAAM,CAAC,GAAS,KAAc,EAA4B,KAAgB,EAAa;AAUvF,UAAO,kBAAC,GAAD;IAAgB,OART,SACL;KACL,OAAO;KACP,KAAK;KACN,GACD,CAAC,EAAQ,CACV;IAE8B;IAAmB,CAAA;;EAOnD"}
|
|
@@ -1,13 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { createContext as e, useContext as t } from "react";
|
|
2
|
+
import { jsx as n } from "react/jsx-runtime";
|
|
3
|
+
//#region src/helpers/createContextHook/createContextHook.tsx
|
|
4
|
+
var r = (r) => {
|
|
5
|
+
let i = e(null);
|
|
6
|
+
return {
|
|
7
|
+
Provider: ({ children: e, params: t }) => {
|
|
8
|
+
let a = r(...t);
|
|
9
|
+
return /* @__PURE__ */ n(i.Provider, {
|
|
10
|
+
value: a,
|
|
11
|
+
children: e
|
|
12
|
+
});
|
|
13
|
+
},
|
|
14
|
+
use: () => t(i)
|
|
15
|
+
};
|
|
9
16
|
};
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
//# sourceMappingURL=createContextHook.mjs.map
|
|
17
|
+
//#endregion
|
|
18
|
+
export { r as createContextHook };
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=createContextHook.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createContextHook.mjs","sources":["../../../../src/helpers/createContextHook/createContextHook.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { createContext, useContext } from 'react';\n\n/**\n * @name createContextHook\n * @description - Hook that runs inside a Provider; Provider accepts params (the hook's arguments). Use when you need a scoped instance per subtree.\n * @category Helpers\n * @usage low\n *\n * @warning - For complex interfaces, we strongly recommend using state management solutions outside of React like createStore, reatom, effector, or zustand instead of context\n *\n * @param useHook - The hook to run in the Provider (e.g. useMediaQuery)\n * @returns { Provider, use } — Provider takes params; use() returns the value and must be used inside Provider\n *\n * @example\n * const { Provider, use } = createContextHook(useMediaQuery);\n * <Provider params={[\"(max-width: 768px)\"]}>\n * <Component />\n * </Provider>\n * const matches = use();\n */\nexport const createContextHook = <Hook extends (...args: any[]) => any>(useHook: Hook) => {\n type Value = ReturnType<Hook>;\n const Context = createContext<Value | null>(null);\n\n const Provider = ({ children, params }: { children: ReactNode; params: Parameters<Hook> }) => {\n const value = useHook(...params) as Value;\n return <Context.Provider value={value}>{children}</Context.Provider>;\n };\n\n const use = () => useContext(Context);\n\n return { Provider, use };\n};\n"],"
|
|
1
|
+
{"version":3,"file":"createContextHook.mjs","names":[],"sources":["../../../../src/helpers/createContextHook/createContextHook.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { createContext, useContext } from 'react';\n\n/**\n * @name createContextHook\n * @description - Hook that runs inside a Provider; Provider accepts params (the hook's arguments). Use when you need a scoped instance per subtree.\n * @category Helpers\n * @usage low\n *\n * @warning - For complex interfaces, we strongly recommend using state management solutions outside of React like createStore, reatom, effector, or zustand instead of context\n *\n * @param useHook - The hook to run in the Provider (e.g. useMediaQuery)\n * @returns { Provider, use } — Provider takes params; use() returns the value and must be used inside Provider\n *\n * @example\n * const { Provider, use } = createContextHook(useMediaQuery);\n * <Provider params={[\"(max-width: 768px)\"]}>\n * <Component />\n * </Provider>\n * const matches = use();\n */\nexport const createContextHook = <Hook extends (...args: any[]) => any>(useHook: Hook) => {\n type Value = ReturnType<Hook>;\n const Context = createContext<Value | null>(null);\n\n const Provider = ({ children, params }: { children: ReactNode; params: Parameters<Hook> }) => {\n const value = useHook(...params) as Value;\n return <Context.Provider value={value}>{children}</Context.Provider>;\n };\n\n const use = () => useContext(Context);\n\n return { Provider, use };\n};\n"],"mappings":";;;AAsBA,IAAa,KAA2D,MAAkB;CAExF,IAAM,IAAU,EAA4B,KAAK;AASjD,QAAO;EAAE,WAPS,EAAE,aAAU,gBAAgE;GAC5F,IAAM,IAAQ,EAAQ,GAAG,EAAO;AAChC,UAAO,kBAAC,EAAQ,UAAT;IAAyB;IAAQ;IAA4B,CAAA;;EAKnD,WAFD,EAAW,EAAQ;EAEb"}
|
|
@@ -1,34 +1,35 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
1
|
+
import { useEffect as e, useRef as t, useState as n } from "react";
|
|
2
|
+
//#region src/helpers/createEventEmitter/createEventEmitter.ts
|
|
3
|
+
var r = () => {
|
|
4
|
+
let r = /* @__PURE__ */ new Map(), i = (e, t) => {
|
|
5
|
+
r.get(e)?.forEach((e) => e(t));
|
|
6
|
+
}, a = (e, t) => {
|
|
7
|
+
let n = e, i = r.get(n);
|
|
8
|
+
i && (i.delete(t), i.size || r.delete(n));
|
|
9
|
+
}, o = (e, t) => {
|
|
10
|
+
let n = e;
|
|
11
|
+
return r.has(n) || r.set(n, /* @__PURE__ */ new Set()), r.get(e).add(t), () => {
|
|
12
|
+
a(e, t);
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
return {
|
|
16
|
+
push: i,
|
|
17
|
+
subscribe: o,
|
|
18
|
+
unsubscribe: a,
|
|
19
|
+
useSubscribe: (r, i) => {
|
|
20
|
+
let [a, s] = n(void 0), c = t(i);
|
|
21
|
+
return c.current = i, e(() => {
|
|
22
|
+
let e = o(r, (e) => {
|
|
23
|
+
s(e), c.current?.(e);
|
|
24
|
+
});
|
|
25
|
+
return () => {
|
|
26
|
+
e();
|
|
27
|
+
};
|
|
28
|
+
}, [r]), a;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
30
31
|
};
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
//# sourceMappingURL=createEventEmitter.mjs.map
|
|
32
|
+
//#endregion
|
|
33
|
+
export { r as createEventEmitter };
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=createEventEmitter.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createEventEmitter.mjs","sources":["../../../../src/helpers/createEventEmitter/createEventEmitter.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\n/**\n * @name createEventEmitter\n * @description - Creates a type-safe event emitter\n * @category Helpers\n * @usage low\n *\n * @template Events - The type of events and their data\n * @returns {EventEmitterApi<Events>} - Object containing event emitter methods and hook\n *\n * @example\n * const { push, subscribe, unsubscribe, useSubscribe } = createEventEmitter<{ foo: number }>();\n */\nexport const createEventEmitter = <Events extends Record<string, any> = Record<string, any>>() => {\n type ListenerMap = Map<string, Set<(data: any) => void>>;\n const listeners: ListenerMap = new Map();\n\n const push = <Event extends keyof Events>(event: Event, data: Events[Event]) => {\n const eventListeners = listeners.get(event as string);\n eventListeners?.forEach((listener) => listener(data));\n };\n\n const unsubscribe = <Key extends keyof Events>(\n event: Key,\n listener: (data: Events[Key]) => void\n ) => {\n const eventKey = event as string;\n const eventListeners = listeners.get(eventKey);\n if (!eventListeners) return;\n eventListeners.delete(listener);\n if (!eventListeners.size) listeners.delete(eventKey);\n };\n\n const subscribe = <Key extends keyof Events>(\n event: Key,\n listener: (data: Events[Key]) => void\n ) => {\n const eventKey = event as string;\n if (!listeners.has(eventKey)) listeners.set(eventKey, new Set());\n const eventListeners = listeners.get(event as string)!;\n eventListeners.add(listener);\n\n return () => {\n unsubscribe(event, listener);\n };\n };\n\n const useSubscribe = <Event extends keyof Events>(\n event: Event,\n listener?: (data: Events[Event]) => void\n ) => {\n const [data, setData] = useState<Events[Event] | undefined>(undefined);\n const listenerRef = useRef(listener);\n listenerRef.current = listener;\n\n useEffect(() => {\n const onSubscribe = (data: Events[Event]) => {\n setData(data);\n listenerRef.current?.(data);\n };\n\n const unsubscribe = subscribe(event, onSubscribe);\n return () => {\n unsubscribe();\n };\n }, [event]);\n\n return data;\n };\n\n return {\n push,\n subscribe,\n unsubscribe,\n useSubscribe\n };\n};\n"],"
|
|
1
|
+
{"version":3,"file":"createEventEmitter.mjs","names":[],"sources":["../../../../src/helpers/createEventEmitter/createEventEmitter.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\n/**\n * @name createEventEmitter\n * @description - Creates a type-safe event emitter\n * @category Helpers\n * @usage low\n *\n * @template Events - The type of events and their data\n * @returns {EventEmitterApi<Events>} - Object containing event emitter methods and hook\n *\n * @example\n * const { push, subscribe, unsubscribe, useSubscribe } = createEventEmitter<{ foo: number }>();\n */\nexport const createEventEmitter = <Events extends Record<string, any> = Record<string, any>>() => {\n type ListenerMap = Map<string, Set<(data: any) => void>>;\n const listeners: ListenerMap = new Map();\n\n const push = <Event extends keyof Events>(event: Event, data: Events[Event]) => {\n const eventListeners = listeners.get(event as string);\n eventListeners?.forEach((listener) => listener(data));\n };\n\n const unsubscribe = <Key extends keyof Events>(\n event: Key,\n listener: (data: Events[Key]) => void\n ) => {\n const eventKey = event as string;\n const eventListeners = listeners.get(eventKey);\n if (!eventListeners) return;\n eventListeners.delete(listener);\n if (!eventListeners.size) listeners.delete(eventKey);\n };\n\n const subscribe = <Key extends keyof Events>(\n event: Key,\n listener: (data: Events[Key]) => void\n ) => {\n const eventKey = event as string;\n if (!listeners.has(eventKey)) listeners.set(eventKey, new Set());\n const eventListeners = listeners.get(event as string)!;\n eventListeners.add(listener);\n\n return () => {\n unsubscribe(event, listener);\n };\n };\n\n const useSubscribe = <Event extends keyof Events>(\n event: Event,\n listener?: (data: Events[Event]) => void\n ) => {\n const [data, setData] = useState<Events[Event] | undefined>(undefined);\n const listenerRef = useRef(listener);\n listenerRef.current = listener;\n\n useEffect(() => {\n const onSubscribe = (data: Events[Event]) => {\n setData(data);\n listenerRef.current?.(data);\n };\n\n const unsubscribe = subscribe(event, onSubscribe);\n return () => {\n unsubscribe();\n };\n }, [event]);\n\n return data;\n };\n\n return {\n push,\n subscribe,\n unsubscribe,\n useSubscribe\n };\n};\n"],"mappings":";;AAcA,IAAa,UAAqF;CAEhG,IAAM,oBAAyB,IAAI,KAAK,EAElC,KAAoC,GAAc,MAAwB;AACvD,IAAU,IAAI,EAAgB,EACrC,SAAS,MAAa,EAAS,EAAK,CAAC;IAGjD,KACJ,GACA,MACG;EACH,IAAM,IAAW,GACX,IAAiB,EAAU,IAAI,EAAS;AACzC,QACL,EAAe,OAAO,EAAS,EAC1B,EAAe,QAAM,EAAU,OAAO,EAAS;IAGhD,KACJ,GACA,MACG;EACH,IAAM,IAAW;AAKjB,SAJK,EAAU,IAAI,EAAS,IAAE,EAAU,IAAI,mBAAU,IAAI,KAAK,CAAC,EACzC,EAAU,IAAI,EAAgB,CACtC,IAAI,EAAS,QAEf;AACX,KAAY,GAAO,EAAS;;;AA2BhC,QAAO;EACL;EACA;EACA;EACA,eA1BA,GACA,MACG;GACH,IAAM,CAAC,GAAM,KAAW,EAAoC,KAAA,EAAU,EAChE,IAAc,EAAO,EAAS;AAepC,UAdA,EAAY,UAAU,GAEtB,QAAgB;IAMd,IAAM,IAAc,EAAU,IALT,MAAwB;AAE3C,KADA,EAAQ,EAAK,EACb,EAAY,UAAU,EAAK;MAGoB;AACjD,iBAAa;AACX,QAAa;;MAEd,CAAC,EAAM,CAAC,EAEJ;;EAQR"}
|
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
},
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
1
|
+
import { useIsomorphicLayoutEffect as e } from "../../hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.mjs";
|
|
2
|
+
import { useEvent as t } from "../../hooks/useEvent/useEvent.mjs";
|
|
3
|
+
import { createContext as n, createElement as r, startTransition as i, useContext as a, useMemo as o, useRef as s, useState as c } from "react";
|
|
4
|
+
//#region src/helpers/createReactiveContext/createReactiveContext.ts
|
|
5
|
+
var l = (t) => (n) => {
|
|
6
|
+
let a = s(n.value), c = o(() => ({
|
|
7
|
+
value: a,
|
|
8
|
+
listeners: /* @__PURE__ */ new Set()
|
|
9
|
+
}), []);
|
|
10
|
+
return e(() => {
|
|
11
|
+
Object.is(a.current, n.value) || (a.current = n.value, i(() => {
|
|
12
|
+
c.listeners.forEach((e) => {
|
|
13
|
+
e(a.current);
|
|
14
|
+
});
|
|
15
|
+
}));
|
|
16
|
+
}, [n.value]), r(t, { value: c }, n.children);
|
|
17
|
+
}, u = (n, r, i = {}) => {
|
|
18
|
+
let o = a(n);
|
|
19
|
+
if (!o && i.strict) throw Error(`Context hook ${i.name} must be used inside a Provider`);
|
|
20
|
+
let [s, l] = c({
|
|
21
|
+
selected: r(o.value.current),
|
|
22
|
+
value: o.value.current
|
|
23
|
+
}), u = t((e) => {
|
|
24
|
+
l((t) => {
|
|
25
|
+
if (Object.is(t.value, e)) return t;
|
|
26
|
+
let n = r(e);
|
|
27
|
+
return Object.is(t.selected, n) ? t : {
|
|
28
|
+
value: e,
|
|
29
|
+
selected: n
|
|
30
|
+
};
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
return e(() => (o.listeners.add(u), () => {
|
|
34
|
+
o.listeners.delete(u);
|
|
35
|
+
}), [o.listeners]), s.selected;
|
|
36
|
+
}, d = (e = void 0, t = {}) => {
|
|
37
|
+
let r = n({
|
|
38
|
+
value: { current: e },
|
|
39
|
+
listeners: /* @__PURE__ */ new Set()
|
|
40
|
+
}), i = l(r.Provider);
|
|
41
|
+
r.displayName = t.name;
|
|
42
|
+
function a(e) {
|
|
43
|
+
return u(r, e ?? ((e) => e), t);
|
|
44
|
+
}
|
|
45
|
+
return {
|
|
46
|
+
instance: r,
|
|
47
|
+
Provider: i,
|
|
48
|
+
useSelector: a
|
|
49
|
+
};
|
|
50
50
|
};
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
//# sourceMappingURL=createReactiveContext.mjs.map
|
|
51
|
+
//#endregion
|
|
52
|
+
export { d as createReactiveContext };
|
|
53
|
+
|
|
54
|
+
//# sourceMappingURL=createReactiveContext.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createReactiveContext.mjs","sources":["../../../../src/helpers/createReactiveContext/createReactiveContext.ts"],"sourcesContent":["import type { Context, FC, Provider, ProviderProps, RefObject } from 'react';\n\nimport {\n createContext,\n createElement,\n startTransition,\n useContext,\n useMemo,\n useRef,\n useState\n} from 'react';\n\nimport { useEvent, useIsomorphicLayoutEffect } from '@/hooks';\n\n/** The create reactive context options type */\nexport interface CreateReactiveContextOptions {\n /** Display name for the context (useful for debugging) */\n name?: string;\n /** Whether to throw an error if context is used outside of Provider */\n strict?: boolean;\n}\n\n/** The create reactive context return type */\nexport interface CreateReactiveContextReturn<Value> {\n /** The context instance */\n instance: Context<ReactiveContextValue<Value>>;\n /** The Provider component for the context */\n Provider: Provider<Value>;\n /** A hook to select a part of the context state */\n useSelector: <Selected>(selector?: (state: Value) => Selected) => Selected;\n}\n\ntype ContextListener<Value> = (value: Value) => void;\n\ninterface ReactiveContextValue<Value> {\n /** The listeners for the context */\n listeners: Set<ContextListener<Value>>;\n /** The value for the context */\n value: RefObject<Value>;\n}\n\nconst createProvider = <Value>(originalProvider: Provider<ReactiveContextValue<Value>>) => {\n const Provider: FC<ProviderProps<Value>> = (props) => {\n const valueRef = useRef(props.value);\n const contextValue = useMemo<ReactiveContextValue<Value>>(\n () => ({\n value: valueRef,\n listeners: new Set()\n }),\n []\n );\n\n useIsomorphicLayoutEffect(() => {\n if (!Object.is(valueRef.current, props.value)) {\n valueRef.current = props.value;\n\n startTransition(() => {\n contextValue.listeners.forEach((listener) => {\n listener(valueRef.current);\n });\n });\n }\n }, [props.value]);\n\n return createElement(originalProvider, { value: contextValue }, props.children);\n };\n\n return Provider as unknown as Provider<ReactiveContextValue<Value>>;\n};\n\nconst createReactiveContextSelector = <Value, Selected>(\n Context: Context<ReactiveContextValue<Value>>,\n selector: (state: Value) => Selected,\n options: CreateReactiveContextOptions = {}\n) => {\n const context = useContext(Context);\n\n if (!context && options.strict) {\n throw new Error(`Context hook ${options.name} must be used inside a Provider`);\n }\n\n const [value, setValue] = useState({\n selected: selector(context.value.current),\n value: context.value.current\n });\n\n const dispatch = useEvent((newValue: Value) => {\n setValue((prevValue) => {\n if (Object.is(prevValue.value, newValue)) return prevValue;\n\n const newSelected = selector(newValue);\n if (Object.is(prevValue.selected, newSelected)) return prevValue;\n\n return { value: newValue, selected: newSelected };\n });\n });\n\n useIsomorphicLayoutEffect(() => {\n context.listeners.add(dispatch);\n return () => {\n context.listeners.delete(dispatch);\n };\n }, [context.listeners]);\n\n return value.selected;\n};\n\n/**\n * @name createReactiveContext\n * @description - Creates a typed context selector with optimized updates for state selection\n * @category Helpers\n * @usage low\n *\n * @warning - For complex interfaces, we strongly recommend using state management solutions outside of React like createStore, reatom, effector, or zustand instead of context\n *\n * @template Value - The type of value that will be stored in the context\n * @param {Value | undefined} [defaultValue] - Default value for the context\n * @param {CreateReactiveContextOptions<Value>} [options] - Additional options for context creation\n * @returns {CreateReactiveContextReturn<Value>} Object containing context utilities and components\n *\n * @example\n * const { Provider, useSelector, instance } = createReactiveContext<number>(0);\n */\nexport const createReactiveContext = <Value extends Record<string, any>>(\n defaultValue: Value | undefined = undefined,\n options: CreateReactiveContextOptions = {}\n) => {\n const Context = createContext<ReactiveContextValue<Value>>({\n value: { current: defaultValue as Value },\n listeners: new Set()\n });\n\n const Provider = createProvider(Context.Provider) as unknown as Provider<Value>;\n\n Context.displayName = options.name;\n\n function useSelector(): Value;\n function useSelector<SelectedValue>(selector: (state: Value) => SelectedValue): SelectedValue;\n function useSelector<SelectedValue>(selector?: (state: Value) => SelectedValue) {\n return createReactiveContextSelector(\n Context as unknown as Context<ReactiveContextValue<Value>>,\n selector ?? ((state) => state as unknown as SelectedValue),\n options\n );\n }\n\n return { instance: Context, Provider, useSelector };\n};\n"],"
|
|
1
|
+
{"version":3,"file":"createReactiveContext.mjs","names":[],"sources":["../../../../src/helpers/createReactiveContext/createReactiveContext.ts"],"sourcesContent":["import type { Context, FC, Provider, ProviderProps, RefObject } from 'react';\n\nimport {\n createContext,\n createElement,\n startTransition,\n useContext,\n useMemo,\n useRef,\n useState\n} from 'react';\n\nimport { useEvent, useIsomorphicLayoutEffect } from '@/hooks';\n\n/** The create reactive context options type */\nexport interface CreateReactiveContextOptions {\n /** Display name for the context (useful for debugging) */\n name?: string;\n /** Whether to throw an error if context is used outside of Provider */\n strict?: boolean;\n}\n\n/** The create reactive context return type */\nexport interface CreateReactiveContextReturn<Value> {\n /** The context instance */\n instance: Context<ReactiveContextValue<Value>>;\n /** The Provider component for the context */\n Provider: Provider<Value>;\n /** A hook to select a part of the context state */\n useSelector: <Selected>(selector?: (state: Value) => Selected) => Selected;\n}\n\ntype ContextListener<Value> = (value: Value) => void;\n\ninterface ReactiveContextValue<Value> {\n /** The listeners for the context */\n listeners: Set<ContextListener<Value>>;\n /** The value for the context */\n value: RefObject<Value>;\n}\n\nconst createProvider = <Value>(originalProvider: Provider<ReactiveContextValue<Value>>) => {\n const Provider: FC<ProviderProps<Value>> = (props) => {\n const valueRef = useRef(props.value);\n const contextValue = useMemo<ReactiveContextValue<Value>>(\n () => ({\n value: valueRef,\n listeners: new Set()\n }),\n []\n );\n\n useIsomorphicLayoutEffect(() => {\n if (!Object.is(valueRef.current, props.value)) {\n valueRef.current = props.value;\n\n startTransition(() => {\n contextValue.listeners.forEach((listener) => {\n listener(valueRef.current);\n });\n });\n }\n }, [props.value]);\n\n return createElement(originalProvider, { value: contextValue }, props.children);\n };\n\n return Provider as unknown as Provider<ReactiveContextValue<Value>>;\n};\n\nconst createReactiveContextSelector = <Value, Selected>(\n Context: Context<ReactiveContextValue<Value>>,\n selector: (state: Value) => Selected,\n options: CreateReactiveContextOptions = {}\n) => {\n const context = useContext(Context);\n\n if (!context && options.strict) {\n throw new Error(`Context hook ${options.name} must be used inside a Provider`);\n }\n\n const [value, setValue] = useState({\n selected: selector(context.value.current),\n value: context.value.current\n });\n\n const dispatch = useEvent((newValue: Value) => {\n setValue((prevValue) => {\n if (Object.is(prevValue.value, newValue)) return prevValue;\n\n const newSelected = selector(newValue);\n if (Object.is(prevValue.selected, newSelected)) return prevValue;\n\n return { value: newValue, selected: newSelected };\n });\n });\n\n useIsomorphicLayoutEffect(() => {\n context.listeners.add(dispatch);\n return () => {\n context.listeners.delete(dispatch);\n };\n }, [context.listeners]);\n\n return value.selected;\n};\n\n/**\n * @name createReactiveContext\n * @description - Creates a typed context selector with optimized updates for state selection\n * @category Helpers\n * @usage low\n *\n * @warning - For complex interfaces, we strongly recommend using state management solutions outside of React like createStore, reatom, effector, or zustand instead of context\n *\n * @template Value - The type of value that will be stored in the context\n * @param {Value | undefined} [defaultValue] - Default value for the context\n * @param {CreateReactiveContextOptions<Value>} [options] - Additional options for context creation\n * @returns {CreateReactiveContextReturn<Value>} Object containing context utilities and components\n *\n * @example\n * const { Provider, useSelector, instance } = createReactiveContext<number>(0);\n */\nexport const createReactiveContext = <Value extends Record<string, any>>(\n defaultValue: Value | undefined = undefined,\n options: CreateReactiveContextOptions = {}\n) => {\n const Context = createContext<ReactiveContextValue<Value>>({\n value: { current: defaultValue as Value },\n listeners: new Set()\n });\n\n const Provider = createProvider(Context.Provider) as unknown as Provider<Value>;\n\n Context.displayName = options.name;\n\n function useSelector(): Value;\n function useSelector<SelectedValue>(selector: (state: Value) => SelectedValue): SelectedValue;\n function useSelector<SelectedValue>(selector?: (state: Value) => SelectedValue) {\n return createReactiveContextSelector(\n Context as unknown as Context<ReactiveContextValue<Value>>,\n selector ?? ((state) => state as unknown as SelectedValue),\n options\n );\n }\n\n return { instance: Context, Provider, useSelector };\n};\n"],"mappings":";;;;AAyCA,IAAM,KAAyB,OACe,MAAU;CACpD,IAAM,IAAW,EAAO,EAAM,MAAM,EAC9B,IAAe,SACZ;EACL,OAAO;EACP,2BAAW,IAAI,KAAK;EACrB,GACD,EAAE,CACH;AAcD,QAZA,QAAgC;AAC9B,EAAK,OAAO,GAAG,EAAS,SAAS,EAAM,MAAM,KAC3C,EAAS,UAAU,EAAM,OAEzB,QAAsB;AACpB,KAAa,UAAU,SAAS,MAAa;AAC3C,MAAS,EAAS,QAAQ;KAC1B;IACF;IAEH,CAAC,EAAM,MAAM,CAAC,EAEV,EAAc,GAAkB,EAAE,OAAO,GAAc,EAAE,EAAM,SAAS;GAM7E,KACJ,GACA,GACA,IAAwC,EAAE,KACvC;CACH,IAAM,IAAU,EAAW,EAAQ;AAEnC,KAAI,CAAC,KAAW,EAAQ,OACtB,OAAU,MAAM,gBAAgB,EAAQ,KAAK,iCAAiC;CAGhF,IAAM,CAAC,GAAO,KAAY,EAAS;EACjC,UAAU,EAAS,EAAQ,MAAM,QAAQ;EACzC,OAAO,EAAQ,MAAM;EACtB,CAAC,EAEI,IAAW,GAAU,MAAoB;AAC7C,KAAU,MAAc;AACtB,OAAI,OAAO,GAAG,EAAU,OAAO,EAAS,CAAE,QAAO;GAEjD,IAAM,IAAc,EAAS,EAAS;AAGtC,UAFI,OAAO,GAAG,EAAU,UAAU,EAAY,GAAS,IAEhD;IAAE,OAAO;IAAU,UAAU;IAAa;IACjD;GACF;AASF,QAPA,SACE,EAAQ,UAAU,IAAI,EAAS,QAClB;AACX,IAAQ,UAAU,OAAO,EAAS;KAEnC,CAAC,EAAQ,UAAU,CAAC,EAEhB,EAAM;GAmBF,KACX,IAAkC,KAAA,GAClC,IAAwC,EAAE,KACvC;CACH,IAAM,IAAU,EAA2C;EACzD,OAAO,EAAE,SAAS,GAAuB;EACzC,2BAAW,IAAI,KAAK;EACrB,CAAC,EAEI,IAAW,EAAe,EAAQ,SAAS;AAEjD,GAAQ,cAAc,EAAQ;CAI9B,SAAS,EAA2B,GAA4C;AAC9E,SAAO,EACL,GACA,OAAc,MAAU,IACxB,EACD;;AAGH,QAAO;EAAE,UAAU;EAAS;EAAU;EAAa"}
|
|
@@ -1,42 +1,37 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
() => e.state,
|
|
34
|
-
() => e.state
|
|
35
|
-
);
|
|
36
|
-
};
|
|
1
|
+
import { useEffect as e, useSyncExternalStore as t } from "react";
|
|
2
|
+
import { jsx as n } from "react/jsx-runtime";
|
|
3
|
+
import { createRoot as r } from "react-dom/client";
|
|
4
|
+
//#region src/helpers/createSharedHook/createSharedHook.tsx
|
|
5
|
+
var i = (e) => {
|
|
6
|
+
let t = document.createElement("div"), n = r(t);
|
|
7
|
+
return n.render(e), () => {
|
|
8
|
+
n.unmount(), t.remove();
|
|
9
|
+
};
|
|
10
|
+
}, a = (r) => {
|
|
11
|
+
if (typeof window > "u") {
|
|
12
|
+
let e = (...e) => r(...e);
|
|
13
|
+
return e.useShared = e, e;
|
|
14
|
+
}
|
|
15
|
+
let a = {
|
|
16
|
+
state: void 0,
|
|
17
|
+
listeners: /* @__PURE__ */ new Set(),
|
|
18
|
+
mounted: !1,
|
|
19
|
+
unmount: void 0
|
|
20
|
+
};
|
|
21
|
+
return function(...o) {
|
|
22
|
+
return a.mounted || (a.mounted = !0, queueMicrotask(() => {
|
|
23
|
+
a.unmount = i(/* @__PURE__ */ n(() => {
|
|
24
|
+
let t = r(...o);
|
|
25
|
+
return e(() => {
|
|
26
|
+
a.state = t, a.listeners.forEach((e) => e());
|
|
27
|
+
}, [t]), null;
|
|
28
|
+
}, {}));
|
|
29
|
+
})), t((e) => (a.listeners.add(e), () => {
|
|
30
|
+
a.listeners.delete(e), a.listeners.size < 0 && a.unmount && (a.unmount(), a.unmount = void 0, a.state = void 0, a.mounted = !1);
|
|
31
|
+
}), () => a.state, () => a.state);
|
|
32
|
+
};
|
|
37
33
|
};
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
//# sourceMappingURL=createSharedHook.mjs.map
|
|
34
|
+
//#endregion
|
|
35
|
+
export { a as createSharedHook, i as mount };
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=createSharedHook.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSharedHook.mjs","sources":["../../../../src/helpers/createSharedHook/createSharedHook.tsx"],"sourcesContent":["import { useEffect, useSyncExternalStore } from 'react';\nimport { createRoot } from 'react-dom/client';\n\nexport const mount = (component: React.ReactNode) => {\n const container = document.createElement('div');\n const root = createRoot(container);\n root.render(component);\n return () => {\n root.unmount();\n container.remove();\n };\n};\n\n/**\n * @name createSharedHook\n * @description - One shared instance of the hook globally. First subscriber's args are used; when subscribers hit zero, the runner unmounts.\n * @category Helpers\n * @usage low\n *\n * @warning - For complex interfaces, we strongly recommend using state management solutions outside of React like createStore, reatom, effector, or zustand instead of context\n *\n * @template Hook - The hook to create a shared instance of\n * @param {Hook} useHook - The hook to create a shared instance of\n * @returns {Hook & { useShared: typeof useShared }} - The shared hook\n *\n * @example\n * const useSharedMediaQuery = createSharedHook(useMediaQuery);\n * const matches = useSharedMediaQuery(\"(max-width: 768px)\");\n */\nexport const createSharedHook = <Hook extends (...args: any[]) => any>(useHook: Hook) => {\n if (typeof window === 'undefined') {\n const fn = (...args: Parameters<Hook>) => useHook(...args);\n fn.useShared = fn;\n return fn;\n }\n\n type Value = ReturnType<Hook>;\n const store = {\n state: undefined as Value | undefined,\n listeners: new Set<() => void>(),\n mounted: false,\n unmount: undefined as (() => void) | undefined\n };\n\n return function useShared(...args: Parameters<Hook>): Value {\n if (!store.mounted) {\n store.mounted = true;\n queueMicrotask(() => {\n const HookContainer = () => {\n const value = useHook(...args) as Value;\n useEffect(() => {\n store.state = value;\n store.listeners.forEach((l) => l());\n }, [value]);\n return null;\n };\n\n store.unmount = mount(<HookContainer />);\n });\n }\n\n return useSyncExternalStore(\n (callback) => {\n store.listeners.add(callback);\n return () => {\n store.listeners.delete(callback);\n if (store.listeners.size < 0 && store.unmount) {\n store.unmount();\n store.unmount = undefined;\n store.state = undefined;\n store.mounted = false;\n }\n };\n },\n () => store.state,\n () => store.state\n ) as Value;\n };\n};\n"],"
|
|
1
|
+
{"version":3,"file":"createSharedHook.mjs","names":[],"sources":["../../../../src/helpers/createSharedHook/createSharedHook.tsx"],"sourcesContent":["import { useEffect, useSyncExternalStore } from 'react';\nimport { createRoot } from 'react-dom/client';\n\nexport const mount = (component: React.ReactNode) => {\n const container = document.createElement('div');\n const root = createRoot(container);\n root.render(component);\n return () => {\n root.unmount();\n container.remove();\n };\n};\n\n/**\n * @name createSharedHook\n * @description - One shared instance of the hook globally. First subscriber's args are used; when subscribers hit zero, the runner unmounts.\n * @category Helpers\n * @usage low\n *\n * @warning - For complex interfaces, we strongly recommend using state management solutions outside of React like createStore, reatom, effector, or zustand instead of context\n *\n * @template Hook - The hook to create a shared instance of\n * @param {Hook} useHook - The hook to create a shared instance of\n * @returns {Hook & { useShared: typeof useShared }} - The shared hook\n *\n * @example\n * const useSharedMediaQuery = createSharedHook(useMediaQuery);\n * const matches = useSharedMediaQuery(\"(max-width: 768px)\");\n */\nexport const createSharedHook = <Hook extends (...args: any[]) => any>(useHook: Hook) => {\n if (typeof window === 'undefined') {\n const fn = (...args: Parameters<Hook>) => useHook(...args);\n fn.useShared = fn;\n return fn;\n }\n\n type Value = ReturnType<Hook>;\n const store = {\n state: undefined as Value | undefined,\n listeners: new Set<() => void>(),\n mounted: false,\n unmount: undefined as (() => void) | undefined\n };\n\n return function useShared(...args: Parameters<Hook>): Value {\n if (!store.mounted) {\n store.mounted = true;\n queueMicrotask(() => {\n const HookContainer = () => {\n const value = useHook(...args) as Value;\n useEffect(() => {\n store.state = value;\n store.listeners.forEach((l) => l());\n }, [value]);\n return null;\n };\n\n store.unmount = mount(<HookContainer />);\n });\n }\n\n return useSyncExternalStore(\n (callback) => {\n store.listeners.add(callback);\n return () => {\n store.listeners.delete(callback);\n if (store.listeners.size < 0 && store.unmount) {\n store.unmount();\n store.unmount = undefined;\n store.state = undefined;\n store.mounted = false;\n }\n };\n },\n () => store.state,\n () => store.state\n ) as Value;\n };\n};\n"],"mappings":";;;;AAGA,IAAa,KAAS,MAA+B;CACnD,IAAM,IAAY,SAAS,cAAc,MAAM,EACzC,IAAO,EAAW,EAAU;AAElC,QADA,EAAK,OAAO,EAAU,QACT;AAEX,EADA,EAAK,SAAS,EACd,EAAU,QAAQ;;GAoBT,KAA0D,MAAkB;AACvF,KAAI,OAAO,SAAW,KAAa;EACjC,IAAM,KAAM,GAAG,MAA2B,EAAQ,GAAG,EAAK;AAE1D,SADA,EAAG,YAAY,GACR;;CAIT,IAAM,IAAQ;EACZ,OAAO,KAAA;EACP,2BAAW,IAAI,KAAiB;EAChC,SAAS;EACT,SAAS,KAAA;EACV;AAED,QAAO,SAAmB,GAAG,GAA+B;AAiB1D,SAhBK,EAAM,YACT,EAAM,UAAU,IAChB,qBAAqB;AAUnB,KAAM,UAAU,EAAM,wBATM;IAC1B,IAAM,IAAQ,EAAQ,GAAG,EAAK;AAK9B,WAJA,QAAgB;AAEd,KADA,EAAM,QAAQ,GACd,EAAM,UAAU,SAAS,MAAM,GAAG,CAAC;OAClC,CAAC,EAAM,CAAC,EACJ;MAGa,EAAiB,CAAA,CAAC;IACxC,GAGG,GACJ,OACC,EAAM,UAAU,IAAI,EAAS,QAChB;AAEX,GADA,EAAM,UAAU,OAAO,EAAS,EAC5B,EAAM,UAAU,OAAO,KAAK,EAAM,YACpC,EAAM,SAAS,EACf,EAAM,UAAU,KAAA,GAChB,EAAM,QAAQ,KAAA,GACd,EAAM,UAAU;YAIhB,EAAM,aACN,EAAM,MACb"}
|