@siberiacancode/reactuse 0.0.44 → 0.0.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{_rollupPluginBabelHelpers-Bx9oEugz.js → _rollupPluginBabelHelpers-CFMEkg0G.js} +2 -2
- package/dist/cjs/_rollupPluginBabelHelpers-CFMEkg0G.js.map +1 -0
- package/dist/cjs/hooks/index.js +2 -2
- package/dist/cjs/hooks/useBattery/useBattery.js +2 -2
- package/dist/cjs/hooks/useBoolean/useBoolean.js +2 -2
- package/dist/cjs/hooks/useBrowserLanguage/useBrowserLanguage.js +1 -1
- package/dist/cjs/hooks/useClickOutside/useClickOutside.js +2 -2
- package/dist/cjs/hooks/useClickOutside/useClickOutside.js.map +1 -1
- package/dist/cjs/hooks/useClipboard/useClipboard.js +3 -0
- package/dist/cjs/hooks/useClipboard/useClipboard.js.map +1 -0
- package/dist/cjs/hooks/useCounter/useCounter.js +2 -2
- package/dist/cjs/hooks/useCounter/useCounter.js.map +1 -1
- package/dist/cjs/hooks/useDebounceCallback/useDebounceCallback.js +1 -1
- package/dist/cjs/hooks/useDebounceValue/useDebounceValue.js +2 -2
- package/dist/cjs/hooks/useDefault/useDefault.js +2 -2
- package/dist/cjs/hooks/useDidUpdate/useDidUpdate.js +1 -1
- package/dist/cjs/hooks/useDisclosure/useDisclosure.js +2 -2
- package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.js +2 -2
- package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.js.map +1 -1
- package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
- package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
- package/dist/cjs/hooks/useEvent/useEvent.js +2 -2
- package/dist/cjs/hooks/useEvent/useEvent.js.map +1 -1
- package/dist/cjs/hooks/useEventListener/useEventListener.js +2 -2
- package/dist/cjs/hooks/useEventListener/useEventListener.js.map +1 -1
- package/dist/cjs/hooks/useEyeDropper/useEyeDropper.js +2 -2
- package/dist/cjs/hooks/useFavicon/useFavicon.js +2 -2
- package/dist/cjs/hooks/useField/useField.js +2 -2
- package/dist/cjs/hooks/useField/useField.js.map +1 -1
- package/dist/cjs/hooks/useFileDialog/useFileDialog.js +2 -2
- package/dist/cjs/hooks/useFileDialog/useFileDialog.js.map +1 -1
- package/dist/cjs/hooks/useFps/useFps.js +2 -2
- package/dist/cjs/hooks/useFullscreen/useFullscreen.js +2 -2
- package/dist/cjs/hooks/useFullscreen/useFullscreen.js.map +1 -1
- package/dist/cjs/hooks/useGeolocation/useGeolocation.js +2 -2
- package/dist/cjs/hooks/useHash/useHash.js +2 -2
- package/dist/cjs/hooks/useHotkeys/useHotkeys.js +2 -2
- package/dist/cjs/hooks/useHover/useHover.js +2 -2
- package/dist/cjs/hooks/useHover/useHover.js.map +1 -1
- package/dist/cjs/hooks/useIdle/useIdle.js +2 -2
- package/dist/cjs/hooks/useImage/useImage.js +2 -2
- package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
- package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
- package/dist/cjs/hooks/useInterval/useInterval.js +2 -2
- package/dist/cjs/hooks/useInterval/useInterval.js.map +1 -1
- package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
- package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
- package/dist/cjs/hooks/useKeyPress/useKeyPress.js +2 -2
- package/dist/cjs/hooks/useKeyPress/useKeyPress.js.map +1 -1
- package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js +2 -2
- package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js.map +1 -1
- package/dist/cjs/hooks/useKeyboard/useKeyboard.js +2 -2
- package/dist/cjs/hooks/useKeyboard/useKeyboard.js.map +1 -1
- package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js +2 -2
- package/dist/cjs/hooks/useList/useList.js +2 -2
- package/dist/cjs/hooks/useLocalStorage/useLocalStorage.js +2 -2
- package/dist/cjs/hooks/useLogger/useLogger.js +2 -2
- package/dist/cjs/hooks/useLongPress/useLongPress.js +2 -2
- package/dist/cjs/hooks/useLongPress/useLongPress.js.map +1 -1
- package/dist/cjs/hooks/useMap/useMap.js +2 -2
- package/dist/cjs/hooks/useMeasure/useMeasure.js +2 -2
- package/dist/cjs/hooks/useMeasure/useMeasure.js.map +1 -1
- package/dist/cjs/hooks/useMediaQuery/useMediaQuery.js +1 -1
- package/dist/cjs/hooks/useMemory/useMemory.js +2 -2
- package/dist/cjs/hooks/useMemory/useMemory.js.map +1 -1
- package/dist/cjs/hooks/useMount/useMount.js +1 -1
- package/dist/cjs/hooks/useMouse/useMouse.js +2 -2
- package/dist/cjs/hooks/useMouse/useMouse.js.map +1 -1
- package/dist/cjs/hooks/useMutation/useMutation.js +2 -2
- package/dist/cjs/hooks/useMutationObserver.js +1 -1
- package/dist/cjs/hooks/useNetwork/useNetwork.js +2 -2
- package/dist/cjs/hooks/useOnline/useOnline.js +1 -1
- package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.js +1 -1
- package/dist/cjs/hooks/useOrientation/useOrientation.js +2 -2
- package/dist/cjs/hooks/usePageLeave/usePageLeave.js +2 -2
- package/dist/cjs/hooks/usePageLeave/usePageLeave.js.map +1 -1
- package/dist/cjs/hooks/usePaint/helpers/Paint.js +2 -2
- package/dist/cjs/hooks/usePaint/helpers/Pointer.js +2 -2
- package/dist/cjs/hooks/usePaint/usePaint.js +2 -2
- package/dist/cjs/hooks/usePaint/usePaint.js.map +1 -1
- package/dist/cjs/hooks/usePermission/usePermission.js +2 -2
- package/dist/cjs/hooks/usePermission/usePermission.js.map +1 -1
- package/dist/cjs/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
- package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
- package/dist/cjs/hooks/usePrevious/usePrevious.js +1 -1
- package/dist/cjs/hooks/useQuery/useQuery.js +2 -2
- package/dist/cjs/hooks/useQueue/useQueue.js +2 -2
- package/dist/cjs/hooks/useRenderCount/useRenderCount.js +1 -1
- package/dist/cjs/hooks/useRenderInfo/useRenderInfo.js +1 -1
- package/dist/cjs/hooks/useRerender/useRerender.js +2 -2
- package/dist/cjs/hooks/useResizeObserver/useResizeObserver.js +3 -0
- package/dist/cjs/hooks/useResizeObserver/useResizeObserver.js.map +1 -0
- package/dist/cjs/hooks/useScript/useScript.js +2 -2
- package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js +2 -2
- package/dist/cjs/hooks/useSet/useSet.js +2 -2
- package/dist/cjs/hooks/useShare/useShare.js +2 -2
- package/dist/cjs/hooks/useStep/useStep.js +2 -2
- package/dist/cjs/hooks/useStopwatch/useStopwatch.js +2 -2
- package/dist/cjs/hooks/useStopwatch/useStopwatch.js.map +1 -1
- package/dist/cjs/hooks/useStorage/useStorage.js +2 -2
- package/dist/cjs/hooks/useTextSelection/useTextSelection.js +2 -2
- package/dist/cjs/hooks/useTime/useTime.js +2 -2
- package/dist/cjs/hooks/useTime/useTime.js.map +1 -1
- package/dist/cjs/hooks/useTimeout/useTimeout.js +2 -2
- package/dist/cjs/hooks/useTimeout/useTimeout.js.map +1 -1
- package/dist/cjs/hooks/useToggle/useToggle.js +2 -2
- package/dist/cjs/hooks/useUnmount/useUnmount.js +1 -1
- package/dist/cjs/hooks/useUnmount/useUnmount.js.map +1 -1
- package/dist/cjs/hooks/useWebSocket/useWebSocket.js +2 -2
- package/dist/cjs/hooks/useWebSocket/useWebSocket.js.map +1 -1
- package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js +2 -2
- package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js.map +1 -1
- package/dist/cjs/hooks/useWindowSize/useWindowSize.js +2 -2
- package/dist/cjs/hooks/useWizard/useWizard.js +2 -2
- package/dist/cjs/{index-P7gOty8T.js → index-tUwcXC5G.js} +2 -2
- package/dist/cjs/{index-P7gOty8T.js.map → index-tUwcXC5G.js.map} +1 -1
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/utils/helpers/debounce.js +1 -1
- package/dist/cjs/utils/helpers/getRetry.js +1 -1
- package/dist/cjs/utils/helpers/index.js +2 -2
- package/dist/cjs/utils/helpers/isClient.js +1 -1
- package/dist/cjs/utils/helpers/isPermissionAllowed.js +3 -0
- package/dist/cjs/utils/helpers/isPermissionAllowed.js.map +1 -0
- package/dist/cjs/utils/helpers/throttle.js +1 -1
- package/dist/cjs/utils/helpers/time/getDate.js +1 -1
- package/dist/cjs/utils/types/index.js +1 -1
- package/dist/esm/{_rollupPluginBabelHelpers-CePHKKZk.js → _rollupPluginBabelHelpers-Cr2mIGKl.js} +2 -2
- package/dist/esm/_rollupPluginBabelHelpers-Cr2mIGKl.js.map +1 -0
- package/dist/esm/hooks/index.js +2 -2
- package/dist/esm/hooks/useBattery/useBattery.js +2 -2
- package/dist/esm/hooks/useBoolean/useBoolean.js +2 -2
- package/dist/esm/hooks/useBrowserLanguage/useBrowserLanguage.js +1 -1
- package/dist/esm/hooks/useClickOutside/useClickOutside.js +2 -2
- package/dist/esm/hooks/useClickOutside/useClickOutside.js.map +1 -1
- package/dist/esm/hooks/useClipboard/useClipboard.js +3 -0
- package/dist/esm/hooks/useClipboard/useClipboard.js.map +1 -0
- package/dist/esm/hooks/useCounter/useCounter.js +2 -2
- package/dist/esm/hooks/useCounter/useCounter.js.map +1 -1
- package/dist/esm/hooks/useDebounceCallback/useDebounceCallback.js +1 -1
- package/dist/esm/hooks/useDebounceValue/useDebounceValue.js +2 -2
- package/dist/esm/hooks/useDefault/useDefault.js +2 -2
- package/dist/esm/hooks/useDidUpdate/useDidUpdate.js +1 -1
- package/dist/esm/hooks/useDisclosure/useDisclosure.js +2 -2
- package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.js +2 -2
- package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.js.map +1 -1
- package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
- package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
- package/dist/esm/hooks/useEvent/useEvent.js +2 -2
- package/dist/esm/hooks/useEvent/useEvent.js.map +1 -1
- package/dist/esm/hooks/useEventListener/useEventListener.js +2 -2
- package/dist/esm/hooks/useEventListener/useEventListener.js.map +1 -1
- package/dist/esm/hooks/useEyeDropper/useEyeDropper.js +2 -2
- package/dist/esm/hooks/useFavicon/useFavicon.js +2 -2
- package/dist/esm/hooks/useField/useField.js +2 -2
- package/dist/esm/hooks/useField/useField.js.map +1 -1
- package/dist/esm/hooks/useFileDialog/useFileDialog.js +2 -2
- package/dist/esm/hooks/useFileDialog/useFileDialog.js.map +1 -1
- package/dist/esm/hooks/useFps/useFps.js +2 -2
- package/dist/esm/hooks/useFullscreen/useFullscreen.js +2 -2
- package/dist/esm/hooks/useFullscreen/useFullscreen.js.map +1 -1
- package/dist/esm/hooks/useGeolocation/useGeolocation.js +2 -2
- package/dist/esm/hooks/useHash/useHash.js +2 -2
- package/dist/esm/hooks/useHotkeys/useHotkeys.js +2 -2
- package/dist/esm/hooks/useHover/useHover.js +2 -2
- package/dist/esm/hooks/useHover/useHover.js.map +1 -1
- package/dist/esm/hooks/useIdle/useIdle.js +2 -2
- package/dist/esm/hooks/useImage/useImage.js +2 -2
- package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
- package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
- package/dist/esm/hooks/useInterval/useInterval.js +2 -2
- package/dist/esm/hooks/useInterval/useInterval.js.map +1 -1
- package/dist/esm/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
- package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
- package/dist/esm/hooks/useKeyPress/useKeyPress.js +2 -2
- package/dist/esm/hooks/useKeyPress/useKeyPress.js.map +1 -1
- package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js +2 -2
- package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js.map +1 -1
- package/dist/esm/hooks/useKeyboard/useKeyboard.js +2 -2
- package/dist/esm/hooks/useKeyboard/useKeyboard.js.map +1 -1
- package/dist/esm/hooks/useKeysPressed/useKeysPressed.js +2 -2
- package/dist/esm/hooks/useList/useList.js +2 -2
- package/dist/esm/hooks/useLocalStorage/useLocalStorage.js +2 -2
- package/dist/esm/hooks/useLogger/useLogger.js +2 -2
- package/dist/esm/hooks/useLongPress/useLongPress.js +2 -2
- package/dist/esm/hooks/useLongPress/useLongPress.js.map +1 -1
- package/dist/esm/hooks/useMap/useMap.js +2 -2
- package/dist/esm/hooks/useMeasure/useMeasure.js +2 -2
- package/dist/esm/hooks/useMeasure/useMeasure.js.map +1 -1
- package/dist/esm/hooks/useMediaQuery/useMediaQuery.js +1 -1
- package/dist/esm/hooks/useMemory/useMemory.js +2 -2
- package/dist/esm/hooks/useMemory/useMemory.js.map +1 -1
- package/dist/esm/hooks/useMount/useMount.js +1 -1
- package/dist/esm/hooks/useMouse/useMouse.js +2 -2
- package/dist/esm/hooks/useMouse/useMouse.js.map +1 -1
- package/dist/esm/hooks/useMutation/useMutation.js +2 -2
- package/dist/esm/hooks/useMutationObserver.js +1 -1
- package/dist/esm/hooks/useNetwork/useNetwork.js +2 -2
- package/dist/esm/hooks/useOnline/useOnline.js +1 -1
- package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.js +1 -1
- package/dist/esm/hooks/useOrientation/useOrientation.js +2 -2
- package/dist/esm/hooks/usePageLeave/usePageLeave.js +2 -2
- package/dist/esm/hooks/usePageLeave/usePageLeave.js.map +1 -1
- package/dist/esm/hooks/usePaint/helpers/Paint.js +2 -2
- package/dist/esm/hooks/usePaint/helpers/Pointer.js +2 -2
- package/dist/esm/hooks/usePaint/usePaint.js +2 -2
- package/dist/esm/hooks/usePaint/usePaint.js.map +1 -1
- package/dist/esm/hooks/usePermission/usePermission.js +2 -2
- package/dist/esm/hooks/usePermission/usePermission.js.map +1 -1
- package/dist/esm/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
- package/dist/esm/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
- package/dist/esm/hooks/usePrevious/usePrevious.js +1 -1
- package/dist/esm/hooks/useQuery/useQuery.js +2 -2
- package/dist/esm/hooks/useQueue/useQueue.js +2 -2
- package/dist/esm/hooks/useRenderCount/useRenderCount.js +1 -1
- package/dist/esm/hooks/useRenderInfo/useRenderInfo.js +1 -1
- package/dist/esm/hooks/useRerender/useRerender.js +2 -2
- package/dist/esm/hooks/useResizeObserver/useResizeObserver.js +3 -0
- package/dist/esm/hooks/useResizeObserver/useResizeObserver.js.map +1 -0
- package/dist/esm/hooks/useScript/useScript.js +2 -2
- package/dist/esm/hooks/useSessionStorage/useSessionStorage.js +2 -2
- package/dist/esm/hooks/useSet/useSet.js +2 -2
- package/dist/esm/hooks/useShare/useShare.js +2 -2
- package/dist/esm/hooks/useStep/useStep.js +2 -2
- package/dist/esm/hooks/useStopwatch/useStopwatch.js +2 -2
- package/dist/esm/hooks/useStopwatch/useStopwatch.js.map +1 -1
- package/dist/esm/hooks/useStorage/useStorage.js +2 -2
- package/dist/esm/hooks/useTextSelection/useTextSelection.js +2 -2
- package/dist/esm/hooks/useTime/useTime.js +2 -2
- package/dist/esm/hooks/useTime/useTime.js.map +1 -1
- package/dist/esm/hooks/useTimeout/useTimeout.js +2 -2
- package/dist/esm/hooks/useTimeout/useTimeout.js.map +1 -1
- package/dist/esm/hooks/useToggle/useToggle.js +2 -2
- package/dist/esm/hooks/useUnmount/useUnmount.js +1 -1
- package/dist/esm/hooks/useUnmount/useUnmount.js.map +1 -1
- package/dist/esm/hooks/useWebSocket/useWebSocket.js +2 -2
- package/dist/esm/hooks/useWebSocket/useWebSocket.js.map +1 -1
- package/dist/esm/hooks/useWindowEvent/useWindowEvent.js +2 -2
- package/dist/esm/hooks/useWindowEvent/useWindowEvent.js.map +1 -1
- package/dist/esm/hooks/useWindowSize/useWindowSize.js +2 -2
- package/dist/esm/hooks/useWizard/useWizard.js +2 -2
- package/dist/esm/{index-D_PnqV6k.js → index-CbB5dZai.js} +2 -2
- package/dist/esm/{index-D_PnqV6k.js.map → index-CbB5dZai.js.map} +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/utils/helpers/debounce.js +1 -1
- package/dist/esm/utils/helpers/getRetry.js +1 -1
- package/dist/esm/utils/helpers/index.js +2 -2
- package/dist/esm/utils/helpers/isClient.js +1 -1
- package/dist/esm/utils/helpers/isPermissionAllowed.js +3 -0
- package/dist/esm/utils/helpers/isPermissionAllowed.js.map +1 -0
- package/dist/esm/utils/helpers/throttle.js +1 -1
- package/dist/esm/utils/helpers/time/getDate.js +1 -1
- package/dist/esm/utils/types/index.js +1 -1
- package/dist/index.d.ts +100 -30
- package/package.json +1 -1
- package/dist/cjs/_rollupPluginBabelHelpers-Bx9oEugz.js.map +0 -1
- package/dist/cjs/hooks/useCopyToClipboard/useCopyToClipboard.js +0 -3
- package/dist/cjs/hooks/useCopyToClipboard/useCopyToClipboard.js.map +0 -1
- package/dist/esm/_rollupPluginBabelHelpers-CePHKKZk.js.map +0 -1
- package/dist/esm/hooks/useCopyToClipboard/useCopyToClipboard.js +0 -3
- package/dist/esm/hooks/useCopyToClipboard/useCopyToClipboard.js.map +0 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var n=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.46 */
|
|
2
|
+
"use strict";var n=require("../../_rollupPluginBabelHelpers-CFMEkg0G.js"),e=require("react"),i=require("../../utils/helpers/isClient.js"),o=function(){var n,e,i;return(null===(n=navigator)||void 0===n?void 0:n.connection)||(null===(e=navigator)||void 0===e?void 0:e.mozConnection)||(null===(i=navigator)||void 0===i?void 0:i.webkitConnection)};exports.getConnection=o,exports.useNetwork=function(){var t=e.useState((function(){if(!i.isClient)return{online:!1,type:void 0,effectiveType:void 0,saveData:!1,downlink:0,downlinkMax:0,rtt:0};var n=navigator.onLine,e=o();return{online:n,downlink:null==e?void 0:e.downlink,downlinkMax:null==e?void 0:e.downlinkMax,effectiveType:null==e?void 0:e.effectiveType,rtt:null==e?void 0:e.rtt,saveData:null==e?void 0:e.saveData,type:null==e?void 0:e.type}})),l=n._slicedToArray(t,2),v=l[0],r=l[1];return e.useEffect((function(){var n=function(){var n=navigator.onLine,e=o();r({online:n,downlink:null==e?void 0:e.downlink,downlinkMax:null==e?void 0:e.downlinkMax,effectiveType:null==e?void 0:e.effectiveType,rtt:null==e?void 0:e.rtt,saveData:null==e?void 0:e.saveData,type:null==e?void 0:e.type})};window.addEventListener("online",n,{passive:!0}),window.addEventListener("offline",n,{passive:!0});var e=o();return e&&e.addEventListener("change",n,{passive:!0}),function(){window.removeEventListener("online",n),window.removeEventListener("offline",n),e&&e.removeEventListener("change",n)}})),v};
|
|
3
3
|
//# sourceMappingURL=useNetwork.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.46 */
|
|
2
2
|
"use strict";var n=require("react"),e=function(){return navigator.onLine},t=function(){return!1},r=function(n){return window.addEventListener("online",n),window.addEventListener("offline",n),function(){window.removeEventListener("online",n),window.removeEventListener("offline",n)}};exports.useOnline=function(){return n.useSyncExternalStore(r,e,t)};
|
|
3
3
|
//# sourceMappingURL=useOnline.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.46 */
|
|
2
2
|
"use strict";var e=require("react"),t=function(){if("undefined"==typeof window)return"undetermined";var e=window.navigator.userAgent;return/(Macintosh)|(MacIntel)|(MacPPC)|(Mac68K)/i.test(e)?"macos":/(iPhone)|(iPad)|(iPod)/i.test(e)?"ios":/(Win32)|(Win64)|(Windows)|(WinCE)/i.test(e)?"windows":/Android/i.test(e)?"android":/Linux/i.test(e)?"linux":"undetermined"};exports.getOperatingSystem=t,exports.useOperatingSystem=function(){return e.useRef(t()).current};
|
|
3
3
|
//# sourceMappingURL=useOperatingSystem.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.46 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-CFMEkg0G.js"),r=require("react"),n=require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js");require("../../utils/helpers/isClient.js");exports.useOrientation=function(){var t=r.useState({angle:0,type:"landscape-primary"}),i=e._slicedToArray(t,2),o=i[0],a=i[1];return n.useIsomorphicLayoutEffect((function(){var e,r=function(){var e=window.screen.orientation,r=e.angle,n=e.type;a({angle:r,type:n})};return null===(e=window.screen.orientation)||void 0===e||e.addEventListener("change",r),function(){var e;return null===(e=window.screen.orientation)||void 0===e?void 0:e.removeEventListener("change",r)}}),[]),o};
|
|
3
3
|
//# sourceMappingURL=useOrientation.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.46 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-CFMEkg0G.js"),t=require("react"),n=require("../useEvent/useEvent.js");exports.usePageLeave=function(r){var u=t.useState(!1),s=e._slicedToArray(u,2),i=s[0],o=s[1],v=n.useEvent((function(){if(i)return o(!1);null==r||r(),o(!0)}));return t.useEffect((function(){return document.addEventListener("mouseleave",v,{passive:!0}),document.addEventListener("mouseenter",v,{passive:!0}),function(){document.removeEventListener("mouseenter",v),document.removeEventListener("mouseleave",v)}}),[]),i};
|
|
3
3
|
//# sourceMappingURL=usePageLeave.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePageLeave.js","sources":["../../../../src/hooks/usePageLeave/usePageLeave.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { useEvent } from '../useEvent/useEvent';\n\n/**\n * @name usePageLeave\n * @description - Hook what calls given function when mouse leaves the page\n * @category Sensors\n *\n * @param {() => void} [callback] The callback function what calls then mouse leaves the page\n * @returns {boolean} A boolean which determines if the mouse left the page\n *\n * @example\n * const isLeft = usePageLeave(() => console.log('on leave'))\n */\nexport const usePageLeave = (callback?: () => void) => {\n const [isLeft, setIsLeft] = useState(false);\n\n const onMouse = useEvent(() => {\n if (isLeft) return setIsLeft(false);\n callback?.();\n setIsLeft(true);\n });\n\n useEffect(() => {\n document.addEventListener('mouseleave', onMouse, { passive: true });\n document.addEventListener('mouseenter', onMouse, { passive: true });\n\n return () => {\n document.removeEventListener('mouseenter', onMouse);\n document.removeEventListener('mouseleave', onMouse);\n };\n }, []);\n\n return isLeft;\n};\n"],"names":["callback","_useState","useState","_useState2","_slicedToArray","isLeft","setIsLeft","onMouse","useEvent","useEffect","document","addEventListener","passive","removeEventListener"],"mappings":";
|
|
1
|
+
{"version":3,"file":"usePageLeave.js","sources":["../../../../src/hooks/usePageLeave/usePageLeave.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { useEvent } from '../useEvent/useEvent';\n\n/**\n * @name usePageLeave\n * @description - Hook what calls given function when mouse leaves the page\n * @category Sensors\n *\n * @param {() => void} [callback] The callback function what calls then mouse leaves the page\n * @returns {boolean} A boolean which determines if the mouse left the page\n *\n * @example\n * const isLeft = usePageLeave(() => console.log('on leave'))\n */\nexport const usePageLeave = (callback?: () => void) => {\n const [isLeft, setIsLeft] = useState(false);\n\n const onMouse = useEvent(() => {\n if (isLeft) return setIsLeft(false);\n callback?.();\n setIsLeft(true);\n });\n\n useEffect(() => {\n document.addEventListener('mouseleave', onMouse, { passive: true });\n document.addEventListener('mouseenter', onMouse, { passive: true });\n\n return () => {\n document.removeEventListener('mouseenter', onMouse);\n document.removeEventListener('mouseleave', onMouse);\n };\n }, []);\n\n return isLeft;\n};\n"],"names":["callback","_useState","useState","_useState2","_slicedToArray","isLeft","setIsLeft","onMouse","useEvent","useEffect","document","addEventListener","passive","removeEventListener"],"mappings":";uJAe4B,SAACA,GAC3B,IAAAC,EAA4BC,EAAQA,UAAC,GAAMC,EAAAC,EAAAA,eAAAH,EAAA,GAApCI,EAAMF,EAAA,GAAEG,EAASH,EAAA,GAElBI,EAAUC,EAAAA,UAAS,WACvB,GAAIH,EAAQ,OAAOC,GAAU,GAC7BN,SAAAA,IACAM,GAAU,EACZ,IAYA,OAVAG,EAAAA,WAAU,WAIR,OAHAC,SAASC,iBAAiB,aAAcJ,EAAS,CAAEK,SAAS,IAC5DF,SAASC,iBAAiB,aAAcJ,EAAS,CAAEK,SAAS,IAErD,WACLF,SAASG,oBAAoB,aAAcN,GAC3CG,SAASG,oBAAoB,aAAcN,GAE9C,GAAE,IAEIF,CACT"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var t=require("../../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.46 */
|
|
2
|
+
"use strict";var t=require("../../../_rollupPluginBabelHelpers-CFMEkg0G.js"),s=require("./Pointer.js"),i=function(){return t._createClass((function i(e){var r=e.x,h=e.y,n=e.radius,o=e.smooth;t._classCallCheck(this,i),t._defineProperty(this,"smooth",!1),t._defineProperty(this,"points",[]),t._defineProperty(this,"lines",[]),this.smooth=o,this.pointer=new s.Pointer(r,h),this.brush=new s.Pointer(r,h),this.radius=n,this.points=[],this.lines=[]}),[{key:"getBrushCoordinates",value:function(){return{x:this.brush.x,y:this.brush.y}}},{key:"getPointerCoordinates",value:function(){return{x:this.pointer.x,y:this.pointer.y}}},{key:"update",value:function(t){if(this.pointer.equalsTo(t))return!1;if(this.pointer.update(t),!this.smooth)return this.brush.update(t),this.points.push(this.getBrushCoordinates()),!0;var s=this.pointer.getDistanceTo(this.brush),i=this.pointer.getAngleTo(this.brush);if(Math.round(10*(s-this.radius))/10>0){var e=i+Math.PI/2;return this.brush.update({x:this.brush.x+Math.sin(e)*(s-this.radius),y:this.brush.y-Math.cos(e)*(s-this.radius)}),this.points.push(this.getBrushCoordinates()),!0}return!1}}])}();exports.Paint=i;
|
|
3
3
|
//# sourceMappingURL=Paint.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.46 */
|
|
2
|
+
"use strict";var e=require("../../../_rollupPluginBabelHelpers-CFMEkg0G.js"),t=function(){function t(n,i){e._classCallCheck(this,t),this.x=n,this.y=i}return e._createClass(t,[{key:"update",value:function(e){this.x=e.x,this.y=e.y}},{key:"getDifferenceTo",value:function(e){return new t(this.x-e.x,this.y-e.y)}},{key:"getDistanceTo",value:function(e){var t=this.getDifferenceTo(e);return Math.sqrt(Math.pow(t.x,2)+Math.pow(t.y,2))}},{key:"getAngleTo",value:function(e){var t=this.getDifferenceTo(e);return Math.atan2(t.y,t.x)}},{key:"equalsTo",value:function(e){return this.x===e.x&&this.y===e.y}},{key:"moveByAngle",value:function(e,t){var n=e+Math.PI/2;return this.x+=Math.sin(n)*t,this.y-=Math.cos(n)*t,this}}])}();exports.Pointer=t;
|
|
3
3
|
//# sourceMappingURL=Pointer.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.46 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-CFMEkg0G.js"),n=require("react"),r=require("../useEvent/useEvent.js"),t=require("./helpers/Paint.js");require("./helpers/Pointer.js");var u=function(e){return"function"==typeof e?e():e instanceof Element?e:e.current};exports.getElement=u,exports.usePaint=function(){var i,o,c,l,s,a="object"!==e._typeof(arguments.length<=0?void 0:arguments[0])||"current"in(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,v=a?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],d=null!==(i=null==v?void 0:v.color)&&void 0!==i?i:"black",f=null!==(o=null==v?void 0:v.opacity)&&void 0!==o?o:1,p=null!==(c=null==v?void 0:v.radius)&&void 0!==c?c:10,h=n.useRef(new t.Paint({x:0,y:0,radius:null!==(l=null==v?void 0:v.radius)&&void 0!==l?l:10,smooth:null!==(s=null==v?void 0:v.smooth)&&void 0!==s&&s})),y=n.useState(!1),E=e._slicedToArray(y,2),g=E[0],m=E[1],x=n.useRef(null),w=n.useRef(null),L=function(e,n,r,t){if(w.current){w.current.globalAlpha=r,w.current.strokeStyle=n,w.current.lineWidth=2*t,w.current.lineCap="round",w.current.lineJoin="round";var u=e[0],i=e[1];w.current.beginPath();for(var o=1;o<e.length;o+=1){var c={x:u.x+(i.x-u.x)/2,y:u.y+(i.y-u.y)/2};w.current.quadraticCurveTo(u.x,u.y,c.x,c.y),u=e[o],i=e[o+1]}w.current.lineTo(u.x,u.y),w.current.stroke()}},b=function(){w.current&&w.current.clearRect(0,0,w.current.canvas.width,w.current.canvas.height)},q=r.useEvent((function(e){var n;if(g){null==v||null===(n=v.onMouseMove)||void 0===n||n.call(v,e,h.current);var r={x:e.offsetX,y:e.offsetY};h.current.update(r)&&w.current&&(b(),w.current.clearRect(0,0,w.current.canvas.width,w.current.canvas.height),h.current.lines.forEach((function(e){var n=e.points,r=e.color,t=e.opacity,u=e.radius;return L(n,r,t,u)})),L(h.current.points,d,f,p))}})),P=r.useEvent((function(e){var n;if(w.current){var r={x:e.offsetX,y:e.offsetY};h.current.brush.update(r),h.current.points.push(r),L(h.current.points,d,f,p),null==v||null===(n=v.onMouseDown)||void 0===n||n.call(v,e,h.current),m(!0)}})),j=r.useEvent((function(e){var n;w.current&&(h.current.points.length&&(h.current.lines.push({points:h.current.points,color:d,opacity:f,radius:p}),h.current.points=[]),null==v||null===(n=v.onMouseUp)||void 0===n||n.call(v,e,h.current),m(!1))})),R=function(){w.current&&(b(),h.current.lines=[],h.current.points=[])},M=function(){w.current&&(b(),h.current.lines.pop(),h.current.lines.forEach((function(e){var n=e.points,r=e.color,t=e.opacity,u=e.radius;return L(n,r,t,u)})))};return n.useEffect((function(){var e=a?u(a):x.current;if(e)return w.current=e.getContext("2d"),null!=v&&v.initialLines&&(h.current.lines=v.initialLines,v.initialLines.forEach((function(e){var n=e.points,r=e.color,t=e.opacity,u=e.radius;return L(n,r,t,u)}))),e.addEventListener("mousedown",P),e.addEventListener("mousemove",q),e.addEventListener("mouseup",j),function(){e&&(e.removeEventListener("mousedown",P),e.removeEventListener("mousemove",q),e.removeEventListener("mouseup",j))}}),[]),a?{drawing:g,clear:R,undo:M,draw:L,lines:h.current.lines}:{ref:x,drawing:g,clear:R,undo:M,draw:L,lines:h.current.lines}};
|
|
3
3
|
//# sourceMappingURL=usePaint.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePaint.js","sources":["../../../../src/hooks/usePaint/usePaint.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { useEvent } from '../useEvent/useEvent';\n\nimport { Paint } from './helpers/Paint';\nimport type { Point } from './helpers/Pointer';\n\nconst DEFAULT_BRUSH_RADIUS = 10;\n\nexport interface UsePaintOptions {\n /** Brush color */\n color?: string;\n /** Brush radius */\n radius?: number;\n /** Smooth brush movement */\n smooth?: boolean;\n /** Brush opacity */\n opacity?: number;\n /** Initial lines */\n initialLines?: Paint['lines'];\n /** Callback when the mouse is down */\n onMouseDown?: (event: MouseEvent, paint: Paint) => void;\n /** Callback when the mouse is moved */\n onMouseMove?: (event: MouseEvent, paint: Paint) => void;\n /** Callback when the mouse is up */\n onMouseUp?: (event: MouseEvent, paint: Paint) => void;\n}\n\nexport interface UsePaintReturn {\n drawing: boolean;\n clear: () => void;\n undo: () => void;\n draw: (points: Point[], color: string, opacity: number, radius: number) => void;\n lines: Paint['lines'];\n}\n\n/** The use paint return type */\nexport type UsePaintTarget =\n | RefObject<HTMLCanvasElement>\n | (() => HTMLCanvasElement)\n | HTMLCanvasElement;\n\nexport const getTargetElement = (target: UsePaintTarget) => {\n if (typeof target === 'function') {\n return target();\n }\n\n if (target instanceof Element) {\n return target;\n }\n\n return target.current;\n};\n\nexport type UsePaint = {\n <Target extends UsePaintTarget>(target: Target, options?: UsePaintOptions): UsePaintReturn;\n\n (\n options?: UsePaintOptions,\n target?: never\n ): { ref: RefObject<HTMLCanvasElement> } & UsePaintReturn;\n};\n\n/**\n * @name usePaint\n * @description - Hook that allows you to draw in a specific area\n * @category Browser\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to be painted\n * @param {UsePaintOptions} [options] The options to be used\n * @returns {UsePaintReturn} An object containing the current pencil options and functions to interact with the paint\n *\n * @example\n * const drawing = usePaint(canvasRef);\n *\n * @overload\n * @param {UsePaintOptions} [options] The options to be used\n * @returns {UsePaintReturn & { ref: RefObject<HTMLCanvasElement> }} An object containing the current pencil options and functions to interact with the paint\n *\n * @example\n * const { ref, drawing } = usePaint();\n */\n\nexport const usePaint = ((...params: any[]) => {\n const target = (\n typeof params[0] === 'object' && !('current' in params[0]) ? undefined : params[0]\n ) as UsePaintTarget | undefined;\n const options = (target ? params[1] : params[0]) as UsePaintOptions | undefined;\n\n const color = options?.color ?? 'black';\n const opacity = options?.opacity ?? 1;\n const radius = options?.radius ?? DEFAULT_BRUSH_RADIUS;\n\n const paintRef = useRef<Paint>(\n new Paint({\n x: 0,\n y: 0,\n radius: options?.radius ?? DEFAULT_BRUSH_RADIUS,\n smooth: options?.smooth ?? false\n })\n );\n const [drawing, setIsDrawing] = useState(false);\n const internalRef = useRef<HTMLCanvasElement>(null);\n const contextRef = useRef<CanvasRenderingContext2D | null>(null);\n\n const draw = (points: Point[], color: string, opacity: number, radius: number) => {\n if (!contextRef.current) return;\n\n contextRef.current.globalAlpha = opacity;\n contextRef.current.strokeStyle = color;\n contextRef.current.lineWidth = radius * 2;\n contextRef.current.lineCap = 'round';\n contextRef.current.lineJoin = 'round';\n\n let p1 = points[0];\n let p2 = points[1];\n\n contextRef.current.beginPath();\n\n for (let i = 1; i < points.length; i += 1) {\n const midPoint = {\n x: p1.x + (p2.x - p1.x) / 2,\n y: p1.y + (p2.y - p1.y) / 2\n };\n contextRef.current.quadraticCurveTo(p1.x, p1.y, midPoint.x, midPoint.y);\n p1 = points[i];\n p2 = points[i + 1];\n }\n contextRef.current.lineTo(p1.x, p1.y);\n contextRef.current.stroke();\n };\n\n const clearCanvas = () => {\n if (!contextRef.current) return;\n contextRef.current.clearRect(\n 0,\n 0,\n contextRef.current.canvas.width,\n contextRef.current.canvas.height\n );\n };\n\n const onMouseMove = useEvent((event: MouseEvent) => {\n if (!drawing) return;\n options?.onMouseMove?.(event, paintRef.current);\n\n const point = { x: event.offsetX, y: event.offsetY };\n\n const isUpdated = paintRef.current.update(point);\n\n if (!isUpdated) return;\n if (!contextRef.current) return;\n clearCanvas();\n contextRef.current.clearRect(\n 0,\n 0,\n contextRef.current.canvas.width,\n contextRef.current.canvas.height\n );\n\n // const brush = paintRef.current.getBrushCoordinates();\n // // Draw brush point\n // contextRef.current.beginPath();\n // contextRef.current.fillStyle = 'red';\n // contextRef.current.arc(brush.x, brush.y, radius, 0, Math.PI * 2, true);\n // contextRef.current.fill();\n\n // // Draw the lazy radius.\n // contextRef.current.beginPath();\n // contextRef.current.strokeStyle = '#ccc';\n // contextRef.current.arc(brush.x, brush.y, radius * 2, 0, Math.PI * 2, true);\n // contextRef.current.stroke();\n\n paintRef.current.lines.forEach(({ points, color, opacity, radius }) =>\n draw(points, color, opacity, radius)\n );\n draw(paintRef.current.points, color, opacity, radius);\n });\n\n const onMouseDown = useEvent((event: MouseEvent) => {\n if (!contextRef.current) return;\n\n const point = { x: event.offsetX, y: event.offsetY };\n paintRef.current.brush.update(point);\n paintRef.current.points.push(point);\n draw(paintRef.current.points, color, opacity, radius);\n\n options?.onMouseDown?.(event, paintRef.current);\n setIsDrawing(true);\n });\n\n const onMouseUp = useEvent((event: MouseEvent) => {\n if (!contextRef.current) return;\n\n if (paintRef.current.points.length) {\n paintRef.current.lines.push({ points: paintRef.current.points, color, opacity, radius });\n paintRef.current.points = [];\n }\n\n options?.onMouseUp?.(event, paintRef.current);\n setIsDrawing(false);\n });\n\n const clear = () => {\n if (!contextRef.current) return;\n clearCanvas();\n paintRef.current.lines = [];\n paintRef.current.points = [];\n };\n\n const undo = () => {\n if (!contextRef.current) return;\n clearCanvas();\n\n paintRef.current.lines.pop();\n paintRef.current.lines.forEach(({ points, color, opacity, radius }) =>\n draw(points, color, opacity, radius)\n );\n };\n\n useEffect(() => {\n const element = target ? getTargetElement(target) : internalRef.current;\n if (!element) return;\n contextRef.current = element.getContext('2d');\n\n if (options?.initialLines) {\n paintRef.current.lines = options.initialLines;\n options.initialLines.forEach(({ points, color, opacity, radius }) =>\n draw(points, color, opacity, radius)\n );\n }\n\n element.addEventListener('mousedown', onMouseDown);\n element.addEventListener('mousemove', onMouseMove);\n element.addEventListener('mouseup', onMouseUp);\n\n return () => {\n if (!element) return;\n element.removeEventListener('mousedown', onMouseDown);\n element.removeEventListener('mousemove', onMouseMove);\n element.removeEventListener('mouseup', onMouseUp);\n };\n }, []);\n\n if (target) return { drawing, clear, undo, draw, lines: paintRef.current.lines };\n return { ref: internalRef, drawing, clear, undo, draw, lines: paintRef.current.lines };\n}) as UsePaint;\n"],"names":["getTargetElement","target","Element","current","_options$color","_options$opacity","_options$radius","_options$radius2","_options$smooth","_typeof","arguments","length","undefined","options","color","opacity","radius","paintRef","useRef","Paint","x","y","smooth","_useState","useState","_useState2","_slicedToArray","drawing","setIsDrawing","internalRef","contextRef","draw","points","globalAlpha","strokeStyle","lineWidth","lineCap","lineJoin","p1","p2","beginPath","i","midPoint","quadraticCurveTo","lineTo","stroke","clearCanvas","clearRect","canvas","width","height","onMouseMove","useEvent","event","_options$onMouseMove","call","point","offsetX","offsetY","update","lines","forEach","_ref","onMouseDown","_options$onMouseDown","brush","push","onMouseUp","_options$onMouseUp","clear","undo","pop","_ref2","useEffect","element","getContext","initialLines","_ref3","addEventListener","removeEventListener","ref"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"usePaint.js","sources":["../../../../src/hooks/usePaint/usePaint.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { useEvent } from '../useEvent/useEvent';\n\nimport { Paint } from './helpers/Paint';\nimport type { Point } from './helpers/Pointer';\n\nconst DEFAULT_BRUSH_RADIUS = 10;\n\nexport interface UsePaintOptions {\n /** Brush color */\n color?: string;\n /** Brush radius */\n radius?: number;\n /** Smooth brush movement */\n smooth?: boolean;\n /** Brush opacity */\n opacity?: number;\n /** Initial lines */\n initialLines?: Paint['lines'];\n /** Callback when the mouse is down */\n onMouseDown?: (event: MouseEvent, paint: Paint) => void;\n /** Callback when the mouse is moved */\n onMouseMove?: (event: MouseEvent, paint: Paint) => void;\n /** Callback when the mouse is up */\n onMouseUp?: (event: MouseEvent, paint: Paint) => void;\n}\n\nexport interface UsePaintReturn {\n drawing: boolean;\n clear: () => void;\n undo: () => void;\n draw: (points: Point[], color: string, opacity: number, radius: number) => void;\n lines: Paint['lines'];\n}\n\n/** The use paint return type */\nexport type UsePaintTarget =\n | RefObject<HTMLCanvasElement>\n | (() => HTMLCanvasElement)\n | HTMLCanvasElement;\n\nexport const getElement = (target: UsePaintTarget) => {\n if (typeof target === 'function') {\n return target();\n }\n\n if (target instanceof Element) {\n return target;\n }\n\n return target.current;\n};\n\nexport type UsePaint = {\n <Target extends UsePaintTarget>(target: Target, options?: UsePaintOptions): UsePaintReturn;\n\n (\n options?: UsePaintOptions,\n target?: never\n ): { ref: RefObject<HTMLCanvasElement> } & UsePaintReturn;\n};\n\n/**\n * @name usePaint\n * @description - Hook that allows you to draw in a specific area\n * @category Browser\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to be painted\n * @param {UsePaintOptions} [options] The options to be used\n * @returns {UsePaintReturn} An object containing the current pencil options and functions to interact with the paint\n *\n * @example\n * const drawing = usePaint(canvasRef);\n *\n * @overload\n * @param {UsePaintOptions} [options] The options to be used\n * @returns {UsePaintReturn & { ref: RefObject<HTMLCanvasElement> }} An object containing the current pencil options and functions to interact with the paint\n *\n * @example\n * const { ref, drawing } = usePaint();\n */\n\nexport const usePaint = ((...params: any[]) => {\n const target = (\n typeof params[0] === 'object' && !('current' in params[0]) ? undefined : params[0]\n ) as UsePaintTarget | undefined;\n const options = (target ? params[1] : params[0]) as UsePaintOptions | undefined;\n\n const color = options?.color ?? 'black';\n const opacity = options?.opacity ?? 1;\n const radius = options?.radius ?? DEFAULT_BRUSH_RADIUS;\n\n const paintRef = useRef<Paint>(\n new Paint({\n x: 0,\n y: 0,\n radius: options?.radius ?? DEFAULT_BRUSH_RADIUS,\n smooth: options?.smooth ?? false\n })\n );\n const [drawing, setIsDrawing] = useState(false);\n const internalRef = useRef<HTMLCanvasElement>(null);\n const contextRef = useRef<CanvasRenderingContext2D | null>(null);\n\n const draw = (points: Point[], color: string, opacity: number, radius: number) => {\n if (!contextRef.current) return;\n\n contextRef.current.globalAlpha = opacity;\n contextRef.current.strokeStyle = color;\n contextRef.current.lineWidth = radius * 2;\n contextRef.current.lineCap = 'round';\n contextRef.current.lineJoin = 'round';\n\n let p1 = points[0];\n let p2 = points[1];\n\n contextRef.current.beginPath();\n\n for (let i = 1; i < points.length; i += 1) {\n const midPoint = {\n x: p1.x + (p2.x - p1.x) / 2,\n y: p1.y + (p2.y - p1.y) / 2\n };\n contextRef.current.quadraticCurveTo(p1.x, p1.y, midPoint.x, midPoint.y);\n p1 = points[i];\n p2 = points[i + 1];\n }\n contextRef.current.lineTo(p1.x, p1.y);\n contextRef.current.stroke();\n };\n\n const clearCanvas = () => {\n if (!contextRef.current) return;\n contextRef.current.clearRect(\n 0,\n 0,\n contextRef.current.canvas.width,\n contextRef.current.canvas.height\n );\n };\n\n const onMouseMove = useEvent((event: MouseEvent) => {\n if (!drawing) return;\n options?.onMouseMove?.(event, paintRef.current);\n\n const point = { x: event.offsetX, y: event.offsetY };\n\n const isUpdated = paintRef.current.update(point);\n\n if (!isUpdated) return;\n if (!contextRef.current) return;\n clearCanvas();\n contextRef.current.clearRect(\n 0,\n 0,\n contextRef.current.canvas.width,\n contextRef.current.canvas.height\n );\n\n // const brush = paintRef.current.getBrushCoordinates();\n // // Draw brush point\n // contextRef.current.beginPath();\n // contextRef.current.fillStyle = 'red';\n // contextRef.current.arc(brush.x, brush.y, radius, 0, Math.PI * 2, true);\n // contextRef.current.fill();\n\n // // Draw the lazy radius.\n // contextRef.current.beginPath();\n // contextRef.current.strokeStyle = '#ccc';\n // contextRef.current.arc(brush.x, brush.y, radius * 2, 0, Math.PI * 2, true);\n // contextRef.current.stroke();\n\n paintRef.current.lines.forEach(({ points, color, opacity, radius }) =>\n draw(points, color, opacity, radius)\n );\n draw(paintRef.current.points, color, opacity, radius);\n });\n\n const onMouseDown = useEvent((event: MouseEvent) => {\n if (!contextRef.current) return;\n\n const point = { x: event.offsetX, y: event.offsetY };\n paintRef.current.brush.update(point);\n paintRef.current.points.push(point);\n draw(paintRef.current.points, color, opacity, radius);\n\n options?.onMouseDown?.(event, paintRef.current);\n setIsDrawing(true);\n });\n\n const onMouseUp = useEvent((event: MouseEvent) => {\n if (!contextRef.current) return;\n\n if (paintRef.current.points.length) {\n paintRef.current.lines.push({ points: paintRef.current.points, color, opacity, radius });\n paintRef.current.points = [];\n }\n\n options?.onMouseUp?.(event, paintRef.current);\n setIsDrawing(false);\n });\n\n const clear = () => {\n if (!contextRef.current) return;\n clearCanvas();\n paintRef.current.lines = [];\n paintRef.current.points = [];\n };\n\n const undo = () => {\n if (!contextRef.current) return;\n clearCanvas();\n\n paintRef.current.lines.pop();\n paintRef.current.lines.forEach(({ points, color, opacity, radius }) =>\n draw(points, color, opacity, radius)\n );\n };\n\n useEffect(() => {\n const element = target ? getElement(target) : internalRef.current;\n if (!element) return;\n contextRef.current = element.getContext('2d');\n\n if (options?.initialLines) {\n paintRef.current.lines = options.initialLines;\n options.initialLines.forEach(({ points, color, opacity, radius }) =>\n draw(points, color, opacity, radius)\n );\n }\n\n element.addEventListener('mousedown', onMouseDown);\n element.addEventListener('mousemove', onMouseMove);\n element.addEventListener('mouseup', onMouseUp);\n\n return () => {\n if (!element) return;\n element.removeEventListener('mousedown', onMouseDown);\n element.removeEventListener('mousemove', onMouseMove);\n element.removeEventListener('mouseup', onMouseUp);\n };\n }, []);\n\n if (target) return { drawing, clear, undo, draw, lines: paintRef.current.lines };\n return { ref: internalRef, drawing, clear, undo, draw, lines: paintRef.current.lines };\n}) as UsePaint;\n"],"names":["getElement","target","Element","current","_options$color","_options$opacity","_options$radius","_options$radius2","_options$smooth","_typeof","arguments","length","undefined","options","color","opacity","radius","paintRef","useRef","Paint","x","y","smooth","_useState","useState","_useState2","_slicedToArray","drawing","setIsDrawing","internalRef","contextRef","draw","points","globalAlpha","strokeStyle","lineWidth","lineCap","lineJoin","p1","p2","beginPath","i","midPoint","quadraticCurveTo","lineTo","stroke","clearCanvas","clearRect","canvas","width","height","onMouseMove","useEvent","event","_options$onMouseMove","call","point","offsetX","offsetY","update","lines","forEach","_ref","onMouseDown","_options$onMouseDown","brush","push","onMouseUp","_options$onMouseUp","clear","undo","pop","_ref2","useEffect","element","getContext","initialLines","_ref3","addEventListener","removeEventListener","ref"],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.46 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-CFMEkg0G.js"),r=require("react"),t=require("../../utils/helpers/isClient.js"),n=require("../useEvent/useEvent.js");exports.usePermission=function(s){var u=r.useState("prompt"),i=e._slicedToArray(u,2),a=i[0],o=i[1],p=!!t.isClient&&(navigator&&"permissions"in navigator),c={name:s},v=n.useEvent(e._asyncToGenerator(e._regeneratorRuntime().mark((function r(){var t;return e._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,navigator.permissions.query(c);case 3:return t=e.sent,o(t.state),e.abrupt("return",t.state);case 8:return e.prev=8,e.t0=e.catch(0),o("prompt"),e.abrupt("return","prompt");case 12:case"end":return e.stop()}}),r,null,[[0,8]])}))));return r.useEffect((function(){if(p)return v(),window.addEventListener("change",v),function(){window.removeEventListener("change",v)}}),[s]),{state:a,supported:p,query:v}};
|
|
3
3
|
//# sourceMappingURL=usePermission.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePermission.js","sources":["../../../../src/hooks/usePermission/usePermission.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { isClient } from '@/utils/helpers';\n\nimport { useEvent } from '../useEvent/useEvent';\n\nexport type UsePermissionName =\n | PermissionName\n | 'accelerometer'\n | 'accessibility-events'\n | 'ambient-light-sensor'\n | 'background-sync'\n | 'camera'\n | 'clipboard-read'\n | 'clipboard-write'\n | 'gyroscope'\n | 'magnetometer'\n | 'microphone'\n | 'notifications'\n | 'payment-handler'\n | 'persistent-storage'\n | 'push'\n | 'speaker';\n\nexport interface UsePermissionReturn {\n state: PermissionState;\n supported: boolean;\n query: () => Promise<PermissionState>;\n}\n\n/**\n * @name usePermission\n * @description - Hook that gives you the state of permission\n * @category Browser\n *\n * @returns {UsePermissionReturn} An object containing the state and the supported status\n *\n * @example\n * const { state, supported, query } = usePermission('microphone');\n */\nexport const usePermission = (permissionDescriptorName: UsePermissionName) => {\n const [state, setState] = useState<PermissionState>('prompt');\n const supported = isClient ? navigator && 'permissions' in navigator : false;\n\n const permissionDescriptor = { name: permissionDescriptorName };\n\n const query = useEvent(async () => {\n try {\n const permissionStatus = await navigator.permissions.query(\n permissionDescriptor as PermissionDescriptor\n );\n setState(permissionStatus.state);\n return permissionStatus.state;\n } catch (error) {\n setState('prompt');\n return 'prompt';\n }\n });\n\n useEffect(() => {\n if (!supported) return;\n query();\n window.addEventListener('change', query);\n return () => {\n window.removeEventListener('change', query);\n };\n }, [permissionDescriptorName]);\n\n return {\n state,\n supported,\n query\n };\n};\n"],"names":["permissionDescriptorName","_useState","useState","_useState2","_slicedToArray","state","setState","supported","isClient","navigator","permissionDescriptor","name","query","useEvent","_asyncToGenerator","_regeneratorRuntime","mark","_callee","permissionStatus","wrap","_context","prev","next","permissions","sent","abrupt","t0","stop","useEffect","window","addEventListener","removeEventListener"],"mappings":";
|
|
1
|
+
{"version":3,"file":"usePermission.js","sources":["../../../../src/hooks/usePermission/usePermission.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { isClient } from '@/utils/helpers';\n\nimport { useEvent } from '../useEvent/useEvent';\n\nexport type UsePermissionName =\n | PermissionName\n | 'accelerometer'\n | 'accessibility-events'\n | 'ambient-light-sensor'\n | 'background-sync'\n | 'camera'\n | 'clipboard-read'\n | 'clipboard-write'\n | 'gyroscope'\n | 'magnetometer'\n | 'microphone'\n | 'notifications'\n | 'payment-handler'\n | 'persistent-storage'\n | 'push'\n | 'speaker';\n\nexport interface UsePermissionReturn {\n state: PermissionState;\n supported: boolean;\n query: () => Promise<PermissionState>;\n}\n\n/**\n * @name usePermission\n * @description - Hook that gives you the state of permission\n * @category Browser\n *\n * @returns {UsePermissionReturn} An object containing the state and the supported status\n *\n * @example\n * const { state, supported, query } = usePermission('microphone');\n */\nexport const usePermission = (permissionDescriptorName: UsePermissionName) => {\n const [state, setState] = useState<PermissionState>('prompt');\n const supported = isClient ? navigator && 'permissions' in navigator : false;\n\n const permissionDescriptor = { name: permissionDescriptorName };\n\n const query = useEvent(async () => {\n try {\n const permissionStatus = await navigator.permissions.query(\n permissionDescriptor as PermissionDescriptor\n );\n setState(permissionStatus.state);\n return permissionStatus.state;\n } catch (error) {\n setState('prompt');\n return 'prompt';\n }\n });\n\n useEffect(() => {\n if (!supported) return;\n query();\n window.addEventListener('change', query);\n return () => {\n window.removeEventListener('change', query);\n };\n }, [permissionDescriptorName]);\n\n return {\n state,\n supported,\n query\n };\n};\n"],"names":["permissionDescriptorName","_useState","useState","_useState2","_slicedToArray","state","setState","supported","isClient","navigator","permissionDescriptor","name","query","useEvent","_asyncToGenerator","_regeneratorRuntime","mark","_callee","permissionStatus","wrap","_context","prev","next","permissions","sent","abrupt","t0","stop","useEffect","window","addEventListener","removeEventListener"],"mappings":";qMAwC6B,SAACA,GAC5B,IAAAC,EAA0BC,EAAQA,SAAkB,UAASC,EAAAC,EAAAA,eAAAH,EAAA,GAAtDI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAChBI,IAAYC,EAAAA,WAAWC,WAAa,gBAAiBA,WAErDC,EAAuB,CAAEC,KAAMX,GAE/BY,EAAQC,EAAAA,SAAQC,EAAAA,kBAAAC,EAAAA,sBAAAC,MAAC,SAAAC,IAAA,IAAAC,EAAA,OAAAH,EAAAA,sBAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,OAAAF,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAEYb,UAAUc,YAAYX,MACnDF,GACD,KAAA,EACgC,OAH3BQ,EAAgBE,EAAAI,KAGtBlB,EAASY,EAAiBb,OAAOe,EAAAK,OAC1BP,SAAAA,EAAiBb,OAAK,KAAA,EAEV,OAFUe,EAAAC,KAAA,EAAAD,EAAAM,GAAAN,EAAA,MAAA,GAE7Bd,EAAS,UAAUc,EAAAK,OAAA,SACZ,UAAQ,KAAA,GAAA,IAAA,MAAA,OAAAL,EAAAO,OAAA,GAAAV,EAAA,KAAA,CAAA,CAAA,EAAA,IAElB,MAWD,OATAW,EAAAA,WAAU,WACR,GAAKrB,EAGL,OAFAK,IACAiB,OAAOC,iBAAiB,SAAUlB,GAC3B,WACLiB,OAAOE,oBAAoB,SAAUnB,GAEzC,GAAG,CAACZ,IAEG,CACLK,MAAAA,EACAE,UAAAA,EACAK,MAAAA,EAEJ"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.46 */
|
|
2
2
|
"use strict";var e=require("../useMediaQuery/useMediaQuery.js");require("react");exports.usePreferredColorScheme=function(){var r=e.useMediaQuery("(prefers-color-scheme: light)"),u=e.useMediaQuery("(prefers-color-scheme: dark)");return r?"light":u?"dark":"no-preference"};
|
|
3
3
|
//# sourceMappingURL=usePreferredColorScheme.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.46 */
|
|
2
2
|
"use strict";var e=require("react"),n=function(){return window.navigator.languages},r=function(){return[]},t=function(e){return window.addEventListener("languagechange",e),function(){window.removeEventListener("languagechange",e)}};exports.usePreferredLanguages=function(){return e.useSyncExternalStore(t,n,r)};
|
|
3
3
|
//# sourceMappingURL=usePreferredLanguages.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.46 */
|
|
2
2
|
"use strict";var e=require("react");exports.usePrevious=function(r){var u=e.useRef();return e.useEffect((function(){u.current=r})),u.current};
|
|
3
3
|
//# sourceMappingURL=usePrevious.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.46 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-CFMEkg0G.js"),r=require("react"),l=require("../../utils/helpers/getRetry.js");require("../../utils/helpers/isClient.js");exports.useQuery=function(t,n){var i,u=r.useRef(null!=n&&n.retry?l.getRetry(n.retry):0),a=r.useState(!1),c=e._slicedToArray(a,2),o=c[0],s=c[1],d=r.useState(!1),f=e._slicedToArray(d,2),v=f[0],h=f[1],y=r.useState(!1),p=e._slicedToArray(y,2),S=p[0],_=p[1],g=r.useState(!(null==n||!n.initialData)),A=e._slicedToArray(g,2),D=A[0],T=A[1],R=r.useState(void 0),q=e._slicedToArray(R,2),I=q[0],j=q[1],E=r.useState(null==n?void 0:n.initialData),b=e._slicedToArray(E,2),k=b[0],x=b[1],B=function e(r){s(!0),"refetch"===r&&_(!0),t().then((function(e){var l,t=null!=n&&n.select?null==n?void 0:n.select(e):e;null==n||null===(l=n.onSuccess)||void 0===l||l.call(n,t),x(t),T(!0),s(!1),j(void 0),h(!1),"refetch"===r&&_(!1)})).catch((function(t){var i;if(u.current>0)return u.current-=1,e(r);null==n||null===(i=n.onError)||void 0===i||i.call(n,t),x(void 0),T(!1),s(!1),j(t),h(!0),"refetch"===r&&_(!1),u.current=null!=n&&n.retry?l.getRetry(n.retry):0})).finally((function(){if(null!=n&&n.refetchInterval)var r=setInterval((function(){e("refetch"),clearInterval(r)}),null==n?void 0:n.refetchInterval)}))};r.useEffect((function(){null!=n&&n.initialData||B("init")}),null!==(i=null==n?void 0:n.keys)&&void 0!==i?i:[]);var C=(null==n?void 0:n.placeholderData)instanceof Function?null==n?void 0:n.placeholderData():null==n?void 0:n.placeholderData;return{data:null!=k?k:C,error:I,refetch:function(){return B("refetch")},isLoading:o,isError:v,isSuccess:D,isRefetching:S}};
|
|
3
3
|
//# sourceMappingURL=useQuery.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var r=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.46 */
|
|
2
|
+
"use strict";var r=require("../../_rollupPluginBabelHelpers-CFMEkg0G.js"),e=require("react"),t=require("react-dom");exports.useQueue=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],u=e.useState(n),i=r._slicedToArray(u,2),o=i[0],a=i[1];return{add:function(e){return a((function(t){return[].concat(r._toConsumableArray(t),[e])}))},remove:function(){var e;return t.flushSync((function(){a((function(t){var n=r._toArray(t),u=n[0],i=n.slice(1);return e=u,i}))})),e},clear:function(){return a([])},first:o[0],last:o[o.length-1],size:o.length,queue:o}};
|
|
3
3
|
//# sourceMappingURL=useQueue.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.46 */
|
|
2
2
|
"use strict";var e=require("react");exports.useRenderCount=function(){var r=e.useRef(0);return e.useEffect((function(){r.current+=1})),r.current};
|
|
3
3
|
//# sourceMappingURL=useRenderCount.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.46 */
|
|
2
2
|
"use strict";var e=require("react");exports.useRenderInfo=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Unknown",r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],t=e.useRef({component:n,renders:0,timestamp:Date.now(),sinceLast:0}),c=Date.now();return t.current.renders+=1,t.current.sinceLast=t.current.timestamp?c-t.current.timestamp:0,t.current.timestamp=c,r&&(console.group("".concat(n," info, render number: ").concat(t.current.renders)),console.log("Timestamp: ".concat(t.current.timestamp)),console.log("Since last render: ".concat(t.current.sinceLast)),console.log("Renders: ".concat(t.current.renders)),console.dir(t.current),console.groupEnd()),t.current};
|
|
3
3
|
//# sourceMappingURL=useRenderInfo.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.46 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-CFMEkg0G.js"),r=require("react");exports.useRerender=function(){var t=r.useId(),u=r.useState(t),n=e._slicedToArray(u,2),a=n[0],i=n[1];return{id:a,update:function(){return i(Math.random().toString())}}};
|
|
3
3
|
//# sourceMappingURL=useRerender.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.46 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-CFMEkg0G.js"),r=require("react"),n=require("../useRerender/useRerender.js"),t=function(e){return"function"==typeof e?e():e instanceof Element?e:e.current};exports.useResizeObserver=function(){var u,i=n.useRerender(),o="object"!==e._typeof(arguments.length<=0?void 0:arguments[0])||"current"in(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,c=o?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],l=null===(u=null==c?void 0:c.enabled)||void 0===u||u,s=r.useState([]),v=e._slicedToArray(s,2),f=v[0],a=v[1],d=r.useRef(),b=r.useRef();return b.current=null==c?void 0:c.onChange,r.useEffect((function(){if(l){if(Array.isArray(o)){if(!o.length)return;var e=new ResizeObserver((function(r){var n;a(r),null===(n=b.current)||void 0===n||n.call(b,r,e)}));return o.forEach((function(r){var n=t(r);n&&e.observe(n,c)})),function(){e.disconnect()}}var r=o?t(o):d.current;if(r){var n=new ResizeObserver((function(e){var r;a(e),null===(r=b.current)||void 0===r||r.call(b,e,n)}));return n.observe(r,c),function(){n.disconnect()}}}}),[d.current,o,null==c?void 0:c.box,l]),o?{entries:f}:{ref:function(e){d.current||(d.current=e,i.update())},entries:f}};
|
|
3
|
+
//# sourceMappingURL=useResizeObserver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useResizeObserver.js","sources":["../../../../src/hooks/useResizeObserver/useResizeObserver.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { useRerender } from '../useRerender/useRerender';\n\n/** The resize observer target element type */\ntype UseResizeObserverTarget = RefObject<Element | null | undefined> | (() => Element) | Element;\n\nconst getElement = (target: UseResizeObserverTarget) => {\n if (typeof target === 'function') {\n return target();\n }\n\n if (target instanceof Element) {\n return target;\n }\n\n return target.current;\n};\n\n/** The resize observer options type */\nexport interface UseResizeObserverOptions extends ResizeObserverOptions {\n enabled?: boolean;\n onChange?: (entries: ResizeObserverEntry[], observer: ResizeObserver) => void;\n}\n\n/** The resize observer return type */\nexport interface UseResizeObserverReturn {\n entries: ResizeObserverEntry[];\n}\n\nexport type UseResizeObserver = {\n <Target extends UseResizeObserverTarget | UseResizeObserverTarget[]>(\n target: Target,\n options?: UseResizeObserverOptions\n ): UseResizeObserverReturn;\n\n <Target extends UseResizeObserverTarget | UseResizeObserverTarget[]>(\n options?: UseResizeObserverOptions,\n target?: never\n ): UseResizeObserverReturn & { ref: (node: Target) => void };\n};\n\n/**\n * @name useResizeObserver\n * @description - Hook that gives you resize observer state\n * @category Browser\n *\n * @overload\n * @template Target The target element\n * @param {boolean} [options.enabled=true] The IntersectionObserver options\n * @param {boolean} [options.box] The IntersectionObserver options\n * @param {(entries: ResizeObserverEntry[], observer: ResizeObserver) => void} [options.onChange] The callback to execute when resize is detected\n * @returns {UseResizeObserverReturn & { ref: (node: Target) => void }} An object containing the resize observer state\n *\n * @example\n * const { ref, entries } = useResizeObserver();\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to observe\n * @param {boolean} [options.enabled=true] The IntersectionObserver options\n * @param {boolean} [options.box] The IntersectionObserver options\n * @param {(entries: ResizeObserverEntry[], observer: ResizeObserver) => void} [options.onChange] The callback to execute when resize is detected\n * @returns {UseResizeObserverReturn} An object containing the resize observer state\n *\n * @example\n * const { entries } = useResizeObserver(ref);\n */\nexport const useResizeObserver = ((...params: any[]) => {\n const rerender = useRerender();\n const target = (\n typeof params[0] === 'object' && !('current' in params[0]) ? undefined : params[0]\n ) as UseResizeObserverTarget | UseResizeObserverTarget[] | undefined;\n const options = (target ? params[1] : params[0]) as UseResizeObserverOptions | undefined;\n const enabled = options?.enabled ?? true;\n\n const [entries, setEntries] = useState<ResizeObserverEntry[]>([]);\n\n const internalRef = useRef<Element>();\n const internalOnChangeRef = useRef<UseResizeObserverOptions['onChange']>();\n internalOnChangeRef.current = options?.onChange;\n\n useEffect(() => {\n if (!enabled) return;\n\n if (Array.isArray(target)) {\n if (!target.length) return;\n const observer = new ResizeObserver((entries) => {\n setEntries(entries);\n internalOnChangeRef.current?.(entries, observer);\n });\n\n target.forEach((target) => {\n const element = getElement(target);\n if (!element) return;\n observer.observe(element, options);\n });\n\n return () => {\n observer.disconnect();\n };\n }\n\n const element = target ? getElement(target) : internalRef.current;\n if (!element) return;\n\n const observer = new ResizeObserver((entries) => {\n setEntries(entries);\n internalOnChangeRef.current?.(entries, observer);\n });\n observer.observe(element, options);\n\n return () => {\n observer.disconnect();\n };\n }, [internalRef.current, target, options?.box, enabled]);\n\n if (target) return { entries };\n return {\n ref: (node: Element) => {\n if (!internalRef.current) {\n internalRef.current = node;\n rerender.update();\n }\n },\n entries\n };\n}) as UseResizeObserver;\n"],"names":["getElement","target","Element","current","_options$enabled","rerender","useRerender","_typeof","arguments","length","undefined","options","enabled","_useState","useState","_useState2","_slicedToArray","entries","setEntries","internalRef","useRef","internalOnChangeRef","onChange","useEffect","Array","isArray","observer","ResizeObserver","_internalOnChangeRef$","call","forEach","element","observe","disconnect","_internalOnChangeRef$2","box","ref","node","update"],"mappings":";wIAQMA,EAAa,SAACC,GAClB,MAAsB,mBAAXA,EACFA,IAGLA,aAAkBC,QACbD,EAGFA,EAAOE,OAChB,4BAmDkC,WAAsB,IAAAC,EAChDC,EAAWC,EAAAA,cACXL,EACiB,WAArBM,EAAAA,QAAAC,UAAAC,QAAA,OAAAC,EAAAF,UAAqB,KAAc,YAASA,UAAAC,eAAAC,EAAAF,UAAA,IAA0BA,UAAAC,QAAA,OAAAC,EAAAF,UACJ,QADLE,EAEzDC,EAAWV,EAAMO,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAiE,GAClFI,EAA0BR,QAAnBA,EAAGO,aAAO,EAAPA,EAASC,eAAOR,IAAAA,GAAAA,EAEhCS,EAA8BC,EAAQA,SAAwB,IAAGC,EAAAC,EAAAA,eAAAH,EAAA,GAA1DI,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAEpBI,EAAcC,EAAAA,SACdC,EAAsBD,EAAAA,SAsC5B,OArCAC,EAAoBlB,QAAUQ,aAAO,EAAPA,EAASW,SAEvCC,EAAAA,WAAU,WACR,GAAKX,EAAL,CAEA,GAAIY,MAAMC,QAAQxB,GAAS,CACzB,IAAKA,EAAOQ,OAAQ,OACpB,IAAMiB,EAAW,IAAIC,gBAAe,SAACV,GAAY,IAAAW,EAC/CV,EAAWD,WACXW,EAAAP,EAAoBlB,eAAO,IAAAyB,GAA3BA,EAAAC,KAAAR,EAA8BJ,EAASS,EACzC,IAQA,OANAzB,EAAO6B,SAAQ,SAAC7B,GACd,IAAM8B,EAAU/B,EAAWC,GACtB8B,GACLL,EAASM,QAAQD,EAASpB,EAC5B,IAEO,WACLe,EAASO,aAEb,CAEA,IAAMF,EAAU9B,EAASD,EAAWC,GAAUkB,EAAYhB,QAC1D,GAAK4B,EAAL,CAEA,IAAML,EAAW,IAAIC,gBAAe,SAACV,GAAY,IAAAiB,EAC/ChB,EAAWD,WACXiB,EAAAb,EAAoBlB,eAAO,IAAA+B,GAA3BA,EAAAL,KAAAR,EAA8BJ,EAASS,EACzC,IAGA,OAFAA,EAASM,QAAQD,EAASpB,GAEnB,WACLe,EAASO,aATG,CArBA,CAgCf,GAAE,CAACd,EAAYhB,QAASF,EAAQU,eAAAA,EAASwB,IAAKvB,IAE3CX,EAAe,CAAEgB,QAAAA,GACd,CACLmB,IAAK,SAACC,GACClB,EAAYhB,UACfgB,EAAYhB,QAAUkC,EACtBhC,EAASiC,SAEZ,EACDrB,QAAAA,EAEJ"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.46 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-CFMEkg0G.js"),r=require("react"),t="script-status";exports.SCRIPT_STATUS_ATTRIBUTE_NAME=t,exports.useScript=function(n){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=r.useState((function(){var e=document.querySelector('script[src="'.concat(n,'"]')),r=null==e?void 0:e.getAttribute(t);return r||(e?"unknown":"loading")})),u=e._slicedToArray(i,2),c=u[0],s=u[1],a=o.removeOnUnmount,d=void 0===a||a,l=o.async,v=void 0===l||l;return r.useEffect((function(){var r=document.querySelector('script[src="'.concat(n,'"]')),i=null==r?void 0:r.getAttribute(t);if(i)return s(i);if(r)return s("unknown");var u=document.createElement("script");u.src=n,u.async=v;for(var c=0,a=Object.entries(o);c<a.length;c++){var l=e._slicedToArray(a[c],2),f=l[0],p=l[1];u.setAttribute(f,String(p))}u.setAttribute(t,"loading"),document.body.appendChild(u);var A=function(){u.setAttribute(t,"ready"),s("ready")},m=function(){u.setAttribute(t,"error"),s("error")};return u.addEventListener("load",A),u.addEventListener("error",m),function(){d&&(u.remove(),u.removeEventListener("load",A),u.removeEventListener("error",m))}}),[n,d]),c};
|
|
3
3
|
//# sourceMappingURL=useScript.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.46 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-CFMEkg0G.js"),r=require("../useStorage/useStorage.js");require("react"),require("../../utils/helpers/isClient.js"),require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js");exports.useSessionStorage=function(s,t,u){return r.useStorage(s,e._objectSpread2({initialValue:t,storage:window.sessionStorage},u))};
|
|
3
3
|
//# sourceMappingURL=useSessionStorage.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.46 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-CFMEkg0G.js"),n=require("react");exports.useSet=function(r){var t=n.useState(new Set(r)),u=e._slicedToArray(t,2),i=u[0],c=u[1];return{value:i,size:i.size,has:function(e){return i.has(e)},add:function(e){return c((function(n){return new Set(n).add(e)}))},remove:function(e){return c((function(n){if(!n.has(e))return n;var r=new Set(n);return r.delete(e),r}))},clear:function(){return c(new Set)},reset:function(){return c(new Set(r))},toggle:function(e){return c((function(n){if(!n.has(e))return new Set(n).add(e);var r=new Set(n);return r.delete(e),r}))},union:function(e){return c(i.union(e))},difference:function(e){return c(i.difference(e))},symmetricDifference:function(e){return c(i.symmetricDifference(e))},intersection:function(e){return c(i.intersection(e))}}};
|
|
3
3
|
//# sourceMappingURL=useSet.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var r=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.46 */
|
|
2
|
+
"use strict";var r=require("../../_rollupPluginBabelHelpers-CFMEkg0G.js"),e=require("../../utils/helpers/isClient.js");exports.useShare=function(t){var n=!!e.isClient&&"share"in navigator,a=function(){var e=r._asyncToGenerator(r._regeneratorRuntime().mark((function e(a){var i;return r._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n){e.next=2;break}return e.abrupt("return");case 2:return(i=r._objectSpread2(r._objectSpread2({},t),a)).files&&navigator.canShare({files:i.files})&&navigator.share(i),e.abrupt("return",navigator.share(i));case 5:case"end":return e.stop()}}),e)})));return function(r){return e.apply(this,arguments)}}();return{share:a,supported:n}};
|
|
3
3
|
//# sourceMappingURL=useShare.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var t=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.46 */
|
|
2
|
+
"use strict";var t=require("../../_rollupPluginBabelHelpers-CFMEkg0G.js"),e=require("react");exports.useStep=function(r){var n="object"===t._typeof(r)?r.max:r,u="object"===t._typeof(r)?r.initial:1,i=e.useRef(u>n||u<1?1:u),s=e.useState(u),c=t._slicedToArray(s,2),o=c[0],a=c[1],f=1===o,l=o===n;return{counts:n,currentStep:o,isFirst:f,isLast:l,next:function(){l||a((function(t){return t+1}))},back:function(){f||a((function(t){return t-1}))},reset:function(){return a(i.current)},set:function(t){return"first"===t?a(i.current):"last"===t||t>=n?a(n):t<=1?a(1):void a(t)}}};
|
|
3
3
|
//# sourceMappingURL=useStep.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.46 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-CFMEkg0G.js"),r=require("react");require("../../utils/helpers/isClient.js");var t=require("../useEvent/useEvent.js");require("../../index-tUwcXC5G.js"),require("react-dom");var n=function(e){return e?{days:Math.floor(e/86400),hours:Math.floor(e%86400/3600),minutes:Math.floor(e%3600/60),seconds:Math.floor(e%60),count:e}:{days:0,hours:0,minutes:0,seconds:0,count:0}};exports.useStopwatch=function(){for(var u,o,s=arguments.length,c=new Array(s),a=0;a<s;a++)c[a]=arguments[a];var i=null!==(u="number"==typeof c[0]?c[0]:null===(o=c[0])||void 0===o?void 0:o.initialTime)&&void 0!==u?u:0,d="number"==typeof c[0]?c[1]:c[0],l=r.useState(n(i)),f=e._slicedToArray(l,2),p=f[0],v=f[1],b=r.useState(!(null!=d&&d.enabled)),j=e._slicedToArray(b,2),S=j[0],_=j[1],h=t.useEvent((function(){var r=p.count+1;return r%60==0?v(e._objectSpread2(e._objectSpread2({},p),{},{minutes:p.minutes+1,seconds:0,count:r})):r%3600==0?v(e._objectSpread2(e._objectSpread2({},p),{},{hours:p.hours+1,minutes:0,seconds:0,count:r})):r%86400==0?v(e._objectSpread2(e._objectSpread2({},p),{},{days:p.days+1,hours:0,minutes:0,seconds:0,count:r})):void v(e._objectSpread2(e._objectSpread2({},p),{},{seconds:p.seconds+1,count:r}))}));return r.useEffect((function(){if(!S){var e=setInterval((function(){return h()}),1e3);return function(){return clearInterval(e)}}}),[S]),e._objectSpread2(e._objectSpread2({},p),{},{paused:S,pause:function(){return _(!0)},start:function(){return _(!1)},reset:function(){return v(n(i))},toggle:function(){return _((function(e){return!e}))}})};
|
|
3
3
|
//# sourceMappingURL=useStopwatch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useStopwatch.js","sources":["../../../../src/hooks/useStopwatch/useStopwatch.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { useEvent } from '@/hooks';\n\nconst getStopwatchTime = (time: number) => {\n if (!time)\n return {\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n count: 0\n };\n\n const days = Math.floor(time / 86400);\n const hours = Math.floor((time % 86400) / 3600);\n const minutes = Math.floor((time % 3600) / 60);\n const seconds = Math.floor(time % 60);\n\n return { days, hours, minutes, seconds, count: time };\n};\n\n/** The use stopwatch return type */\nexport interface UseStopwatchReturn {\n /** The paused state of the stopwatch */\n paused: boolean;\n /** The over state of the stopwatch */\n over: boolean;\n /** The day count of the stopwatch */\n days: number;\n /** The hour count of the stopwatch */\n hours: number;\n /** The minute count of the stopwatch */\n minutes: number;\n /** The second count of the stopwatch */\n seconds: number;\n /** The total count of the stopwatch */\n count: number;\n /** The function to pause the stopwatch */\n pause: () => void;\n /** The function to start the stopwatch */\n start: () => void;\n /** The function to reset the stopwatch */\n reset: () => void;\n /** The function to toggle the stopwatch */\n toggle: () => void;\n}\n\n/** The use stopwatch options */\nexport interface UseStopwatchOptions {\n /** The enabled state of the timer */\n enabled?: boolean;\n}\n\ntype UseStopwatch = {\n (initialTime?: number, options?: UseStopwatchOptions): UseStopwatchReturn;\n (options?: UseStopwatchOptions & { initialTime?: number }): UseStopwatchReturn;\n};\n/**\n * @name useStopwatch\n * @description - Hook that creates a stopwatch functionality\n *\n * @overload\n * @param {number} [initialTime=0] The initial time of the timer\n * @param {boolean} [options.enabled=true] The enabled state of the timer\n * @returns {UseStopwatchReturn} An object containing the current time and functions to interact with the timer\n *\n * @example\n * const { seconds, minutes, start, pause, reset } = useStopwatch(1000, { enabled: false });\n *\n * @overload\n * @param {number} [options.initialTime=0] -The initial time of the timer\n * @param {boolean} [options.enabled=true] The enabled state of the timer\n * @returns {UseStopwatchReturn} An object containing the current time and functions to interact with the timer\n *\n * @example\n * const { seconds, minutes, start, pause, reset } = useStopwatch({ initialTime: 1000, enabled: false });\n */\nexport const useStopwatch = ((...params: any[]) => {\n const initialTime =\n (typeof params[0] === 'number'\n ? (params[0] as number | undefined)\n : (params[0] as UseStopwatchOptions & { initialTime?: number })?.initialTime) ?? 0;\n\n const options =\n typeof params[0] === 'number'\n ? (params[1] as UseStopwatchOptions | undefined)\n : (params[0] as (UseStopwatchOptions & { initialTime?: number }) | undefined);\n\n const [time, setTime] = useState(getStopwatchTime(initialTime));\n const [paused, setPaused] = useState(!options?.enabled);\n\n const onInterval = useEvent(() => {\n const updatedCount = time.count + 1;\n\n if (updatedCount % 60 === 0) {\n return setTime({\n ...time,\n minutes: time.minutes + 1,\n seconds: 0,\n count: updatedCount\n });\n }\n\n if (updatedCount % (60 * 60) === 0) {\n return setTime({\n ...time,\n hours: time.hours + 1,\n minutes: 0,\n seconds: 0,\n count: updatedCount\n });\n }\n\n if (updatedCount % (60 * 60 * 24) === 0) {\n return setTime({\n ...time,\n days: time.days + 1,\n hours: 0,\n minutes: 0,\n seconds: 0,\n count: updatedCount\n });\n }\n\n setTime({\n ...time,\n seconds: time.seconds + 1,\n count: updatedCount\n });\n });\n\n useEffect(() => {\n if (paused) return;\n const interval = setInterval(() => onInterval(), 1000);\n return () => clearInterval(interval);\n }, [paused]);\n\n return {\n ...time,\n paused,\n pause: () => setPaused(true),\n start: () => setPaused(false),\n reset: () => setTime(getStopwatchTime(initialTime)),\n toggle: () => setPaused((prevPause) => !prevPause)\n };\n}) as UseStopwatch;\n"],"names":["getStopwatchTime","time","days","Math","floor","hours","minutes","seconds","count","_ref","_params$","_len","arguments","length","params","Array","_key","initialTime","options","_useState","useState","_useState2","_slicedToArray","setTime","_useState3","enabled","_useState4","paused","setPaused","onInterval","useEvent","updatedCount","_objectSpread","_objectSpread2","useEffect","interval","setInterval","clearInterval","pause","start","reset","toggle","prevPause"],"mappings":";
|
|
1
|
+
{"version":3,"file":"useStopwatch.js","sources":["../../../../src/hooks/useStopwatch/useStopwatch.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { useEvent } from '@/hooks';\n\nconst getStopwatchTime = (time: number) => {\n if (!time)\n return {\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n count: 0\n };\n\n const days = Math.floor(time / 86400);\n const hours = Math.floor((time % 86400) / 3600);\n const minutes = Math.floor((time % 3600) / 60);\n const seconds = Math.floor(time % 60);\n\n return { days, hours, minutes, seconds, count: time };\n};\n\n/** The use stopwatch return type */\nexport interface UseStopwatchReturn {\n /** The paused state of the stopwatch */\n paused: boolean;\n /** The over state of the stopwatch */\n over: boolean;\n /** The day count of the stopwatch */\n days: number;\n /** The hour count of the stopwatch */\n hours: number;\n /** The minute count of the stopwatch */\n minutes: number;\n /** The second count of the stopwatch */\n seconds: number;\n /** The total count of the stopwatch */\n count: number;\n /** The function to pause the stopwatch */\n pause: () => void;\n /** The function to start the stopwatch */\n start: () => void;\n /** The function to reset the stopwatch */\n reset: () => void;\n /** The function to toggle the stopwatch */\n toggle: () => void;\n}\n\n/** The use stopwatch options */\nexport interface UseStopwatchOptions {\n /** The enabled state of the timer */\n enabled?: boolean;\n}\n\ntype UseStopwatch = {\n (initialTime?: number, options?: UseStopwatchOptions): UseStopwatchReturn;\n (options?: UseStopwatchOptions & { initialTime?: number }): UseStopwatchReturn;\n};\n/**\n * @name useStopwatch\n * @description - Hook that creates a stopwatch functionality\n *\n * @overload\n * @param {number} [initialTime=0] The initial time of the timer\n * @param {boolean} [options.enabled=true] The enabled state of the timer\n * @returns {UseStopwatchReturn} An object containing the current time and functions to interact with the timer\n *\n * @example\n * const { seconds, minutes, start, pause, reset } = useStopwatch(1000, { enabled: false });\n *\n * @overload\n * @param {number} [options.initialTime=0] -The initial time of the timer\n * @param {boolean} [options.enabled=true] The enabled state of the timer\n * @returns {UseStopwatchReturn} An object containing the current time and functions to interact with the timer\n *\n * @example\n * const { seconds, minutes, start, pause, reset } = useStopwatch({ initialTime: 1000, enabled: false });\n */\nexport const useStopwatch = ((...params: any[]) => {\n const initialTime =\n (typeof params[0] === 'number'\n ? (params[0] as number | undefined)\n : (params[0] as UseStopwatchOptions & { initialTime?: number })?.initialTime) ?? 0;\n\n const options =\n typeof params[0] === 'number'\n ? (params[1] as UseStopwatchOptions | undefined)\n : (params[0] as (UseStopwatchOptions & { initialTime?: number }) | undefined);\n\n const [time, setTime] = useState(getStopwatchTime(initialTime));\n const [paused, setPaused] = useState(!options?.enabled);\n\n const onInterval = useEvent(() => {\n const updatedCount = time.count + 1;\n\n if (updatedCount % 60 === 0) {\n return setTime({\n ...time,\n minutes: time.minutes + 1,\n seconds: 0,\n count: updatedCount\n });\n }\n\n if (updatedCount % (60 * 60) === 0) {\n return setTime({\n ...time,\n hours: time.hours + 1,\n minutes: 0,\n seconds: 0,\n count: updatedCount\n });\n }\n\n if (updatedCount % (60 * 60 * 24) === 0) {\n return setTime({\n ...time,\n days: time.days + 1,\n hours: 0,\n minutes: 0,\n seconds: 0,\n count: updatedCount\n });\n }\n\n setTime({\n ...time,\n seconds: time.seconds + 1,\n count: updatedCount\n });\n });\n\n useEffect(() => {\n if (paused) return;\n const interval = setInterval(() => onInterval(), 1000);\n return () => clearInterval(interval);\n }, [paused]);\n\n return {\n ...time,\n paused,\n pause: () => setPaused(true),\n start: () => setPaused(false),\n reset: () => setTime(getStopwatchTime(initialTime)),\n toggle: () => setPaused((prevPause) => !prevPause)\n };\n}) as UseStopwatch;\n"],"names":["getStopwatchTime","time","days","Math","floor","hours","minutes","seconds","count","_ref","_params$","_len","arguments","length","params","Array","_key","initialTime","options","_useState","useState","_useState2","_slicedToArray","setTime","_useState3","enabled","_useState4","paused","setPaused","onInterval","useEvent","updatedCount","_objectSpread","_objectSpread2","useEffect","interval","setInterval","clearInterval","pause","start","reset","toggle","prevPause"],"mappings":";yOAIA,IAAMA,EAAmB,SAACC,GACxB,OAAKA,EAcE,CAAEC,KALIC,KAAKC,MAAMH,EAAO,OAKhBI,MAJDF,KAAKC,MAAOH,EAAO,MAAS,MAIpBK,QAHNH,KAAKC,MAAOH,EAAO,KAAQ,IAGZM,QAFfJ,KAAKC,MAAMH,EAAO,IAEMO,MAAOP,GAbtC,CACLC,KAAM,EACNG,MAAO,EACPC,QAAS,EACTC,QAAS,EACTC,MAAO,EASb,uBA0D6B,WAAsB,IAAA,IAAAC,EAAAC,EAAAC,EAAAC,UAAAC,OAAlBC,EAAMC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAANF,EAAME,GAAAJ,UAAAI,GACrC,IAAMC,EAG0ER,QAH/DA,EACO,iBAAdK,EAAO,GACVA,EAAO,WAAEJ,EACTI,EAAO,UAAE,IAAAJ,OAAA,EAAVA,EAA+DO,mBAAWR,IAAAA,EAAAA,EAAK,EAE/ES,EACiB,iBAAdJ,EAAO,GACTA,EAAO,GACPA,EAAO,GAEdK,EAAwBC,EAAAA,SAASpB,EAAiBiB,IAAaI,EAAAC,EAAAA,eAAAH,EAAA,GAAxDlB,EAAIoB,EAAA,GAAEE,EAAOF,EAAA,GACpBG,EAA4BJ,aAAUF,SAAAA,EAASO,UAAQC,EAAAJ,EAAAA,eAAAE,EAAA,GAAhDG,EAAMD,EAAA,GAAEE,EAASF,EAAA,GAElBG,EAAaC,EAAAA,UAAS,WAC1B,IAAMC,EAAe9B,EAAKO,MAAQ,EAElC,OAAIuB,EAAe,IAAO,EACjBR,EAAOS,EAAAA,eAAAA,EAAAA,kBACT/B,GAAI,GAAA,CACPK,QAASL,EAAKK,QAAU,EACxBC,QAAS,EACTC,MAAOuB,KAIPA,EAAgB,MAAa,EACxBR,EAAOS,EAAAA,eAAAA,EAAAA,kBACT/B,GAAI,GAAA,CACPI,MAAOJ,EAAKI,MAAQ,EACpBC,QAAS,EACTC,QAAS,EACTC,MAAOuB,KAIPA,EAAY,OAAsB,EAC7BR,EAAOS,EAAAA,eAAAA,EAAAA,kBACT/B,GAAI,GAAA,CACPC,KAAMD,EAAKC,KAAO,EAClBG,MAAO,EACPC,QAAS,EACTC,QAAS,EACTC,MAAOuB,UAIXR,EAAOS,EAAAC,eAAAD,EAAAC,kBACFhC,GAAI,CAAA,EAAA,CACPM,QAASN,EAAKM,QAAU,EACxBC,MAAOuB,IAEX,IAQA,OANAG,EAAAA,WAAU,WACR,IAAIP,EAAJ,CACA,IAAMQ,EAAWC,aAAY,WAAA,OAAMP,GAAY,GAAE,KACjD,OAAO,WAAA,OAAMQ,cAAcF,EAAS,CAFxB,CAGd,GAAG,CAACR,IAEJK,EAAAC,eAAAD,EAAAC,eAAA,CAAA,EACKhC,GAAI,CAAA,EAAA,CACP0B,OAAAA,EACAW,MAAO,WAAA,OAAMV,GAAU,EAAK,EAC5BW,MAAO,WAAA,OAAMX,GAAU,EAAM,EAC7BY,MAAO,WAAA,OAAMjB,EAAQvB,EAAiBiB,GAAa,EACnDwB,OAAQ,WAAA,OAAMb,GAAU,SAACc,GAAS,OAAMA,IAAU,GAEtD"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.46 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-CFMEkg0G.js"),t=require("react"),n=require("../../utils/helpers/isClient.js"),r=require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),i=function(e){return window.dispatchEvent(new StorageEvent("storage",e))},o=function(e,t,n){var r=e.getItem(t);e.setItem(t,n),i({key:t,oldValue:r,newValue:n,storageArea:e})},u=function(e,t){var n=e.getItem(t);e.removeItem(t),i({key:t,oldValue:n,newValue:null,storageArea:e})},a=function(e,t){var n=e.getItem(t);if(n)return n},s=function(e){return window.addEventListener("storage",e),function(){return window.removeEventListener("storage",e)}},l=function(){};exports.dispatchStorageEvent=i,exports.useStorage=function(i,c){var f,d="object"===e._typeof(c)?c:void 0,v=d?null==d?void 0:d.initialValue:c,g=null!==(f=null==d?void 0:d.storage)&&void 0!==f?f:window.localStorage,p=function(e){return null!=d&&d.serializer?d.serializer(e):JSON.stringify(e)},w=t.useSyncExternalStore(s,(function(){return a(g,i)}),l),m=function(e){if(null===e)return u(g,i);o(g,i,p(e))};r.useIsomorphicLayoutEffect((function(){(void 0===a(g,i)||v)&&o(g,i,p(v instanceof Function?v():v))}),[i]);var y=function(){return u(g,i)};return n.isClient?[w?function(e){if(null!=d&&d.deserializer)return d.deserializer(e);if("undefined"!==e)try{return JSON.parse(e)}catch(t){return e}}(w):void 0,m,y]:[v instanceof Function?v():v,m,y]};
|
|
3
3
|
//# sourceMappingURL=useStorage.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.46 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-CFMEkg0G.js"),n=require("react"),t=require("../../utils/helpers/isClient.js"),r=require("../useRerender/useRerender.js"),u=function(e){var n,t=null!==(n=e.rangeCount)&&void 0!==n?n:0;return Array.from({length:t},(function(n,t){return e.getRangeAt(t)}))};exports.getRangesSelection=u,exports.useTextSelection=function(){var i,o=r.useRerender(),l=n.useState(t.isClient?document.getSelection():null),s=e._slicedToArray(l,2),c=s[0],a=s[1];n.useEffect((function(){var e=function(){a(document.getSelection()),o.update()};return document.addEventListener("selectionchange",e),function(){return document.removeEventListener("selectionchange",e)}}),[]);var d=null!==(i=null==c?void 0:c.toString())&&void 0!==i?i:"",g=c?u(c):[],v=g.map((function(e){return e.getBoundingClientRect()}));return{text:d,ranges:g,rects:v,selection:c}};
|
|
3
3
|
//# sourceMappingURL=useTextSelection.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.46 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-CFMEkg0G.js"),r=require("react");require("../../utils/helpers/isClient.js");var t=require("../../utils/helpers/time/getDate.js"),s=require("../useInterval/useInterval.js");require("../useEvent/useEvent.js");exports.useTime=function(){var u=r.useState(t.getDate()),i=e._slicedToArray(u,2),l=i[0],a=i[1];return s.useInterval((function(){return a(t.getDate())}),1e3),l};
|
|
3
3
|
//# sourceMappingURL=useTime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTime.js","sources":["../../../../src/hooks/useTime/useTime.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport { getDate } from '@/utils/helpers';\n\nimport { useInterval } from '../useInterval/useInterval';\n\nexport interface UseTimeReturn {\n seconds: number;\n minutes: number;\n hours: number;\n meridiemHours: { value: number; type: string };\n day: number;\n month: number;\n year: number;\n timestamp: number;\n}\n\n/**\n * @name useTime\n * @description - Hook that gives you current time in different values\n * @category Time\n *\n * @returns {UseTimeReturn} An object containing the current time\n *\n * @example\n * const { seconds, minutes, hours, meridiemHours, day, month, year, timestamp } = useTime();\n */\nexport const useTime = (): UseTimeReturn => {\n const [time, setTime] = useState(getDate());\n useInterval(() => setTime(getDate()), 1000);\n return time;\n};\n"],"names":["_useState","useState","getDate","_useState2","_slicedToArray","time","setTime","useInterval"],"mappings":";
|
|
1
|
+
{"version":3,"file":"useTime.js","sources":["../../../../src/hooks/useTime/useTime.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport { getDate } from '@/utils/helpers';\n\nimport { useInterval } from '../useInterval/useInterval';\n\nexport interface UseTimeReturn {\n seconds: number;\n minutes: number;\n hours: number;\n meridiemHours: { value: number; type: string };\n day: number;\n month: number;\n year: number;\n timestamp: number;\n}\n\n/**\n * @name useTime\n * @description - Hook that gives you current time in different values\n * @category Time\n *\n * @returns {UseTimeReturn} An object containing the current time\n *\n * @example\n * const { seconds, minutes, hours, meridiemHours, day, month, year, timestamp } = useTime();\n */\nexport const useTime = (): UseTimeReturn => {\n const [time, setTime] = useState(getDate());\n useInterval(() => setTime(getDate()), 1000);\n return time;\n};\n"],"names":["_useState","useState","getDate","_useState2","_slicedToArray","time","setTime","useInterval"],"mappings":";2RA2BuB,WACrB,IAAAA,EAAwBC,WAASC,EAAAA,WAAUC,EAAAC,EAAAA,eAAAJ,EAAA,GAApCK,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GAEpB,OADAI,EAAAA,aAAY,WAAA,OAAMD,EAAQJ,EAAOA,UAAG,GAAE,KAC/BG,CACT"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.46 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-CFMEkg0G.js"),r=require("react"),u=require("../useEvent/useEvent.js");exports.useTimeout=function(t,n){var c=r.useState(!1),i=e._slicedToArray(c,2),s=i[0],o=i[1],a=r.useRef(),l=u.useEvent(t);return r.useEffect((function(){return a.current=setTimeout((function(){l(),o(!0)}),n),function(){clearTimeout(a.current)}}),[n]),{ready:s,clear:function(){clearTimeout(a.current),o(!0)}}};
|
|
3
3
|
//# sourceMappingURL=useTimeout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTimeout.js","sources":["../../../../src/hooks/useTimeout/useTimeout.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport { useEvent } from '../useEvent/useEvent';\n\n/** The use timeout return type */\ninterface UseTimeoutReturn {\n /** Timeout is ready state value */\n ready: boolean;\n /** Function to clear timeout */\n clear: () => void;\n}\n\n/**\n * @name useTimeout\n * @description - Hook that executes a callback function after a specified delay\n * @category Time\n *\n * @param {() => void} callback The function to be executed after the timeout\n * @param {number} delay The delay in milliseconds before the timeout executes the callback function\n * @returns {UseTimeoutReturn} An object with a `ready` boolean state value and a `clear` function to clear timeout\n *\n * @example\n * const { clear, ready } = useTimeout(() => {}, 5000);\n */\nexport function useTimeout(callback: () => void, delay: number): UseTimeoutReturn {\n const [ready, setReady] = useState(false);\n\n const timeoutIdRef = useRef<ReturnType<typeof setTimeout>>();\n const internalCallback = useEvent(callback);\n\n useEffect(() => {\n timeoutIdRef.current = setTimeout(() => {\n internalCallback();\n setReady(true);\n }, delay);\n\n return () => {\n clearTimeout(timeoutIdRef.current);\n };\n }, [delay]);\n\n const clear = () => {\n clearTimeout(timeoutIdRef.current);\n setReady(true);\n };\n\n return { ready, clear };\n}\n"],"names":["callback","delay","_useState","useState","_useState2","_slicedToArray","ready","setReady","timeoutIdRef","useRef","internalCallback","useEvent","useEffect","current","setTimeout","clearTimeout","clear"],"mappings":";
|
|
1
|
+
{"version":3,"file":"useTimeout.js","sources":["../../../../src/hooks/useTimeout/useTimeout.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport { useEvent } from '../useEvent/useEvent';\n\n/** The use timeout return type */\ninterface UseTimeoutReturn {\n /** Timeout is ready state value */\n ready: boolean;\n /** Function to clear timeout */\n clear: () => void;\n}\n\n/**\n * @name useTimeout\n * @description - Hook that executes a callback function after a specified delay\n * @category Time\n *\n * @param {() => void} callback The function to be executed after the timeout\n * @param {number} delay The delay in milliseconds before the timeout executes the callback function\n * @returns {UseTimeoutReturn} An object with a `ready` boolean state value and a `clear` function to clear timeout\n *\n * @example\n * const { clear, ready } = useTimeout(() => {}, 5000);\n */\nexport function useTimeout(callback: () => void, delay: number): UseTimeoutReturn {\n const [ready, setReady] = useState(false);\n\n const timeoutIdRef = useRef<ReturnType<typeof setTimeout>>();\n const internalCallback = useEvent(callback);\n\n useEffect(() => {\n timeoutIdRef.current = setTimeout(() => {\n internalCallback();\n setReady(true);\n }, delay);\n\n return () => {\n clearTimeout(timeoutIdRef.current);\n };\n }, [delay]);\n\n const clear = () => {\n clearTimeout(timeoutIdRef.current);\n setReady(true);\n };\n\n return { ready, clear };\n}\n"],"names":["callback","delay","_useState","useState","_useState2","_slicedToArray","ready","setReady","timeoutIdRef","useRef","internalCallback","useEvent","useEffect","current","setTimeout","clearTimeout","clear"],"mappings":";qJAwBO,SAAoBA,EAAsBC,GAC/C,IAAAC,EAA0BC,EAAQA,UAAC,GAAMC,EAAAC,EAAAA,eAAAH,EAAA,GAAlCI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAEhBI,EAAeC,EAAAA,SACfC,EAAmBC,WAASX,GAkBlC,OAhBAY,EAAAA,WAAU,WAMR,OALAJ,EAAaK,QAAUC,YAAW,WAChCJ,IACAH,GAAS,EACV,GAAEN,GAEI,WACLc,aAAaP,EAAaK,SAE9B,GAAG,CAACZ,IAOG,CAAEK,MAAAA,EAAOU,MALF,WACZD,aAAaP,EAAaK,SAC1BN,GAAS,IAIb"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.46 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-CFMEkg0G.js"),r=require("react");exports.useToggle=function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[!1,!0],n=r.useReducer((function(e,r){var i=r instanceof Function?r(e[0]):r,n=Math.abs(e.indexOf(i));return e.slice(n).concat(e.slice(0,n))}),i),c=e._slicedToArray(n,2);return[e._slicedToArray(c[0],1)[0],c[1]]};
|
|
3
3
|
//# sourceMappingURL=useToggle.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.46 */
|
|
2
2
|
"use strict";var e=require("react");exports.useUnmount=function(r){var t=e.useRef(r);t.current=r,e.useEffect((function(){return function(){t.current()}}),[])};
|
|
3
3
|
//# sourceMappingURL=useUnmount.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUnmount.js","sources":["../../../../src/hooks/useUnmount/useUnmount.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\n/**\n * @name useUnmount\n * @description - Hook that defines the logic when unmounting a component\n * @category Lifecycle\n *\n * @param {() => void} callback The callback function to be invoked on component unmount\n * @returns {void}\n *\n * @example\n * useUnmount(() => console.log('This effect runs on component unmount'));\n */\n\nexport const useUnmount = (callback: () => void) => {\n const
|
|
1
|
+
{"version":3,"file":"useUnmount.js","sources":["../../../../src/hooks/useUnmount/useUnmount.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\n/**\n * @name useUnmount\n * @description - Hook that defines the logic when unmounting a component\n * @category Lifecycle\n *\n * @param {() => void} callback The callback function to be invoked on component unmount\n * @returns {void}\n *\n * @example\n * useUnmount(() => console.log('This effect runs on component unmount'));\n */\n\nexport const useUnmount = (callback: () => void) => {\n const internalCallbackRef = useRef(callback);\n internalCallbackRef.current = callback;\n\n useEffect(\n () => () => {\n internalCallbackRef.current();\n },\n []\n );\n};\n"],"names":["callback","internalCallbackRef","useRef","current","useEffect"],"mappings":";uDAc0B,SAACA,GACzB,IAAMC,EAAsBC,SAAOF,GACnCC,EAAoBE,QAAUH,EAE9BI,EAAAA,WACE,WAAA,OAAM,WACJH,EAAoBE,UACrB,GACD,GAEJ"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.46 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-CFMEkg0G.js"),n=require("react"),r=require("../../utils/helpers/getRetry.js");require("../../utils/helpers/isClient.js");var t=require("../useEvent/useEvent.js");exports.useWebSocket=function(u,o){var c=n.useRef(),l=n.useRef(null!=o&&o.retry?r.getRetry(o.retry):0),i=n.useRef(!1),s=n.useState("connecting"),v=e._slicedToArray(s,2),a=v[0],d=v[1],f=t.useEvent((function(){c.current=new WebSocket("function"==typeof u?u():u,null==o?void 0:o.protocols),d("connecting");var e=c.current;e&&(e.onopen=function(){var n;d("connected"),null==o||null===(n=o.onConnected)||void 0===n||n.call(o,e)},e.onerror=function(n){var r;d("failed"),null==o||null===(r=o.onError)||void 0===r||r.call(o,n,e)},e.onmessage=function(n){var r;return null==o||null===(r=o.onMessage)||void 0===r?void 0:r.call(o,n,e)},e.onclose=function(n){var t;if(d("disconnected"),null==o||null===(t=o.onDisconnected)||void 0===t||t.call(o,n,e),!i.current)return l.current>0?(l.current-=1,f()):void(l.current=null!=o&&o.retry?r.getRetry(o.retry):0)})}));n.useEffect((function(){return f(),function(){c.current&&(c.current.close(),c.current=void 0)}}),[u]);return{client:c.current,close:function(){var e;i.current=!0,null===(e=c.current)||void 0===e||e.close()},open:function(){i.current=!1,f()},send:function(e){var n;return null===(n=c.current)||void 0===n?void 0:n.send(e)},status:a}};
|
|
3
3
|
//# sourceMappingURL=useWebSocket.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWebSocket.js","sources":["../../../../src/hooks/useWebSocket/useWebSocket.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport { getRetry } from '@/utils/helpers';\n\nimport { useEvent } from '../useEvent/useEvent';\n\nexport type UseWebSocketUrl = string | (() => string);\n\nexport interface UseWebSocketOptions {\n onConnected?: (webSocket: WebSocket) => void;\n onDisconnected?: (event: CloseEvent, webSocket: WebSocket) => void;\n onError?: (event: Event, webSocket: WebSocket) => void;\n onMessage?: (event: MessageEvent, webSocket: WebSocket) => void;\n retry?: boolean | number;\n protocols?: Array<'soap' | 'wasm'>;\n}\n\nexport type UseWebSocketStatus = 'connecting' | 'failed' | 'connected' | 'disconnected';\n\nexport interface UseWebSocketReturn {\n status: UseWebSocketStatus;\n close: WebSocket['close'];\n send: WebSocket['send'];\n open: () => void;\n client?: WebSocket;\n}\n\n/**\n * @name useWebSocket\n * @description - Hook that connects to a WebSocket server and handles incoming and outgoing messages\n * @category Network\n *\n * @param {UseWebSocketUrl} url The URL of the WebSocket server\n * @param {(webSocket: WebSocket) => void} [options.onConnected] The callback function that is called when the WebSocket connection is established\n * @param {(event: CloseEvent, webSocket: WebSocket) => void} [options.onDisconnected] The callback function that is called when the WebSocket connection is closed\n * @param {(event: Event, webSocket: WebSocket) => void} [options.onError] The callback function that is called when an error occurs\n * @param {(event: MessageEvent, webSocket: WebSocket) => void} [options.onMessage] The callback function that is called when a message is received\n * @param {boolean | number} [options.retry] The number of times to retry the connection\n * @param {Array<'soap' | 'wasm'>} [options.protocols] The list of protocols to use\n * @returns {UseWebSocketReturn} An object with the status, close, send, open, and ws properties\n *\n * @example\n * const { status, close, send, open, client } = useWebSocket('url');\n */\nexport const useWebSocket = (\n url: UseWebSocketUrl,\n options?: UseWebSocketOptions\n): UseWebSocketReturn => {\n const webSocketRef = useRef<WebSocket>();\n const retryCountRef = useRef(options?.retry ? getRetry(options.retry) : 0);\n const explicityCloseRef = useRef(false);\n\n const [status, setStatus] = useState<UseWebSocketStatus>('connecting');\n\n const send = (data: string | Blob | ArrayBufferLike | ArrayBufferView) =>\n webSocketRef.current?.send(data);\n\n const close = () => {\n explicityCloseRef.current = true;\n webSocketRef.current?.close();\n };\n\n const init = useEvent(() => {\n webSocketRef.current = new WebSocket(\n typeof url === 'function' ? url() : url,\n options?.protocols\n );\n setStatus('connecting');\n\n const webSocket = webSocketRef.current;\n if (!webSocket) return;\n\n webSocket.onopen = () => {\n setStatus('connected');\n options?.onConnected?.(webSocket);\n };\n\n webSocket.onerror = (event) => {\n setStatus('failed');\n options?.onError?.(event, webSocket);\n };\n\n webSocket.onmessage = (event) => options?.onMessage?.(event, webSocket);\n\n webSocket.onclose = (event) => {\n setStatus('disconnected');\n options?.onDisconnected?.(event, webSocket);\n if (explicityCloseRef.current) return;\n\n if (retryCountRef.current > 0) {\n retryCountRef.current -= 1;\n return init();\n }\n retryCountRef.current = options?.retry ? getRetry(options.retry) : 0;\n };\n });\n\n useEffect(() => {\n init();\n\n return () => {\n if (!webSocketRef.current) return;\n webSocketRef.current.close();\n webSocketRef.current = undefined;\n };\n }, [url]);\n\n const open = () => {\n explicityCloseRef.current = false;\n init();\n };\n\n return { client: webSocketRef.current, close, open, send, status };\n};\n"],"names":["url","options","webSocketRef","useRef","retryCountRef","retry","getRetry","explicityCloseRef","_useState","useState","_useState2","_slicedToArray","status","setStatus","init","useEvent","current","WebSocket","protocols","webSocket","onopen","_options$onConnected","onConnected","call","onerror","event","_options$onError","onError","onmessage","_options$onMessage","onMessage","onclose","_options$onDisconnect","onDisconnected","useEffect","close","undefined","client","_webSocketRef$current2","open","send","data","_webSocketRef$current"],"mappings":";
|
|
1
|
+
{"version":3,"file":"useWebSocket.js","sources":["../../../../src/hooks/useWebSocket/useWebSocket.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport { getRetry } from '@/utils/helpers';\n\nimport { useEvent } from '../useEvent/useEvent';\n\nexport type UseWebSocketUrl = string | (() => string);\n\nexport interface UseWebSocketOptions {\n onConnected?: (webSocket: WebSocket) => void;\n onDisconnected?: (event: CloseEvent, webSocket: WebSocket) => void;\n onError?: (event: Event, webSocket: WebSocket) => void;\n onMessage?: (event: MessageEvent, webSocket: WebSocket) => void;\n retry?: boolean | number;\n protocols?: Array<'soap' | 'wasm'>;\n}\n\nexport type UseWebSocketStatus = 'connecting' | 'failed' | 'connected' | 'disconnected';\n\nexport interface UseWebSocketReturn {\n status: UseWebSocketStatus;\n close: WebSocket['close'];\n send: WebSocket['send'];\n open: () => void;\n client?: WebSocket;\n}\n\n/**\n * @name useWebSocket\n * @description - Hook that connects to a WebSocket server and handles incoming and outgoing messages\n * @category Network\n *\n * @param {UseWebSocketUrl} url The URL of the WebSocket server\n * @param {(webSocket: WebSocket) => void} [options.onConnected] The callback function that is called when the WebSocket connection is established\n * @param {(event: CloseEvent, webSocket: WebSocket) => void} [options.onDisconnected] The callback function that is called when the WebSocket connection is closed\n * @param {(event: Event, webSocket: WebSocket) => void} [options.onError] The callback function that is called when an error occurs\n * @param {(event: MessageEvent, webSocket: WebSocket) => void} [options.onMessage] The callback function that is called when a message is received\n * @param {boolean | number} [options.retry] The number of times to retry the connection\n * @param {Array<'soap' | 'wasm'>} [options.protocols] The list of protocols to use\n * @returns {UseWebSocketReturn} An object with the status, close, send, open, and ws properties\n *\n * @example\n * const { status, close, send, open, client } = useWebSocket('url');\n */\nexport const useWebSocket = (\n url: UseWebSocketUrl,\n options?: UseWebSocketOptions\n): UseWebSocketReturn => {\n const webSocketRef = useRef<WebSocket>();\n const retryCountRef = useRef(options?.retry ? getRetry(options.retry) : 0);\n const explicityCloseRef = useRef(false);\n\n const [status, setStatus] = useState<UseWebSocketStatus>('connecting');\n\n const send = (data: string | Blob | ArrayBufferLike | ArrayBufferView) =>\n webSocketRef.current?.send(data);\n\n const close = () => {\n explicityCloseRef.current = true;\n webSocketRef.current?.close();\n };\n\n const init = useEvent(() => {\n webSocketRef.current = new WebSocket(\n typeof url === 'function' ? url() : url,\n options?.protocols\n );\n setStatus('connecting');\n\n const webSocket = webSocketRef.current;\n if (!webSocket) return;\n\n webSocket.onopen = () => {\n setStatus('connected');\n options?.onConnected?.(webSocket);\n };\n\n webSocket.onerror = (event) => {\n setStatus('failed');\n options?.onError?.(event, webSocket);\n };\n\n webSocket.onmessage = (event) => options?.onMessage?.(event, webSocket);\n\n webSocket.onclose = (event) => {\n setStatus('disconnected');\n options?.onDisconnected?.(event, webSocket);\n if (explicityCloseRef.current) return;\n\n if (retryCountRef.current > 0) {\n retryCountRef.current -= 1;\n return init();\n }\n retryCountRef.current = options?.retry ? getRetry(options.retry) : 0;\n };\n });\n\n useEffect(() => {\n init();\n\n return () => {\n if (!webSocketRef.current) return;\n webSocketRef.current.close();\n webSocketRef.current = undefined;\n };\n }, [url]);\n\n const open = () => {\n explicityCloseRef.current = false;\n init();\n };\n\n return { client: webSocketRef.current, close, open, send, status };\n};\n"],"names":["url","options","webSocketRef","useRef","retryCountRef","retry","getRetry","explicityCloseRef","_useState","useState","_useState2","_slicedToArray","status","setStatus","init","useEvent","current","WebSocket","protocols","webSocket","onopen","_options$onConnected","onConnected","call","onerror","event","_options$onError","onError","onmessage","_options$onMessage","onMessage","onclose","_options$onDisconnect","onDisconnected","useEffect","close","undefined","client","_webSocketRef$current2","open","send","data","_webSocketRef$current"],"mappings":";mPA4C4B,SAC1BA,EACAC,GAEA,IAAMC,EAAeC,EAAAA,SACfC,EAAgBD,EAAMA,OAACF,SAAAA,EAASI,MAAQC,EAAAA,SAASL,EAAQI,OAAS,GAClEE,EAAoBJ,UAAO,GAEjCK,EAA4BC,EAAQA,SAAqB,cAAaC,EAAAC,EAAAA,eAAAH,EAAA,GAA/DI,EAAMF,EAAA,GAAEG,EAASH,EAAA,GAUlBI,EAAOC,EAAAA,UAAS,WACpBb,EAAac,QAAU,IAAIC,UACV,mBAARjB,EAAqBA,IAAQA,EACpCC,aAAAA,EAAAA,EAASiB,WAEXL,EAAU,cAEV,IAAMM,EAAYjB,EAAac,QAC1BG,IAELA,EAAUC,OAAS,WAAM,IAAAC,EACvBR,EAAU,aACVZ,SAAoB,QAAboB,EAAPpB,EAASqB,mBAAW,IAAAD,GAApBA,EAAAE,KAAAtB,EAAuBkB,IAGzBA,EAAUK,QAAU,SAACC,GAAU,IAAAC,EAC7Bb,EAAU,UACVZ,SAAgByB,QAATA,EAAPzB,EAAS0B,mBAAOD,GAAhBA,EAAAH,KAAAtB,EAAmBwB,EAAON,IAG5BA,EAAUS,UAAY,SAACH,GAAK,IAAAI,EAAA,OAAK5B,SAAkB,QAAX4B,EAAP5B,EAAS6B,iBAATD,IAAkBA,OAAlBA,EAAAA,EAAAN,KAAAtB,EAAqBwB,EAAON,EAAU,EAEvEA,EAAUY,QAAU,SAACN,GAAU,IAAAO,EAG7B,GAFAnB,EAAU,gBACVZ,SAAuB+B,QAAhBA,EAAP/B,EAASgC,0BAAcD,GAAvBA,EAAAT,KAAAtB,EAA0BwB,EAAON,IAC7BZ,EAAkBS,QAEtB,OAAIZ,EAAcY,QAAU,GAC1BZ,EAAcY,SAAW,EAClBF,UAETV,EAAcY,QAAUf,SAAAA,EAASI,MAAQC,EAAQA,SAACL,EAAQI,OAAS,IAEvE,IAEA6B,EAAAA,WAAU,WAGR,OAFApB,IAEO,WACAZ,EAAac,UAClBd,EAAac,QAAQmB,QACrBjC,EAAac,aAAUoB,GAE3B,GAAG,CAACpC,IAOJ,MAAO,CAAEqC,OAAQnC,EAAac,QAASmB,MAvDzB,WAAM,IAAAG,EAClB/B,EAAkBS,SAAU,EACR,QAApBsB,EAAApC,EAAac,eAAO,IAAAsB,GAApBA,EAAsBH,SAqDsBI,KALjC,WACXhC,EAAkBS,SAAU,EAC5BF,KAGkD0B,KA1DvC,SAACC,GAAuD,IAAAC,EAAA,OAC/C,QAD+CA,EACnExC,EAAac,eAAO,IAAA0B,OAAA,EAApBA,EAAsBF,KAAKC,EAAK,EAyDwB7B,OAAAA,EAC5D"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../useEventListener/useEventListener.js");require("react"),require("../useEvent/useEvent.js")
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.46 */
|
|
2
|
+
"use strict";var e=require("../useEventListener/useEventListener.js");require("react"),require("../useEvent/useEvent.js");exports.useWindowEvent=function(r,t,n){return e.useEventListener(window,r,t,n)};
|
|
3
3
|
//# sourceMappingURL=useWindowEvent.js.map
|