@siberiacancode/reactuse 0.2.33 → 0.2.35

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.
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react"),u=require("../../utils/helpers/throttle.cjs"),d=t=>{const a=t?.enabled??!0,c=t?.delay??1e3,[n,r]=l.useState({interval:0,rotationRate:{alpha:null,beta:null,gamma:null},acceleration:{x:null,y:null,z:null},accelerationIncludingGravity:{x:null,y:null,z:null}}),i=l.useRef(t?.callback);return i.current=t?.callback,l.useEffect(()=>{if(!a)return;const o=u.throttle(e=>{i.current?.(e),r({interval:e.interval,rotationRate:{...n.rotationRate,...e.rotationRate},acceleration:{...n.acceleration,...e.acceleration},accelerationIncludingGravity:{...n.accelerationIncludingGravity,...e.accelerationIncludingGravity}})},c);return window.addEventListener("devicemotion",o),()=>{window.removeEventListener("devicemotion",o)}},[c,a]),n};exports.useDeviceMotion=d;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react"),d=require("../../utils/helpers/throttle.cjs"),s=(...e)=>{const o=typeof e[0]=="number"?e[0]:e[0]?.delay??1e3,i=typeof e[0]=="function"?e[0]:e[0]?.onChange,c=e[0]?.enabled??!0,[n,u]=l.useState({interval:0,rotationRate:{alpha:null,beta:null,gamma:null},acceleration:{x:null,y:null,z:null},accelerationIncludingGravity:{x:null,y:null,z:null}}),a=l.useRef(i);return a.current=i,l.useEffect(()=>{if(!c)return;const r=d.throttle(t=>{a.current?.(t),u({interval:t.interval,rotationRate:{...n.rotationRate,...t.rotationRate},acceleration:{...n.acceleration,...t.acceleration},accelerationIncludingGravity:{...n.accelerationIncludingGravity,...t.accelerationIncludingGravity}})},o);return window.addEventListener("devicemotion",r),()=>{window.removeEventListener("devicemotion",r)}},[o,c]),n};exports.useDeviceMotion=s;
2
2
  //# sourceMappingURL=useDeviceMotion.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDeviceMotion.cjs","sources":["../../../../src/hooks/useDeviceMotion/useDeviceMotion.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport { throttle } from '@/utils/helpers';\n\nexport interface UseDeviceMotionReturn {\n acceleration: DeviceMotionEventAcceleration;\n accelerationIncludingGravity: DeviceMotionEventAcceleration;\n interval: DeviceMotionEvent['interval'];\n rotationRate: DeviceMotionEventRotationRate;\n}\n\nexport interface UseDeviceMotionParams {\n /** The delay in milliseconds */\n delay?: number;\n /** Whether to enable the hook */\n enabled?: boolean;\n /** The callback function to be invoked */\n callback?: (event: DeviceMotionEvent) => void;\n}\n\n/**\n * @name useDeviceMotion\n * @description - Hook that work with device motion\n * @category Sensors\n * @usage low\n *\n * @browserapi DeviceMotionEvent https://developer.mozilla.org/en-US/docs/Web/API/Window/DeviceMotionEvent\n *\n * @param {number} [delay=1000] The delay in milliseconds\n * @param {(event: DeviceMotionEvent) => void} [callback] The callback function to be invoked\n * @param {boolean} [enabled=true] Whether to enable the hook\n * @returns {UseDeviceMotionReturn} The device motion data and interval\n *\n * @example\n * const { interval, rotationRate, acceleration, accelerationIncludingGravity } = useDeviceMotion();\n */\nexport const useDeviceMotion = (params?: UseDeviceMotionParams) => {\n const enabled = params?.enabled ?? true;\n const delay = params?.delay ?? 1000;\n const [value, setValue] = useState<UseDeviceMotionReturn>({\n interval: 0,\n rotationRate: { alpha: null, beta: null, gamma: null },\n acceleration: { x: null, y: null, z: null },\n accelerationIncludingGravity: { x: null, y: null, z: null }\n });\n const internalCallbackRef = useRef(params?.callback);\n internalCallbackRef.current = params?.callback;\n\n useEffect(() => {\n if (!enabled) return;\n\n const onDeviceMotion = throttle<[DeviceMotionEvent]>((event) => {\n internalCallbackRef.current?.(event);\n\n setValue({\n interval: event.interval,\n rotationRate: {\n ...value.rotationRate,\n ...event.rotationRate\n },\n acceleration: {\n ...value.acceleration,\n ...event.acceleration\n },\n accelerationIncludingGravity: {\n ...value.accelerationIncludingGravity,\n ...event.accelerationIncludingGravity\n }\n });\n }, delay);\n\n window.addEventListener('devicemotion', onDeviceMotion);\n\n return () => {\n window.removeEventListener('devicemotion', onDeviceMotion);\n };\n }, [delay, enabled]);\n\n return value;\n};\n"],"names":["useDeviceMotion","params","enabled","delay","value","setValue","useState","internalCallbackRef","useRef","useEffect","onDeviceMotion","throttle","event"],"mappings":"uJAoCaA,EAAmBC,GAAmC,CACjE,MAAMC,EAAUD,GAAQ,SAAW,GAC7BE,EAAQF,GAAQ,OAAS,IACzB,CAACG,EAAOC,CAAQ,EAAIC,WAAgC,CACxD,SAAU,EACV,aAAc,CAAE,MAAO,KAAM,KAAM,KAAM,MAAO,IAAA,EAChD,aAAc,CAAE,EAAG,KAAM,EAAG,KAAM,EAAG,IAAA,EACrC,6BAA8B,CAAE,EAAG,KAAM,EAAG,KAAM,EAAG,IAAA,CAAK,CAC3D,EACKC,EAAsBC,EAAAA,OAAOP,GAAQ,QAAQ,EACnD,OAAAM,EAAoB,QAAUN,GAAQ,SAEtCQ,EAAAA,UAAU,IAAM,CACd,GAAI,CAACP,EAAS,OAEd,MAAMQ,EAAiBC,WAA+BC,GAAU,CAC9DL,EAAoB,UAAUK,CAAK,EAEnCP,EAAS,CACP,SAAUO,EAAM,SAChB,aAAc,CACZ,GAAGR,EAAM,aACT,GAAGQ,EAAM,YAAA,EAEX,aAAc,CACZ,GAAGR,EAAM,aACT,GAAGQ,EAAM,YAAA,EAEX,6BAA8B,CAC5B,GAAGR,EAAM,6BACT,GAAGQ,EAAM,4BAAA,CACX,CACD,CAAA,EACAT,CAAK,EAER,cAAO,iBAAiB,eAAgBO,CAAc,EAE/C,IAAM,CACX,OAAO,oBAAoB,eAAgBA,CAAc,CAAA,CAC3D,EACC,CAACP,EAAOD,CAAO,CAAC,EAEZE,CACT"}
1
+ {"version":3,"file":"useDeviceMotion.cjs","sources":["../../../../src/hooks/useDeviceMotion/useDeviceMotion.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport { throttle } from '@/utils/helpers';\n\nexport interface UseDeviceMotionReturn {\n acceleration: DeviceMotionEventAcceleration;\n accelerationIncludingGravity: DeviceMotionEventAcceleration;\n interval: DeviceMotionEvent['interval'];\n rotationRate: DeviceMotionEventRotationRate;\n}\n\nexport interface UseDeviceMotionOptions {\n /** The delay in milliseconds */\n delay?: number;\n /** Whether to enable the hook */\n enabled?: boolean;\n /** The callback function to be invoked */\n onChange?: (event: DeviceMotionEvent) => void;\n}\n\nexport interface UseDeviceMotion {\n (callback?: (event: DeviceMotionEvent) => void, delay?: number): UseDeviceMotionReturn;\n\n (options?: UseDeviceMotionOptions): UseDeviceMotionReturn;\n}\n\n/**\n * @name useDeviceMotion\n * @description - Hook that work with device motion\n * @category Sensors\n * @usage low\n *\n * @browserapi DeviceMotionEvent https://developer.mozilla.org/en-US/docs/Web/API/Window/DeviceMotionEvent\n *\n * @overload\n * @param {number} [delay=1000] The delay in milliseconds\n * @param {(event: DeviceMotionEvent) => void} [callback] The callback function to be invoked\n * @returns {UseDeviceMotionReturn} The device motion data and interval\n *\n * @example\n * const { interval, rotationRate, acceleration, accelerationIncludingGravity } = useDeviceMotion(500, (event) => console.log(event));\n *\n * @overload\n * @param {(event: DeviceMotionEvent) => void} [callback] The callback function to be invoked\n * @returns {UseDeviceMotionReturn} The device motion data and interval\n *\n * @example\n * const { interval, rotationRate, acceleration, accelerationIncludingGravity } = useDeviceMotion((event) => console.log(event));\n *\n * @overload\n * @param {UseDeviceMotionOptions} [options] Configuration options\n * @param {number} [options.delay] The delay in milliseconds\n * @param {boolean} [options.enabled] Whether to enable the hook\n * @param {(event: DeviceMotionEvent) => void} [options.onChange] The callback function to be invoked\n * @returns {UseDeviceMotionReturn} The device motion data and interval\n *\n * @example\n * const { interval, rotationRate, acceleration, accelerationIncludingGravity } = useDeviceMotion();\n */\nexport const useDeviceMotion = ((...params: any[]) => {\n const delay = typeof params[0] === 'number' ? params[0] : (params[0]?.delay ?? 1000);\n const callback = typeof params[0] === 'function' ? params[0] : params[0]?.onChange;\n const enabled = params[0]?.enabled ?? true;\n\n const [value, setValue] = useState<UseDeviceMotionReturn>({\n interval: 0,\n rotationRate: { alpha: null, beta: null, gamma: null },\n acceleration: { x: null, y: null, z: null },\n accelerationIncludingGravity: { x: null, y: null, z: null }\n });\n const internalCallbackRef = useRef(callback);\n internalCallbackRef.current = callback;\n\n useEffect(() => {\n if (!enabled) return;\n\n const onDeviceMotion = throttle<[DeviceMotionEvent]>((event) => {\n internalCallbackRef.current?.(event);\n\n setValue({\n interval: event.interval,\n rotationRate: {\n ...value.rotationRate,\n ...event.rotationRate\n },\n acceleration: {\n ...value.acceleration,\n ...event.acceleration\n },\n accelerationIncludingGravity: {\n ...value.accelerationIncludingGravity,\n ...event.accelerationIncludingGravity\n }\n });\n }, delay);\n\n window.addEventListener('devicemotion', onDeviceMotion);\n\n return () => {\n window.removeEventListener('devicemotion', onDeviceMotion);\n };\n }, [delay, enabled]);\n\n return value;\n}) as UseDeviceMotion;\n"],"names":["useDeviceMotion","params","delay","callback","enabled","value","setValue","useState","internalCallbackRef","useRef","useEffect","onDeviceMotion","throttle","event"],"mappings":"uJA2DaA,EAAmB,IAAIC,IAAkB,CACpD,MAAMC,EAAQ,OAAOD,EAAO,CAAC,GAAM,SAAWA,EAAO,CAAC,EAAKA,EAAO,CAAC,GAAG,OAAS,IACzEE,EAAW,OAAOF,EAAO,CAAC,GAAM,WAAaA,EAAO,CAAC,EAAIA,EAAO,CAAC,GAAG,SACpEG,EAAUH,EAAO,CAAC,GAAG,SAAW,GAEhC,CAACI,EAAOC,CAAQ,EAAIC,WAAgC,CACxD,SAAU,EACV,aAAc,CAAE,MAAO,KAAM,KAAM,KAAM,MAAO,IAAA,EAChD,aAAc,CAAE,EAAG,KAAM,EAAG,KAAM,EAAG,IAAA,EACrC,6BAA8B,CAAE,EAAG,KAAM,EAAG,KAAM,EAAG,IAAA,CAAK,CAC3D,EACKC,EAAsBC,EAAAA,OAAON,CAAQ,EAC3C,OAAAK,EAAoB,QAAUL,EAE9BO,EAAAA,UAAU,IAAM,CACd,GAAI,CAACN,EAAS,OAEd,MAAMO,EAAiBC,WAA+BC,GAAU,CAC9DL,EAAoB,UAAUK,CAAK,EAEnCP,EAAS,CACP,SAAUO,EAAM,SAChB,aAAc,CACZ,GAAGR,EAAM,aACT,GAAGQ,EAAM,YAAA,EAEX,aAAc,CACZ,GAAGR,EAAM,aACT,GAAGQ,EAAM,YAAA,EAEX,6BAA8B,CAC5B,GAAGR,EAAM,6BACT,GAAGQ,EAAM,4BAAA,CACX,CACD,CAAA,EACAX,CAAK,EAER,cAAO,iBAAiB,eAAgBS,CAAc,EAE/C,IAAM,CACX,OAAO,oBAAoB,eAAgBA,CAAc,CAAA,CAC3D,EACC,CAACT,EAAOE,CAAO,CAAC,EAEZC,CACT"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react"),a=()=>decodeURIComponent(window.location.hash.replace("#","")),c=(n="",r="replace")=>{const[t,o]=s.useState(()=>typeof window>"u"?n:a()||n),h=e=>{window.location.hash=e,o(e)};return s.useEffect(()=>{r==="replace"&&(window.location.hash=t);const e=()=>o(a());return window.addEventListener("hashchange",e),()=>{window.removeEventListener("hashchange",e)}},[]),[t,h]};exports.useHash=c;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react"),c=()=>decodeURIComponent(window.location.hash.replace("#","")),w=(...e)=>{const i=typeof e[0]=="string"?e[0]:"",t=typeof e[1]=="object"?e[1]:typeof e[1]=="function"?{onChange:e[1]}:typeof e[0]=="object"?e[0]:{},h=t?.enabled??!0,r=t?.mode??"replace",[u,a]=s.useState(()=>typeof window>"u"?i:c()||i),o=s.useRef(t);o.current=t;const f=n=>{window.location.hash=n,a(n),o.current?.onChange?.(n)};return s.useEffect(()=>{if(!h)return;r==="replace"&&(window.location.hash=u);const n=()=>{const d=c();a(d),o.current?.onChange?.(d)};return window.addEventListener("hashchange",n),()=>{window.removeEventListener("hashchange",n)}},[h,r]),[u,f]};exports.getHash=c;exports.useHash=w;
2
2
  //# sourceMappingURL=useHash.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useHash.cjs","sources":["../../../../src/hooks/useHash/useHash.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nconst getHash = () => decodeURIComponent(window.location.hash.replace('#', ''));\n\n/** The use hash return type */\ntype UseHashReturn = [string, (value: string) => void];\n\n/**\n * @name useHash\n * @description - Hook that manages the hash value\n * @category State\n * @usage low\n *\n * @param {string} [initialValue] The initial hash value if no hash exists\n * @returns {UseHashReturn} An array containing the hash value and a function to set the hash value\n *\n * @example\n * const [hash, setHash] = useHash(\"initial\");\n */\nexport const useHash = (\n initialValue = '',\n mode: 'initial' | 'replace' = 'replace'\n): UseHashReturn => {\n const [hash, setHash] = useState(() => {\n if (typeof window === 'undefined') return initialValue;\n return getHash() || initialValue;\n });\n\n const set = (value: string) => {\n window.location.hash = value;\n setHash(value);\n };\n\n useEffect(() => {\n if (mode === 'replace') window.location.hash = hash;\n\n const onHashChange = () => setHash(getHash());\n window.addEventListener('hashchange', onHashChange);\n return () => {\n window.removeEventListener('hashchange', onHashChange);\n };\n }, []);\n\n return [hash, set] as const;\n};\n"],"names":["getHash","useHash","initialValue","mode","hash","setHash","useState","set","value","useEffect","onHashChange"],"mappings":"yGAEMA,EAAU,IAAM,mBAAmB,OAAO,SAAS,KAAK,QAAQ,IAAK,EAAE,CAAC,EAiBjEC,EAAU,CACrBC,EAAe,GACfC,EAA8B,YACZ,CAClB,KAAM,CAACC,EAAMC,CAAO,EAAIC,EAAAA,SAAS,IAC3B,OAAO,OAAW,IAAoBJ,EACnCF,KAAaE,CACrB,EAEKK,EAAOC,GAAkB,CAC7B,OAAO,SAAS,KAAOA,EACvBH,EAAQG,CAAK,CAAA,EAGfC,OAAAA,EAAAA,UAAU,IAAM,CACVN,IAAS,YAAW,OAAO,SAAS,KAAOC,GAE/C,MAAMM,EAAe,IAAML,EAAQL,GAAS,EAC5C,cAAO,iBAAiB,aAAcU,CAAY,EAC3C,IAAM,CACX,OAAO,oBAAoB,aAAcA,CAAY,CAAA,CACvD,EACC,EAAE,EAEE,CAACN,EAAMG,CAAG,CACnB"}
1
+ {"version":3,"file":"useHash.cjs","sources":["../../../../src/hooks/useHash/useHash.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nexport const getHash = () => decodeURIComponent(window.location.hash.replace('#', ''));\n\n/** The use hash options type */\nexport interface UseHashOptions {\n /** The enabled state of the hook */\n enabled?: boolean;\n /** The mode of hash setting */\n mode?: 'initial' | 'replace';\n /** Callback function called when hash changes */\n onChange?: (hash: string) => void;\n}\n\n/** The use hash return type */\ntype UseHashReturn = [string, (value: string) => void];\n\nexport interface UseHash {\n (initialValue?: string, options?: UseHashOptions): UseHashReturn;\n\n (options?: UseHashOptions): UseHashReturn;\n\n (initialValue?: string, callback?: (hash: string) => void): UseHashReturn;\n\n (callback?: (hash: string) => void): UseHashReturn;\n}\n\n/**\n * @name useHash\n * @description - Hook that manages the hash value\n * @category State\n * @usage low\n *\n * @overload\n * @param {string} [initialValue] The initial hash value if no hash exists\n * @param {UseHashOptions} [options] Configuration options\n * @param {boolean} [options.enabled] The enabled state of the hook\n * @param {'initial' | 'replace'} [options.mode] The mode of hash setting\n * @param {(hash: string) => void} [options.onChange] Callback function called when hash changes\n * @returns {UseHashReturn} An array containing the hash value and a function to set the hash value\n *\n * @example\n * const [hash, setHash] = useHash(\"initial\", {\n * enabled: true,\n * mode: \"replace\",\n * onChange: (newHash) => console.log('Hash changed:', newHash)\n * });\n *\n * @overload\n * @param {string} [initialValue] The initial hash value if no hash exists\n * @param {(hash: string) => void} [callback] Callback function called when hash changes\n * @returns {UseHashReturn} An array containing the hash value and a function to set the hash value\n *\n * @example\n * const [hash, setHash] = useHash(\"initial\", (newHash) => console.log('callback'));\n */\nexport const useHash = ((...params: any[]) => {\n const initialValue = typeof params[0] === 'string' ? params[0] : '';\n const options =\n typeof params[1] === 'object'\n ? params[1]\n : typeof params[1] === 'function'\n ? { onChange: params[1] }\n : typeof params[0] === 'object'\n ? params[0]\n : {};\n\n const enabled = options?.enabled ?? true;\n const mode = options?.mode ?? 'replace';\n\n const [hash, setHash] = useState(() => {\n if (typeof window === 'undefined') return initialValue;\n return getHash() || initialValue;\n });\n\n const optionsRef = useRef(options);\n optionsRef.current = options;\n\n const set = (value: string) => {\n window.location.hash = value;\n setHash(value);\n optionsRef.current?.onChange?.(value);\n };\n\n useEffect(() => {\n if (!enabled) return;\n\n if (mode === 'replace') window.location.hash = hash;\n\n const onHashChange = () => {\n const newHash = getHash();\n setHash(newHash);\n optionsRef.current?.onChange?.(newHash);\n };\n\n window.addEventListener('hashchange', onHashChange);\n return () => {\n window.removeEventListener('hashchange', onHashChange);\n };\n }, [enabled, mode]);\n\n return [hash, set] as const;\n}) as UseHash;\n"],"names":["getHash","useHash","params","initialValue","options","enabled","mode","hash","setHash","useState","optionsRef","useRef","set","value","useEffect","onHashChange","newHash"],"mappings":"yGAEaA,EAAU,IAAM,mBAAmB,OAAO,SAAS,KAAK,QAAQ,IAAK,EAAE,CAAC,EAsDxEC,EAAW,IAAIC,IAAkB,CAC5C,MAAMC,EAAe,OAAOD,EAAO,CAAC,GAAM,SAAWA,EAAO,CAAC,EAAI,GAC3DE,EACJ,OAAOF,EAAO,CAAC,GAAM,SACjBA,EAAO,CAAC,EACR,OAAOA,EAAO,CAAC,GAAM,WACnB,CAAE,SAAUA,EAAO,CAAC,CAAA,EACpB,OAAOA,EAAO,CAAC,GAAM,SACnBA,EAAO,CAAC,EACR,CAAA,EAEJG,EAAUD,GAAS,SAAW,GAC9BE,EAAOF,GAAS,MAAQ,UAExB,CAACG,EAAMC,CAAO,EAAIC,EAAAA,SAAS,IAC3B,OAAO,OAAW,IAAoBN,EACnCH,KAAaG,CACrB,EAEKO,EAAaC,EAAAA,OAAOP,CAAO,EACjCM,EAAW,QAAUN,EAErB,MAAMQ,EAAOC,GAAkB,CAC7B,OAAO,SAAS,KAAOA,EACvBL,EAAQK,CAAK,EACbH,EAAW,SAAS,WAAWG,CAAK,CAAA,EAGtCC,OAAAA,EAAAA,UAAU,IAAM,CACd,GAAI,CAACT,EAAS,OAEVC,IAAS,YAAW,OAAO,SAAS,KAAOC,GAE/C,MAAMQ,EAAe,IAAM,CACzB,MAAMC,EAAUhB,EAAA,EAChBQ,EAAQQ,CAAO,EACfN,EAAW,SAAS,WAAWM,CAAO,CAAA,EAGxC,cAAO,iBAAiB,aAAcD,CAAY,EAC3C,IAAM,CACX,OAAO,oBAAoB,aAAcA,CAAY,CAAA,CACvD,EACC,CAACV,EAASC,CAAI,CAAC,EAEX,CAACC,EAAMK,CAAG,CACnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"useIntersectionObserver.cjs","sources":["../../../../src/hooks/useIntersectionObserver/useIntersectionObserver.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 intersection observer callback type */\nexport type UseIntersectionObserverCallback = (\n entry: IntersectionObserverEntry,\n observer: IntersectionObserver\n) => void;\n\n/** The intersection observer options type */\nexport interface UseIntersectionObserverOptions extends Omit<IntersectionObserverInit, 'root'> {\n /** The enabled state of the intersection observer */\n enabled?: boolean;\n /** The callback to execute when intersection is detected */\n onChange?: UseIntersectionObserverCallback;\n /** The root element to observe */\n root?: HookTarget;\n}\n\n/** The intersection observer return type */\nexport interface UseIntersectionObserverReturn {\n /** The intersection observer entry */\n entry?: IntersectionObserverEntry;\n /** The in view state of the intersection observer */\n inView: boolean;\n /** The intersection observer instance */\n observer?: IntersectionObserver;\n}\n\nexport interface UseIntersectionObserver {\n <Target extends Element>(\n options?: UseIntersectionObserverOptions,\n target?: never\n ): UseIntersectionObserverReturn & { ref: StateRef<Target> };\n\n (target: HookTarget, options?: UseIntersectionObserverOptions): UseIntersectionObserverReturn;\n\n <Target extends Element>(\n callback: UseIntersectionObserverCallback,\n target?: never\n ): UseIntersectionObserverReturn & { ref: StateRef<Target> };\n\n (target: HookTarget, callback: UseIntersectionObserverCallback): UseIntersectionObserverReturn;\n}\n\n/**\n * @name useIntersectionObserver\n * @description - Hook that gives you intersection observer state\n * @category Sensors\n * @usage medium\n *\n * @browserapi IntersectionObserver https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserver\n *\n * @overload\n * @param {HookTarget} target The target element to detect intersection\n * @param {boolean} [options.enabled=true] The IntersectionObserver options\n * @param {((entries: IntersectionObserverEntry[], observer: IntersectionObserver) => void) | undefined} [options.onChange] The callback to execute when intersection is detected\n * @param {HookTarget} [options.root=document] The root element to observe\n * @returns {UseIntersectionObserverReturn} An object containing the state\n *\n * @example\n * const { ref, entry, inView, observer } = useIntersectionObserver();\n *\n * @overload\n * @template Target The target element\n * @param {boolean} [options.enabled=true] The IntersectionObserver options\n * @param {((entries: IntersectionObserverEntry[], observer: IntersectionObserver) => void) | undefined} [options.onChange] The callback to execute when intersection is detected\n * @param {HookTarget} [options.root=document] The root element to observe\n * @returns {UseIntersectionObserverReturn & { ref: StateRef<Target> }} A React ref to attach to the target element\n *\n * @example\n * const { entry, inView, observer } = useIntersectionObserver(ref);\n *\n * @overload\n * @template Target The target element\n * @param {UseIntersectionObserverCallback} callback The callback to execute when intersection is detected\n * @returns {UseIntersectionObserverReturn & { ref: StateRef<Target> }} A React ref to attach to the target element\n *\n * @example\n * const { ref, entry, inView, observer } = useIntersectionObserver(() => console.log('callback'));\n *\n * @overload\n * @param {UseIntersectionObserverCallback} callback The callback to execute when intersection is detected\n * @param {HookTarget} target The target element to detect intersection\n * @returns {UseIntersectionObserverReturn} An object containing the state\n *\n * @example\n * const { entry, inView, observer } = useIntersectionObserver(() => console.log('callback'), ref);\n */\nexport const useIntersectionObserver = ((...params: any[]) => {\n const target = (isTarget(params[0]) ? params[0] : undefined) as HookTarget | undefined;\n\n const options = (\n target\n ? typeof params[1] === 'object'\n ? params[1]\n : { onChange: params[1] }\n : typeof params[0] === 'object'\n ? params[0]\n : { onChange: params[0] }\n ) as UseIntersectionObserverOptions | undefined;\n\n const callback = options?.onChange;\n const enabled = options?.enabled ?? true;\n\n const [observer, setObserver] = useState<IntersectionObserver>();\n const [entry, setEntry] = useState<IntersectionObserverEntry>();\n\n const internalRef = useRefState<Element>();\n const internalCallbackRef = useRef(callback);\n internalCallbackRef.current = callback;\n\n useEffect(() => {\n if (!enabled || (!target && !internalRef.state)) return;\n\n const element = target ? getElement(target) : internalRef.current;\n if (!element) return;\n\n const observer = new IntersectionObserver(\n ([entry], observer) => {\n setEntry(entry);\n internalCallbackRef.current?.(entry, observer);\n },\n {\n ...options,\n root: options?.root ? (getElement(options.root) as Document | Element) : document\n }\n );\n\n setObserver(observer);\n observer.observe(element as Element);\n\n return () => {\n observer.disconnect();\n };\n }, [target, internalRef.state, options?.rootMargin, options?.threshold, options?.root, enabled]);\n\n if (target) return { observer, entry, inView: !!entry?.isIntersecting };\n return {\n observer,\n ref: internalRef,\n entry,\n inView: !!entry?.isIntersecting\n };\n}) as UseIntersectionObserver;\n"],"names":["useIntersectionObserver","params","target","isTarget","options","callback","enabled","observer","setObserver","useState","entry","setEntry","internalRef","useRefState","internalCallbackRef","useRef","useEffect","element","getElement"],"mappings":"mPAgGaA,EAA2B,IAAIC,IAAkB,CAC5D,MAAMC,EAAUC,EAAAA,SAASF,EAAO,CAAC,CAAC,EAAIA,EAAO,CAAC,EAAI,OAE5CG,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,EAAWD,GAAS,SACpBE,EAAUF,GAAS,SAAW,GAE9B,CAACG,EAAUC,CAAW,EAAIC,WAAA,EAC1B,CAACC,EAAOC,CAAQ,EAAIF,WAAA,EAEpBG,EAAcC,EAAAA,YAAA,EACdC,EAAsBC,EAAAA,OAAOV,CAAQ,EA4B3C,OA3BAS,EAAoB,QAAUT,EAE9BW,EAAAA,UAAU,IAAM,CACd,GAAI,CAACV,GAAY,CAACJ,GAAU,CAACU,EAAY,MAAQ,OAEjD,MAAMK,EAAUf,EAASgB,EAAAA,WAAWhB,CAAM,EAAIU,EAAY,QAC1D,GAAI,CAACK,EAAS,OAEd,MAAMV,EAAW,IAAI,qBACnB,CAAC,CAACG,CAAK,EAAGH,IAAa,CACrBI,EAASD,CAAK,EACdI,EAAoB,UAAUJ,EAAOH,CAAQ,CAAA,EAE/C,CACE,GAAGH,EACH,KAAMA,GAAS,KAAQc,EAAAA,WAAWd,EAAQ,IAAI,EAA2B,QAAA,CAC3E,EAGF,OAAAI,EAAYD,CAAQ,EACpBA,EAAS,QAAQU,CAAkB,EAE5B,IAAM,CACXV,EAAS,WAAA,CAAW,CACtB,EACC,CAACL,EAAQU,EAAY,MAAOR,GAAS,WAAYA,GAAS,UAAWA,GAAS,KAAME,CAAO,CAAC,EAE3FJ,EAAe,CAAE,SAAAK,EAAU,MAAAG,EAAO,OAAQ,CAAC,CAACA,GAAO,cAAA,EAChD,CACL,SAAAH,EACA,IAAKK,EACL,MAAAF,EACA,OAAQ,CAAC,CAACA,GAAO,cAAA,CAErB"}
1
+ {"version":3,"file":"useIntersectionObserver.cjs","sources":["../../../../src/hooks/useIntersectionObserver/useIntersectionObserver.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 intersection observer callback type */\nexport type UseIntersectionObserverCallback = (\n entry: IntersectionObserverEntry,\n observer: IntersectionObserver\n) => void;\n\n/** The intersection observer options type */\nexport interface UseIntersectionObserverOptions\n extends Omit<IntersectionObserverInit, \"root\"> {\n /** The enabled state of the intersection observer */\n enabled?: boolean;\n /** The callback to execute when intersection is detected */\n onChange?: UseIntersectionObserverCallback;\n /** The root element to observe */\n root?: HookTarget;\n}\n\n/** The intersection observer return type */\nexport interface UseIntersectionObserverReturn {\n /** The intersection observer entry */\n entry?: IntersectionObserverEntry;\n /** The in view state of the intersection observer */\n inView: boolean;\n /** The intersection observer instance */\n observer?: IntersectionObserver;\n}\n\nexport interface UseIntersectionObserver {\n <Target extends Element>(\n options?: UseIntersectionObserverOptions,\n target?: never\n ): UseIntersectionObserverReturn & { ref: StateRef<Target> };\n\n (\n target: HookTarget,\n options?: UseIntersectionObserverOptions\n ): UseIntersectionObserverReturn;\n\n <Target extends Element>(\n callback: UseIntersectionObserverCallback,\n target?: never\n ): UseIntersectionObserverReturn & { ref: StateRef<Target> };\n\n (\n target: HookTarget,\n callback: UseIntersectionObserverCallback\n ): UseIntersectionObserverReturn;\n}\n\n/**\n * @name useIntersectionObserver\n * @description - Hook that gives you intersection observer state\n * @category Sensors\n * @usage medium\n *\n * @browserapi IntersectionObserver https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserver\n *\n * @overload\n * @param {HookTarget} target The target element to detect intersection\n * @param {boolean} [options.enabled=true] The IntersectionObserver options\n * @param {((entries: IntersectionObserverEntry[], observer: IntersectionObserver) => void) | undefined} [options.onChange] The callback to execute when intersection is detected\n * @param {HookTarget} [options.root=document] The root element to observe\n * @returns {UseIntersectionObserverReturn} An object containing the state\n *\n * @example\n * const { ref, entry, inView, observer } = useIntersectionObserver();\n *\n * @overload\n * @template Target The target element\n * @param {boolean} [options.enabled=true] The IntersectionObserver options\n * @param {((entries: IntersectionObserverEntry[], observer: IntersectionObserver) => void) | undefined} [options.onChange] The callback to execute when intersection is detected\n * @param {HookTarget} [options.root=document] The root element to observe\n * @returns {UseIntersectionObserverReturn & { ref: StateRef<Target> }} A React ref to attach to the target element\n *\n * @example\n * const { entry, inView, observer } = useIntersectionObserver(ref);\n *\n * @overload\n * @template Target The target element\n * @param {UseIntersectionObserverCallback} callback The callback to execute when intersection is detected\n * @returns {UseIntersectionObserverReturn & { ref: StateRef<Target> }} A React ref to attach to the target element\n *\n * @example\n * const { ref, entry, inView, observer } = useIntersectionObserver(() => console.log('callback'));\n *\n * @overload\n * @param {UseIntersectionObserverCallback} callback The callback to execute when intersection is detected\n * @param {HookTarget} target The target element to detect intersection\n * @returns {UseIntersectionObserverReturn} An object containing the state\n *\n * @example\n * const { entry, inView, observer } = useIntersectionObserver(() => console.log('callback'), ref);\n */\nexport const useIntersectionObserver = ((...params: any[]) => {\n const target = (isTarget(params[0]) ? params[0] : undefined) as\n | HookTarget\n | undefined;\n\n const options = (\n target\n ? typeof params[1] === \"object\"\n ? params[1]\n : { onChange: params[1] }\n : typeof params[0] === \"object\"\n ? params[0]\n : { onChange: params[0] }\n ) as UseIntersectionObserverOptions | undefined;\n\n const callback = options?.onChange;\n const enabled = options?.enabled ?? true;\n\n const [observer, setObserver] = useState<IntersectionObserver>();\n const [entry, setEntry] = useState<IntersectionObserverEntry>();\n\n const internalRef = useRefState<Element>();\n const internalCallbackRef = useRef(callback);\n internalCallbackRef.current = callback;\n\n useEffect(() => {\n if (!enabled || (!target && !internalRef.state)) return;\n\n const element = target ? getElement(target) : internalRef.current;\n if (!element) return;\n\n const observer = new IntersectionObserver(\n ([entry], observer) => {\n setEntry(entry);\n internalCallbackRef.current?.(entry, observer);\n },\n {\n ...options,\n root: options?.root\n ? (getElement(options.root) as Document | Element)\n : document,\n }\n );\n\n setObserver(observer);\n observer.observe(element as Element);\n\n return () => {\n observer.disconnect();\n };\n }, [\n target,\n internalRef.state,\n options?.rootMargin,\n options?.threshold,\n options?.root,\n enabled,\n ]);\n\n if (target) return { observer, entry, inView: !!entry?.isIntersecting };\n return {\n observer,\n ref: internalRef,\n entry,\n inView: !!entry?.isIntersecting,\n };\n}) as UseIntersectionObserver;\n"],"names":["useIntersectionObserver","params","target","isTarget","options","callback","enabled","observer","setObserver","useState","entry","setEntry","internalRef","useRefState","internalCallbackRef","useRef","useEffect","element","getElement"],"mappings":"mPAuGaA,EAA2B,IAAIC,IAAkB,CAC5D,MAAMC,EAAUC,EAAAA,SAASF,EAAO,CAAC,CAAC,EAAIA,EAAO,CAAC,EAAI,OAI5CG,EACJF,EACI,OAAOD,EAAO,CAAC,GAAM,SACnBA,EAAO,CAAC,EACR,CAAE,SAAUA,EAAO,CAAC,CAAA,EACtB,OAAOA,EAAO,CAAC,GAAM,SACrBA,EAAO,CAAC,EACR,CAAE,SAAUA,EAAO,CAAC,CAAA,EAGpBI,EAAWD,GAAS,SACpBE,EAAUF,GAAS,SAAW,GAE9B,CAACG,EAAUC,CAAW,EAAIC,WAAA,EAC1B,CAACC,EAAOC,CAAQ,EAAIF,WAAA,EAEpBG,EAAcC,EAAAA,YAAA,EACdC,EAAsBC,EAAAA,OAAOV,CAAQ,EAqC3C,OApCAS,EAAoB,QAAUT,EAE9BW,EAAAA,UAAU,IAAM,CACd,GAAI,CAACV,GAAY,CAACJ,GAAU,CAACU,EAAY,MAAQ,OAEjD,MAAMK,EAAUf,EAASgB,EAAAA,WAAWhB,CAAM,EAAIU,EAAY,QAC1D,GAAI,CAACK,EAAS,OAEd,MAAMV,EAAW,IAAI,qBACnB,CAAC,CAACG,CAAK,EAAGH,IAAa,CACrBI,EAASD,CAAK,EACdI,EAAoB,UAAUJ,EAAOH,CAAQ,CAAA,EAE/C,CACE,GAAGH,EACH,KAAMA,GAAS,KACVc,EAAAA,WAAWd,EAAQ,IAAI,EACxB,QAAA,CACN,EAGF,OAAAI,EAAYD,CAAQ,EACpBA,EAAS,QAAQU,CAAkB,EAE5B,IAAM,CACXV,EAAS,WAAA,CAAW,CACtB,EACC,CACDL,EACAU,EAAY,MACZR,GAAS,WACTA,GAAS,UACTA,GAAS,KACTE,CAAA,CACD,EAEGJ,EAAe,CAAE,SAAAK,EAAU,MAAAG,EAAO,OAAQ,CAAC,CAACA,GAAO,cAAA,EAChD,CACL,SAAAH,EACA,IAAKK,EACL,MAAAF,EACA,OAAQ,CAAC,CAACA,GAAO,cAAA,CAErB"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("./helpers/createContext/createContext.cjs"),I=require("./helpers/createEventEmitter/createEventEmitter.cjs"),k=require("./helpers/createReactiveContext/createReactiveContext.cjs"),v=require("./helpers/createStore/createStore.cjs"),O=require("./hooks/useAsync/useAsync.cjs"),h=require("./hooks/useLockCallback/useLockCallback.cjs"),A=require("./hooks/useMutation/useMutation.cjs"),f=require("./hooks/useOptimistic/useOptimistic.cjs"),D=require("./hooks/useQuery/useQuery.cjs"),b=require("./hooks/useAudio/useAudio.cjs"),M=require("./hooks/useBattery/useBattery.cjs"),L=require("./hooks/useBluetooth/useBluetooth.cjs"),_=require("./hooks/useBroadcastChannel/useBroadcastChannel.cjs"),N=require("./hooks/useClipboard/useClipboard.cjs"),B=require("./hooks/useCopy/useCopy.cjs"),F=require("./hooks/useCssVar/useCssVar.cjs"),K=require("./hooks/useDisplayMedia/useDisplayMedia.cjs"),V=require("./hooks/useDocumentTitle/useDocumentTitle.cjs"),U=require("./hooks/useEventSource/useEventSource.cjs"),w=require("./hooks/useEyeDropper/useEyeDropper.cjs"),W=require("./hooks/useFavicon/useFavicon.cjs"),H=require("./hooks/useFps/useFps.cjs"),x=require("./hooks/useFullscreen/useFullscreen.cjs"),n=require("./hooks/useGamepad/useGamepad.cjs"),Q=require("./hooks/useGeolocation/useGeolocation.cjs"),c=require("./hooks/useMediaControls/useMediaControls.cjs"),z=require("./hooks/useMemory/useMemory.cjs"),a=require("./hooks/useNetwork/useNetwork.cjs"),G=require("./hooks/useOnline/useOnline.cjs"),X=require("./hooks/useOtpCredential/useOtpCredential.cjs"),Z=require("./hooks/usePermission/usePermission.cjs"),j=require("./hooks/usePictureInPicture/usePictureInPicture.cjs"),J=require("./hooks/usePointerLock/usePointerLock.cjs"),Y=require("./hooks/usePostMessage/usePostMessage.cjs"),$=require("./hooks/useRaf/useRaf.cjs"),ee=require("./hooks/useShare/useShare.cjs"),l=require("./hooks/useSpeechRecognition/useSpeechRecognition.cjs"),se=require("./hooks/useSpeechSynthesis/useSpeechSynthesis.cjs"),ue=require("./hooks/useVibrate/useVibrate.cjs"),re=require("./hooks/useVirtualKeyboard/useVirtualKeyboard.cjs"),te=require("./hooks/useWakeLock/useWakeLock.cjs"),oe=require("./hooks/useWebSocket/useWebSocket.cjs"),ie=require("./hooks/useLogger/useLogger.cjs"),ne=require("./hooks/useRenderCount/useRenderCount.cjs"),ce=require("./hooks/useRenderInfo/useRenderInfo.cjs"),ae=require("./hooks/useRerender/useRerender.cjs"),le=require("./hooks/useActiveElement/useActiveElement.cjs"),Se=require("./hooks/useAutoScroll/useAutoScroll.cjs"),qe=require("./hooks/useClickOutside/useClickOutside.cjs"),S=require("./hooks/useDoubleClick/useDoubleClick.cjs"),de=require("./hooks/useDropZone/useDropZone.cjs"),ge=require("./hooks/useFileDialog/useFileDialog.cjs"),Ee=require("./hooks/useFocus/useFocus.cjs"),Te=require("./hooks/useFocusTrap/useFocusTrap.cjs"),Pe=require("./hooks/useHover/useHover.cjs"),Ce=require("./hooks/useImage/useImage.cjs"),Re=require("./hooks/useLongPress/useLongPress.cjs"),r=require("./hooks/usePaint/usePaint.cjs"),me=require("./hooks/useRightClick/useRightClick.cjs"),q=require("./hooks/useScript/useScript.cjs"),pe=require("./hooks/useSticky/useSticky.cjs"),ye=require("./hooks/useTextDirection/useTextDirection.cjs"),Ie=require("./hooks/useFul/useFul.cjs"),ke=require("./hooks/useLess/useLess.cjs"),ve=require("./hooks/useOnce/useOnce.cjs"),Oe=require("./hooks/useAsyncEffect/useAsyncEffect.cjs"),he=require("./hooks/useDidUpdate/useDidUpdate.cjs"),Ae=require("./hooks/useIsFirstRender/useIsFirstRender.cjs"),fe=require("./hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.cjs"),De=require("./hooks/useMount/useMount.cjs"),d=require("./hooks/useShallowEffect/useShallowEffect.cjs"),be=require("./hooks/useUnmount/useUnmount.cjs"),e=require("./hooks/useBreakpoints/useBreakpoints.cjs"),Me=require("./hooks/useDeviceMotion/useDeviceMotion.cjs"),Le=require("./hooks/useDeviceOrientation/useDeviceOrientation.cjs"),_e=require("./hooks/useDevicePixelRatio/useDevicePixelRatio.cjs"),Ne=require("./hooks/useDocumentEvent/useDocumentEvent.cjs"),Be=require("./hooks/useDocumentVisibility/useDocumentVisibility.cjs"),Fe=require("./hooks/useElementSize/useElementSize.cjs"),Ke=require("./hooks/useEventListener/useEventListener.cjs"),g=require("./hooks/useHotkeys/useHotkeys.cjs"),Ve=require("./hooks/useIdle/useIdle.cjs"),Ue=require("./hooks/useInfiniteScroll/useInfiniteScroll.cjs"),we=require("./hooks/useIntersectionObserver/useIntersectionObserver.cjs"),We=require("./hooks/useKeyboard/useKeyboard.cjs"),He=require("./hooks/useKeyPress/useKeyPress.cjs"),xe=require("./hooks/useKeyPressEvent/useKeyPressEvent.cjs"),Qe=require("./hooks/useKeysPressed/useKeysPressed.cjs"),ze=require("./hooks/useLockScroll/useLockScroll.cjs"),Ge=require("./hooks/useMeasure/useMeasure.cjs"),Xe=require("./hooks/useMediaQuery/useMediaQuery.cjs"),Ze=require("./hooks/useMouse/useMouse.cjs"),je=require("./hooks/useMutationObserver/useMutationObserver.cjs"),Je=require("./hooks/useOrientation/useOrientation.cjs"),Ye=require("./hooks/usePageLeave/usePageLeave.cjs"),$e=require("./hooks/useParallax/useParallax.cjs"),es=require("./hooks/usePerformanceObserver/usePerformanceObserver.cjs"),ss=require("./hooks/useResizeObserver/useResizeObserver.cjs"),us=require("./hooks/useScroll/useScroll.cjs"),rs=require("./hooks/useScrollIntoView/useScrollIntoView.cjs"),ts=require("./hooks/useScrollTo/useScrollTo.cjs"),E=require("./hooks/useTextSelection/useTextSelection.cjs"),os=require("./hooks/useWindowEvent/useWindowEvent.cjs"),is=require("./hooks/useWindowFocus/useWindowFocus.cjs"),T=require("./hooks/useWindowScroll/useWindowScroll.cjs"),ns=require("./hooks/useWindowSize/useWindowSize.cjs"),cs=require("./hooks/useBoolean/useBoolean.cjs"),as=require("./hooks/useControllableState/useControllableState.cjs"),s=require("./hooks/useCookie/useCookie.cjs"),P=require("./hooks/useCookies/useCookies.cjs"),ls=require("./hooks/useCounter/useCounter.cjs"),Ss=require("./hooks/useDefault/useDefault.cjs"),qs=require("./hooks/useDisclosure/useDisclosure.cjs"),ds=require("./hooks/useField/useField.cjs"),gs=require("./hooks/useHash/useHash.cjs"),Es=require("./hooks/useList/useList.cjs"),Ts=require("./hooks/useLocalStorage/useLocalStorage.cjs"),Ps=require("./hooks/useMap/useMap.cjs"),t=require("./hooks/useMergedRef/useMergedRef.cjs"),Cs=require("./hooks/useOffsetPagination/useOffsetPagination.cjs"),Rs=require("./hooks/useQueue/useQueue.cjs"),ms=require("./hooks/useRafState/useRafState.cjs"),ps=require("./hooks/useRefState/useRefState.cjs"),ys=require("./hooks/useSessionStorage/useSessionStorage.cjs"),Is=require("./hooks/useSet/useSet.cjs"),C=require("./hooks/useStateHistory/useStateHistory.cjs"),ks=require("./hooks/useStep/useStep.cjs"),o=require("./hooks/useStorage/useStorage.cjs"),vs=require("./hooks/useToggle/useToggle.cjs"),u=require("./hooks/useUrlSearchParam/useUrlSearchParam.cjs"),Os=require("./hooks/useUrlSearchParams/useUrlSearchParams.cjs"),hs=require("./hooks/useWizard/useWizard.cjs"),As=require("./hooks/useInterval/useInterval.cjs"),fs=require("./hooks/useStopwatch/useStopwatch.cjs"),Ds=require("./hooks/useTime/useTime.cjs"),bs=require("./hooks/useTimeout/useTimeout.cjs"),R=require("./hooks/useTimer/useTimer.cjs"),Ms=require("./hooks/useBrowserLanguage/useBrowserLanguage.cjs"),m=require("./hooks/useOperatingSystem/useOperatingSystem.cjs"),Ls=require("./hooks/usePreferredColorScheme/usePreferredColorScheme.cjs"),_s=require("./hooks/usePreferredContrast/usePreferredContrast.cjs"),Ns=require("./hooks/usePreferredDark/usePreferredDark.cjs"),Bs=require("./hooks/usePreferredLanguages/usePreferredLanguages.cjs"),Fs=require("./hooks/usePreferredReducedMotion/usePreferredReducedMotion.cjs"),Ks=require("./hooks/useConst/useConst.cjs"),Vs=require("./hooks/useDebounceCallback/useDebounceCallback.cjs"),Us=require("./hooks/useDebounceState/useDebounceState.cjs"),ws=require("./hooks/useDebounceValue/useDebounceValue.cjs"),Ws=require("./hooks/useEvent/useEvent.cjs"),Hs=require("./hooks/useLastChanged/useLastChanged.cjs"),xs=require("./hooks/useLatest/useLatest.cjs"),Qs=require("./hooks/usePrevious/usePrevious.cjs"),zs=require("./hooks/useThrottleCallback/useThrottleCallback.cjs"),Gs=require("./hooks/useThrottleState/useThrottleState.cjs"),Xs=require("./hooks/useThrottleValue/useThrottleValue.cjs"),p=require("./utils/helpers/copy.cjs"),Zs=require("./utils/helpers/debounce.cjs"),js=require("./utils/helpers/getDate.cjs"),i=require("./utils/helpers/getElement.cjs"),Js=require("./utils/helpers/getRetry.cjs"),Ys=require("./utils/helpers/isTarget.cjs"),$s=require("./utils/helpers/throttle.cjs");exports.createContext=y.createContext;exports.createEventEmitter=I.createEventEmitter;exports.createReactiveContext=k.createReactiveContext;exports.createStore=v.createStore;exports.useAsync=O.useAsync;exports.useLockCallback=h.useLockCallback;exports.useMutation=A.useMutation;exports.useOptimistic=f.useOptimistic;exports.useQuery=D.useQuery;exports.useAudio=b.useAudio;exports.useBattery=M.useBattery;exports.useBluetooth=L.useBluetooth;exports.useBroadcastChannel=_.useBroadcastChannel;exports.useClipboard=N.useClipboard;exports.useCopy=B.useCopy;exports.useCssVar=F.useCssVar;exports.useDisplayMedia=K.useDisplayMedia;exports.useDocumentTitle=V.useDocumentTitle;exports.useEventSource=U.useEventSource;exports.useEyeDropper=w.useEyeDropper;exports.useFavicon=W.useFavicon;exports.useFps=H.useFps;exports.useFullscreen=x.useFullscreen;exports.mapGamepadToXbox360Controller=n.mapGamepadToXbox360Controller;exports.useGamepad=n.useGamepad;exports.useGeolocation=Q.useGeolocation;exports.timeRangeToArray=c.timeRangeToArray;exports.useMediaControls=c.useMediaControls;exports.useMemory=z.useMemory;exports.getConnection=a.getConnection;exports.useNetwork=a.useNetwork;exports.useOnline=G.useOnline;exports.useOtpCredential=X.useOtpCredential;exports.usePermission=Z.usePermission;exports.usePictureInPicture=j.usePictureInPicture;exports.usePointerLock=J.usePointerLock;exports.usePostMessage=Y.usePostMessage;exports.useRaf=$.useRaf;exports.useShare=ee.useShare;exports.getSpeechRecognition=l.getSpeechRecognition;exports.useSpeechRecognition=l.useSpeechRecognition;exports.useSpeechSynthesis=se.useSpeechSynthesis;exports.useVibrate=ue.useVibrate;exports.useVirtualKeyboard=re.useVirtualKeyboard;exports.useWakeLock=te.useWakeLock;exports.useWebSocket=oe.useWebSocket;exports.useLogger=ie.useLogger;exports.useRenderCount=ne.useRenderCount;exports.useRenderInfo=ce.useRenderInfo;exports.useRerender=ae.useRerender;exports.useActiveElement=le.useActiveElement;exports.useAutoScroll=Se.useAutoScroll;exports.useClickOutside=qe.useClickOutside;exports.DEFAULT_THRESHOLD_TIME=S.DEFAULT_THRESHOLD_TIME;exports.useDoubleClick=S.useDoubleClick;exports.useDropZone=de.useDropZone;exports.useFileDialog=ge.useFileDialog;exports.useFocus=Ee.useFocus;exports.useFocusTrap=Te.useFocusTrap;exports.useHover=Pe.useHover;exports.useImage=Ce.useImage;exports.useLongPress=Re.useLongPress;exports.Paint=r.Paint;exports.Pointer=r.Pointer;exports.usePaint=r.usePaint;exports.useRightClick=me.useRightClick;exports.SCRIPT_STATUS_ATTRIBUTE_NAME=q.SCRIPT_STATUS_ATTRIBUTE_NAME;exports.useScript=q.useScript;exports.useSticky=pe.useSticky;exports.useTextDirection=ye.useTextDirection;exports.useFul=Ie.useFul;exports.useLess=ke.useLess;exports.useOnce=ve.useOnce;exports.useAsyncEffect=Oe.useAsyncEffect;exports.useDidUpdate=he.useDidUpdate;exports.useIsFirstRender=Ae.useIsFirstRender;exports.useIsomorphicLayoutEffect=fe.useIsomorphicLayoutEffect;exports.useMount=De.useMount;exports.deepEqual=d.deepEqual;exports.useShallowEffect=d.useShallowEffect;exports.useUnmount=be.useUnmount;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.useDeviceMotion=Me.useDeviceMotion;exports.useDeviceOrientation=Le.useDeviceOrientation;exports.useDevicePixelRatio=_e.useDevicePixelRatio;exports.useDocumentEvent=Ne.useDocumentEvent;exports.useDocumentVisibility=Be.useDocumentVisibility;exports.useElementSize=Fe.useElementSize;exports.useEventListener=Ke.useEventListener;exports.isHotkeyMatch=g.isHotkeyMatch;exports.useHotkeys=g.useHotkeys;exports.useIdle=Ve.useIdle;exports.useInfiniteScroll=Ue.useInfiniteScroll;exports.useIntersectionObserver=we.useIntersectionObserver;exports.useKeyboard=We.useKeyboard;exports.useKeyPress=He.useKeyPress;exports.useKeyPressEvent=xe.useKeyPressEvent;exports.useKeysPressed=Qe.useKeysPressed;exports.useLockScroll=ze.useLockScroll;exports.useMeasure=Ge.useMeasure;exports.useMediaQuery=Xe.useMediaQuery;exports.useMouse=Ze.useMouse;exports.useMutationObserver=je.useMutationObserver;exports.useOrientation=Je.useOrientation;exports.usePageLeave=Ye.usePageLeave;exports.useParallax=$e.useParallax;exports.usePerformanceObserver=es.usePerformanceObserver;exports.useResizeObserver=ss.useResizeObserver;exports.useScroll=us.useScroll;exports.useScrollIntoView=rs.useScrollIntoView;exports.useScrollTo=ts.useScrollTo;exports.getRangesSelection=E.getRangesSelection;exports.useTextSelection=E.useTextSelection;exports.useWindowEvent=os.useWindowEvent;exports.useWindowFocus=is.useWindowFocus;exports.scrollTo=T.scrollTo;exports.useWindowScroll=T.useWindowScroll;exports.useWindowSize=ns.useWindowSize;exports.useBoolean=cs.useBoolean;exports.useControllableState=as.useControllableState;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=P.clearCookies;exports.useCookies=P.useCookies;exports.useCounter=ls.useCounter;exports.useDefault=Ss.useDefault;exports.useDisclosure=qs.useDisclosure;exports.useField=ds.useField;exports.useHash=gs.useHash;exports.useList=Es.useList;exports.useLocalStorage=Ts.useLocalStorage;exports.useMap=Ps.useMap;exports.assignRef=t.assignRef;exports.mergeRefs=t.mergeRefs;exports.useMergedRef=t.useMergedRef;exports.useOffsetPagination=Cs.useOffsetPagination;exports.useQueue=Rs.useQueue;exports.useRafState=ms.useRafState;exports.useRefState=ps.useRefState;exports.useSessionStorage=ys.useSessionStorage;exports.useSet=Is.useSet;exports.stateHistoryReducer=C.stateHistoryReducer;exports.useStateHistory=C.useStateHistory;exports.useStep=ks.useStep;exports.STORAGE_EVENT=o.STORAGE_EVENT;exports.dispatchStorageEvent=o.dispatchStorageEvent;exports.useStorage=o.useStorage;exports.useToggle=vs.useToggle;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=Os.useUrlSearchParams;exports.useWizard=hs.useWizard;exports.useInterval=As.useInterval;exports.useStopwatch=fs.useStopwatch;exports.useTime=Ds.useTime;exports.useTimeout=bs.useTimeout;exports.getTimeFromSeconds=R.getTimeFromSeconds;exports.useTimer=R.useTimer;exports.useBrowserLanguage=Ms.useBrowserLanguage;exports.getOperatingSystem=m.getOperatingSystem;exports.useOperatingSystem=m.useOperatingSystem;exports.usePreferredColorScheme=Ls.usePreferredColorScheme;exports.usePreferredContrast=_s.usePreferredContrast;exports.usePreferredDark=Ns.usePreferredDark;exports.usePreferredLanguages=Bs.usePreferredLanguages;exports.usePreferredReducedMotion=Fs.usePreferredReducedMotion;exports.useConst=Ks.useConst;exports.useDebounceCallback=Vs.useDebounceCallback;exports.useDebounceState=Us.useDebounceState;exports.useDebounceValue=ws.useDebounceValue;exports.useEvent=Ws.useEvent;exports.useLastChanged=Hs.useLastChanged;exports.useLatest=xs.useLatest;exports.usePrevious=Qs.usePrevious;exports.useThrottleCallback=zs.useThrottleCallback;exports.useThrottleState=Gs.useThrottleState;exports.useThrottleValue=Xs.useThrottleValue;exports.copy=p.copy;exports.legacyCopyToClipboard=p.legacyCopyToClipboard;exports.debounce=Zs.debounce;exports.getDate=js.getDate;exports.getElement=i.getElement;exports.target=i.target;exports.targetSymbol=i.targetSymbol;exports.getRetry=Js.getRetry;exports.isTarget=Ys.isTarget;exports.throttle=$s.throttle;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const I=require("./helpers/createContext/createContext.cjs"),k=require("./helpers/createEventEmitter/createEventEmitter.cjs"),v=require("./helpers/createReactiveContext/createReactiveContext.cjs"),h=require("./helpers/createStore/createStore.cjs"),O=require("./hooks/useAsync/useAsync.cjs"),A=require("./hooks/useLockCallback/useLockCallback.cjs"),f=require("./hooks/useMutation/useMutation.cjs"),D=require("./hooks/useOptimistic/useOptimistic.cjs"),b=require("./hooks/useQuery/useQuery.cjs"),M=require("./hooks/useAudio/useAudio.cjs"),L=require("./hooks/useBattery/useBattery.cjs"),_=require("./hooks/useBluetooth/useBluetooth.cjs"),N=require("./hooks/useBroadcastChannel/useBroadcastChannel.cjs"),B=require("./hooks/useClipboard/useClipboard.cjs"),F=require("./hooks/useCopy/useCopy.cjs"),K=require("./hooks/useCssVar/useCssVar.cjs"),V=require("./hooks/useDisplayMedia/useDisplayMedia.cjs"),U=require("./hooks/useDocumentTitle/useDocumentTitle.cjs"),w=require("./hooks/useEventSource/useEventSource.cjs"),H=require("./hooks/useEyeDropper/useEyeDropper.cjs"),W=require("./hooks/useFavicon/useFavicon.cjs"),x=require("./hooks/useFps/useFps.cjs"),Q=require("./hooks/useFullscreen/useFullscreen.cjs"),n=require("./hooks/useGamepad/useGamepad.cjs"),z=require("./hooks/useGeolocation/useGeolocation.cjs"),c=require("./hooks/useMediaControls/useMediaControls.cjs"),G=require("./hooks/useMemory/useMemory.cjs"),a=require("./hooks/useNetwork/useNetwork.cjs"),X=require("./hooks/useOnline/useOnline.cjs"),Z=require("./hooks/useOtpCredential/useOtpCredential.cjs"),j=require("./hooks/usePermission/usePermission.cjs"),J=require("./hooks/usePictureInPicture/usePictureInPicture.cjs"),Y=require("./hooks/usePointerLock/usePointerLock.cjs"),$=require("./hooks/usePostMessage/usePostMessage.cjs"),ee=require("./hooks/useRaf/useRaf.cjs"),se=require("./hooks/useShare/useShare.cjs"),l=require("./hooks/useSpeechRecognition/useSpeechRecognition.cjs"),ue=require("./hooks/useSpeechSynthesis/useSpeechSynthesis.cjs"),re=require("./hooks/useVibrate/useVibrate.cjs"),te=require("./hooks/useVirtualKeyboard/useVirtualKeyboard.cjs"),oe=require("./hooks/useWakeLock/useWakeLock.cjs"),ie=require("./hooks/useWebSocket/useWebSocket.cjs"),ne=require("./hooks/useLogger/useLogger.cjs"),ce=require("./hooks/useRenderCount/useRenderCount.cjs"),ae=require("./hooks/useRenderInfo/useRenderInfo.cjs"),le=require("./hooks/useRerender/useRerender.cjs"),Se=require("./hooks/useActiveElement/useActiveElement.cjs"),qe=require("./hooks/useAutoScroll/useAutoScroll.cjs"),de=require("./hooks/useClickOutside/useClickOutside.cjs"),S=require("./hooks/useDoubleClick/useDoubleClick.cjs"),ge=require("./hooks/useDropZone/useDropZone.cjs"),Ee=require("./hooks/useFileDialog/useFileDialog.cjs"),Te=require("./hooks/useFocus/useFocus.cjs"),Pe=require("./hooks/useFocusTrap/useFocusTrap.cjs"),Ce=require("./hooks/useHover/useHover.cjs"),Re=require("./hooks/useImage/useImage.cjs"),me=require("./hooks/useLongPress/useLongPress.cjs"),r=require("./hooks/usePaint/usePaint.cjs"),pe=require("./hooks/useRightClick/useRightClick.cjs"),q=require("./hooks/useScript/useScript.cjs"),ye=require("./hooks/useSticky/useSticky.cjs"),Ie=require("./hooks/useTextDirection/useTextDirection.cjs"),ke=require("./hooks/useFul/useFul.cjs"),ve=require("./hooks/useLess/useLess.cjs"),he=require("./hooks/useOnce/useOnce.cjs"),Oe=require("./hooks/useAsyncEffect/useAsyncEffect.cjs"),Ae=require("./hooks/useDidUpdate/useDidUpdate.cjs"),fe=require("./hooks/useIsFirstRender/useIsFirstRender.cjs"),De=require("./hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.cjs"),be=require("./hooks/useMount/useMount.cjs"),d=require("./hooks/useShallowEffect/useShallowEffect.cjs"),Me=require("./hooks/useUnmount/useUnmount.cjs"),e=require("./hooks/useBreakpoints/useBreakpoints.cjs"),Le=require("./hooks/useDeviceMotion/useDeviceMotion.cjs"),_e=require("./hooks/useDeviceOrientation/useDeviceOrientation.cjs"),Ne=require("./hooks/useDevicePixelRatio/useDevicePixelRatio.cjs"),Be=require("./hooks/useDocumentEvent/useDocumentEvent.cjs"),Fe=require("./hooks/useDocumentVisibility/useDocumentVisibility.cjs"),Ke=require("./hooks/useElementSize/useElementSize.cjs"),Ve=require("./hooks/useEventListener/useEventListener.cjs"),g=require("./hooks/useHotkeys/useHotkeys.cjs"),Ue=require("./hooks/useIdle/useIdle.cjs"),we=require("./hooks/useInfiniteScroll/useInfiniteScroll.cjs"),He=require("./hooks/useIntersectionObserver/useIntersectionObserver.cjs"),We=require("./hooks/useKeyboard/useKeyboard.cjs"),xe=require("./hooks/useKeyPress/useKeyPress.cjs"),Qe=require("./hooks/useKeyPressEvent/useKeyPressEvent.cjs"),ze=require("./hooks/useKeysPressed/useKeysPressed.cjs"),Ge=require("./hooks/useLockScroll/useLockScroll.cjs"),Xe=require("./hooks/useMeasure/useMeasure.cjs"),Ze=require("./hooks/useMediaQuery/useMediaQuery.cjs"),je=require("./hooks/useMouse/useMouse.cjs"),Je=require("./hooks/useMutationObserver/useMutationObserver.cjs"),Ye=require("./hooks/useOrientation/useOrientation.cjs"),$e=require("./hooks/usePageLeave/usePageLeave.cjs"),es=require("./hooks/useParallax/useParallax.cjs"),ss=require("./hooks/usePerformanceObserver/usePerformanceObserver.cjs"),us=require("./hooks/useResizeObserver/useResizeObserver.cjs"),rs=require("./hooks/useScroll/useScroll.cjs"),ts=require("./hooks/useScrollIntoView/useScrollIntoView.cjs"),os=require("./hooks/useScrollTo/useScrollTo.cjs"),E=require("./hooks/useTextSelection/useTextSelection.cjs"),is=require("./hooks/useWindowEvent/useWindowEvent.cjs"),ns=require("./hooks/useWindowFocus/useWindowFocus.cjs"),T=require("./hooks/useWindowScroll/useWindowScroll.cjs"),cs=require("./hooks/useWindowSize/useWindowSize.cjs"),as=require("./hooks/useBoolean/useBoolean.cjs"),ls=require("./hooks/useControllableState/useControllableState.cjs"),s=require("./hooks/useCookie/useCookie.cjs"),P=require("./hooks/useCookies/useCookies.cjs"),Ss=require("./hooks/useCounter/useCounter.cjs"),qs=require("./hooks/useDefault/useDefault.cjs"),ds=require("./hooks/useDisclosure/useDisclosure.cjs"),gs=require("./hooks/useField/useField.cjs"),C=require("./hooks/useHash/useHash.cjs"),Es=require("./hooks/useList/useList.cjs"),Ts=require("./hooks/useLocalStorage/useLocalStorage.cjs"),Ps=require("./hooks/useMap/useMap.cjs"),t=require("./hooks/useMergedRef/useMergedRef.cjs"),Cs=require("./hooks/useOffsetPagination/useOffsetPagination.cjs"),Rs=require("./hooks/useQueue/useQueue.cjs"),ms=require("./hooks/useRafState/useRafState.cjs"),ps=require("./hooks/useRefState/useRefState.cjs"),ys=require("./hooks/useSessionStorage/useSessionStorage.cjs"),Is=require("./hooks/useSet/useSet.cjs"),R=require("./hooks/useStateHistory/useStateHistory.cjs"),ks=require("./hooks/useStep/useStep.cjs"),o=require("./hooks/useStorage/useStorage.cjs"),vs=require("./hooks/useToggle/useToggle.cjs"),u=require("./hooks/useUrlSearchParam/useUrlSearchParam.cjs"),hs=require("./hooks/useUrlSearchParams/useUrlSearchParams.cjs"),Os=require("./hooks/useWizard/useWizard.cjs"),As=require("./hooks/useInterval/useInterval.cjs"),fs=require("./hooks/useStopwatch/useStopwatch.cjs"),Ds=require("./hooks/useTime/useTime.cjs"),bs=require("./hooks/useTimeout/useTimeout.cjs"),m=require("./hooks/useTimer/useTimer.cjs"),Ms=require("./hooks/useBrowserLanguage/useBrowserLanguage.cjs"),p=require("./hooks/useOperatingSystem/useOperatingSystem.cjs"),Ls=require("./hooks/usePreferredColorScheme/usePreferredColorScheme.cjs"),_s=require("./hooks/usePreferredContrast/usePreferredContrast.cjs"),Ns=require("./hooks/usePreferredDark/usePreferredDark.cjs"),Bs=require("./hooks/usePreferredLanguages/usePreferredLanguages.cjs"),Fs=require("./hooks/usePreferredReducedMotion/usePreferredReducedMotion.cjs"),Ks=require("./hooks/useConst/useConst.cjs"),Vs=require("./hooks/useDebounceCallback/useDebounceCallback.cjs"),Us=require("./hooks/useDebounceState/useDebounceState.cjs"),ws=require("./hooks/useDebounceValue/useDebounceValue.cjs"),Hs=require("./hooks/useEvent/useEvent.cjs"),Ws=require("./hooks/useLastChanged/useLastChanged.cjs"),xs=require("./hooks/useLatest/useLatest.cjs"),Qs=require("./hooks/usePrevious/usePrevious.cjs"),zs=require("./hooks/useThrottleCallback/useThrottleCallback.cjs"),Gs=require("./hooks/useThrottleState/useThrottleState.cjs"),Xs=require("./hooks/useThrottleValue/useThrottleValue.cjs"),y=require("./utils/helpers/copy.cjs"),Zs=require("./utils/helpers/debounce.cjs"),js=require("./utils/helpers/getDate.cjs"),i=require("./utils/helpers/getElement.cjs"),Js=require("./utils/helpers/getRetry.cjs"),Ys=require("./utils/helpers/isTarget.cjs"),$s=require("./utils/helpers/throttle.cjs");exports.createContext=I.createContext;exports.createEventEmitter=k.createEventEmitter;exports.createReactiveContext=v.createReactiveContext;exports.createStore=h.createStore;exports.useAsync=O.useAsync;exports.useLockCallback=A.useLockCallback;exports.useMutation=f.useMutation;exports.useOptimistic=D.useOptimistic;exports.useQuery=b.useQuery;exports.useAudio=M.useAudio;exports.useBattery=L.useBattery;exports.useBluetooth=_.useBluetooth;exports.useBroadcastChannel=N.useBroadcastChannel;exports.useClipboard=B.useClipboard;exports.useCopy=F.useCopy;exports.useCssVar=K.useCssVar;exports.useDisplayMedia=V.useDisplayMedia;exports.useDocumentTitle=U.useDocumentTitle;exports.useEventSource=w.useEventSource;exports.useEyeDropper=H.useEyeDropper;exports.useFavicon=W.useFavicon;exports.useFps=x.useFps;exports.useFullscreen=Q.useFullscreen;exports.mapGamepadToXbox360Controller=n.mapGamepadToXbox360Controller;exports.useGamepad=n.useGamepad;exports.useGeolocation=z.useGeolocation;exports.timeRangeToArray=c.timeRangeToArray;exports.useMediaControls=c.useMediaControls;exports.useMemory=G.useMemory;exports.getConnection=a.getConnection;exports.useNetwork=a.useNetwork;exports.useOnline=X.useOnline;exports.useOtpCredential=Z.useOtpCredential;exports.usePermission=j.usePermission;exports.usePictureInPicture=J.usePictureInPicture;exports.usePointerLock=Y.usePointerLock;exports.usePostMessage=$.usePostMessage;exports.useRaf=ee.useRaf;exports.useShare=se.useShare;exports.getSpeechRecognition=l.getSpeechRecognition;exports.useSpeechRecognition=l.useSpeechRecognition;exports.useSpeechSynthesis=ue.useSpeechSynthesis;exports.useVibrate=re.useVibrate;exports.useVirtualKeyboard=te.useVirtualKeyboard;exports.useWakeLock=oe.useWakeLock;exports.useWebSocket=ie.useWebSocket;exports.useLogger=ne.useLogger;exports.useRenderCount=ce.useRenderCount;exports.useRenderInfo=ae.useRenderInfo;exports.useRerender=le.useRerender;exports.useActiveElement=Se.useActiveElement;exports.useAutoScroll=qe.useAutoScroll;exports.useClickOutside=de.useClickOutside;exports.DEFAULT_THRESHOLD_TIME=S.DEFAULT_THRESHOLD_TIME;exports.useDoubleClick=S.useDoubleClick;exports.useDropZone=ge.useDropZone;exports.useFileDialog=Ee.useFileDialog;exports.useFocus=Te.useFocus;exports.useFocusTrap=Pe.useFocusTrap;exports.useHover=Ce.useHover;exports.useImage=Re.useImage;exports.useLongPress=me.useLongPress;exports.Paint=r.Paint;exports.Pointer=r.Pointer;exports.usePaint=r.usePaint;exports.useRightClick=pe.useRightClick;exports.SCRIPT_STATUS_ATTRIBUTE_NAME=q.SCRIPT_STATUS_ATTRIBUTE_NAME;exports.useScript=q.useScript;exports.useSticky=ye.useSticky;exports.useTextDirection=Ie.useTextDirection;exports.useFul=ke.useFul;exports.useLess=ve.useLess;exports.useOnce=he.useOnce;exports.useAsyncEffect=Oe.useAsyncEffect;exports.useDidUpdate=Ae.useDidUpdate;exports.useIsFirstRender=fe.useIsFirstRender;exports.useIsomorphicLayoutEffect=De.useIsomorphicLayoutEffect;exports.useMount=be.useMount;exports.deepEqual=d.deepEqual;exports.useShallowEffect=d.useShallowEffect;exports.useUnmount=Me.useUnmount;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.useDeviceMotion=Le.useDeviceMotion;exports.useDeviceOrientation=_e.useDeviceOrientation;exports.useDevicePixelRatio=Ne.useDevicePixelRatio;exports.useDocumentEvent=Be.useDocumentEvent;exports.useDocumentVisibility=Fe.useDocumentVisibility;exports.useElementSize=Ke.useElementSize;exports.useEventListener=Ve.useEventListener;exports.isHotkeyMatch=g.isHotkeyMatch;exports.useHotkeys=g.useHotkeys;exports.useIdle=Ue.useIdle;exports.useInfiniteScroll=we.useInfiniteScroll;exports.useIntersectionObserver=He.useIntersectionObserver;exports.useKeyboard=We.useKeyboard;exports.useKeyPress=xe.useKeyPress;exports.useKeyPressEvent=Qe.useKeyPressEvent;exports.useKeysPressed=ze.useKeysPressed;exports.useLockScroll=Ge.useLockScroll;exports.useMeasure=Xe.useMeasure;exports.useMediaQuery=Ze.useMediaQuery;exports.useMouse=je.useMouse;exports.useMutationObserver=Je.useMutationObserver;exports.useOrientation=Ye.useOrientation;exports.usePageLeave=$e.usePageLeave;exports.useParallax=es.useParallax;exports.usePerformanceObserver=ss.usePerformanceObserver;exports.useResizeObserver=us.useResizeObserver;exports.useScroll=rs.useScroll;exports.useScrollIntoView=ts.useScrollIntoView;exports.useScrollTo=os.useScrollTo;exports.getRangesSelection=E.getRangesSelection;exports.useTextSelection=E.useTextSelection;exports.useWindowEvent=is.useWindowEvent;exports.useWindowFocus=ns.useWindowFocus;exports.scrollTo=T.scrollTo;exports.useWindowScroll=T.useWindowScroll;exports.useWindowSize=cs.useWindowSize;exports.useBoolean=as.useBoolean;exports.useControllableState=ls.useControllableState;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=P.clearCookies;exports.useCookies=P.useCookies;exports.useCounter=Ss.useCounter;exports.useDefault=qs.useDefault;exports.useDisclosure=ds.useDisclosure;exports.useField=gs.useField;exports.getHash=C.getHash;exports.useHash=C.useHash;exports.useList=Es.useList;exports.useLocalStorage=Ts.useLocalStorage;exports.useMap=Ps.useMap;exports.assignRef=t.assignRef;exports.mergeRefs=t.mergeRefs;exports.useMergedRef=t.useMergedRef;exports.useOffsetPagination=Cs.useOffsetPagination;exports.useQueue=Rs.useQueue;exports.useRafState=ms.useRafState;exports.useRefState=ps.useRefState;exports.useSessionStorage=ys.useSessionStorage;exports.useSet=Is.useSet;exports.stateHistoryReducer=R.stateHistoryReducer;exports.useStateHistory=R.useStateHistory;exports.useStep=ks.useStep;exports.STORAGE_EVENT=o.STORAGE_EVENT;exports.dispatchStorageEvent=o.dispatchStorageEvent;exports.useStorage=o.useStorage;exports.useToggle=vs.useToggle;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=hs.useUrlSearchParams;exports.useWizard=Os.useWizard;exports.useInterval=As.useInterval;exports.useStopwatch=fs.useStopwatch;exports.useTime=Ds.useTime;exports.useTimeout=bs.useTimeout;exports.getTimeFromSeconds=m.getTimeFromSeconds;exports.useTimer=m.useTimer;exports.useBrowserLanguage=Ms.useBrowserLanguage;exports.getOperatingSystem=p.getOperatingSystem;exports.useOperatingSystem=p.useOperatingSystem;exports.usePreferredColorScheme=Ls.usePreferredColorScheme;exports.usePreferredContrast=_s.usePreferredContrast;exports.usePreferredDark=Ns.usePreferredDark;exports.usePreferredLanguages=Bs.usePreferredLanguages;exports.usePreferredReducedMotion=Fs.usePreferredReducedMotion;exports.useConst=Ks.useConst;exports.useDebounceCallback=Vs.useDebounceCallback;exports.useDebounceState=Us.useDebounceState;exports.useDebounceValue=ws.useDebounceValue;exports.useEvent=Hs.useEvent;exports.useLastChanged=Ws.useLastChanged;exports.useLatest=xs.useLatest;exports.usePrevious=Qs.usePrevious;exports.useThrottleCallback=zs.useThrottleCallback;exports.useThrottleState=Gs.useThrottleState;exports.useThrottleValue=Xs.useThrottleValue;exports.copy=y.copy;exports.legacyCopyToClipboard=y.legacyCopyToClipboard;exports.debounce=Zs.debounce;exports.getDate=js.getDate;exports.getElement=i.getElement;exports.target=i.target;exports.targetSymbol=i.targetSymbol;exports.getRetry=Js.getRetry;exports.isTarget=Ys.isTarget;exports.throttle=$s.throttle;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,37 +1,37 @@
1
- import { useState as r, useRef as u, useEffect as d } from "react";
2
- import { throttle as v } from "../../utils/helpers/throttle.mjs";
3
- const f = (t) => {
4
- const l = t?.enabled ?? !0, a = t?.delay ?? 1e3, [n, c] = r({
1
+ import { useState as u, useRef as d, useEffect as v } from "react";
2
+ import { throttle as f } from "../../utils/helpers/throttle.mjs";
3
+ const b = (...e) => {
4
+ const l = typeof e[0] == "number" ? e[0] : e[0]?.delay ?? 1e3, o = typeof e[0] == "function" ? e[0] : e[0]?.onChange, i = e[0]?.enabled ?? !0, [t, r] = u({
5
5
  interval: 0,
6
6
  rotationRate: { alpha: null, beta: null, gamma: null },
7
7
  acceleration: { x: null, y: null, z: null },
8
8
  accelerationIncludingGravity: { x: null, y: null, z: null }
9
- }), o = u(t?.callback);
10
- return o.current = t?.callback, d(() => {
11
- if (!l) return;
12
- const i = v((e) => {
13
- o.current?.(e), c({
14
- interval: e.interval,
9
+ }), a = d(o);
10
+ return a.current = o, v(() => {
11
+ if (!i) return;
12
+ const c = f((n) => {
13
+ a.current?.(n), r({
14
+ interval: n.interval,
15
15
  rotationRate: {
16
- ...n.rotationRate,
17
- ...e.rotationRate
16
+ ...t.rotationRate,
17
+ ...n.rotationRate
18
18
  },
19
19
  acceleration: {
20
- ...n.acceleration,
21
- ...e.acceleration
20
+ ...t.acceleration,
21
+ ...n.acceleration
22
22
  },
23
23
  accelerationIncludingGravity: {
24
- ...n.accelerationIncludingGravity,
25
- ...e.accelerationIncludingGravity
24
+ ...t.accelerationIncludingGravity,
25
+ ...n.accelerationIncludingGravity
26
26
  }
27
27
  });
28
- }, a);
29
- return window.addEventListener("devicemotion", i), () => {
30
- window.removeEventListener("devicemotion", i);
28
+ }, l);
29
+ return window.addEventListener("devicemotion", c), () => {
30
+ window.removeEventListener("devicemotion", c);
31
31
  };
32
- }, [a, l]), n;
32
+ }, [l, i]), t;
33
33
  };
34
34
  export {
35
- f as useDeviceMotion
35
+ b as useDeviceMotion
36
36
  };
37
37
  //# sourceMappingURL=useDeviceMotion.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDeviceMotion.mjs","sources":["../../../../src/hooks/useDeviceMotion/useDeviceMotion.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport { throttle } from '@/utils/helpers';\n\nexport interface UseDeviceMotionReturn {\n acceleration: DeviceMotionEventAcceleration;\n accelerationIncludingGravity: DeviceMotionEventAcceleration;\n interval: DeviceMotionEvent['interval'];\n rotationRate: DeviceMotionEventRotationRate;\n}\n\nexport interface UseDeviceMotionParams {\n /** The delay in milliseconds */\n delay?: number;\n /** Whether to enable the hook */\n enabled?: boolean;\n /** The callback function to be invoked */\n callback?: (event: DeviceMotionEvent) => void;\n}\n\n/**\n * @name useDeviceMotion\n * @description - Hook that work with device motion\n * @category Sensors\n * @usage low\n *\n * @browserapi DeviceMotionEvent https://developer.mozilla.org/en-US/docs/Web/API/Window/DeviceMotionEvent\n *\n * @param {number} [delay=1000] The delay in milliseconds\n * @param {(event: DeviceMotionEvent) => void} [callback] The callback function to be invoked\n * @param {boolean} [enabled=true] Whether to enable the hook\n * @returns {UseDeviceMotionReturn} The device motion data and interval\n *\n * @example\n * const { interval, rotationRate, acceleration, accelerationIncludingGravity } = useDeviceMotion();\n */\nexport const useDeviceMotion = (params?: UseDeviceMotionParams) => {\n const enabled = params?.enabled ?? true;\n const delay = params?.delay ?? 1000;\n const [value, setValue] = useState<UseDeviceMotionReturn>({\n interval: 0,\n rotationRate: { alpha: null, beta: null, gamma: null },\n acceleration: { x: null, y: null, z: null },\n accelerationIncludingGravity: { x: null, y: null, z: null }\n });\n const internalCallbackRef = useRef(params?.callback);\n internalCallbackRef.current = params?.callback;\n\n useEffect(() => {\n if (!enabled) return;\n\n const onDeviceMotion = throttle<[DeviceMotionEvent]>((event) => {\n internalCallbackRef.current?.(event);\n\n setValue({\n interval: event.interval,\n rotationRate: {\n ...value.rotationRate,\n ...event.rotationRate\n },\n acceleration: {\n ...value.acceleration,\n ...event.acceleration\n },\n accelerationIncludingGravity: {\n ...value.accelerationIncludingGravity,\n ...event.accelerationIncludingGravity\n }\n });\n }, delay);\n\n window.addEventListener('devicemotion', onDeviceMotion);\n\n return () => {\n window.removeEventListener('devicemotion', onDeviceMotion);\n };\n }, [delay, enabled]);\n\n return value;\n};\n"],"names":["useDeviceMotion","params","enabled","delay","value","setValue","useState","internalCallbackRef","useRef","useEffect","onDeviceMotion","throttle","event"],"mappings":";;AAoCO,MAAMA,IAAkB,CAACC,MAAmC;AACjE,QAAMC,IAAUD,GAAQ,WAAW,IAC7BE,IAAQF,GAAQ,SAAS,KACzB,CAACG,GAAOC,CAAQ,IAAIC,EAAgC;AAAA,IACxD,UAAU;AAAA,IACV,cAAc,EAAE,OAAO,MAAM,MAAM,MAAM,OAAO,KAAA;AAAA,IAChD,cAAc,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,KAAA;AAAA,IACrC,8BAA8B,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,KAAA;AAAA,EAAK,CAC3D,GACKC,IAAsBC,EAAOP,GAAQ,QAAQ;AACnD,SAAAM,EAAoB,UAAUN,GAAQ,UAEtCQ,EAAU,MAAM;AACd,QAAI,CAACP,EAAS;AAEd,UAAMQ,IAAiBC,EAA8B,CAACC,MAAU;AAC9D,MAAAL,EAAoB,UAAUK,CAAK,GAEnCP,EAAS;AAAA,QACP,UAAUO,EAAM;AAAA,QAChB,cAAc;AAAA,UACZ,GAAGR,EAAM;AAAA,UACT,GAAGQ,EAAM;AAAA,QAAA;AAAA,QAEX,cAAc;AAAA,UACZ,GAAGR,EAAM;AAAA,UACT,GAAGQ,EAAM;AAAA,QAAA;AAAA,QAEX,8BAA8B;AAAA,UAC5B,GAAGR,EAAM;AAAA,UACT,GAAGQ,EAAM;AAAA,QAAA;AAAA,MACX,CACD;AAAA,IAAA,GACAT,CAAK;AAER,kBAAO,iBAAiB,gBAAgBO,CAAc,GAE/C,MAAM;AACX,aAAO,oBAAoB,gBAAgBA,CAAc;AAAA,IAAA;AAAA,EAC3D,GACC,CAACP,GAAOD,CAAO,CAAC,GAEZE;AACT;"}
1
+ {"version":3,"file":"useDeviceMotion.mjs","sources":["../../../../src/hooks/useDeviceMotion/useDeviceMotion.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport { throttle } from '@/utils/helpers';\n\nexport interface UseDeviceMotionReturn {\n acceleration: DeviceMotionEventAcceleration;\n accelerationIncludingGravity: DeviceMotionEventAcceleration;\n interval: DeviceMotionEvent['interval'];\n rotationRate: DeviceMotionEventRotationRate;\n}\n\nexport interface UseDeviceMotionOptions {\n /** The delay in milliseconds */\n delay?: number;\n /** Whether to enable the hook */\n enabled?: boolean;\n /** The callback function to be invoked */\n onChange?: (event: DeviceMotionEvent) => void;\n}\n\nexport interface UseDeviceMotion {\n (callback?: (event: DeviceMotionEvent) => void, delay?: number): UseDeviceMotionReturn;\n\n (options?: UseDeviceMotionOptions): UseDeviceMotionReturn;\n}\n\n/**\n * @name useDeviceMotion\n * @description - Hook that work with device motion\n * @category Sensors\n * @usage low\n *\n * @browserapi DeviceMotionEvent https://developer.mozilla.org/en-US/docs/Web/API/Window/DeviceMotionEvent\n *\n * @overload\n * @param {number} [delay=1000] The delay in milliseconds\n * @param {(event: DeviceMotionEvent) => void} [callback] The callback function to be invoked\n * @returns {UseDeviceMotionReturn} The device motion data and interval\n *\n * @example\n * const { interval, rotationRate, acceleration, accelerationIncludingGravity } = useDeviceMotion(500, (event) => console.log(event));\n *\n * @overload\n * @param {(event: DeviceMotionEvent) => void} [callback] The callback function to be invoked\n * @returns {UseDeviceMotionReturn} The device motion data and interval\n *\n * @example\n * const { interval, rotationRate, acceleration, accelerationIncludingGravity } = useDeviceMotion((event) => console.log(event));\n *\n * @overload\n * @param {UseDeviceMotionOptions} [options] Configuration options\n * @param {number} [options.delay] The delay in milliseconds\n * @param {boolean} [options.enabled] Whether to enable the hook\n * @param {(event: DeviceMotionEvent) => void} [options.onChange] The callback function to be invoked\n * @returns {UseDeviceMotionReturn} The device motion data and interval\n *\n * @example\n * const { interval, rotationRate, acceleration, accelerationIncludingGravity } = useDeviceMotion();\n */\nexport const useDeviceMotion = ((...params: any[]) => {\n const delay = typeof params[0] === 'number' ? params[0] : (params[0]?.delay ?? 1000);\n const callback = typeof params[0] === 'function' ? params[0] : params[0]?.onChange;\n const enabled = params[0]?.enabled ?? true;\n\n const [value, setValue] = useState<UseDeviceMotionReturn>({\n interval: 0,\n rotationRate: { alpha: null, beta: null, gamma: null },\n acceleration: { x: null, y: null, z: null },\n accelerationIncludingGravity: { x: null, y: null, z: null }\n });\n const internalCallbackRef = useRef(callback);\n internalCallbackRef.current = callback;\n\n useEffect(() => {\n if (!enabled) return;\n\n const onDeviceMotion = throttle<[DeviceMotionEvent]>((event) => {\n internalCallbackRef.current?.(event);\n\n setValue({\n interval: event.interval,\n rotationRate: {\n ...value.rotationRate,\n ...event.rotationRate\n },\n acceleration: {\n ...value.acceleration,\n ...event.acceleration\n },\n accelerationIncludingGravity: {\n ...value.accelerationIncludingGravity,\n ...event.accelerationIncludingGravity\n }\n });\n }, delay);\n\n window.addEventListener('devicemotion', onDeviceMotion);\n\n return () => {\n window.removeEventListener('devicemotion', onDeviceMotion);\n };\n }, [delay, enabled]);\n\n return value;\n}) as UseDeviceMotion;\n"],"names":["useDeviceMotion","params","delay","callback","enabled","value","setValue","useState","internalCallbackRef","useRef","useEffect","onDeviceMotion","throttle","event"],"mappings":";;AA2DO,MAAMA,IAAmB,IAAIC,MAAkB;AACpD,QAAMC,IAAQ,OAAOD,EAAO,CAAC,KAAM,WAAWA,EAAO,CAAC,IAAKA,EAAO,CAAC,GAAG,SAAS,KACzEE,IAAW,OAAOF,EAAO,CAAC,KAAM,aAAaA,EAAO,CAAC,IAAIA,EAAO,CAAC,GAAG,UACpEG,IAAUH,EAAO,CAAC,GAAG,WAAW,IAEhC,CAACI,GAAOC,CAAQ,IAAIC,EAAgC;AAAA,IACxD,UAAU;AAAA,IACV,cAAc,EAAE,OAAO,MAAM,MAAM,MAAM,OAAO,KAAA;AAAA,IAChD,cAAc,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,KAAA;AAAA,IACrC,8BAA8B,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,KAAA;AAAA,EAAK,CAC3D,GACKC,IAAsBC,EAAON,CAAQ;AAC3C,SAAAK,EAAoB,UAAUL,GAE9BO,EAAU,MAAM;AACd,QAAI,CAACN,EAAS;AAEd,UAAMO,IAAiBC,EAA8B,CAACC,MAAU;AAC9D,MAAAL,EAAoB,UAAUK,CAAK,GAEnCP,EAAS;AAAA,QACP,UAAUO,EAAM;AAAA,QAChB,cAAc;AAAA,UACZ,GAAGR,EAAM;AAAA,UACT,GAAGQ,EAAM;AAAA,QAAA;AAAA,QAEX,cAAc;AAAA,UACZ,GAAGR,EAAM;AAAA,UACT,GAAGQ,EAAM;AAAA,QAAA;AAAA,QAEX,8BAA8B;AAAA,UAC5B,GAAGR,EAAM;AAAA,UACT,GAAGQ,EAAM;AAAA,QAAA;AAAA,MACX,CACD;AAAA,IAAA,GACAX,CAAK;AAER,kBAAO,iBAAiB,gBAAgBS,CAAc,GAE/C,MAAM;AACX,aAAO,oBAAoB,gBAAgBA,CAAc;AAAA,IAAA;AAAA,EAC3D,GACC,CAACT,GAAOE,CAAO,CAAC,GAEZC;AACT;"}
@@ -1,17 +1,24 @@
1
- import { useState as r, useEffect as c } from "react";
2
- const s = () => decodeURIComponent(window.location.hash.replace("#", "")), i = (n = "", h = "replace") => {
3
- const [o, t] = r(() => typeof window > "u" ? n : s() || n), a = (e) => {
4
- window.location.hash = e, t(e);
1
+ import { useState as a, useRef as w, useEffect as g } from "react";
2
+ const f = () => decodeURIComponent(window.location.hash.replace("#", "")), p = (...e) => {
3
+ const c = typeof e[0] == "string" ? e[0] : "", o = typeof e[1] == "object" ? e[1] : typeof e[1] == "function" ? { onChange: e[1] } : typeof e[0] == "object" ? e[0] : {}, s = o?.enabled ?? !0, h = o?.mode ?? "replace", [i, r] = a(() => typeof window > "u" ? c : f() || c), t = w(o);
4
+ t.current = o;
5
+ const u = (n) => {
6
+ window.location.hash = n, r(n), t.current?.onChange?.(n);
5
7
  };
6
- return c(() => {
7
- h === "replace" && (window.location.hash = o);
8
- const e = () => t(s());
9
- return window.addEventListener("hashchange", e), () => {
10
- window.removeEventListener("hashchange", e);
8
+ return g(() => {
9
+ if (!s) return;
10
+ h === "replace" && (window.location.hash = i);
11
+ const n = () => {
12
+ const d = f();
13
+ r(d), t.current?.onChange?.(d);
11
14
  };
12
- }, []), [o, a];
15
+ return window.addEventListener("hashchange", n), () => {
16
+ window.removeEventListener("hashchange", n);
17
+ };
18
+ }, [s, h]), [i, u];
13
19
  };
14
20
  export {
15
- i as useHash
21
+ f as getHash,
22
+ p as useHash
16
23
  };
17
24
  //# sourceMappingURL=useHash.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useHash.mjs","sources":["../../../../src/hooks/useHash/useHash.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nconst getHash = () => decodeURIComponent(window.location.hash.replace('#', ''));\n\n/** The use hash return type */\ntype UseHashReturn = [string, (value: string) => void];\n\n/**\n * @name useHash\n * @description - Hook that manages the hash value\n * @category State\n * @usage low\n *\n * @param {string} [initialValue] The initial hash value if no hash exists\n * @returns {UseHashReturn} An array containing the hash value and a function to set the hash value\n *\n * @example\n * const [hash, setHash] = useHash(\"initial\");\n */\nexport const useHash = (\n initialValue = '',\n mode: 'initial' | 'replace' = 'replace'\n): UseHashReturn => {\n const [hash, setHash] = useState(() => {\n if (typeof window === 'undefined') return initialValue;\n return getHash() || initialValue;\n });\n\n const set = (value: string) => {\n window.location.hash = value;\n setHash(value);\n };\n\n useEffect(() => {\n if (mode === 'replace') window.location.hash = hash;\n\n const onHashChange = () => setHash(getHash());\n window.addEventListener('hashchange', onHashChange);\n return () => {\n window.removeEventListener('hashchange', onHashChange);\n };\n }, []);\n\n return [hash, set] as const;\n};\n"],"names":["getHash","useHash","initialValue","mode","hash","setHash","useState","set","value","useEffect","onHashChange"],"mappings":";AAEA,MAAMA,IAAU,MAAM,mBAAmB,OAAO,SAAS,KAAK,QAAQ,KAAK,EAAE,CAAC,GAiBjEC,IAAU,CACrBC,IAAe,IACfC,IAA8B,cACZ;AAClB,QAAM,CAACC,GAAMC,CAAO,IAAIC,EAAS,MAC3B,OAAO,SAAW,MAAoBJ,IACnCF,OAAaE,CACrB,GAEKK,IAAM,CAACC,MAAkB;AAC7B,WAAO,SAAS,OAAOA,GACvBH,EAAQG,CAAK;AAAA,EAAA;AAGf,SAAAC,EAAU,MAAM;AACd,IAAIN,MAAS,cAAW,OAAO,SAAS,OAAOC;AAE/C,UAAMM,IAAe,MAAML,EAAQL,GAAS;AAC5C,kBAAO,iBAAiB,cAAcU,CAAY,GAC3C,MAAM;AACX,aAAO,oBAAoB,cAAcA,CAAY;AAAA,IAAA;AAAA,EACvD,GACC,EAAE,GAEE,CAACN,GAAMG,CAAG;AACnB;"}
1
+ {"version":3,"file":"useHash.mjs","sources":["../../../../src/hooks/useHash/useHash.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nexport const getHash = () => decodeURIComponent(window.location.hash.replace('#', ''));\n\n/** The use hash options type */\nexport interface UseHashOptions {\n /** The enabled state of the hook */\n enabled?: boolean;\n /** The mode of hash setting */\n mode?: 'initial' | 'replace';\n /** Callback function called when hash changes */\n onChange?: (hash: string) => void;\n}\n\n/** The use hash return type */\ntype UseHashReturn = [string, (value: string) => void];\n\nexport interface UseHash {\n (initialValue?: string, options?: UseHashOptions): UseHashReturn;\n\n (options?: UseHashOptions): UseHashReturn;\n\n (initialValue?: string, callback?: (hash: string) => void): UseHashReturn;\n\n (callback?: (hash: string) => void): UseHashReturn;\n}\n\n/**\n * @name useHash\n * @description - Hook that manages the hash value\n * @category State\n * @usage low\n *\n * @overload\n * @param {string} [initialValue] The initial hash value if no hash exists\n * @param {UseHashOptions} [options] Configuration options\n * @param {boolean} [options.enabled] The enabled state of the hook\n * @param {'initial' | 'replace'} [options.mode] The mode of hash setting\n * @param {(hash: string) => void} [options.onChange] Callback function called when hash changes\n * @returns {UseHashReturn} An array containing the hash value and a function to set the hash value\n *\n * @example\n * const [hash, setHash] = useHash(\"initial\", {\n * enabled: true,\n * mode: \"replace\",\n * onChange: (newHash) => console.log('Hash changed:', newHash)\n * });\n *\n * @overload\n * @param {string} [initialValue] The initial hash value if no hash exists\n * @param {(hash: string) => void} [callback] Callback function called when hash changes\n * @returns {UseHashReturn} An array containing the hash value and a function to set the hash value\n *\n * @example\n * const [hash, setHash] = useHash(\"initial\", (newHash) => console.log('callback'));\n */\nexport const useHash = ((...params: any[]) => {\n const initialValue = typeof params[0] === 'string' ? params[0] : '';\n const options =\n typeof params[1] === 'object'\n ? params[1]\n : typeof params[1] === 'function'\n ? { onChange: params[1] }\n : typeof params[0] === 'object'\n ? params[0]\n : {};\n\n const enabled = options?.enabled ?? true;\n const mode = options?.mode ?? 'replace';\n\n const [hash, setHash] = useState(() => {\n if (typeof window === 'undefined') return initialValue;\n return getHash() || initialValue;\n });\n\n const optionsRef = useRef(options);\n optionsRef.current = options;\n\n const set = (value: string) => {\n window.location.hash = value;\n setHash(value);\n optionsRef.current?.onChange?.(value);\n };\n\n useEffect(() => {\n if (!enabled) return;\n\n if (mode === 'replace') window.location.hash = hash;\n\n const onHashChange = () => {\n const newHash = getHash();\n setHash(newHash);\n optionsRef.current?.onChange?.(newHash);\n };\n\n window.addEventListener('hashchange', onHashChange);\n return () => {\n window.removeEventListener('hashchange', onHashChange);\n };\n }, [enabled, mode]);\n\n return [hash, set] as const;\n}) as UseHash;\n"],"names":["getHash","useHash","params","initialValue","options","enabled","mode","hash","setHash","useState","optionsRef","useRef","set","value","useEffect","onHashChange","newHash"],"mappings":";AAEO,MAAMA,IAAU,MAAM,mBAAmB,OAAO,SAAS,KAAK,QAAQ,KAAK,EAAE,CAAC,GAsDxEC,IAAW,IAAIC,MAAkB;AAC5C,QAAMC,IAAe,OAAOD,EAAO,CAAC,KAAM,WAAWA,EAAO,CAAC,IAAI,IAC3DE,IACJ,OAAOF,EAAO,CAAC,KAAM,WACjBA,EAAO,CAAC,IACR,OAAOA,EAAO,CAAC,KAAM,aACnB,EAAE,UAAUA,EAAO,CAAC,EAAA,IACpB,OAAOA,EAAO,CAAC,KAAM,WACnBA,EAAO,CAAC,IACR,CAAA,GAEJG,IAAUD,GAAS,WAAW,IAC9BE,IAAOF,GAAS,QAAQ,WAExB,CAACG,GAAMC,CAAO,IAAIC,EAAS,MAC3B,OAAO,SAAW,MAAoBN,IACnCH,OAAaG,CACrB,GAEKO,IAAaC,EAAOP,CAAO;AACjC,EAAAM,EAAW,UAAUN;AAErB,QAAMQ,IAAM,CAACC,MAAkB;AAC7B,WAAO,SAAS,OAAOA,GACvBL,EAAQK,CAAK,GACbH,EAAW,SAAS,WAAWG,CAAK;AAAA,EAAA;AAGtC,SAAAC,EAAU,MAAM;AACd,QAAI,CAACT,EAAS;AAEd,IAAIC,MAAS,cAAW,OAAO,SAAS,OAAOC;AAE/C,UAAMQ,IAAe,MAAM;AACzB,YAAMC,IAAUhB,EAAA;AAChB,MAAAQ,EAAQQ,CAAO,GACfN,EAAW,SAAS,WAAWM,CAAO;AAAA,IAAA;AAGxC,kBAAO,iBAAiB,cAAcD,CAAY,GAC3C,MAAM;AACX,aAAO,oBAAoB,cAAcA,CAAY;AAAA,IAAA;AAAA,EACvD,GACC,CAACV,GAASC,CAAI,CAAC,GAEX,CAACC,GAAMK,CAAG;AACnB;"}
@@ -20,7 +20,14 @@ const j = (...e) => {
20
20
  return d(s), s.observe(b), () => {
21
21
  s.disconnect();
22
22
  };
23
- }, [n, r.state, t?.rootMargin, t?.threshold, t?.root, i]), n ? { observer: f, entry: o, inView: !!o?.isIntersecting } : {
23
+ }, [
24
+ n,
25
+ r.state,
26
+ t?.rootMargin,
27
+ t?.threshold,
28
+ t?.root,
29
+ i
30
+ ]), n ? { observer: f, entry: o, inView: !!o?.isIntersecting } : {
24
31
  observer: f,
25
32
  ref: r,
26
33
  entry: o,
@@ -1 +1 @@
1
- {"version":3,"file":"useIntersectionObserver.mjs","sources":["../../../../src/hooks/useIntersectionObserver/useIntersectionObserver.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 intersection observer callback type */\nexport type UseIntersectionObserverCallback = (\n entry: IntersectionObserverEntry,\n observer: IntersectionObserver\n) => void;\n\n/** The intersection observer options type */\nexport interface UseIntersectionObserverOptions extends Omit<IntersectionObserverInit, 'root'> {\n /** The enabled state of the intersection observer */\n enabled?: boolean;\n /** The callback to execute when intersection is detected */\n onChange?: UseIntersectionObserverCallback;\n /** The root element to observe */\n root?: HookTarget;\n}\n\n/** The intersection observer return type */\nexport interface UseIntersectionObserverReturn {\n /** The intersection observer entry */\n entry?: IntersectionObserverEntry;\n /** The in view state of the intersection observer */\n inView: boolean;\n /** The intersection observer instance */\n observer?: IntersectionObserver;\n}\n\nexport interface UseIntersectionObserver {\n <Target extends Element>(\n options?: UseIntersectionObserverOptions,\n target?: never\n ): UseIntersectionObserverReturn & { ref: StateRef<Target> };\n\n (target: HookTarget, options?: UseIntersectionObserverOptions): UseIntersectionObserverReturn;\n\n <Target extends Element>(\n callback: UseIntersectionObserverCallback,\n target?: never\n ): UseIntersectionObserverReturn & { ref: StateRef<Target> };\n\n (target: HookTarget, callback: UseIntersectionObserverCallback): UseIntersectionObserverReturn;\n}\n\n/**\n * @name useIntersectionObserver\n * @description - Hook that gives you intersection observer state\n * @category Sensors\n * @usage medium\n *\n * @browserapi IntersectionObserver https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserver\n *\n * @overload\n * @param {HookTarget} target The target element to detect intersection\n * @param {boolean} [options.enabled=true] The IntersectionObserver options\n * @param {((entries: IntersectionObserverEntry[], observer: IntersectionObserver) => void) | undefined} [options.onChange] The callback to execute when intersection is detected\n * @param {HookTarget} [options.root=document] The root element to observe\n * @returns {UseIntersectionObserverReturn} An object containing the state\n *\n * @example\n * const { ref, entry, inView, observer } = useIntersectionObserver();\n *\n * @overload\n * @template Target The target element\n * @param {boolean} [options.enabled=true] The IntersectionObserver options\n * @param {((entries: IntersectionObserverEntry[], observer: IntersectionObserver) => void) | undefined} [options.onChange] The callback to execute when intersection is detected\n * @param {HookTarget} [options.root=document] The root element to observe\n * @returns {UseIntersectionObserverReturn & { ref: StateRef<Target> }} A React ref to attach to the target element\n *\n * @example\n * const { entry, inView, observer } = useIntersectionObserver(ref);\n *\n * @overload\n * @template Target The target element\n * @param {UseIntersectionObserverCallback} callback The callback to execute when intersection is detected\n * @returns {UseIntersectionObserverReturn & { ref: StateRef<Target> }} A React ref to attach to the target element\n *\n * @example\n * const { ref, entry, inView, observer } = useIntersectionObserver(() => console.log('callback'));\n *\n * @overload\n * @param {UseIntersectionObserverCallback} callback The callback to execute when intersection is detected\n * @param {HookTarget} target The target element to detect intersection\n * @returns {UseIntersectionObserverReturn} An object containing the state\n *\n * @example\n * const { entry, inView, observer } = useIntersectionObserver(() => console.log('callback'), ref);\n */\nexport const useIntersectionObserver = ((...params: any[]) => {\n const target = (isTarget(params[0]) ? params[0] : undefined) as HookTarget | undefined;\n\n const options = (\n target\n ? typeof params[1] === 'object'\n ? params[1]\n : { onChange: params[1] }\n : typeof params[0] === 'object'\n ? params[0]\n : { onChange: params[0] }\n ) as UseIntersectionObserverOptions | undefined;\n\n const callback = options?.onChange;\n const enabled = options?.enabled ?? true;\n\n const [observer, setObserver] = useState<IntersectionObserver>();\n const [entry, setEntry] = useState<IntersectionObserverEntry>();\n\n const internalRef = useRefState<Element>();\n const internalCallbackRef = useRef(callback);\n internalCallbackRef.current = callback;\n\n useEffect(() => {\n if (!enabled || (!target && !internalRef.state)) return;\n\n const element = target ? getElement(target) : internalRef.current;\n if (!element) return;\n\n const observer = new IntersectionObserver(\n ([entry], observer) => {\n setEntry(entry);\n internalCallbackRef.current?.(entry, observer);\n },\n {\n ...options,\n root: options?.root ? (getElement(options.root) as Document | Element) : document\n }\n );\n\n setObserver(observer);\n observer.observe(element as Element);\n\n return () => {\n observer.disconnect();\n };\n }, [target, internalRef.state, options?.rootMargin, options?.threshold, options?.root, enabled]);\n\n if (target) return { observer, entry, inView: !!entry?.isIntersecting };\n return {\n observer,\n ref: internalRef,\n entry,\n inView: !!entry?.isIntersecting\n };\n}) as UseIntersectionObserver;\n"],"names":["useIntersectionObserver","params","target","isTarget","options","callback","enabled","observer","setObserver","useState","entry","setEntry","internalRef","useRefState","internalCallbackRef","useRef","useEffect","element","getElement"],"mappings":";;;;AAgGO,MAAMA,IAA2B,IAAIC,MAAkB;AAC5D,QAAMC,IAAUC,EAASF,EAAO,CAAC,CAAC,IAAIA,EAAO,CAAC,IAAI,QAE5CG,IACJF,IACI,OAAOD,EAAO,CAAC,KAAM,WACnBA,EAAO,CAAC,IACR,EAAE,UAAUA,EAAO,CAAC,EAAA,IACtB,OAAOA,EAAO,CAAC,KAAM,WACnBA,EAAO,CAAC,IACR,EAAE,UAAUA,EAAO,CAAC,EAAA,GAGtBI,IAAWD,GAAS,UACpBE,IAAUF,GAAS,WAAW,IAE9B,CAACG,GAAUC,CAAW,IAAIC,EAAA,GAC1B,CAACC,GAAOC,CAAQ,IAAIF,EAAA,GAEpBG,IAAcC,EAAA,GACdC,IAAsBC,EAAOV,CAAQ;AA4B3C,SA3BAS,EAAoB,UAAUT,GAE9BW,EAAU,MAAM;AACd,QAAI,CAACV,KAAY,CAACJ,KAAU,CAACU,EAAY,MAAQ;AAEjD,UAAMK,IAAUf,IAASgB,EAAWhB,CAAM,IAAIU,EAAY;AAC1D,QAAI,CAACK,EAAS;AAEd,UAAMV,IAAW,IAAI;AAAA,MACnB,CAAC,CAACG,CAAK,GAAGH,MAAa;AACrB,QAAAI,EAASD,CAAK,GACdI,EAAoB,UAAUJ,GAAOH,CAAQ;AAAA,MAAA;AAAA,MAE/C;AAAA,QACE,GAAGH;AAAA,QACH,MAAMA,GAAS,OAAQc,EAAWd,EAAQ,IAAI,IAA2B;AAAA,MAAA;AAAA,IAC3E;AAGF,WAAAI,EAAYD,CAAQ,GACpBA,EAAS,QAAQU,CAAkB,GAE5B,MAAM;AACXV,MAAAA,EAAS,WAAA;AAAA,IAAW;AAAA,EACtB,GACC,CAACL,GAAQU,EAAY,OAAOR,GAAS,YAAYA,GAAS,WAAWA,GAAS,MAAME,CAAO,CAAC,GAE3FJ,IAAe,EAAE,UAAAK,GAAU,OAAAG,GAAO,QAAQ,CAAC,CAACA,GAAO,eAAA,IAChD;AAAA,IACL,UAAAH;AAAA,IACA,KAAKK;AAAA,IACL,OAAAF;AAAA,IACA,QAAQ,CAAC,CAACA,GAAO;AAAA,EAAA;AAErB;"}
1
+ {"version":3,"file":"useIntersectionObserver.mjs","sources":["../../../../src/hooks/useIntersectionObserver/useIntersectionObserver.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 intersection observer callback type */\nexport type UseIntersectionObserverCallback = (\n entry: IntersectionObserverEntry,\n observer: IntersectionObserver\n) => void;\n\n/** The intersection observer options type */\nexport interface UseIntersectionObserverOptions\n extends Omit<IntersectionObserverInit, \"root\"> {\n /** The enabled state of the intersection observer */\n enabled?: boolean;\n /** The callback to execute when intersection is detected */\n onChange?: UseIntersectionObserverCallback;\n /** The root element to observe */\n root?: HookTarget;\n}\n\n/** The intersection observer return type */\nexport interface UseIntersectionObserverReturn {\n /** The intersection observer entry */\n entry?: IntersectionObserverEntry;\n /** The in view state of the intersection observer */\n inView: boolean;\n /** The intersection observer instance */\n observer?: IntersectionObserver;\n}\n\nexport interface UseIntersectionObserver {\n <Target extends Element>(\n options?: UseIntersectionObserverOptions,\n target?: never\n ): UseIntersectionObserverReturn & { ref: StateRef<Target> };\n\n (\n target: HookTarget,\n options?: UseIntersectionObserverOptions\n ): UseIntersectionObserverReturn;\n\n <Target extends Element>(\n callback: UseIntersectionObserverCallback,\n target?: never\n ): UseIntersectionObserverReturn & { ref: StateRef<Target> };\n\n (\n target: HookTarget,\n callback: UseIntersectionObserverCallback\n ): UseIntersectionObserverReturn;\n}\n\n/**\n * @name useIntersectionObserver\n * @description - Hook that gives you intersection observer state\n * @category Sensors\n * @usage medium\n *\n * @browserapi IntersectionObserver https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserver\n *\n * @overload\n * @param {HookTarget} target The target element to detect intersection\n * @param {boolean} [options.enabled=true] The IntersectionObserver options\n * @param {((entries: IntersectionObserverEntry[], observer: IntersectionObserver) => void) | undefined} [options.onChange] The callback to execute when intersection is detected\n * @param {HookTarget} [options.root=document] The root element to observe\n * @returns {UseIntersectionObserverReturn} An object containing the state\n *\n * @example\n * const { ref, entry, inView, observer } = useIntersectionObserver();\n *\n * @overload\n * @template Target The target element\n * @param {boolean} [options.enabled=true] The IntersectionObserver options\n * @param {((entries: IntersectionObserverEntry[], observer: IntersectionObserver) => void) | undefined} [options.onChange] The callback to execute when intersection is detected\n * @param {HookTarget} [options.root=document] The root element to observe\n * @returns {UseIntersectionObserverReturn & { ref: StateRef<Target> }} A React ref to attach to the target element\n *\n * @example\n * const { entry, inView, observer } = useIntersectionObserver(ref);\n *\n * @overload\n * @template Target The target element\n * @param {UseIntersectionObserverCallback} callback The callback to execute when intersection is detected\n * @returns {UseIntersectionObserverReturn & { ref: StateRef<Target> }} A React ref to attach to the target element\n *\n * @example\n * const { ref, entry, inView, observer } = useIntersectionObserver(() => console.log('callback'));\n *\n * @overload\n * @param {UseIntersectionObserverCallback} callback The callback to execute when intersection is detected\n * @param {HookTarget} target The target element to detect intersection\n * @returns {UseIntersectionObserverReturn} An object containing the state\n *\n * @example\n * const { entry, inView, observer } = useIntersectionObserver(() => console.log('callback'), ref);\n */\nexport const useIntersectionObserver = ((...params: any[]) => {\n const target = (isTarget(params[0]) ? params[0] : undefined) as\n | HookTarget\n | undefined;\n\n const options = (\n target\n ? typeof params[1] === \"object\"\n ? params[1]\n : { onChange: params[1] }\n : typeof params[0] === \"object\"\n ? params[0]\n : { onChange: params[0] }\n ) as UseIntersectionObserverOptions | undefined;\n\n const callback = options?.onChange;\n const enabled = options?.enabled ?? true;\n\n const [observer, setObserver] = useState<IntersectionObserver>();\n const [entry, setEntry] = useState<IntersectionObserverEntry>();\n\n const internalRef = useRefState<Element>();\n const internalCallbackRef = useRef(callback);\n internalCallbackRef.current = callback;\n\n useEffect(() => {\n if (!enabled || (!target && !internalRef.state)) return;\n\n const element = target ? getElement(target) : internalRef.current;\n if (!element) return;\n\n const observer = new IntersectionObserver(\n ([entry], observer) => {\n setEntry(entry);\n internalCallbackRef.current?.(entry, observer);\n },\n {\n ...options,\n root: options?.root\n ? (getElement(options.root) as Document | Element)\n : document,\n }\n );\n\n setObserver(observer);\n observer.observe(element as Element);\n\n return () => {\n observer.disconnect();\n };\n }, [\n target,\n internalRef.state,\n options?.rootMargin,\n options?.threshold,\n options?.root,\n enabled,\n ]);\n\n if (target) return { observer, entry, inView: !!entry?.isIntersecting };\n return {\n observer,\n ref: internalRef,\n entry,\n inView: !!entry?.isIntersecting,\n };\n}) as UseIntersectionObserver;\n"],"names":["useIntersectionObserver","params","target","isTarget","options","callback","enabled","observer","setObserver","useState","entry","setEntry","internalRef","useRefState","internalCallbackRef","useRef","useEffect","element","getElement"],"mappings":";;;;AAuGO,MAAMA,IAA2B,IAAIC,MAAkB;AAC5D,QAAMC,IAAUC,EAASF,EAAO,CAAC,CAAC,IAAIA,EAAO,CAAC,IAAI,QAI5CG,IACJF,IACI,OAAOD,EAAO,CAAC,KAAM,WACnBA,EAAO,CAAC,IACR,EAAE,UAAUA,EAAO,CAAC,EAAA,IACtB,OAAOA,EAAO,CAAC,KAAM,WACrBA,EAAO,CAAC,IACR,EAAE,UAAUA,EAAO,CAAC,EAAA,GAGpBI,IAAWD,GAAS,UACpBE,IAAUF,GAAS,WAAW,IAE9B,CAACG,GAAUC,CAAW,IAAIC,EAAA,GAC1B,CAACC,GAAOC,CAAQ,IAAIF,EAAA,GAEpBG,IAAcC,EAAA,GACdC,IAAsBC,EAAOV,CAAQ;AAqC3C,SApCAS,EAAoB,UAAUT,GAE9BW,EAAU,MAAM;AACd,QAAI,CAACV,KAAY,CAACJ,KAAU,CAACU,EAAY,MAAQ;AAEjD,UAAMK,IAAUf,IAASgB,EAAWhB,CAAM,IAAIU,EAAY;AAC1D,QAAI,CAACK,EAAS;AAEd,UAAMV,IAAW,IAAI;AAAA,MACnB,CAAC,CAACG,CAAK,GAAGH,MAAa;AACrB,QAAAI,EAASD,CAAK,GACdI,EAAoB,UAAUJ,GAAOH,CAAQ;AAAA,MAAA;AAAA,MAE/C;AAAA,QACE,GAAGH;AAAA,QACH,MAAMA,GAAS,OACVc,EAAWd,EAAQ,IAAI,IACxB;AAAA,MAAA;AAAA,IACN;AAGF,WAAAI,EAAYD,CAAQ,GACpBA,EAAS,QAAQU,CAAkB,GAE5B,MAAM;AACXV,MAAAA,EAAS,WAAA;AAAA,IAAW;AAAA,EACtB,GACC;AAAA,IACDL;AAAA,IACAU,EAAY;AAAA,IACZR,GAAS;AAAA,IACTA,GAAS;AAAA,IACTA,GAAS;AAAA,IACTE;AAAA,EAAA,CACD,GAEGJ,IAAe,EAAE,UAAAK,GAAU,OAAAG,GAAO,QAAQ,CAAC,CAACA,GAAO,eAAA,IAChD;AAAA,IACL,UAAAH;AAAA,IACA,KAAKK;AAAA,IACL,OAAAF;AAAA,IACA,QAAQ,CAAC,CAACA,GAAO;AAAA,EAAA;AAErB;"}
@@ -18,7 +18,7 @@ import { useDisplayMedia as L } from "./hooks/useDisplayMedia/useDisplayMedia.mj
18
18
  import { useDocumentTitle as B } from "./hooks/useDocumentTitle/useDocumentTitle.mjs";
19
19
  import { useEventSource as F } from "./hooks/useEventSource/useEventSource.mjs";
20
20
  import { useEyeDropper as V } from "./hooks/useEyeDropper/useEyeDropper.mjs";
21
- import { useFavicon as H } from "./hooks/useFavicon/useFavicon.mjs";
21
+ import { useFavicon as w } from "./hooks/useFavicon/useFavicon.mjs";
22
22
  import { useFps as G } from "./hooks/useFps/useFps.mjs";
23
23
  import { useFullscreen as z } from "./hooks/useFullscreen/useFullscreen.mjs";
24
24
  import { mapGamepadToXbox360Controller as q, useGamepad as Z } from "./hooks/useGamepad/useGamepad.mjs";
@@ -43,7 +43,7 @@ import { useWebSocket as Le } from "./hooks/useWebSocket/useWebSocket.mjs";
43
43
  import { useLogger as Be } from "./hooks/useLogger/useLogger.mjs";
44
44
  import { useRenderCount as Fe } from "./hooks/useRenderCount/useRenderCount.mjs";
45
45
  import { useRenderInfo as Ve } from "./hooks/useRenderInfo/useRenderInfo.mjs";
46
- import { useRerender as He } from "./hooks/useRerender/useRerender.mjs";
46
+ import { useRerender as we } from "./hooks/useRerender/useRerender.mjs";
47
47
  import { useActiveElement as Ge } from "./hooks/useActiveElement/useActiveElement.mjs";
48
48
  import { useAutoScroll as ze } from "./hooks/useAutoScroll/useAutoScroll.mjs";
49
49
  import { useClickOutside as qe } from "./hooks/useClickOutside/useClickOutside.mjs";
@@ -67,7 +67,7 @@ import { useAsyncEffect as bo } from "./hooks/useAsyncEffect/useAsyncEffect.mjs"
67
67
  import { useDidUpdate as No } from "./hooks/useDidUpdate/useDidUpdate.mjs";
68
68
  import { useIsFirstRender as Ko } from "./hooks/useIsFirstRender/useIsFirstRender.mjs";
69
69
  import { useIsomorphicLayoutEffect as Uo } from "./hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.mjs";
70
- import { useMount as wo } from "./hooks/useMount/useMount.mjs";
70
+ import { useMount as Ho } from "./hooks/useMount/useMount.mjs";
71
71
  import { deepEqual as Wo, useShallowEffect as Go } from "./hooks/useShallowEffect/useShallowEffect.mjs";
72
72
  import { useUnmount as zo } from "./hooks/useUnmount/useUnmount.mjs";
73
73
  import { BREAKPOINTS_ANT_DESIGN as qo, BREAKPOINTS_BOOTSTRAP_V5 as Zo, BREAKPOINTS_MANTINE as jo, BREAKPOINTS_MASTER_CSS as Jo, BREAKPOINTS_MATERIAL_UI as Yo, BREAKPOINTS_PRIME_FLEX as $o, BREAKPOINTS_QUASAR_V2 as er, BREAKPOINTS_SEMANTIC as or, BREAKPOINTS_TAILWIND as rr, useBreakpoints as tr } from "./hooks/useBreakpoints/useBreakpoints.mjs";
@@ -89,7 +89,7 @@ import { useKeysPressed as Lr } from "./hooks/useKeysPressed/useKeysPressed.mjs"
89
89
  import { useLockScroll as Br } from "./hooks/useLockScroll/useLockScroll.mjs";
90
90
  import { useMeasure as Fr } from "./hooks/useMeasure/useMeasure.mjs";
91
91
  import { useMediaQuery as Vr } from "./hooks/useMediaQuery/useMediaQuery.mjs";
92
- import { useMouse as Hr } from "./hooks/useMouse/useMouse.mjs";
92
+ import { useMouse as wr } from "./hooks/useMouse/useMouse.mjs";
93
93
  import { useMutationObserver as Gr } from "./hooks/useMutationObserver/useMutationObserver.mjs";
94
94
  import { useOrientation as zr } from "./hooks/useOrientation/useOrientation.mjs";
95
95
  import { usePageLeave as qr } from "./hooks/usePageLeave/usePageLeave.mjs";
@@ -110,56 +110,56 @@ import { COOKIE_EVENT as It, dispatchCookieEvent as yt, getCookie as Ot, getCook
110
110
  import { clearCookies as Lt, useCookies as Nt } from "./hooks/useCookies/useCookies.mjs";
111
111
  import { useCounter as Kt } from "./hooks/useCounter/useCounter.mjs";
112
112
  import { useDefault as Ut } from "./hooks/useDefault/useDefault.mjs";
113
- import { useDisclosure as wt } from "./hooks/useDisclosure/useDisclosure.mjs";
113
+ import { useDisclosure as Ht } from "./hooks/useDisclosure/useDisclosure.mjs";
114
114
  import { useField as Wt } from "./hooks/useField/useField.mjs";
115
- import { useHash as Qt } from "./hooks/useHash/useHash.mjs";
116
- import { useList as Xt } from "./hooks/useList/useList.mjs";
117
- import { useLocalStorage as Zt } from "./hooks/useLocalStorage/useLocalStorage.mjs";
118
- import { useMap as Jt } from "./hooks/useMap/useMap.mjs";
119
- import { assignRef as $t, mergeRefs as es, useMergedRef as os } from "./hooks/useMergedRef/useMergedRef.mjs";
120
- import { useOffsetPagination as ts } from "./hooks/useOffsetPagination/useOffsetPagination.mjs";
121
- import { useQueue as ms } from "./hooks/useQueue/useQueue.mjs";
122
- import { useRafState as ps } from "./hooks/useRafState/useRafState.mjs";
123
- import { useRefState as xs } from "./hooks/useRefState/useRefState.mjs";
124
- import { useSessionStorage as is } from "./hooks/useSessionStorage/useSessionStorage.mjs";
125
- import { useSet as cs } from "./hooks/useSet/useSet.mjs";
126
- import { stateHistoryReducer as Ss, useStateHistory as Es } from "./hooks/useStateHistory/useStateHistory.mjs";
127
- import { useStep as gs } from "./hooks/useStep/useStep.mjs";
128
- import { STORAGE_EVENT as Rs, dispatchStorageEvent as Cs, useStorage as Ps } from "./hooks/useStorage/useStorage.mjs";
129
- import { useToggle as Is } from "./hooks/useToggle/useToggle.mjs";
130
- import { URL_SEARCH_PARAMS_EVENT as Os, createQueryString as ks, dispatchUrlSearchParamsEvent as hs, getUrlSearchParams as vs, useUrlSearchParam as _s } from "./hooks/useUrlSearchParam/useUrlSearchParam.mjs";
131
- import { useUrlSearchParams as Ms } from "./hooks/useUrlSearchParams/useUrlSearchParams.mjs";
132
- import { useWizard as Ls } from "./hooks/useWizard/useWizard.mjs";
133
- import { useInterval as Bs } from "./hooks/useInterval/useInterval.mjs";
134
- import { useStopwatch as Fs } from "./hooks/useStopwatch/useStopwatch.mjs";
135
- import { useTime as Vs } from "./hooks/useTime/useTime.mjs";
136
- import { useTimeout as Hs } from "./hooks/useTimeout/useTimeout.mjs";
137
- import { getTimeFromSeconds as Gs, useTimer as Qs } from "./hooks/useTimer/useTimer.mjs";
138
- import { useBrowserLanguage as Xs } from "./hooks/useBrowserLanguage/useBrowserLanguage.mjs";
139
- import { getOperatingSystem as Zs, useOperatingSystem as js } from "./hooks/useOperatingSystem/useOperatingSystem.mjs";
140
- import { usePreferredColorScheme as Ys } from "./hooks/usePreferredColorScheme/usePreferredColorScheme.mjs";
141
- import { usePreferredContrast as em } from "./hooks/usePreferredContrast/usePreferredContrast.mjs";
142
- import { usePreferredDark as rm } from "./hooks/usePreferredDark/usePreferredDark.mjs";
143
- import { usePreferredLanguages as sm } from "./hooks/usePreferredLanguages/usePreferredLanguages.mjs";
144
- import { usePreferredReducedMotion as um } from "./hooks/usePreferredReducedMotion/usePreferredReducedMotion.mjs";
145
- import { useConst as fm } from "./hooks/useConst/useConst.mjs";
146
- import { useDebounceCallback as am } from "./hooks/useDebounceCallback/useDebounceCallback.mjs";
147
- import { useDebounceState as nm } from "./hooks/useDebounceState/useDebounceState.mjs";
148
- import { useDebounceValue as lm } from "./hooks/useDebounceValue/useDebounceValue.mjs";
149
- import { useEvent as Em } from "./hooks/useEvent/useEvent.mjs";
150
- import { useLastChanged as gm } from "./hooks/useLastChanged/useLastChanged.mjs";
151
- import { useLatest as Rm } from "./hooks/useLatest/useLatest.mjs";
152
- import { usePrevious as Pm } from "./hooks/usePrevious/usePrevious.mjs";
153
- import { useThrottleCallback as Im } from "./hooks/useThrottleCallback/useThrottleCallback.mjs";
154
- import { useThrottleState as Om } from "./hooks/useThrottleState/useThrottleState.mjs";
155
- import { useThrottleValue as hm } from "./hooks/useThrottleValue/useThrottleValue.mjs";
156
- import { copy as _m, legacyCopyToClipboard as Dm } from "./utils/helpers/copy.mjs";
157
- import { debounce as bm } from "./utils/helpers/debounce.mjs";
158
- import { getDate as Nm } from "./utils/helpers/getDate.mjs";
159
- import { getElement as Km, target as Fm, targetSymbol as Um } from "./utils/helpers/getElement.mjs";
115
+ import { getHash as Qt, useHash as zt } from "./hooks/useHash/useHash.mjs";
116
+ import { useList as qt } from "./hooks/useList/useList.mjs";
117
+ import { useLocalStorage as jt } from "./hooks/useLocalStorage/useLocalStorage.mjs";
118
+ import { useMap as Yt } from "./hooks/useMap/useMap.mjs";
119
+ import { assignRef as es, mergeRefs as os, useMergedRef as rs } from "./hooks/useMergedRef/useMergedRef.mjs";
120
+ import { useOffsetPagination as ss } from "./hooks/useOffsetPagination/useOffsetPagination.mjs";
121
+ import { useQueue as us } from "./hooks/useQueue/useQueue.mjs";
122
+ import { useRafState as fs } from "./hooks/useRafState/useRafState.mjs";
123
+ import { useRefState as as } from "./hooks/useRefState/useRefState.mjs";
124
+ import { useSessionStorage as ns } from "./hooks/useSessionStorage/useSessionStorage.mjs";
125
+ import { useSet as ls } from "./hooks/useSet/useSet.mjs";
126
+ import { stateHistoryReducer as Es, useStateHistory as Ts } from "./hooks/useStateHistory/useStateHistory.mjs";
127
+ import { useStep as ds } from "./hooks/useStep/useStep.mjs";
128
+ import { STORAGE_EVENT as Cs, dispatchStorageEvent as Ps, useStorage as As } from "./hooks/useStorage/useStorage.mjs";
129
+ import { useToggle as ys } from "./hooks/useToggle/useToggle.mjs";
130
+ import { URL_SEARCH_PARAMS_EVENT as ks, createQueryString as hs, dispatchUrlSearchParamsEvent as vs, getUrlSearchParams as _s, useUrlSearchParam as Ds } from "./hooks/useUrlSearchParam/useUrlSearchParam.mjs";
131
+ import { useUrlSearchParams as bs } from "./hooks/useUrlSearchParams/useUrlSearchParams.mjs";
132
+ import { useWizard as Ns } from "./hooks/useWizard/useWizard.mjs";
133
+ import { useInterval as Ks } from "./hooks/useInterval/useInterval.mjs";
134
+ import { useStopwatch as Us } from "./hooks/useStopwatch/useStopwatch.mjs";
135
+ import { useTime as Hs } from "./hooks/useTime/useTime.mjs";
136
+ import { useTimeout as Ws } from "./hooks/useTimeout/useTimeout.mjs";
137
+ import { getTimeFromSeconds as Qs, useTimer as zs } from "./hooks/useTimer/useTimer.mjs";
138
+ import { useBrowserLanguage as qs } from "./hooks/useBrowserLanguage/useBrowserLanguage.mjs";
139
+ import { getOperatingSystem as js, useOperatingSystem as Js } from "./hooks/useOperatingSystem/useOperatingSystem.mjs";
140
+ import { usePreferredColorScheme as $s } from "./hooks/usePreferredColorScheme/usePreferredColorScheme.mjs";
141
+ import { usePreferredContrast as om } from "./hooks/usePreferredContrast/usePreferredContrast.mjs";
142
+ import { usePreferredDark as tm } from "./hooks/usePreferredDark/usePreferredDark.mjs";
143
+ import { usePreferredLanguages as mm } from "./hooks/usePreferredLanguages/usePreferredLanguages.mjs";
144
+ import { usePreferredReducedMotion as pm } from "./hooks/usePreferredReducedMotion/usePreferredReducedMotion.mjs";
145
+ import { useConst as xm } from "./hooks/useConst/useConst.mjs";
146
+ import { useDebounceCallback as im } from "./hooks/useDebounceCallback/useDebounceCallback.mjs";
147
+ import { useDebounceState as cm } from "./hooks/useDebounceState/useDebounceState.mjs";
148
+ import { useDebounceValue as Sm } from "./hooks/useDebounceValue/useDebounceValue.mjs";
149
+ import { useEvent as Tm } from "./hooks/useEvent/useEvent.mjs";
150
+ import { useLastChanged as dm } from "./hooks/useLastChanged/useLastChanged.mjs";
151
+ import { useLatest as Cm } from "./hooks/useLatest/useLatest.mjs";
152
+ import { usePrevious as Am } from "./hooks/usePrevious/usePrevious.mjs";
153
+ import { useThrottleCallback as ym } from "./hooks/useThrottleCallback/useThrottleCallback.mjs";
154
+ import { useThrottleState as km } from "./hooks/useThrottleState/useThrottleState.mjs";
155
+ import { useThrottleValue as vm } from "./hooks/useThrottleValue/useThrottleValue.mjs";
156
+ import { copy as Dm, legacyCopyToClipboard as Mm } from "./utils/helpers/copy.mjs";
157
+ import { debounce as Lm } from "./utils/helpers/debounce.mjs";
158
+ import { getDate as Bm } from "./utils/helpers/getDate.mjs";
159
+ import { getElement as Fm, target as Um, targetSymbol as Vm } from "./utils/helpers/getElement.mjs";
160
160
  import { getRetry as wm } from "./utils/helpers/getRetry.mjs";
161
- import { isTarget as Wm } from "./utils/helpers/isTarget.mjs";
162
- import { throttle as Qm } from "./utils/helpers/throttle.mjs";
161
+ import { isTarget as Gm } from "./utils/helpers/isTarget.mjs";
162
+ import { throttle as zm } from "./utils/helpers/throttle.mjs";
163
163
  export {
164
164
  qo as BREAKPOINTS_ANT_DESIGN,
165
165
  Zo as BREAKPOINTS_BOOTSTRAP_V5,
@@ -175,46 +175,47 @@ export {
175
175
  co as Paint,
176
176
  lo as Pointer,
177
177
  Ro as SCRIPT_STATUS_ATTRIBUTE_NAME,
178
- Rs as STORAGE_EVENT,
179
- Os as URL_SEARCH_PARAMS_EVENT,
180
- $t as assignRef,
178
+ Cs as STORAGE_EVENT,
179
+ ks as URL_SEARCH_PARAMS_EVENT,
180
+ es as assignRef,
181
181
  Lt as clearCookies,
182
- _m as copy,
182
+ Dm as copy,
183
183
  r as createContext,
184
184
  s as createEventEmitter,
185
- ks as createQueryString,
185
+ hs as createQueryString,
186
186
  u as createReactiveContext,
187
187
  f as createStore,
188
- bm as debounce,
188
+ Lm as debounce,
189
189
  Wo as deepEqual,
190
190
  yt as dispatchCookieEvent,
191
- Cs as dispatchStorageEvent,
192
- hs as dispatchUrlSearchParamsEvent,
191
+ Ps as dispatchStorageEvent,
192
+ vs as dispatchUrlSearchParamsEvent,
193
193
  se as getConnection,
194
194
  Ot as getCookie,
195
195
  kt as getCookies,
196
- Nm as getDate,
197
- Km as getElement,
198
- Zs as getOperatingSystem,
196
+ Bm as getDate,
197
+ Fm as getElement,
198
+ Qt as getHash,
199
+ js as getOperatingSystem,
199
200
  ft as getRangesSelection,
200
201
  wm as getRetry,
201
202
  Ae as getSpeechRecognition,
202
- Gs as getTimeFromSeconds,
203
- vs as getUrlSearchParams,
203
+ Qs as getTimeFromSeconds,
204
+ _s as getUrlSearchParams,
204
205
  dr as isHotkeyMatch,
205
- Wm as isTarget,
206
- Dm as legacyCopyToClipboard,
206
+ Gm as isTarget,
207
+ Mm as legacyCopyToClipboard,
207
208
  q as mapGamepadToXbox360Controller,
208
- es as mergeRefs,
209
+ os as mergeRefs,
209
210
  ht as removeCookie,
210
211
  vt as removeCookieItem,
211
212
  St as scrollTo,
212
213
  _t as setCookie,
213
214
  Dt as setCookieItem,
214
- Ss as stateHistoryReducer,
215
- Fm as target,
216
- Um as targetSymbol,
217
- Qm as throttle,
215
+ Es as stateHistoryReducer,
216
+ Um as target,
217
+ Vm as targetSymbol,
218
+ zm as throttle,
218
219
  $ as timeRangeToArray,
219
220
  Ge as useActiveElement,
220
221
  a as useAsync,
@@ -226,25 +227,25 @@ export {
226
227
  Rt as useBoolean,
227
228
  tr as useBreakpoints,
228
229
  O as useBroadcastChannel,
229
- Xs as useBrowserLanguage,
230
+ qs as useBrowserLanguage,
230
231
  qe as useClickOutside,
231
232
  h as useClipboard,
232
- fm as useConst,
233
+ xm as useConst,
233
234
  Pt as useControllableState,
234
235
  Mt as useCookie,
235
236
  Nt as useCookies,
236
237
  _ as useCopy,
237
238
  Kt as useCounter,
238
239
  M as useCssVar,
239
- am as useDebounceCallback,
240
- nm as useDebounceState,
241
- lm as useDebounceValue,
240
+ im as useDebounceCallback,
241
+ cm as useDebounceState,
242
+ Sm as useDebounceValue,
242
243
  Ut as useDefault,
243
244
  mr as useDeviceMotion,
244
245
  pr as useDeviceOrientation,
245
246
  xr as useDevicePixelRatio,
246
247
  No as useDidUpdate,
247
- wt as useDisclosure,
248
+ Ht as useDisclosure,
248
249
  L as useDisplayMedia,
249
250
  ir as useDocumentEvent,
250
251
  B as useDocumentTitle,
@@ -252,11 +253,11 @@ export {
252
253
  Je as useDoubleClick,
253
254
  $e as useDropZone,
254
255
  Sr as useElementSize,
255
- Em as useEvent,
256
+ Tm as useEvent,
256
257
  Tr as useEventListener,
257
258
  F as useEventSource,
258
259
  V as useEyeDropper,
259
- H as useFavicon,
260
+ w as useFavicon,
260
261
  Wt as useField,
261
262
  oo as useFileDialog,
262
263
  to as useFocus,
@@ -266,44 +267,44 @@ export {
266
267
  z as useFullscreen,
267
268
  Z as useGamepad,
268
269
  J as useGeolocation,
269
- Qt as useHash,
270
+ zt as useHash,
270
271
  Rr as useHotkeys,
271
272
  po as useHover,
272
273
  Pr as useIdle,
273
274
  xo as useImage,
274
275
  Ir as useInfiniteScroll,
275
276
  Or as useIntersectionObserver,
276
- Bs as useInterval,
277
+ Ks as useInterval,
277
278
  Ko as useIsFirstRender,
278
279
  Uo as useIsomorphicLayoutEffect,
279
280
  _r as useKeyPress,
280
281
  Mr as useKeyPressEvent,
281
282
  hr as useKeyboard,
282
283
  Lr as useKeysPressed,
283
- gm as useLastChanged,
284
- Rm as useLatest,
284
+ dm as useLastChanged,
285
+ Cm as useLatest,
285
286
  vo as useLess,
286
- Xt as useList,
287
- Zt as useLocalStorage,
287
+ qt as useList,
288
+ jt as useLocalStorage,
288
289
  n as useLockCallback,
289
290
  Br as useLockScroll,
290
291
  Be as useLogger,
291
292
  io as useLongPress,
292
- Jt as useMap,
293
+ Yt as useMap,
293
294
  Fr as useMeasure,
294
295
  ee as useMediaControls,
295
296
  Vr as useMediaQuery,
296
297
  re as useMemory,
297
- os as useMergedRef,
298
- wo as useMount,
299
- Hr as useMouse,
298
+ rs as useMergedRef,
299
+ Ho as useMount,
300
+ wr as useMouse,
300
301
  l as useMutation,
301
302
  Gr as useMutationObserver,
302
303
  me as useNetwork,
303
- ts as useOffsetPagination,
304
+ ss as useOffsetPagination,
304
305
  Do as useOnce,
305
306
  pe as useOnline,
306
- js as useOperatingSystem,
307
+ Js as useOperatingSystem,
307
308
  E as useOptimistic,
308
309
  zr as useOrientation,
309
310
  xe as useOtpCredential,
@@ -315,49 +316,49 @@ export {
315
316
  ce as usePictureInPicture,
316
317
  Se as usePointerLock,
317
318
  Te as usePostMessage,
318
- Ys as usePreferredColorScheme,
319
- em as usePreferredContrast,
320
- rm as usePreferredDark,
321
- sm as usePreferredLanguages,
322
- um as usePreferredReducedMotion,
323
- Pm as usePrevious,
319
+ $s as usePreferredColorScheme,
320
+ om as usePreferredContrast,
321
+ tm as usePreferredDark,
322
+ mm as usePreferredLanguages,
323
+ pm as usePreferredReducedMotion,
324
+ Am as usePrevious,
324
325
  g as useQuery,
325
- ms as useQueue,
326
+ us as useQueue,
326
327
  de as useRaf,
327
- ps as useRafState,
328
- xs as useRefState,
328
+ fs as useRafState,
329
+ as as useRefState,
329
330
  Fe as useRenderCount,
330
331
  Ve as useRenderInfo,
331
- He as useRerender,
332
+ we as useRerender,
332
333
  et as useResizeObserver,
333
334
  To as useRightClick,
334
335
  Co as useScript,
335
336
  rt as useScroll,
336
337
  st as useScrollIntoView,
337
338
  ut as useScrollTo,
338
- is as useSessionStorage,
339
- cs as useSet,
339
+ ns as useSessionStorage,
340
+ ls as useSet,
340
341
  Go as useShallowEffect,
341
342
  Ce as useShare,
342
343
  Ie as useSpeechRecognition,
343
344
  Oe as useSpeechSynthesis,
344
- Es as useStateHistory,
345
- gs as useStep,
345
+ Ts as useStateHistory,
346
+ ds as useStep,
346
347
  Ao as useSticky,
347
- Fs as useStopwatch,
348
- Ps as useStorage,
348
+ Us as useStopwatch,
349
+ As as useStorage,
349
350
  yo as useTextDirection,
350
351
  xt as useTextSelection,
351
- Im as useThrottleCallback,
352
- Om as useThrottleState,
353
- hm as useThrottleValue,
354
- Vs as useTime,
355
- Hs as useTimeout,
356
- Qs as useTimer,
357
- Is as useToggle,
352
+ ym as useThrottleCallback,
353
+ km as useThrottleState,
354
+ vm as useThrottleValue,
355
+ Hs as useTime,
356
+ Ws as useTimeout,
357
+ zs as useTimer,
358
+ ys as useToggle,
358
359
  zo as useUnmount,
359
- _s as useUrlSearchParam,
360
- Ms as useUrlSearchParams,
360
+ Ds as useUrlSearchParam,
361
+ bs as useUrlSearchParams,
361
362
  he as useVibrate,
362
363
  _e as useVirtualKeyboard,
363
364
  Me as useWakeLock,
@@ -366,6 +367,6 @@ export {
366
367
  ct as useWindowFocus,
367
368
  Et as useWindowScroll,
368
369
  gt as useWindowSize,
369
- Ls as useWizard
370
+ Ns as useWizard
370
371
  };
371
372
  //# sourceMappingURL=index.mjs.map
@@ -4,13 +4,17 @@ export interface UseDeviceMotionReturn {
4
4
  interval: DeviceMotionEvent['interval'];
5
5
  rotationRate: DeviceMotionEventRotationRate;
6
6
  }
7
- export interface UseDeviceMotionParams {
7
+ export interface UseDeviceMotionOptions {
8
8
  /** The delay in milliseconds */
9
9
  delay?: number;
10
10
  /** Whether to enable the hook */
11
11
  enabled?: boolean;
12
12
  /** The callback function to be invoked */
13
- callback?: (event: DeviceMotionEvent) => void;
13
+ onChange?: (event: DeviceMotionEvent) => void;
14
+ }
15
+ export interface UseDeviceMotion {
16
+ (callback?: (event: DeviceMotionEvent) => void, delay?: number): UseDeviceMotionReturn;
17
+ (options?: UseDeviceMotionOptions): UseDeviceMotionReturn;
14
18
  }
15
19
  /**
16
20
  * @name useDeviceMotion
@@ -20,12 +24,29 @@ export interface UseDeviceMotionParams {
20
24
  *
21
25
  * @browserapi DeviceMotionEvent https://developer.mozilla.org/en-US/docs/Web/API/Window/DeviceMotionEvent
22
26
  *
27
+ * @overload
23
28
  * @param {number} [delay=1000] The delay in milliseconds
24
29
  * @param {(event: DeviceMotionEvent) => void} [callback] The callback function to be invoked
25
- * @param {boolean} [enabled=true] Whether to enable the hook
30
+ * @returns {UseDeviceMotionReturn} The device motion data and interval
31
+ *
32
+ * @example
33
+ * const { interval, rotationRate, acceleration, accelerationIncludingGravity } = useDeviceMotion(500, (event) => console.log(event));
34
+ *
35
+ * @overload
36
+ * @param {(event: DeviceMotionEvent) => void} [callback] The callback function to be invoked
37
+ * @returns {UseDeviceMotionReturn} The device motion data and interval
38
+ *
39
+ * @example
40
+ * const { interval, rotationRate, acceleration, accelerationIncludingGravity } = useDeviceMotion((event) => console.log(event));
41
+ *
42
+ * @overload
43
+ * @param {UseDeviceMotionOptions} [options] Configuration options
44
+ * @param {number} [options.delay] The delay in milliseconds
45
+ * @param {boolean} [options.enabled] Whether to enable the hook
46
+ * @param {(event: DeviceMotionEvent) => void} [options.onChange] The callback function to be invoked
26
47
  * @returns {UseDeviceMotionReturn} The device motion data and interval
27
48
  *
28
49
  * @example
29
50
  * const { interval, rotationRate, acceleration, accelerationIncludingGravity } = useDeviceMotion();
30
51
  */
31
- export declare const useDeviceMotion: (params?: UseDeviceMotionParams) => UseDeviceMotionReturn;
52
+ export declare const useDeviceMotion: UseDeviceMotion;
@@ -1,16 +1,49 @@
1
+ export declare const getHash: () => string;
2
+ /** The use hash options type */
3
+ export interface UseHashOptions {
4
+ /** The enabled state of the hook */
5
+ enabled?: boolean;
6
+ /** The mode of hash setting */
7
+ mode?: 'initial' | 'replace';
8
+ /** Callback function called when hash changes */
9
+ onChange?: (hash: string) => void;
10
+ }
1
11
  /** The use hash return type */
2
12
  type UseHashReturn = [string, (value: string) => void];
13
+ export interface UseHash {
14
+ (initialValue?: string, options?: UseHashOptions): UseHashReturn;
15
+ (options?: UseHashOptions): UseHashReturn;
16
+ (initialValue?: string, callback?: (hash: string) => void): UseHashReturn;
17
+ (callback?: (hash: string) => void): UseHashReturn;
18
+ }
3
19
  /**
4
20
  * @name useHash
5
21
  * @description - Hook that manages the hash value
6
22
  * @category State
7
23
  * @usage low
8
24
  *
25
+ * @overload
9
26
  * @param {string} [initialValue] The initial hash value if no hash exists
27
+ * @param {UseHashOptions} [options] Configuration options
28
+ * @param {boolean} [options.enabled] The enabled state of the hook
29
+ * @param {'initial' | 'replace'} [options.mode] The mode of hash setting
30
+ * @param {(hash: string) => void} [options.onChange] Callback function called when hash changes
10
31
  * @returns {UseHashReturn} An array containing the hash value and a function to set the hash value
11
32
  *
12
33
  * @example
13
- * const [hash, setHash] = useHash("initial");
34
+ * const [hash, setHash] = useHash("initial", {
35
+ * enabled: true,
36
+ * mode: "replace",
37
+ * onChange: (newHash) => console.log('Hash changed:', newHash)
38
+ * });
39
+ *
40
+ * @overload
41
+ * @param {string} [initialValue] The initial hash value if no hash exists
42
+ * @param {(hash: string) => void} [callback] Callback function called when hash changes
43
+ * @returns {UseHashReturn} An array containing the hash value and a function to set the hash value
44
+ *
45
+ * @example
46
+ * const [hash, setHash] = useHash("initial", (newHash) => console.log('callback'));
14
47
  */
15
- export declare const useHash: (initialValue?: string, mode?: "initial" | "replace") => UseHashReturn;
48
+ export declare const useHash: UseHash;
16
49
  export {};
@@ -3,7 +3,7 @@ import { StateRef } from '../useRefState/useRefState';
3
3
  /** The intersection observer callback type */
4
4
  export type UseIntersectionObserverCallback = (entry: IntersectionObserverEntry, observer: IntersectionObserver) => void;
5
5
  /** The intersection observer options type */
6
- export interface UseIntersectionObserverOptions extends Omit<IntersectionObserverInit, 'root'> {
6
+ export interface UseIntersectionObserverOptions extends Omit<IntersectionObserverInit, "root"> {
7
7
  /** The enabled state of the intersection observer */
8
8
  enabled?: boolean;
9
9
  /** The callback to execute when intersection is detected */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@siberiacancode/reactuse",
3
- "version": "0.2.33",
3
+ "version": "0.2.35",
4
4
  "description": "The ultimate collection of react hooks",
5
5
  "author": {
6
6
  "name": "SIBERIA CAN CODE 🧊",