@siberiacancode/reactuse 0.2.23 → 0.2.25
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/hooks/useActiveElement/useActiveElement.cjs +1 -1
- package/dist/cjs/hooks/useActiveElement/useActiveElement.cjs.map +1 -1
- package/dist/cjs/hooks/useAudio/useAudio.cjs.map +1 -1
- package/dist/cjs/hooks/useAutoScroll/useAutoScroll.cjs +2 -0
- package/dist/cjs/hooks/useAutoScroll/useAutoScroll.cjs.map +1 -0
- package/dist/cjs/hooks/useBattery/useBattery.cjs.map +1 -1
- package/dist/cjs/hooks/useClickOutside/useClickOutside.cjs +1 -1
- package/dist/cjs/hooks/useClickOutside/useClickOutside.cjs.map +1 -1
- package/dist/cjs/hooks/useEvent/useEvent.cjs +1 -1
- package/dist/cjs/hooks/useEvent/useEvent.cjs.map +1 -1
- package/dist/cjs/hooks/useKeyPress/useKeyPress.cjs +1 -1
- package/dist/cjs/hooks/useKeyPress/useKeyPress.cjs.map +1 -1
- package/dist/cjs/hooks/useKeyboard/useKeyboard.cjs +1 -1
- package/dist/cjs/hooks/useKeyboard/useKeyboard.cjs.map +1 -1
- package/dist/cjs/hooks/useKeysPressed/useKeysPressed.cjs.map +1 -1
- package/dist/cjs/hooks/useLockCallback/useLockCallback.cjs +1 -1
- package/dist/cjs/hooks/useLockCallback/useLockCallback.cjs.map +1 -1
- package/dist/cjs/hooks/useMemory/useMemory.cjs.map +1 -1
- package/dist/cjs/hooks/useScroll/useScroll.cjs.map +1 -1
- package/dist/cjs/hooks/useStopwatch/useStopwatch.cjs +1 -1
- package/dist/cjs/hooks/useStopwatch/useStopwatch.cjs.map +1 -1
- package/dist/cjs/hooks/useWindowEvent/useWindowEvent.cjs.map +1 -1
- package/dist/cjs/hooks/useWindowScroll/useWindowScroll.cjs.map +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/esm/hooks/useActiveElement/useActiveElement.mjs +23 -17
- package/dist/esm/hooks/useActiveElement/useActiveElement.mjs.map +1 -1
- package/dist/esm/hooks/useAudio/useAudio.mjs.map +1 -1
- package/dist/esm/hooks/useAutoScroll/useAutoScroll.mjs +48 -0
- package/dist/esm/hooks/useAutoScroll/useAutoScroll.mjs.map +1 -0
- package/dist/esm/hooks/useBattery/useBattery.mjs.map +1 -1
- package/dist/esm/hooks/useClickOutside/useClickOutside.mjs +12 -12
- package/dist/esm/hooks/useClickOutside/useClickOutside.mjs.map +1 -1
- package/dist/esm/hooks/useEvent/useEvent.mjs +6 -6
- package/dist/esm/hooks/useEvent/useEvent.mjs.map +1 -1
- package/dist/esm/hooks/useKeyPress/useKeyPress.mjs.map +1 -1
- package/dist/esm/hooks/useKeyboard/useKeyboard.mjs +15 -15
- package/dist/esm/hooks/useKeyboard/useKeyboard.mjs.map +1 -1
- package/dist/esm/hooks/useKeysPressed/useKeysPressed.mjs.map +1 -1
- package/dist/esm/hooks/useLockCallback/useLockCallback.mjs.map +1 -1
- package/dist/esm/hooks/useMemory/useMemory.mjs.map +1 -1
- package/dist/esm/hooks/useScroll/useScroll.mjs.map +1 -1
- package/dist/esm/hooks/useStopwatch/useStopwatch.mjs +18 -18
- package/dist/esm/hooks/useStopwatch/useStopwatch.mjs.map +1 -1
- package/dist/esm/hooks/useWindowEvent/useWindowEvent.mjs.map +1 -1
- package/dist/esm/hooks/useWindowScroll/useWindowScroll.mjs.map +1 -1
- package/dist/esm/index.mjs +336 -334
- package/dist/esm/index.mjs.map +1 -1
- package/dist/types/hooks/index.d.ts +1 -0
- package/dist/types/hooks/useActiveElement/useActiveElement.d.ts +21 -2
- package/dist/types/hooks/useAutoScroll/useAutoScroll.d.ts +35 -0
- package/dist/types/hooks/useKeyPress/useKeyPress.d.ts +1 -1
- package/dist/types/hooks/useKeyboard/useKeyboard.d.ts +28 -8
- package/dist/types/hooks/useStopwatch/useStopwatch.d.ts +2 -2
- package/dist/types/hooks/useWindowEvent/useWindowEvent.d.ts +1 -1
- package/dist/types/hooks/useWindowScroll/useWindowScroll.d.ts +1 -1
- package/dist/types/utils/helpers/getElement.d.ts +1 -1
- package/package.json +89 -89
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react"),v=require("../useRefState/useRefState.cjs"),d=require("../../utils/helpers/isTarget.cjs"),m=require("../../utils/helpers/getElement.cjs"),E=(...s)=>{const t=d.isTarget(s[0])?s[0]:void 0,[o,i]=l.useState(null),n=v.useRefState(window);return l.useEffect(()=>{if(!t&&!n.state)return;const e=t?m.getElement(t):n.current;if(!e)return;const c=new MutationObserver(f=>{f.filter(r=>r.removedNodes.length).map(r=>Array.from(r.removedNodes)).flat().forEach(r=>{i(a=>r===a?document.activeElement:a)})});c.observe(e,{childList:!0,subtree:!0});const u=()=>i(document?.activeElement);return e.addEventListener("focus",u,!0),e.addEventListener("blur",u,!0),()=>{c.disconnect(),e.removeEventListener("focus",u,!0),e.removeEventListener("blur",u,!0)}},[t,n.state]),t?o:{ref:n,value:o}};exports.useActiveElement=E;
|
|
2
2
|
//# sourceMappingURL=useActiveElement.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useActiveElement.cjs","sources":["../../../../src/hooks/useActiveElement/useActiveElement.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\n/**\n * @name useActiveElement\n * @description - Hook that returns the active element\n * @category Elements\n *\n * @returns {ActiveElement | null} The active element\n *\n * @example\n * const activeElement = useActiveElement();\n *\n * @see {@link https://siberiacancode.github.io/reactuse/functions/hooks/useActiveElement.html}\n */\nexport const useActiveElement =
|
|
1
|
+
{"version":3,"file":"useActiveElement.cjs","sources":["../../../../src/hooks/useActiveElement/useActiveElement.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { HookTarget } from '@/utils/helpers';\n\nimport { getElement, isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\nexport interface UseActiveElement {\n (): HTMLElement | null;\n\n <Target extends Element, ActiveElement extends HTMLElement = HTMLElement>(\n target?: never\n ): {\n ref: StateRef<Target>;\n value: ActiveElement | null;\n };\n\n <ActiveElement extends HTMLElement = HTMLElement>(target: HookTarget): ActiveElement | null;\n}\n\n/**\n * @name useActiveElement\n * @description - Hook that returns the active element\n * @category Elements\n *\n * @overload\n * @param {HookTarget} [target=window] The target element to observe active element changes\n * @returns {ActiveElement | null} The active element\n *\n * @example\n * const activeElement = useActiveElement(ref);\n *\n * @overload\n * @template ActiveElement The active element type\n * @returns {{ ref: StateRef<Element>; activeElement: ActiveElement | null }} An object containing the ref and active element\n *\n * @example\n * const { ref, value } = useActiveElement();\n *\n * @see {@link https://siberiacancode.github.io/reactuse/functions/hooks/useActiveElement.html}\n */\nexport const useActiveElement = ((...params: any[]) => {\n const target = (isTarget(params[0]) ? params[0] : undefined) as HookTarget | undefined;\n\n const [value, setValue] = useState<HTMLElement | null>(null);\n const internalRef = useRefState(window);\n\n useEffect(() => {\n if (!target && !internalRef.state) return;\n\n const element = (target ? getElement(target) : internalRef.current) as Element;\n if (!element) return;\n\n const observer = new MutationObserver((mutations) => {\n mutations\n .filter((mutation) => mutation.removedNodes.length)\n .map((mutation) => Array.from(mutation.removedNodes))\n .flat()\n .forEach((node) => {\n setValue((prevActiveElement) => {\n if (node === prevActiveElement) return document.activeElement as HTMLElement | null;\n return prevActiveElement;\n });\n });\n });\n\n observer.observe(element, {\n childList: true,\n subtree: true\n });\n\n const onActiveElementChange = () => setValue(document?.activeElement as HTMLElement | null);\n\n element.addEventListener('focus', onActiveElementChange, true);\n element.addEventListener('blur', onActiveElementChange, true);\n\n return () => {\n observer.disconnect();\n element.removeEventListener('focus', onActiveElementChange, true);\n element.removeEventListener('blur', onActiveElementChange, true);\n };\n }, [target, internalRef.state]);\n\n if (target) return value;\n return {\n ref: internalRef,\n value\n };\n}) as UseActiveElement;\n"],"names":["useActiveElement","params","target","isTarget","value","setValue","useState","internalRef","useRefState","useEffect","element","getElement","observer","mutations","mutation","node","prevActiveElement","onActiveElementChange"],"mappings":"mPA4CaA,EAAoB,IAAIC,IAAkB,CACrD,MAAMC,EAAUC,EAAAA,SAASF,EAAO,CAAC,CAAC,EAAIA,EAAO,CAAC,EAAI,OAE5C,CAACG,EAAOC,CAAQ,EAAIC,EAAAA,SAA6B,IAAI,EACrDC,EAAcC,EAAAA,YAAY,MAAM,EAsCtC,OApCAC,EAAAA,UAAU,IAAM,CACd,GAAI,CAACP,GAAU,CAACK,EAAY,MAAO,OAEnC,MAAMG,EAAWR,EAASS,EAAAA,WAAWT,CAAM,EAAIK,EAAY,QAC3D,GAAI,CAACG,EAAS,OAEd,MAAME,EAAW,IAAI,iBAAkBC,GAAc,CACnDA,EACG,OAAQC,GAAaA,EAAS,aAAa,MAAM,EACjD,IAAKA,GAAa,MAAM,KAAKA,EAAS,YAAY,CAAC,EACnD,OACA,QAASC,GAAS,CACjBV,EAAUW,GACJD,IAASC,EAA0B,SAAS,cACzCA,CACR,CAAA,CACF,CAAA,CACJ,EAEDJ,EAAS,QAAQF,EAAS,CACxB,UAAW,GACX,QAAS,EAAA,CACV,EAED,MAAMO,EAAwB,IAAMZ,EAAS,UAAU,aAAmC,EAE1F,OAAAK,EAAQ,iBAAiB,QAASO,EAAuB,EAAI,EAC7DP,EAAQ,iBAAiB,OAAQO,EAAuB,EAAI,EAErD,IAAM,CACXL,EAAS,WAAA,EACTF,EAAQ,oBAAoB,QAASO,EAAuB,EAAI,EAChEP,EAAQ,oBAAoB,OAAQO,EAAuB,EAAI,CAAA,CACjE,EACC,CAACf,EAAQK,EAAY,KAAK,CAAC,EAE1BL,EAAeE,EACZ,CACL,IAAKG,EACL,MAAAH,CAAA,CAEJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAudio.cjs","sources":["../../../../src/hooks/useAudio/useAudio.ts"],"sourcesContent":["import { useEffect, useRef, useState } from
|
|
1
|
+
{"version":3,"file":"useAudio.cjs","sources":["../../../../src/hooks/useAudio/useAudio.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\n/** Type sprite map */\nexport interface SpriteMap {\n /** [start time in seconds, end time in seconds] */\n [key: string]: [number, number];\n}\n\n/** Type use audio options */\nexport interface UseAudioOptions {\n /** Whether audio playback is initially enabled */\n immediately?: boolean;\n /** Whether to stop current playback when starting a new one */\n interrupt?: boolean;\n /** Initial playback speed (0.5 to 2) */\n playbackRate?: number;\n /** Map of named audio segments for sprite-based playback */\n sprite?: SpriteMap;\n /** Initial volume level (0 to 1) */\n volume?: number;\n}\n\n/** Type use audio return type */\nexport interface UseAudioReturn {\n /** Current playback speed (0.5 to 2) */\n playbackRate: number;\n /** Whether audio is currently playing */\n playing: boolean;\n /** Current volume level (0 to 1) */\n volume: number;\n /** Set playback speed (0.5 to 2) */\n changePlaybackRate: (value: number) => void;\n /** Pause audio playback at current position */\n pause: () => void;\n /** Start audio playback from the beginning or specified sprite segment */\n play: (sprite?: string) => Promise<void>;\n /** Set audio volume level (0 to 1) */\n setVolume: (value: number) => void;\n /** Stop audio playback and reset position to start */\n stop: () => void;\n}\n\n/**\n * @name useAudio\n * @description - Hook that manages audio playback with sprite support\n * @category Browser\n *\n * @browserapi Audio https://developer.mozilla.org/en-US/docs/Web/API/Audio\n *\n * @template Value The type of the value\n * @param {string} url The URL of the audio file to play\n * @param {UseAudioOptions} [options] Audio configuration options\n * @param {number} [options.volume=1] Initial volume level (0 to 1)\n * @param {number} [options.playbackRate=1] Initial playback speed (0.5 to 2)\n * @param {boolean} [options.interrupt=false] Whether to stop current playback when starting a new one\n * @param {boolean} [options.soundEnabled=true] Whether audio playback is initially enabled\n * @param {SpriteMap} [options.sprite] Map of named audio segments for sprite-based playback\n * @returns {UseAudioReturn} An object containing audio controls and state\n *\n * @example\n * const audio = useAudio(\"/path/to/sound.mp3\");\n */\nexport const useAudio = (src: string, options: UseAudioOptions = {}): UseAudioReturn => {\n const [playing, setPlaying] = useState(false);\n const [volume, setCurrentVolume] = useState(options.volume ?? 1);\n const [playbackRate, setPlaybackRate] = useState(options.playbackRate ?? 1);\n\n const audioRef = useRef<HTMLAudioElement | null>(null);\n\n useEffect(() => {\n const audio = new Audio(src);\n\n audio.volume = volume;\n audio.playbackRate = playbackRate;\n audioRef.current = audio;\n\n if (options.immediately) audio.play();\n\n const onPlay = () => setPlaying(true);\n const onPause = () => setPlaying(false);\n const onEnded = () => setPlaying(false);\n const onTimeUpdate = () => {};\n const onVolumeChange = () => setCurrentVolume(audio.volume);\n const onRateChange = () => setPlaybackRate(audio.playbackRate);\n\n audio.addEventListener('play', onPlay);\n audio.addEventListener('pause', onPause);\n audio.addEventListener('ended', onEnded);\n audio.addEventListener('timeupdate', onTimeUpdate);\n audio.addEventListener('volumechange', onVolumeChange);\n audio.addEventListener('ratechange', onRateChange);\n\n return () => {\n audio.removeEventListener('play', onPlay);\n audio.removeEventListener('pause', onPause);\n audio.removeEventListener('ended', onEnded);\n audio.removeEventListener('timeupdate', onTimeUpdate);\n audio.removeEventListener('volumechange', onVolumeChange);\n audio.removeEventListener('ratechange', onRateChange);\n\n audio.pause();\n audio.remove();\n };\n }, [src]);\n\n const stop = () => {\n if (!audioRef.current) return;\n audioRef.current.pause();\n audioRef.current.currentTime = 0;\n };\n\n const play = async (spriteName?: string) => {\n if (!audioRef.current) return;\n if (options.interrupt) stop();\n\n if (!spriteName || !options.sprite?.[spriteName]) {\n await audioRef.current.play();\n return;\n }\n\n const [start, end] = options.sprite[spriteName];\n audioRef.current.currentTime = start;\n await audioRef.current.play();\n\n const checkTime = () => {\n if (!audioRef.current) return;\n if (audioRef.current.currentTime >= end) {\n stop();\n }\n\n if (!playing) return;\n\n requestAnimationFrame(checkTime);\n };\n\n requestAnimationFrame(checkTime);\n };\n\n const pause = () => audioRef.current?.pause();\n\n const setVolume = (value: number) => {\n if (!audioRef.current) return;\n const newVolume = Math.max(0, Math.min(1, value));\n audioRef.current.volume = newVolume;\n setCurrentVolume(newVolume);\n };\n\n const changePlaybackRate = (value: number) => {\n if (!audioRef.current) return;\n const newRate = Math.max(0.5, Math.min(2, value));\n audioRef.current.playbackRate = newRate;\n setPlaybackRate(newRate);\n };\n\n return {\n play,\n pause,\n stop,\n playing,\n setVolume,\n volume,\n changePlaybackRate,\n playbackRate\n };\n};\n"],"names":["useAudio","src","options","playing","setPlaying","useState","volume","setCurrentVolume","playbackRate","setPlaybackRate","audioRef","useRef","useEffect","audio","onPlay","onPause","onEnded","onTimeUpdate","onVolumeChange","onRateChange","stop","spriteName","start","end","checkTime","value","newVolume","newRate"],"mappings":"yGA8DaA,EAAW,CAACC,EAAaC,EAA2B,KAAuB,CACtF,KAAM,CAACC,EAASC,CAAU,EAAIC,EAAAA,SAAS,EAAK,EACtC,CAACC,EAAQC,CAAgB,EAAIF,EAAAA,SAASH,EAAQ,QAAU,CAAC,EACzD,CAACM,EAAcC,CAAe,EAAIJ,EAAAA,SAASH,EAAQ,cAAgB,CAAC,EAEpEQ,EAAWC,EAAAA,OAAgC,IAAI,EAErDC,EAAAA,UAAU,IAAM,CACd,MAAMC,EAAQ,IAAI,MAAMZ,CAAG,EAE3BY,EAAM,OAASP,EACfO,EAAM,aAAeL,EACrBE,EAAS,QAAUG,EAEfX,EAAQ,aAAaW,EAAM,KAAA,EAE/B,MAAMC,EAAS,IAAMV,EAAW,EAAI,EAC9BW,EAAU,IAAMX,EAAW,EAAK,EAChCY,EAAU,IAAMZ,EAAW,EAAK,EAChCa,EAAe,IAAM,CAAA,EACrBC,EAAiB,IAAMX,EAAiBM,EAAM,MAAM,EACpDM,EAAe,IAAMV,EAAgBI,EAAM,YAAY,EAE7D,OAAAA,EAAM,iBAAiB,OAAQC,CAAM,EACrCD,EAAM,iBAAiB,QAASE,CAAO,EACvCF,EAAM,iBAAiB,QAASG,CAAO,EACvCH,EAAM,iBAAiB,aAAcI,CAAY,EACjDJ,EAAM,iBAAiB,eAAgBK,CAAc,EACrDL,EAAM,iBAAiB,aAAcM,CAAY,EAE1C,IAAM,CACXN,EAAM,oBAAoB,OAAQC,CAAM,EACxCD,EAAM,oBAAoB,QAASE,CAAO,EAC1CF,EAAM,oBAAoB,QAASG,CAAO,EAC1CH,EAAM,oBAAoB,aAAcI,CAAY,EACpDJ,EAAM,oBAAoB,eAAgBK,CAAc,EACxDL,EAAM,oBAAoB,aAAcM,CAAY,EAEpDN,EAAM,MAAA,EACNA,EAAM,OAAA,CAAO,CACf,EACC,CAACZ,CAAG,CAAC,EAER,MAAMmB,EAAO,IAAM,CACZV,EAAS,UACdA,EAAS,QAAQ,MAAA,EACjBA,EAAS,QAAQ,YAAc,EAAA,EA8CjC,MAAO,CACL,KA5CW,MAAOW,GAAwB,CAC1C,GAAI,CAACX,EAAS,QAAS,OAGvB,GAFIR,EAAQ,WAAWkB,EAAA,EAEnB,CAACC,GAAc,CAACnB,EAAQ,SAASmB,CAAU,EAAG,CAChD,MAAMX,EAAS,QAAQ,KAAA,EACvB,MAAA,CAGF,KAAM,CAACY,EAAOC,CAAG,EAAIrB,EAAQ,OAAOmB,CAAU,EAC9CX,EAAS,QAAQ,YAAcY,EAC/B,MAAMZ,EAAS,QAAQ,KAAA,EAEvB,MAAMc,EAAY,IAAM,CACjBd,EAAS,UACVA,EAAS,QAAQ,aAAea,GAClCH,EAAA,EAGGjB,GAEL,sBAAsBqB,CAAS,EAAA,EAGjC,sBAAsBA,CAAS,CAAA,EAqB/B,MAlBY,IAAMd,EAAS,SAAS,MAAA,EAmBpC,KAAAU,EACA,QAAAjB,EACA,UAnBiBsB,GAAkB,CACnC,GAAI,CAACf,EAAS,QAAS,OACvB,MAAMgB,EAAY,KAAK,IAAI,EAAG,KAAK,IAAI,EAAGD,CAAK,CAAC,EAChDf,EAAS,QAAQ,OAASgB,EAC1BnB,EAAiBmB,CAAS,CAAA,EAgB1B,OAAApB,EACA,mBAd0BmB,GAAkB,CAC5C,GAAI,CAACf,EAAS,QAAS,OACvB,MAAMiB,EAAU,KAAK,IAAI,GAAK,KAAK,IAAI,EAAGF,CAAK,CAAC,EAChDf,EAAS,QAAQ,aAAeiB,EAChClB,EAAgBkB,CAAO,CAAA,EAWvB,aAAAnB,CAAA,CAEJ"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const L=require("react"),m=require("../useRefState/useRefState.cjs"),R=require("../../utils/helpers/isTarget.cjs"),q=require("../../utils/helpers/getElement.cjs"),H=(...n)=>{const c=R.isTarget(n[0])?n[0]:void 0,f=n[1]||(typeof n[0]=="object"?n[0]:{}),{enabled:v=!0}=f,l=m.useRefState(),o=L.useRef(f);if(o.current=f,L.useEffect(()=>{if(!v||!c&&!l.state)return;const e=c?q.getElement(c):l.state;if(!e)return;let s=!0,a=0,h=0;const g=()=>{if(o.current.force)return;const{scrollHeight:t,clientHeight:u,scrollTop:r}=e,i=t-u,d=i/2;console.log(i,r,d,r<h,i-r<=d),r<h?s=!1:i-r<=d&&(s=!0),h=r},S=t=>{o.current.force||(t.deltaY<0?s=!1:g())},E=t=>{o.current.force||(a=t.touches[0].clientY)},T=t=>{if(o.current.force)return;const u=t.touches[0].clientY;a-u<0?s=!1:g(),a=u},Y=()=>{!s&&!o.current.force||e.scrollTo({top:e.scrollHeight})};e.addEventListener("wheel",S),e.addEventListener("touchstart",E),e.addEventListener("touchmove",T);const b=new MutationObserver(Y);return b.observe(e,{childList:!0,subtree:!0,characterData:!0}),()=>{b.disconnect(),e.removeEventListener("wheel",S),e.removeEventListener("touchstart",E),e.removeEventListener("touchmove",T)}},[v,c,l.state]),!c)return l};exports.useAutoScroll=H;
|
|
2
|
+
//# sourceMappingURL=useAutoScroll.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAutoScroll.cjs","sources":["../../../../src/hooks/useAutoScroll/useAutoScroll.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nimport type { HookTarget } from '@/utils/helpers';\n\nimport { getElement, isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The use auto scroll options type */\nexport interface UseAutoScrollOptions {\n /** Whether auto-scrolling is enabled */\n enabled?: boolean;\n /** Whether to force auto-scrolling regardless of user interactions */\n force?: boolean;\n}\n\nexport interface UseAutoScroll {\n (target: HookTarget, options?: UseAutoScrollOptions): void;\n\n <Target extends HTMLElement>(options?: UseAutoScrollOptions): StateRef<Target>;\n}\n\n/**\n * @name useAutoScroll\n * @description - Hook that automatically scrolls a list element to the bottom\n * @category Sensors\n *\n * @overload\n * @param {HookTarget} target The target element to auto-scroll\n * @param {boolean} [options.enabled] Whether auto-scrolling is enabled\n * @returns {void}\n *\n * @example\n * useAutoScroll(ref);\n *\n * @overload\n * @template Target\n * @param {boolean} [options.enabled] Whether auto-scrolling is enabled\n * @returns {StateRef<Target>} A React ref to attach to the list element\n *\n * @example\n * const ref = useAutoScroll();\n */\nexport const useAutoScroll = ((...params: any[]) => {\n const target = isTarget(params[0]) ? params[0] : undefined;\n const options = (params[1] ||\n (typeof params[0] === 'object' ? params[0] : {})) as UseAutoScrollOptions;\n const { enabled = true } = options;\n\n const internalRef = useRefState<HTMLElement>();\n const internalOptionsRef = useRef<UseAutoScrollOptions>(options);\n internalOptionsRef.current = options;\n\n useEffect(() => {\n if (!enabled || (!target && !internalRef.state)) return;\n\n const element = (target ? getElement(target) : internalRef.state) as HTMLElement;\n\n if (!element) return;\n\n let shouldAutoScroll = true;\n let touchStartY = 0;\n let lastScrollTop = 0;\n\n const onCheckScrollPosition = () => {\n if (internalOptionsRef.current.force) return;\n\n const { scrollHeight, clientHeight, scrollTop } = element;\n const maxScrollHeight = scrollHeight - clientHeight;\n const scrollThreshold = maxScrollHeight / 2;\n console.log(\n maxScrollHeight,\n scrollTop,\n scrollThreshold,\n scrollTop < lastScrollTop,\n maxScrollHeight - scrollTop <= scrollThreshold\n );\n\n if (scrollTop < lastScrollTop) shouldAutoScroll = false;\n else if (maxScrollHeight - scrollTop <= scrollThreshold) shouldAutoScroll = true;\n\n lastScrollTop = scrollTop;\n };\n\n const onWheel = (event: WheelEvent) => {\n if (internalOptionsRef.current.force) return;\n\n if (event.deltaY < 0) shouldAutoScroll = false;\n else onCheckScrollPosition();\n };\n\n const onTouchStart = (event: TouchEvent) => {\n if (internalOptionsRef.current.force) return;\n touchStartY = event.touches[0].clientY;\n };\n\n const onTouchMove = (event: TouchEvent) => {\n if (internalOptionsRef.current.force) return;\n\n const touchEndY = event.touches[0].clientY;\n const deltaY = touchStartY - touchEndY;\n\n if (deltaY < 0) shouldAutoScroll = false;\n else onCheckScrollPosition();\n\n touchStartY = touchEndY;\n };\n\n const onMutation = () => {\n if (!shouldAutoScroll && !internalOptionsRef.current.force) return;\n element.scrollTo({ top: element.scrollHeight });\n };\n\n element.addEventListener('wheel', onWheel);\n element.addEventListener('touchstart', onTouchStart);\n element.addEventListener('touchmove', onTouchMove);\n\n const observer = new MutationObserver(onMutation);\n\n observer.observe(element, {\n childList: true,\n subtree: true,\n characterData: true\n });\n\n return () => {\n observer.disconnect();\n element.removeEventListener('wheel', onWheel);\n element.removeEventListener('touchstart', onTouchStart);\n element.removeEventListener('touchmove', onTouchMove);\n };\n }, [enabled, target, internalRef.state]);\n\n if (target) return;\n return internalRef;\n}) as UseAutoScroll;\n"],"names":["useAutoScroll","params","target","isTarget","options","enabled","internalRef","useRefState","internalOptionsRef","useRef","useEffect","element","getElement","shouldAutoScroll","touchStartY","lastScrollTop","onCheckScrollPosition","scrollHeight","clientHeight","scrollTop","maxScrollHeight","scrollThreshold","onWheel","event","onTouchStart","onTouchMove","touchEndY","onMutation","observer"],"mappings":"mPA6CaA,EAAiB,IAAIC,IAAkB,CAClD,MAAMC,EAASC,EAAAA,SAASF,EAAO,CAAC,CAAC,EAAIA,EAAO,CAAC,EAAI,OAC3CG,EAAWH,EAAO,CAAC,IACtB,OAAOA,EAAO,CAAC,GAAM,SAAWA,EAAO,CAAC,EAAI,CAAA,GACzC,CAAE,QAAAI,EAAU,EAAA,EAASD,EAErBE,EAAcC,EAAAA,YAAA,EACdC,EAAqBC,EAAAA,OAA6BL,CAAO,EAmF/D,GAlFAI,EAAmB,QAAUJ,EAE7BM,EAAAA,UAAU,IAAM,CACd,GAAI,CAACL,GAAY,CAACH,GAAU,CAACI,EAAY,MAAQ,OAEjD,MAAMK,EAAWT,EAASU,EAAAA,WAAWV,CAAM,EAAII,EAAY,MAE3D,GAAI,CAACK,EAAS,OAEd,IAAIE,EAAmB,GACnBC,EAAc,EACdC,EAAgB,EAEpB,MAAMC,EAAwB,IAAM,CAClC,GAAIR,EAAmB,QAAQ,MAAO,OAEtC,KAAM,CAAE,aAAAS,EAAc,aAAAC,EAAc,UAAAC,CAAA,EAAcR,EAC5CS,EAAkBH,EAAeC,EACjCG,EAAkBD,EAAkB,EAC1C,QAAQ,IACNA,EACAD,EACAE,EACAF,EAAYJ,EACZK,EAAkBD,GAAaE,CAAA,EAG7BF,EAAYJ,EAAeF,EAAmB,GACzCO,EAAkBD,GAAaE,IAAiBR,EAAmB,IAE5EE,EAAgBI,CAAA,EAGZG,EAAWC,GAAsB,CACjCf,EAAmB,QAAQ,QAE3Be,EAAM,OAAS,EAAGV,EAAmB,GACpCG,EAAA,EAAsB,EAGvBQ,EAAgBD,GAAsB,CACtCf,EAAmB,QAAQ,QAC/BM,EAAcS,EAAM,QAAQ,CAAC,EAAE,QAAA,EAG3BE,EAAeF,GAAsB,CACzC,GAAIf,EAAmB,QAAQ,MAAO,OAEtC,MAAMkB,EAAYH,EAAM,QAAQ,CAAC,EAAE,QACpBT,EAAcY,EAEhB,EAAGb,EAAmB,GAC9BG,EAAA,EAELF,EAAcY,CAAA,EAGVC,EAAa,IAAM,CACnB,CAACd,GAAoB,CAACL,EAAmB,QAAQ,OACrDG,EAAQ,SAAS,CAAE,IAAKA,EAAQ,aAAc,CAAA,EAGhDA,EAAQ,iBAAiB,QAASW,CAAO,EACzCX,EAAQ,iBAAiB,aAAca,CAAY,EACnDb,EAAQ,iBAAiB,YAAac,CAAW,EAEjD,MAAMG,EAAW,IAAI,iBAAiBD,CAAU,EAEhD,OAAAC,EAAS,QAAQjB,EAAS,CACxB,UAAW,GACX,QAAS,GACT,cAAe,EAAA,CAChB,EAEM,IAAM,CACXiB,EAAS,WAAA,EACTjB,EAAQ,oBAAoB,QAASW,CAAO,EAC5CX,EAAQ,oBAAoB,aAAca,CAAY,EACtDb,EAAQ,oBAAoB,YAAac,CAAW,CAAA,CACtD,EACC,CAACpB,EAASH,EAAQI,EAAY,KAAK,CAAC,EAEnC,CAAAJ,EACJ,OAAOI,CACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBattery.cjs","sources":["../../../../src/hooks/useBattery/useBattery.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nexport interface BatteryManager extends EventTarget {\n charging: boolean;\n chargingTime: number;\n dischargingTime: number;\n level: number;\n}\n\ndeclare global {\n interface Navigator {\n readonly getBattery: () => Promise<BatteryManager>;\n }\n}\n\n/** The use battery value type */\nexport interface UseBatteryValue {\n /** Is charging battery? */\n charging: boolean;\n /** Time until the battery is fully charged */\n chargingTime: number;\n /** Time until the battery is completely discharged */\n dischargingTime: number;\n /** Battery charge level from 0 to 1 */\n level: number;\n /** Is battery information loading? */\n loading: boolean;\n}\n\n/** The use battery return type */\nexport interface UseBatteryStateReturn {\n /** Whether the battery api is supported*/\n supported: boolean;\n /** The use battery value type */\n value: UseBatteryValue;\n}\n\n/**\n * @name useBattery\n * @description - Hook for getting information about battery status\n * @category Browser\n *\n * @browserapi navigator.getBattery https://developer.mozilla.org/en-US/docs/Web/API/Navigator/getBattery\n *\n * @returns {UseBatteryStateReturn} Object containing battery information & Battery API support\n *\n * @example\n * const { supported, loading, charging, chargingTime, dischargingTime, level } = useBattery();\n */\nexport const useBattery = (): UseBatteryStateReturn => {\n const supported =\n typeof navigator !== 'undefined' &&\n 'getBattery' in navigator &&\n typeof navigator.getBattery === 'function';\n const [value, setValue] = useState<UseBatteryValue>({\n loading: supported,\n level: 0,\n charging: false,\n chargingTime: 0,\n dischargingTime: 0\n });\n\n useEffect(() => {\n if (!supported) return;\n let battery: BatteryManager | null;\n\n const onChange = () =>\n setValue({\n loading: false,\n level: battery?.level ?? 0,\n charging: battery?.charging ?? false,\n dischargingTime: battery?.dischargingTime ?? 0,\n chargingTime: battery?.chargingTime ?? 0\n });\n\n navigator.getBattery().then((batteryManager) => {\n battery = batteryManager;\n onChange();\n\n battery.addEventListener('levelchange', onChange);\n battery.addEventListener('chargingchange', onChange);\n battery.addEventListener('chargingtimechange', onChange);\n battery.addEventListener('dischargingtimechange', onChange);\n });\n\n return () => {\n if (!battery) return;\n console.log('unmount', battery);\n battery.removeEventListener('levelchange', onChange);\n battery.removeEventListener('chargingchange', onChange);\n battery.removeEventListener('chargingtimechange', onChange);\n battery.removeEventListener('dischargingtimechange', onChange);\n };\n }, []);\n\n return { supported, value };\n};\n"],"names":["useBattery","supported","value","setValue","useState","useEffect","battery","onChange","batteryManager"],"mappings":"yGAiDaA,EAAa,IAA6B,CACrD,MAAMC,EACJ,OAAO,UAAc,KACrB,eAAgB,WAChB,OAAO,UAAU,YAAe,WAC5B,CAACC,EAAOC,CAAQ,EAAIC,WAA0B,CAClD,QAASH,EACT,MAAO,EACP,SAAU,GACV,aAAc,EACd,gBAAiB,CAAA,CAClB,EAEDI,OAAAA,EAAAA,UAAU,IAAM,CACd,GAAI,CAACJ,EAAW,
|
|
1
|
+
{"version":3,"file":"useBattery.cjs","sources":["../../../../src/hooks/useBattery/useBattery.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nexport interface BatteryManager extends EventTarget {\n charging: boolean;\n chargingTime: number;\n dischargingTime: number;\n level: number;\n}\n\ndeclare global {\n interface Navigator {\n readonly getBattery: () => Promise<BatteryManager>;\n }\n}\n\n/** The use battery value type */\nexport interface UseBatteryValue {\n /** Is charging battery? */\n charging: boolean;\n /** Time until the battery is fully charged */\n chargingTime: number;\n /** Time until the battery is completely discharged */\n dischargingTime: number;\n /** Battery charge level from 0 to 1 */\n level: number;\n /** Is battery information loading? */\n loading: boolean;\n}\n\n/** The use battery return type */\nexport interface UseBatteryStateReturn {\n /** Whether the battery api is supported*/\n supported: boolean;\n /** The use battery value type */\n value: UseBatteryValue;\n}\n\n/**\n * @name useBattery\n * @description - Hook for getting information about battery status\n * @category Browser\n *\n * @browserapi navigator.getBattery https://developer.mozilla.org/en-US/docs/Web/API/Navigator/getBattery\n *\n * @returns {UseBatteryStateReturn} Object containing battery information & Battery API support\n *\n * @example\n * const { supported, loading, charging, chargingTime, dischargingTime, level } = useBattery();\n */\nexport const useBattery = (): UseBatteryStateReturn => {\n const supported =\n typeof navigator !== 'undefined' &&\n 'getBattery' in navigator &&\n typeof navigator.getBattery === 'function';\n const [value, setValue] = useState<UseBatteryValue>({\n loading: supported,\n level: 0,\n charging: false,\n chargingTime: 0,\n dischargingTime: 0\n });\n\n useEffect(() => {\n if (!supported) return;\n\n let battery: BatteryManager | null;\n\n const onChange = () =>\n setValue({\n loading: false,\n level: battery?.level ?? 0,\n charging: battery?.charging ?? false,\n dischargingTime: battery?.dischargingTime ?? 0,\n chargingTime: battery?.chargingTime ?? 0\n });\n\n navigator.getBattery().then((batteryManager) => {\n battery = batteryManager;\n onChange();\n\n battery.addEventListener('levelchange', onChange);\n battery.addEventListener('chargingchange', onChange);\n battery.addEventListener('chargingtimechange', onChange);\n battery.addEventListener('dischargingtimechange', onChange);\n });\n\n return () => {\n if (!battery) return;\n console.log('unmount', battery);\n battery.removeEventListener('levelchange', onChange);\n battery.removeEventListener('chargingchange', onChange);\n battery.removeEventListener('chargingtimechange', onChange);\n battery.removeEventListener('dischargingtimechange', onChange);\n };\n }, []);\n\n return { supported, value };\n};\n"],"names":["useBattery","supported","value","setValue","useState","useEffect","battery","onChange","batteryManager"],"mappings":"yGAiDaA,EAAa,IAA6B,CACrD,MAAMC,EACJ,OAAO,UAAc,KACrB,eAAgB,WAChB,OAAO,UAAU,YAAe,WAC5B,CAACC,EAAOC,CAAQ,EAAIC,WAA0B,CAClD,QAASH,EACT,MAAO,EACP,SAAU,GACV,aAAc,EACd,gBAAiB,CAAA,CAClB,EAEDI,OAAAA,EAAAA,UAAU,IAAM,CACd,GAAI,CAACJ,EAAW,OAEhB,IAAIK,EAEJ,MAAMC,EAAW,IACfJ,EAAS,CACP,QAAS,GACT,MAAOG,GAAS,OAAS,EACzB,SAAUA,GAAS,UAAY,GAC/B,gBAAiBA,GAAS,iBAAmB,EAC7C,aAAcA,GAAS,cAAgB,CAAA,CACxC,EAEH,iBAAU,WAAA,EAAa,KAAME,GAAmB,CAC9CF,EAAUE,EACVD,EAAA,EAEAD,EAAQ,iBAAiB,cAAeC,CAAQ,EAChDD,EAAQ,iBAAiB,iBAAkBC,CAAQ,EACnDD,EAAQ,iBAAiB,qBAAsBC,CAAQ,EACvDD,EAAQ,iBAAiB,wBAAyBC,CAAQ,CAAA,CAC3D,EAEM,IAAM,CACND,IACL,QAAQ,IAAI,UAAWA,CAAO,EAC9BA,EAAQ,oBAAoB,cAAeC,CAAQ,EACnDD,EAAQ,oBAAoB,iBAAkBC,CAAQ,EACtDD,EAAQ,oBAAoB,qBAAsBC,CAAQ,EAC1DD,EAAQ,oBAAoB,wBAAyBC,CAAQ,EAAA,CAC/D,EACC,EAAE,EAEE,CAAE,UAAAN,EAAW,MAAAC,CAAA,CACtB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react"),l=require("../useRefState/useRefState.cjs"),a=require("../../utils/helpers/isTarget.cjs"),f=require("../../utils/helpers/getElement.cjs"),d=(...e)=>{const t=a.isTarget(e[0])?e[0]:void 0,r=e[1]?e[1]:e[0],n=l.useRefState(),c=o.useRef(r);if(c.current=r,o.useEffect(()=>{if(!t&&!n.state)return;const i=s=>{const u=t?f.getElement(t):n.current;u&&!u.contains(s.target)&&c.current(s)};return document.addEventListener("click",i),()=>{document.removeEventListener("click",i)}},[t,n.state]),!t)return n};exports.useClickOutside=d;
|
|
2
2
|
//# sourceMappingURL=useClickOutside.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useClickOutside.cjs","sources":["../../../../src/hooks/useClickOutside/useClickOutside.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nimport type { HookTarget } from '@/utils/helpers';\n\nimport { getElement, isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\nexport interface UseClickOutside {\n (target: HookTarget, callback: (event: Event) => void): void;\n\n <Target extends Element>(callback: (event: Event) => void, target?: never): StateRef<Target>;\n}\n\n/**\n * @name useClickOutside\n * @description - Hook to handle click events outside the specified target element(s)\n * @category Sensors\n *\n * @overload\n * @param {HookTarget} target The target element(s) to detect outside clicks for\n * @param {(event: Event) => void} callback The callback to execute when a click outside the target is detected\n * @returns {void}\n *\n * @example\n * useClickOutside(ref, () => console.log('click outside'));\n *\n * @overload\n * @template Target The target element(s)\n * @param {(event: Event) => void} callback The callback to execute when a click outside the target is detected\n * @returns {(node: Target) => void} A React ref to attach to the target element\n *\n * @example\n * const ref = useClickOutside<HTMLDivElement>(() => console.log('click outside'));\n *\n * @see {@link https://siberiacancode.github.io/reactuse/functions/hooks/useClickOutside.html}\n */\nexport const useClickOutside = ((...params: any[]) => {\n const target = (isTarget(params[0]) ? params[0] : undefined) as HookTarget | undefined;\n const callback = (params[1] ? params[1] : params[0]) as (event: Event) => void;\n\n const internalRef = useRefState<Element>();\n const internalCallbackRef = useRef(callback);\n internalCallbackRef.current = callback;\n\n useEffect(() => {\n
|
|
1
|
+
{"version":3,"file":"useClickOutside.cjs","sources":["../../../../src/hooks/useClickOutside/useClickOutside.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nimport type { HookTarget } from '@/utils/helpers';\n\nimport { getElement, isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\nexport interface UseClickOutside {\n (target: HookTarget, callback: (event: Event) => void): void;\n\n <Target extends Element>(callback: (event: Event) => void, target?: never): StateRef<Target>;\n}\n\n/**\n * @name useClickOutside\n * @description - Hook to handle click events outside the specified target element(s)\n * @category Sensors\n *\n * @overload\n * @param {HookTarget} target The target element(s) to detect outside clicks for\n * @param {(event: Event) => void} callback The callback to execute when a click outside the target is detected\n * @returns {void}\n *\n * @example\n * useClickOutside(ref, () => console.log('click outside'));\n *\n * @overload\n * @template Target The target element(s)\n * @param {(event: Event) => void} callback The callback to execute when a click outside the target is detected\n * @returns {(node: Target) => void} A React ref to attach to the target element\n *\n * @example\n * const ref = useClickOutside<HTMLDivElement>(() => console.log('click outside'));\n *\n * @see {@link https://siberiacancode.github.io/reactuse/functions/hooks/useClickOutside.html}\n */\nexport const useClickOutside = ((...params: any[]) => {\n const target = (isTarget(params[0]) ? params[0] : undefined) as HookTarget | undefined;\n const callback = (params[1] ? params[1] : params[0]) as (event: Event) => void;\n\n const internalRef = useRefState<Element>();\n const internalCallbackRef = useRef(callback);\n internalCallbackRef.current = callback;\n\n useEffect(() => {\n if (!target && !internalRef.state) return;\n const onClick = (event: Event) => {\n const element = (target ? getElement(target) : internalRef.current) as Element;\n\n if (element && !element.contains(event.target as Node)) {\n internalCallbackRef.current(event);\n }\n };\n\n document.addEventListener('click', onClick);\n\n return () => {\n document.removeEventListener('click', onClick);\n };\n }, [target, internalRef.state]);\n\n if (target) return;\n return internalRef;\n}) as UseClickOutside;\n"],"names":["useClickOutside","params","target","isTarget","callback","internalRef","useRefState","internalCallbackRef","useRef","useEffect","onClick","event","element","getElement"],"mappings":"mPAuCaA,EAAmB,IAAIC,IAAkB,CACpD,MAAMC,EAAUC,EAAAA,SAASF,EAAO,CAAC,CAAC,EAAIA,EAAO,CAAC,EAAI,OAC5CG,EAAYH,EAAO,CAAC,EAAIA,EAAO,CAAC,EAAIA,EAAO,CAAC,EAE5CI,EAAcC,EAAAA,YAAA,EACdC,EAAsBC,EAAAA,OAAOJ,CAAQ,EAoB3C,GAnBAG,EAAoB,QAAUH,EAE9BK,EAAAA,UAAU,IAAM,CACd,GAAI,CAACP,GAAU,CAACG,EAAY,MAAO,OACnC,MAAMK,EAAWC,GAAiB,CAChC,MAAMC,EAAWV,EAASW,EAAAA,WAAWX,CAAM,EAAIG,EAAY,QAEvDO,GAAW,CAACA,EAAQ,SAASD,EAAM,MAAc,GACnDJ,EAAoB,QAAQI,CAAK,CACnC,EAGF,gBAAS,iBAAiB,QAASD,CAAO,EAEnC,IAAM,CACX,SAAS,oBAAoB,QAASA,CAAO,CAAA,CAC/C,EACC,CAACR,EAAQG,EAAY,KAAK,CAAC,EAE1B,CAAAH,EACJ,OAAOG,CACT"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react"),s=e=>{const t=r.useRef(e);return t.current=e,r.useCallback((...n)=>{const u=t.current;return u(...n)},[])};exports.useEvent=s;
|
|
2
2
|
//# sourceMappingURL=useEvent.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEvent.cjs","sources":["../../../../src/hooks/useEvent/useEvent.ts"],"sourcesContent":["import { useCallback, useRef } from 'react';\n\n/**\n * @name useEvent\n * @description - Hook that creates an event and returns a stable reference of it\n * @category Browser\n *\n * @template Params The type of the params\n * @template Return The type of the return\n * @param {(...args: Params) => Return} callback The callback function\n * @returns {(...args: Params) => Return} The callback\n *\n * @example\n * const onClick = useEvent(() => console.log('clicked'));\n */\nexport const useEvent = <Params extends unknown[], Return>(\n callback: (...args: Params) => Return\n): ((...args: Params) => Return) => {\n const
|
|
1
|
+
{"version":3,"file":"useEvent.cjs","sources":["../../../../src/hooks/useEvent/useEvent.ts"],"sourcesContent":["import { useCallback, useRef } from 'react';\n\n/**\n * @name useEvent\n * @description - Hook that creates an event and returns a stable reference of it\n * @category Browser\n *\n * @template Params The type of the params\n * @template Return The type of the return\n * @param {(...args: Params) => Return} callback The callback function\n * @returns {(...args: Params) => Return} The callback\n *\n * @example\n * const onClick = useEvent(() => console.log('clicked'));\n */\nexport const useEvent = <Params extends unknown[], Return>(\n callback: (...args: Params) => Return\n): ((...args: Params) => Return) => {\n const internalCallbackRef = useRef<typeof callback>(callback);\n internalCallbackRef.current = callback;\n\n return useCallback((...args) => {\n const fn = internalCallbackRef.current;\n return fn(...args);\n }, []);\n};\n"],"names":["useEvent","callback","internalCallbackRef","useRef","useCallback","args","fn"],"mappings":"yGAeaA,EACXC,GACkC,CAClC,MAAMC,EAAsBC,EAAAA,OAAwBF,CAAQ,EAC5D,OAAAC,EAAoB,QAAUD,EAEvBG,EAAAA,YAAY,IAAIC,IAAS,CAC9B,MAAMC,EAAKJ,EAAoB,QAC/B,OAAOI,EAAG,GAAGD,CAAI,CAAA,EAChB,EAAE,CACP"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),v=require("../useRefState/useRefState.cjs"),E=require("../../utils/helpers/isTarget.cjs"),g=require("../../utils/helpers/getElement.cjs"),R=(...n)=>{const e=E.isTarget(n[0])?n[0]:void 0,y=e?n[1]:n[0],f=e?n[2]:n[1],[a,
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),v=require("../useRefState/useRefState.cjs"),E=require("../../utils/helpers/isTarget.cjs"),g=require("../../utils/helpers/getElement.cjs"),R=(...n)=>{const e=E.isTarget(n[0])?n[0]:void 0,y=e?n[1]:n[0],f=e?n[2]:n[1],[a,l]=u.useState(!1),c=v.useRefState(window),t=u.useRef(y);t.current=y;const o=u.useRef(f);return o.current=f,u.useEffect(()=>{if(!e&&!c.state)return;const s=e?g.getElement(e):c.current;if(!s)return;const d=i=>{const r=i;(Array.isArray(t.current)?t.current.includes(r.key):r.key===t.current)&&(l(!0),o.current?.(!0,r))},k=i=>{const r=i;(Array.isArray(t.current)?t.current.includes(r.key):r.key===t.current)&&(l(!1),o.current?.(!1,r))};return s.addEventListener("keydown",d),s.addEventListener("keyup",k),()=>{s.removeEventListener("keydown",d),s.removeEventListener("keyup",k)}},[e,c.state]),e?a:{pressed:a,ref:c}};exports.useKeyPress=R;
|
|
2
2
|
//# sourceMappingURL=useKeyPress.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useKeyPress.cjs","sources":["../../../../src/hooks/useKeyPress/useKeyPress.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport type { HookTarget } from '@/utils/helpers';\n\nimport { getElement, isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The key or keys to listen for */\nexport type UseKeyPressKey = string | string[];\n\n/** The callback function to be invoked when key is pressed */\nexport type UseKeyPressCallback = (pressed: boolean, event: KeyboardEvent) => void;\n\nexport interface UseKeyPress {\n (target: HookTarget | Window, key: UseKeyPressKey, callback?: UseKeyPressCallback): boolean;\n\n <Target extends Element>(\n key: UseKeyPressKey,\n callback?: UseKeyPressCallback,\n target?: never\n ): { pressed: boolean; ref: StateRef<Target> };\n}\n\n/**\n * @name useKeyPress\n * @description - Hook that listens for key press events\n * @category Sensors\n *\n * @overload\n * @param {HookTarget} [target=window] The target to attach the event listeners to\n * @param {UseKeyPressKey} key The key or keys to listen for\n * @param {(pressed: boolean, event: KeyboardEvent) => void} [callback] Callback function invoked when key is pressed\n * @returns {boolean} The pressed state of the key\n *\n * @example\n * const isKeyPressed = useKeyPress('a'
|
|
1
|
+
{"version":3,"file":"useKeyPress.cjs","sources":["../../../../src/hooks/useKeyPress/useKeyPress.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport type { HookTarget } from '@/utils/helpers';\n\nimport { getElement, isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The key or keys to listen for */\nexport type UseKeyPressKey = string | string[];\n\n/** The callback function to be invoked when key is pressed */\nexport type UseKeyPressCallback = (pressed: boolean, event: KeyboardEvent) => void;\n\nexport interface UseKeyPress {\n (target: HookTarget | Window, key: UseKeyPressKey, callback?: UseKeyPressCallback): boolean;\n\n <Target extends Element>(\n key: UseKeyPressKey,\n callback?: UseKeyPressCallback,\n target?: never\n ): { pressed: boolean; ref: StateRef<Target> };\n}\n\n/**\n * @name useKeyPress\n * @description - Hook that listens for key press events\n * @category Sensors\n *\n * @overload\n * @param {HookTarget} [target=window] The target to attach the event listeners to\n * @param {UseKeyPressKey} key The key or keys to listen for\n * @param {(pressed: boolean, event: KeyboardEvent) => void} [callback] Callback function invoked when key is pressed\n * @returns {boolean} The pressed state of the key\n *\n * @example\n * const isKeyPressed = useKeyPress(ref, 'a');\n *\n * @overload\n * @template Target The target element type\n * @param {UseKeyPressKey} key The key or keys to listen for\n * @param {(pressed: boolean, event: KeyboardEvent) => void} [callback] Callback function invoked when key is pressed\n * @returns {{ pressed: boolean; ref: StateRef<Target> }} An object containing the pressed state and ref\n *\n * @example\n * const { pressed, ref } = useKeyPress('a');\n */\nexport const useKeyPress = ((...params: any[]) => {\n const target = isTarget(params[0]) ? params[0] : undefined;\n const key = (target ? params[1] : params[0]) as UseKeyPressKey;\n const callback = (target ? params[2] : params[1]) as UseKeyPressCallback | undefined;\n\n const [pressed, setPressed] = useState(false);\n const internalRef = useRefState(window);\n\n const keyRef = useRef(key);\n keyRef.current = key;\n const internalCallbackRef = useRef(callback);\n internalCallbackRef.current = callback;\n\n useEffect(() => {\n if (!target && !internalRef.state) return;\n\n const element = (target ? getElement(target) : internalRef.current) as Element;\n if (!element) return;\n\n const onKeyDown = (event: Event) => {\n const keyboardEvent = event as KeyboardEvent;\n if (\n Array.isArray(keyRef.current)\n ? keyRef.current.includes(keyboardEvent.key)\n : keyboardEvent.key === keyRef.current\n ) {\n setPressed(true);\n internalCallbackRef.current?.(true, keyboardEvent);\n }\n };\n\n const onKeyUp = (event: Event) => {\n const keyboardEvent = event as KeyboardEvent;\n if (\n Array.isArray(keyRef.current)\n ? keyRef.current.includes(keyboardEvent.key)\n : keyboardEvent.key === keyRef.current\n ) {\n setPressed(false);\n internalCallbackRef.current?.(false, keyboardEvent);\n }\n };\n\n element.addEventListener('keydown', onKeyDown);\n element.addEventListener('keyup', onKeyUp);\n\n return () => {\n element.removeEventListener('keydown', onKeyDown);\n element.removeEventListener('keyup', onKeyUp);\n };\n }, [target, internalRef.state]);\n\n if (target) return pressed;\n return { pressed, ref: internalRef };\n}) as UseKeyPress;\n"],"names":["useKeyPress","params","target","isTarget","key","callback","pressed","setPressed","useState","internalRef","useRefState","keyRef","useRef","internalCallbackRef","useEffect","element","getElement","onKeyDown","event","keyboardEvent","onKeyUp"],"mappings":"mPAiDaA,EAAe,IAAIC,IAAkB,CAChD,MAAMC,EAASC,EAAAA,SAASF,EAAO,CAAC,CAAC,EAAIA,EAAO,CAAC,EAAI,OAC3CG,EAAOF,EAASD,EAAO,CAAC,EAAIA,EAAO,CAAC,EACpCI,EAAYH,EAASD,EAAO,CAAC,EAAIA,EAAO,CAAC,EAEzC,CAACK,EAASC,CAAU,EAAIC,EAAAA,SAAS,EAAK,EACtCC,EAAcC,EAAAA,YAAY,MAAM,EAEhCC,EAASC,EAAAA,OAAOR,CAAG,EACzBO,EAAO,QAAUP,EACjB,MAAMS,EAAsBD,EAAAA,OAAOP,CAAQ,EA0C3C,OAzCAQ,EAAoB,QAAUR,EAE9BS,EAAAA,UAAU,IAAM,CACd,GAAI,CAACZ,GAAU,CAACO,EAAY,MAAO,OAEnC,MAAMM,EAAWb,EAASc,EAAAA,WAAWd,CAAM,EAAIO,EAAY,QAC3D,GAAI,CAACM,EAAS,OAEd,MAAME,EAAaC,GAAiB,CAClC,MAAMC,EAAgBD,GAEpB,MAAM,QAAQP,EAAO,OAAO,EACxBA,EAAO,QAAQ,SAASQ,EAAc,GAAG,EACzCA,EAAc,MAAQR,EAAO,WAEjCJ,EAAW,EAAI,EACfM,EAAoB,UAAU,GAAMM,CAAa,EACnD,EAGIC,EAAWF,GAAiB,CAChC,MAAMC,EAAgBD,GAEpB,MAAM,QAAQP,EAAO,OAAO,EACxBA,EAAO,QAAQ,SAASQ,EAAc,GAAG,EACzCA,EAAc,MAAQR,EAAO,WAEjCJ,EAAW,EAAK,EAChBM,EAAoB,UAAU,GAAOM,CAAa,EACpD,EAGF,OAAAJ,EAAQ,iBAAiB,UAAWE,CAAS,EAC7CF,EAAQ,iBAAiB,QAASK,CAAO,EAElC,IAAM,CACXL,EAAQ,oBAAoB,UAAWE,CAAS,EAChDF,EAAQ,oBAAoB,QAASK,CAAO,CAAA,CAC9C,EACC,CAAClB,EAAQO,EAAY,KAAK,CAAC,EAE1BP,EAAeI,EACZ,CAAE,QAAAA,EAAS,IAAKG,CAAA,CACzB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("react"),f=require("../useRefState/useRefState.cjs"),d=require("../../utils/helpers/isTarget.cjs"),l=require("../../utils/helpers/getElement.cjs"),v=(...e)=>{const t=d.isTarget(e[0])?e[0]:void 0,s=t?typeof e[1]=="object"?e[1]:{onKeyDown:e[1]}:typeof e[0]=="object"?e[0]:{onKeyDown:e[0]},o=f.useRefState(window),r=y.useRef(s);if(r.current=s,y.useEffect(()=>{if(!t&&!o.state)return;const n=t?l.getElement(t):o.current;if(!n)return;const c=u=>r.current?.onKeyDown?.(u),i=u=>r.current?.onKeyUp?.(u);return n.addEventListener("keydown",c),n.addEventListener("keyup",i),()=>{n.removeEventListener("keydown",c),n.removeEventListener("keyup",i)}},[t,o.state]),!t)return o};exports.useKeyboard=v;
|
|
2
2
|
//# sourceMappingURL=useKeyboard.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useKeyboard.cjs","sources":["../../../../src/hooks/useKeyboard/useKeyboard.ts"],"sourcesContent":["import { useEffect } from 'react';\n\nimport type { HookTarget } from '@/utils/helpers';\n\nimport { getElement, isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The keyboard event handler type */\nexport type KeyboardEventHandler = (event: KeyboardEvent) => void;\n\n/** The use keyboard options type */\nexport interface
|
|
1
|
+
{"version":3,"file":"useKeyboard.cjs","sources":["../../../../src/hooks/useKeyboard/useKeyboard.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nimport type { HookTarget } from '@/utils/helpers';\n\nimport { getElement, isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The use keyboard event handler type */\nexport type KeyboardEventHandler = (event: KeyboardEvent) => void;\n\n/** The use keyboard event options type */\nexport interface UseKeyboardEventOptions {\n /** The callback function to be invoked on key down */\n onKeyDown?: KeyboardEventHandler;\n /** The callback function to be invoked on key up */\n onKeyUp?: KeyboardEventHandler;\n}\n\nexport interface UseKeyboard {\n (target: HookTarget, callback: KeyboardEventHandler): void;\n\n (target: HookTarget, options: UseKeyboardEventOptions): void;\n\n <Target extends HTMLElement>(\n callback: KeyboardEventHandler,\n target?: never\n ): { ref: StateRef<Target> };\n\n <Target extends HTMLElement>(\n options: UseKeyboardEventOptions,\n target?: never\n ): {\n ref: StateRef<Target>;\n };\n}\n\n/**\n * @name useKeyboard\n * @description - Hook that helps to listen for keyboard events\n * @category Sensors\n *\n * @overload\n * @param {HookTarget} target The target to attach the event listeners to\n * @param {KeyboardEventHandler} callback The callback function to be invoked on key down\n * @returns {void}\n *\n * @example\n * useKeyboard(ref, (event) => console.log('key down'));\n *\n * @overload\n * @param {HookTarget} target The target to attach the event listeners to\n * @param {UseKeyboardEventOptions} [options] The keyboard event options\n * @returns {void}\n *\n * @example\n * useKeyboard(ref, { onKeyDown: (event) => console.log('key down'), onKeyUp: (event) => console.log('key up') });\n *\n * @overload\n * @template Target The target element type\n * @param {KeyboardEventHandler} callback The callback function to be invoked on key down\n * @returns {{ ref: StateRef<Target> }} An object containing the ref\n *\n * @example\n * const ref = useKeyboard((event) => console.log('key down'));\n *\n * @overload\n * @template Target The target element type\n * @param {UseKeyboardEventOptions} [options] The keyboard event options\n * @returns {{ ref: StateRef<Target> }} An object containing the ref\n *\n * @example\n * const ref = useKeyboard({ onKeyDown: (event) => console.log('key down'), onKeyUp: (event) => console.log('key up') });\n */\nexport const useKeyboard = ((...params: any[]) => {\n const target = isTarget(params[0]) ? params[0] : undefined;\n const options = (\n target\n ? typeof params[1] === 'object'\n ? params[1]\n : { onKeyDown: params[1] }\n : typeof params[0] === 'object'\n ? params[0]\n : { onKeyDown: params[0] }\n ) as UseKeyboardEventOptions;\n\n const internalRef = useRefState(window);\n const internalOptionsRef = useRef(options);\n internalOptionsRef.current = options;\n\n useEffect(() => {\n if (!target && !internalRef.state) return;\n\n const element = (target ? getElement(target) : internalRef.current) as HTMLElement;\n if (!element) return;\n\n const onKeyDown = (event: Event) =>\n internalOptionsRef.current?.onKeyDown?.(event as KeyboardEvent);\n const onKeyUp = (event: Event) => internalOptionsRef.current?.onKeyUp?.(event as KeyboardEvent);\n\n element.addEventListener('keydown', onKeyDown);\n element.addEventListener('keyup', onKeyUp);\n\n return () => {\n element.removeEventListener('keydown', onKeyDown);\n element.removeEventListener('keyup', onKeyUp);\n };\n }, [target, internalRef.state]);\n\n if (target) return;\n return internalRef;\n}) as UseKeyboard;\n"],"names":["useKeyboard","params","target","isTarget","options","internalRef","useRefState","internalOptionsRef","useRef","useEffect","element","getElement","onKeyDown","event","onKeyUp"],"mappings":"mPA4EaA,EAAe,IAAIC,IAAkB,CAChD,MAAMC,EAASC,EAAAA,SAASF,EAAO,CAAC,CAAC,EAAIA,EAAO,CAAC,EAAI,OAC3CG,EACJF,EACI,OAAOD,EAAO,CAAC,GAAM,SACnBA,EAAO,CAAC,EACR,CAAE,UAAWA,EAAO,CAAC,CAAA,EACvB,OAAOA,EAAO,CAAC,GAAM,SACnBA,EAAO,CAAC,EACR,CAAE,UAAWA,EAAO,CAAC,CAAA,EAGvBI,EAAcC,EAAAA,YAAY,MAAM,EAChCC,EAAqBC,EAAAA,OAAOJ,CAAO,EAsBzC,GArBAG,EAAmB,QAAUH,EAE7BK,EAAAA,UAAU,IAAM,CACd,GAAI,CAACP,GAAU,CAACG,EAAY,MAAO,OAEnC,MAAMK,EAAWR,EAASS,EAAAA,WAAWT,CAAM,EAAIG,EAAY,QAC3D,GAAI,CAACK,EAAS,OAEd,MAAME,EAAaC,GACjBN,EAAmB,SAAS,YAAYM,CAAsB,EAC1DC,EAAWD,GAAiBN,EAAmB,SAAS,UAAUM,CAAsB,EAE9F,OAAAH,EAAQ,iBAAiB,UAAWE,CAAS,EAC7CF,EAAQ,iBAAiB,QAASI,CAAO,EAElC,IAAM,CACXJ,EAAQ,oBAAoB,UAAWE,CAAS,EAChDF,EAAQ,oBAAoB,QAASI,CAAO,CAAA,CAC9C,EACC,CAACZ,EAAQG,EAAY,KAAK,CAAC,EAE1B,CAAAH,EACJ,OAAOG,CACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useKeysPressed.cjs","sources":["../../../../src/hooks/useKeysPressed/useKeysPressed.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { HookTarget } from '@/utils/helpers';\n\nimport { getElement, isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The use keys pressed options type */\nexport interface UseKeysPressedOptions {\n /** Enable or disable the event listeners */\n enabled?: boolean;\n}\n\nexport interface UseKeysPressed {\n (\n target: HookTarget | Window,\n options?: UseKeysPressedOptions\n ): Array<{
|
|
1
|
+
{"version":3,"file":"useKeysPressed.cjs","sources":["../../../../src/hooks/useKeysPressed/useKeysPressed.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { HookTarget } from '@/utils/helpers';\n\nimport { getElement, isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The use keys pressed options type */\nexport interface UseKeysPressedOptions {\n /** Enable or disable the event listeners */\n enabled?: boolean;\n}\n\nexport interface UseKeysPressed {\n (\n target: HookTarget | Window,\n options?: UseKeysPressedOptions\n ): Array<{\n key: string;\n code: string;\n }>;\n\n <Target extends Element>(\n options?: UseKeysPressedOptions\n ): {\n value: Array<{ key: string; code: string }>;\n ref: StateRef<Target>;\n };\n}\n\n/**\n * Hook that tracks which keyboard keys are currently pressed\n *\n * @name useKeysPressed\n * @description Tracks all currently pressed keyboard keys and their codes\n * @category Sensors\n *\n * @overload\n * @param {HookTarget | Window} target DOM element or ref to attach keyboard listeners to\n * @param {UseKeysPressedOptions} [options.enabled=true] Enable or disable the event listeners\n * @returns {Array<{ key: string; code: string }>} Array of currently pressed keys with their key and code values\n *\n * @example\n * const pressedKeys = useKeysPressed(ref);\n *\n * @overload\n * @template Target - Type of the target DOM element\n * @param {UseKeysPressedOptions} [options] - Optional configuration options\n * @returns {{ keys: Array<{ key: string; code: string }>; ref: StateRef<Target> }} Object containing pressed keys array and ref to attach to a DOM element\n *\n * @example\n * const { value, ref } = useKeysPressed();\n */\nexport const useKeysPressed = ((...params: any[]) => {\n const target = (isTarget(params[0]) ? params[0] : undefined) as HookTarget | undefined;\n const options = (target ? params[1] : params[0]) as UseKeysPressedOptions | undefined;\n\n const enabled = options?.enabled ?? true;\n const [value, setValue] = useState<{ key: string; code: string }[]>([]);\n const internalRef = useRefState(window);\n\n useEffect(() => {\n if (!enabled) return;\n setValue([]);\n\n const element = (target ? getElement(target) : internalRef.current) as Element;\n if (!element) return;\n\n const onKeyDown = (event: Event) => {\n const keyboardEvent = event as KeyboardEvent;\n setValue((prevValue) => {\n if (prevValue.some(({ code }) => code === keyboardEvent.code)) return prevValue;\n return [...prevValue, { key: keyboardEvent.key, code: keyboardEvent.code }];\n });\n };\n\n const onKeyUp = (event: Event) => {\n const keyboardEvent = event as KeyboardEvent;\n setValue((prevValue) => prevValue.filter(({ code }) => code !== keyboardEvent.code));\n };\n\n element.addEventListener('keydown', onKeyDown);\n element.addEventListener('keyup', onKeyUp);\n\n return () => {\n element.removeEventListener('keydown', onKeyDown);\n element.removeEventListener('keyup', onKeyUp);\n };\n }, [enabled, internalRef.state, target]);\n\n if (target) return value;\n return { value, ref: internalRef };\n}) as UseKeysPressed;\n"],"names":["useKeysPressed","params","target","isTarget","enabled","value","setValue","useState","internalRef","useRefState","useEffect","element","getElement","onKeyDown","event","keyboardEvent","prevValue","code","onKeyUp"],"mappings":"mPAwDaA,EAAkB,IAAIC,IAAkB,CACnD,MAAMC,EAAUC,EAAAA,SAASF,EAAO,CAAC,CAAC,EAAIA,EAAO,CAAC,EAAI,OAG5CG,GAFWF,EAASD,EAAO,CAAC,EAAIA,EAAO,CAAC,IAErB,SAAW,GAC9B,CAACI,EAAOC,CAAQ,EAAIC,EAAAA,SAA0C,CAAA,CAAE,EAChEC,EAAcC,EAAAA,YAAY,MAAM,EA+BtC,OA7BAC,EAAAA,UAAU,IAAM,CACd,GAAI,CAACN,EAAS,OACdE,EAAS,CAAA,CAAE,EAEX,MAAMK,EAAWT,EAASU,EAAAA,WAAWV,CAAM,EAAIM,EAAY,QAC3D,GAAI,CAACG,EAAS,OAEd,MAAME,EAAaC,GAAiB,CAClC,MAAMC,EAAgBD,EACtBR,EAAUU,GACJA,EAAU,KAAK,CAAC,CAAE,KAAAC,CAAA,IAAWA,IAASF,EAAc,IAAI,EAAUC,EAC/D,CAAC,GAAGA,EAAW,CAAE,IAAKD,EAAc,IAAK,KAAMA,EAAc,KAAM,CAC3E,CAAA,EAGGG,EAAWJ,GAAiB,CAChC,MAAMC,EAAgBD,EACtBR,EAAUU,GAAcA,EAAU,OAAO,CAAC,CAAE,KAAAC,CAAA,IAAWA,IAASF,EAAc,IAAI,CAAC,CAAA,EAGrF,OAAAJ,EAAQ,iBAAiB,UAAWE,CAAS,EAC7CF,EAAQ,iBAAiB,QAASO,CAAO,EAElC,IAAM,CACXP,EAAQ,oBAAoB,UAAWE,CAAS,EAChDF,EAAQ,oBAAoB,QAASO,CAAO,CAAA,CAC9C,EACC,CAACd,EAASI,EAAY,MAAON,CAAM,CAAC,EAEnCA,EAAeG,EACZ,CAAE,MAAAA,EAAO,IAAKG,CAAA,CACvB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react"),u=r=>{const e=n.useRef(!1),t=n.useRef(r);return t.current=r,async(...c)=>{if(!e.current){e.current=!0;try{return await t.current(...c)}finally{e.current=!1}}}};exports.useLockCallback=u;
|
|
2
2
|
//# sourceMappingURL=useLockCallback.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLockCallback.cjs","sources":["../../../../src/hooks/useLockCallback/useLockCallback.ts"],"sourcesContent":["import { useRef } from 'react';\n\n/**\n * @name useLockCallback\n * @description - Hook that prevents a callback from being executed multiple times simultaneously\n * @category Utilities\n *\n * @param {Function} callback The callback to be locked\n * @returns {Function} The locked callback\n *\n * @example\n * const lockedCallback = useLockCallback(() => promise());\n */\nexport const useLockCallback = <Callback extends (...args: any[]) => any>(callback: Callback) => {\n const lockRef = useRef(false);\n const
|
|
1
|
+
{"version":3,"file":"useLockCallback.cjs","sources":["../../../../src/hooks/useLockCallback/useLockCallback.ts"],"sourcesContent":["import { useRef } from 'react';\n\n/**\n * @name useLockCallback\n * @description - Hook that prevents a callback from being executed multiple times simultaneously\n * @category Utilities\n *\n * @param {Function} callback The callback to be locked\n * @returns {Function} The locked callback\n *\n * @example\n * const lockedCallback = useLockCallback(() => promise());\n */\nexport const useLockCallback = <Callback extends (...args: any[]) => any>(callback: Callback) => {\n const lockRef = useRef(false);\n const internalCallbackRef = useRef(callback);\n internalCallbackRef.current = callback;\n\n return async (...args: Parameters<Callback>) => {\n if (lockRef.current) return;\n lockRef.current = true;\n\n try {\n return await internalCallbackRef.current(...args);\n } finally {\n lockRef.current = false;\n }\n };\n};\n"],"names":["useLockCallback","callback","lockRef","useRef","internalCallbackRef","args"],"mappings":"yGAaaA,EAA6DC,GAAuB,CAC/F,MAAMC,EAAUC,EAAAA,OAAO,EAAK,EACtBC,EAAsBD,EAAAA,OAAOF,CAAQ,EAC3C,OAAAG,EAAoB,QAAUH,EAEvB,SAAUI,IAA+B,CAC9C,GAAI,CAAAH,EAAQ,QACZ,CAAAA,EAAQ,QAAU,GAElB,GAAI,CACF,OAAO,MAAME,EAAoB,QAAQ,GAAGC,CAAI,CAAA,QAClD,CACEH,EAAQ,QAAU,EAAA,EACpB,CAEJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMemory.cjs","sources":["../../../../src/hooks/useMemory/useMemory.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\ndeclare global {\n interface Performance {\n memory: {\n readonly jsHeapSizeLimit: number;\n readonly totalJSHeapSize: number;\n readonly usedJSHeapSize: number;\n };\n }\n}\n\n/** The use memory return type */\nexport interface UseMemoryReturn {\n /** The memory supported status */\n supported: boolean;\n /** The current memory usage */\n value: Performance['memory'];\n}\n\n/**\n * @name useMemory\n * @description - Hook that gives you current memory usage\n * @category Browser\n *\n * @browserapi performance.memory https://developer.mozilla.org/en-US/docs/Web/API/Performance/memory\n *\n * @returns {UseMemoryReturn} An object containing the current memory usage\n *\n * @example\n * const { supported, value } = useMemory();\n */\nexport const useMemory = (): UseMemoryReturn => {\n const supported = performance && 'memory' in performance && !!performance.memory;\n const [value, setValue] = useState<Performance['memory']>(\n performance?.memory ?? {\n jsHeapSizeLimit: 0,\n totalJSHeapSize: 0,\n usedJSHeapSize: 0\n }\n );\n\n useEffect(() => {\n if (!supported) return;\n
|
|
1
|
+
{"version":3,"file":"useMemory.cjs","sources":["../../../../src/hooks/useMemory/useMemory.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\ndeclare global {\n interface Performance {\n memory: {\n readonly jsHeapSizeLimit: number;\n readonly totalJSHeapSize: number;\n readonly usedJSHeapSize: number;\n };\n }\n}\n\n/** The use memory return type */\nexport interface UseMemoryReturn {\n /** The memory supported status */\n supported: boolean;\n /** The current memory usage */\n value: Performance['memory'];\n}\n\n/**\n * @name useMemory\n * @description - Hook that gives you current memory usage\n * @category Browser\n *\n * @browserapi performance.memory https://developer.mozilla.org/en-US/docs/Web/API/Performance/memory\n *\n * @returns {UseMemoryReturn} An object containing the current memory usage\n *\n * @example\n * const { supported, value } = useMemory();\n */\nexport const useMemory = (): UseMemoryReturn => {\n const supported = performance && 'memory' in performance && !!performance.memory;\n const [value, setValue] = useState<Performance['memory']>(\n performance?.memory ?? {\n jsHeapSizeLimit: 0,\n totalJSHeapSize: 0,\n usedJSHeapSize: 0\n }\n );\n\n useEffect(() => {\n if (!supported) return;\n const intervalId = setInterval(() => setValue(performance.memory), 1000);\n return () => clearInterval(intervalId);\n }, []);\n\n return { supported, value };\n};\n"],"names":["useMemory","supported","value","setValue","useState","useEffect","intervalId"],"mappings":"yGAgCaA,EAAY,IAAuB,CAC9C,MAAMC,EAAY,aAAe,WAAY,aAAe,CAAC,CAAC,YAAY,OACpE,CAACC,EAAOC,CAAQ,EAAIC,EAAAA,SACxB,aAAa,QAAU,CACrB,gBAAiB,EACjB,gBAAiB,EACjB,eAAgB,CAAA,CAClB,EAGFC,OAAAA,EAAAA,UAAU,IAAM,CACd,GAAI,CAACJ,EAAW,OAChB,MAAMK,EAAa,YAAY,IAAMH,EAAS,YAAY,MAAM,EAAG,GAAI,EACvE,MAAO,IAAM,cAAcG,CAAU,CAAA,EACpC,EAAE,EAEE,CAAE,UAAAL,EAAW,MAAAC,CAAA,CACtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useScroll.cjs","sources":["../../../../src/hooks/useScroll/useScroll.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport type { HookTarget } from '@/utils/helpers';\n\nimport { getElement, isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\nconst ARRIVED_STATE_THRESHOLD_PIXELS = 1;\n\nexport interface UseScrollOptions {\n /** The on scroll callback */\n onScroll?: (params: UseScrollCallbackParams, event: Event) => void;\n\n /** The on end scroll callback */\n onStop?: (event: Event) => void;\n\n /** Offset arrived states by x pixels. */\n offset?: {\n left?: number;\n right?: number;\n top?: number;\n bottom?: number;\n };\n}\n\nexport interface UseScrollCallbackParams {\n /** The element x position */\n x: number;\n /** The element y position */\n y: number;\n /** State of scroll arrived */\n arrived: {\n left: boolean;\n right: boolean;\n top: boolean;\n bottom: boolean;\n };\n /** State of scroll direction */\n directions: {\n left: boolean;\n right: boolean;\n top: boolean;\n bottom: boolean;\n };\n}\n\nexport interface UseScroll {\n (target: HookTarget, callback?: (params: UseScrollCallbackParams, event: Event) => void): boolean;\n\n (target: HookTarget, options?: UseScrollOptions): boolean;\n\n <Target extends Element>(\n callback?: (params: UseScrollCallbackParams, event: Event) => void,\n target?: never\n ): {\n ref: StateRef<Target>;\n scrolling: boolean;\n };\n\n <Target extends Element>(\n options?: UseScrollOptions,\n target?: never\n ): {\n ref: StateRef<Target>;\n scrolling: boolean;\n };\n}\n\n/**\n * @name useScroll\n * @description - Hook that allows you to control scroll a element\n * @category Sensors\n *\n * @overload\n * @template Target The target element\n * @param {ScrollBehavior} [options.behavior=auto] The behavior of scrolling\n * @param {number} [options.offset.left=0] The left offset for arrived states\n * @param {number} [options.offset.right=0] The right offset for arrived states\n * @param {number} [options.offset.top=0] The top offset for arrived states\n * @param {number} [options.offset.bottom=0] The bottom offset for arrived states\n * @param {(params: UseScrollCallbackParams, event: Event) => void} [options.onScroll] The callback function to be invoked on scroll\n * @param {(event: Event) => void} [options.onStop] The callback function to be invoked on scroll end\n * @returns {boolean} The state of scrolling\n *\n * @example\n * const scrolling = useScroll(ref, options);\n *\n * @overload\n * @template Target The target element\n * @param {(params: UseScrollCallbackParams, event: Event) => void} [callback] The callback function to be invoked on scroll\n * @returns {boolean} The state of scrolling\n *\n * @example\n * const scrolling = useScroll(ref, () => console.log('callback'));\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to scroll\n * @param {ScrollBehavior} [options.behavior=auto] The behavior of scrolling\n * @param {number} [options.offset.left=0] The left offset for arrived states\n * @param {number} [options.offset.right=0] The right offset for arrived states\n * @param {number} [options.offset.top=0] The top offset for arrived states\n * @param {number} [options.offset.bottom=0] The bottom offset for arrived states\n * @param {(params: UseScrollCallbackParams, event: Event) => void} [options.onScroll] The callback function to be invoked on scroll\n * @param {(event: Event) => void} [options.onStop] The callback function to be invoked on scroll end\n * @returns {[StateRef<Target>, boolean]} The state of scrolling\n *\n * @example\n * const { ref, scrolling } = useScroll(options);\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to scroll\n * @param {(params: UseScrollCallbackParams, event: Event) => void} [callback] The callback function to be invoked on scroll\n * @returns {[StateRef<Target>, boolean]} The state of scrolling\n *\n * @example\n * const { ref, scrolling } = useScroll(() => console.log('callback'));\n */\nexport const useScroll = ((...params: any[]) => {\n const target = (isTarget(params[0]) ? params[0] : undefined) as HookTarget | undefined;\n const options = (\n target\n ? typeof params[1] === 'object'\n ? params[1]\n : { onScroll: params[1] }\n : typeof params[0] === 'object'\n ? params[0]\n : { onScroll: params[0] }\n ) as UseScrollOptions | undefined;\n\n const internalRef = useRefState<Element>();\n const internalOptionsRef = useRef(options);\n internalOptionsRef.current = options;\n\n const [scrolling, setScrolling] = useState(false);\n const scrollPositionRef = useRef({ x: 0, y: 0 });\n\n useEffect(() => {\n if (!target && !internalRef.state) return;\n const element = (target ? getElement(target) : internalRef.current) as Element;\n\n if (!element) return;\n\n const onScrollEnd = (event: Event) => {\n setScrolling(false);\n options?.onStop?.(event);\n };\n\n const onScroll = (event: Event) => {\n setScrolling(true);\n const target = (\n event.target === document ? (event.target as Document).documentElement : event.target\n ) as HTMLElement;\n\n const { display, flexDirection, direction } = target.style;\n const directionMultiplier = direction === 'rtl' ? -1 : 1;\n\n const scrollLeft = target.scrollLeft;\n let scrollTop = target.scrollTop;\n if (target instanceof Document && !scrollTop) scrollTop = window.document.body.scrollTop;\n\n const offset = internalOptionsRef.current?.offset;\n const left = scrollLeft * directionMultiplier <= (offset?.left ?? 0);\n const right =\n scrollLeft * directionMultiplier + target.clientWidth >=\n target.scrollWidth - (offset?.right ?? 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n const top = scrollTop <= (offset?.top ?? 0);\n const bottom =\n scrollTop + target.clientHeight >=\n target.scrollHeight - (offset?.bottom ?? 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n\n const isColumnReverse = display === 'flex' && flexDirection === 'column-reverse';\n const isRowReverse = display === 'flex' && flexDirection === 'column-reverse';\n\n const params = {\n x: scrollLeft,\n y: scrollTop,\n directions: {\n left: scrollLeft < scrollPositionRef.current.x,\n right: scrollLeft > scrollPositionRef.current.x,\n top: scrollTop < scrollPositionRef.current.y,\n bottom: scrollTop > scrollPositionRef.current.y\n },\n arrived: {\n left: isRowReverse ? right : left,\n right: isRowReverse ? left : right,\n top: isColumnReverse ? bottom : top,\n bottom: isColumnReverse ? top : bottom\n }\n };\n\n scrollPositionRef.current = { x: scrollLeft, y: scrollTop };\n internalOptionsRef.current?.onScroll?.(params, event);\n };\n\n element.addEventListener('scroll', onScroll);\n element.addEventListener('scrollend', onScrollEnd);\n\n return () => {\n element.removeEventListener('scroll', onScroll);\n element.removeEventListener('scrollend', onScrollEnd);\n };\n }, [target, internalRef.state]);\n\n if (target) return scrolling;\n return {\n ref: internalRef,\n scrolling\n };\n}) as UseScroll;\n"],"names":["ARRIVED_STATE_THRESHOLD_PIXELS","useScroll","params","target","isTarget","options","internalRef","useRefState","internalOptionsRef","useRef","scrolling","setScrolling","useState","scrollPositionRef","useEffect","element","getElement","onScrollEnd","event","onScroll","display","flexDirection","direction","directionMultiplier","scrollLeft","scrollTop","offset","left","right","top","bottom","isColumnReverse","isRowReverse"],"mappings":"mPAUMA,EAAiC,EAgH1BC,EAAa,IAAIC,IAAkB,CAC9C,MAAMC,EAAUC,EAAAA,SAASF,EAAO,CAAC,CAAC,EAAIA,EAAO,CAAC,EAAI,OAC5CG,EACJF,EACI,OAAOD,EAAO,CAAC,GAAM,SACnBA,EAAO,CAAC,EACR,CAAE,SAAUA,EAAO,CAAC,CAAA,EACtB,OAAOA,EAAO,CAAC,GAAM,SACnBA,EAAO,CAAC,EACR,CAAE,SAAUA,EAAO,CAAC,CAAA,EAGtBI,EAAcC,EAAAA,YAAA,EACdC,EAAqBC,EAAAA,OAAOJ,CAAO,EACzCG,EAAmB,QAAUH,EAE7B,KAAM,CAACK,EAAWC,CAAY,EAAIC,EAAAA,SAAS,EAAK,EAC1CC,EAAoBJ,EAAAA,OAAO,CAAE,EAAG,EAAG,EAAG,EAAG,EAqE/C,OAnEAK,EAAAA,UAAU,IAAM,CACd,GAAI,CAACX,GAAU,CAACG,EAAY,MAAO,OACnC,MAAMS,EAAWZ,EAASa,EAAAA,WAAWb,CAAM,EAAIG,EAAY,QAE3D,GAAI,CAACS,EAAS,OAEd,MAAME,EAAeC,GAAiB,CACpCP,EAAa,EAAK,EAClBN,GAAS,SAASa,CAAK,CAAA,EAGnBC,EAAYD,GAAiB,CACjCP,EAAa,EAAI,EACjB,MAAMR,EACJe,EAAM,SAAW,SAAYA,EAAM,OAAoB,gBAAkBA,EAAM,OAG3E,CAAE,QAAAE,EAAS,cAAAC,EAAe,UAAAC,CAAA,EAAcnB,EAAO,MAC/CoB,EAAsBD,IAAc,MAAQ,GAAK,EAEjDE,EAAarB,EAAO,WAC1B,IAAIsB,EAAYtB,EAAO,UACnBA,aAAkB,UAAY,CAACsB,IAAWA,EAAY,OAAO,SAAS,KAAK,WAE/E,MAAMC,EAASlB,EAAmB,SAAS,OACrCmB,EAAOH,EAAaD,IAAwBG,GAAQ,MAAQ,GAC5DE,EACJJ,EAAaD,EAAsBpB,EAAO,aAC1CA,EAAO,aAAeuB,GAAQ,OAAS,GAAK1B,EACxC6B,EAAMJ,IAAcC,GAAQ,KAAO,GACnCI,EACJL,EAAYtB,EAAO,cACnBA,EAAO,cAAgBuB,GAAQ,QAAU,GAAK1B,EAE1C+B,EAAkBX,IAAY,QAAUC,IAAkB,iBAC1DW,EAAeZ,IAAY,QAAUC,IAAkB,iBAEvDnB,EAAS,CACb,EAAGsB,EACH,EAAGC,EACH,WAAY,CACV,KAAMD,EAAaX,EAAkB,QAAQ,EAC7C,MAAOW,EAAaX,EAAkB,QAAQ,EAC9C,IAAKY,EAAYZ,EAAkB,QAAQ,EAC3C,OAAQY,EAAYZ,EAAkB,QAAQ,CAAA,EAEhD,QAAS,CACP,KAAMmB,EAAeJ,EAAQD,EAC7B,MAAOK,EAAeL,EAAOC,EAC7B,IAAKG,EAAkBD,EAASD,EAChC,OAAQE,EAAkBF,EAAMC,CAAA,CAClC,EAGFjB,EAAkB,QAAU,CAAE,EAAGW,EAAY,EAAGC,CAAA,EAChDjB,EAAmB,SAAS,WAAWN,EAAQgB,CAAK,CAAA,EAGtD,OAAAH,EAAQ,iBAAiB,SAAUI,CAAQ,EAC3CJ,EAAQ,iBAAiB,YAAaE,CAAW,EAE1C,IAAM,CACXF,EAAQ,oBAAoB,SAAUI,CAAQ,EAC9CJ,EAAQ,oBAAoB,YAAaE,CAAW,CAAA,CACtD,EACC,CAACd,EAAQG,EAAY,KAAK,CAAC,EAE1BH,EAAeO,EACZ,CACL,IAAKJ,EACL,UAAAI,CAAA,CAEJ"}
|
|
1
|
+
{"version":3,"file":"useScroll.cjs","sources":["../../../../src/hooks/useScroll/useScroll.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\r\n\r\nimport type { HookTarget } from '@/utils/helpers';\r\n\r\nimport { getElement, isTarget } from '@/utils/helpers';\r\n\r\nimport type { StateRef } from '../useRefState/useRefState';\r\n\r\nimport { useRefState } from '../useRefState/useRefState';\r\n\r\nconst ARRIVED_STATE_THRESHOLD_PIXELS = 1;\r\n\r\nexport interface UseScrollOptions {\r\n /** The on scroll callback */\r\n onScroll?: (params: UseScrollCallbackParams, event: Event) => void;\r\n\r\n /** The on end scroll callback */\r\n onStop?: (event: Event) => void;\r\n\r\n /** Offset arrived states by x pixels. */\r\n offset?: {\r\n left?: number;\r\n right?: number;\r\n top?: number;\r\n bottom?: number;\r\n };\r\n}\r\n\r\nexport interface UseScrollCallbackParams {\r\n /** The element x position */\r\n x: number;\r\n /** The element y position */\r\n y: number;\r\n /** State of scroll arrived */\r\n arrived: {\r\n left: boolean;\r\n right: boolean;\r\n top: boolean;\r\n bottom: boolean;\r\n };\r\n /** State of scroll direction */\r\n directions: {\r\n left: boolean;\r\n right: boolean;\r\n top: boolean;\r\n bottom: boolean;\r\n };\r\n}\r\n\r\nexport interface UseScroll {\r\n (target: HookTarget, callback?: (params: UseScrollCallbackParams, event: Event) => void): boolean;\r\n\r\n (target: HookTarget, options?: UseScrollOptions): boolean;\r\n\r\n <Target extends Element>(\r\n callback?: (params: UseScrollCallbackParams, event: Event) => void,\r\n target?: never\r\n ): {\r\n ref: StateRef<Target>;\r\n scrolling: boolean;\r\n };\r\n\r\n <Target extends Element>(\r\n options?: UseScrollOptions,\r\n target?: never\r\n ): {\r\n ref: StateRef<Target>;\r\n scrolling: boolean;\r\n };\r\n}\r\n\r\n/**\r\n * @name useScroll\r\n * @description - Hook that allows you to control scroll a element\r\n * @category Sensors\r\n *\r\n * @overload\r\n * @template Target The target element\r\n * @param {ScrollBehavior} [options.behavior=auto] The behavior of scrolling\r\n * @param {number} [options.offset.left=0] The left offset for arrived states\r\n * @param {number} [options.offset.right=0] The right offset for arrived states\r\n * @param {number} [options.offset.top=0] The top offset for arrived states\r\n * @param {number} [options.offset.bottom=0] The bottom offset for arrived states\r\n * @param {(params: UseScrollCallbackParams, event: Event) => void} [options.onScroll] The callback function to be invoked on scroll\r\n * @param {(event: Event) => void} [options.onStop] The callback function to be invoked on scroll end\r\n * @returns {boolean} The state of scrolling\r\n *\r\n * @example\r\n * const scrolling = useScroll(ref, options);\r\n *\r\n * @overload\r\n * @template Target The target element\r\n * @param {(params: UseScrollCallbackParams, event: Event) => void} [callback] The callback function to be invoked on scroll\r\n * @returns {boolean} The state of scrolling\r\n *\r\n * @example\r\n * const scrolling = useScroll(ref, () => console.log('callback'));\r\n *\r\n * @overload\r\n * @template Target The target element\r\n * @param {Target} target The target element to scroll\r\n * @param {ScrollBehavior} [options.behavior=auto] The behavior of scrolling\r\n * @param {number} [options.offset.left=0] The left offset for arrived states\r\n * @param {number} [options.offset.right=0] The right offset for arrived states\r\n * @param {number} [options.offset.top=0] The top offset for arrived states\r\n * @param {number} [options.offset.bottom=0] The bottom offset for arrived states\r\n * @param {(params: UseScrollCallbackParams, event: Event) => void} [options.onScroll] The callback function to be invoked on scroll\r\n * @param {(event: Event) => void} [options.onStop] The callback function to be invoked on scroll end\r\n * @returns {[StateRef<Target>, boolean]} The state of scrolling\r\n *\r\n * @example\r\n * const { ref, scrolling } = useScroll(options);\r\n *\r\n * @overload\r\n * @template Target The target element\r\n * @param {Target} target The target element to scroll\r\n * @param {(params: UseScrollCallbackParams, event: Event) => void} [callback] The callback function to be invoked on scroll\r\n * @returns {[StateRef<Target>, boolean]} The state of scrolling\r\n *\r\n * @example\r\n * const { ref, scrolling } = useScroll(() => console.log('callback'));\r\n */\r\nexport const useScroll = ((...params: any[]) => {\r\n const target = (isTarget(params[0]) ? params[0] : undefined) as HookTarget | undefined;\r\n const options = (\r\n target\r\n ? typeof params[1] === 'object'\r\n ? params[1]\r\n : { onScroll: params[1] }\r\n : typeof params[0] === 'object'\r\n ? params[0]\r\n : { onScroll: params[0] }\r\n ) as UseScrollOptions | undefined;\r\n\r\n const internalRef = useRefState<Element>();\r\n const internalOptionsRef = useRef(options);\r\n internalOptionsRef.current = options;\r\n\r\n const [scrolling, setScrolling] = useState(false);\r\n const scrollPositionRef = useRef({ x: 0, y: 0 });\r\n\r\n useEffect(() => {\r\n if (!target && !internalRef.state) return;\r\n const element = (target ? getElement(target) : internalRef.current) as Element;\r\n\r\n if (!element) return;\r\n\r\n const onScrollEnd = (event: Event) => {\r\n setScrolling(false);\r\n options?.onStop?.(event);\r\n };\r\n\r\n const onScroll = (event: Event) => {\r\n setScrolling(true);\r\n const target = (\r\n event.target === document ? (event.target as Document).documentElement : event.target\r\n ) as HTMLElement;\r\n\r\n const { display, flexDirection, direction } = target.style;\r\n const directionMultiplier = direction === 'rtl' ? -1 : 1;\r\n\r\n const scrollLeft = target.scrollLeft;\r\n let scrollTop = target.scrollTop;\r\n if (target instanceof Document && !scrollTop) scrollTop = window.document.body.scrollTop;\r\n\r\n const offset = internalOptionsRef.current?.offset;\r\n const left = scrollLeft * directionMultiplier <= (offset?.left ?? 0);\r\n const right =\r\n scrollLeft * directionMultiplier + target.clientWidth >=\r\n target.scrollWidth - (offset?.right ?? 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\r\n const top = scrollTop <= (offset?.top ?? 0);\r\n const bottom =\r\n scrollTop + target.clientHeight >=\r\n target.scrollHeight - (offset?.bottom ?? 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\r\n\r\n const isColumnReverse = display === 'flex' && flexDirection === 'column-reverse';\r\n const isRowReverse = display === 'flex' && flexDirection === 'column-reverse';\r\n\r\n const params = {\r\n x: scrollLeft,\r\n y: scrollTop,\r\n directions: {\r\n left: scrollLeft < scrollPositionRef.current.x,\r\n right: scrollLeft > scrollPositionRef.current.x,\r\n top: scrollTop < scrollPositionRef.current.y,\r\n bottom: scrollTop > scrollPositionRef.current.y\r\n },\r\n arrived: {\r\n left: isRowReverse ? right : left,\r\n right: isRowReverse ? left : right,\r\n top: isColumnReverse ? bottom : top,\r\n bottom: isColumnReverse ? top : bottom\r\n }\r\n };\r\n\r\n scrollPositionRef.current = { x: scrollLeft, y: scrollTop };\r\n internalOptionsRef.current?.onScroll?.(params, event);\r\n };\r\n\r\n element.addEventListener('scroll', onScroll);\r\n element.addEventListener('scrollend', onScrollEnd);\r\n\r\n return () => {\r\n element.removeEventListener('scroll', onScroll);\r\n element.removeEventListener('scrollend', onScrollEnd);\r\n };\r\n }, [target, internalRef.state]);\r\n\r\n if (target) return scrolling;\r\n return {\r\n ref: internalRef,\r\n scrolling\r\n };\r\n}) as UseScroll;\r\n"],"names":["ARRIVED_STATE_THRESHOLD_PIXELS","useScroll","params","target","isTarget","options","internalRef","useRefState","internalOptionsRef","useRef","scrolling","setScrolling","useState","scrollPositionRef","useEffect","element","getElement","onScrollEnd","event","onScroll","display","flexDirection","direction","directionMultiplier","scrollLeft","scrollTop","offset","left","right","top","bottom","isColumnReverse","isRowReverse"],"mappings":"mPAUMA,EAAiC,EAgH1BC,EAAa,IAAIC,IAAkB,CAC9C,MAAMC,EAAUC,EAAAA,SAASF,EAAO,CAAC,CAAC,EAAIA,EAAO,CAAC,EAAI,OAC5CG,EACJF,EACI,OAAOD,EAAO,CAAC,GAAM,SACnBA,EAAO,CAAC,EACR,CAAE,SAAUA,EAAO,CAAC,CAAA,EACtB,OAAOA,EAAO,CAAC,GAAM,SACnBA,EAAO,CAAC,EACR,CAAE,SAAUA,EAAO,CAAC,CAAA,EAGtBI,EAAcC,EAAAA,YAAA,EACdC,EAAqBC,EAAAA,OAAOJ,CAAO,EACzCG,EAAmB,QAAUH,EAE7B,KAAM,CAACK,EAAWC,CAAY,EAAIC,EAAAA,SAAS,EAAK,EAC1CC,EAAoBJ,EAAAA,OAAO,CAAE,EAAG,EAAG,EAAG,EAAG,EAqE/C,OAnEAK,EAAAA,UAAU,IAAM,CACd,GAAI,CAACX,GAAU,CAACG,EAAY,MAAO,OACnC,MAAMS,EAAWZ,EAASa,EAAAA,WAAWb,CAAM,EAAIG,EAAY,QAE3D,GAAI,CAACS,EAAS,OAEd,MAAME,EAAeC,GAAiB,CACpCP,EAAa,EAAK,EAClBN,GAAS,SAASa,CAAK,CAAA,EAGnBC,EAAYD,GAAiB,CACjCP,EAAa,EAAI,EACjB,MAAMR,EACJe,EAAM,SAAW,SAAYA,EAAM,OAAoB,gBAAkBA,EAAM,OAG3E,CAAE,QAAAE,EAAS,cAAAC,EAAe,UAAAC,CAAA,EAAcnB,EAAO,MAC/CoB,EAAsBD,IAAc,MAAQ,GAAK,EAEjDE,EAAarB,EAAO,WAC1B,IAAIsB,EAAYtB,EAAO,UACnBA,aAAkB,UAAY,CAACsB,IAAWA,EAAY,OAAO,SAAS,KAAK,WAE/E,MAAMC,EAASlB,EAAmB,SAAS,OACrCmB,EAAOH,EAAaD,IAAwBG,GAAQ,MAAQ,GAC5DE,EACJJ,EAAaD,EAAsBpB,EAAO,aAC1CA,EAAO,aAAeuB,GAAQ,OAAS,GAAK1B,EACxC6B,EAAMJ,IAAcC,GAAQ,KAAO,GACnCI,EACJL,EAAYtB,EAAO,cACnBA,EAAO,cAAgBuB,GAAQ,QAAU,GAAK1B,EAE1C+B,EAAkBX,IAAY,QAAUC,IAAkB,iBAC1DW,EAAeZ,IAAY,QAAUC,IAAkB,iBAEvDnB,EAAS,CACb,EAAGsB,EACH,EAAGC,EACH,WAAY,CACV,KAAMD,EAAaX,EAAkB,QAAQ,EAC7C,MAAOW,EAAaX,EAAkB,QAAQ,EAC9C,IAAKY,EAAYZ,EAAkB,QAAQ,EAC3C,OAAQY,EAAYZ,EAAkB,QAAQ,CAAA,EAEhD,QAAS,CACP,KAAMmB,EAAeJ,EAAQD,EAC7B,MAAOK,EAAeL,EAAOC,EAC7B,IAAKG,EAAkBD,EAASD,EAChC,OAAQE,EAAkBF,EAAMC,CAAA,CAClC,EAGFjB,EAAkB,QAAU,CAAE,EAAGW,EAAY,EAAGC,CAAA,EAChDjB,EAAmB,SAAS,WAAWN,EAAQgB,CAAK,CAAA,EAGtD,OAAAH,EAAQ,iBAAiB,SAAUI,CAAQ,EAC3CJ,EAAQ,iBAAiB,YAAaE,CAAW,EAE1C,IAAM,CACXF,EAAQ,oBAAoB,SAAUI,CAAQ,EAC9CJ,EAAQ,oBAAoB,YAAaE,CAAW,CAAA,CACtD,EACC,CAACd,EAAQG,EAAY,KAAK,CAAC,EAE1BH,EAAeO,EACZ,CACL,IAAKJ,EACL,UAAAI,CAAA,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react"),f=t=>{if(!t)return{days:0,hours:0,minutes:0,seconds:0,count:0};const s=Math.floor(t/86400),d=Math.floor(t%86400/3600),e=Math.floor(t%3600/60),u=Math.floor(t%60);return{days:s,hours:d,minutes:e,seconds:u,count:t}},y=(...t)=>{const s=(typeof t[0]=="number"?t[0]:t[0]?.initialTime)??0,e=(typeof t[0]=="number"?t[1]:t[0])?.immediately??!1,[u,l]=i.useState(f(s)),[c,r]=i.useState(!e&&!s);return i.useEffect(()=>{if(c)return;const a=()=>{l(n=>{const o=n.count+1;return o%60===0?{...n,minutes:n.minutes+1,seconds:0,count:o}:o%(60*60)===0?{...n,hours:n.hours+1,minutes:0,seconds:0,count:o}:o%(60*60*24)===0?{...n,days:n.days+1,hours:0,minutes:0,seconds:0,count:o}:{...n,seconds:n.seconds+1,count:o}})},h=setInterval(()=>a(),1e3);return()=>clearInterval(h)},[c]),{...u,paused:c,pause:()=>r(!0),start:()=>r(!1),reset:()=>l(f(s)),toggle:()=>r(a=>!a)}};exports.useStopwatch=y;
|
|
2
2
|
//# sourceMappingURL=useStopwatch.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useStopwatch.cjs","sources":["../../../../src/hooks/useStopwatch/useStopwatch.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\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 total count of the stopwatch */\n count: number;\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 over state of the stopwatch */\n over: boolean;\n /** The paused state of the stopwatch */\n paused: boolean;\n /** The second count of the stopwatch */\n seconds: number;\n /** The function to pause the stopwatch */\n pause: () => void;\n /** The function to reset the stopwatch */\n reset: () => void;\n /** The function to start the stopwatch */\n start: () => void;\n /** The function to toggle the stopwatch */\n toggle: () => void;\n}\n\n/** The use stopwatch options */\nexport interface UseStopwatchOptions {\n /** The
|
|
1
|
+
{"version":3,"file":"useStopwatch.cjs","sources":["../../../../src/hooks/useStopwatch/useStopwatch.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\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 total count of the stopwatch */\n count: number;\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 over state of the stopwatch */\n over: boolean;\n /** The paused state of the stopwatch */\n paused: boolean;\n /** The second count of the stopwatch */\n seconds: number;\n /** The function to pause the stopwatch */\n pause: () => void;\n /** The function to reset the stopwatch */\n reset: () => void;\n /** The function to start the stopwatch */\n start: () => void;\n /** The function to toggle the stopwatch */\n toggle: () => void;\n}\n\n/** The use stopwatch options */\nexport interface UseStopwatchOptions {\n /** The immediately state of the timer */\n immediately?: boolean;\n}\n\ninterface 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 * @category Time\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 immediately = options?.immediately ?? false;\n\n const [time, setTime] = useState(getStopwatchTime(initialTime));\n const [paused, setPaused] = useState(!immediately && !initialTime);\n\n useEffect(() => {\n if (paused) return;\n const onInterval = () => {\n setTime((prevTime) => {\n const updatedCount = prevTime.count + 1;\n\n if (updatedCount % 60 === 0) {\n return {\n ...prevTime,\n minutes: prevTime.minutes + 1,\n seconds: 0,\n count: updatedCount\n };\n }\n\n if (updatedCount % (60 * 60) === 0) {\n return {\n ...prevTime,\n hours: prevTime.hours + 1,\n minutes: 0,\n seconds: 0,\n count: updatedCount\n };\n }\n\n if (updatedCount % (60 * 60 * 24) === 0) {\n return {\n ...prevTime,\n days: prevTime.days + 1,\n hours: 0,\n minutes: 0,\n seconds: 0,\n count: updatedCount\n };\n }\n\n return {\n ...prevTime,\n seconds: prevTime.seconds + 1,\n count: updatedCount\n };\n });\n };\n\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","hours","minutes","seconds","useStopwatch","params","initialTime","immediately","setTime","useState","paused","setPaused","useEffect","onInterval","prevTime","updatedCount","interval","prevPause"],"mappings":"yGAEMA,EAAoBC,GAAiB,CACzC,GAAI,CAACA,EACH,MAAO,CACL,KAAM,EACN,MAAO,EACP,QAAS,EACT,QAAS,EACT,MAAO,CAAA,EAGX,MAAMC,EAAO,KAAK,MAAMD,EAAO,KAAK,EAC9BE,EAAQ,KAAK,MAAOF,EAAO,MAAS,IAAI,EACxCG,EAAU,KAAK,MAAOH,EAAO,KAAQ,EAAE,EACvCI,EAAU,KAAK,MAAMJ,EAAO,EAAE,EAEpC,MAAO,CAAE,KAAAC,EAAM,MAAAC,EAAO,QAAAC,EAAS,QAAAC,EAAS,MAAOJ,CAAA,CACjD,EA2DaK,EAAgB,IAAIC,IAAkB,CACjD,MAAMC,GACH,OAAOD,EAAO,CAAC,GAAM,SACjBA,EAAO,CAAC,EACRA,EAAO,CAAC,GAAsD,cAAgB,EAO/EE,GAJJ,OAAOF,EAAO,CAAC,GAAM,SAChBA,EAAO,CAAC,EACRA,EAAO,CAAC,IAEc,aAAe,GAEtC,CAACN,EAAMS,CAAO,EAAIC,EAAAA,SAASX,EAAiBQ,CAAW,CAAC,EACxD,CAACI,EAAQC,CAAS,EAAIF,EAAAA,SAAS,CAACF,GAAe,CAACD,CAAW,EAEjEM,OAAAA,EAAAA,UAAU,IAAM,CACd,GAAIF,EAAQ,OACZ,MAAMG,EAAa,IAAM,CACvBL,EAASM,GAAa,CACpB,MAAMC,EAAeD,EAAS,MAAQ,EAEtC,OAAIC,EAAe,KAAO,EACjB,CACL,GAAGD,EACH,QAASA,EAAS,QAAU,EAC5B,QAAS,EACT,MAAOC,CAAA,EAIPA,GAAgB,GAAK,MAAQ,EACxB,CACL,GAAGD,EACH,MAAOA,EAAS,MAAQ,EACxB,QAAS,EACT,QAAS,EACT,MAAOC,CAAA,EAIPA,GAAgB,GAAK,GAAK,MAAQ,EAC7B,CACL,GAAGD,EACH,KAAMA,EAAS,KAAO,EACtB,MAAO,EACP,QAAS,EACT,QAAS,EACT,MAAOC,CAAA,EAIJ,CACL,GAAGD,EACH,QAASA,EAAS,QAAU,EAC5B,MAAOC,CAAA,CACT,CACD,CAAA,EAGGC,EAAW,YAAY,IAAMH,EAAA,EAAc,GAAI,EACrD,MAAO,IAAM,cAAcG,CAAQ,CAAA,EAClC,CAACN,CAAM,CAAC,EAEJ,CACL,GAAGX,EACH,OAAAW,EACA,MAAO,IAAMC,EAAU,EAAI,EAC3B,MAAO,IAAMA,EAAU,EAAK,EAC5B,MAAO,IAAMH,EAAQV,EAAiBQ,CAAW,CAAC,EAClD,OAAQ,IAAMK,EAAWM,GAAc,CAACA,CAAS,CAAA,CAErD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWindowEvent.cjs","sources":["../../../../src/hooks/useWindowEvent/useWindowEvent.ts"],"sourcesContent":["import { target } from '@/utils/helpers';\n\nimport type { UseEventListenerOptions } from '../useEventListener/useEventListener';\n\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/**\n * @name useWindowEvent\n * @description - Hook attaches an event listener to the window object for the specified event\n * @category
|
|
1
|
+
{"version":3,"file":"useWindowEvent.cjs","sources":["../../../../src/hooks/useWindowEvent/useWindowEvent.ts"],"sourcesContent":["import { target } from '@/utils/helpers';\n\nimport type { UseEventListenerOptions } from '../useEventListener/useEventListener';\n\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/**\n * @name useWindowEvent\n * @description - Hook attaches an event listener to the window object for the specified event\n * @category Sensors\n *\n * @template Event Key of window event map.\n * @param {Event} event The event to listen for.\n * @param {(event: WindowEventMap[Event]) => void} listener The callback function to be executed when the event is triggered\n * @param {UseEventListenerOptions} [options] The options for the event listener\n * @returns {void}\n *\n * @example\n * useWindowEvent('click', () => console.log('clicked'));\n */\nexport const useWindowEvent = <Event extends keyof WindowEventMap>(\n event: Event,\n listener: (this: Window, event: WindowEventMap[Event]) => any,\n options?: UseEventListenerOptions\n) => useEventListener(target(window), event, listener, options);\n"],"names":["useWindowEvent","event","listener","options","useEventListener","target"],"mappings":"4LAoBaA,EAAiB,CAC5BC,EACAC,EACAC,IACGC,EAAAA,iBAAiBC,EAAAA,OAAO,MAAM,EAAGJ,EAAOC,EAAUC,CAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWindowScroll.cjs","sources":["../../../../src/hooks/useWindowScroll/useWindowScroll.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nexport interface ScrollPosition {\n x: number;\n y: number;\n}\n\nexport const scrollTo = ({\n x,\n y,\n behavior = 'smooth'\n}: Partial<ScrollPosition & ScrollOptions>) => {\n const scrollOptions: ScrollToOptions = { behavior };\n if (typeof x === 'number') scrollOptions.left = x;\n if (typeof y === 'number') scrollOptions.top = y;\n window.scrollTo(scrollOptions);\n};\n\n/**\n * @name useWindowScroll\n * @description - Hook that manages the window scroll position\n * @category
|
|
1
|
+
{"version":3,"file":"useWindowScroll.cjs","sources":["../../../../src/hooks/useWindowScroll/useWindowScroll.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nexport interface ScrollPosition {\n x: number;\n y: number;\n}\n\nexport const scrollTo = ({\n x,\n y,\n behavior = 'smooth'\n}: Partial<ScrollPosition & ScrollOptions>) => {\n const scrollOptions: ScrollToOptions = { behavior };\n if (typeof x === 'number') scrollOptions.left = x;\n if (typeof y === 'number') scrollOptions.top = y;\n window.scrollTo(scrollOptions);\n};\n\n/**\n * @name useWindowScroll\n * @description - Hook that manages the window scroll position\n * @category Sensors\n *\n * @returns {UseWindowScrollReturn} An object containing the current window scroll position\n *\n * @example\n * const { value, scrollTo } = useWindowScroll();\n */\nexport const useWindowScroll = () => {\n const [value, setValue] = useState<ScrollPosition>({\n x: typeof window !== 'undefined' ? window.scrollX : Number.POSITIVE_INFINITY,\n y: typeof window !== 'undefined' ? window.scrollY : Number.POSITIVE_INFINITY\n });\n\n useEffect(() => {\n const onChange = () => setValue({ x: window.scrollX, y: window.scrollY });\n window.addEventListener('scroll', onChange);\n window.addEventListener('resize', onChange);\n return () => {\n window.removeEventListener('scroll', onChange);\n window.removeEventListener('resize', onChange);\n };\n }, []);\n\n return { value, scrollTo };\n};\n"],"names":["scrollTo","x","y","behavior","scrollOptions","useWindowScroll","value","setValue","useState","useEffect","onChange"],"mappings":"yGAOaA,EAAW,CAAC,CACvB,EAAAC,EACA,EAAAC,EACA,SAAAC,EAAW,QACb,IAA+C,CAC7C,MAAMC,EAAiC,CAAE,SAAAD,CAAA,EACrC,OAAOF,GAAM,WAAUG,EAAc,KAAOH,GAC5C,OAAOC,GAAM,WAAUE,EAAc,IAAMF,GAC/C,OAAO,SAASE,CAAa,CAC/B,EAYaC,EAAkB,IAAM,CACnC,KAAM,CAACC,EAAOC,CAAQ,EAAIC,WAAyB,CACjD,EAAG,OAAO,OAAW,IAAc,OAAO,QAAU,OAAO,kBAC3D,EAAG,OAAO,OAAW,IAAc,OAAO,QAAU,OAAO,iBAAA,CAC5D,EAEDC,OAAAA,EAAAA,UAAU,IAAM,CACd,MAAMC,EAAW,IAAMH,EAAS,CAAE,EAAG,OAAO,QAAS,EAAG,OAAO,QAAS,EACxE,cAAO,iBAAiB,SAAUG,CAAQ,EAC1C,OAAO,iBAAiB,SAAUA,CAAQ,EACnC,IAAM,CACX,OAAO,oBAAoB,SAAUA,CAAQ,EAC7C,OAAO,oBAAoB,SAAUA,CAAQ,CAAA,CAC/C,EACC,EAAE,EAEE,CAAE,MAAAJ,EAAO,SAAAN,CAAA,CAClB"}
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("./helpers/createContext/createContext.cjs"),y=require("./helpers/createEventEmitter/createEventEmitter.cjs"),I=require("./helpers/createReactiveContext/createReactiveContext.cjs"),O=require("./helpers/createStore/createStore.cjs"),v=require("./hooks/useActiveElement/useActiveElement.cjs"),k=require("./hooks/useAsync/useAsync.cjs"),h=require("./hooks/useAudio/useAudio.cjs"),A=require("./hooks/useBattery/useBattery.cjs"),D=require("./hooks/useBluetooth/useBluetooth.cjs"),M=require("./hooks/useBoolean/useBoolean.cjs"),e=require("./hooks/useBreakpoints/useBreakpoints.cjs"),L=require("./hooks/useBroadcastChannel/useBroadcastChannel.cjs"),b=require("./hooks/useBrowserLanguage/useBrowserLanguage.cjs"),f=require("./hooks/useClickOutside/useClickOutside.cjs"),_=require("./hooks/useClipboard/useClipboard.cjs"),N=require("./hooks/useConst/useConst.cjs"),s=require("./hooks/useCookie/useCookie.cjs"),i=require("./hooks/useCookies/useCookies.cjs"),B=require("./hooks/useCopy/useCopy.cjs"),F=require("./hooks/useCounter/useCounter.cjs"),K=require("./hooks/useCssVar/useCssVar.cjs"),V=require("./hooks/useDebounceCallback/useDebounceCallback.cjs"),U=require("./hooks/useDebounceValue/useDebounceValue.cjs"),w=require("./hooks/useDefault/useDefault.cjs"),W=require("./hooks/useDeviceMotion/useDeviceMotion.cjs"),H=require("./hooks/useDeviceOrientation/useDeviceOrientation.cjs"),x=require("./hooks/useDevicePixelRatio/useDevicePixelRatio.cjs"),Q=require("./hooks/useDidUpdate/useDidUpdate.cjs"),z=require("./hooks/useDisclosure/useDisclosure.cjs"),G=require("./hooks/useDisplayMedia/useDisplayMedia.cjs"),X=require("./hooks/useDocumentEvent/useDocumentEvent.cjs"),Z=require("./hooks/useDocumentTitle/useDocumentTitle.cjs"),j=require("./hooks/useDocumentVisibility/useDocumentVisibility.cjs"),n=require("./hooks/useDoubleClick/useDoubleClick.cjs"),J=require("./hooks/useDropZone/useDropZone.cjs"),Y=require("./hooks/useElementSize/useElementSize.cjs"),$=require("./hooks/useEvent/useEvent.cjs"),ee=require("./hooks/useEventListener/useEventListener.cjs"),se=require("./hooks/useEventSource/useEventSource.cjs"),ue=require("./hooks/useEyeDropper/useEyeDropper.cjs"),re=require("./hooks/useFavicon/useFavicon.cjs"),te=require("./hooks/useField/useField.cjs"),oe=require("./hooks/useFileDialog/useFileDialog.cjs"),ie=require("./hooks/useFocus/useFocus.cjs"),ne=require("./hooks/useFps/useFps.cjs"),ce=require("./hooks/useFul/useFul.cjs"),ae=require("./hooks/useFullscreen/useFullscreen.cjs"),c=require("./hooks/useGamepad/useGamepad.cjs"),le=require("./hooks/useGeolocation/useGeolocation.cjs"),Se=require("./hooks/useHash/useHash.cjs"),a=require("./hooks/useHotkeys/useHotkeys.cjs"),qe=require("./hooks/useHover/useHover.cjs"),de=require("./hooks/useIdle/useIdle.cjs"),Ee=require("./hooks/useImage/useImage.cjs"),ge=require("./hooks/useInfiniteScroll/useInfiniteScroll.cjs"),Pe=require("./hooks/useIntersectionObserver/useIntersectionObserver.cjs"),Te=require("./hooks/useInterval/useInterval.cjs"),Ce=require("./hooks/useIsFirstRender/useIsFirstRender.cjs"),me=require("./hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.cjs"),Re=require("./hooks/useKeyboard/useKeyboard.cjs"),pe=require("./hooks/useKeyPress/useKeyPress.cjs"),ye=require("./hooks/useKeyPressEvent/useKeyPressEvent.cjs"),Ie=require("./hooks/useKeysPressed/useKeysPressed.cjs"),Oe=require("./hooks/useLastChanged/useLastChanged.cjs"),ve=require("./hooks/useLatest/useLatest.cjs"),ke=require("./hooks/useLess/useLess.cjs"),he=require("./hooks/useList/useList.cjs"),Ae=require("./hooks/useLocalStorage/useLocalStorage.cjs"),De=require("./hooks/useLockCallback/useLockCallback.cjs"),Me=require("./hooks/useLogger/useLogger.cjs"),Le=require("./hooks/useLongPress/useLongPress.cjs"),be=require("./hooks/useMap/useMap.cjs"),fe=require("./hooks/useMeasure/useMeasure.cjs"),l=require("./hooks/useMediaControls/useMediaControls.cjs"),_e=require("./hooks/useMediaQuery/useMediaQuery.cjs"),Ne=require("./hooks/useMemory/useMemory.cjs"),Be=require("./hooks/useMount/useMount.cjs"),Fe=require("./hooks/useMouse/useMouse.cjs"),Ke=require("./hooks/useMutation/useMutation.cjs"),Ve=require("./hooks/useMutationObserver/useMutationObserver.cjs"),S=require("./hooks/useNetwork/useNetwork.cjs"),Ue=require("./hooks/useOffsetPagination/useOffsetPagination.cjs"),we=require("./hooks/useOnce/useOnce.cjs"),We=require("./hooks/useOnline/useOnline.cjs"),q=require("./hooks/useOperatingSystem/useOperatingSystem.cjs"),He=require("./hooks/useOptimistic/useOptimistic.cjs"),xe=require("./hooks/useOrientation/useOrientation.cjs"),Qe=require("./hooks/useOtpCredential/useOtpCredential.cjs"),ze=require("./hooks/usePageLeave/usePageLeave.cjs"),r=require("./hooks/usePaint/usePaint.cjs"),Ge=require("./hooks/useParallax/useParallax.cjs"),Xe=require("./hooks/usePerformanceObserver/usePerformanceObserver.cjs"),Ze=require("./hooks/usePermission/usePermission.cjs"),je=require("./hooks/usePictureInPicture/usePictureInPicture.cjs"),Je=require("./hooks/usePointerLock/usePointerLock.cjs"),Ye=require("./hooks/usePostMessage/usePostMessage.cjs"),$e=require("./hooks/usePreferredColorScheme/usePreferredColorScheme.cjs"),es=require("./hooks/usePreferredContrast/usePreferredContrast.cjs"),ss=require("./hooks/usePreferredDark/usePreferredDark.cjs"),us=require("./hooks/usePreferredLanguages/usePreferredLanguages.cjs"),rs=require("./hooks/usePreferredReducedMotion/usePreferredReducedMotion.cjs"),ts=require("./hooks/usePrevious/usePrevious.cjs"),os=require("./hooks/useQuery/useQuery.cjs"),is=require("./hooks/useQueue/useQueue.cjs"),ns=require("./hooks/useRaf/useRaf.cjs"),cs=require("./hooks/useRafValue/useRafValue.cjs"),as=require("./hooks/useRefState/useRefState.cjs"),ls=require("./hooks/useRenderCount/useRenderCount.cjs"),Ss=require("./hooks/useRenderInfo/useRenderInfo.cjs"),qs=require("./hooks/useRerender/useRerender.cjs"),ds=require("./hooks/useResizeObserver/useResizeObserver.cjs"),Es=require("./hooks/useScreenOrientation/useScreenOrientation.cjs"),d=require("./hooks/useScript/useScript.cjs"),gs=require("./hooks/useScroll/useScroll.cjs"),Ps=require("./hooks/useScrollIntoView/useScrollIntoView.cjs"),Ts=require("./hooks/useScrollTo/useScrollTo.cjs"),Cs=require("./hooks/useSessionStorage/useSessionStorage.cjs"),ms=require("./hooks/useSet/useSet.cjs"),E=require("./hooks/useShallowEffect/useShallowEffect.cjs"),Rs=require("./hooks/useShare/useShare.cjs"),g=require("./hooks/useSpeechRecognition/useSpeechRecognition.cjs"),ps=require("./hooks/useSpeechSynthesis/useSpeechSynthesis.cjs"),P=require("./hooks/useStateHistory/useStateHistory.cjs"),ys=require("./hooks/useStep/useStep.cjs"),Is=require("./hooks/useSticky/useSticky.cjs"),Os=require("./hooks/useStopwatch/useStopwatch.cjs"),t=require("./hooks/useStorage/useStorage.cjs"),vs=require("./hooks/useTextDirection/useTextDirection.cjs"),T=require("./hooks/useTextSelection/useTextSelection.cjs"),ks=require("./hooks/useThrottleCallback/useThrottleCallback.cjs"),hs=require("./hooks/useThrottleValue/useThrottleValue.cjs"),As=require("./hooks/useTime/useTime.cjs"),Ds=require("./hooks/useTimeout/useTimeout.cjs"),C=require("./hooks/useTimer/useTimer.cjs"),Ms=require("./hooks/useToggle/useToggle.cjs"),Ls=require("./hooks/useUnmount/useUnmount.cjs"),u=require("./hooks/useUrlSearchParam/useUrlSearchParam.cjs"),bs=require("./hooks/useUrlSearchParams/useUrlSearchParams.cjs"),fs=require("./hooks/useVibrate/useVibrate.cjs"),_s=require("./hooks/useWakeLock/useWakeLock.cjs"),Ns=require("./hooks/useWebSocket/useWebSocket.cjs"),Bs=require("./hooks/useWindowEvent/useWindowEvent.cjs"),Fs=require("./hooks/useWindowFocus/useWindowFocus.cjs"),m=require("./hooks/useWindowScroll/useWindowScroll.cjs"),Ks=require("./hooks/useWindowSize/useWindowSize.cjs"),Vs=require("./hooks/useWizard/useWizard.cjs"),R=require("./utils/helpers/copy.cjs"),Us=require("./utils/helpers/debounce.cjs"),ws=require("./utils/helpers/getDate.cjs"),o=require("./utils/helpers/getElement.cjs"),Ws=require("./utils/helpers/getRetry.cjs"),Hs=require("./utils/helpers/isTarget.cjs"),xs=require("./utils/helpers/throttle.cjs");exports.createContext=p.createContext;exports.createEventEmitter=y.createEventEmitter;exports.createReactiveContext=I.createReactiveContext;exports.createStore=O.createStore;exports.useActiveElement=v.useActiveElement;exports.useAsync=k.useAsync;exports.useAudio=h.useAudio;exports.useBattery=A.useBattery;exports.useBluetooth=D.useBluetooth;exports.useBoolean=M.useBoolean;exports.BREAKPOINTS_ANT_DESIGN=e.BREAKPOINTS_ANT_DESIGN;exports.BREAKPOINTS_BOOTSTRAP_V5=e.BREAKPOINTS_BOOTSTRAP_V5;exports.BREAKPOINTS_MANTINE=e.BREAKPOINTS_MANTINE;exports.BREAKPOINTS_MASTER_CSS=e.BREAKPOINTS_MASTER_CSS;exports.BREAKPOINTS_MATERIAL_UI=e.BREAKPOINTS_MATERIAL_UI;exports.BREAKPOINTS_PRIME_FLEX=e.BREAKPOINTS_PRIME_FLEX;exports.BREAKPOINTS_QUASAR_V2=e.BREAKPOINTS_QUASAR_V2;exports.BREAKPOINTS_SEMANTIC=e.BREAKPOINTS_SEMANTIC;exports.BREAKPOINTS_TAILWIND=e.BREAKPOINTS_TAILWIND;exports.useBreakpoints=e.useBreakpoints;exports.useBroadcastChannel=L.useBroadcastChannel;exports.useBrowserLanguage=b.useBrowserLanguage;exports.useClickOutside=f.useClickOutside;exports.useClipboard=_.useClipboard;exports.useConst=N.useConst;exports.COOKIE_EVENT=s.COOKIE_EVENT;exports.dispatchCookieEvent=s.dispatchCookieEvent;exports.getCookie=s.getCookie;exports.getCookies=s.getCookies;exports.removeCookie=s.removeCookie;exports.removeCookieItem=s.removeCookieItem;exports.setCookie=s.setCookie;exports.setCookieItem=s.setCookieItem;exports.useCookie=s.useCookie;exports.clearCookies=i.clearCookies;exports.useCookies=i.useCookies;exports.useCopy=B.useCopy;exports.useCounter=F.useCounter;exports.useCssVar=K.useCssVar;exports.useDebounceCallback=V.useDebounceCallback;exports.useDebounceValue=U.useDebounceValue;exports.useDefault=w.useDefault;exports.useDeviceMotion=W.useDeviceMotion;exports.useDeviceOrientation=H.useDeviceOrientation;exports.useDevicePixelRatio=x.useDevicePixelRatio;exports.useDidUpdate=Q.useDidUpdate;exports.useDisclosure=z.useDisclosure;exports.useDisplayMedia=G.useDisplayMedia;exports.useDocumentEvent=X.useDocumentEvent;exports.useDocumentTitle=Z.useDocumentTitle;exports.useDocumentVisibility=j.useDocumentVisibility;exports.DEFAULT_THRESHOLD_TIME=n.DEFAULT_THRESHOLD_TIME;exports.useDoubleClick=n.useDoubleClick;exports.useDropZone=J.useDropZone;exports.useElementSize=Y.useElementSize;exports.useEvent=$.useEvent;exports.useEventListener=ee.useEventListener;exports.useEventSource=se.useEventSource;exports.useEyeDropper=ue.useEyeDropper;exports.useFavicon=re.useFavicon;exports.useField=te.useField;exports.useFileDialog=oe.useFileDialog;exports.useFocus=ie.useFocus;exports.useFps=ne.useFps;exports.useFul=ce.useFul;exports.useFullscreen=ae.useFullscreen;exports.mapGamepadToXbox360Controller=c.mapGamepadToXbox360Controller;exports.useGamepad=c.useGamepad;exports.useGeolocation=le.useGeolocation;exports.useHash=Se.useHash;exports.isHotkeyMatch=a.isHotkeyMatch;exports.useHotkeys=a.useHotkeys;exports.useHover=qe.useHover;exports.useIdle=de.useIdle;exports.useImage=Ee.useImage;exports.useInfiniteScroll=ge.useInfiniteScroll;exports.useIntersectionObserver=Pe.useIntersectionObserver;exports.useInterval=Te.useInterval;exports.useIsFirstRender=Ce.useIsFirstRender;exports.useIsomorphicLayoutEffect=me.useIsomorphicLayoutEffect;exports.useKeyboard=Re.useKeyboard;exports.useKeyPress=pe.useKeyPress;exports.useKeyPressEvent=ye.useKeyPressEvent;exports.useKeysPressed=Ie.useKeysPressed;exports.useLastChanged=Oe.useLastChanged;exports.useLatest=ve.useLatest;exports.useLess=ke.useLess;exports.useList=he.useList;exports.useLocalStorage=Ae.useLocalStorage;exports.useLockCallback=De.useLockCallback;exports.useLogger=Me.useLogger;exports.useLongPress=Le.useLongPress;exports.useMap=be.useMap;exports.useMeasure=fe.useMeasure;exports.timeRangeToArray=l.timeRangeToArray;exports.useMediaControls=l.useMediaControls;exports.useMediaQuery=_e.useMediaQuery;exports.useMemory=Ne.useMemory;exports.useMount=Be.useMount;exports.useMouse=Fe.useMouse;exports.useMutation=Ke.useMutation;exports.useMutationObserver=Ve.useMutationObserver;exports.getConnection=S.getConnection;exports.useNetwork=S.useNetwork;exports.useOffsetPagination=Ue.useOffsetPagination;exports.useOnce=we.useOnce;exports.useOnline=We.useOnline;exports.getOperatingSystem=q.getOperatingSystem;exports.useOperatingSystem=q.useOperatingSystem;exports.useOptimistic=He.useOptimistic;exports.useOrientation=xe.useOrientation;exports.useOtpCredential=Qe.useOtpCredential;exports.usePageLeave=ze.usePageLeave;exports.Paint=r.Paint;exports.Pointer=r.Pointer;exports.usePaint=r.usePaint;exports.useParallax=Ge.useParallax;exports.usePerformanceObserver=Xe.usePerformanceObserver;exports.usePermission=Ze.usePermission;exports.usePictureInPicture=je.usePictureInPicture;exports.usePointerLock=Je.usePointerLock;exports.usePostMessage=Ye.usePostMessage;exports.usePreferredColorScheme=$e.usePreferredColorScheme;exports.usePreferredContrast=es.usePreferredContrast;exports.usePreferredDark=ss.usePreferredDark;exports.usePreferredLanguages=us.usePreferredLanguages;exports.usePreferredReducedMotion=rs.usePreferredReducedMotion;exports.usePrevious=ts.usePrevious;exports.useQuery=os.useQuery;exports.useQueue=is.useQueue;exports.useRaf=ns.useRaf;exports.useRafValue=cs.useRafValue;exports.useRefState=as.useRefState;exports.useRenderCount=ls.useRenderCount;exports.useRenderInfo=Ss.useRenderInfo;exports.useRerender=qs.useRerender;exports.useResizeObserver=ds.useResizeObserver;exports.useScreenOrientation=Es.useScreenOrientation;exports.SCRIPT_STATUS_ATTRIBUTE_NAME=d.SCRIPT_STATUS_ATTRIBUTE_NAME;exports.useScript=d.useScript;exports.useScroll=gs.useScroll;exports.useScrollIntoView=Ps.useScrollIntoView;exports.useScrollTo=Ts.useScrollTo;exports.useSessionStorage=Cs.useSessionStorage;exports.useSet=ms.useSet;exports.deepEqual=E.deepEqual;exports.useShallowEffect=E.useShallowEffect;exports.useShare=Rs.useShare;exports.getSpeechRecognition=g.getSpeechRecognition;exports.useSpeechRecognition=g.useSpeechRecognition;exports.useSpeechSynthesis=ps.useSpeechSynthesis;exports.stateHistoryReducer=P.stateHistoryReducer;exports.useStateHistory=P.useStateHistory;exports.useStep=ys.useStep;exports.useSticky=Is.useSticky;exports.useStopwatch=Os.useStopwatch;exports.STORAGE_EVENT=t.STORAGE_EVENT;exports.dispatchStorageEvent=t.dispatchStorageEvent;exports.useStorage=t.useStorage;exports.useTextDirection=vs.useTextDirection;exports.getRangesSelection=T.getRangesSelection;exports.useTextSelection=T.useTextSelection;exports.useThrottleCallback=ks.useThrottleCallback;exports.useThrottleValue=hs.useThrottleValue;exports.useTime=As.useTime;exports.useTimeout=Ds.useTimeout;exports.getTimeFromSeconds=C.getTimeFromSeconds;exports.useTimer=C.useTimer;exports.useToggle=Ms.useToggle;exports.useUnmount=Ls.useUnmount;exports.URL_SEARCH_PARAMS_EVENT=u.URL_SEARCH_PARAMS_EVENT;exports.createQueryString=u.createQueryString;exports.dispatchUrlSearchParamsEvent=u.dispatchUrlSearchParamsEvent;exports.getUrlSearchParams=u.getUrlSearchParams;exports.useUrlSearchParam=u.useUrlSearchParam;exports.useUrlSearchParams=bs.useUrlSearchParams;exports.useVibrate=fs.useVibrate;exports.useWakeLock=_s.useWakeLock;exports.useWebSocket=Ns.useWebSocket;exports.useWindowEvent=Bs.useWindowEvent;exports.useWindowFocus=Fs.useWindowFocus;exports.scrollTo=m.scrollTo;exports.useWindowScroll=m.useWindowScroll;exports.useWindowSize=Ks.useWindowSize;exports.useWizard=Vs.useWizard;exports.copy=R.copy;exports.legacyCopyToClipboard=R.legacyCopyToClipboard;exports.debounce=Us.debounce;exports.getDate=ws.getDate;exports.getElement=o.getElement;exports.target=o.target;exports.targetSymbol=o.targetSymbol;exports.getRetry=Ws.getRetry;exports.isTarget=Hs.isTarget;exports.throttle=xs.throttle;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("./helpers/createContext/createContext.cjs"),y=require("./helpers/createEventEmitter/createEventEmitter.cjs"),I=require("./helpers/createReactiveContext/createReactiveContext.cjs"),O=require("./helpers/createStore/createStore.cjs"),v=require("./hooks/useActiveElement/useActiveElement.cjs"),k=require("./hooks/useAsync/useAsync.cjs"),A=require("./hooks/useAudio/useAudio.cjs"),h=require("./hooks/useAutoScroll/useAutoScroll.cjs"),D=require("./hooks/useBattery/useBattery.cjs"),M=require("./hooks/useBluetooth/useBluetooth.cjs"),L=require("./hooks/useBoolean/useBoolean.cjs"),e=require("./hooks/useBreakpoints/useBreakpoints.cjs"),b=require("./hooks/useBroadcastChannel/useBroadcastChannel.cjs"),f=require("./hooks/useBrowserLanguage/useBrowserLanguage.cjs"),_=require("./hooks/useClickOutside/useClickOutside.cjs"),N=require("./hooks/useClipboard/useClipboard.cjs"),B=require("./hooks/useConst/useConst.cjs"),s=require("./hooks/useCookie/useCookie.cjs"),i=require("./hooks/useCookies/useCookies.cjs"),F=require("./hooks/useCopy/useCopy.cjs"),K=require("./hooks/useCounter/useCounter.cjs"),V=require("./hooks/useCssVar/useCssVar.cjs"),U=require("./hooks/useDebounceCallback/useDebounceCallback.cjs"),w=require("./hooks/useDebounceValue/useDebounceValue.cjs"),W=require("./hooks/useDefault/useDefault.cjs"),H=require("./hooks/useDeviceMotion/useDeviceMotion.cjs"),x=require("./hooks/useDeviceOrientation/useDeviceOrientation.cjs"),Q=require("./hooks/useDevicePixelRatio/useDevicePixelRatio.cjs"),z=require("./hooks/useDidUpdate/useDidUpdate.cjs"),G=require("./hooks/useDisclosure/useDisclosure.cjs"),X=require("./hooks/useDisplayMedia/useDisplayMedia.cjs"),Z=require("./hooks/useDocumentEvent/useDocumentEvent.cjs"),j=require("./hooks/useDocumentTitle/useDocumentTitle.cjs"),J=require("./hooks/useDocumentVisibility/useDocumentVisibility.cjs"),n=require("./hooks/useDoubleClick/useDoubleClick.cjs"),Y=require("./hooks/useDropZone/useDropZone.cjs"),$=require("./hooks/useElementSize/useElementSize.cjs"),ee=require("./hooks/useEvent/useEvent.cjs"),se=require("./hooks/useEventListener/useEventListener.cjs"),ue=require("./hooks/useEventSource/useEventSource.cjs"),re=require("./hooks/useEyeDropper/useEyeDropper.cjs"),te=require("./hooks/useFavicon/useFavicon.cjs"),oe=require("./hooks/useField/useField.cjs"),ie=require("./hooks/useFileDialog/useFileDialog.cjs"),ne=require("./hooks/useFocus/useFocus.cjs"),ce=require("./hooks/useFps/useFps.cjs"),ae=require("./hooks/useFul/useFul.cjs"),le=require("./hooks/useFullscreen/useFullscreen.cjs"),c=require("./hooks/useGamepad/useGamepad.cjs"),Se=require("./hooks/useGeolocation/useGeolocation.cjs"),qe=require("./hooks/useHash/useHash.cjs"),a=require("./hooks/useHotkeys/useHotkeys.cjs"),de=require("./hooks/useHover/useHover.cjs"),Ee=require("./hooks/useIdle/useIdle.cjs"),ge=require("./hooks/useImage/useImage.cjs"),Pe=require("./hooks/useInfiniteScroll/useInfiniteScroll.cjs"),Te=require("./hooks/useIntersectionObserver/useIntersectionObserver.cjs"),Ce=require("./hooks/useInterval/useInterval.cjs"),me=require("./hooks/useIsFirstRender/useIsFirstRender.cjs"),Re=require("./hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.cjs"),pe=require("./hooks/useKeyboard/useKeyboard.cjs"),ye=require("./hooks/useKeyPress/useKeyPress.cjs"),Ie=require("./hooks/useKeyPressEvent/useKeyPressEvent.cjs"),Oe=require("./hooks/useKeysPressed/useKeysPressed.cjs"),ve=require("./hooks/useLastChanged/useLastChanged.cjs"),ke=require("./hooks/useLatest/useLatest.cjs"),Ae=require("./hooks/useLess/useLess.cjs"),he=require("./hooks/useList/useList.cjs"),De=require("./hooks/useLocalStorage/useLocalStorage.cjs"),Me=require("./hooks/useLockCallback/useLockCallback.cjs"),Le=require("./hooks/useLogger/useLogger.cjs"),be=require("./hooks/useLongPress/useLongPress.cjs"),fe=require("./hooks/useMap/useMap.cjs"),_e=require("./hooks/useMeasure/useMeasure.cjs"),l=require("./hooks/useMediaControls/useMediaControls.cjs"),Ne=require("./hooks/useMediaQuery/useMediaQuery.cjs"),Be=require("./hooks/useMemory/useMemory.cjs"),Fe=require("./hooks/useMount/useMount.cjs"),Ke=require("./hooks/useMouse/useMouse.cjs"),Ve=require("./hooks/useMutation/useMutation.cjs"),Ue=require("./hooks/useMutationObserver/useMutationObserver.cjs"),S=require("./hooks/useNetwork/useNetwork.cjs"),we=require("./hooks/useOffsetPagination/useOffsetPagination.cjs"),We=require("./hooks/useOnce/useOnce.cjs"),He=require("./hooks/useOnline/useOnline.cjs"),q=require("./hooks/useOperatingSystem/useOperatingSystem.cjs"),xe=require("./hooks/useOptimistic/useOptimistic.cjs"),Qe=require("./hooks/useOrientation/useOrientation.cjs"),ze=require("./hooks/useOtpCredential/useOtpCredential.cjs"),Ge=require("./hooks/usePageLeave/usePageLeave.cjs"),r=require("./hooks/usePaint/usePaint.cjs"),Xe=require("./hooks/useParallax/useParallax.cjs"),Ze=require("./hooks/usePerformanceObserver/usePerformanceObserver.cjs"),je=require("./hooks/usePermission/usePermission.cjs"),Je=require("./hooks/usePictureInPicture/usePictureInPicture.cjs"),Ye=require("./hooks/usePointerLock/usePointerLock.cjs"),$e=require("./hooks/usePostMessage/usePostMessage.cjs"),es=require("./hooks/usePreferredColorScheme/usePreferredColorScheme.cjs"),ss=require("./hooks/usePreferredContrast/usePreferredContrast.cjs"),us=require("./hooks/usePreferredDark/usePreferredDark.cjs"),rs=require("./hooks/usePreferredLanguages/usePreferredLanguages.cjs"),ts=require("./hooks/usePreferredReducedMotion/usePreferredReducedMotion.cjs"),os=require("./hooks/usePrevious/usePrevious.cjs"),is=require("./hooks/useQuery/useQuery.cjs"),ns=require("./hooks/useQueue/useQueue.cjs"),cs=require("./hooks/useRaf/useRaf.cjs"),as=require("./hooks/useRafValue/useRafValue.cjs"),ls=require("./hooks/useRefState/useRefState.cjs"),Ss=require("./hooks/useRenderCount/useRenderCount.cjs"),qs=require("./hooks/useRenderInfo/useRenderInfo.cjs"),ds=require("./hooks/useRerender/useRerender.cjs"),Es=require("./hooks/useResizeObserver/useResizeObserver.cjs"),gs=require("./hooks/useScreenOrientation/useScreenOrientation.cjs"),d=require("./hooks/useScript/useScript.cjs"),Ps=require("./hooks/useScroll/useScroll.cjs"),Ts=require("./hooks/useScrollIntoView/useScrollIntoView.cjs"),Cs=require("./hooks/useScrollTo/useScrollTo.cjs"),ms=require("./hooks/useSessionStorage/useSessionStorage.cjs"),Rs=require("./hooks/useSet/useSet.cjs"),E=require("./hooks/useShallowEffect/useShallowEffect.cjs"),ps=require("./hooks/useShare/useShare.cjs"),g=require("./hooks/useSpeechRecognition/useSpeechRecognition.cjs"),ys=require("./hooks/useSpeechSynthesis/useSpeechSynthesis.cjs"),P=require("./hooks/useStateHistory/useStateHistory.cjs"),Is=require("./hooks/useStep/useStep.cjs"),Os=require("./hooks/useSticky/useSticky.cjs"),vs=require("./hooks/useStopwatch/useStopwatch.cjs"),t=require("./hooks/useStorage/useStorage.cjs"),ks=require("./hooks/useTextDirection/useTextDirection.cjs"),T=require("./hooks/useTextSelection/useTextSelection.cjs"),As=require("./hooks/useThrottleCallback/useThrottleCallback.cjs"),hs=require("./hooks/useThrottleValue/useThrottleValue.cjs"),Ds=require("./hooks/useTime/useTime.cjs"),Ms=require("./hooks/useTimeout/useTimeout.cjs"),C=require("./hooks/useTimer/useTimer.cjs"),Ls=require("./hooks/useToggle/useToggle.cjs"),bs=require("./hooks/useUnmount/useUnmount.cjs"),u=require("./hooks/useUrlSearchParam/useUrlSearchParam.cjs"),fs=require("./hooks/useUrlSearchParams/useUrlSearchParams.cjs"),_s=require("./hooks/useVibrate/useVibrate.cjs"),Ns=require("./hooks/useWakeLock/useWakeLock.cjs"),Bs=require("./hooks/useWebSocket/useWebSocket.cjs"),Fs=require("./hooks/useWindowEvent/useWindowEvent.cjs"),Ks=require("./hooks/useWindowFocus/useWindowFocus.cjs"),m=require("./hooks/useWindowScroll/useWindowScroll.cjs"),Vs=require("./hooks/useWindowSize/useWindowSize.cjs"),Us=require("./hooks/useWizard/useWizard.cjs"),R=require("./utils/helpers/copy.cjs"),ws=require("./utils/helpers/debounce.cjs"),Ws=require("./utils/helpers/getDate.cjs"),o=require("./utils/helpers/getElement.cjs"),Hs=require("./utils/helpers/getRetry.cjs"),xs=require("./utils/helpers/isTarget.cjs"),Qs=require("./utils/helpers/throttle.cjs");exports.createContext=p.createContext;exports.createEventEmitter=y.createEventEmitter;exports.createReactiveContext=I.createReactiveContext;exports.createStore=O.createStore;exports.useActiveElement=v.useActiveElement;exports.useAsync=k.useAsync;exports.useAudio=A.useAudio;exports.useAutoScroll=h.useAutoScroll;exports.useBattery=D.useBattery;exports.useBluetooth=M.useBluetooth;exports.useBoolean=L.useBoolean;exports.BREAKPOINTS_ANT_DESIGN=e.BREAKPOINTS_ANT_DESIGN;exports.BREAKPOINTS_BOOTSTRAP_V5=e.BREAKPOINTS_BOOTSTRAP_V5;exports.BREAKPOINTS_MANTINE=e.BREAKPOINTS_MANTINE;exports.BREAKPOINTS_MASTER_CSS=e.BREAKPOINTS_MASTER_CSS;exports.BREAKPOINTS_MATERIAL_UI=e.BREAKPOINTS_MATERIAL_UI;exports.BREAKPOINTS_PRIME_FLEX=e.BREAKPOINTS_PRIME_FLEX;exports.BREAKPOINTS_QUASAR_V2=e.BREAKPOINTS_QUASAR_V2;exports.BREAKPOINTS_SEMANTIC=e.BREAKPOINTS_SEMANTIC;exports.BREAKPOINTS_TAILWIND=e.BREAKPOINTS_TAILWIND;exports.useBreakpoints=e.useBreakpoints;exports.useBroadcastChannel=b.useBroadcastChannel;exports.useBrowserLanguage=f.useBrowserLanguage;exports.useClickOutside=_.useClickOutside;exports.useClipboard=N.useClipboard;exports.useConst=B.useConst;exports.COOKIE_EVENT=s.COOKIE_EVENT;exports.dispatchCookieEvent=s.dispatchCookieEvent;exports.getCookie=s.getCookie;exports.getCookies=s.getCookies;exports.removeCookie=s.removeCookie;exports.removeCookieItem=s.removeCookieItem;exports.setCookie=s.setCookie;exports.setCookieItem=s.setCookieItem;exports.useCookie=s.useCookie;exports.clearCookies=i.clearCookies;exports.useCookies=i.useCookies;exports.useCopy=F.useCopy;exports.useCounter=K.useCounter;exports.useCssVar=V.useCssVar;exports.useDebounceCallback=U.useDebounceCallback;exports.useDebounceValue=w.useDebounceValue;exports.useDefault=W.useDefault;exports.useDeviceMotion=H.useDeviceMotion;exports.useDeviceOrientation=x.useDeviceOrientation;exports.useDevicePixelRatio=Q.useDevicePixelRatio;exports.useDidUpdate=z.useDidUpdate;exports.useDisclosure=G.useDisclosure;exports.useDisplayMedia=X.useDisplayMedia;exports.useDocumentEvent=Z.useDocumentEvent;exports.useDocumentTitle=j.useDocumentTitle;exports.useDocumentVisibility=J.useDocumentVisibility;exports.DEFAULT_THRESHOLD_TIME=n.DEFAULT_THRESHOLD_TIME;exports.useDoubleClick=n.useDoubleClick;exports.useDropZone=Y.useDropZone;exports.useElementSize=$.useElementSize;exports.useEvent=ee.useEvent;exports.useEventListener=se.useEventListener;exports.useEventSource=ue.useEventSource;exports.useEyeDropper=re.useEyeDropper;exports.useFavicon=te.useFavicon;exports.useField=oe.useField;exports.useFileDialog=ie.useFileDialog;exports.useFocus=ne.useFocus;exports.useFps=ce.useFps;exports.useFul=ae.useFul;exports.useFullscreen=le.useFullscreen;exports.mapGamepadToXbox360Controller=c.mapGamepadToXbox360Controller;exports.useGamepad=c.useGamepad;exports.useGeolocation=Se.useGeolocation;exports.useHash=qe.useHash;exports.isHotkeyMatch=a.isHotkeyMatch;exports.useHotkeys=a.useHotkeys;exports.useHover=de.useHover;exports.useIdle=Ee.useIdle;exports.useImage=ge.useImage;exports.useInfiniteScroll=Pe.useInfiniteScroll;exports.useIntersectionObserver=Te.useIntersectionObserver;exports.useInterval=Ce.useInterval;exports.useIsFirstRender=me.useIsFirstRender;exports.useIsomorphicLayoutEffect=Re.useIsomorphicLayoutEffect;exports.useKeyboard=pe.useKeyboard;exports.useKeyPress=ye.useKeyPress;exports.useKeyPressEvent=Ie.useKeyPressEvent;exports.useKeysPressed=Oe.useKeysPressed;exports.useLastChanged=ve.useLastChanged;exports.useLatest=ke.useLatest;exports.useLess=Ae.useLess;exports.useList=he.useList;exports.useLocalStorage=De.useLocalStorage;exports.useLockCallback=Me.useLockCallback;exports.useLogger=Le.useLogger;exports.useLongPress=be.useLongPress;exports.useMap=fe.useMap;exports.useMeasure=_e.useMeasure;exports.timeRangeToArray=l.timeRangeToArray;exports.useMediaControls=l.useMediaControls;exports.useMediaQuery=Ne.useMediaQuery;exports.useMemory=Be.useMemory;exports.useMount=Fe.useMount;exports.useMouse=Ke.useMouse;exports.useMutation=Ve.useMutation;exports.useMutationObserver=Ue.useMutationObserver;exports.getConnection=S.getConnection;exports.useNetwork=S.useNetwork;exports.useOffsetPagination=we.useOffsetPagination;exports.useOnce=We.useOnce;exports.useOnline=He.useOnline;exports.getOperatingSystem=q.getOperatingSystem;exports.useOperatingSystem=q.useOperatingSystem;exports.useOptimistic=xe.useOptimistic;exports.useOrientation=Qe.useOrientation;exports.useOtpCredential=ze.useOtpCredential;exports.usePageLeave=Ge.usePageLeave;exports.Paint=r.Paint;exports.Pointer=r.Pointer;exports.usePaint=r.usePaint;exports.useParallax=Xe.useParallax;exports.usePerformanceObserver=Ze.usePerformanceObserver;exports.usePermission=je.usePermission;exports.usePictureInPicture=Je.usePictureInPicture;exports.usePointerLock=Ye.usePointerLock;exports.usePostMessage=$e.usePostMessage;exports.usePreferredColorScheme=es.usePreferredColorScheme;exports.usePreferredContrast=ss.usePreferredContrast;exports.usePreferredDark=us.usePreferredDark;exports.usePreferredLanguages=rs.usePreferredLanguages;exports.usePreferredReducedMotion=ts.usePreferredReducedMotion;exports.usePrevious=os.usePrevious;exports.useQuery=is.useQuery;exports.useQueue=ns.useQueue;exports.useRaf=cs.useRaf;exports.useRafValue=as.useRafValue;exports.useRefState=ls.useRefState;exports.useRenderCount=Ss.useRenderCount;exports.useRenderInfo=qs.useRenderInfo;exports.useRerender=ds.useRerender;exports.useResizeObserver=Es.useResizeObserver;exports.useScreenOrientation=gs.useScreenOrientation;exports.SCRIPT_STATUS_ATTRIBUTE_NAME=d.SCRIPT_STATUS_ATTRIBUTE_NAME;exports.useScript=d.useScript;exports.useScroll=Ps.useScroll;exports.useScrollIntoView=Ts.useScrollIntoView;exports.useScrollTo=Cs.useScrollTo;exports.useSessionStorage=ms.useSessionStorage;exports.useSet=Rs.useSet;exports.deepEqual=E.deepEqual;exports.useShallowEffect=E.useShallowEffect;exports.useShare=ps.useShare;exports.getSpeechRecognition=g.getSpeechRecognition;exports.useSpeechRecognition=g.useSpeechRecognition;exports.useSpeechSynthesis=ys.useSpeechSynthesis;exports.stateHistoryReducer=P.stateHistoryReducer;exports.useStateHistory=P.useStateHistory;exports.useStep=Is.useStep;exports.useSticky=Os.useSticky;exports.useStopwatch=vs.useStopwatch;exports.STORAGE_EVENT=t.STORAGE_EVENT;exports.dispatchStorageEvent=t.dispatchStorageEvent;exports.useStorage=t.useStorage;exports.useTextDirection=ks.useTextDirection;exports.getRangesSelection=T.getRangesSelection;exports.useTextSelection=T.useTextSelection;exports.useThrottleCallback=As.useThrottleCallback;exports.useThrottleValue=hs.useThrottleValue;exports.useTime=Ds.useTime;exports.useTimeout=Ms.useTimeout;exports.getTimeFromSeconds=C.getTimeFromSeconds;exports.useTimer=C.useTimer;exports.useToggle=Ls.useToggle;exports.useUnmount=bs.useUnmount;exports.URL_SEARCH_PARAMS_EVENT=u.URL_SEARCH_PARAMS_EVENT;exports.createQueryString=u.createQueryString;exports.dispatchUrlSearchParamsEvent=u.dispatchUrlSearchParamsEvent;exports.getUrlSearchParams=u.getUrlSearchParams;exports.useUrlSearchParam=u.useUrlSearchParam;exports.useUrlSearchParams=fs.useUrlSearchParams;exports.useVibrate=_s.useVibrate;exports.useWakeLock=Ns.useWakeLock;exports.useWebSocket=Bs.useWebSocket;exports.useWindowEvent=Fs.useWindowEvent;exports.useWindowFocus=Ks.useWindowFocus;exports.scrollTo=m.scrollTo;exports.useWindowScroll=m.useWindowScroll;exports.useWindowSize=Vs.useWindowSize;exports.useWizard=Us.useWizard;exports.copy=R.copy;exports.legacyCopyToClipboard=R.legacyCopyToClipboard;exports.debounce=ws.debounce;exports.getDate=Ws.getDate;exports.getElement=o.getElement;exports.target=o.target;exports.targetSymbol=o.targetSymbol;exports.getRetry=Hs.getRetry;exports.isTarget=xs.isTarget;exports.throttle=Qs.throttle;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|