@siberiacancode/reactuse 0.3.15 → 0.3.18
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/useAutoScroll/useAutoScroll.d.ts +3 -5
- package/dist/types/hooks/useClickOutside/useClickOutside.d.ts +3 -5
- package/dist/types/hooks/useDoubleClick/useDoubleClick.d.ts +3 -5
- package/dist/types/hooks/useEventListener/useEventListener.d.ts +0 -22
- package/dist/types/hooks/useField/useField.d.ts +2 -2
- package/dist/types/hooks/useFileSystemAccess/useFileSystemAccess.d.ts +116 -0
- package/dist/types/hooks/useKeyPressEvent/useKeyPressEvent.d.ts +2 -4
- package/dist/types/hooks/useKeyboard/useKeyboard.d.ts +6 -8
- package/dist/types/hooks/useObjectUrl/useObjectUrl.d.ts +24 -0
- package/dist/types/hooks/usePerformanceObserver/usePerformanceObserver.d.ts +1 -0
- package/dist/types/hooks/usePermission/usePermission.d.ts +1 -1
- package/dist/types/hooks/usePictureInPicture/usePictureInPicture.d.ts +1 -1
- 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/index.cjs.map +0 -1
- package/dist/esm/index.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDropZone.mjs","sources":["../../../../src/hooks/useDropZone/useDropZone.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport type { HookTarget } from '@/utils/helpers';\n\nimport { isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\nexport type DropZoneDataTypes = ((types: string[]) => boolean) | string[];\n\nexport interface UseDropZoneOptions {\n /** The data types for drop zone */\n dataTypes?: DropZoneDataTypes;\n /** The multiple mode for drop zone */\n multiple?: boolean;\n /** The on drop callback */\n onDrop?: (files: File[] | null, event: DragEvent) => void;\n /** The on enter callback */\n onEnter?: (event: DragEvent) => void;\n /** The on leave callback */\n onLeave?: (event: DragEvent) => void;\n /** The on over callback */\n onOver?: (event: DragEvent) => void;\n}\n\nexport interface UseDropZoneReturn {\n /** The files that was dropped in drop zone */\n files: File[] | null;\n /** The over drop zone status */\n overed: boolean;\n}\n\nexport interface UseDropZone {\n (\n target: HookTarget,\n callback?: (files: File[] | null, event: DragEvent) => void\n ): UseDropZoneReturn;\n\n <Target extends Element>(\n callback?: (files: File[] | null, event: DragEvent) => void,\n target?: never\n ): UseDropZoneReturn & {\n ref: StateRef<Target>;\n };\n\n (target: HookTarget, options?: UseDropZoneOptions): UseDropZoneReturn;\n\n <Target extends Element>(\n options?: UseDropZoneOptions,\n target?: never\n ): UseDropZoneReturn & {\n ref: StateRef<Target>;\n };\n}\n\n/**\n * @name useDropZone\n * @description - Hook that provides drop zone functionality\n * @category Elements\n * @usage medium\n\n * @overload\n * @template Target The target element\n * @param {Target} target The target element drop zone's\n * @param {DataTypes} [options.dataTypes] The data types\n * @param {boolean} [options.multiple] The multiple mode\n * @param {(files: File[] | null, event: DragEvent) => void} [options.onDrop] The on drop callback function\n * @param {(event: DragEvent) => void} [options.onEnter] The on enter callback function\n * @param {(event: DragEvent) => void} [options.onLeave] The on leave callback function\n * @param {(event: DragEvent) => void} [options.onOver] The on over callback function\n * @returns {UseDropZoneReturn} The object with drop zone states\n *\n * @example\n * const { overed, files } = useDropZone(ref, options);\n *\n * @overload\n * @param {Target} target The target element drop zone's\n * @param {(files: File[] | null, event: DragEvent) => void} [callback] The callback function to be invoked on drop\n * @returns {UseDropZoneReturn} The object with drop zone states\n *\n * @example\n * const { overed, files } = useDropZone(ref, () => console.log('callback'));\n *\n * @overload\n * @param {DataTypes} [options.dataTypes] The data types\n * @param {boolean} [options.multiple] The multiple mode\n * @param {(files: File[] | null, event: DragEvent) => void} [options.onDrop] The on drop callback function\n * @param {(event: DragEvent) => void} [options.onEnter] The on enter callback function\n * @param {(event: DragEvent) => void} [options.onLeave] The on leave callback function\n * @param {(event: DragEvent) => void} [options.onOver] The on over callback function\n * @returns {UseDropZoneReturn & { ref: StateRef<Target> }} The object with drop zone states and ref\n *\n * @example\n * const { ref, overed, files } = useDropZone(options);\n *\n * @overload\n * @param {(files: File[] | null, event: DragEvent) => void} [callback] The callback function to be invoked on drop\n * @returns {UseDropZoneReturn & { ref: StateRef<Target> }} The object with drop zone states and ref\n *\n * @example\n * const { ref, overed, files } = useDropZone(() => console.log('callback'));\n */\nexport const useDropZone = ((...params: any[]) => {\n const target = (isTarget(params[0]) ? params[0] : undefined) as HookTarget | undefined;\n\n const options = (\n target\n ? typeof params[1] === 'object'\n ? params[1]\n : { onDrop: params[1] }\n : typeof params[0] === 'object'\n ? params[0]\n : { onDrop: params[0] }\n ) as UseDropZoneOptions;\n\n const internalRef = useRefState<Element>();\n\n const counterRef = useRef(0);\n const [files, setFiles] = useState<File[] | null>(null);\n const [overed, setOvered] = useState(false);\n\n const dataTypes = options.dataTypes;\n\n const getFiles = (event: DragEvent) => {\n if (!event.dataTransfer) return null;\n const list = Array.from(event.dataTransfer.files);\n if (options.multiple) return list;\n if (!list.length) return null;\n return [list[0]];\n };\n\n const checkDataTypes = (types: string[]) => {\n if (!dataTypes) return true;\n if (typeof dataTypes === 'function') return dataTypes(types);\n if (!dataTypes.length) return true;\n if (!types.length) return false;\n\n return types.every((type) => dataTypes.some((dataType) => type.includes(dataType)));\n };\n\n const checkValidity = (items: DataTransferItemList) => {\n const types = Array.from(items).map((item) => item.type);\n const dataTypesValid = checkDataTypes(types);\n const multipleFilesValid = options.multiple || items.length <= 1;\n\n return dataTypesValid && multipleFilesValid;\n };\n\n useEffect(() => {\n if (!target && !internalRef.state) return;\n\n const element = target ? isTarget.getElement(target) : internalRef.current;\n\n if (!element) return;\n\n const onEvent = (event: DragEvent) => {\n if (!event.dataTransfer) return;\n\n const isValid = checkValidity(event.dataTransfer.items);\n if (!isValid) {\n event.dataTransfer.dropEffect = 'none';\n return;\n }\n\n event.preventDefault();\n event.dataTransfer.dropEffect = 'copy';\n\n const currentFiles = getFiles(event);\n\n if (event.type === 'drop') {\n counterRef.current = 0;\n setOvered(false);\n setFiles(currentFiles);\n options.onDrop?.(currentFiles, event);\n return;\n }\n\n if (event.type === 'dragenter') {\n counterRef.current += 1;\n setOvered(true);\n options.onEnter?.(event);\n return;\n }\n\n if (event.type === 'dragleave') {\n counterRef.current -= 1;\n if (counterRef.current !== 0) return;\n setOvered(false);\n options.onLeave?.(event);\n return;\n }\n\n if (event.type === 'dragover') options.onOver?.(event);\n };\n\n element.addEventListener('dragenter', onEvent as EventListener);\n element.addEventListener('dragover', onEvent as EventListener);\n element.addEventListener('dragleave', onEvent as EventListener);\n element.addEventListener('drop', onEvent as EventListener);\n\n return () => {\n element.removeEventListener('dragenter', onEvent as EventListener);\n element.removeEventListener('dragover', onEvent as EventListener);\n element.removeEventListener('dragleave', onEvent as EventListener);\n element.removeEventListener('drop', onEvent as EventListener);\n };\n }, [target && isTarget.getRawElement(target), internalRef.state]);\n\n if (target) return { overed, files };\n return { ref: internalRef, overed, files };\n}) as UseDropZone;\n"],"
|
|
1
|
+
{"version":3,"file":"useDropZone.mjs","names":[],"sources":["../../../../src/hooks/useDropZone/useDropZone.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport type { HookTarget } from '@/utils/helpers';\n\nimport { isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\nexport type DropZoneDataTypes = ((types: string[]) => boolean) | string[];\n\nexport interface UseDropZoneOptions {\n /** The data types for drop zone */\n dataTypes?: DropZoneDataTypes;\n /** The multiple mode for drop zone */\n multiple?: boolean;\n /** The on drop callback */\n onDrop?: (files: File[] | null, event: DragEvent) => void;\n /** The on enter callback */\n onEnter?: (event: DragEvent) => void;\n /** The on leave callback */\n onLeave?: (event: DragEvent) => void;\n /** The on over callback */\n onOver?: (event: DragEvent) => void;\n}\n\nexport interface UseDropZoneReturn {\n /** The files that was dropped in drop zone */\n files: File[] | null;\n /** The over drop zone status */\n overed: boolean;\n}\n\nexport interface UseDropZone {\n (\n target: HookTarget,\n callback?: (files: File[] | null, event: DragEvent) => void\n ): UseDropZoneReturn;\n\n <Target extends Element>(\n callback?: (files: File[] | null, event: DragEvent) => void,\n target?: never\n ): UseDropZoneReturn & {\n ref: StateRef<Target>;\n };\n\n (target: HookTarget, options?: UseDropZoneOptions): UseDropZoneReturn;\n\n <Target extends Element>(\n options?: UseDropZoneOptions,\n target?: never\n ): UseDropZoneReturn & {\n ref: StateRef<Target>;\n };\n}\n\n/**\n * @name useDropZone\n * @description - Hook that provides drop zone functionality\n * @category Elements\n * @usage medium\n\n * @overload\n * @template Target The target element\n * @param {Target} target The target element drop zone's\n * @param {DataTypes} [options.dataTypes] The data types\n * @param {boolean} [options.multiple] The multiple mode\n * @param {(files: File[] | null, event: DragEvent) => void} [options.onDrop] The on drop callback function\n * @param {(event: DragEvent) => void} [options.onEnter] The on enter callback function\n * @param {(event: DragEvent) => void} [options.onLeave] The on leave callback function\n * @param {(event: DragEvent) => void} [options.onOver] The on over callback function\n * @returns {UseDropZoneReturn} The object with drop zone states\n *\n * @example\n * const { overed, files } = useDropZone(ref, options);\n *\n * @overload\n * @param {Target} target The target element drop zone's\n * @param {(files: File[] | null, event: DragEvent) => void} [callback] The callback function to be invoked on drop\n * @returns {UseDropZoneReturn} The object with drop zone states\n *\n * @example\n * const { overed, files } = useDropZone(ref, () => console.log('callback'));\n *\n * @overload\n * @param {DataTypes} [options.dataTypes] The data types\n * @param {boolean} [options.multiple] The multiple mode\n * @param {(files: File[] | null, event: DragEvent) => void} [options.onDrop] The on drop callback function\n * @param {(event: DragEvent) => void} [options.onEnter] The on enter callback function\n * @param {(event: DragEvent) => void} [options.onLeave] The on leave callback function\n * @param {(event: DragEvent) => void} [options.onOver] The on over callback function\n * @returns {UseDropZoneReturn & { ref: StateRef<Target> }} The object with drop zone states and ref\n *\n * @example\n * const { ref, overed, files } = useDropZone(options);\n *\n * @overload\n * @param {(files: File[] | null, event: DragEvent) => void} [callback] The callback function to be invoked on drop\n * @returns {UseDropZoneReturn & { ref: StateRef<Target> }} The object with drop zone states and ref\n *\n * @example\n * const { ref, overed, files } = useDropZone(() => console.log('callback'));\n */\nexport const useDropZone = ((...params: any[]) => {\n const target = (isTarget(params[0]) ? params[0] : undefined) as HookTarget | undefined;\n\n const options = (\n target\n ? typeof params[1] === 'object'\n ? params[1]\n : { onDrop: params[1] }\n : typeof params[0] === 'object'\n ? params[0]\n : { onDrop: params[0] }\n ) as UseDropZoneOptions;\n\n const internalRef = useRefState<Element>();\n\n const counterRef = useRef(0);\n const [files, setFiles] = useState<File[] | null>(null);\n const [overed, setOvered] = useState(false);\n\n const dataTypes = options.dataTypes;\n\n const getFiles = (event: DragEvent) => {\n if (!event.dataTransfer) return null;\n const list = Array.from(event.dataTransfer.files);\n if (options.multiple) return list;\n if (!list.length) return null;\n return [list[0]];\n };\n\n const checkDataTypes = (types: string[]) => {\n if (!dataTypes) return true;\n if (typeof dataTypes === 'function') return dataTypes(types);\n if (!dataTypes.length) return true;\n if (!types.length) return false;\n\n return types.every((type) => dataTypes.some((dataType) => type.includes(dataType)));\n };\n\n const checkValidity = (items: DataTransferItemList) => {\n const types = Array.from(items).map((item) => item.type);\n const dataTypesValid = checkDataTypes(types);\n const multipleFilesValid = options.multiple || items.length <= 1;\n\n return dataTypesValid && multipleFilesValid;\n };\n\n useEffect(() => {\n if (!target && !internalRef.state) return;\n\n const element = target ? isTarget.getElement(target) : internalRef.current;\n\n if (!element) return;\n\n const onEvent = (event: DragEvent) => {\n if (!event.dataTransfer) return;\n\n const isValid = checkValidity(event.dataTransfer.items);\n if (!isValid) {\n event.dataTransfer.dropEffect = 'none';\n return;\n }\n\n event.preventDefault();\n event.dataTransfer.dropEffect = 'copy';\n\n const currentFiles = getFiles(event);\n\n if (event.type === 'drop') {\n counterRef.current = 0;\n setOvered(false);\n setFiles(currentFiles);\n options.onDrop?.(currentFiles, event);\n return;\n }\n\n if (event.type === 'dragenter') {\n counterRef.current += 1;\n setOvered(true);\n options.onEnter?.(event);\n return;\n }\n\n if (event.type === 'dragleave') {\n counterRef.current -= 1;\n if (counterRef.current !== 0) return;\n setOvered(false);\n options.onLeave?.(event);\n return;\n }\n\n if (event.type === 'dragover') options.onOver?.(event);\n };\n\n element.addEventListener('dragenter', onEvent as EventListener);\n element.addEventListener('dragover', onEvent as EventListener);\n element.addEventListener('dragleave', onEvent as EventListener);\n element.addEventListener('drop', onEvent as EventListener);\n\n return () => {\n element.removeEventListener('dragenter', onEvent as EventListener);\n element.removeEventListener('dragover', onEvent as EventListener);\n element.removeEventListener('dragleave', onEvent as EventListener);\n element.removeEventListener('drop', onEvent as EventListener);\n };\n }, [target && isTarget.getRawElement(target), internalRef.state]);\n\n if (target) return { overed, files };\n return { ref: internalRef, overed, files };\n}) as UseDropZone;\n"],"mappings":";;;;AAwGA,IAAa,MAAgB,GAAG,MAAkB;CAChD,IAAM,IAAU,EAAS,EAAO,GAAG,GAAG,EAAO,KAAK,KAAA,GAE5C,IACJ,IACI,OAAO,EAAO,MAAO,WACnB,EAAO,KACP,EAAE,QAAQ,EAAO,IAAI,GACvB,OAAO,EAAO,MAAO,WACnB,EAAO,KACP,EAAE,QAAQ,EAAO,IAAI,EAGvB,IAAc,GAAsB,EAEpC,IAAa,EAAO,EAAE,EACtB,CAAC,GAAO,KAAY,EAAwB,KAAK,EACjD,CAAC,GAAQ,KAAa,EAAS,GAAM,EAErC,IAAY,EAAQ,WAEpB,KAAY,MAAqB;AACrC,MAAI,CAAC,EAAM,aAAc,QAAO;EAChC,IAAM,IAAO,MAAM,KAAK,EAAM,aAAa,MAAM;AAGjD,SAFI,EAAQ,WAAiB,IACxB,EAAK,SACH,CAAC,EAAK,GAAG,GADS;IAIrB,KAAkB,MACjB,IACD,OAAO,KAAc,aAAmB,EAAU,EAAM,GACvD,EAAU,SACV,EAAM,SAEJ,EAAM,OAAO,MAAS,EAAU,MAAM,MAAa,EAAK,SAAS,EAAS,CAAC,CAAC,GAFzD,KADI,KAFP,IAQnB,KAAiB,MAAgC;EAErD,IAAM,IAAiB,EADT,MAAM,KAAK,EAAM,CAAC,KAAK,MAAS,EAAK,KAAK,CACZ,EACtC,IAAqB,EAAQ,YAAY,EAAM,UAAU;AAE/D,SAAO,KAAkB;;AAgE3B,QA7DA,QAAgB;AACd,MAAI,CAAC,KAAU,CAAC,EAAY,MAAO;EAEnC,IAAM,IAAU,IAAS,EAAS,WAAW,EAAO,GAAG,EAAY;AAEnE,MAAI,CAAC,EAAS;EAEd,IAAM,KAAW,MAAqB;AACpC,OAAI,CAAC,EAAM,aAAc;AAGzB,OAAI,CADY,EAAc,EAAM,aAAa,MAAM,EACzC;AACZ,MAAM,aAAa,aAAa;AAChC;;AAIF,GADA,EAAM,gBAAgB,EACtB,EAAM,aAAa,aAAa;GAEhC,IAAM,IAAe,EAAS,EAAM;AAEpC,OAAI,EAAM,SAAS,QAAQ;AAIzB,IAHA,EAAW,UAAU,GACrB,EAAU,GAAM,EAChB,EAAS,EAAa,EACtB,EAAQ,SAAS,GAAc,EAAM;AACrC;;AAGF,OAAI,EAAM,SAAS,aAAa;AAG9B,IAFA,EAAW,WAAW,GACtB,EAAU,GAAK,EACf,EAAQ,UAAU,EAAM;AACxB;;AAGF,OAAI,EAAM,SAAS,aAAa;AAE9B,QADA,IAAW,SACP,EAAW,YAAY,EAAG;AAE9B,IADA,EAAU,GAAM,EAChB,EAAQ,UAAU,EAAM;AACxB;;AAGF,GAAI,EAAM,SAAS,cAAY,EAAQ,SAAS,EAAM;;AAQxD,SALA,EAAQ,iBAAiB,aAAa,EAAyB,EAC/D,EAAQ,iBAAiB,YAAY,EAAyB,EAC9D,EAAQ,iBAAiB,aAAa,EAAyB,EAC/D,EAAQ,iBAAiB,QAAQ,EAAyB,QAE7C;AAIX,GAHA,EAAQ,oBAAoB,aAAa,EAAyB,EAClE,EAAQ,oBAAoB,YAAY,EAAyB,EACjE,EAAQ,oBAAoB,aAAa,EAAyB,EAClE,EAAQ,oBAAoB,QAAQ,EAAyB;;IAE9D,CAAC,KAAU,EAAS,cAAc,EAAO,EAAE,EAAY,MAAM,CAAC,EAE7D,IAAe;EAAE;EAAQ;EAAO,GAC7B;EAAE,KAAK;EAAa;EAAQ;EAAO"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { useCallback as e, useRef as t } from "react";
|
|
2
|
+
//#region src/hooks/useEvent/useEvent.ts
|
|
3
|
+
var n = (n) => {
|
|
4
|
+
let r = t(n);
|
|
5
|
+
return r.current = n, e((...e) => {
|
|
6
|
+
let t = r.current;
|
|
7
|
+
return t(...e);
|
|
8
|
+
}, []);
|
|
8
9
|
};
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
//# sourceMappingURL=useEvent.mjs.map
|
|
10
|
+
//#endregion
|
|
11
|
+
export { n as useEvent };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=useEvent.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEvent.mjs","sources":["../../../../src/hooks/useEvent/useEvent.ts"],"sourcesContent":["import { useCallback, useRef } from 'react';\n\n/**\n * @name useEvent\n * @description - Hook that creates an event and returns a stable reference of it\n * @category Utilities\n * @usage high\n\n * @template Params The type of the params\n * @template Return The type of the return\n * @param {(...args: Params) => Return} callback The callback function\n * @returns {(...args: Params) => Return} The callback\n *\n * @example\n * const onClick = useEvent(() => console.log('clicked'));\n */\nexport const useEvent = <Params extends unknown[], Return>(\n callback: (...args: Params) => Return\n): ((...args: Params) => Return) => {\n const internalCallbackRef = useRef<typeof callback>(callback);\n internalCallbackRef.current = callback;\n\n return useCallback((...args) => {\n const fn = internalCallbackRef.current;\n return fn(...args);\n }, []);\n};\n"],"
|
|
1
|
+
{"version":3,"file":"useEvent.mjs","names":[],"sources":["../../../../src/hooks/useEvent/useEvent.ts"],"sourcesContent":["import { useCallback, useRef } from 'react';\n\n/**\n * @name useEvent\n * @description - Hook that creates an event and returns a stable reference of it\n * @category Utilities\n * @usage high\n\n * @template Params The type of the params\n * @template Return The type of the return\n * @param {(...args: Params) => Return} callback The callback function\n * @returns {(...args: Params) => Return} The callback\n *\n * @example\n * const onClick = useEvent(() => console.log('clicked'));\n */\nexport const useEvent = <Params extends unknown[], Return>(\n callback: (...args: Params) => Return\n): ((...args: Params) => Return) => {\n const internalCallbackRef = useRef<typeof callback>(callback);\n internalCallbackRef.current = callback;\n\n return useCallback((...args) => {\n const fn = internalCallbackRef.current;\n return fn(...args);\n }, []);\n};\n"],"mappings":";;AAgBA,IAAa,KACX,MACkC;CAClC,IAAM,IAAsB,EAAwB,EAAS;AAG7D,QAFA,EAAoB,UAAU,GAEvB,GAAa,GAAG,MAAS;EAC9B,IAAM,IAAK,EAAoB;AAC/B,SAAO,EAAG,GAAG,EAAK;IACjB,EAAE,CAAC"}
|
|
@@ -1,20 +1,25 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { useRefState as
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
1
|
+
import { isTarget as e } from "../../utils/helpers/isTarget.mjs";
|
|
2
|
+
import { useRefState as t } from "../useRefState/useRefState.mjs";
|
|
3
|
+
import { useEffect as n, useRef as r } from "react";
|
|
4
|
+
//#region src/hooks/useEventListener/useEventListener.ts
|
|
5
|
+
var i = ((...i) => {
|
|
6
|
+
let a = e(i[0]) ? i[0] : void 0, o = a ? i[1] : i[0], s = a ? i[2] : i[1], c = a ? i[3] : i[2], l = c?.enabled ?? !0, u = t(), d = r(s);
|
|
7
|
+
d.current = s;
|
|
8
|
+
let f = r(c);
|
|
9
|
+
if (f.current = c, n(() => {
|
|
10
|
+
if (!l) return;
|
|
11
|
+
let t = (a ? e.getElement(a) : u.current) ?? window, n = (e) => d.current(e);
|
|
12
|
+
return t.addEventListener(o, n, c), () => {
|
|
13
|
+
t.removeEventListener(o, n, c);
|
|
14
|
+
};
|
|
15
|
+
}, [
|
|
16
|
+
a && e.getRawElement(a),
|
|
17
|
+
u.state,
|
|
18
|
+
o,
|
|
19
|
+
l
|
|
20
|
+
]), !a) return u;
|
|
16
21
|
});
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
//# sourceMappingURL=useEventListener.mjs.map
|
|
22
|
+
//#endregion
|
|
23
|
+
export { i as useEventListener };
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=useEventListener.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEventListener.mjs","sources":["../../../../src/hooks/useEventListener/useEventListener.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nimport type { HookTarget } from '@/utils/helpers';\n\nimport { isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The use event listener options */\nexport type UseEventListenerOptions = {\n enabled?: boolean;\n} & AddEventListenerOptions;\n\n/** The use event listener return type */\nexport type UseEventListenerReturn<Target extends Element> = StateRef<Target>;\n\nexport interface UseEventListener {\n <Event extends keyof WindowEventMap = keyof WindowEventMap>(\n target: HookTarget,\n event: Event,\n listener: (this: Window, event: WindowEventMap[Event]) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Event extends keyof DocumentEventMap = keyof DocumentEventMap>(\n target: HookTarget,\n event: Event,\n listener: (this: Document, event: DocumentEventMap[Event]) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Event extends keyof HTMLElementEventMap = keyof HTMLElementEventMap>(\n target: HookTarget,\n event: Event,\n listener: (this: Element, event: HTMLElementEventMap[Event]) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Target extends Element, Event extends keyof HTMLElementEventMap = keyof HTMLElementEventMap>(\n event: Event,\n listener: (this: Target, event: HTMLElementEventMap[Event]) => void,\n options?: UseEventListenerOptions,\n target?: never\n ): UseEventListenerReturn<Target>;\n\n <\n Target extends Element,\n Event extends keyof MediaQueryListEventMap = keyof MediaQueryListEventMap\n >(\n event: Event,\n listener: (this: Target, event: MediaQueryListEventMap[Event]) => void,\n options?: UseEventListenerOptions,\n target?: never\n ): UseEventListenerReturn<Target>;\n}\n\n/**\n * @name useEventListener\n * @description - Hook that attaches an event listener to the specified target\n * @category Browser\n * @usage necessary\n
|
|
1
|
+
{"version":3,"file":"useEventListener.mjs","names":[],"sources":["../../../../src/hooks/useEventListener/useEventListener.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nimport type { HookTarget } from '@/utils/helpers';\n\nimport { isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The use event listener options */\nexport type UseEventListenerOptions = {\n enabled?: boolean;\n} & AddEventListenerOptions;\n\n/** The use event listener return type */\nexport type UseEventListenerReturn<Target extends Element> = StateRef<Target>;\n\nexport interface UseEventListener {\n <Event extends keyof WindowEventMap = keyof WindowEventMap>(\n target: HookTarget,\n event: Event,\n listener: (this: Window, event: WindowEventMap[Event]) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Event extends keyof DocumentEventMap = keyof DocumentEventMap>(\n target: HookTarget,\n event: Event,\n listener: (this: Document, event: DocumentEventMap[Event]) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Event extends keyof HTMLElementEventMap = keyof HTMLElementEventMap>(\n target: HookTarget,\n event: Event,\n listener: (this: Element, event: HTMLElementEventMap[Event]) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Target extends Element, Event extends keyof HTMLElementEventMap = keyof HTMLElementEventMap>(\n event: Event,\n listener: (this: Target, event: HTMLElementEventMap[Event]) => void,\n options?: UseEventListenerOptions,\n target?: never\n ): UseEventListenerReturn<Target>;\n\n <\n Target extends Element,\n Event extends keyof MediaQueryListEventMap = keyof MediaQueryListEventMap\n >(\n event: Event,\n listener: (this: Target, event: MediaQueryListEventMap[Event]) => void,\n options?: UseEventListenerOptions,\n target?: never\n ): UseEventListenerReturn<Target>;\n}\n\n/**\n * @name useEventListener\n * @description - Hook that attaches an event listener to the specified target\n * @category Browser\n * @usage necessary\n *\n * @overload\n * @template Event Key of window event map\n * @template Target The target element\n * @param {HookTarget} target The target element to attach the event listener to\n * @param {Event | Event[]} event An array of event types to listen for\n * @param {(this: Target, event: HTMLElementEventMap[Event]) => void} handler The event handler function\n * @param {UseEventListenerOptions} [options] Options for the event listener\n * @returns {void}\n *\n * @example\n * useEventListener(ref, 'click', () => console.log('click'));\n *\n * @overload\n * @template Event Key of window event map\n * @template Target The target element\n * @param {Event | Event[]} event An array of event types to listen for\n * @param {(this: Target, event: HTMLElementEventMap[Event] | MediaQueryListEventMap[Event]) => void} handler The event handler function\n * @param {UseEventListenerOptions} [options] Options for the event listener\n * @returns {UseEventListenerReturn<Target>} A reference to the target element\n *\n * @example\n * const ref = useEventListener('click', () => console.log('click'));\n */\nexport const useEventListener = ((...params: any[]) => {\n const target = (isTarget(params[0]) ? params[0] : undefined) as HookTarget | undefined;\n const event = (target ? params[1] : params[0]) as string;\n const listener = (target ? params[2] : params[1]) as (...arg: any[]) => undefined | void;\n const options = (target ? params[3] : params[2]) as UseEventListenerOptions | undefined;\n\n const enabled = options?.enabled ?? true;\n\n const internalRef = useRefState();\n const internalListenerRef = useRef(listener);\n internalListenerRef.current = listener;\n const internalOptionsRef = useRef(options);\n internalOptionsRef.current = options;\n\n useEffect(() => {\n if (!enabled) return;\n\n const element =\n ((target ? isTarget.getElement(target) : internalRef.current) as Element) ?? window;\n\n const listener = (event: Event) => internalListenerRef.current(event);\n\n element.addEventListener(event, listener, options);\n return () => {\n element.removeEventListener(event, listener, options);\n };\n }, [target && isTarget.getRawElement(target), internalRef.state, event, enabled]);\n\n if (target) return;\n return internalRef;\n}) as UseEventListener;\n"],"mappings":";;;;AAuFA,IAAa,MAAqB,GAAG,MAAkB;CACrD,IAAM,IAAU,EAAS,EAAO,GAAG,GAAG,EAAO,KAAK,KAAA,GAC5C,IAAS,IAAS,EAAO,KAAK,EAAO,IACrC,IAAY,IAAS,EAAO,KAAK,EAAO,IACxC,IAAW,IAAS,EAAO,KAAK,EAAO,IAEvC,IAAU,GAAS,WAAW,IAE9B,IAAc,GAAa,EAC3B,IAAsB,EAAO,EAAS;AAC5C,GAAoB,UAAU;CAC9B,IAAM,IAAqB,EAAO,EAAQ;AAC1C,OAAmB,UAAU,GAE7B,QAAgB;AACd,MAAI,CAAC,EAAS;EAEd,IAAM,KACF,IAAS,EAAS,WAAW,EAAO,GAAG,EAAY,YAAwB,QAEzE,KAAY,MAAiB,EAAoB,QAAQ,EAAM;AAGrE,SADA,EAAQ,iBAAiB,GAAO,GAAU,EAAQ,QACrC;AACX,KAAQ,oBAAoB,GAAO,GAAU,EAAQ;;IAEtD;EAAC,KAAU,EAAS,cAAc,EAAO;EAAE,EAAY;EAAO;EAAO;EAAQ,CAAC,EAE7E,GACJ,QAAO"}
|
|
@@ -1,50 +1,45 @@
|
|
|
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
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
opened: R,
|
|
42
|
-
isError: S,
|
|
43
|
-
close: l,
|
|
44
|
-
open: u
|
|
45
|
-
};
|
|
1
|
+
import { getRetry as e } from "../../utils/helpers/getRetry.mjs";
|
|
2
|
+
import { useEffect as t, useRef as n, useState as r } from "react";
|
|
3
|
+
//#region src/hooks/useEventSource/useEventSource.ts
|
|
4
|
+
var i = (i, a = [], o = {}) => {
|
|
5
|
+
let [s, c] = r(!1), [l, u] = r(!1), [d, f] = r(!1), p = n(o?.retry ? e(o.retry) : 0), [m, h] = r(void 0), [g, _] = r(o?.placeholderData), v = n(void 0), y = o.immediately ?? !0, b = n((e) => _(e.data)), x = () => {
|
|
6
|
+
v.current &&= (u(!1), c(!1), f(!1), a.forEach((e) => v.current.removeEventListener(e, b.current)), v.current.close(), void 0);
|
|
7
|
+
}, S = () => {
|
|
8
|
+
x();
|
|
9
|
+
let t = new EventSource(i, { withCredentials: o.withCredentials ?? !1 });
|
|
10
|
+
v.current = t, c(!0), t.onopen = () => {
|
|
11
|
+
u(!0), c(!1), h(void 0), o?.onOpen?.();
|
|
12
|
+
}, t.onerror = (t) => {
|
|
13
|
+
if (u(!1), c(!1), f(!0), h(t), o?.onError?.(t), p.current > 0) {
|
|
14
|
+
--p.current;
|
|
15
|
+
let e = typeof o?.retryDelay == "function" ? o?.retryDelay(p.current, t) : o?.retryDelay;
|
|
16
|
+
if (e) {
|
|
17
|
+
setTimeout(S, e);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
return S();
|
|
21
|
+
}
|
|
22
|
+
p.current = o?.retry ? e(o.retry) : 0;
|
|
23
|
+
}, t.onmessage = (e) => {
|
|
24
|
+
_(o?.select ? o?.select(e.data) : e.data), o?.onMessage?.(e);
|
|
25
|
+
}, a.forEach((e) => t.addEventListener(e, b.current));
|
|
26
|
+
};
|
|
27
|
+
return t(() => {
|
|
28
|
+
if (y) return S(), () => {
|
|
29
|
+
x();
|
|
30
|
+
};
|
|
31
|
+
}, [y]), {
|
|
32
|
+
instance: v.current,
|
|
33
|
+
data: g,
|
|
34
|
+
error: m,
|
|
35
|
+
isConnecting: s,
|
|
36
|
+
opened: l,
|
|
37
|
+
isError: d,
|
|
38
|
+
close: x,
|
|
39
|
+
open: S
|
|
40
|
+
};
|
|
46
41
|
};
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
//# sourceMappingURL=useEventSource.mjs.map
|
|
42
|
+
//#endregion
|
|
43
|
+
export { i as useEventSource };
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=useEventSource.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEventSource.mjs","sources":["../../../../src/hooks/useEventSource/useEventSource.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport { getRetry } from '@/utils/helpers';\n\n/** The use event source options type */\nexport interface UseEventSourceOptions<QueryData, Data> extends EventSourceInit {\n /** Immediately open the connection when calling this hook */\n immediately?: boolean;\n /* The placeholder data for the hook */\n placeholderData?: (() => Data) | Data;\n /* The retry count of requests */\n retry?: boolean | number;\n /* The retry delay of requests */\n retryDelay?: ((retry: number, event: Event) => number) | number;\n /* The onError function to be invoked */\n onError?: (error: Event) => void;\n /* The onMessage function to be invoked */\n onMessage?: (event: Event & { data?: Data }) => void;\n /* The onOpen function to be invoked */\n onOpen?: () => void;\n /* The select function to be invoked */\n select?: (data: QueryData) => Data;\n}\n\n/** The use event source return type */\ninterface UseEventSourceReturn<Data = any> {\n /** The latest data received via the EventSource */\n data?: Data;\n /** The current error */\n error?: Event;\n /** The instance of the EventSource */\n instance?: EventSource;\n /* The connecting state of the query */\n isConnecting: boolean;\n /* The error state of the query */\n isError: boolean;\n /* The open state of the query */\n opened: boolean;\n /** Closes the EventSource connection gracefully */\n close: () => void;\n /** Reopen the EventSource connection */\n open: () => void;\n}\n\n/**\n * @name useEventSource\n * @description - Hook that provides a reactive wrapper for event source\n * @category Browser\n * @usage low\n *\n * @browserapi EventSource https://developer.mozilla.org/en-US/docs/Web/API/EventSource\n *\n * @param {string | URL} url The URL of the EventSource\n * @param {string[]} [events=[]] List of events to listen to\n * @param {UseEventSourceOptions} [options={}] Configuration options\n * @returns {UseEventSourceReturn<Data>} The EventSource state and controls\n *\n * @example\n * const { instance, data, connecting, opened, isError, close, open } = useEventSource('url', ['message']);\n */\nexport const useEventSource = <QueryData = any, Data = QueryData>(\n url: string | URL,\n events: string[] = [],\n options: UseEventSourceOptions<QueryData, Data> = {}\n): UseEventSourceReturn<Data> => {\n const [isConnecting, setIsConnecting] = useState(false);\n const [opened, setOpened] = useState(false);\n const [isError, setIsError] = useState(false);\n\n const retryCountRef = useRef(options?.retry ? getRetry(options.retry) : 0);\n const [error, setError] = useState<Event | undefined>(undefined);\n const [data, setData] = useState<Data | undefined>(options?.placeholderData);\n\n const eventSourceRef = useRef<EventSource>(undefined);\n\n const immediately = options.immediately ?? true;\n\n const onEventRef = useRef((event: Event & { data?: Data }) => setData(event.data));\n\n const close = () => {\n if (!eventSourceRef.current) return;\n\n setOpened(false);\n setIsConnecting(false);\n setIsError(false);\n\n events.forEach((eventName) =>\n eventSourceRef.current!.removeEventListener(eventName, onEventRef.current)\n );\n\n eventSourceRef.current.close();\n eventSourceRef.current = undefined;\n };\n\n const open = () => {\n close();\n\n const eventSource = new EventSource(url, {\n withCredentials: options.withCredentials ?? false\n });\n eventSourceRef.current = eventSource;\n\n setIsConnecting(true);\n\n eventSource.onopen = () => {\n setOpened(true);\n setIsConnecting(false);\n setError(undefined);\n options?.onOpen?.();\n };\n\n eventSource.onerror = (event) => {\n setOpened(false);\n setIsConnecting(false);\n setIsError(true);\n setError(event);\n options?.onError?.(event);\n\n if (retryCountRef.current > 0) {\n retryCountRef.current -= 1;\n\n const retryDelay =\n typeof options?.retryDelay === 'function'\n ? options?.retryDelay(retryCountRef.current, event)\n : options?.retryDelay;\n\n if (retryDelay) {\n setTimeout(open, retryDelay);\n return;\n }\n\n return open();\n }\n\n retryCountRef.current = options?.retry ? getRetry(options.retry) : 0;\n };\n\n eventSource.onmessage = (event) => {\n const data = options?.select ? options?.select(event.data) : event.data;\n setData(data);\n options?.onMessage?.(event);\n };\n\n events.forEach((eventName) => eventSource.addEventListener(eventName, onEventRef.current));\n };\n\n useEffect(() => {\n if (!immediately) return;\n\n open();\n return () => {\n close();\n };\n }, [immediately]);\n\n return {\n instance: eventSourceRef.current,\n data,\n error,\n isConnecting,\n opened,\n isError,\n close,\n open\n };\n};\n"],"
|
|
1
|
+
{"version":3,"file":"useEventSource.mjs","names":[],"sources":["../../../../src/hooks/useEventSource/useEventSource.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport { getRetry } from '@/utils/helpers';\n\n/** The use event source options type */\nexport interface UseEventSourceOptions<QueryData, Data> extends EventSourceInit {\n /** Immediately open the connection when calling this hook */\n immediately?: boolean;\n /* The placeholder data for the hook */\n placeholderData?: (() => Data) | Data;\n /* The retry count of requests */\n retry?: boolean | number;\n /* The retry delay of requests */\n retryDelay?: ((retry: number, event: Event) => number) | number;\n /* The onError function to be invoked */\n onError?: (error: Event) => void;\n /* The onMessage function to be invoked */\n onMessage?: (event: Event & { data?: Data }) => void;\n /* The onOpen function to be invoked */\n onOpen?: () => void;\n /* The select function to be invoked */\n select?: (data: QueryData) => Data;\n}\n\n/** The use event source return type */\ninterface UseEventSourceReturn<Data = any> {\n /** The latest data received via the EventSource */\n data?: Data;\n /** The current error */\n error?: Event;\n /** The instance of the EventSource */\n instance?: EventSource;\n /* The connecting state of the query */\n isConnecting: boolean;\n /* The error state of the query */\n isError: boolean;\n /* The open state of the query */\n opened: boolean;\n /** Closes the EventSource connection gracefully */\n close: () => void;\n /** Reopen the EventSource connection */\n open: () => void;\n}\n\n/**\n * @name useEventSource\n * @description - Hook that provides a reactive wrapper for event source\n * @category Browser\n * @usage low\n *\n * @browserapi EventSource https://developer.mozilla.org/en-US/docs/Web/API/EventSource\n *\n * @param {string | URL} url The URL of the EventSource\n * @param {string[]} [events=[]] List of events to listen to\n * @param {UseEventSourceOptions} [options={}] Configuration options\n * @returns {UseEventSourceReturn<Data>} The EventSource state and controls\n *\n * @example\n * const { instance, data, connecting, opened, isError, close, open } = useEventSource('url', ['message']);\n */\nexport const useEventSource = <QueryData = any, Data = QueryData>(\n url: string | URL,\n events: string[] = [],\n options: UseEventSourceOptions<QueryData, Data> = {}\n): UseEventSourceReturn<Data> => {\n const [isConnecting, setIsConnecting] = useState(false);\n const [opened, setOpened] = useState(false);\n const [isError, setIsError] = useState(false);\n\n const retryCountRef = useRef(options?.retry ? getRetry(options.retry) : 0);\n const [error, setError] = useState<Event | undefined>(undefined);\n const [data, setData] = useState<Data | undefined>(options?.placeholderData);\n\n const eventSourceRef = useRef<EventSource>(undefined);\n\n const immediately = options.immediately ?? true;\n\n const onEventRef = useRef((event: Event & { data?: Data }) => setData(event.data));\n\n const close = () => {\n if (!eventSourceRef.current) return;\n\n setOpened(false);\n setIsConnecting(false);\n setIsError(false);\n\n events.forEach((eventName) =>\n eventSourceRef.current!.removeEventListener(eventName, onEventRef.current)\n );\n\n eventSourceRef.current.close();\n eventSourceRef.current = undefined;\n };\n\n const open = () => {\n close();\n\n const eventSource = new EventSource(url, {\n withCredentials: options.withCredentials ?? false\n });\n eventSourceRef.current = eventSource;\n\n setIsConnecting(true);\n\n eventSource.onopen = () => {\n setOpened(true);\n setIsConnecting(false);\n setError(undefined);\n options?.onOpen?.();\n };\n\n eventSource.onerror = (event) => {\n setOpened(false);\n setIsConnecting(false);\n setIsError(true);\n setError(event);\n options?.onError?.(event);\n\n if (retryCountRef.current > 0) {\n retryCountRef.current -= 1;\n\n const retryDelay =\n typeof options?.retryDelay === 'function'\n ? options?.retryDelay(retryCountRef.current, event)\n : options?.retryDelay;\n\n if (retryDelay) {\n setTimeout(open, retryDelay);\n return;\n }\n\n return open();\n }\n\n retryCountRef.current = options?.retry ? getRetry(options.retry) : 0;\n };\n\n eventSource.onmessage = (event) => {\n const data = options?.select ? options?.select(event.data) : event.data;\n setData(data);\n options?.onMessage?.(event);\n };\n\n events.forEach((eventName) => eventSource.addEventListener(eventName, onEventRef.current));\n };\n\n useEffect(() => {\n if (!immediately) return;\n\n open();\n return () => {\n close();\n };\n }, [immediately]);\n\n return {\n instance: eventSourceRef.current,\n data,\n error,\n isConnecting,\n opened,\n isError,\n close,\n open\n };\n};\n"],"mappings":";;;AA4DA,IAAa,KACX,GACA,IAAmB,EAAE,EACrB,IAAkD,EAAE,KACrB;CAC/B,IAAM,CAAC,GAAc,KAAmB,EAAS,GAAM,EACjD,CAAC,GAAQ,KAAa,EAAS,GAAM,EACrC,CAAC,GAAS,KAAc,EAAS,GAAM,EAEvC,IAAgB,EAAO,GAAS,QAAQ,EAAS,EAAQ,MAAM,GAAG,EAAE,EACpE,CAAC,GAAO,KAAY,EAA4B,KAAA,EAAU,EAC1D,CAAC,GAAM,KAAW,EAA2B,GAAS,gBAAgB,EAEtE,IAAiB,EAAoB,KAAA,EAAU,EAE/C,IAAc,EAAQ,eAAe,IAErC,IAAa,GAAQ,MAAmC,EAAQ,EAAM,KAAK,CAAC,EAE5E,UAAc;AACb,EAWL,EAAe,aATf,EAAU,GAAM,EAChB,EAAgB,GAAM,EACtB,EAAW,GAAM,EAEjB,EAAO,SAAS,MACd,EAAe,QAAS,oBAAoB,GAAW,EAAW,QAAQ,CAC3E,EAED,EAAe,QAAQ,OAAO,EACL,KAAA;IAGrB,UAAa;AACjB,KAAO;EAEP,IAAM,IAAc,IAAI,YAAY,GAAK,EACvC,iBAAiB,EAAQ,mBAAmB,IAC7C,CAAC;AA4CF,EA3CA,EAAe,UAAU,GAEzB,EAAgB,GAAK,EAErB,EAAY,eAAe;AAIzB,GAHA,EAAU,GAAK,EACf,EAAgB,GAAM,EACtB,EAAS,KAAA,EAAU,EACnB,GAAS,UAAU;KAGrB,EAAY,WAAW,MAAU;AAO/B,OANA,EAAU,GAAM,EAChB,EAAgB,GAAM,EACtB,EAAW,GAAK,EAChB,EAAS,EAAM,EACf,GAAS,UAAU,EAAM,EAErB,EAAc,UAAU,GAAG;AAC7B,QAAc;IAEd,IAAM,IACJ,OAAO,GAAS,cAAe,aAC3B,GAAS,WAAW,EAAc,SAAS,EAAM,GACjD,GAAS;AAEf,QAAI,GAAY;AACd,gBAAW,GAAM,EAAW;AAC5B;;AAGF,WAAO,GAAM;;AAGf,KAAc,UAAU,GAAS,QAAQ,EAAS,EAAQ,MAAM,GAAG;KAGrE,EAAY,aAAa,MAAU;AAGjC,GADA,EADa,GAAS,SAAS,GAAS,OAAO,EAAM,KAAK,GAAG,EAAM,KACtD,EACb,GAAS,YAAY,EAAM;KAG7B,EAAO,SAAS,MAAc,EAAY,iBAAiB,GAAW,EAAW,QAAQ,CAAC;;AAY5F,QATA,QAAgB;AACT,QAGL,QADA,GAAM,QACO;AACX,MAAO;;IAER,CAAC,EAAY,CAAC,EAEV;EACL,UAAU,EAAe;EACzB;EACA;EACA;EACA;EACA;EACA;EACA;EACD"}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import { useState as
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
import { useState as e } from "react";
|
|
2
|
+
//#region src/hooks/useEyeDropper/useEyeDropper.ts
|
|
3
|
+
var t = (t = void 0) => {
|
|
4
|
+
let n = typeof window < "u" && "EyeDropper" in window && !!window.EyeDropper, [r, i] = e(t);
|
|
5
|
+
return {
|
|
6
|
+
supported: n,
|
|
7
|
+
value: r,
|
|
8
|
+
open: async (e) => {
|
|
9
|
+
if (!window.EyeDropper) throw Error("EyeDropper is not supported");
|
|
10
|
+
let t = await new window.EyeDropper().open(e);
|
|
11
|
+
return i(t.sRGBHex), t;
|
|
12
|
+
}
|
|
13
|
+
};
|
|
13
14
|
};
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
//# sourceMappingURL=useEyeDropper.mjs.map
|
|
15
|
+
//#endregion
|
|
16
|
+
export { t as useEyeDropper };
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=useEyeDropper.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEyeDropper.mjs","sources":["../../../../src/hooks/useEyeDropper/useEyeDropper.ts"],"sourcesContent":["import { useState } from 'react';\n\nexport interface ColorSelectionOptions {\n signal?: AbortSignal;\n}\n\nexport interface ColorSelectionResult {\n sRGBHex: string;\n}\n\nexport interface EyeDropper {\n open: (options?: ColorSelectionOptions) => Promise<ColorSelectionResult>;\n}\n\nexport interface EyeDropperConstructor {\n new (): EyeDropper;\n}\n\ndeclare global {\n interface Window {\n readonly EyeDropper?: EyeDropperConstructor | undefined;\n }\n}\n\n/** The color selection return type */\nexport interface UseEyeDropperReturn {\n /** The eye dropper supported status */\n supported: boolean;\n /** The eye dropper value */\n value?: string;\n /** The eye dropper open method */\n open: (colorSelectionOptions?: ColorSelectionOptions) => Promise<ColorSelectionResult>;\n}\n\n/**\n * @name useEyeDropper\n * @description - Hook that gives you access to the eye dropper\n * @category Browser\n * @usage low\n *\n * @browserapi EyeDropper https://developer.mozilla.org/en-US/docs/Web/API/EyeDropper\n *\n * @param {string} [initialValue=undefined] The initial value for the eye dropper\n * @returns {UseEyeDropperReturn} An object containing the supported status, the value and the open method\n *\n * @example\n * const { supported, value, open } = useEyeDropper();\n */\nexport const useEyeDropper = (\n initialValue: string | undefined = undefined\n): UseEyeDropperReturn => {\n const supported = typeof window !== 'undefined' && 'EyeDropper' in window && !!window.EyeDropper;\n const [value, setValue] = useState(initialValue);\n\n const open = async (colorSelectionOptions?: ColorSelectionOptions) => {\n if (!window.EyeDropper) throw new Error('EyeDropper is not supported');\n const eyeDropper = new window.EyeDropper();\n const result = await eyeDropper.open(colorSelectionOptions);\n setValue(result.sRGBHex);\n return result;\n };\n\n return {\n supported,\n value,\n open\n };\n};\n"],"
|
|
1
|
+
{"version":3,"file":"useEyeDropper.mjs","names":[],"sources":["../../../../src/hooks/useEyeDropper/useEyeDropper.ts"],"sourcesContent":["import { useState } from 'react';\n\nexport interface ColorSelectionOptions {\n signal?: AbortSignal;\n}\n\nexport interface ColorSelectionResult {\n sRGBHex: string;\n}\n\nexport interface EyeDropper {\n open: (options?: ColorSelectionOptions) => Promise<ColorSelectionResult>;\n}\n\nexport interface EyeDropperConstructor {\n new (): EyeDropper;\n}\n\ndeclare global {\n interface Window {\n readonly EyeDropper?: EyeDropperConstructor | undefined;\n }\n}\n\n/** The color selection return type */\nexport interface UseEyeDropperReturn {\n /** The eye dropper supported status */\n supported: boolean;\n /** The eye dropper value */\n value?: string;\n /** The eye dropper open method */\n open: (colorSelectionOptions?: ColorSelectionOptions) => Promise<ColorSelectionResult>;\n}\n\n/**\n * @name useEyeDropper\n * @description - Hook that gives you access to the eye dropper\n * @category Browser\n * @usage low\n *\n * @browserapi EyeDropper https://developer.mozilla.org/en-US/docs/Web/API/EyeDropper\n *\n * @param {string} [initialValue=undefined] The initial value for the eye dropper\n * @returns {UseEyeDropperReturn} An object containing the supported status, the value and the open method\n *\n * @example\n * const { supported, value, open } = useEyeDropper();\n */\nexport const useEyeDropper = (\n initialValue: string | undefined = undefined\n): UseEyeDropperReturn => {\n const supported = typeof window !== 'undefined' && 'EyeDropper' in window && !!window.EyeDropper;\n const [value, setValue] = useState(initialValue);\n\n const open = async (colorSelectionOptions?: ColorSelectionOptions) => {\n if (!window.EyeDropper) throw new Error('EyeDropper is not supported');\n const eyeDropper = new window.EyeDropper();\n const result = await eyeDropper.open(colorSelectionOptions);\n setValue(result.sRGBHex);\n return result;\n };\n\n return {\n supported,\n value,\n open\n };\n};\n"],"mappings":";;AAgDA,IAAa,KACX,IAAmC,KAAA,MACX;CACxB,IAAM,IAAY,OAAO,SAAW,OAAe,gBAAgB,UAAU,CAAC,CAAC,OAAO,YAChF,CAAC,GAAO,KAAY,EAAS,EAAa;AAUhD,QAAO;EACL;EACA;EACA,MAXW,OAAO,MAAkD;AACpE,OAAI,CAAC,OAAO,WAAY,OAAU,MAAM,8BAA8B;GAEtE,IAAM,IAAS,MADI,IAAI,OAAO,YAAY,CACV,KAAK,EAAsB;AAE3D,UADA,EAAS,EAAO,QAAQ,EACjB;;EAOR"}
|
|
@@ -1,19 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
1
|
+
import { useMount as e } from "../useMount/useMount.mjs";
|
|
2
|
+
import { useState as t } from "react";
|
|
3
|
+
//#region src/hooks/useFavicon/useFavicon.ts
|
|
4
|
+
var n = (n) => {
|
|
5
|
+
let [r, i] = t(n ?? (typeof document < "u" ? document.querySelector("link[rel*=\"icon\"]")?.href : void 0)), a = (e) => {
|
|
6
|
+
let t = document.querySelector("link[rel*=\"icon\"]") || document.createElement("link");
|
|
7
|
+
t.rel = "icon", t.href = e, t.type = `image/${e.split(".").pop()}`, document.head.append(t);
|
|
8
|
+
};
|
|
9
|
+
return e(() => {
|
|
10
|
+
n && a(n);
|
|
11
|
+
}), {
|
|
12
|
+
href: r,
|
|
13
|
+
set: (e) => {
|
|
14
|
+
i(e), a(e);
|
|
15
|
+
}
|
|
16
|
+
};
|
|
15
17
|
};
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
//# sourceMappingURL=useFavicon.mjs.map
|
|
18
|
+
//#endregion
|
|
19
|
+
export { n as useFavicon };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=useFavicon.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFavicon.mjs","sources":["../../../../src/hooks/useFavicon/useFavicon.ts"],"sourcesContent":["import type { Dispatch, SetStateAction } from 'react';\n\nimport { useState } from 'react';\n\nimport { useMount } from '../useMount/useMount';\n\n/** The use favicon return type */\nexport type UseFaviconReturn = [string, Dispatch<SetStateAction<string>>];\n\n/**\n * @name useFavicon\n * @description - Hook that manages the favicon\n * @category Browser\n * @usage low\n *\n * @param {string} [initialFavicon] The initial favicon. If not provided, the current favicon will be used\n * @returns {UseFaviconReturn} An array containing the current favicon and a function to update the favicon\n *\n * @example\n * const { href, set } = useFavicon('https://siberiacancode.github.io/reactuse/favicon.ico');\n */\nexport const useFavicon = (initialHref?: string) => {\n const [href, setHref] = useState(\n initialHref ??\n (typeof document !== 'undefined'\n ? document.querySelector<HTMLLinkElement>(`link[rel*=\"icon\"]`)?.href\n : undefined)\n );\n\n const injectFavicon = (favicon: string) => {\n const link =\n document.querySelector<HTMLLinkElement>(`link[rel*=\"icon\"]`) ||\n document.createElement('link');\n link.rel = 'icon';\n link.href = favicon;\n link.type = `image/${favicon.split('.').pop()}`;\n document.head.append(link);\n };\n\n const set = (favicon: string) => {\n setHref(favicon);\n injectFavicon(favicon);\n };\n\n useMount(() => {\n if (!initialHref) return;\n injectFavicon(initialHref);\n });\n\n return { href, set } as const;\n};\n"],"
|
|
1
|
+
{"version":3,"file":"useFavicon.mjs","names":[],"sources":["../../../../src/hooks/useFavicon/useFavicon.ts"],"sourcesContent":["import type { Dispatch, SetStateAction } from 'react';\n\nimport { useState } from 'react';\n\nimport { useMount } from '../useMount/useMount';\n\n/** The use favicon return type */\nexport type UseFaviconReturn = [string, Dispatch<SetStateAction<string>>];\n\n/**\n * @name useFavicon\n * @description - Hook that manages the favicon\n * @category Browser\n * @usage low\n *\n * @param {string} [initialFavicon] The initial favicon. If not provided, the current favicon will be used\n * @returns {UseFaviconReturn} An array containing the current favicon and a function to update the favicon\n *\n * @example\n * const { href, set } = useFavicon('https://siberiacancode.github.io/reactuse/favicon.ico');\n */\nexport const useFavicon = (initialHref?: string) => {\n const [href, setHref] = useState(\n initialHref ??\n (typeof document !== 'undefined'\n ? document.querySelector<HTMLLinkElement>(`link[rel*=\"icon\"]`)?.href\n : undefined)\n );\n\n const injectFavicon = (favicon: string) => {\n const link =\n document.querySelector<HTMLLinkElement>(`link[rel*=\"icon\"]`) ||\n document.createElement('link');\n link.rel = 'icon';\n link.href = favicon;\n link.type = `image/${favicon.split('.').pop()}`;\n document.head.append(link);\n };\n\n const set = (favicon: string) => {\n setHref(favicon);\n injectFavicon(favicon);\n };\n\n useMount(() => {\n if (!initialHref) return;\n injectFavicon(initialHref);\n });\n\n return { href, set } as const;\n};\n"],"mappings":";;;AAqBA,IAAa,KAAc,MAAyB;CAClD,IAAM,CAAC,GAAM,KAAW,EACtB,MACG,OAAO,WAAa,MACjB,SAAS,cAA+B,sBAAoB,EAAE,OAC9D,KAAA,GACP,EAEK,KAAiB,MAAoB;EACzC,IAAM,IACJ,SAAS,cAA+B,sBAAoB,IAC5D,SAAS,cAAc,OAAO;AAIhC,EAHA,EAAK,MAAM,QACX,EAAK,OAAO,GACZ,EAAK,OAAO,SAAS,EAAQ,MAAM,IAAI,CAAC,KAAK,IAC7C,SAAS,KAAK,OAAO,EAAK;;AAa5B,QALA,QAAe;AACR,OACL,EAAc,EAAY;GAC1B,EAEK;EAAE;EAAM,MAVF,MAAoB;AAE/B,GADA,EAAQ,EAAQ,EAChB,EAAc,EAAQ;;EAQJ"}
|
|
@@ -1,68 +1,62 @@
|
|
|
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
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
setValue: a,
|
|
59
|
-
reset: k,
|
|
60
|
-
watch: () => (f.current = !0, s()),
|
|
61
|
-
focus: L,
|
|
62
|
-
ref: r
|
|
63
|
-
};
|
|
1
|
+
import { useRerender as e } from "../useRerender/useRerender.mjs";
|
|
2
|
+
import { useRef as t, useState as n } from "react";
|
|
3
|
+
//#region src/hooks/useField/useField.ts
|
|
4
|
+
var r = (r = "", i) => {
|
|
5
|
+
let a = t(null), o = t(!1), s = e(), [c, l] = n(!1), [u, d] = n(i?.initialTouched ?? !1), [f, p] = n(void 0), m = () => a.current?.type === "radio" || a.current?.type === "checkbox" ? a.current.checked : a.current?.value ?? r, h = (e) => {
|
|
6
|
+
if (a.current?.type === "radio" || a.current?.type === "checkbox") return a.current.checked = e, o.current ? s() : void 0;
|
|
7
|
+
if (a.current.value = e, o.current) return s();
|
|
8
|
+
}, g = () => {
|
|
9
|
+
h(r), l(!1), d(!1), p(void 0);
|
|
10
|
+
}, _ = () => a.current.focus(), v = (e) => {
|
|
11
|
+
if (e.required && !a.current.value) return p(e.required);
|
|
12
|
+
if (e.min && Number(a.current.value) < e.min.value) return p(e.min.message);
|
|
13
|
+
if (e.max && Number(a.current.value) > e.max.value) return p(e.max.message);
|
|
14
|
+
if (e.minLength && a.current.value.length < e.minLength.value) return p(e.minLength.message);
|
|
15
|
+
if (e.maxLength && a.current.value.length > e.maxLength.value) return p(e.maxLength.message);
|
|
16
|
+
if (e.pattern && !e.pattern.value.test(a.current.value)) return p(e.pattern.message);
|
|
17
|
+
if (e.validate) {
|
|
18
|
+
let t = e.validate(a.current.value);
|
|
19
|
+
if (typeof t == "string") return p(t);
|
|
20
|
+
}
|
|
21
|
+
p(void 0);
|
|
22
|
+
};
|
|
23
|
+
return {
|
|
24
|
+
register: (e) => ({
|
|
25
|
+
ref: (t) => {
|
|
26
|
+
if (!a.current && t) {
|
|
27
|
+
if (i?.autoFocus && t.focus(), a.current = t, a.current.type === "radio") {
|
|
28
|
+
a.current.defaultChecked = r === t.value;
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
if (a.current.type === "checkbox") {
|
|
32
|
+
a.current.defaultChecked = !!r;
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
a.current.defaultValue = String(r), e && i?.validateOnMount && v(e);
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
onChange: async () => {
|
|
39
|
+
if (o.current) return s();
|
|
40
|
+
a.current.value !== r && l(!0), a.current.value === r && l(!1), e && i?.validateOnChange && await v(e), e && i?.validateOnBlur && p(void 0);
|
|
41
|
+
},
|
|
42
|
+
onBlur: async () => {
|
|
43
|
+
e && i?.validateOnBlur && await v(e), d(!0);
|
|
44
|
+
}
|
|
45
|
+
}),
|
|
46
|
+
dirty: c,
|
|
47
|
+
touched: u,
|
|
48
|
+
error: f,
|
|
49
|
+
setError: p,
|
|
50
|
+
clearError: () => p(void 0),
|
|
51
|
+
getValue: m,
|
|
52
|
+
setValue: h,
|
|
53
|
+
reset: g,
|
|
54
|
+
watch: () => (o.current = !0, m()),
|
|
55
|
+
focus: _,
|
|
56
|
+
ref: a
|
|
57
|
+
};
|
|
64
58
|
};
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
//# sourceMappingURL=useField.mjs.map
|
|
59
|
+
//#endregion
|
|
60
|
+
export { r as useField };
|
|
61
|
+
|
|
62
|
+
//# sourceMappingURL=useField.mjs.map
|