@siberiacancode/reactuse 0.2.26 → 0.2.28

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.
Files changed (30) hide show
  1. package/dist/cjs/helpers/createStore/createStore.cjs +1 -1
  2. package/dist/cjs/helpers/createStore/createStore.cjs.map +1 -1
  3. package/dist/cjs/hooks/useAsync/useAsync.cjs +1 -1
  4. package/dist/cjs/hooks/useAsync/useAsync.cjs.map +1 -1
  5. package/dist/cjs/hooks/useImage/useImage.cjs +1 -1
  6. package/dist/cjs/hooks/useImage/useImage.cjs.map +1 -1
  7. package/dist/cjs/hooks/useRightClick/useRightClick.cjs +2 -0
  8. package/dist/cjs/hooks/useRightClick/useRightClick.cjs.map +1 -0
  9. package/dist/cjs/hooks/useVirtualKeyboard/useVirtualKeyboard.cjs +2 -0
  10. package/dist/cjs/hooks/useVirtualKeyboard/useVirtualKeyboard.cjs.map +1 -0
  11. package/dist/cjs/index.cjs +1 -1
  12. package/dist/esm/helpers/createStore/createStore.mjs +20 -16
  13. package/dist/esm/helpers/createStore/createStore.mjs.map +1 -1
  14. package/dist/esm/hooks/useAsync/useAsync.mjs +1 -1
  15. package/dist/esm/hooks/useAsync/useAsync.mjs.map +1 -1
  16. package/dist/esm/hooks/useImage/useImage.mjs +22 -8
  17. package/dist/esm/hooks/useImage/useImage.mjs.map +1 -1
  18. package/dist/esm/hooks/useRightClick/useRightClick.mjs +36 -0
  19. package/dist/esm/hooks/useRightClick/useRightClick.mjs.map +1 -0
  20. package/dist/esm/hooks/useVirtualKeyboard/useVirtualKeyboard.mjs +30 -0
  21. package/dist/esm/hooks/useVirtualKeyboard/useVirtualKeyboard.mjs.map +1 -0
  22. package/dist/esm/index.mjs +276 -272
  23. package/dist/esm/index.mjs.map +1 -1
  24. package/dist/types/helpers/createStore/createStore.d.ts +12 -8
  25. package/dist/types/hooks/browser.d.ts +1 -0
  26. package/dist/types/hooks/elements.d.ts +1 -0
  27. package/dist/types/hooks/useAsync/useAsync.d.ts +2 -2
  28. package/dist/types/hooks/useImage/useImage.d.ts +6 -6
  29. package/dist/types/hooks/useVirtualKeyboard/useVirtualKeyboard.d.ts +41 -0
  30. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("react"),b=s=>{let e;const o=new Set,r=t=>{const S=typeof t=="function"?t(e):t;if(!Object.is(S,e)){const i=e;e=S,o.forEach(a=>a(e,i))}},n=()=>e,c=()=>e,u=t=>(o.add(t),()=>o.delete(t));return typeof s=="function"?e=s(r,n):e=s,{set:r,get:n,use:t=>f.useSyncExternalStore(u,()=>t?t(n()):n(),()=>t?t(c()):c()),subscribe:u}};exports.createStore=b;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("react"),l=o=>{let e;const r=new Set,c=t=>{const n=typeof t=="function"?t(e):t;if(!Object.is(n,e)){const a=e;e=typeof n!="object"||n===null?n:Object.assign({},e,n),r.forEach(f=>f(e,a))}},u=t=>(r.add(t),()=>r.delete(t)),s=()=>e,i=()=>e;typeof o=="function"?e=o(c,s):e=o;function S(t){return b.useSyncExternalStore(u,()=>t?t(s()):s(),()=>t?t(i()):i())}return{set:c,get:s,use:S,subscribe:u}};exports.createStore=l;
2
2
  //# sourceMappingURL=createStore.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"createStore.cjs","sources":["../../../../src/helpers/createStore/createStore.ts"],"sourcesContent":["import { useSyncExternalStore } from 'react';\n\ntype SetStateAction<Value> = ((prev: Value) => Value) | Value;\ntype StateCreator<Value> = (\n set: (action: SetStateAction<Value>) => void,\n get: () => Value\n) => Value;\n\nexport interface StoreApi<Value> {\n getInitialState: () => Value;\n getState: () => Value;\n setState: (action: SetStateAction<Value>) => void;\n subscribe: (listener: (state: Value, prevState: Value) => void) => () => void;\n}\n\n/**\n * @name createStore\n * @description - Creates a store with state management capabilities\n * @category Helpers\n *\n * @template Value - The type of the store state\n * @param {StateCreator<Value>} createState - Function that initializes the store state\n * @returns {StoreApi<Value>} - Object containing store methods and hook for accessing state\n *\n * @example\n * const { set, get, use, subscribe } = createStore((set) => ({\n * count: 0,\n * increment: () => set(state => ({ count: state.count + 1 }))\n * }));\n */\nexport const createStore = <Value>(createState: StateCreator<Value> | Value) => {\n type Listener = (state: Value, prevState: Value) => void;\n let state: Value;\n const listeners: Set<Listener> = new Set();\n\n const setState = (action: SetStateAction<Value>) => {\n const nextState =\n typeof action === 'function' ? (action as (state: Value) => Value)(state) : action;\n\n if (!Object.is(nextState, state)) {\n const prevState = state;\n state = nextState;\n listeners.forEach((listener) => listener(state, prevState));\n }\n };\n\n const getState = () => state;\n const getInitialState = () => state;\n\n const subscribe = (listener: Listener) => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n if (typeof createState === 'function') {\n state = (createState as StateCreator<Value>)(setState, getState);\n } else {\n state = createState;\n }\n\n const useStore = <Selected>(selector?: (state: Value) => Selected) =>\n useSyncExternalStore(\n subscribe,\n () => (selector ? selector(getState()) : getState()),\n () => (selector ? selector(getInitialState()) : getInitialState())\n );\n\n return {\n set: setState,\n get: getState,\n use: useStore,\n subscribe\n };\n};\n"],"names":["createStore","createState","state","listeners","setState","action","nextState","prevState","listener","getState","getInitialState","subscribe","selector","useSyncExternalStore"],"mappings":"yGA8BaA,EAAsBC,GAA6C,CAE9E,IAAIC,EACJ,MAAMC,MAA+B,IAE/BC,EAAYC,GAAkC,CAClD,MAAMC,EACJ,OAAOD,GAAW,WAAcA,EAAmCH,CAAK,EAAIG,EAE9E,GAAI,CAAC,OAAO,GAAGC,EAAWJ,CAAK,EAAG,CAChC,MAAMK,EAAYL,EAClBA,EAAQI,EACRH,EAAU,QAASK,GAAaA,EAASN,EAAOK,CAAS,CAAC,CAAA,CAC5D,EAGIE,EAAW,IAAMP,EACjBQ,EAAkB,IAAMR,EAExBS,EAAaH,IACjBL,EAAU,IAAIK,CAAQ,EACf,IAAML,EAAU,OAAOK,CAAQ,GAExC,OAAI,OAAOP,GAAgB,WACzBC,EAASD,EAAoCG,EAAUK,CAAQ,EAE/DP,EAAQD,EAUH,CACL,IAAKG,EACL,IAAKK,EACL,IAV0BG,GAC1BC,EAAAA,qBACEF,EACA,IAAOC,EAAWA,EAASH,EAAA,CAAU,EAAIA,EAAA,EACzC,IAAOG,EAAWA,EAASF,EAAA,CAAiB,EAAIA,EAAA,CAAgB,EAOlE,UAAAC,CAAA,CAEJ"}
1
+ {"version":3,"file":"createStore.cjs","sources":["../../../../src/helpers/createStore/createStore.ts"],"sourcesContent":["import { useSyncExternalStore } from 'react';\n\ntype StoreSetAction<Value> = ((prev: Value) => Partial<Value>) | Partial<Value>;\n\ntype StoreListener<Value> = (state: Value, prevState: Value) => void;\n\ntype StoreCreator<Value> = (\n set: (action: StoreSetAction<Value>) => void,\n get: () => Value\n) => Value;\n\nexport interface StoreApi<Value> {\n getInitialState: () => Value;\n getState: () => Value;\n setState: (action: StoreSetAction<Value>) => void;\n subscribe: (listener: StoreListener<Value>) => () => void;\n}\n\n/**\n * @name createStore\n * @description - Creates a store with state management capabilities\n * @category Helpers\n *\n * @template Value - The type of the store state\n * @param {StateCreator<Value>} createState - Function that initializes the store state\n * @returns {StoreApi<Value>} - Object containing store methods and hook for accessing state\n *\n * @example\n * const { set, get, use, subscribe } = createStore((set) => ({\n * count: 0,\n * increment: () => set(state => ({ count: state.count + 1 }))\n * }));\n */\nexport const createStore = <Value>(createState: StoreCreator<Value> | Value) => {\n let state: Value;\n const listeners: Set<StoreListener<Value>> = new Set();\n\n const setState: StoreApi<Value>['setState'] = (action: StoreSetAction<Value>) => {\n const nextState = typeof action === 'function' ? action(state) : action;\n\n if (!Object.is(nextState, state)) {\n const prevState = state;\n state =\n typeof nextState !== 'object' || nextState === null\n ? nextState\n : Object.assign({}, state, nextState);\n\n listeners.forEach((listener) => listener(state, prevState));\n }\n };\n\n const subscribe = (listener: StoreListener<Value>) => {\n listeners.add(listener);\n\n return () => listeners.delete(listener);\n };\n\n const getState = () => state;\n const getInitialState = () => state;\n\n if (typeof createState === 'function') {\n state = (createState as StoreCreator<Value>)(setState, getState);\n } else {\n state = createState;\n }\n\n function useStore(): Value;\n function useStore<Selected>(selector: (state: Value) => Selected): Selected;\n function useStore<Selected>(selector?: (state: Value) => Selected): Selected | Value {\n return useSyncExternalStore(\n subscribe,\n () => (selector ? selector(getState()) : getState()),\n () => (selector ? selector(getInitialState()) : getInitialState())\n );\n }\n\n return {\n set: setState,\n get: getState,\n use: useStore,\n subscribe\n };\n};\n"],"names":["createStore","createState","state","listeners","setState","action","nextState","prevState","listener","subscribe","getState","getInitialState","useStore","selector","useSyncExternalStore"],"mappings":"yGAiCaA,EAAsBC,GAA6C,CAC9E,IAAIC,EACJ,MAAMC,MAA2C,IAE3CC,EAAyCC,GAAkC,CAC/E,MAAMC,EAAY,OAAOD,GAAW,WAAaA,EAAOH,CAAK,EAAIG,EAEjE,GAAI,CAAC,OAAO,GAAGC,EAAWJ,CAAK,EAAG,CAChC,MAAMK,EAAYL,EAClBA,EACE,OAAOI,GAAc,UAAYA,IAAc,KAC3CA,EACA,OAAO,OAAO,GAAIJ,EAAOI,CAAS,EAExCH,EAAU,QAASK,GAAaA,EAASN,EAAOK,CAAS,CAAC,CAAA,CAC5D,EAGIE,EAAaD,IACjBL,EAAU,IAAIK,CAAQ,EAEf,IAAML,EAAU,OAAOK,CAAQ,GAGlCE,EAAW,IAAMR,EACjBS,EAAkB,IAAMT,EAE1B,OAAOD,GAAgB,WACzBC,EAASD,EAAoCG,EAAUM,CAAQ,EAE/DR,EAAQD,EAKV,SAASW,EAAmBC,EAAyD,CACnF,OAAOC,EAAAA,qBACLL,EACA,IAAOI,EAAWA,EAASH,EAAA,CAAU,EAAIA,EAAA,EACzC,IAAOG,EAAWA,EAASF,EAAA,CAAiB,EAAIA,EAAA,CAAgB,CAClE,CAGF,MAAO,CACL,IAAKP,EACL,IAAKM,EACL,IAAKE,EACL,UAAAH,CAAA,CAEJ"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),f=(a,n)=>{const[u,s]=e.useState(!0),[c,r]=e.useState(!1),[i,o]=e.useState(void 0),[d,l]=e.useState(void 0);return e.useEffect(()=>{s(!0),a().then(t=>{l(t),o(void 0),r(!1)}).catch(t=>{o(t),r(!0)}).finally(()=>{s(!1)})},n),{data:d,isLoading:u,isError:c,error:i}};exports.useAsync=f;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),f=(a,n=[])=>{const[u,s]=e.useState(!0),[c,r]=e.useState(!1),[i,o]=e.useState(void 0),[d,l]=e.useState(void 0);return e.useEffect(()=>{s(!0),a().then(t=>{l(t),o(void 0),r(!1)}).catch(t=>{o(t),r(!0)}).finally(()=>{s(!1)})},n),{data:d,isLoading:u,isError:c,error:i}};exports.useAsync=f;
2
2
  //# sourceMappingURL=useAsync.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAsync.cjs","sources":["../../../../src/hooks/useAsync/useAsync.ts"],"sourcesContent":["import type { DependencyList } from 'react';\n\nimport { useEffect, useState } from 'react';\n\n/* The use query return type */\nexport interface UseAsyncReturn<Data> {\n /* The state of the query */\n data?: Data;\n /* The error of the query */\n error?: Error;\n /* The error state of the query */\n isError: boolean;\n /* The loading state of the query */\n isLoading: boolean;\n}\n\n/**\n * @name useAsync\n * @description - Hook that provides the state of an async callback\n * @category Async\n *\n * @param {() => Promise<Data>} callback The async callback\n * @param {DependencyList} deps The dependencies of the callback\n * @returns {UseAsyncReturn<Data>} The state of the async callback\n *\n * @example\n * const { data, isLoading, isError, error } = useAsync(() => fetch('url'), [deps]);\n */\nexport const useAsync = <Data>(\n callback: () => Promise<Data>,\n deps: DependencyList\n): UseAsyncReturn<Data> => {\n const [isLoading, setIsLoading] = useState(true);\n const [isError, setIsError] = useState(false);\n\n const [error, setError] = useState<Error | undefined>(undefined);\n const [data, setData] = useState<Data | undefined>(undefined);\n\n useEffect(() => {\n setIsLoading(true);\n callback()\n .then((response) => {\n setData(response);\n setError(undefined);\n setIsError(false);\n })\n .catch((error: Error) => {\n setError(error);\n setIsError(true);\n })\n .finally(() => {\n setIsLoading(false);\n });\n }, deps);\n\n return {\n data,\n isLoading,\n isError,\n error\n };\n};\n"],"names":["useAsync","callback","deps","isLoading","setIsLoading","useState","isError","setIsError","error","setError","data","setData","useEffect","response"],"mappings":"yGA4BaA,EAAW,CACtBC,EACAC,IACyB,CACzB,KAAM,CAACC,EAAWC,CAAY,EAAIC,EAAAA,SAAS,EAAI,EACzC,CAACC,EAASC,CAAU,EAAIF,EAAAA,SAAS,EAAK,EAEtC,CAACG,EAAOC,CAAQ,EAAIJ,EAAAA,SAA4B,MAAS,EACzD,CAACK,EAAMC,CAAO,EAAIN,EAAAA,SAA2B,MAAS,EAE5DO,OAAAA,EAAAA,UAAU,IAAM,CACdR,EAAa,EAAI,EACjBH,EAAA,EACG,KAAMY,GAAa,CAClBF,EAAQE,CAAQ,EAChBJ,EAAS,MAAS,EAClBF,EAAW,EAAK,CAAA,CACjB,EACA,MAAOC,GAAiB,CACvBC,EAASD,CAAK,EACdD,EAAW,EAAI,CAAA,CAChB,EACA,QAAQ,IAAM,CACbH,EAAa,EAAK,CAAA,CACnB,CAAA,EACFF,CAAI,EAEA,CACL,KAAAQ,EACA,UAAAP,EACA,QAAAG,EACA,MAAAE,CAAA,CAEJ"}
1
+ {"version":3,"file":"useAsync.cjs","sources":["../../../../src/hooks/useAsync/useAsync.ts"],"sourcesContent":["import type { DependencyList } from 'react';\n\nimport { useEffect, useState } from 'react';\n\n/* The use query return type */\nexport interface UseAsyncReturn<Data> {\n /* The state of the query */\n data?: Data;\n /* The error of the query */\n error?: Error;\n /* The error state of the query */\n isError: boolean;\n /* The loading state of the query */\n isLoading: boolean;\n}\n\n/**\n * @name useAsync\n * @description - Hook that provides the state of an async callback\n * @category Async\n *\n * @param {() => Promise<Data>} callback The async callback\n * @param {DependencyList} [deps=[]] The dependencies of the callback\n * @returns {UseAsyncReturn<Data>} The state of the async callback\n *\n * @example\n * const { data, isLoading, isError, error } = useAsync(() => fetch('url'), [deps]);\n */\nexport const useAsync = <Data>(\n callback: () => Promise<Data>,\n deps: DependencyList = []\n): UseAsyncReturn<Data> => {\n const [isLoading, setIsLoading] = useState(true);\n const [isError, setIsError] = useState(false);\n\n const [error, setError] = useState<Error | undefined>(undefined);\n const [data, setData] = useState<Data | undefined>(undefined);\n\n useEffect(() => {\n setIsLoading(true);\n callback()\n .then((response) => {\n setData(response);\n setError(undefined);\n setIsError(false);\n })\n .catch((error: Error) => {\n setError(error);\n setIsError(true);\n })\n .finally(() => {\n setIsLoading(false);\n });\n }, deps);\n\n return {\n data,\n isLoading,\n isError,\n error\n };\n};\n"],"names":["useAsync","callback","deps","isLoading","setIsLoading","useState","isError","setIsError","error","setError","data","setData","useEffect","response"],"mappings":"yGA4BaA,EAAW,CACtBC,EACAC,EAAuB,KACE,CACzB,KAAM,CAACC,EAAWC,CAAY,EAAIC,EAAAA,SAAS,EAAI,EACzC,CAACC,EAASC,CAAU,EAAIF,EAAAA,SAAS,EAAK,EAEtC,CAACG,EAAOC,CAAQ,EAAIJ,EAAAA,SAA4B,MAAS,EACzD,CAACK,EAAMC,CAAO,EAAIN,EAAAA,SAA2B,MAAS,EAE5DO,OAAAA,EAAAA,UAAU,IAAM,CACdR,EAAa,EAAI,EACjBH,EAAA,EACG,KAAMY,GAAa,CAClBF,EAAQE,CAAQ,EAChBJ,EAAS,MAAS,EAClBF,EAAW,EAAK,CAAA,CACjB,EACA,MAAOC,GAAiB,CACvBC,EAASD,CAAK,EACdD,EAAW,EAAI,CAAA,CAChB,EACA,QAAQ,IAAM,CACbH,EAAa,EAAK,CAAA,CACnB,CAAA,EACFF,CAAI,EAEA,CACL,KAAAQ,EACA,UAAAP,EACA,QAAAG,EACA,MAAAE,CAAA,CAEJ"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("../useQuery/useQuery.cjs"),m=async(s,i={})=>new Promise((r,g)=>{const e=new Image,{srcset:o,sizes:c,class:a,loading:n,crossorigin:l,referrerPolicy:t}=i;e.src=s,o&&(e.srcset=o),c&&(e.sizes=c),a&&(e.className=a),n&&(e.loading=n),l&&(e.crossOrigin=l),t&&(e.referrerPolicy=t),e.onload=()=>r(e),e.onerror=g}),u=(s,i,r={})=>f.useQuery(()=>m(s,i),{keys:[s,...r.keys??[]],...r});exports.useImage=u;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("../useQuery/useQuery.cjs"),t=async(s,e={})=>new Promise((o,f)=>{const r=new Image,{srcset:c,sizes:a,class:l,loading:i,crossorigin:g,referrerPolicy:n}=e;r.src=s,c&&(r.srcset=c),a&&(r.sizes=a),l&&(r.className=l),i&&(r.loading=i),g&&(r.crossOrigin=g),n&&(r.referrerPolicy=n),r.onload=()=>o(r),r.onerror=f}),u=(s,e)=>y.useQuery(()=>t(s,{alt:e?.alt,class:e?.class,crossorigin:e?.crossorigin,loading:e?.loading,referrerPolicy:e?.referrerPolicy,sizes:e?.sizes,srcset:e?.srcset}),{keys:[s,...e?.keys??[]],onSuccess:e?.onSuccess,onError:e?.onError,refetchInterval:e?.refetchInterval,retry:e?.retry});exports.useImage=u;
2
2
  //# sourceMappingURL=useImage.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useImage.cjs","sources":["../../../../src/hooks/useImage/useImage.ts"],"sourcesContent":["import type { UseQueryOptions, UseQueryReturn } from '../useQuery/useQuery';\n\nimport { useQuery } from '../useQuery/useQuery';\n\n/** The use image options */\nexport interface UseImageOptions {\n /** The alt of the image */\n alt?: string;\n /** The class of the image */\n class?: string;\n /** The crossorigin of the image */\n crossorigin?: string;\n /** The loading of the image */\n loading?: HTMLImageElement['loading'];\n /** The referrer policy of the image */\n referrerPolicy?: HTMLImageElement['referrerPolicy'];\n /** The sizes of the image */\n sizes?: string;\n /** The srcset of the image */\n srcset?: string;\n}\n\n/** The use image return type */\nexport type UseImageReturn = UseQueryReturn<HTMLImageElement>;\n\nconst loadImage = async (src: string, options: UseImageOptions = {}): Promise<HTMLImageElement> =>\n new Promise((resolve, reject) => {\n const img = new Image();\n const { srcset, sizes, class: className, loading, crossorigin, referrerPolicy } = options;\n\n img.src = src;\n if (srcset) img.srcset = srcset;\n if (sizes) img.sizes = sizes;\n if (className) img.className = className;\n if (loading) img.loading = loading;\n if (crossorigin) img.crossOrigin = crossorigin;\n\n if (referrerPolicy) img.referrerPolicy = referrerPolicy;\n\n img.onload = () => resolve(img);\n img.onerror = reject;\n });\n\n/**\n * @name useImage\n * @description - Hook that load an image in the browser\n * @category Elements\n *\n * @param {string} src The source of the image\n * @param {string} [options.srcset] The srcset of the image\n * @param {string} [options.sizes] The sizes of the image\n * @param {string} [options.alt] The alt of the image\n * @param {string} [options.class] The class of the image\n * @param {HTMLImageElement['loading']} [options.loading] The loading of the image\n * @param {string} [options.crossorigin] The crossorigin of the image\n * @param {HTMLImageElement['referrerPolicy']} [options.referrerPolicy] The referrerPolicy of the image\n * @param {DependencyList} [useQueryOptions.keys] The dependencies for the hook\n * @param {(data: Data) => void} [useQueryOptions.onSuccess] The callback function to be invoked on success\n * @param {(error: Error) => void} [useQueryOptions.onError] The callback function to be invoked on error\n * @param {number} [useQueryOptions.refetchInterval] The refetch interval\n * @param {boolean | number} [useQueryOptions.retry] The retry count of requests\n * @returns {UseImageReturn} An object with the state of the image\n *\n * @example\n * const { data, isLoading, isError, isSuccess, error, refetch, isRefetching } = useImage('https://example.com/image.png');\n */\nexport const useImage = (\n src: string,\n options?: UseImageOptions,\n useQueryOptions: Omit<\n UseQueryOptions<HTMLImageElement, HTMLImageElement>,\n 'initialData' | 'placeholderData' | 'select'\n > = {}\n) =>\n useQuery(() => loadImage(src, options), {\n keys: [src, ...(useQueryOptions.keys ?? [])],\n ...useQueryOptions\n });\n"],"names":["loadImage","src","options","resolve","reject","img","srcset","sizes","className","loading","crossorigin","referrerPolicy","useImage","useQueryOptions","useQuery"],"mappings":"4HAyBMA,EAAY,MAAOC,EAAaC,EAA2B,CAAA,IAC/D,IAAI,QAAQ,CAACC,EAASC,IAAW,CAC/B,MAAMC,EAAM,IAAI,MACV,CAAE,OAAAC,EAAQ,MAAAC,EAAO,MAAOC,EAAW,QAAAC,EAAS,YAAAC,EAAa,eAAAC,GAAmBT,EAElFG,EAAI,IAAMJ,EACNK,MAAY,OAASA,GACrBC,MAAW,MAAQA,GACnBC,MAAe,UAAYA,GAC3BC,MAAa,QAAUA,GACvBC,MAAiB,YAAcA,GAE/BC,MAAoB,eAAiBA,GAEzCN,EAAI,OAAS,IAAMF,EAAQE,CAAG,EAC9BA,EAAI,QAAUD,CAChB,CAAC,EAyBUQ,EAAW,CACtBX,EACAC,EACAW,EAGI,CAAA,IAEJC,EAAAA,SAAS,IAAMd,EAAUC,EAAKC,CAAO,EAAG,CACtC,KAAM,CAACD,EAAK,GAAIY,EAAgB,MAAQ,CAAA,CAAG,EAC3C,GAAGA,CACL,CAAC"}
1
+ {"version":3,"file":"useImage.cjs","sources":["../../../../src/hooks/useImage/useImage.ts"],"sourcesContent":["import type { UseQueryOptions, UseQueryReturn } from '../useQuery/useQuery';\n\nimport { useQuery } from '../useQuery/useQuery';\n\n/** The use image options */\nexport interface UseImageOptions {\n /** The alt of the image */\n alt?: string;\n /** The class of the image */\n class?: string;\n /** The crossorigin of the image */\n crossorigin?: string;\n /** The loading of the image */\n loading?: HTMLImageElement['loading'];\n /** The referrer policy of the image */\n referrerPolicy?: HTMLImageElement['referrerPolicy'];\n /** The sizes of the image */\n sizes?: string;\n /** The srcset of the image */\n srcset?: string;\n}\n\n/** The use image return type */\nexport type UseImageReturn = UseQueryReturn<HTMLImageElement>;\n\nconst loadImage = async (src: string, options: UseImageOptions = {}): Promise<HTMLImageElement> =>\n new Promise((resolve, reject) => {\n const img = new Image();\n const { srcset, sizes, class: className, loading, crossorigin, referrerPolicy } = options;\n\n img.src = src;\n if (srcset) img.srcset = srcset;\n if (sizes) img.sizes = sizes;\n if (className) img.className = className;\n if (loading) img.loading = loading;\n if (crossorigin) img.crossOrigin = crossorigin;\n\n if (referrerPolicy) img.referrerPolicy = referrerPolicy;\n\n img.onload = () => resolve(img);\n img.onerror = reject;\n });\n\n/**\n * @name useImage\n * @description - Hook that load an image in the browser\n * @category Elements\n *\n * @param {string} src The source of the image\n * @param {string} [options.srcset] The srcset of the image\n * @param {string} [options.sizes] The sizes of the image\n * @param {string} [options.alt] The alt of the image\n * @param {string} [options.class] The class of the image\n * @param {HTMLImageElement['loading']} [options.loading] The loading of the image\n * @param {string} [options.crossorigin] The crossorigin of the image\n * @param {HTMLImageElement['referrerPolicy']} [options.referrerPolicy] The referrerPolicy of the image\n * @param {DependencyList} [options.keys] The dependencies for the hook\n * @param {(data: Data) => void} [options.onSuccess] The callback function to be invoked on success\n * @param {(error: Error) => void} [options.onError] The callback function to be invoked on error\n * @param {number} [options.refetchInterval] The refetch interval\n * @param {boolean | number} [options.retry] The retry count of requests\n * @returns {UseImageReturn} An object with the state of the image\n *\n * @example\n * const { data, isLoading, isError, isSuccess, error, refetch, isRefetching } = useImage('https://example.com/image.png');\n */\nexport const useImage = (\n src: string,\n options?: UseImageOptions &\n Omit<\n UseQueryOptions<HTMLImageElement, HTMLImageElement>,\n 'initialData' | 'placeholderData' | 'select'\n >\n) =>\n useQuery(\n () =>\n loadImage(src, {\n alt: options?.alt,\n class: options?.class,\n crossorigin: options?.crossorigin,\n loading: options?.loading,\n referrerPolicy: options?.referrerPolicy,\n sizes: options?.sizes,\n srcset: options?.srcset\n }),\n {\n keys: [src, ...(options?.keys ?? [])],\n onSuccess: options?.onSuccess,\n onError: options?.onError,\n refetchInterval: options?.refetchInterval,\n retry: options?.retry\n }\n );\n"],"names":["loadImage","src","options","resolve","reject","img","srcset","sizes","className","loading","crossorigin","referrerPolicy","useImage","useQuery"],"mappings":"4HAyBMA,EAAY,MAAOC,EAAaC,EAA2B,CAAA,IAC/D,IAAI,QAAQ,CAACC,EAASC,IAAW,CAC/B,MAAMC,EAAM,IAAI,MACV,CAAE,OAAAC,EAAQ,MAAAC,EAAO,MAAOC,EAAW,QAAAC,EAAS,YAAAC,EAAa,eAAAC,GAAmBT,EAElFG,EAAI,IAAMJ,EACNK,MAAY,OAASA,GACrBC,MAAW,MAAQA,GACnBC,MAAe,UAAYA,GAC3BC,MAAa,QAAUA,GACvBC,MAAiB,YAAcA,GAE/BC,MAAoB,eAAiBA,GAEzCN,EAAI,OAAS,IAAMF,EAAQE,CAAG,EAC9BA,EAAI,QAAUD,CAChB,CAAC,EAyBUQ,EAAW,CACtBX,EACAC,IAMAW,EAAAA,SACE,IACEb,EAAUC,EAAK,CACb,IAAKC,GAAS,IACd,MAAOA,GAAS,MAChB,YAAaA,GAAS,YACtB,QAASA,GAAS,QAClB,eAAgBA,GAAS,eACzB,MAAOA,GAAS,MAChB,OAAQA,GAAS,MAAA,CAClB,EACH,CACE,KAAM,CAACD,EAAK,GAAIC,GAAS,MAAQ,CAAA,CAAG,EACpC,UAAWA,GAAS,UACpB,QAASA,GAAS,QAClB,gBAAiBA,GAAS,gBAC1B,MAAOA,GAAS,KAAA,CAEpB"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react"),h=require("../useRefState/useRefState.cjs"),g=require("../../utils/helpers/isTarget.cjs"),v=require("../../utils/helpers/getElement.cjs"),R=(...r)=>{const e=g.isTarget(r[0])?r[0]:void 0,l=e?r[1]:r[0],a=e?r[2]:r[1],o=h.useRefState(),s=i.useRef(l);s.current=l;const u=i.useRef(a);if(u.current=a,i.useEffect(()=>{if(!e&&!o.state)return;const n=e?v.getElement(e):o.current;if(!n)return;const f=t=>{t.preventDefault(),u.current?.onStart?.(t);const c=t;s.current({x:c.clientX,y:c.clientY},t)},d=t=>{t.preventDefault(),u.current?.onStart?.(t);const c=t;s.current({x:c.touches[0].clientX,y:c.touches[0].clientY},t)},E=t=>{t.preventDefault(),u.current?.onEnd?.(t)};return n.addEventListener("contextmenu",f),n.addEventListener("touchstart",d),n.addEventListener("touchend",E),()=>{n.removeEventListener("contextmenu",f),n.removeEventListener("touchstart",d),n.removeEventListener("touchend",E)}},[e,o.state]),!e)return o};exports.useRightClick=R;
2
+ //# sourceMappingURL=useRightClick.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRightClick.cjs","sources":["../../../../src/hooks/useRightClick/useRightClick.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nimport type { HookTarget } from '@/utils/helpers';\n\nimport { getElement, isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\nexport type RightClickEvent = MouseEvent | TouchEvent;\nexport interface RightClickPositions {\n x: number;\n y: number;\n}\n\nexport interface UseRightClickOptions {\n // * The callback function to be invoked on right click end\n onEnd?: (event: RightClickEvent) => void;\n // * The callback function to be invoked on right click start\n onStart?: (event: RightClickEvent) => void;\n}\n\nexport interface UseRightClick {\n (target: HookTarget, callback: (event: Event) => void, options?: UseRightClickOptions): void;\n\n <Target extends Element>(\n callback: (positions: RightClickPositions, event: Event) => void,\n options?: UseRightClickOptions,\n target?: never\n ): StateRef<Target>;\n}\n\n/**\n * @name useRightClick\n * @description - Hook that handles right-click events and long press on mobile devices\n * @category Elements\n *\n * @overload\n * @param {HookTarget} target The target element for right-click handling\n * @param {(event: RightClickEvents) => void} callback The callback function to be invoked on right click\n * @returns {void}\n *\n * @example\n * useRightClick(ref, () => console.log('clicked'));\n *\n * @overload\n * @template Target The target element\n * @param {(event: RightClickEvents) => void} callback The callback function to be invoked on right click\n * @returns {StateRef<Target>} Ref to attach to the element\n *\n * @example\n * const ref = useRightClick(() => console.log('clicked'));\n */\nexport const useRightClick = ((...params: any[]): any => {\n const target = (isTarget(params[0]) ? params[0] : undefined) as HookTarget | undefined;\n const callback = (target ? params[1] : params[0]) as (\n positions: RightClickPositions,\n event: RightClickEvent\n ) => void;\n const options = (target ? params[2] : params[1]) as UseRightClickOptions;\n\n const internalRef = useRefState<Element>();\n const internalCallbackRef = useRef(callback);\n internalCallbackRef.current = callback;\n const internalOptionsRef = useRef(options);\n internalOptionsRef.current = options;\n\n useEffect(() => {\n if (!target && !internalRef.state) return;\n\n const element = target ? getElement(target) : internalRef.current;\n if (!element) return;\n\n const onContextMenu = (event: RightClickEvent) => {\n event.preventDefault();\n internalOptionsRef.current?.onStart?.(event);\n const mouseEvent = event as MouseEvent;\n internalCallbackRef.current({ x: mouseEvent.clientX, y: mouseEvent.clientY }, event);\n };\n\n const onTouchStart = (event: RightClickEvent) => {\n event.preventDefault();\n internalOptionsRef.current?.onStart?.(event);\n const touchEvent = event as TouchEvent;\n internalCallbackRef.current(\n { x: touchEvent.touches[0].clientX, y: touchEvent.touches[0].clientY },\n event\n );\n };\n\n const onTouchEnd = (event: RightClickEvent) => {\n event.preventDefault();\n internalOptionsRef.current?.onEnd?.(event);\n };\n\n element.addEventListener('contextmenu', onContextMenu as EventListener);\n\n element.addEventListener('touchstart', onTouchStart as EventListener);\n element.addEventListener('touchend', onTouchEnd as EventListener);\n\n return () => {\n element.removeEventListener('contextmenu', onContextMenu as EventListener);\n\n element.removeEventListener('touchstart', onTouchStart as EventListener);\n element.removeEventListener('touchend', onTouchEnd as EventListener);\n };\n }, [target, internalRef.state]);\n\n if (target) return;\n return internalRef;\n}) as UseRightClick;\n"],"names":["useRightClick","params","target","isTarget","callback","options","internalRef","useRefState","internalCallbackRef","useRef","internalOptionsRef","useEffect","element","getElement","onContextMenu","event","mouseEvent","onTouchStart","touchEvent","onTouchEnd"],"mappings":"mPAsDaA,EAAiB,IAAIC,IAAuB,CACvD,MAAMC,EAAUC,EAAAA,SAASF,EAAO,CAAC,CAAC,EAAIA,EAAO,CAAC,EAAI,OAC5CG,EAAYF,EAASD,EAAO,CAAC,EAAIA,EAAO,CAAC,EAIzCI,EAAWH,EAASD,EAAO,CAAC,EAAIA,EAAO,CAAC,EAExCK,EAAcC,EAAAA,YAAA,EACdC,EAAsBC,EAAAA,OAAOL,CAAQ,EAC3CI,EAAoB,QAAUJ,EAC9B,MAAMM,EAAqBD,EAAAA,OAAOJ,CAAO,EA4CzC,GA3CAK,EAAmB,QAAUL,EAE7BM,EAAAA,UAAU,IAAM,CACd,GAAI,CAACT,GAAU,CAACI,EAAY,MAAO,OAEnC,MAAMM,EAAUV,EAASW,EAAAA,WAAWX,CAAM,EAAII,EAAY,QAC1D,GAAI,CAACM,EAAS,OAEd,MAAME,EAAiBC,GAA2B,CAChDA,EAAM,eAAA,EACNL,EAAmB,SAAS,UAAUK,CAAK,EAC3C,MAAMC,EAAaD,EACnBP,EAAoB,QAAQ,CAAE,EAAGQ,EAAW,QAAS,EAAGA,EAAW,OAAA,EAAWD,CAAK,CAAA,EAG/EE,EAAgBF,GAA2B,CAC/CA,EAAM,eAAA,EACNL,EAAmB,SAAS,UAAUK,CAAK,EAC3C,MAAMG,EAAaH,EACnBP,EAAoB,QAClB,CAAE,EAAGU,EAAW,QAAQ,CAAC,EAAE,QAAS,EAAGA,EAAW,QAAQ,CAAC,EAAE,OAAA,EAC7DH,CAAA,CACF,EAGII,EAAcJ,GAA2B,CAC7CA,EAAM,eAAA,EACNL,EAAmB,SAAS,QAAQK,CAAK,CAAA,EAG3C,OAAAH,EAAQ,iBAAiB,cAAeE,CAA8B,EAEtEF,EAAQ,iBAAiB,aAAcK,CAA6B,EACpEL,EAAQ,iBAAiB,WAAYO,CAA2B,EAEzD,IAAM,CACXP,EAAQ,oBAAoB,cAAeE,CAA8B,EAEzEF,EAAQ,oBAAoB,aAAcK,CAA6B,EACvEL,EAAQ,oBAAoB,WAAYO,CAA2B,CAAA,CACrE,EACC,CAACjB,EAAQI,EAAY,KAAK,CAAC,EAE1B,CAAAJ,EACJ,OAAOI,CACT"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react"),g=(o=!1)=>{const r=typeof window<"u"&&"visualViewport"in window||typeof navigator<"u"&&"virtualKeyboard"in navigator,[n,e]=i.useState(o),s=()=>{navigator.virtualKeyboard&&(navigator.virtualKeyboard.hide(),e(!1))},u=()=>{navigator.virtualKeyboard&&(navigator.virtualKeyboard.show(),e(!0))},v=t=>{navigator.virtualKeyboard&&(navigator.virtualKeyboard.overlaysContent=t)};return i.useEffect(()=>{if(!r)return;const t=()=>e(window.screen.height-300>window.visualViewport.height),a=d=>{const{height:l}=d.target.boundingRect;e(l>0)};return navigator.virtualKeyboard&&navigator.virtualKeyboard.addEventListener("geometrychange",a),window.visualViewport&&window.visualViewport.addEventListener("resize",t),()=>{navigator.virtualKeyboard&&navigator.virtualKeyboard.removeEventListener("geometrychange",a),window.visualViewport&&window.visualViewport.removeEventListener("resize",t)}},[]),{opened:n,show:u,hide:s,changeOverlaysContent:v,supported:r}};exports.useVirtualKeyboard=g;
2
+ //# sourceMappingURL=useVirtualKeyboard.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useVirtualKeyboard.cjs","sources":["../../../../src/hooks/useVirtualKeyboard/useVirtualKeyboard.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\r\n\r\ndeclare global {\r\n interface Navigator {\r\n virtualKeyboard?: {\r\n boundingRect: DOMRect;\r\n overlaysContent: boolean;\r\n show: () => void;\r\n hide: () => void;\r\n addEventListener: (type: 'geometrychange', listener: EventListener) => void;\r\n removeEventListener: (type: 'geometrychange', listener: EventListener) => void;\r\n };\r\n }\r\n}\r\n\r\n/** The use virtual keyboard return type */\r\nexport interface UseVirtualKeyboardReturn {\r\n /** Whether the virtual keyboard is currently open */\r\n opened: boolean;\r\n /** Whether the VirtualKeyboard API is supported */\r\n supported: boolean;\r\n /** Change the overlays content */\r\n changeOverlaysContent: (overlaysContent: boolean) => void;\r\n /** Hide the virtual keyboard */\r\n hide: () => void;\r\n /** Show the virtual keyboard */\r\n show: () => void;\r\n}\r\n\r\n/**\r\n * @name useVirtualKeyboard\r\n * @description - Hook that manages virtual keyboard state\r\n * @category Browser\r\n *\r\n * @browserapi VirtualKeyboard https://developer.mozilla.org/en-US/docs/Web/API/VirtualKeyboard\r\n *\r\n * @warning - This hook has a fallback for virtual keyboard detection. If the virtual keyboard is not supported, the methods will not work.\r\n *\r\n * @param {boolean} [initialValue=false] The initial state value for keyboard visibility\r\n * @returns {UseVirtualKeyboardReturn} An object containing keyboard state and control methods\r\n *\r\n * @example\r\n * const { opened, show, hide, supported, changeOverlaysContent } = useVirtualKeyboard();\r\n */\r\nexport const useVirtualKeyboard = (initialValue = false): UseVirtualKeyboardReturn => {\r\n const supported =\r\n (typeof window !== 'undefined' && 'visualViewport' in window) ||\r\n (typeof navigator !== 'undefined' && 'virtualKeyboard' in navigator);\r\n\r\n const [opened, setOpened] = useState(initialValue);\r\n\r\n const hide = () => {\r\n if (!navigator.virtualKeyboard) return;\r\n navigator.virtualKeyboard.hide();\r\n setOpened(false);\r\n };\r\n\r\n const show = () => {\r\n if (!navigator.virtualKeyboard) return;\r\n navigator.virtualKeyboard.show();\r\n setOpened(true);\r\n };\r\n\r\n const changeOverlaysContent = (overlaysContent: boolean) => {\r\n if (!navigator.virtualKeyboard) return;\r\n navigator.virtualKeyboard.overlaysContent = overlaysContent;\r\n };\r\n\r\n useEffect(() => {\r\n if (!supported) return;\r\n\r\n const onResize = () => setOpened(window.screen.height - 300 > window.visualViewport!.height);\r\n\r\n const onGeometryChange = (event: Event) => {\r\n const { height } = (event.target as any).boundingRect as DOMRect;\r\n setOpened(height > 0);\r\n };\r\n\r\n navigator.virtualKeyboard &&\r\n navigator.virtualKeyboard.addEventListener('geometrychange', onGeometryChange);\r\n window.visualViewport && window.visualViewport.addEventListener('resize', onResize);\r\n\r\n return () => {\r\n navigator.virtualKeyboard &&\r\n navigator.virtualKeyboard.removeEventListener('geometrychange', onGeometryChange);\r\n window.visualViewport && window.visualViewport.removeEventListener('resize', onResize);\r\n };\r\n }, []);\r\n\r\n return {\r\n opened,\r\n show,\r\n hide,\r\n changeOverlaysContent,\r\n supported\r\n };\r\n};\r\n"],"names":["useVirtualKeyboard","initialValue","supported","opened","setOpened","useState","hide","show","changeOverlaysContent","overlaysContent","useEffect","onResize","onGeometryChange","event","height"],"mappings":"yGA4CaA,EAAqB,CAACC,EAAe,KAAoC,CACpF,MAAMC,EACH,OAAO,OAAW,KAAe,mBAAoB,QACrD,OAAO,UAAc,KAAe,oBAAqB,UAEtD,CAACC,EAAQC,CAAS,EAAIC,EAAAA,SAASJ,CAAY,EAE3CK,EAAO,IAAM,CACZ,UAAU,kBACf,UAAU,gBAAgB,KAAA,EAC1BF,EAAU,EAAK,EAAA,EAGXG,EAAO,IAAM,CACZ,UAAU,kBACf,UAAU,gBAAgB,KAAA,EAC1BH,EAAU,EAAI,EAAA,EAGVI,EAAyBC,GAA6B,CACrD,UAAU,kBACf,UAAU,gBAAgB,gBAAkBA,EAAA,EAG9CC,OAAAA,EAAAA,UAAU,IAAM,CACd,GAAI,CAACR,EAAW,OAEhB,MAAMS,EAAW,IAAMP,EAAU,OAAO,OAAO,OAAS,IAAM,OAAO,eAAgB,MAAM,EAErFQ,EAAoBC,GAAiB,CACzC,KAAM,CAAE,OAAAC,CAAA,EAAYD,EAAM,OAAe,aACzCT,EAAUU,EAAS,CAAC,CAAA,EAGtB,iBAAU,iBACR,UAAU,gBAAgB,iBAAiB,iBAAkBF,CAAgB,EAC/E,OAAO,gBAAkB,OAAO,eAAe,iBAAiB,SAAUD,CAAQ,EAE3E,IAAM,CACX,UAAU,iBACR,UAAU,gBAAgB,oBAAoB,iBAAkBC,CAAgB,EAClF,OAAO,gBAAkB,OAAO,eAAe,oBAAoB,SAAUD,CAAQ,CAAA,CACvF,EACC,EAAE,EAEE,CACL,OAAAR,EACA,KAAAI,EACA,KAAAD,EACA,sBAAAE,EACA,UAAAN,CAAA,CAEJ"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("./helpers/createContext/createContext.cjs"),y=require("./helpers/createEventEmitter/createEventEmitter.cjs"),I=require("./helpers/createReactiveContext/createReactiveContext.cjs"),v=require("./helpers/createStore/createStore.cjs"),k=require("./hooks/useAsync/useAsync.cjs"),O=require("./hooks/useLockCallback/useLockCallback.cjs"),A=require("./hooks/useMutation/useMutation.cjs"),h=require("./hooks/useOptimistic/useOptimistic.cjs"),D=require("./hooks/useQuery/useQuery.cjs"),L=require("./hooks/useAudio/useAudio.cjs"),M=require("./hooks/useBattery/useBattery.cjs"),b=require("./hooks/useBluetooth/useBluetooth.cjs"),f=require("./hooks/useBroadcastChannel/useBroadcastChannel.cjs"),_=require("./hooks/useClipboard/useClipboard.cjs"),N=require("./hooks/useCopy/useCopy.cjs"),B=require("./hooks/useCssVar/useCssVar.cjs"),F=require("./hooks/useDisplayMedia/useDisplayMedia.cjs"),K=require("./hooks/useDocumentTitle/useDocumentTitle.cjs"),U=require("./hooks/useEventSource/useEventSource.cjs"),V=require("./hooks/useEyeDropper/useEyeDropper.cjs"),w=require("./hooks/useFavicon/useFavicon.cjs"),W=require("./hooks/useFps/useFps.cjs"),H=require("./hooks/useFullscreen/useFullscreen.cjs"),i=require("./hooks/useGamepad/useGamepad.cjs"),x=require("./hooks/useGeolocation/useGeolocation.cjs"),n=require("./hooks/useMediaControls/useMediaControls.cjs"),Q=require("./hooks/useMemory/useMemory.cjs"),c=require("./hooks/useNetwork/useNetwork.cjs"),z=require("./hooks/useOnline/useOnline.cjs"),G=require("./hooks/useOtpCredential/useOtpCredential.cjs"),X=require("./hooks/usePermission/usePermission.cjs"),Z=require("./hooks/usePictureInPicture/usePictureInPicture.cjs"),j=require("./hooks/usePointerLock/usePointerLock.cjs"),J=require("./hooks/usePostMessage/usePostMessage.cjs"),Y=require("./hooks/useRaf/useRaf.cjs"),$=require("./hooks/useShare/useShare.cjs"),a=require("./hooks/useSpeechRecognition/useSpeechRecognition.cjs"),ee=require("./hooks/useSpeechSynthesis/useSpeechSynthesis.cjs"),se=require("./hooks/useVibrate/useVibrate.cjs"),ue=require("./hooks/useWakeLock/useWakeLock.cjs"),re=require("./hooks/useWebSocket/useWebSocket.cjs"),te=require("./hooks/useLogger/useLogger.cjs"),oe=require("./hooks/useRenderCount/useRenderCount.cjs"),ie=require("./hooks/useRenderInfo/useRenderInfo.cjs"),ne=require("./hooks/useRerender/useRerender.cjs"),ce=require("./hooks/useActiveElement/useActiveElement.cjs"),ae=require("./hooks/useAutoScroll/useAutoScroll.cjs"),le=require("./hooks/useClickOutside/useClickOutside.cjs"),l=require("./hooks/useDoubleClick/useDoubleClick.cjs"),Se=require("./hooks/useDropZone/useDropZone.cjs"),qe=require("./hooks/useFileDialog/useFileDialog.cjs"),de=require("./hooks/useFocus/useFocus.cjs"),Ee=require("./hooks/useHover/useHover.cjs"),ge=require("./hooks/useImage/useImage.cjs"),Pe=require("./hooks/useLongPress/useLongPress.cjs"),r=require("./hooks/usePaint/usePaint.cjs"),S=require("./hooks/useScript/useScript.cjs"),Te=require("./hooks/useSticky/useSticky.cjs"),Ce=require("./hooks/useTextDirection/useTextDirection.cjs"),me=require("./hooks/useFul/useFul.cjs"),Re=require("./hooks/useLess/useLess.cjs"),pe=require("./hooks/useOnce/useOnce.cjs"),ye=require("./hooks/useDidUpdate/useDidUpdate.cjs"),Ie=require("./hooks/useIsFirstRender/useIsFirstRender.cjs"),ve=require("./hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.cjs"),ke=require("./hooks/useMount/useMount.cjs"),q=require("./hooks/useShallowEffect/useShallowEffect.cjs"),Oe=require("./hooks/useUnmount/useUnmount.cjs"),e=require("./hooks/useBreakpoints/useBreakpoints.cjs"),Ae=require("./hooks/useDeviceMotion/useDeviceMotion.cjs"),he=require("./hooks/useDeviceOrientation/useDeviceOrientation.cjs"),De=require("./hooks/useDevicePixelRatio/useDevicePixelRatio.cjs"),Le=require("./hooks/useDocumentEvent/useDocumentEvent.cjs"),Me=require("./hooks/useDocumentVisibility/useDocumentVisibility.cjs"),be=require("./hooks/useElementSize/useElementSize.cjs"),fe=require("./hooks/useEventListener/useEventListener.cjs"),d=require("./hooks/useHotkeys/useHotkeys.cjs"),_e=require("./hooks/useIdle/useIdle.cjs"),Ne=require("./hooks/useInfiniteScroll/useInfiniteScroll.cjs"),Be=require("./hooks/useIntersectionObserver/useIntersectionObserver.cjs"),Fe=require("./hooks/useKeyboard/useKeyboard.cjs"),Ke=require("./hooks/useKeyPress/useKeyPress.cjs"),Ue=require("./hooks/useKeyPressEvent/useKeyPressEvent.cjs"),Ve=require("./hooks/useKeysPressed/useKeysPressed.cjs"),we=require("./hooks/useLockScroll/useLockScroll.cjs"),We=require("./hooks/useMeasure/useMeasure.cjs"),He=require("./hooks/useMediaQuery/useMediaQuery.cjs"),xe=require("./hooks/useMouse/useMouse.cjs"),Qe=require("./hooks/useMutationObserver/useMutationObserver.cjs"),ze=require("./hooks/useOrientation/useOrientation.cjs"),Ge=require("./hooks/usePageLeave/usePageLeave.cjs"),Xe=require("./hooks/useParallax/useParallax.cjs"),Ze=require("./hooks/usePerformanceObserver/usePerformanceObserver.cjs"),je=require("./hooks/useResizeObserver/useResizeObserver.cjs"),Je=require("./hooks/useScroll/useScroll.cjs"),Ye=require("./hooks/useScrollIntoView/useScrollIntoView.cjs"),$e=require("./hooks/useScrollTo/useScrollTo.cjs"),E=require("./hooks/useTextSelection/useTextSelection.cjs"),es=require("./hooks/useWindowEvent/useWindowEvent.cjs"),ss=require("./hooks/useWindowFocus/useWindowFocus.cjs"),g=require("./hooks/useWindowScroll/useWindowScroll.cjs"),us=require("./hooks/useWindowSize/useWindowSize.cjs"),rs=require("./hooks/useBoolean/useBoolean.cjs"),s=require("./hooks/useCookie/useCookie.cjs"),P=require("./hooks/useCookies/useCookies.cjs"),ts=require("./hooks/useCounter/useCounter.cjs"),os=require("./hooks/useDefault/useDefault.cjs"),is=require("./hooks/useDisclosure/useDisclosure.cjs"),ns=require("./hooks/useField/useField.cjs"),cs=require("./hooks/useHash/useHash.cjs"),as=require("./hooks/useList/useList.cjs"),ls=require("./hooks/useLocalStorage/useLocalStorage.cjs"),Ss=require("./hooks/useMap/useMap.cjs"),qs=require("./hooks/useOffsetPagination/useOffsetPagination.cjs"),ds=require("./hooks/useQueue/useQueue.cjs"),Es=require("./hooks/useRafState/useRafState.cjs"),gs=require("./hooks/useRefState/useRefState.cjs"),Ps=require("./hooks/useSessionStorage/useSessionStorage.cjs"),Ts=require("./hooks/useSet/useSet.cjs"),T=require("./hooks/useStateHistory/useStateHistory.cjs"),Cs=require("./hooks/useStep/useStep.cjs"),t=require("./hooks/useStorage/useStorage.cjs"),ms=require("./hooks/useToggle/useToggle.cjs"),u=require("./hooks/useUrlSearchParam/useUrlSearchParam.cjs"),Rs=require("./hooks/useUrlSearchParams/useUrlSearchParams.cjs"),ps=require("./hooks/useWizard/useWizard.cjs"),ys=require("./hooks/useInterval/useInterval.cjs"),Is=require("./hooks/useStopwatch/useStopwatch.cjs"),vs=require("./hooks/useTime/useTime.cjs"),ks=require("./hooks/useTimeout/useTimeout.cjs"),C=require("./hooks/useTimer/useTimer.cjs"),Os=require("./hooks/useBrowserLanguage/useBrowserLanguage.cjs"),m=require("./hooks/useOperatingSystem/useOperatingSystem.cjs"),As=require("./hooks/usePreferredColorScheme/usePreferredColorScheme.cjs"),hs=require("./hooks/usePreferredContrast/usePreferredContrast.cjs"),Ds=require("./hooks/usePreferredDark/usePreferredDark.cjs"),Ls=require("./hooks/usePreferredLanguages/usePreferredLanguages.cjs"),Ms=require("./hooks/usePreferredReducedMotion/usePreferredReducedMotion.cjs"),bs=require("./hooks/useConst/useConst.cjs"),fs=require("./hooks/useDebounceCallback/useDebounceCallback.cjs"),_s=require("./hooks/useDebounceValue/useDebounceValue.cjs"),Ns=require("./hooks/useEvent/useEvent.cjs"),Bs=require("./hooks/useLastChanged/useLastChanged.cjs"),Fs=require("./hooks/useLatest/useLatest.cjs"),Ks=require("./hooks/usePrevious/usePrevious.cjs"),Us=require("./hooks/useThrottleCallback/useThrottleCallback.cjs"),Vs=require("./hooks/useThrottleValue/useThrottleValue.cjs"),R=require("./utils/helpers/copy.cjs"),ws=require("./utils/helpers/debounce.cjs"),Ws=require("./utils/helpers/getDate.cjs"),o=require("./utils/helpers/getElement.cjs"),Hs=require("./utils/helpers/getRetry.cjs"),xs=require("./utils/helpers/isTarget.cjs"),Qs=require("./utils/helpers/throttle.cjs");exports.createContext=p.createContext;exports.createEventEmitter=y.createEventEmitter;exports.createReactiveContext=I.createReactiveContext;exports.createStore=v.createStore;exports.useAsync=k.useAsync;exports.useLockCallback=O.useLockCallback;exports.useMutation=A.useMutation;exports.useOptimistic=h.useOptimistic;exports.useQuery=D.useQuery;exports.useAudio=L.useAudio;exports.useBattery=M.useBattery;exports.useBluetooth=b.useBluetooth;exports.useBroadcastChannel=f.useBroadcastChannel;exports.useClipboard=_.useClipboard;exports.useCopy=N.useCopy;exports.useCssVar=B.useCssVar;exports.useDisplayMedia=F.useDisplayMedia;exports.useDocumentTitle=K.useDocumentTitle;exports.useEventSource=U.useEventSource;exports.useEyeDropper=V.useEyeDropper;exports.useFavicon=w.useFavicon;exports.useFps=W.useFps;exports.useFullscreen=H.useFullscreen;exports.mapGamepadToXbox360Controller=i.mapGamepadToXbox360Controller;exports.useGamepad=i.useGamepad;exports.useGeolocation=x.useGeolocation;exports.timeRangeToArray=n.timeRangeToArray;exports.useMediaControls=n.useMediaControls;exports.useMemory=Q.useMemory;exports.getConnection=c.getConnection;exports.useNetwork=c.useNetwork;exports.useOnline=z.useOnline;exports.useOtpCredential=G.useOtpCredential;exports.usePermission=X.usePermission;exports.usePictureInPicture=Z.usePictureInPicture;exports.usePointerLock=j.usePointerLock;exports.usePostMessage=J.usePostMessage;exports.useRaf=Y.useRaf;exports.useShare=$.useShare;exports.getSpeechRecognition=a.getSpeechRecognition;exports.useSpeechRecognition=a.useSpeechRecognition;exports.useSpeechSynthesis=ee.useSpeechSynthesis;exports.useVibrate=se.useVibrate;exports.useWakeLock=ue.useWakeLock;exports.useWebSocket=re.useWebSocket;exports.useLogger=te.useLogger;exports.useRenderCount=oe.useRenderCount;exports.useRenderInfo=ie.useRenderInfo;exports.useRerender=ne.useRerender;exports.useActiveElement=ce.useActiveElement;exports.useAutoScroll=ae.useAutoScroll;exports.useClickOutside=le.useClickOutside;exports.DEFAULT_THRESHOLD_TIME=l.DEFAULT_THRESHOLD_TIME;exports.useDoubleClick=l.useDoubleClick;exports.useDropZone=Se.useDropZone;exports.useFileDialog=qe.useFileDialog;exports.useFocus=de.useFocus;exports.useHover=Ee.useHover;exports.useImage=ge.useImage;exports.useLongPress=Pe.useLongPress;exports.Paint=r.Paint;exports.Pointer=r.Pointer;exports.usePaint=r.usePaint;exports.SCRIPT_STATUS_ATTRIBUTE_NAME=S.SCRIPT_STATUS_ATTRIBUTE_NAME;exports.useScript=S.useScript;exports.useSticky=Te.useSticky;exports.useTextDirection=Ce.useTextDirection;exports.useFul=me.useFul;exports.useLess=Re.useLess;exports.useOnce=pe.useOnce;exports.useDidUpdate=ye.useDidUpdate;exports.useIsFirstRender=Ie.useIsFirstRender;exports.useIsomorphicLayoutEffect=ve.useIsomorphicLayoutEffect;exports.useMount=ke.useMount;exports.deepEqual=q.deepEqual;exports.useShallowEffect=q.useShallowEffect;exports.useUnmount=Oe.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=Ae.useDeviceMotion;exports.useDeviceOrientation=he.useDeviceOrientation;exports.useDevicePixelRatio=De.useDevicePixelRatio;exports.useDocumentEvent=Le.useDocumentEvent;exports.useDocumentVisibility=Me.useDocumentVisibility;exports.useElementSize=be.useElementSize;exports.useEventListener=fe.useEventListener;exports.isHotkeyMatch=d.isHotkeyMatch;exports.useHotkeys=d.useHotkeys;exports.useIdle=_e.useIdle;exports.useInfiniteScroll=Ne.useInfiniteScroll;exports.useIntersectionObserver=Be.useIntersectionObserver;exports.useKeyboard=Fe.useKeyboard;exports.useKeyPress=Ke.useKeyPress;exports.useKeyPressEvent=Ue.useKeyPressEvent;exports.useKeysPressed=Ve.useKeysPressed;exports.useLockScroll=we.useLockScroll;exports.useMeasure=We.useMeasure;exports.useMediaQuery=He.useMediaQuery;exports.useMouse=xe.useMouse;exports.useMutationObserver=Qe.useMutationObserver;exports.useOrientation=ze.useOrientation;exports.usePageLeave=Ge.usePageLeave;exports.useParallax=Xe.useParallax;exports.usePerformanceObserver=Ze.usePerformanceObserver;exports.useResizeObserver=je.useResizeObserver;exports.useScroll=Je.useScroll;exports.useScrollIntoView=Ye.useScrollIntoView;exports.useScrollTo=$e.useScrollTo;exports.getRangesSelection=E.getRangesSelection;exports.useTextSelection=E.useTextSelection;exports.useWindowEvent=es.useWindowEvent;exports.useWindowFocus=ss.useWindowFocus;exports.scrollTo=g.scrollTo;exports.useWindowScroll=g.useWindowScroll;exports.useWindowSize=us.useWindowSize;exports.useBoolean=rs.useBoolean;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=ts.useCounter;exports.useDefault=os.useDefault;exports.useDisclosure=is.useDisclosure;exports.useField=ns.useField;exports.useHash=cs.useHash;exports.useList=as.useList;exports.useLocalStorage=ls.useLocalStorage;exports.useMap=Ss.useMap;exports.useOffsetPagination=qs.useOffsetPagination;exports.useQueue=ds.useQueue;exports.useRafState=Es.useRafState;exports.useRefState=gs.useRefState;exports.useSessionStorage=Ps.useSessionStorage;exports.useSet=Ts.useSet;exports.stateHistoryReducer=T.stateHistoryReducer;exports.useStateHistory=T.useStateHistory;exports.useStep=Cs.useStep;exports.STORAGE_EVENT=t.STORAGE_EVENT;exports.dispatchStorageEvent=t.dispatchStorageEvent;exports.useStorage=t.useStorage;exports.useToggle=ms.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=Rs.useUrlSearchParams;exports.useWizard=ps.useWizard;exports.useInterval=ys.useInterval;exports.useStopwatch=Is.useStopwatch;exports.useTime=vs.useTime;exports.useTimeout=ks.useTimeout;exports.getTimeFromSeconds=C.getTimeFromSeconds;exports.useTimer=C.useTimer;exports.useBrowserLanguage=Os.useBrowserLanguage;exports.getOperatingSystem=m.getOperatingSystem;exports.useOperatingSystem=m.useOperatingSystem;exports.usePreferredColorScheme=As.usePreferredColorScheme;exports.usePreferredContrast=hs.usePreferredContrast;exports.usePreferredDark=Ds.usePreferredDark;exports.usePreferredLanguages=Ls.usePreferredLanguages;exports.usePreferredReducedMotion=Ms.usePreferredReducedMotion;exports.useConst=bs.useConst;exports.useDebounceCallback=fs.useDebounceCallback;exports.useDebounceValue=_s.useDebounceValue;exports.useEvent=Ns.useEvent;exports.useLastChanged=Bs.useLastChanged;exports.useLatest=Fs.useLatest;exports.usePrevious=Ks.usePrevious;exports.useThrottleCallback=Us.useThrottleCallback;exports.useThrottleValue=Vs.useThrottleValue;exports.copy=R.copy;exports.legacyCopyToClipboard=R.legacyCopyToClipboard;exports.debounce=ws.debounce;exports.getDate=Ws.getDate;exports.getElement=o.getElement;exports.target=o.target;exports.targetSymbol=o.targetSymbol;exports.getRetry=Hs.getRetry;exports.isTarget=xs.isTarget;exports.throttle=Qs.throttle;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("./helpers/createContext/createContext.cjs"),y=require("./helpers/createEventEmitter/createEventEmitter.cjs"),I=require("./helpers/createReactiveContext/createReactiveContext.cjs"),k=require("./helpers/createStore/createStore.cjs"),v=require("./hooks/useAsync/useAsync.cjs"),O=require("./hooks/useLockCallback/useLockCallback.cjs"),h=require("./hooks/useMutation/useMutation.cjs"),A=require("./hooks/useOptimistic/useOptimistic.cjs"),D=require("./hooks/useQuery/useQuery.cjs"),L=require("./hooks/useAudio/useAudio.cjs"),b=require("./hooks/useBattery/useBattery.cjs"),M=require("./hooks/useBluetooth/useBluetooth.cjs"),f=require("./hooks/useBroadcastChannel/useBroadcastChannel.cjs"),_=require("./hooks/useClipboard/useClipboard.cjs"),N=require("./hooks/useCopy/useCopy.cjs"),B=require("./hooks/useCssVar/useCssVar.cjs"),K=require("./hooks/useDisplayMedia/useDisplayMedia.cjs"),F=require("./hooks/useDocumentTitle/useDocumentTitle.cjs"),V=require("./hooks/useEventSource/useEventSource.cjs"),U=require("./hooks/useEyeDropper/useEyeDropper.cjs"),w=require("./hooks/useFavicon/useFavicon.cjs"),W=require("./hooks/useFps/useFps.cjs"),H=require("./hooks/useFullscreen/useFullscreen.cjs"),i=require("./hooks/useGamepad/useGamepad.cjs"),x=require("./hooks/useGeolocation/useGeolocation.cjs"),n=require("./hooks/useMediaControls/useMediaControls.cjs"),Q=require("./hooks/useMemory/useMemory.cjs"),c=require("./hooks/useNetwork/useNetwork.cjs"),z=require("./hooks/useOnline/useOnline.cjs"),G=require("./hooks/useOtpCredential/useOtpCredential.cjs"),X=require("./hooks/usePermission/usePermission.cjs"),Z=require("./hooks/usePictureInPicture/usePictureInPicture.cjs"),j=require("./hooks/usePointerLock/usePointerLock.cjs"),J=require("./hooks/usePostMessage/usePostMessage.cjs"),Y=require("./hooks/useRaf/useRaf.cjs"),$=require("./hooks/useShare/useShare.cjs"),a=require("./hooks/useSpeechRecognition/useSpeechRecognition.cjs"),ee=require("./hooks/useSpeechSynthesis/useSpeechSynthesis.cjs"),se=require("./hooks/useVibrate/useVibrate.cjs"),ue=require("./hooks/useVirtualKeyboard/useVirtualKeyboard.cjs"),re=require("./hooks/useWakeLock/useWakeLock.cjs"),te=require("./hooks/useWebSocket/useWebSocket.cjs"),oe=require("./hooks/useLogger/useLogger.cjs"),ie=require("./hooks/useRenderCount/useRenderCount.cjs"),ne=require("./hooks/useRenderInfo/useRenderInfo.cjs"),ce=require("./hooks/useRerender/useRerender.cjs"),ae=require("./hooks/useActiveElement/useActiveElement.cjs"),le=require("./hooks/useAutoScroll/useAutoScroll.cjs"),Se=require("./hooks/useClickOutside/useClickOutside.cjs"),l=require("./hooks/useDoubleClick/useDoubleClick.cjs"),qe=require("./hooks/useDropZone/useDropZone.cjs"),de=require("./hooks/useFileDialog/useFileDialog.cjs"),ge=require("./hooks/useFocus/useFocus.cjs"),Ee=require("./hooks/useHover/useHover.cjs"),Pe=require("./hooks/useImage/useImage.cjs"),Te=require("./hooks/useLongPress/useLongPress.cjs"),r=require("./hooks/usePaint/usePaint.cjs"),Ce=require("./hooks/useRightClick/useRightClick.cjs"),S=require("./hooks/useScript/useScript.cjs"),me=require("./hooks/useSticky/useSticky.cjs"),Re=require("./hooks/useTextDirection/useTextDirection.cjs"),pe=require("./hooks/useFul/useFul.cjs"),ye=require("./hooks/useLess/useLess.cjs"),Ie=require("./hooks/useOnce/useOnce.cjs"),ke=require("./hooks/useDidUpdate/useDidUpdate.cjs"),ve=require("./hooks/useIsFirstRender/useIsFirstRender.cjs"),Oe=require("./hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.cjs"),he=require("./hooks/useMount/useMount.cjs"),q=require("./hooks/useShallowEffect/useShallowEffect.cjs"),Ae=require("./hooks/useUnmount/useUnmount.cjs"),e=require("./hooks/useBreakpoints/useBreakpoints.cjs"),De=require("./hooks/useDeviceMotion/useDeviceMotion.cjs"),Le=require("./hooks/useDeviceOrientation/useDeviceOrientation.cjs"),be=require("./hooks/useDevicePixelRatio/useDevicePixelRatio.cjs"),Me=require("./hooks/useDocumentEvent/useDocumentEvent.cjs"),fe=require("./hooks/useDocumentVisibility/useDocumentVisibility.cjs"),_e=require("./hooks/useElementSize/useElementSize.cjs"),Ne=require("./hooks/useEventListener/useEventListener.cjs"),d=require("./hooks/useHotkeys/useHotkeys.cjs"),Be=require("./hooks/useIdle/useIdle.cjs"),Ke=require("./hooks/useInfiniteScroll/useInfiniteScroll.cjs"),Fe=require("./hooks/useIntersectionObserver/useIntersectionObserver.cjs"),Ve=require("./hooks/useKeyboard/useKeyboard.cjs"),Ue=require("./hooks/useKeyPress/useKeyPress.cjs"),we=require("./hooks/useKeyPressEvent/useKeyPressEvent.cjs"),We=require("./hooks/useKeysPressed/useKeysPressed.cjs"),He=require("./hooks/useLockScroll/useLockScroll.cjs"),xe=require("./hooks/useMeasure/useMeasure.cjs"),Qe=require("./hooks/useMediaQuery/useMediaQuery.cjs"),ze=require("./hooks/useMouse/useMouse.cjs"),Ge=require("./hooks/useMutationObserver/useMutationObserver.cjs"),Xe=require("./hooks/useOrientation/useOrientation.cjs"),Ze=require("./hooks/usePageLeave/usePageLeave.cjs"),je=require("./hooks/useParallax/useParallax.cjs"),Je=require("./hooks/usePerformanceObserver/usePerformanceObserver.cjs"),Ye=require("./hooks/useResizeObserver/useResizeObserver.cjs"),$e=require("./hooks/useScroll/useScroll.cjs"),es=require("./hooks/useScrollIntoView/useScrollIntoView.cjs"),ss=require("./hooks/useScrollTo/useScrollTo.cjs"),g=require("./hooks/useTextSelection/useTextSelection.cjs"),us=require("./hooks/useWindowEvent/useWindowEvent.cjs"),rs=require("./hooks/useWindowFocus/useWindowFocus.cjs"),E=require("./hooks/useWindowScroll/useWindowScroll.cjs"),ts=require("./hooks/useWindowSize/useWindowSize.cjs"),os=require("./hooks/useBoolean/useBoolean.cjs"),s=require("./hooks/useCookie/useCookie.cjs"),P=require("./hooks/useCookies/useCookies.cjs"),is=require("./hooks/useCounter/useCounter.cjs"),ns=require("./hooks/useDefault/useDefault.cjs"),cs=require("./hooks/useDisclosure/useDisclosure.cjs"),as=require("./hooks/useField/useField.cjs"),ls=require("./hooks/useHash/useHash.cjs"),Ss=require("./hooks/useList/useList.cjs"),qs=require("./hooks/useLocalStorage/useLocalStorage.cjs"),ds=require("./hooks/useMap/useMap.cjs"),gs=require("./hooks/useOffsetPagination/useOffsetPagination.cjs"),Es=require("./hooks/useQueue/useQueue.cjs"),Ps=require("./hooks/useRafState/useRafState.cjs"),Ts=require("./hooks/useRefState/useRefState.cjs"),Cs=require("./hooks/useSessionStorage/useSessionStorage.cjs"),ms=require("./hooks/useSet/useSet.cjs"),T=require("./hooks/useStateHistory/useStateHistory.cjs"),Rs=require("./hooks/useStep/useStep.cjs"),t=require("./hooks/useStorage/useStorage.cjs"),ps=require("./hooks/useToggle/useToggle.cjs"),u=require("./hooks/useUrlSearchParam/useUrlSearchParam.cjs"),ys=require("./hooks/useUrlSearchParams/useUrlSearchParams.cjs"),Is=require("./hooks/useWizard/useWizard.cjs"),ks=require("./hooks/useInterval/useInterval.cjs"),vs=require("./hooks/useStopwatch/useStopwatch.cjs"),Os=require("./hooks/useTime/useTime.cjs"),hs=require("./hooks/useTimeout/useTimeout.cjs"),C=require("./hooks/useTimer/useTimer.cjs"),As=require("./hooks/useBrowserLanguage/useBrowserLanguage.cjs"),m=require("./hooks/useOperatingSystem/useOperatingSystem.cjs"),Ds=require("./hooks/usePreferredColorScheme/usePreferredColorScheme.cjs"),Ls=require("./hooks/usePreferredContrast/usePreferredContrast.cjs"),bs=require("./hooks/usePreferredDark/usePreferredDark.cjs"),Ms=require("./hooks/usePreferredLanguages/usePreferredLanguages.cjs"),fs=require("./hooks/usePreferredReducedMotion/usePreferredReducedMotion.cjs"),_s=require("./hooks/useConst/useConst.cjs"),Ns=require("./hooks/useDebounceCallback/useDebounceCallback.cjs"),Bs=require("./hooks/useDebounceValue/useDebounceValue.cjs"),Ks=require("./hooks/useEvent/useEvent.cjs"),Fs=require("./hooks/useLastChanged/useLastChanged.cjs"),Vs=require("./hooks/useLatest/useLatest.cjs"),Us=require("./hooks/usePrevious/usePrevious.cjs"),ws=require("./hooks/useThrottleCallback/useThrottleCallback.cjs"),Ws=require("./hooks/useThrottleValue/useThrottleValue.cjs"),R=require("./utils/helpers/copy.cjs"),Hs=require("./utils/helpers/debounce.cjs"),xs=require("./utils/helpers/getDate.cjs"),o=require("./utils/helpers/getElement.cjs"),Qs=require("./utils/helpers/getRetry.cjs"),zs=require("./utils/helpers/isTarget.cjs"),Gs=require("./utils/helpers/throttle.cjs");exports.createContext=p.createContext;exports.createEventEmitter=y.createEventEmitter;exports.createReactiveContext=I.createReactiveContext;exports.createStore=k.createStore;exports.useAsync=v.useAsync;exports.useLockCallback=O.useLockCallback;exports.useMutation=h.useMutation;exports.useOptimistic=A.useOptimistic;exports.useQuery=D.useQuery;exports.useAudio=L.useAudio;exports.useBattery=b.useBattery;exports.useBluetooth=M.useBluetooth;exports.useBroadcastChannel=f.useBroadcastChannel;exports.useClipboard=_.useClipboard;exports.useCopy=N.useCopy;exports.useCssVar=B.useCssVar;exports.useDisplayMedia=K.useDisplayMedia;exports.useDocumentTitle=F.useDocumentTitle;exports.useEventSource=V.useEventSource;exports.useEyeDropper=U.useEyeDropper;exports.useFavicon=w.useFavicon;exports.useFps=W.useFps;exports.useFullscreen=H.useFullscreen;exports.mapGamepadToXbox360Controller=i.mapGamepadToXbox360Controller;exports.useGamepad=i.useGamepad;exports.useGeolocation=x.useGeolocation;exports.timeRangeToArray=n.timeRangeToArray;exports.useMediaControls=n.useMediaControls;exports.useMemory=Q.useMemory;exports.getConnection=c.getConnection;exports.useNetwork=c.useNetwork;exports.useOnline=z.useOnline;exports.useOtpCredential=G.useOtpCredential;exports.usePermission=X.usePermission;exports.usePictureInPicture=Z.usePictureInPicture;exports.usePointerLock=j.usePointerLock;exports.usePostMessage=J.usePostMessage;exports.useRaf=Y.useRaf;exports.useShare=$.useShare;exports.getSpeechRecognition=a.getSpeechRecognition;exports.useSpeechRecognition=a.useSpeechRecognition;exports.useSpeechSynthesis=ee.useSpeechSynthesis;exports.useVibrate=se.useVibrate;exports.useVirtualKeyboard=ue.useVirtualKeyboard;exports.useWakeLock=re.useWakeLock;exports.useWebSocket=te.useWebSocket;exports.useLogger=oe.useLogger;exports.useRenderCount=ie.useRenderCount;exports.useRenderInfo=ne.useRenderInfo;exports.useRerender=ce.useRerender;exports.useActiveElement=ae.useActiveElement;exports.useAutoScroll=le.useAutoScroll;exports.useClickOutside=Se.useClickOutside;exports.DEFAULT_THRESHOLD_TIME=l.DEFAULT_THRESHOLD_TIME;exports.useDoubleClick=l.useDoubleClick;exports.useDropZone=qe.useDropZone;exports.useFileDialog=de.useFileDialog;exports.useFocus=ge.useFocus;exports.useHover=Ee.useHover;exports.useImage=Pe.useImage;exports.useLongPress=Te.useLongPress;exports.Paint=r.Paint;exports.Pointer=r.Pointer;exports.usePaint=r.usePaint;exports.useRightClick=Ce.useRightClick;exports.SCRIPT_STATUS_ATTRIBUTE_NAME=S.SCRIPT_STATUS_ATTRIBUTE_NAME;exports.useScript=S.useScript;exports.useSticky=me.useSticky;exports.useTextDirection=Re.useTextDirection;exports.useFul=pe.useFul;exports.useLess=ye.useLess;exports.useOnce=Ie.useOnce;exports.useDidUpdate=ke.useDidUpdate;exports.useIsFirstRender=ve.useIsFirstRender;exports.useIsomorphicLayoutEffect=Oe.useIsomorphicLayoutEffect;exports.useMount=he.useMount;exports.deepEqual=q.deepEqual;exports.useShallowEffect=q.useShallowEffect;exports.useUnmount=Ae.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=De.useDeviceMotion;exports.useDeviceOrientation=Le.useDeviceOrientation;exports.useDevicePixelRatio=be.useDevicePixelRatio;exports.useDocumentEvent=Me.useDocumentEvent;exports.useDocumentVisibility=fe.useDocumentVisibility;exports.useElementSize=_e.useElementSize;exports.useEventListener=Ne.useEventListener;exports.isHotkeyMatch=d.isHotkeyMatch;exports.useHotkeys=d.useHotkeys;exports.useIdle=Be.useIdle;exports.useInfiniteScroll=Ke.useInfiniteScroll;exports.useIntersectionObserver=Fe.useIntersectionObserver;exports.useKeyboard=Ve.useKeyboard;exports.useKeyPress=Ue.useKeyPress;exports.useKeyPressEvent=we.useKeyPressEvent;exports.useKeysPressed=We.useKeysPressed;exports.useLockScroll=He.useLockScroll;exports.useMeasure=xe.useMeasure;exports.useMediaQuery=Qe.useMediaQuery;exports.useMouse=ze.useMouse;exports.useMutationObserver=Ge.useMutationObserver;exports.useOrientation=Xe.useOrientation;exports.usePageLeave=Ze.usePageLeave;exports.useParallax=je.useParallax;exports.usePerformanceObserver=Je.usePerformanceObserver;exports.useResizeObserver=Ye.useResizeObserver;exports.useScroll=$e.useScroll;exports.useScrollIntoView=es.useScrollIntoView;exports.useScrollTo=ss.useScrollTo;exports.getRangesSelection=g.getRangesSelection;exports.useTextSelection=g.useTextSelection;exports.useWindowEvent=us.useWindowEvent;exports.useWindowFocus=rs.useWindowFocus;exports.scrollTo=E.scrollTo;exports.useWindowScroll=E.useWindowScroll;exports.useWindowSize=ts.useWindowSize;exports.useBoolean=os.useBoolean;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=is.useCounter;exports.useDefault=ns.useDefault;exports.useDisclosure=cs.useDisclosure;exports.useField=as.useField;exports.useHash=ls.useHash;exports.useList=Ss.useList;exports.useLocalStorage=qs.useLocalStorage;exports.useMap=ds.useMap;exports.useOffsetPagination=gs.useOffsetPagination;exports.useQueue=Es.useQueue;exports.useRafState=Ps.useRafState;exports.useRefState=Ts.useRefState;exports.useSessionStorage=Cs.useSessionStorage;exports.useSet=ms.useSet;exports.stateHistoryReducer=T.stateHistoryReducer;exports.useStateHistory=T.useStateHistory;exports.useStep=Rs.useStep;exports.STORAGE_EVENT=t.STORAGE_EVENT;exports.dispatchStorageEvent=t.dispatchStorageEvent;exports.useStorage=t.useStorage;exports.useToggle=ps.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=ys.useUrlSearchParams;exports.useWizard=Is.useWizard;exports.useInterval=ks.useInterval;exports.useStopwatch=vs.useStopwatch;exports.useTime=Os.useTime;exports.useTimeout=hs.useTimeout;exports.getTimeFromSeconds=C.getTimeFromSeconds;exports.useTimer=C.useTimer;exports.useBrowserLanguage=As.useBrowserLanguage;exports.getOperatingSystem=m.getOperatingSystem;exports.useOperatingSystem=m.useOperatingSystem;exports.usePreferredColorScheme=Ds.usePreferredColorScheme;exports.usePreferredContrast=Ls.usePreferredContrast;exports.usePreferredDark=bs.usePreferredDark;exports.usePreferredLanguages=Ms.usePreferredLanguages;exports.usePreferredReducedMotion=fs.usePreferredReducedMotion;exports.useConst=_s.useConst;exports.useDebounceCallback=Ns.useDebounceCallback;exports.useDebounceValue=Bs.useDebounceValue;exports.useEvent=Ks.useEvent;exports.useLastChanged=Fs.useLastChanged;exports.useLatest=Vs.useLatest;exports.usePrevious=Us.usePrevious;exports.useThrottleCallback=ws.useThrottleCallback;exports.useThrottleValue=Ws.useThrottleValue;exports.copy=R.copy;exports.legacyCopyToClipboard=R.legacyCopyToClipboard;exports.debounce=Hs.debounce;exports.getDate=xs.getDate;exports.getElement=o.getElement;exports.target=o.target;exports.targetSymbol=o.targetSymbol;exports.getRetry=Qs.getRetry;exports.isTarget=zs.isTarget;exports.throttle=Gs.throttle;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,25 +1,29 @@
1
- import { useSyncExternalStore as a } from "react";
2
- const d = (s) => {
1
+ import { useSyncExternalStore as p } from "react";
2
+ const g = (o) => {
3
3
  let e;
4
- const o = /* @__PURE__ */ new Set(), r = (t) => {
5
- const S = typeof t == "function" ? t(e) : t;
6
- if (!Object.is(S, e)) {
7
- const f = e;
8
- e = S, o.forEach((i) => i(e, f));
4
+ const r = /* @__PURE__ */ new Set(), c = (t) => {
5
+ const n = typeof t == "function" ? t(e) : t;
6
+ if (!Object.is(n, e)) {
7
+ const S = e;
8
+ e = typeof n != "object" || n === null ? n : Object.assign({}, e, n), r.forEach((a) => a(e, S));
9
9
  }
10
- }, n = () => e, c = () => e, u = (t) => (o.add(t), () => o.delete(t));
11
- return typeof s == "function" ? e = s(r, n) : e = s, {
12
- set: r,
13
- get: n,
14
- use: (t) => a(
10
+ }, u = (t) => (r.add(t), () => r.delete(t)), s = () => e, f = () => e;
11
+ typeof o == "function" ? e = o(c, s) : e = o;
12
+ function i(t) {
13
+ return p(
15
14
  u,
16
- () => t ? t(n()) : n(),
17
- () => t ? t(c()) : c()
18
- ),
15
+ () => t ? t(s()) : s(),
16
+ () => t ? t(f()) : f()
17
+ );
18
+ }
19
+ return {
20
+ set: c,
21
+ get: s,
22
+ use: i,
19
23
  subscribe: u
20
24
  };
21
25
  };
22
26
  export {
23
- d as createStore
27
+ g as createStore
24
28
  };
25
29
  //# sourceMappingURL=createStore.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"createStore.mjs","sources":["../../../../src/helpers/createStore/createStore.ts"],"sourcesContent":["import { useSyncExternalStore } from 'react';\n\ntype SetStateAction<Value> = ((prev: Value) => Value) | Value;\ntype StateCreator<Value> = (\n set: (action: SetStateAction<Value>) => void,\n get: () => Value\n) => Value;\n\nexport interface StoreApi<Value> {\n getInitialState: () => Value;\n getState: () => Value;\n setState: (action: SetStateAction<Value>) => void;\n subscribe: (listener: (state: Value, prevState: Value) => void) => () => void;\n}\n\n/**\n * @name createStore\n * @description - Creates a store with state management capabilities\n * @category Helpers\n *\n * @template Value - The type of the store state\n * @param {StateCreator<Value>} createState - Function that initializes the store state\n * @returns {StoreApi<Value>} - Object containing store methods and hook for accessing state\n *\n * @example\n * const { set, get, use, subscribe } = createStore((set) => ({\n * count: 0,\n * increment: () => set(state => ({ count: state.count + 1 }))\n * }));\n */\nexport const createStore = <Value>(createState: StateCreator<Value> | Value) => {\n type Listener = (state: Value, prevState: Value) => void;\n let state: Value;\n const listeners: Set<Listener> = new Set();\n\n const setState = (action: SetStateAction<Value>) => {\n const nextState =\n typeof action === 'function' ? (action as (state: Value) => Value)(state) : action;\n\n if (!Object.is(nextState, state)) {\n const prevState = state;\n state = nextState;\n listeners.forEach((listener) => listener(state, prevState));\n }\n };\n\n const getState = () => state;\n const getInitialState = () => state;\n\n const subscribe = (listener: Listener) => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n if (typeof createState === 'function') {\n state = (createState as StateCreator<Value>)(setState, getState);\n } else {\n state = createState;\n }\n\n const useStore = <Selected>(selector?: (state: Value) => Selected) =>\n useSyncExternalStore(\n subscribe,\n () => (selector ? selector(getState()) : getState()),\n () => (selector ? selector(getInitialState()) : getInitialState())\n );\n\n return {\n set: setState,\n get: getState,\n use: useStore,\n subscribe\n };\n};\n"],"names":["createStore","createState","state","listeners","setState","action","nextState","prevState","listener","getState","getInitialState","subscribe","selector","useSyncExternalStore"],"mappings":";AA8BO,MAAMA,IAAc,CAAQC,MAA6C;AAE9E,MAAIC;AACJ,QAAMC,wBAA+B,IAAA,GAE/BC,IAAW,CAACC,MAAkC;AAClD,UAAMC,IACJ,OAAOD,KAAW,aAAcA,EAAmCH,CAAK,IAAIG;AAE9E,QAAI,CAAC,OAAO,GAAGC,GAAWJ,CAAK,GAAG;AAChC,YAAMK,IAAYL;AAClB,MAAAA,IAAQI,GACRH,EAAU,QAAQ,CAACK,MAAaA,EAASN,GAAOK,CAAS,CAAC;AAAA,IAAA;AAAA,EAC5D,GAGIE,IAAW,MAAMP,GACjBQ,IAAkB,MAAMR,GAExBS,IAAY,CAACH,OACjBL,EAAU,IAAIK,CAAQ,GACf,MAAML,EAAU,OAAOK,CAAQ;AAExC,SAAI,OAAOP,KAAgB,aACzBC,IAASD,EAAoCG,GAAUK,CAAQ,IAE/DP,IAAQD,GAUH;AAAA,IACL,KAAKG;AAAA,IACL,KAAKK;AAAA,IACL,KAVe,CAAWG,MAC1BC;AAAA,MACEF;AAAA,MACA,MAAOC,IAAWA,EAASH,EAAA,CAAU,IAAIA,EAAA;AAAA,MACzC,MAAOG,IAAWA,EAASF,EAAA,CAAiB,IAAIA,EAAA;AAAA,IAAgB;AAAA,IAOlE,WAAAC;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"createStore.mjs","sources":["../../../../src/helpers/createStore/createStore.ts"],"sourcesContent":["import { useSyncExternalStore } from 'react';\n\ntype StoreSetAction<Value> = ((prev: Value) => Partial<Value>) | Partial<Value>;\n\ntype StoreListener<Value> = (state: Value, prevState: Value) => void;\n\ntype StoreCreator<Value> = (\n set: (action: StoreSetAction<Value>) => void,\n get: () => Value\n) => Value;\n\nexport interface StoreApi<Value> {\n getInitialState: () => Value;\n getState: () => Value;\n setState: (action: StoreSetAction<Value>) => void;\n subscribe: (listener: StoreListener<Value>) => () => void;\n}\n\n/**\n * @name createStore\n * @description - Creates a store with state management capabilities\n * @category Helpers\n *\n * @template Value - The type of the store state\n * @param {StateCreator<Value>} createState - Function that initializes the store state\n * @returns {StoreApi<Value>} - Object containing store methods and hook for accessing state\n *\n * @example\n * const { set, get, use, subscribe } = createStore((set) => ({\n * count: 0,\n * increment: () => set(state => ({ count: state.count + 1 }))\n * }));\n */\nexport const createStore = <Value>(createState: StoreCreator<Value> | Value) => {\n let state: Value;\n const listeners: Set<StoreListener<Value>> = new Set();\n\n const setState: StoreApi<Value>['setState'] = (action: StoreSetAction<Value>) => {\n const nextState = typeof action === 'function' ? action(state) : action;\n\n if (!Object.is(nextState, state)) {\n const prevState = state;\n state =\n typeof nextState !== 'object' || nextState === null\n ? nextState\n : Object.assign({}, state, nextState);\n\n listeners.forEach((listener) => listener(state, prevState));\n }\n };\n\n const subscribe = (listener: StoreListener<Value>) => {\n listeners.add(listener);\n\n return () => listeners.delete(listener);\n };\n\n const getState = () => state;\n const getInitialState = () => state;\n\n if (typeof createState === 'function') {\n state = (createState as StoreCreator<Value>)(setState, getState);\n } else {\n state = createState;\n }\n\n function useStore(): Value;\n function useStore<Selected>(selector: (state: Value) => Selected): Selected;\n function useStore<Selected>(selector?: (state: Value) => Selected): Selected | Value {\n return useSyncExternalStore(\n subscribe,\n () => (selector ? selector(getState()) : getState()),\n () => (selector ? selector(getInitialState()) : getInitialState())\n );\n }\n\n return {\n set: setState,\n get: getState,\n use: useStore,\n subscribe\n };\n};\n"],"names":["createStore","createState","state","listeners","setState","action","nextState","prevState","listener","subscribe","getState","getInitialState","useStore","selector","useSyncExternalStore"],"mappings":";AAiCO,MAAMA,IAAc,CAAQC,MAA6C;AAC9E,MAAIC;AACJ,QAAMC,wBAA2C,IAAA,GAE3CC,IAAwC,CAACC,MAAkC;AAC/E,UAAMC,IAAY,OAAOD,KAAW,aAAaA,EAAOH,CAAK,IAAIG;AAEjE,QAAI,CAAC,OAAO,GAAGC,GAAWJ,CAAK,GAAG;AAChC,YAAMK,IAAYL;AAClB,MAAAA,IACE,OAAOI,KAAc,YAAYA,MAAc,OAC3CA,IACA,OAAO,OAAO,IAAIJ,GAAOI,CAAS,GAExCH,EAAU,QAAQ,CAACK,MAAaA,EAASN,GAAOK,CAAS,CAAC;AAAA,IAAA;AAAA,EAC5D,GAGIE,IAAY,CAACD,OACjBL,EAAU,IAAIK,CAAQ,GAEf,MAAML,EAAU,OAAOK,CAAQ,IAGlCE,IAAW,MAAMR,GACjBS,IAAkB,MAAMT;AAE9B,EAAI,OAAOD,KAAgB,aACzBC,IAASD,EAAoCG,GAAUM,CAAQ,IAE/DR,IAAQD;AAKV,WAASW,EAAmBC,GAAyD;AACnF,WAAOC;AAAA,MACLL;AAAA,MACA,MAAOI,IAAWA,EAASH,EAAA,CAAU,IAAIA,EAAA;AAAA,MACzC,MAAOG,IAAWA,EAASF,EAAA,CAAiB,IAAIA,EAAA;AAAA,IAAgB;AAAA,EAClE;AAGF,SAAO;AAAA,IACL,KAAKP;AAAA,IACL,KAAKM;AAAA,IACL,KAAKE;AAAA,IACL,WAAAH;AAAA,EAAA;AAEJ;"}
@@ -1,5 +1,5 @@
1
1
  import { useState as t, useEffect as l } from "react";
2
- const v = (a, n) => {
2
+ const v = (a, n = []) => {
3
3
  const [c, s] = t(!0), [i, e] = t(!1), [f, o] = t(void 0), [u, d] = t(void 0);
4
4
  return l(() => {
5
5
  s(!0), a().then((r) => {
@@ -1 +1 @@
1
- {"version":3,"file":"useAsync.mjs","sources":["../../../../src/hooks/useAsync/useAsync.ts"],"sourcesContent":["import type { DependencyList } from 'react';\n\nimport { useEffect, useState } from 'react';\n\n/* The use query return type */\nexport interface UseAsyncReturn<Data> {\n /* The state of the query */\n data?: Data;\n /* The error of the query */\n error?: Error;\n /* The error state of the query */\n isError: boolean;\n /* The loading state of the query */\n isLoading: boolean;\n}\n\n/**\n * @name useAsync\n * @description - Hook that provides the state of an async callback\n * @category Async\n *\n * @param {() => Promise<Data>} callback The async callback\n * @param {DependencyList} deps The dependencies of the callback\n * @returns {UseAsyncReturn<Data>} The state of the async callback\n *\n * @example\n * const { data, isLoading, isError, error } = useAsync(() => fetch('url'), [deps]);\n */\nexport const useAsync = <Data>(\n callback: () => Promise<Data>,\n deps: DependencyList\n): UseAsyncReturn<Data> => {\n const [isLoading, setIsLoading] = useState(true);\n const [isError, setIsError] = useState(false);\n\n const [error, setError] = useState<Error | undefined>(undefined);\n const [data, setData] = useState<Data | undefined>(undefined);\n\n useEffect(() => {\n setIsLoading(true);\n callback()\n .then((response) => {\n setData(response);\n setError(undefined);\n setIsError(false);\n })\n .catch((error: Error) => {\n setError(error);\n setIsError(true);\n })\n .finally(() => {\n setIsLoading(false);\n });\n }, deps);\n\n return {\n data,\n isLoading,\n isError,\n error\n };\n};\n"],"names":["useAsync","callback","deps","isLoading","setIsLoading","useState","isError","setIsError","error","setError","data","setData","useEffect","response"],"mappings":";AA4BO,MAAMA,IAAW,CACtBC,GACAC,MACyB;AACzB,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAI,GACzC,CAACC,GAASC,CAAU,IAAIF,EAAS,EAAK,GAEtC,CAACG,GAAOC,CAAQ,IAAIJ,EAA4B,MAAS,GACzD,CAACK,GAAMC,CAAO,IAAIN,EAA2B,MAAS;AAE5D,SAAAO,EAAU,MAAM;AACd,IAAAR,EAAa,EAAI,GACjBH,EAAA,EACG,KAAK,CAACY,MAAa;AAClB,MAAAF,EAAQE,CAAQ,GAChBJ,EAAS,MAAS,GAClBF,EAAW,EAAK;AAAA,IAAA,CACjB,EACA,MAAM,CAACC,MAAiB;AACvB,MAAAC,EAASD,CAAK,GACdD,EAAW,EAAI;AAAA,IAAA,CAChB,EACA,QAAQ,MAAM;AACb,MAAAH,EAAa,EAAK;AAAA,IAAA,CACnB;AAAA,EAAA,GACFF,CAAI,GAEA;AAAA,IACL,MAAAQ;AAAA,IACA,WAAAP;AAAA,IACA,SAAAG;AAAA,IACA,OAAAE;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"useAsync.mjs","sources":["../../../../src/hooks/useAsync/useAsync.ts"],"sourcesContent":["import type { DependencyList } from 'react';\n\nimport { useEffect, useState } from 'react';\n\n/* The use query return type */\nexport interface UseAsyncReturn<Data> {\n /* The state of the query */\n data?: Data;\n /* The error of the query */\n error?: Error;\n /* The error state of the query */\n isError: boolean;\n /* The loading state of the query */\n isLoading: boolean;\n}\n\n/**\n * @name useAsync\n * @description - Hook that provides the state of an async callback\n * @category Async\n *\n * @param {() => Promise<Data>} callback The async callback\n * @param {DependencyList} [deps=[]] The dependencies of the callback\n * @returns {UseAsyncReturn<Data>} The state of the async callback\n *\n * @example\n * const { data, isLoading, isError, error } = useAsync(() => fetch('url'), [deps]);\n */\nexport const useAsync = <Data>(\n callback: () => Promise<Data>,\n deps: DependencyList = []\n): UseAsyncReturn<Data> => {\n const [isLoading, setIsLoading] = useState(true);\n const [isError, setIsError] = useState(false);\n\n const [error, setError] = useState<Error | undefined>(undefined);\n const [data, setData] = useState<Data | undefined>(undefined);\n\n useEffect(() => {\n setIsLoading(true);\n callback()\n .then((response) => {\n setData(response);\n setError(undefined);\n setIsError(false);\n })\n .catch((error: Error) => {\n setError(error);\n setIsError(true);\n })\n .finally(() => {\n setIsLoading(false);\n });\n }, deps);\n\n return {\n data,\n isLoading,\n isError,\n error\n };\n};\n"],"names":["useAsync","callback","deps","isLoading","setIsLoading","useState","isError","setIsError","error","setError","data","setData","useEffect","response"],"mappings":";AA4BO,MAAMA,IAAW,CACtBC,GACAC,IAAuB,OACE;AACzB,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAI,GACzC,CAACC,GAASC,CAAU,IAAIF,EAAS,EAAK,GAEtC,CAACG,GAAOC,CAAQ,IAAIJ,EAA4B,MAAS,GACzD,CAACK,GAAMC,CAAO,IAAIN,EAA2B,MAAS;AAE5D,SAAAO,EAAU,MAAM;AACd,IAAAR,EAAa,EAAI,GACjBH,EAAA,EACG,KAAK,CAACY,MAAa;AAClB,MAAAF,EAAQE,CAAQ,GAChBJ,EAAS,MAAS,GAClBF,EAAW,EAAK;AAAA,IAAA,CACjB,EACA,MAAM,CAACC,MAAiB;AACvB,MAAAC,EAASD,CAAK,GACdD,EAAW,EAAI;AAAA,IAAA,CAChB,EACA,QAAQ,MAAM;AACb,MAAAH,EAAa,EAAK;AAAA,IAAA,CACnB;AAAA,EAAA,GACFF,CAAI,GAEA;AAAA,IACL,MAAAQ;AAAA,IACA,WAAAP;AAAA,IACA,SAAAG;AAAA,IACA,OAAAE;AAAA,EAAA;AAEJ;"}
@@ -1,11 +1,25 @@
1
- import { useQuery as g } from "../useQuery/useQuery.mjs";
2
- const t = async (e, o = {}) => new Promise((r, m) => {
3
- const s = new Image(), { srcset: i, sizes: c, class: a, loading: n, crossorigin: f, referrerPolicy: l } = o;
4
- s.src = e, i && (s.srcset = i), c && (s.sizes = c), a && (s.className = a), n && (s.loading = n), f && (s.crossOrigin = f), l && (s.referrerPolicy = l), s.onload = () => r(s), s.onerror = m;
5
- }), d = (e, o, r = {}) => g(() => t(e, o), {
6
- keys: [e, ...r.keys ?? []],
7
- ...r
8
- });
1
+ import { useQuery as y } from "../useQuery/useQuery.mjs";
2
+ const m = async (s, r = {}) => new Promise((n, o) => {
3
+ const e = new Image(), { srcset: c, sizes: a, class: l, loading: i, crossorigin: f, referrerPolicy: g } = r;
4
+ e.src = s, c && (e.srcset = c), a && (e.sizes = a), l && (e.className = l), i && (e.loading = i), f && (e.crossOrigin = f), g && (e.referrerPolicy = g), e.onload = () => n(e), e.onerror = o;
5
+ }), d = (s, r) => y(
6
+ () => m(s, {
7
+ alt: r?.alt,
8
+ class: r?.class,
9
+ crossorigin: r?.crossorigin,
10
+ loading: r?.loading,
11
+ referrerPolicy: r?.referrerPolicy,
12
+ sizes: r?.sizes,
13
+ srcset: r?.srcset
14
+ }),
15
+ {
16
+ keys: [s, ...r?.keys ?? []],
17
+ onSuccess: r?.onSuccess,
18
+ onError: r?.onError,
19
+ refetchInterval: r?.refetchInterval,
20
+ retry: r?.retry
21
+ }
22
+ );
9
23
  export {
10
24
  d as useImage
11
25
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useImage.mjs","sources":["../../../../src/hooks/useImage/useImage.ts"],"sourcesContent":["import type { UseQueryOptions, UseQueryReturn } from '../useQuery/useQuery';\n\nimport { useQuery } from '../useQuery/useQuery';\n\n/** The use image options */\nexport interface UseImageOptions {\n /** The alt of the image */\n alt?: string;\n /** The class of the image */\n class?: string;\n /** The crossorigin of the image */\n crossorigin?: string;\n /** The loading of the image */\n loading?: HTMLImageElement['loading'];\n /** The referrer policy of the image */\n referrerPolicy?: HTMLImageElement['referrerPolicy'];\n /** The sizes of the image */\n sizes?: string;\n /** The srcset of the image */\n srcset?: string;\n}\n\n/** The use image return type */\nexport type UseImageReturn = UseQueryReturn<HTMLImageElement>;\n\nconst loadImage = async (src: string, options: UseImageOptions = {}): Promise<HTMLImageElement> =>\n new Promise((resolve, reject) => {\n const img = new Image();\n const { srcset, sizes, class: className, loading, crossorigin, referrerPolicy } = options;\n\n img.src = src;\n if (srcset) img.srcset = srcset;\n if (sizes) img.sizes = sizes;\n if (className) img.className = className;\n if (loading) img.loading = loading;\n if (crossorigin) img.crossOrigin = crossorigin;\n\n if (referrerPolicy) img.referrerPolicy = referrerPolicy;\n\n img.onload = () => resolve(img);\n img.onerror = reject;\n });\n\n/**\n * @name useImage\n * @description - Hook that load an image in the browser\n * @category Elements\n *\n * @param {string} src The source of the image\n * @param {string} [options.srcset] The srcset of the image\n * @param {string} [options.sizes] The sizes of the image\n * @param {string} [options.alt] The alt of the image\n * @param {string} [options.class] The class of the image\n * @param {HTMLImageElement['loading']} [options.loading] The loading of the image\n * @param {string} [options.crossorigin] The crossorigin of the image\n * @param {HTMLImageElement['referrerPolicy']} [options.referrerPolicy] The referrerPolicy of the image\n * @param {DependencyList} [useQueryOptions.keys] The dependencies for the hook\n * @param {(data: Data) => void} [useQueryOptions.onSuccess] The callback function to be invoked on success\n * @param {(error: Error) => void} [useQueryOptions.onError] The callback function to be invoked on error\n * @param {number} [useQueryOptions.refetchInterval] The refetch interval\n * @param {boolean | number} [useQueryOptions.retry] The retry count of requests\n * @returns {UseImageReturn} An object with the state of the image\n *\n * @example\n * const { data, isLoading, isError, isSuccess, error, refetch, isRefetching } = useImage('https://example.com/image.png');\n */\nexport const useImage = (\n src: string,\n options?: UseImageOptions,\n useQueryOptions: Omit<\n UseQueryOptions<HTMLImageElement, HTMLImageElement>,\n 'initialData' | 'placeholderData' | 'select'\n > = {}\n) =>\n useQuery(() => loadImage(src, options), {\n keys: [src, ...(useQueryOptions.keys ?? [])],\n ...useQueryOptions\n });\n"],"names":["loadImage","src","options","resolve","reject","img","srcset","sizes","className","loading","crossorigin","referrerPolicy","useImage","useQueryOptions","useQuery"],"mappings":";AAyBA,MAAMA,IAAY,OAAOC,GAAaC,IAA2B,CAAA,MAC/D,IAAI,QAAQ,CAACC,GAASC,MAAW;AAC/B,QAAMC,IAAM,IAAI,MAAA,GACV,EAAE,QAAAC,GAAQ,OAAAC,GAAO,OAAOC,GAAW,SAAAC,GAAS,aAAAC,GAAa,gBAAAC,MAAmBT;AAElF,EAAAG,EAAI,MAAMJ,GACNK,QAAY,SAASA,IACrBC,QAAW,QAAQA,IACnBC,QAAe,YAAYA,IAC3BC,QAAa,UAAUA,IACvBC,QAAiB,cAAcA,IAE/BC,QAAoB,iBAAiBA,IAEzCN,EAAI,SAAS,MAAMF,EAAQE,CAAG,GAC9BA,EAAI,UAAUD;AAChB,CAAC,GAyBUQ,IAAW,CACtBX,GACAC,GACAW,IAGI,CAAA,MAEJC,EAAS,MAAMd,EAAUC,GAAKC,CAAO,GAAG;AAAA,EACtC,MAAM,CAACD,GAAK,GAAIY,EAAgB,QAAQ,CAAA,CAAG;AAAA,EAC3C,GAAGA;AACL,CAAC;"}
1
+ {"version":3,"file":"useImage.mjs","sources":["../../../../src/hooks/useImage/useImage.ts"],"sourcesContent":["import type { UseQueryOptions, UseQueryReturn } from '../useQuery/useQuery';\n\nimport { useQuery } from '../useQuery/useQuery';\n\n/** The use image options */\nexport interface UseImageOptions {\n /** The alt of the image */\n alt?: string;\n /** The class of the image */\n class?: string;\n /** The crossorigin of the image */\n crossorigin?: string;\n /** The loading of the image */\n loading?: HTMLImageElement['loading'];\n /** The referrer policy of the image */\n referrerPolicy?: HTMLImageElement['referrerPolicy'];\n /** The sizes of the image */\n sizes?: string;\n /** The srcset of the image */\n srcset?: string;\n}\n\n/** The use image return type */\nexport type UseImageReturn = UseQueryReturn<HTMLImageElement>;\n\nconst loadImage = async (src: string, options: UseImageOptions = {}): Promise<HTMLImageElement> =>\n new Promise((resolve, reject) => {\n const img = new Image();\n const { srcset, sizes, class: className, loading, crossorigin, referrerPolicy } = options;\n\n img.src = src;\n if (srcset) img.srcset = srcset;\n if (sizes) img.sizes = sizes;\n if (className) img.className = className;\n if (loading) img.loading = loading;\n if (crossorigin) img.crossOrigin = crossorigin;\n\n if (referrerPolicy) img.referrerPolicy = referrerPolicy;\n\n img.onload = () => resolve(img);\n img.onerror = reject;\n });\n\n/**\n * @name useImage\n * @description - Hook that load an image in the browser\n * @category Elements\n *\n * @param {string} src The source of the image\n * @param {string} [options.srcset] The srcset of the image\n * @param {string} [options.sizes] The sizes of the image\n * @param {string} [options.alt] The alt of the image\n * @param {string} [options.class] The class of the image\n * @param {HTMLImageElement['loading']} [options.loading] The loading of the image\n * @param {string} [options.crossorigin] The crossorigin of the image\n * @param {HTMLImageElement['referrerPolicy']} [options.referrerPolicy] The referrerPolicy of the image\n * @param {DependencyList} [options.keys] The dependencies for the hook\n * @param {(data: Data) => void} [options.onSuccess] The callback function to be invoked on success\n * @param {(error: Error) => void} [options.onError] The callback function to be invoked on error\n * @param {number} [options.refetchInterval] The refetch interval\n * @param {boolean | number} [options.retry] The retry count of requests\n * @returns {UseImageReturn} An object with the state of the image\n *\n * @example\n * const { data, isLoading, isError, isSuccess, error, refetch, isRefetching } = useImage('https://example.com/image.png');\n */\nexport const useImage = (\n src: string,\n options?: UseImageOptions &\n Omit<\n UseQueryOptions<HTMLImageElement, HTMLImageElement>,\n 'initialData' | 'placeholderData' | 'select'\n >\n) =>\n useQuery(\n () =>\n loadImage(src, {\n alt: options?.alt,\n class: options?.class,\n crossorigin: options?.crossorigin,\n loading: options?.loading,\n referrerPolicy: options?.referrerPolicy,\n sizes: options?.sizes,\n srcset: options?.srcset\n }),\n {\n keys: [src, ...(options?.keys ?? [])],\n onSuccess: options?.onSuccess,\n onError: options?.onError,\n refetchInterval: options?.refetchInterval,\n retry: options?.retry\n }\n );\n"],"names":["loadImage","src","options","resolve","reject","img","srcset","sizes","className","loading","crossorigin","referrerPolicy","useImage","useQuery"],"mappings":";AAyBA,MAAMA,IAAY,OAAOC,GAAaC,IAA2B,CAAA,MAC/D,IAAI,QAAQ,CAACC,GAASC,MAAW;AAC/B,QAAMC,IAAM,IAAI,MAAA,GACV,EAAE,QAAAC,GAAQ,OAAAC,GAAO,OAAOC,GAAW,SAAAC,GAAS,aAAAC,GAAa,gBAAAC,MAAmBT;AAElF,EAAAG,EAAI,MAAMJ,GACNK,QAAY,SAASA,IACrBC,QAAW,QAAQA,IACnBC,QAAe,YAAYA,IAC3BC,QAAa,UAAUA,IACvBC,QAAiB,cAAcA,IAE/BC,QAAoB,iBAAiBA,IAEzCN,EAAI,SAAS,MAAMF,EAAQE,CAAG,GAC9BA,EAAI,UAAUD;AAChB,CAAC,GAyBUQ,IAAW,CACtBX,GACAC,MAMAW;AAAA,EACE,MACEb,EAAUC,GAAK;AAAA,IACb,KAAKC,GAAS;AAAA,IACd,OAAOA,GAAS;AAAA,IAChB,aAAaA,GAAS;AAAA,IACtB,SAASA,GAAS;AAAA,IAClB,gBAAgBA,GAAS;AAAA,IACzB,OAAOA,GAAS;AAAA,IAChB,QAAQA,GAAS;AAAA,EAAA,CAClB;AAAA,EACH;AAAA,IACE,MAAM,CAACD,GAAK,GAAIC,GAAS,QAAQ,CAAA,CAAG;AAAA,IACpC,WAAWA,GAAS;AAAA,IACpB,SAASA,GAAS;AAAA,IAClB,iBAAiBA,GAAS;AAAA,IAC1B,OAAOA,GAAS;AAAA,EAAA;AAEpB;"}
@@ -0,0 +1,36 @@
1
+ import { useRef as d, useEffect as m } from "react";
2
+ import { useRefState as h } from "../useRefState/useRefState.mjs";
3
+ import { isTarget as v } from "../../utils/helpers/isTarget.mjs";
4
+ import { getElement as x } from "../../utils/helpers/getElement.mjs";
5
+ const S = (...r) => {
6
+ const e = v(r[0]) ? r[0] : void 0, i = e ? r[1] : r[0], f = e ? r[2] : r[1], c = h(), s = d(i);
7
+ s.current = i;
8
+ const u = d(f);
9
+ if (u.current = f, m(() => {
10
+ if (!e && !c.state) return;
11
+ const n = e ? x(e) : c.current;
12
+ if (!n) return;
13
+ const l = (t) => {
14
+ t.preventDefault(), u.current?.onStart?.(t);
15
+ const o = t;
16
+ s.current({ x: o.clientX, y: o.clientY }, t);
17
+ }, a = (t) => {
18
+ t.preventDefault(), u.current?.onStart?.(t);
19
+ const o = t;
20
+ s.current(
21
+ { x: o.touches[0].clientX, y: o.touches[0].clientY },
22
+ t
23
+ );
24
+ }, E = (t) => {
25
+ t.preventDefault(), u.current?.onEnd?.(t);
26
+ };
27
+ return n.addEventListener("contextmenu", l), n.addEventListener("touchstart", a), n.addEventListener("touchend", E), () => {
28
+ n.removeEventListener("contextmenu", l), n.removeEventListener("touchstart", a), n.removeEventListener("touchend", E);
29
+ };
30
+ }, [e, c.state]), !e)
31
+ return c;
32
+ };
33
+ export {
34
+ S as useRightClick
35
+ };
36
+ //# sourceMappingURL=useRightClick.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRightClick.mjs","sources":["../../../../src/hooks/useRightClick/useRightClick.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nimport type { HookTarget } from '@/utils/helpers';\n\nimport { getElement, isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\nexport type RightClickEvent = MouseEvent | TouchEvent;\nexport interface RightClickPositions {\n x: number;\n y: number;\n}\n\nexport interface UseRightClickOptions {\n // * The callback function to be invoked on right click end\n onEnd?: (event: RightClickEvent) => void;\n // * The callback function to be invoked on right click start\n onStart?: (event: RightClickEvent) => void;\n}\n\nexport interface UseRightClick {\n (target: HookTarget, callback: (event: Event) => void, options?: UseRightClickOptions): void;\n\n <Target extends Element>(\n callback: (positions: RightClickPositions, event: Event) => void,\n options?: UseRightClickOptions,\n target?: never\n ): StateRef<Target>;\n}\n\n/**\n * @name useRightClick\n * @description - Hook that handles right-click events and long press on mobile devices\n * @category Elements\n *\n * @overload\n * @param {HookTarget} target The target element for right-click handling\n * @param {(event: RightClickEvents) => void} callback The callback function to be invoked on right click\n * @returns {void}\n *\n * @example\n * useRightClick(ref, () => console.log('clicked'));\n *\n * @overload\n * @template Target The target element\n * @param {(event: RightClickEvents) => void} callback The callback function to be invoked on right click\n * @returns {StateRef<Target>} Ref to attach to the element\n *\n * @example\n * const ref = useRightClick(() => console.log('clicked'));\n */\nexport const useRightClick = ((...params: any[]): any => {\n const target = (isTarget(params[0]) ? params[0] : undefined) as HookTarget | undefined;\n const callback = (target ? params[1] : params[0]) as (\n positions: RightClickPositions,\n event: RightClickEvent\n ) => void;\n const options = (target ? params[2] : params[1]) as UseRightClickOptions;\n\n const internalRef = useRefState<Element>();\n const internalCallbackRef = useRef(callback);\n internalCallbackRef.current = callback;\n const internalOptionsRef = useRef(options);\n internalOptionsRef.current = options;\n\n useEffect(() => {\n if (!target && !internalRef.state) return;\n\n const element = target ? getElement(target) : internalRef.current;\n if (!element) return;\n\n const onContextMenu = (event: RightClickEvent) => {\n event.preventDefault();\n internalOptionsRef.current?.onStart?.(event);\n const mouseEvent = event as MouseEvent;\n internalCallbackRef.current({ x: mouseEvent.clientX, y: mouseEvent.clientY }, event);\n };\n\n const onTouchStart = (event: RightClickEvent) => {\n event.preventDefault();\n internalOptionsRef.current?.onStart?.(event);\n const touchEvent = event as TouchEvent;\n internalCallbackRef.current(\n { x: touchEvent.touches[0].clientX, y: touchEvent.touches[0].clientY },\n event\n );\n };\n\n const onTouchEnd = (event: RightClickEvent) => {\n event.preventDefault();\n internalOptionsRef.current?.onEnd?.(event);\n };\n\n element.addEventListener('contextmenu', onContextMenu as EventListener);\n\n element.addEventListener('touchstart', onTouchStart as EventListener);\n element.addEventListener('touchend', onTouchEnd as EventListener);\n\n return () => {\n element.removeEventListener('contextmenu', onContextMenu as EventListener);\n\n element.removeEventListener('touchstart', onTouchStart as EventListener);\n element.removeEventListener('touchend', onTouchEnd as EventListener);\n };\n }, [target, internalRef.state]);\n\n if (target) return;\n return internalRef;\n}) as UseRightClick;\n"],"names":["useRightClick","params","target","isTarget","callback","options","internalRef","useRefState","internalCallbackRef","useRef","internalOptionsRef","useEffect","element","getElement","onContextMenu","event","mouseEvent","onTouchStart","touchEvent","onTouchEnd"],"mappings":";;;;AAsDO,MAAMA,IAAiB,IAAIC,MAAuB;AACvD,QAAMC,IAAUC,EAASF,EAAO,CAAC,CAAC,IAAIA,EAAO,CAAC,IAAI,QAC5CG,IAAYF,IAASD,EAAO,CAAC,IAAIA,EAAO,CAAC,GAIzCI,IAAWH,IAASD,EAAO,CAAC,IAAIA,EAAO,CAAC,GAExCK,IAAcC,EAAA,GACdC,IAAsBC,EAAOL,CAAQ;AAC3C,EAAAI,EAAoB,UAAUJ;AAC9B,QAAMM,IAAqBD,EAAOJ,CAAO;AA4CzC,MA3CAK,EAAmB,UAAUL,GAE7BM,EAAU,MAAM;AACd,QAAI,CAACT,KAAU,CAACI,EAAY,MAAO;AAEnC,UAAMM,IAAUV,IAASW,EAAWX,CAAM,IAAII,EAAY;AAC1D,QAAI,CAACM,EAAS;AAEd,UAAME,IAAgB,CAACC,MAA2B;AAChD,MAAAA,EAAM,eAAA,GACNL,EAAmB,SAAS,UAAUK,CAAK;AAC3C,YAAMC,IAAaD;AACnB,MAAAP,EAAoB,QAAQ,EAAE,GAAGQ,EAAW,SAAS,GAAGA,EAAW,QAAA,GAAWD,CAAK;AAAA,IAAA,GAG/EE,IAAe,CAACF,MAA2B;AAC/C,MAAAA,EAAM,eAAA,GACNL,EAAmB,SAAS,UAAUK,CAAK;AAC3C,YAAMG,IAAaH;AACnB,MAAAP,EAAoB;AAAA,QAClB,EAAE,GAAGU,EAAW,QAAQ,CAAC,EAAE,SAAS,GAAGA,EAAW,QAAQ,CAAC,EAAE,QAAA;AAAA,QAC7DH;AAAA,MAAA;AAAA,IACF,GAGII,IAAa,CAACJ,MAA2B;AAC7C,MAAAA,EAAM,eAAA,GACNL,EAAmB,SAAS,QAAQK,CAAK;AAAA,IAAA;AAG3C,WAAAH,EAAQ,iBAAiB,eAAeE,CAA8B,GAEtEF,EAAQ,iBAAiB,cAAcK,CAA6B,GACpEL,EAAQ,iBAAiB,YAAYO,CAA2B,GAEzD,MAAM;AACX,MAAAP,EAAQ,oBAAoB,eAAeE,CAA8B,GAEzEF,EAAQ,oBAAoB,cAAcK,CAA6B,GACvEL,EAAQ,oBAAoB,YAAYO,CAA2B;AAAA,IAAA;AAAA,EACrE,GACC,CAACjB,GAAQI,EAAY,KAAK,CAAC,GAE1B,CAAAJ;AACJ,WAAOI;AACT;"}
@@ -0,0 +1,30 @@
1
+ import { useState as w, useEffect as g } from "react";
2
+ const y = (a = !1) => {
3
+ const r = typeof window < "u" && "visualViewport" in window || typeof navigator < "u" && "virtualKeyboard" in navigator, [i, e] = w(a), n = () => {
4
+ navigator.virtualKeyboard && (navigator.virtualKeyboard.hide(), e(!1));
5
+ }, v = () => {
6
+ navigator.virtualKeyboard && (navigator.virtualKeyboard.show(), e(!0));
7
+ }, d = (t) => {
8
+ navigator.virtualKeyboard && (navigator.virtualKeyboard.overlaysContent = t);
9
+ };
10
+ return g(() => {
11
+ if (!r) return;
12
+ const t = () => e(window.screen.height - 300 > window.visualViewport.height), o = (s) => {
13
+ const { height: u } = s.target.boundingRect;
14
+ e(u > 0);
15
+ };
16
+ return navigator.virtualKeyboard && navigator.virtualKeyboard.addEventListener("geometrychange", o), window.visualViewport && window.visualViewport.addEventListener("resize", t), () => {
17
+ navigator.virtualKeyboard && navigator.virtualKeyboard.removeEventListener("geometrychange", o), window.visualViewport && window.visualViewport.removeEventListener("resize", t);
18
+ };
19
+ }, []), {
20
+ opened: i,
21
+ show: v,
22
+ hide: n,
23
+ changeOverlaysContent: d,
24
+ supported: r
25
+ };
26
+ };
27
+ export {
28
+ y as useVirtualKeyboard
29
+ };
30
+ //# sourceMappingURL=useVirtualKeyboard.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useVirtualKeyboard.mjs","sources":["../../../../src/hooks/useVirtualKeyboard/useVirtualKeyboard.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\r\n\r\ndeclare global {\r\n interface Navigator {\r\n virtualKeyboard?: {\r\n boundingRect: DOMRect;\r\n overlaysContent: boolean;\r\n show: () => void;\r\n hide: () => void;\r\n addEventListener: (type: 'geometrychange', listener: EventListener) => void;\r\n removeEventListener: (type: 'geometrychange', listener: EventListener) => void;\r\n };\r\n }\r\n}\r\n\r\n/** The use virtual keyboard return type */\r\nexport interface UseVirtualKeyboardReturn {\r\n /** Whether the virtual keyboard is currently open */\r\n opened: boolean;\r\n /** Whether the VirtualKeyboard API is supported */\r\n supported: boolean;\r\n /** Change the overlays content */\r\n changeOverlaysContent: (overlaysContent: boolean) => void;\r\n /** Hide the virtual keyboard */\r\n hide: () => void;\r\n /** Show the virtual keyboard */\r\n show: () => void;\r\n}\r\n\r\n/**\r\n * @name useVirtualKeyboard\r\n * @description - Hook that manages virtual keyboard state\r\n * @category Browser\r\n *\r\n * @browserapi VirtualKeyboard https://developer.mozilla.org/en-US/docs/Web/API/VirtualKeyboard\r\n *\r\n * @warning - This hook has a fallback for virtual keyboard detection. If the virtual keyboard is not supported, the methods will not work.\r\n *\r\n * @param {boolean} [initialValue=false] The initial state value for keyboard visibility\r\n * @returns {UseVirtualKeyboardReturn} An object containing keyboard state and control methods\r\n *\r\n * @example\r\n * const { opened, show, hide, supported, changeOverlaysContent } = useVirtualKeyboard();\r\n */\r\nexport const useVirtualKeyboard = (initialValue = false): UseVirtualKeyboardReturn => {\r\n const supported =\r\n (typeof window !== 'undefined' && 'visualViewport' in window) ||\r\n (typeof navigator !== 'undefined' && 'virtualKeyboard' in navigator);\r\n\r\n const [opened, setOpened] = useState(initialValue);\r\n\r\n const hide = () => {\r\n if (!navigator.virtualKeyboard) return;\r\n navigator.virtualKeyboard.hide();\r\n setOpened(false);\r\n };\r\n\r\n const show = () => {\r\n if (!navigator.virtualKeyboard) return;\r\n navigator.virtualKeyboard.show();\r\n setOpened(true);\r\n };\r\n\r\n const changeOverlaysContent = (overlaysContent: boolean) => {\r\n if (!navigator.virtualKeyboard) return;\r\n navigator.virtualKeyboard.overlaysContent = overlaysContent;\r\n };\r\n\r\n useEffect(() => {\r\n if (!supported) return;\r\n\r\n const onResize = () => setOpened(window.screen.height - 300 > window.visualViewport!.height);\r\n\r\n const onGeometryChange = (event: Event) => {\r\n const { height } = (event.target as any).boundingRect as DOMRect;\r\n setOpened(height > 0);\r\n };\r\n\r\n navigator.virtualKeyboard &&\r\n navigator.virtualKeyboard.addEventListener('geometrychange', onGeometryChange);\r\n window.visualViewport && window.visualViewport.addEventListener('resize', onResize);\r\n\r\n return () => {\r\n navigator.virtualKeyboard &&\r\n navigator.virtualKeyboard.removeEventListener('geometrychange', onGeometryChange);\r\n window.visualViewport && window.visualViewport.removeEventListener('resize', onResize);\r\n };\r\n }, []);\r\n\r\n return {\r\n opened,\r\n show,\r\n hide,\r\n changeOverlaysContent,\r\n supported\r\n };\r\n};\r\n"],"names":["useVirtualKeyboard","initialValue","supported","opened","setOpened","useState","hide","show","changeOverlaysContent","overlaysContent","useEffect","onResize","onGeometryChange","event","height"],"mappings":";AA4CO,MAAMA,IAAqB,CAACC,IAAe,OAAoC;AACpF,QAAMC,IACH,OAAO,SAAW,OAAe,oBAAoB,UACrD,OAAO,YAAc,OAAe,qBAAqB,WAEtD,CAACC,GAAQC,CAAS,IAAIC,EAASJ,CAAY,GAE3CK,IAAO,MAAM;AACjB,IAAK,UAAU,oBACf,UAAU,gBAAgB,KAAA,GAC1BF,EAAU,EAAK;AAAA,EAAA,GAGXG,IAAO,MAAM;AACjB,IAAK,UAAU,oBACf,UAAU,gBAAgB,KAAA,GAC1BH,EAAU,EAAI;AAAA,EAAA,GAGVI,IAAwB,CAACC,MAA6B;AAC1D,IAAK,UAAU,oBACf,UAAU,gBAAgB,kBAAkBA;AAAA,EAAA;AAG9C,SAAAC,EAAU,MAAM;AACd,QAAI,CAACR,EAAW;AAEhB,UAAMS,IAAW,MAAMP,EAAU,OAAO,OAAO,SAAS,MAAM,OAAO,eAAgB,MAAM,GAErFQ,IAAmB,CAACC,MAAiB;AACzC,YAAM,EAAE,QAAAC,EAAA,IAAYD,EAAM,OAAe;AACzC,MAAAT,EAAUU,IAAS,CAAC;AAAA,IAAA;AAGtB,qBAAU,mBACR,UAAU,gBAAgB,iBAAiB,kBAAkBF,CAAgB,GAC/E,OAAO,kBAAkB,OAAO,eAAe,iBAAiB,UAAUD,CAAQ,GAE3E,MAAM;AACX,gBAAU,mBACR,UAAU,gBAAgB,oBAAoB,kBAAkBC,CAAgB,GAClF,OAAO,kBAAkB,OAAO,eAAe,oBAAoB,UAAUD,CAAQ;AAAA,IAAA;AAAA,EACvF,GACC,EAAE,GAEE;AAAA,IACL,QAAAR;AAAA,IACA,MAAAI;AAAA,IACA,MAAAD;AAAA,IACA,uBAAAE;AAAA,IACA,WAAAN;AAAA,EAAA;AAEJ;"}