foxact 0.2.25 → 0.2.27

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 (102) hide show
  1. package/README.md +1 -1
  2. package/compose-context-provider/index.cjs +1 -1
  3. package/compose-context-provider/index.js +1 -1
  4. package/compose-context-provider/index.mjs +1 -1
  5. package/context-state/index.cjs +1 -1
  6. package/context-state/index.js +1 -1
  7. package/context-state/index.mjs +1 -1
  8. package/create-context-state/index.cjs +1 -1
  9. package/create-context-state/index.js +1 -1
  10. package/create-context-state/index.mjs +1 -1
  11. package/create-fixed-array/index.cjs +1 -1
  12. package/create-fixed-array/index.js +1 -1
  13. package/create-fixed-array/index.mjs +1 -1
  14. package/create-storage-hook/index.cjs +1 -0
  15. package/create-storage-hook/index.d.ts +27 -0
  16. package/create-storage-hook/index.js +1 -0
  17. package/create-storage-hook/index.mjs +1 -0
  18. package/no-ssr/index.cjs +1 -1
  19. package/no-ssr/index.js +1 -1
  20. package/no-ssr/index.mjs +1 -1
  21. package/noop/index.cjs +1 -1
  22. package/noop/index.js +1 -1
  23. package/noop/index.mjs +1 -1
  24. package/package.json +64 -46
  25. package/rem/index.cjs +1 -1
  26. package/rem/index.js +1 -1
  27. package/rem/index.mjs +1 -1
  28. package/request-idle-callback/index.cjs +1 -1
  29. package/request-idle-callback/index.js +1 -1
  30. package/request-idle-callback/index.mjs +1 -1
  31. package/sizes.json +1 -1
  32. package/typescript-happy-forward-ref/index.cjs +1 -1
  33. package/typescript-happy-forward-ref/index.js +1 -1
  34. package/typescript-happy-forward-ref/index.mjs +1 -1
  35. package/use/index.cjs +1 -1
  36. package/use/index.js +1 -1
  37. package/use/index.mjs +1 -1
  38. package/use-array/index.cjs +1 -1
  39. package/use-array/index.js +1 -1
  40. package/use-array/index.mjs +1 -1
  41. package/use-clipboard/index.cjs +1 -1
  42. package/use-clipboard/index.js +1 -1
  43. package/use-clipboard/index.mjs +1 -1
  44. package/use-composition-input/index.cjs +1 -1
  45. package/use-composition-input/index.js +1 -1
  46. package/use-composition-input/index.mjs +1 -1
  47. package/use-debounced-state/index.cjs +1 -1
  48. package/use-debounced-state/index.js +1 -1
  49. package/use-debounced-state/index.mjs +1 -1
  50. package/use-debounced-value/index.cjs +1 -1
  51. package/use-debounced-value/index.js +1 -1
  52. package/use-debounced-value/index.mjs +1 -1
  53. package/use-error-boundary/index.cjs +1 -1
  54. package/use-error-boundary/index.js +1 -1
  55. package/use-error-boundary/index.mjs +1 -1
  56. package/use-intersection/index.cjs +1 -1
  57. package/use-intersection/index.js +1 -1
  58. package/use-intersection/index.mjs +1 -1
  59. package/use-is-client/index.cjs +1 -1
  60. package/use-is-client/index.js +1 -1
  61. package/use-is-client/index.mjs +1 -1
  62. package/use-isomorphic-layout-effect/index.cjs +1 -1
  63. package/use-isomorphic-layout-effect/index.js +1 -1
  64. package/use-isomorphic-layout-effect/index.mjs +1 -1
  65. package/use-local-storage/index.cjs +1 -1
  66. package/use-local-storage/index.d.ts +5 -21
  67. package/use-local-storage/index.js +1 -1
  68. package/use-local-storage/index.mjs +1 -1
  69. package/use-map/index.cjs +1 -1
  70. package/use-map/index.js +1 -1
  71. package/use-map/index.mjs +1 -1
  72. package/use-next-pathname/index.cjs +1 -1
  73. package/use-next-pathname/index.js +1 -1
  74. package/use-next-pathname/index.mjs +1 -1
  75. package/use-react-router-enable-concurrent-navigation/index.cjs +1 -1
  76. package/use-react-router-enable-concurrent-navigation/index.js +1 -1
  77. package/use-react-router-enable-concurrent-navigation/index.mjs +1 -1
  78. package/use-react-router-is-match/index.cjs +1 -1
  79. package/use-react-router-is-match/index.js +1 -1
  80. package/use-react-router-is-match/index.mjs +1 -1
  81. package/use-retimer/index.cjs +1 -1
  82. package/use-retimer/index.js +1 -1
  83. package/use-retimer/index.mjs +1 -1
  84. package/use-session-storage/index.cjs +1 -0
  85. package/use-session-storage/index.d.ts +8 -0
  86. package/use-session-storage/index.js +1 -0
  87. package/use-session-storage/index.mjs +1 -0
  88. package/use-set/index.cjs +1 -1
  89. package/use-set/index.js +1 -1
  90. package/use-set/index.mjs +1 -1
  91. package/use-singleton/index.cjs +1 -1
  92. package/use-singleton/index.js +1 -1
  93. package/use-singleton/index.mjs +1 -1
  94. package/use-stable-handler-only-when-you-know-what-you-are-doing-or-you-will-be-fired/index.cjs +1 -1
  95. package/use-stable-handler-only-when-you-know-what-you-are-doing-or-you-will-be-fired/index.js +1 -1
  96. package/use-stable-handler-only-when-you-know-what-you-are-doing-or-you-will-be-fired/index.mjs +1 -1
  97. package/use-uncontrolled/index.cjs +1 -1
  98. package/use-uncontrolled/index.js +1 -1
  99. package/use-uncontrolled/index.mjs +1 -1
  100. package/use-url-hash-state/index.cjs +1 -1
  101. package/use-url-hash-state/index.js +1 -1
  102. package/use-url-hash-state/index.mjs +1 -1
package/README.md CHANGED
@@ -26,7 +26,7 @@ Written in TypeScript. Unlocking strong typing benefits with TypeScript 4.8+.
26
26
 
27
27
  #### Super Lightweight
28
28
 
29
- The entire **foxact** library has zero dependencies and is **about 5 KiB gzipped in sum**, ensuring a lean and efficient solution. And what's more...
29
+ The entire **foxact** library has zero dependencies, ensuring a lean and efficient solution. And what's more...
30
30
 
31
31
  #### Fully Tree Shakable
32
32
 
@@ -1 +1 @@
1
- "use strict";var e=require("react");exports.ComposeContextProvider=r=>{let{contexts:t,children:o}=r;return t.reduceRight((r,t)=>e.cloneElement(t,{children:r}),o)};
1
+ "use strict";var e=require("react");exports.ComposeContextProvider=r=>{let{contexts:t,children:o}=r;return t.reduceRight((r,t)=>e.cloneElement(t,{children:r}),o)};
@@ -1 +1 @@
1
- "use strict";var e=require("react");exports.ComposeContextProvider=r=>{let{contexts:t,children:o}=r;return t.reduceRight((r,t)=>e.cloneElement(t,{children:r}),o)};
1
+ "use strict";var e=require("react");exports.ComposeContextProvider=r=>{let{contexts:t,children:o}=r;return t.reduceRight((r,t)=>e.cloneElement(t,{children:r}),o)};
@@ -1 +1 @@
1
- import{cloneElement as e}from"react";const r=r=>{let{contexts:t,children:o}=r;return t.reduceRight((r,t)=>e(t,{children:r}),o)};export{r as ComposeContextProvider};
1
+ import{cloneElement as e}from"react";const r=r=>{let{contexts:t,children:o}=r;return t.reduceRight((r,t)=>e(t,{children:r}),o)};export{r as ComposeContextProvider};
@@ -1 +1 @@
1
- "use strict";var e=require("react/jsx-runtime");require("client-only");var t=require("react"),r=require("../noop/index.cjs");exports.createContextState=function(n){const o=t.createContext(n),u=t.createContext(r.noop);return[r=>{let{children:c}=r;const[i,s]=t.useState(n);return e.jsx(o.Provider,{value:i,children:e.jsx(u.Provider,{value:s,children:c})})},()=>t.useContext(o),()=>t.useContext(u),o]};
1
+ "use strict";var e=require("react/jsx-runtime");require("client-only");var t=require("react"),r=require("../noop/index.cjs");exports.createContextState=function(n){const o=t.createContext(n),u=t.createContext(r.noop);return[r=>{let{children:c}=r;const[i,s]=t.useState(n);return e.jsx(o.Provider,{value:i,children:e.jsx(u.Provider,{value:s,children:c})})},()=>t.useContext(o),()=>t.useContext(u),o]};
@@ -1 +1 @@
1
- "use strict";var e=require("react/jsx-runtime");require("client-only");var t=require("react"),r=require("../noop/index.js");exports.createContextState=function(n){const o=t.createContext(n),u=t.createContext(r.noop);return[r=>{let{children:i}=r;const[c,s]=t.useState(n);return e.jsx(o.Provider,{value:c,children:e.jsx(u.Provider,{value:s,children:i})})},()=>t.useContext(o),()=>t.useContext(u),o]};
1
+ "use strict";var e=require("react/jsx-runtime");require("client-only");var t=require("react"),r=require("../noop/index.js");exports.createContextState=function(n){const o=t.createContext(n),u=t.createContext(r.noop);return[r=>{let{children:i}=r;const[c,s]=t.useState(n);return e.jsx(o.Provider,{value:c,children:e.jsx(u.Provider,{value:s,children:i})})},()=>t.useContext(o),()=>t.useContext(u),o]};
@@ -1 +1 @@
1
- import{jsx as r}from"react/jsx-runtime";import"client-only";import{createContext as t,useContext as e,useState as o}from"react";import{noop as n}from"../noop/index.mjs";function i(i){const c=t(i),m=t(n);return[t=>{let{children:e}=t;const[n,l]=o(i);return r(c.Provider,{value:n,children:r(m.Provider,{value:l,children:e})})},()=>e(c),()=>e(m),c]}export{i as createContextState};
1
+ import{jsx as r}from"react/jsx-runtime";import"client-only";import{createContext as t,useContext as e,useState as o}from"react";import{noop as n}from"../noop/index.mjs";function i(i){const c=t(i),m=t(n);return[t=>{let{children:e}=t;const[n,l]=o(i);return r(c.Provider,{value:n,children:r(m.Provider,{value:l,children:e})})},()=>e(c),()=>e(m),c]}export{i as createContextState};
@@ -1 +1 @@
1
- "use strict";var e=require("../context-state/index.cjs");require("react/jsx-runtime"),require("client-only"),require("react"),require("../noop/index.cjs"),exports.createContextState=e.createContextState;
1
+ "use strict";var e=require("../context-state/index.cjs");require("react/jsx-runtime"),require("client-only"),require("react"),require("../noop/index.cjs"),exports.createContextState=e.createContextState;
@@ -1 +1 @@
1
- "use strict";var e=require("../context-state/index.js");require("react/jsx-runtime"),require("client-only"),require("react"),require("../noop/index.js"),exports.createContextState=e.createContextState;
1
+ "use strict";var e=require("../context-state/index.js");require("react/jsx-runtime"),require("client-only"),require("react"),require("../noop/index.js"),exports.createContextState=e.createContextState;
@@ -1 +1 @@
1
- export{createContextState}from"../context-state/index.mjs";import"react/jsx-runtime";import"client-only";import"react";import"../noop/index.mjs";
1
+ export{createContextState}from"../context-state/index.mjs";import"react/jsx-runtime";import"client-only";import"react";import"../noop/index.mjs";
@@ -1 +1 @@
1
- "use strict";const r={};exports.createFixedArray=e=>(r[e]||(r[e]=r[e]||Array.from(Array(e).keys())),r[e]);
1
+ "use strict";const r={};exports.createFixedArray=e=>(r[e]||(r[e]=r[e]||Array.from(Array(e).keys())),r[e]);
@@ -1 +1 @@
1
- "use strict";const r={};exports.createFixedArray=e=>(r[e]||(r[e]=r[e]||Array.from(Array(e).keys())),r[e]);
1
+ "use strict";const r={};exports.createFixedArray=e=>(r[e]||(r[e]=r[e]||Array.from(Array(e).keys())),r[e]);
@@ -1 +1 @@
1
- const r={},e=e=>(r[e]||(r[e]=r[e]||Array.from(Array(e).keys())),r[e]);export{e as createFixedArray};
1
+ const r={},e=e=>(r[e]||(r[e]=r[e]||Array.from(Array(e).keys())),r[e]);export{e as createFixedArray};
@@ -0,0 +1 @@
1
+ "use strict";require("client-only");var e=require("react"),o=require("../noop/index.cjs"),n=require("../use-isomorphic-layout-effect/index.cjs"),t=require("../no-ssr/index.cjs");const r=e=>"function"==typeof e,i=e=>e,a=()=>{throw t.noSSRError("useLocalStorage cannot be used on the server without a serverValue")};exports.createStorage=function(t){const l="localStorage"===t?"foxact-local-storage":"foxact-session-storage",c="undefined"!=typeof window?e=>{window.dispatchEvent(new CustomEvent(l,{detail:e}))}:o.noop,s="undefined"!=typeof window?(e,o)=>{try{window[t].setItem(e,o)}catch(e){console.warn("[foxact] Failed to set value to ".concat(t,", it might be blocked"))}finally{c(e)}}:o.noop,u="undefined"!=typeof window?e=>{try{window[t].removeItem(e)}catch(e){console.warn("[foxact] Failed to remove value from ".concat(t,", it might be blocked"))}finally{c(e)}}:o.noop,d=e=>{if("undefined"==typeof window)return null;try{return window[t].getItem(e)}catch(e){return console.warn("[foxact] Failed to get value from ".concat(t,", it might be blocked")),null}};return{useStorage:function(t,c){var w;let f=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{serializer:JSON.stringify,deserializer:JSON.parse};const v=e.useCallback(e=>{if("undefined"==typeof window)return o.noop;const n=o=>{"key"in o&&o.key!==t||e()},r=o=>{o.detail===t&&e()};return window.addEventListener("storage",n),window.addEventListener(l,r),()=>{window.removeEventListener("storage",n),window.removeEventListener(l,r)}},[t]),y=f.raw?i:f.serializer,g=f.raw?i:f.deserializer,m=void 0!==c?()=>y(c):a,p=e.useSyncExternalStore(v,()=>d(t),m),h=e.useMemo(()=>null===p?null:g(p),[p,g]),S=e.useCallback(e=>{try{const o=r(e)?e(null!=h?h:null):e;null===o?u(t):s(t,y(o))}catch(e){console.warn(e)}},[t,y,h]);return n.useIsomorphicLayoutEffect(()=>{null===d(t)&&void 0!==c&&s(t,y(c))},[g,t,y,c]),[null!==(w=null!=h?h:c)&&void 0!==w?w:null,S]},useSetStorage:(o,n)=>e.useCallback(e=>{try{null===e?u(o):s(o,n(e))}catch(e){console.warn(e)}},[o,n])}};
@@ -0,0 +1,27 @@
1
+ import * as react from 'react';
2
+
3
+ type StorageType = 'localStorage' | 'sessionStorage';
4
+ type NotUndefined<T> = T extends undefined ? never : T;
5
+ type CustomStorageEvent = CustomEvent<string>;
6
+ declare global {
7
+ interface WindowEventMap {
8
+ 'foxact-local-storage': CustomStorageEvent;
9
+ 'foxact-session-storage': CustomStorageEvent;
10
+ }
11
+ }
12
+ type Serializer<T> = (value: T) => string;
13
+ type Deserializer<T> = (value: string) => T;
14
+ interface UseStorageRawOption {
15
+ raw: true;
16
+ }
17
+ interface UseStorageParserOption<T> {
18
+ raw?: false;
19
+ serializer: Serializer<T>;
20
+ deserializer: Deserializer<T>;
21
+ }
22
+ declare function createStorage(type: StorageType): {
23
+ useStorage: <T>(key: string, serverValue?: NotUndefined<T> | undefined, options?: UseStorageRawOption | UseStorageParserOption<T>) => readonly [NonNullable<T> | null, react.Dispatch<react.SetStateAction<T | null>>];
24
+ useSetStorage: <T_1>(key: string, serializer: Serializer<T_1>) => (v: T_1 | null) => void;
25
+ };
26
+
27
+ export { type Deserializer, type Serializer, type UseStorageParserOption, type UseStorageRawOption, createStorage };
@@ -0,0 +1 @@
1
+ "use strict";require("client-only");var e=require("react"),o=require("../noop/index.js"),n=require("../use-isomorphic-layout-effect/index.js"),t=require("../no-ssr/index.js");const r=e=>"function"==typeof e,i=e=>e,a=()=>{throw t.noSSRError("useLocalStorage cannot be used on the server without a serverValue")};exports.createStorage=function(t){const l="localStorage"===t?"foxact-local-storage":"foxact-session-storage",c="undefined"!=typeof window?e=>{window.dispatchEvent(new CustomEvent(l,{detail:e}))}:o.noop,s="undefined"!=typeof window?(e,o)=>{try{window[t].setItem(e,o)}catch(e){console.warn("[foxact] Failed to set value to ".concat(t,", it might be blocked"))}finally{c(e)}}:o.noop,u="undefined"!=typeof window?e=>{try{window[t].removeItem(e)}catch(e){console.warn("[foxact] Failed to remove value from ".concat(t,", it might be blocked"))}finally{c(e)}}:o.noop,d=e=>{if("undefined"==typeof window)return null;try{return window[t].getItem(e)}catch(e){return console.warn("[foxact] Failed to get value from ".concat(t,", it might be blocked")),null}};return{useStorage:function(t,c){var w;let f=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{serializer:JSON.stringify,deserializer:JSON.parse};const v=e.useCallback(e=>{if("undefined"==typeof window)return o.noop;const n=o=>{"key"in o&&o.key!==t||e()},r=o=>{o.detail===t&&e()};return window.addEventListener("storage",n),window.addEventListener(l,r),()=>{window.removeEventListener("storage",n),window.removeEventListener(l,r)}},[t]),y=f.raw?i:f.serializer,g=f.raw?i:f.deserializer,m=void 0!==c?()=>y(c):a,p=e.useSyncExternalStore(v,()=>d(t),m),h=e.useMemo(()=>null===p?null:g(p),[p,g]),S=e.useCallback(e=>{try{const o=r(e)?e(null!=h?h:null):e;null===o?u(t):s(t,y(o))}catch(e){console.warn(e)}},[t,y,h]);return n.useIsomorphicLayoutEffect(()=>{null===d(t)&&void 0!==c&&s(t,y(c))},[g,t,y,c]),[null!==(w=null!=h?h:c)&&void 0!==w?w:null,S]},useSetStorage:(o,n)=>e.useCallback(e=>{try{null===e?u(o):s(o,n(e))}catch(e){console.warn(e)}},[o,n])}};
@@ -0,0 +1 @@
1
+ import"client-only";import{useCallback as e,useSyncExternalStore as t,useMemo as o}from"react";import{noop as n}from"../noop/index.mjs";import{useIsomorphicLayoutEffect as r}from"../use-isomorphic-layout-effect/index.mjs";import{noSSRError as i}from"../no-ssr/index.mjs";const l=e=>"function"==typeof e,a=e=>e,c=()=>{throw i("useLocalStorage cannot be used on the server without a serverValue")};function d(i){const d="localStorage"===i?"foxact-local-storage":"foxact-session-storage",s="undefined"!=typeof window?e=>{window.dispatchEvent(new CustomEvent(d,{detail:e}))}:n,u="undefined"!=typeof window?(e,t)=>{try{window[i].setItem(e,t)}catch(e){console.warn("[foxact] Failed to set value to ".concat(i,", it might be blocked"))}finally{s(e)}}:n,w="undefined"!=typeof window?e=>{try{window[i].removeItem(e)}catch(e){console.warn("[foxact] Failed to remove value from ".concat(i,", it might be blocked"))}finally{s(e)}}:n,f=e=>{if("undefined"==typeof window)return null;try{return window[i].getItem(e)}catch(e){return console.warn("[foxact] Failed to get value from ".concat(i,", it might be blocked")),null}};return{useStorage:function(i,s){var m;let v=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{serializer:JSON.stringify,deserializer:JSON.parse};const y=e(e=>{if("undefined"==typeof window)return n;const t=t=>{"key"in t&&t.key!==i||e()},o=t=>{t.detail===i&&e()};return window.addEventListener("storage",t),window.addEventListener(d,o),()=>{window.removeEventListener("storage",t),window.removeEventListener(d,o)}},[i]),g=v.raw?a:v.serializer,p=v.raw?a:v.deserializer,h=void 0!==s?()=>g(s):c,x=t(y,()=>f(i),h),S=o(()=>null===x?null:p(x),[x,p]),b=e(e=>{try{const t=l(e)?e(null!=S?S:null):e;null===t?w(i):u(i,g(t))}catch(e){console.warn(e)}},[i,g,S]);return r(()=>{null===f(i)&&void 0!==s&&u(i,g(s))},[p,i,g,s]),[null!==(m=null!=S?S:s)&&void 0!==m?m:null,b]},useSetStorage:(t,o)=>e(e=>{try{null===e?w(t):u(t,o(e))}catch(e){console.warn(e)}},[t,o])}}export{d as createStorage};
package/no-ssr/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";const r=r=>{const o=Error(r);return o.digest="NEXT_DYNAMIC_NO_SSR_CODE",o.recoverableError="NO_SSR",o};exports.noSSR=o=>{if("undefined"==typeof window)throw r(o)},exports.noSSRError=r;
1
+ "use strict";const r=Object.getOwnPropertyDescriptor(Error,"stackTraceLimit"),t=(null==r?void 0:r.writable)&&"number"==typeof r.value,e=r=>{const e=Error.stackTraceLimit;t&&(Error.stackTraceLimit=0);const o=Error(r);return t&&(Error.stackTraceLimit=e),o.digest="NEXT_DYNAMIC_NO_SSR_CODE",o.recoverableError="NO_SSR",o};exports.noSSR=r=>{if("undefined"==typeof window)throw e(r)},exports.noSSRError=e;
package/no-ssr/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";const r=r=>{const o=Error(r);return o.digest="NEXT_DYNAMIC_NO_SSR_CODE",o.recoverableError="NO_SSR",o};exports.noSSR=o=>{if("undefined"==typeof window)throw r(o)},exports.noSSRError=r;
1
+ "use strict";const r=Object.getOwnPropertyDescriptor(Error,"stackTraceLimit"),t=(null==r?void 0:r.writable)&&"number"==typeof r.value,e=r=>{const e=Error.stackTraceLimit;t&&(Error.stackTraceLimit=0);const o=Error(r);return t&&(Error.stackTraceLimit=e),o.digest="NEXT_DYNAMIC_NO_SSR_CODE",o.recoverableError="NO_SSR",o};exports.noSSR=r=>{if("undefined"==typeof window)throw e(r)},exports.noSSRError=e;
package/no-ssr/index.mjs CHANGED
@@ -1 +1 @@
1
- const r=r=>{const o=Error(r);return o.digest="NEXT_DYNAMIC_NO_SSR_CODE",o.recoverableError="NO_SSR",o},o=o=>{if("undefined"==typeof window)throw r(o)};export{o as noSSR,r as noSSRError};
1
+ const r=Object.getOwnPropertyDescriptor(Error,"stackTraceLimit"),t=(null==r?void 0:r.writable)&&"number"==typeof r.value,e=r=>{const e=Error.stackTraceLimit;t&&(Error.stackTraceLimit=0);const o=Error(r);return t&&(Error.stackTraceLimit=e),o.digest="NEXT_DYNAMIC_NO_SSR_CODE",o.recoverableError="NO_SSR",o},o=r=>{if("undefined"==typeof window)throw e(r)};export{o as noSSR,e as noSSRError};
package/noop/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";exports.noop=()=>{};
1
+ "use strict";exports.noop=()=>{};
package/noop/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";exports.noop=()=>{};
1
+ "use strict";exports.noop=()=>{};
package/noop/index.mjs CHANGED
@@ -1 +1 @@
1
- const o=()=>{};export{o as noop};
1
+ const o=()=>{};export{o as noop};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "foxact",
3
- "version": "0.2.25",
3
+ "version": "0.2.27",
4
4
  "description": "React Hooks/Utils done right. For browser, SSR, and React Server Components.",
5
5
  "homepage": "https://foxact.skk.moe",
6
6
  "repository": {
@@ -83,6 +83,15 @@
83
83
  "require": "./context-state/index.cjs",
84
84
  "default": "./context-state/index.js"
85
85
  },
86
+ "./create-fixed-array": {
87
+ "types": "./create-fixed-array/index.d.ts",
88
+ "import": {
89
+ "types": "./create-fixed-array/index.d.ts",
90
+ "default": "./create-fixed-array/index.mjs"
91
+ },
92
+ "require": "./create-fixed-array/index.cjs",
93
+ "default": "./create-fixed-array/index.js"
94
+ },
86
95
  "./create-context-state": {
87
96
  "types": "./create-context-state/index.d.ts",
88
97
  "import": {
@@ -92,14 +101,23 @@
92
101
  "require": "./create-context-state/index.cjs",
93
102
  "default": "./create-context-state/index.js"
94
103
  },
95
- "./no-ssr": {
96
- "types": "./no-ssr/index.d.ts",
104
+ "./create-storage-hook": {
105
+ "types": "./create-storage-hook/index.d.ts",
97
106
  "import": {
98
- "types": "./no-ssr/index.d.ts",
99
- "default": "./no-ssr/index.mjs"
107
+ "types": "./create-storage-hook/index.d.ts",
108
+ "default": "./create-storage-hook/index.mjs"
100
109
  },
101
- "require": "./no-ssr/index.cjs",
102
- "default": "./no-ssr/index.js"
110
+ "require": "./create-storage-hook/index.cjs",
111
+ "default": "./create-storage-hook/index.js"
112
+ },
113
+ "./noop": {
114
+ "types": "./noop/index.d.ts",
115
+ "import": {
116
+ "types": "./noop/index.d.ts",
117
+ "default": "./noop/index.mjs"
118
+ },
119
+ "require": "./noop/index.cjs",
120
+ "default": "./noop/index.js"
103
121
  },
104
122
  "./rem": {
105
123
  "types": "./rem/index.d.ts",
@@ -110,14 +128,14 @@
110
128
  "require": "./rem/index.cjs",
111
129
  "default": "./rem/index.js"
112
130
  },
113
- "./noop": {
114
- "types": "./noop/index.d.ts",
131
+ "./no-ssr": {
132
+ "types": "./no-ssr/index.d.ts",
115
133
  "import": {
116
- "types": "./noop/index.d.ts",
117
- "default": "./noop/index.mjs"
134
+ "types": "./no-ssr/index.d.ts",
135
+ "default": "./no-ssr/index.mjs"
118
136
  },
119
- "require": "./noop/index.cjs",
120
- "default": "./noop/index.js"
137
+ "require": "./no-ssr/index.cjs",
138
+ "default": "./no-ssr/index.js"
121
139
  },
122
140
  "./request-idle-callback": {
123
141
  "types": "./request-idle-callback/index.d.ts",
@@ -128,15 +146,6 @@
128
146
  "require": "./request-idle-callback/index.cjs",
129
147
  "default": "./request-idle-callback/index.js"
130
148
  },
131
- "./create-fixed-array": {
132
- "types": "./create-fixed-array/index.d.ts",
133
- "import": {
134
- "types": "./create-fixed-array/index.d.ts",
135
- "default": "./create-fixed-array/index.mjs"
136
- },
137
- "require": "./create-fixed-array/index.cjs",
138
- "default": "./create-fixed-array/index.js"
139
- },
140
149
  "./typescript-happy-forward-ref": {
141
150
  "types": "./typescript-happy-forward-ref/index.d.ts",
142
151
  "import": {
@@ -191,6 +200,15 @@
191
200
  "require": "./use-debounced-state/index.cjs",
192
201
  "default": "./use-debounced-state/index.js"
193
202
  },
203
+ "./use-debounced-value": {
204
+ "types": "./use-debounced-value/index.d.ts",
205
+ "import": {
206
+ "types": "./use-debounced-value/index.d.ts",
207
+ "default": "./use-debounced-value/index.mjs"
208
+ },
209
+ "require": "./use-debounced-value/index.cjs",
210
+ "default": "./use-debounced-value/index.js"
211
+ },
194
212
  "./use-error-boundary": {
195
213
  "types": "./use-error-boundary/index.d.ts",
196
214
  "import": {
@@ -209,23 +227,14 @@
209
227
  "require": "./use-intersection/index.cjs",
210
228
  "default": "./use-intersection/index.js"
211
229
  },
212
- "./use-debounced-value": {
213
- "types": "./use-debounced-value/index.d.ts",
214
- "import": {
215
- "types": "./use-debounced-value/index.d.ts",
216
- "default": "./use-debounced-value/index.mjs"
217
- },
218
- "require": "./use-debounced-value/index.cjs",
219
- "default": "./use-debounced-value/index.js"
220
- },
221
- "./use-isomorphic-layout-effect": {
222
- "types": "./use-isomorphic-layout-effect/index.d.ts",
230
+ "./use-is-client": {
231
+ "types": "./use-is-client/index.d.ts",
223
232
  "import": {
224
- "types": "./use-isomorphic-layout-effect/index.d.ts",
225
- "default": "./use-isomorphic-layout-effect/index.mjs"
233
+ "types": "./use-is-client/index.d.ts",
234
+ "default": "./use-is-client/index.mjs"
226
235
  },
227
- "require": "./use-isomorphic-layout-effect/index.cjs",
228
- "default": "./use-isomorphic-layout-effect/index.js"
236
+ "require": "./use-is-client/index.cjs",
237
+ "default": "./use-is-client/index.js"
229
238
  },
230
239
  "./use-local-storage": {
231
240
  "types": "./use-local-storage/index.d.ts",
@@ -236,6 +245,15 @@
236
245
  "require": "./use-local-storage/index.cjs",
237
246
  "default": "./use-local-storage/index.js"
238
247
  },
248
+ "./use-isomorphic-layout-effect": {
249
+ "types": "./use-isomorphic-layout-effect/index.d.ts",
250
+ "import": {
251
+ "types": "./use-isomorphic-layout-effect/index.d.ts",
252
+ "default": "./use-isomorphic-layout-effect/index.mjs"
253
+ },
254
+ "require": "./use-isomorphic-layout-effect/index.cjs",
255
+ "default": "./use-isomorphic-layout-effect/index.js"
256
+ },
239
257
  "./use-map": {
240
258
  "types": "./use-map/index.d.ts",
241
259
  "import": {
@@ -254,15 +272,6 @@
254
272
  "require": "./use-next-pathname/index.cjs",
255
273
  "default": "./use-next-pathname/index.js"
256
274
  },
257
- "./use-is-client": {
258
- "types": "./use-is-client/index.d.ts",
259
- "import": {
260
- "types": "./use-is-client/index.d.ts",
261
- "default": "./use-is-client/index.mjs"
262
- },
263
- "require": "./use-is-client/index.cjs",
264
- "default": "./use-is-client/index.js"
265
- },
266
275
  "./use-react-router-enable-concurrent-navigation": {
267
276
  "types": "./use-react-router-enable-concurrent-navigation/index.d.ts",
268
277
  "import": {
@@ -290,6 +299,15 @@
290
299
  "require": "./use-retimer/index.cjs",
291
300
  "default": "./use-retimer/index.js"
292
301
  },
302
+ "./use-session-storage": {
303
+ "types": "./use-session-storage/index.d.ts",
304
+ "import": {
305
+ "types": "./use-session-storage/index.d.ts",
306
+ "default": "./use-session-storage/index.mjs"
307
+ },
308
+ "require": "./use-session-storage/index.cjs",
309
+ "default": "./use-session-storage/index.js"
310
+ },
293
311
  "./use-set": {
294
312
  "types": "./use-set/index.d.ts",
295
313
  "import": {
package/rem/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";const n="16px";function e(n,e){return"calc(".concat(n," * ").concat(e,")")}function t(t){let c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return r=>{if(0===r||"0"===r)return"0";if("number"==typeof r){const o="".concat(r/16).concat(t);return c&&c!==n?e(o,c):o}if(r.includes("calc(")||r.includes("var("))return r;if(r.includes(t))return c&&c!==n?e(r,c):r;const o=Number(r.replace("px",""));if(o==o){const r="".concat(o/16).concat(t);return c&&c!==n?e(r,c):r}return r}}const c=t("rem",n),r=t("rem","var(--mantine-scale)"),o=t("em");exports.em=o,exports.mantine_rem=r,exports.rem=c;
1
+ "use strict";const n="16px";function e(n,e){return"calc(".concat(n," * ").concat(e,")")}function t(t){let c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return r=>{if(0===r||"0"===r)return"0";if("number"==typeof r){const o="".concat(r/16).concat(t);return c&&c!==n?e(o,c):o}if(r.includes("calc(")||r.includes("var("))return r;if(r.includes(t))return c&&c!==n?e(r,c):r;const o=Number(r.replace("px",""));if(o==o){const r="".concat(o/16).concat(t);return c&&c!==n?e(r,c):r}return r}}const c=t("rem",n),r=t("rem","var(--mantine-scale)"),o=t("em");exports.em=o,exports.mantine_rem=r,exports.rem=c;
package/rem/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";const n="16px";function e(n,e){return"calc(".concat(n," * ").concat(e,")")}function t(t){let c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return r=>{if(0===r||"0"===r)return"0";if("number"==typeof r){const o="".concat(r/16).concat(t);return c&&c!==n?e(o,c):o}if(r.includes("calc(")||r.includes("var("))return r;if(r.includes(t))return c&&c!==n?e(r,c):r;const o=Number(r.replace("px",""));if(o==o){const r="".concat(o/16).concat(t);return c&&c!==n?e(r,c):r}return r}}const c=t("rem",n),r=t("rem","var(--mantine-scale)"),o=t("em");exports.em=o,exports.mantine_rem=r,exports.rem=c;
1
+ "use strict";const n="16px";function e(n,e){return"calc(".concat(n," * ").concat(e,")")}function t(t){let c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return r=>{if(0===r||"0"===r)return"0";if("number"==typeof r){const o="".concat(r/16).concat(t);return c&&c!==n?e(o,c):o}if(r.includes("calc(")||r.includes("var("))return r;if(r.includes(t))return c&&c!==n?e(r,c):r;const o=Number(r.replace("px",""));if(o==o){const r="".concat(o/16).concat(t);return c&&c!==n?e(r,c):r}return r}}const c=t("rem",n),r=t("rem","var(--mantine-scale)"),o=t("em");exports.em=o,exports.mantine_rem=r,exports.rem=c;
package/rem/index.mjs CHANGED
@@ -1 +1 @@
1
- const n="16px";function c(n,c){return"calc(".concat(n," * ").concat(c,")")}function e(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return r=>{if(0===r||"0"===r)return"0";if("number"==typeof r){const o="".concat(r/16).concat(e);return t&&t!==n?c(o,t):o}if(r.includes("calc(")||r.includes("var("))return r;if(r.includes(e))return t&&t!==n?c(r,t):r;const o=Number(r.replace("px",""));if(o==o){const r="".concat(o/16).concat(e);return t&&t!==n?c(r,t):r}return r}}const t=e("rem",n),r=e("rem","var(--mantine-scale)"),o=e("em");export{o as em,r as mantine_rem,t as rem};
1
+ const n="16px";function c(n,c){return"calc(".concat(n," * ").concat(c,")")}function e(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return r=>{if(0===r||"0"===r)return"0";if("number"==typeof r){const o="".concat(r/16).concat(e);return t&&t!==n?c(o,t):o}if(r.includes("calc(")||r.includes("var("))return r;if(r.includes(e))return t&&t!==n?c(r,t):r;const o=Number(r.replace("px",""));if(o==o){const r="".concat(o/16).concat(e);return t&&t!==n?c(r,t):r}return r}}const t=e("rem",n),r=e("rem","var(--mantine-scale)"),o=e("em");export{o as em,r as mantine_rem,t as rem};
@@ -1 +1 @@
1
- "use strict";const e="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(self)||function(e){const l=Date.now();return self.setTimeout(()=>{e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-l))})},1)},l="undefined"!=typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(self)||function(e){return clearTimeout(e)};exports.cancelIdleCallback=l,exports.requestIdleCallback=e;
1
+ "use strict";const e="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(self)||function(e){const l=Date.now();return self.setTimeout(()=>{e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-l))})},1)},l="undefined"!=typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(self)||function(e){return clearTimeout(e)};exports.cancelIdleCallback=l,exports.requestIdleCallback=e;
@@ -1 +1 @@
1
- "use strict";const e="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(self)||function(e){const l=Date.now();return self.setTimeout(()=>{e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-l))})},1)},l="undefined"!=typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(self)||function(e){return clearTimeout(e)};exports.cancelIdleCallback=l,exports.requestIdleCallback=e;
1
+ "use strict";const e="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(self)||function(e){const l=Date.now();return self.setTimeout(()=>{e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-l))})},1)},l="undefined"!=typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(self)||function(e){return clearTimeout(e)};exports.cancelIdleCallback=l,exports.requestIdleCallback=e;
@@ -1 +1 @@
1
- const e="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(self)||function(e){const l=Date.now();return self.setTimeout(()=>{e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-l))})},1)},l="undefined"!=typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(self)||function(e){return clearTimeout(e)};export{l as cancelIdleCallback,e as requestIdleCallback};
1
+ const e="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(self)||function(e){const l=Date.now();return self.setTimeout(()=>{e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-l))})},1)},l="undefined"!=typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(self)||function(e){return clearTimeout(e)};export{l as cancelIdleCallback,e as requestIdleCallback};
package/sizes.json CHANGED
@@ -1 +1 @@
1
- {"total":{"raw":13233,"gzip":8322,"br":0},"exports":{"compose-context-provider":{"raw":165,"gzip":150,"br":118},"context-state":{"raw":378,"gzip":243,"br":210},"no-ssr":{"raw":187,"gzip":172,"br":143},"noop":{"raw":34,"gzip":54,"br":38},"rem":{"raw":589,"gzip":331,"br":285},"request-idle-callback":{"raw":411,"gzip":232,"br":179},"typescript-happy-forward-ref":{"raw":120,"gzip":104,"br":95},"use":{"raw":277,"gzip":185,"br":155},"create-fixed-array":{"raw":101,"gzip":105,"br":89},"use-array":{"raw":338,"gzip":247,"br":207},"use-composition-input":{"raw":455,"gzip":282,"br":240},"create-context-state":{"raw":146,"gzip":116,"br":102},"use-error-boundary":{"raw":245,"gzip":197,"br":173},"use-debounced-state":{"raw":410,"gzip":291,"br":247},"use-debounced-value":{"raw":471,"gzip":313,"br":254},"use-isomorphic-layout-effect":{"raw":179,"gzip":145,"br":115},"use-clipboard":{"raw":1076,"gzip":617,"br":533},"use-map":{"raw":355,"gzip":249,"br":213},"use-is-client":{"raw":152,"gzip":144,"br":122},"use-next-pathname":{"raw":322,"gzip":242,"br":202},"use-react-router-is-match":{"raw":569,"gzip":371,"br":313},"use-react-router-enable-concurrent-navigation":{"raw":956,"gzip":455,"br":382},"use-retimer":{"raw":201,"gzip":168,"br":127},"use-set":{"raw":356,"gzip":243,"br":208},"use-singleton":{"raw":139,"gzip":131,"br":104},"use-intersection":{"raw":1239,"gzip":659,"br":605},"use-uncontrolled":{"raw":301,"gzip":232,"br":197},"use-stable-handler-only-when-you-know-what-you-are-doing-or-you-will-be-fired":{"raw":467,"gzip":326,"br":257},"use-local-storage":{"raw":1633,"gzip":753,"br":660},"use-url-hash-state":{"raw":961,"gzip":565,"br":487}}}
1
+ {"total":{"raw":14388,"gzip":8850,"br":0},"exports":{"compose-context-provider":{"raw":164,"gzip":148,"br":114},"create-fixed-array":{"raw":100,"gzip":104,"br":89},"create-context-state":{"raw":145,"gzip":116,"br":96},"context-state":{"raw":377,"gzip":241,"br":207},"noop":{"raw":33,"gzip":53,"br":37},"rem":{"raw":588,"gzip":330,"br":282},"no-ssr":{"raw":389,"gzip":269,"br":228},"request-idle-callback":{"raw":410,"gzip":229,"br":175},"use":{"raw":276,"gzip":182,"br":150},"use-array":{"raw":337,"gzip":244,"br":204},"typescript-happy-forward-ref":{"raw":119,"gzip":103,"br":80},"create-storage-hook":{"raw":1988,"gzip":877,"br":766},"use-composition-input":{"raw":454,"gzip":281,"br":238},"use-debounced-state":{"raw":409,"gzip":285,"br":245},"use-debounced-value":{"raw":470,"gzip":309,"br":252},"use-clipboard":{"raw":1075,"gzip":616,"br":533},"use-error-boundary":{"raw":244,"gzip":196,"br":159},"use-isomorphic-layout-effect":{"raw":178,"gzip":142,"br":113},"use-is-client":{"raw":151,"gzip":142,"br":118},"use-local-storage":{"raw":310,"gzip":184,"br":157},"use-map":{"raw":354,"gzip":248,"br":211},"use-intersection":{"raw":1238,"gzip":654,"br":604},"use-next-pathname":{"raw":321,"gzip":236,"br":199},"use-react-router-is-match":{"raw":568,"gzip":371,"br":309},"use-retimer":{"raw":200,"gzip":165,"br":123},"use-session-storage":{"raw":316,"gzip":181,"br":152},"use-singleton":{"raw":138,"gzip":129,"br":109},"use-set":{"raw":355,"gzip":243,"br":205},"use-react-router-enable-concurrent-navigation":{"raw":955,"gzip":457,"br":375},"use-stable-handler-only-when-you-know-what-you-are-doing-or-you-will-be-fired":{"raw":466,"gzip":325,"br":254},"use-uncontrolled":{"raw":300,"gzip":229,"br":194},"use-url-hash-state":{"raw":960,"gzip":561,"br":486}}}
@@ -1 +1 @@
1
- "use strict";var r=require("react");const e=r.forwardRef,p=r.forwardRef;exports.typeScriptHappyForwardRef=e,exports.typescriptHappyForwardRef=p;
1
+ "use strict";var r=require("react");const e=r.forwardRef,p=r.forwardRef;exports.typeScriptHappyForwardRef=e,exports.typescriptHappyForwardRef=p;
@@ -1 +1 @@
1
- "use strict";var r=require("react");const e=r.forwardRef,p=r.forwardRef;exports.typeScriptHappyForwardRef=e,exports.typescriptHappyForwardRef=p;
1
+ "use strict";var r=require("react");const e=r.forwardRef,p=r.forwardRef;exports.typeScriptHappyForwardRef=e,exports.typescriptHappyForwardRef=p;
@@ -1 +1 @@
1
- import{forwardRef as p}from"react";const r=p,t=p;export{r as typeScriptHappyForwardRef,t as typescriptHappyForwardRef};
1
+ import{forwardRef as p}from"react";const r=p,t=p;export{r as typeScriptHappyForwardRef,t as typescriptHappyForwardRef};
package/use/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var e=require("react");const t=e.use||(e=>{switch(e.status){case"pending":throw e;case"fulfilled":return e.value;case"rejected":throw e.reason;default:throw e.status="pending",e.then(t=>{e.status="fulfilled",e.value=t},t=>{e.status="rejected",e.reason=t}),e}});exports.use=t;
1
+ "use strict";var e=require("react");const t=e.use||(e=>{switch(e.status){case"pending":throw e;case"fulfilled":return e.value;case"rejected":throw e.reason;default:throw e.status="pending",e.then(t=>{e.status="fulfilled",e.value=t},t=>{e.status="rejected",e.reason=t}),e}});exports.use=t;
package/use/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var e=require("react");const t=e.use||(e=>{switch(e.status){case"pending":throw e;case"fulfilled":return e.value;case"rejected":throw e.reason;default:throw e.status="pending",e.then(t=>{e.status="fulfilled",e.value=t},t=>{e.status="rejected",e.reason=t}),e}});exports.use=t;
1
+ "use strict";var e=require("react");const t=e.use||(e=>{switch(e.status){case"pending":throw e;case"fulfilled":return e.value;case"rejected":throw e.reason;default:throw e.status="pending",e.then(t=>{e.status="fulfilled",e.value=t},t=>{e.status="rejected",e.reason=t}),e}});exports.use=t;
package/use/index.mjs CHANGED
@@ -1 +1 @@
1
- import e from"react";const t=e.use||(e=>{switch(e.status){case"pending":throw e;case"fulfilled":return e.value;case"rejected":throw e.reason;default:throw e.status="pending",e.then(t=>{e.status="fulfilled",e.value=t},t=>{e.status="rejected",e.reason=t}),e}});export{t as use};
1
+ import e from"react";const t=e.use||(e=>{switch(e.status){case"pending":throw e;case"fulfilled":return e.value;case"rejected":throw e.reason;default:throw e.status="pending",e.then(t=>{e.status="fulfilled",e.value=t},t=>{e.status="rejected",e.reason=t}),e}});export{t as use};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react");exports.useArray=function(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>[];const[t,c]=e.useState(r),l=e.useCallback(e=>c(r=>r.concat(e)),[]),s=e.useCallback(()=>c([]),[]),u=e.useCallback(e=>c(r=>{if(e>-1){const t=r.slice();return t.splice(e,1),t}return r}),[]);return[t,l,s,u]};
1
+ "use strict";require("client-only");var e=require("react");exports.useArray=function(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>[];const[t,c]=e.useState(r),l=e.useCallback(e=>c(r=>r.concat(e)),[]),s=e.useCallback(()=>c([]),[]),u=e.useCallback(e=>c(r=>{if(e>-1){const t=r.slice();return t.splice(e,1),t}return r}),[]);return[t,l,s,u]};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react");exports.useArray=function(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>[];const[t,c]=e.useState(r),l=e.useCallback(e=>c(r=>r.concat(e)),[]),s=e.useCallback(()=>c([]),[]),u=e.useCallback(e=>c(r=>{if(e>-1){const t=r.slice();return t.splice(e,1),t}return r}),[]);return[t,l,s,u]};
1
+ "use strict";require("client-only");var e=require("react");exports.useArray=function(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>[];const[t,c]=e.useState(r),l=e.useCallback(e=>c(r=>r.concat(e)),[]),s=e.useCallback(()=>c([]),[]),u=e.useCallback(e=>c(r=>{if(e>-1){const t=r.slice();return t.splice(e,1),t}return r}),[]);return[t,l,s,u]};
@@ -1 +1 @@
1
- import"client-only";import{useState as t,useCallback as r}from"react";const n=function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>[];const[e,o]=t(n),c=r(t=>o(r=>r.concat(t)),[]),i=r(()=>o([]),[]),l=r(t=>o(r=>{if(t>-1){const n=r.slice();return n.splice(t,1),n}return r}),[]);return[e,c,i,l]};export{n as useArray};
1
+ import"client-only";import{useState as t,useCallback as r}from"react";const n=function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>[];const[e,o]=t(n),c=r(t=>o(r=>r.concat(t)),[]),i=r(()=>o([]),[]),l=r(t=>o(r=>{if(t>-1){const n=r.slice();return n.splice(t,1),n}return r}),[]);return[e,c,i,l]};export{n as useArray};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react"),r=require("../noop/index.cjs"),t=require("../use-stable-handler-only-when-you-know-what-you-are-doing-or-you-will-be-fired/index.cjs");class a extends Error{}exports.UseClipboardError=a,exports.useClipboard=function(){let{timeout:o=1e3,usePromptAsFallback:l=!1,promptFallbackText:i="Failed to copy to clipboard automatically, please manually copy the text below.",onCopyError:n}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const[u,c]=e.useState(null),[s,d]=e.useState(!1),p=e.useRef(null),b=t.useStableHandler(n||r.noop),w=e.useCallback(e=>{p.current&&clearTimeout(p.current),e&&(p.current=window.setTimeout(()=>d(!1),o)),d(e)},[o]),y=e.useCallback(e=>{c(e),b(e)},[b]),h=e.useCallback(async e=>{try{if("clipboard"in navigator)await navigator.clipboard.writeText(e),w(!0);else throw new a("[foxact] useClipboard: navigator.clipboard is not supported")}catch(r){if(l)try{window.prompt(i,e)}catch(e){y(e)}else y(r)}},[w,i,y,l]),x=e.useCallback(()=>{d(!1),c(null),p.current&&clearTimeout(p.current)},[]);return{copy:h,reset:x,error:u,copied:s}};
1
+ "use strict";require("client-only");var e=require("react"),r=require("../noop/index.cjs"),t=require("../use-stable-handler-only-when-you-know-what-you-are-doing-or-you-will-be-fired/index.cjs");class a extends Error{}exports.UseClipboardError=a,exports.useClipboard=function(){let{timeout:o=1e3,usePromptAsFallback:l=!1,promptFallbackText:i="Failed to copy to clipboard automatically, please manually copy the text below.",onCopyError:n}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const[u,c]=e.useState(null),[s,d]=e.useState(!1),p=e.useRef(null),b=t.useStableHandler(n||r.noop),w=e.useCallback(e=>{p.current&&clearTimeout(p.current),e&&(p.current=window.setTimeout(()=>d(!1),o)),d(e)},[o]),y=e.useCallback(e=>{c(e),b(e)},[b]),h=e.useCallback(async e=>{try{if("clipboard"in navigator)await navigator.clipboard.writeText(e),w(!0);else throw new a("[foxact] useClipboard: navigator.clipboard is not supported")}catch(r){if(l)try{window.prompt(i,e)}catch(e){y(e)}else y(r)}},[w,i,y,l]),x=e.useCallback(()=>{d(!1),c(null),p.current&&clearTimeout(p.current)},[]);return{copy:h,reset:x,error:u,copied:s}};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react"),r=require("../noop/index.js"),t=require("../use-stable-handler-only-when-you-know-what-you-are-doing-or-you-will-be-fired/index.js");class a extends Error{}exports.UseClipboardError=a,exports.useClipboard=function(){let{timeout:o=1e3,usePromptAsFallback:l=!1,promptFallbackText:i="Failed to copy to clipboard automatically, please manually copy the text below.",onCopyError:n}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const[u,c]=e.useState(null),[s,d]=e.useState(!1),p=e.useRef(null),b=t.useStableHandler(n||r.noop),w=e.useCallback(e=>{p.current&&clearTimeout(p.current),e&&(p.current=window.setTimeout(()=>d(!1),o)),d(e)},[o]),y=e.useCallback(e=>{c(e),b(e)},[b]),h=e.useCallback(async e=>{try{if("clipboard"in navigator)await navigator.clipboard.writeText(e),w(!0);else throw new a("[foxact] useClipboard: navigator.clipboard is not supported")}catch(r){if(l)try{window.prompt(i,e)}catch(e){y(e)}else y(r)}},[w,i,y,l]),x=e.useCallback(()=>{d(!1),c(null),p.current&&clearTimeout(p.current)},[]);return{copy:h,reset:x,error:u,copied:s}};
1
+ "use strict";require("client-only");var e=require("react"),r=require("../noop/index.js"),t=require("../use-stable-handler-only-when-you-know-what-you-are-doing-or-you-will-be-fired/index.js");class a extends Error{}exports.UseClipboardError=a,exports.useClipboard=function(){let{timeout:o=1e3,usePromptAsFallback:l=!1,promptFallbackText:i="Failed to copy to clipboard automatically, please manually copy the text below.",onCopyError:n}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const[u,c]=e.useState(null),[s,d]=e.useState(!1),p=e.useRef(null),b=t.useStableHandler(n||r.noop),w=e.useCallback(e=>{p.current&&clearTimeout(p.current),e&&(p.current=window.setTimeout(()=>d(!1),o)),d(e)},[o]),y=e.useCallback(e=>{c(e),b(e)},[b]),h=e.useCallback(async e=>{try{if("clipboard"in navigator)await navigator.clipboard.writeText(e),w(!0);else throw new a("[foxact] useClipboard: navigator.clipboard is not supported")}catch(r){if(l)try{window.prompt(i,e)}catch(e){y(e)}else y(r)}},[w,i,y,l]),x=e.useCallback(()=>{d(!1),c(null),p.current&&clearTimeout(p.current)},[]);return{copy:h,reset:x,error:u,copied:s}};
@@ -1 +1 @@
1
- import"client-only";import{useState as o,useRef as r,useCallback as e}from"react";import{noop as t}from"../noop/index.mjs";import{useStableHandler as i}from"../use-stable-handler-only-when-you-know-what-you-are-doing-or-you-will-be-fired/index.mjs";class a extends Error{}function l(){let{timeout:l=1e3,usePromptAsFallback:n=!1,promptFallbackText:c="Failed to copy to clipboard automatically, please manually copy the text below.",onCopyError:u}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const[p,d]=o(null),[s,m]=o(!1),w=r(null),y=i(u||t),b=e(o=>{w.current&&clearTimeout(w.current),o&&(w.current=window.setTimeout(()=>m(!1),l)),m(o)},[l]),f=e(o=>{d(o),y(o)},[y]),h=e(async o=>{try{if("clipboard"in navigator)await navigator.clipboard.writeText(o),b(!0);else throw new a("[foxact] useClipboard: navigator.clipboard is not supported")}catch(r){if(n)try{window.prompt(c,o)}catch(o){f(o)}else f(r)}},[b,c,f,n]),x=e(()=>{m(!1),d(null),w.current&&clearTimeout(w.current)},[]);return{copy:h,reset:x,error:p,copied:s}}export{a as UseClipboardError,l as useClipboard};
1
+ import"client-only";import{useState as o,useRef as r,useCallback as e}from"react";import{noop as t}from"../noop/index.mjs";import{useStableHandler as i}from"../use-stable-handler-only-when-you-know-what-you-are-doing-or-you-will-be-fired/index.mjs";class a extends Error{}function l(){let{timeout:l=1e3,usePromptAsFallback:n=!1,promptFallbackText:c="Failed to copy to clipboard automatically, please manually copy the text below.",onCopyError:u}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const[p,d]=o(null),[s,m]=o(!1),w=r(null),y=i(u||t),b=e(o=>{w.current&&clearTimeout(w.current),o&&(w.current=window.setTimeout(()=>m(!1),l)),m(o)},[l]),f=e(o=>{d(o),y(o)},[y]),h=e(async o=>{try{if("clipboard"in navigator)await navigator.clipboard.writeText(o),b(!0);else throw new a("[foxact] useClipboard: navigator.clipboard is not supported")}catch(r){if(n)try{window.prompt(c,o)}catch(o){f(o)}else f(r)}},[b,c,f,n]),x=e(()=>{m(!1),d(null),w.current&&clearTimeout(w.current)},[]);return{copy:h,reset:x,error:p,copied:s}}export{a as UseClipboardError,l as useClipboard};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react"),r=require("../use-singleton/index.cjs");exports.useCompositionInput=t=>{const u=r.useSingleton(()=>({c:!1,e:!1})),c=e.useCallback(e=>{if("value"in e.target){const r=e.target.value;u.current.c?u.current.e=!1:(t(r),u.current.e=!0)}},[t,u]),n=e.useCallback(()=>{u.current.c=!0,u.current.e=!1},[u]),s=e.useCallback(e=>{u.current.c=!1,u.current.e||c(e)},[u,c]);return{onChange:c,onCompositionStart:n,onCompositionEnd:s}};
1
+ "use strict";require("client-only");var e=require("react"),r=require("../use-singleton/index.cjs");exports.useCompositionInput=t=>{const u=r.useSingleton(()=>({c:!1,e:!1})),c=e.useCallback(e=>{if("value"in e.target){const r=e.target.value;u.current.c?u.current.e=!1:(t(r),u.current.e=!0)}},[t,u]),n=e.useCallback(()=>{u.current.c=!0,u.current.e=!1},[u]),s=e.useCallback(e=>{u.current.c=!1,u.current.e||c(e)},[u,c]);return{onChange:c,onCompositionStart:n,onCompositionEnd:s}};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react"),r=require("../use-singleton/index.js");exports.useCompositionInput=t=>{const u=r.useSingleton(()=>({c:!1,e:!1})),n=e.useCallback(e=>{if("value"in e.target){const r=e.target.value;u.current.c?u.current.e=!1:(t(r),u.current.e=!0)}},[t,u]),c=e.useCallback(()=>{u.current.c=!0,u.current.e=!1},[u]),s=e.useCallback(e=>{u.current.c=!1,u.current.e||n(e)},[u,n]);return{onChange:n,onCompositionStart:c,onCompositionEnd:s}};
1
+ "use strict";require("client-only");var e=require("react"),r=require("../use-singleton/index.js");exports.useCompositionInput=t=>{const u=r.useSingleton(()=>({c:!1,e:!1})),n=e.useCallback(e=>{if("value"in e.target){const r=e.target.value;u.current.c?u.current.e=!1:(t(r),u.current.e=!0)}},[t,u]),c=e.useCallback(()=>{u.current.c=!0,u.current.e=!1},[u]),s=e.useCallback(e=>{u.current.c=!1,u.current.e||n(e)},[u,n]);return{onChange:n,onCompositionStart:c,onCompositionEnd:s}};
@@ -1 +1 @@
1
- import"client-only";import{useCallback as r}from"react";import{useSingleton as e}from"../use-singleton/index.mjs";const t=t=>{const n=e(()=>({c:!1,e:!1})),c=r(r=>{if("value"in r.target){const e=r.target.value;n.current.c?n.current.e=!1:(t(e),n.current.e=!0)}},[t,n]),o=r(()=>{n.current.c=!0,n.current.e=!1},[n]),u=r(r=>{n.current.c=!1,n.current.e||c(r)},[n,c]);return{onChange:c,onCompositionStart:o,onCompositionEnd:u}};export{t as useCompositionInput};
1
+ import"client-only";import{useCallback as r}from"react";import{useSingleton as e}from"../use-singleton/index.mjs";const t=t=>{const n=e(()=>({c:!1,e:!1})),c=r(r=>{if("value"in r.target){const e=r.target.value;n.current.c?n.current.e=!1:(t(e),n.current.e=!0)}},[t,n]),o=r(()=>{n.current.c=!0,n.current.e=!1},[n]),u=r(r=>{n.current.c=!1,n.current.e||c(r)},[n,c]);return{onChange:c,onCompositionStart:o,onCompositionEnd:u}};export{t as useCompositionInput};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react"),r=require("../use-retimer/index.cjs");exports.useDebouncedState=function(t,u){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const[s,c]=e.useState(t),i=e.useRef(!0),a=r.useRetimer(),l=e.useCallback(e=>{i.current&&n?c(e):a(window.setTimeout(()=>{i.current=!0,c(e)},u)),i.current=!1},[n,a,u]),o=e.useCallback(e=>{a(),c(e)},[a]);return[s,l,o]};
1
+ "use strict";require("client-only");var e=require("react"),r=require("../use-retimer/index.cjs");exports.useDebouncedState=function(t,u){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const[s,c]=e.useState(t),i=e.useRef(!0),a=r.useRetimer(),l=e.useCallback(e=>{i.current&&n?c(e):a(window.setTimeout(()=>{i.current=!0,c(e)},u)),i.current=!1},[n,a,u]),o=e.useCallback(e=>{a(),c(e)},[a]);return[s,l,o]};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react"),r=require("../use-retimer/index.js");exports.useDebouncedState=function(t,u){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const[s,i]=e.useState(t),c=e.useRef(!0),a=r.useRetimer(),l=e.useCallback(e=>{c.current&&n?i(e):a(window.setTimeout(()=>{c.current=!0,i(e)},u)),c.current=!1},[n,a,u]),o=e.useCallback(e=>{a(),i(e)},[a]);return[s,l,o]};
1
+ "use strict";require("client-only");var e=require("react"),r=require("../use-retimer/index.js");exports.useDebouncedState=function(t,u){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const[s,i]=e.useState(t),c=e.useRef(!0),a=r.useRetimer(),l=e.useCallback(e=>{c.current&&n?i(e):a(window.setTimeout(()=>{c.current=!0,i(e)},u)),c.current=!1},[n,a,u]),o=e.useCallback(e=>{a(),i(e)},[a]);return[s,l,o]};
@@ -1 +1 @@
1
- import"client-only";import{useState as e,useRef as t,useCallback as r}from"react";import{useRetimer as n}from"../use-retimer/index.mjs";function o(o,i){let u=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const[c,m]=e(o),s=t(!0),d=n(),l=r(e=>{s.current&&u?m(e):d(window.setTimeout(()=>{s.current=!0,m(e)},i)),s.current=!1},[u,d,i]),p=r(e=>{d(),m(e)},[d]);return[c,l,p]}export{o as useDebouncedState};
1
+ import"client-only";import{useState as e,useRef as t,useCallback as r}from"react";import{useRetimer as n}from"../use-retimer/index.mjs";function o(o,i){let u=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const[c,m]=e(o),s=t(!0),d=n(),l=r(e=>{s.current&&u?m(e):d(window.setTimeout(()=>{s.current=!0,m(e)},i)),s.current=!1},[u,d,i]),p=r(e=>{d(),m(e)},[d]);return[c,l,p]}export{o as useDebouncedState};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react");exports.useDebouncedValue=function(t,u){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if("function"==typeof t)throw TypeError("useDebouncedValue does not support function as value");const[n,o]=e.useState(t),c=e.useRef(!0);return e.useEffect(()=>{let e=!1,n=null;return c.current&&r?(c.current=!1,o(t)):n=window.setTimeout(()=>{c.current=!0,o(t)},u),()=>{n&&window.clearTimeout(n)}},[t,r,u]),n};
1
+ "use strict";require("client-only");var e=require("react");exports.useDebouncedValue=function(t,u){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if("function"==typeof t)throw TypeError("useDebouncedValue does not support function as value");const[n,o]=e.useState(t),c=e.useRef(!0);return e.useEffect(()=>{let e=!1,n=null;return c.current&&r?(c.current=!1,o(t)):n=window.setTimeout(()=>{c.current=!0,o(t)},u),()=>{n&&window.clearTimeout(n)}},[t,r,u]),n};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react");exports.useDebouncedValue=function(t,u){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if("function"==typeof t)throw TypeError("useDebouncedValue does not support function as value");const[n,o]=e.useState(t),c=e.useRef(!0);return e.useEffect(()=>{let e=!1,n=null;return c.current&&r?(c.current=!1,o(t)):n=window.setTimeout(()=>{c.current=!0,o(t)},u),()=>{n&&window.clearTimeout(n)}},[t,r,u]),n};
1
+ "use strict";require("client-only");var e=require("react");exports.useDebouncedValue=function(t,u){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if("function"==typeof t)throw TypeError("useDebouncedValue does not support function as value");const[n,o]=e.useState(t),c=e.useRef(!0);return e.useEffect(()=>{let e=!1,n=null;return c.current&&r?(c.current=!1,o(t)):n=window.setTimeout(()=>{c.current=!0,o(t)},u),()=>{n&&window.clearTimeout(n)}},[t,r,u]),n};
@@ -1 +1 @@
1
- import"client-only";import{useState as e,useRef as t,useEffect as o}from"react";function n(n,r){let u=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if("function"==typeof n)throw TypeError("useDebouncedValue does not support function as value");const[c,i]=e(n),l=t(!0);return o(()=>{let e=!1,t=null;return l.current&&u?(l.current=!1,i(n)):t=window.setTimeout(()=>{l.current=!0,i(n)},r),()=>{t&&window.clearTimeout(t)}},[n,u,r]),c}export{n as useDebouncedValue};
1
+ import"client-only";import{useState as e,useRef as t,useEffect as o}from"react";function n(n,r){let u=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if("function"==typeof n)throw TypeError("useDebouncedValue does not support function as value");const[c,i]=e(n),l=t(!0);return o(()=>{let e=!1,t=null;return l.current&&u?(l.current=!1,i(n)):t=window.setTimeout(()=>{l.current=!0,i(n)},r),()=>{t&&window.clearTimeout(t)}},[n,u,r]),c}export{n as useDebouncedValue};
@@ -1 +1 @@
1
- "use strict";require("client-only");var r=require("react");const t=r=>!1!==r&&null!=r;exports.useErrorBoundary=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const[n,o]=r.useState(!1);if(t(e))throw e;if(t(n))throw n;return o};
1
+ "use strict";require("client-only");var r=require("react");const t=r=>!1!==r&&null!=r;exports.useErrorBoundary=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const[n,o]=r.useState(!1);if(t(e))throw e;if(t(n))throw n;return o};
@@ -1 +1 @@
1
- "use strict";require("client-only");var r=require("react");const t=r=>!1!==r&&null!=r;exports.useErrorBoundary=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const[n,o]=r.useState(!1);if(t(e))throw e;if(t(n))throw n;return o};
1
+ "use strict";require("client-only");var r=require("react");const t=r=>!1!==r&&null!=r;exports.useErrorBoundary=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const[n,o]=r.useState(!1);if(t(e))throw e;if(t(n))throw n;return o};
@@ -1 +1 @@
1
- import"client-only";import{useState as o}from"react";const r=o=>!1!==o&&null!=o,t=function(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const[n,e]=o(!1);if(r(t))throw t;if(r(n))throw n;return e};export{t as useErrorBoundary};
1
+ import"client-only";import{useState as o}from"react";const r=o=>!1!==o&&null!=o,t=function(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const[n,e]=o(!1);if(r(t))throw t;if(r(n))throw n;return e};export{t as useErrorBoundary};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react"),t=require("../request-idle-callback/index.cjs");const n="function"==typeof IntersectionObserver,r=new Map,o=[];exports.useIntersection=function(c){let{rootRef:i,rootMargin:s,disabled:u}=c;const[l,a]=e.useState(!1),f=e.useRef(null);e.useEffect(()=>{if(n){if(u||l)return;const e=f.current;if(null==e?void 0:e.tagName)return function(e,t,n){const{id:c,observer:i,elements:s}=function(e){let t;const n={root:e.root||null,margin:e.rootMargin||""},c=o.find(e=>e.root===n.root&&e.margin===n.margin);if(c&&(t=r.get(c)))return t;const i=new Map,s=new IntersectionObserver(e=>{e.forEach(e=>{const t=i.get(e.target),n=e.isIntersecting||e.intersectionRatio>0;t&&n&&t(n)})},e);return t={id:n,observer:s,elements:i},o.push(n),r.set(n,t),t}(n);return s.set(e,t),i.observe(e),function(){if(s.delete(e),i.unobserve(e),0===s.size){i.disconnect(),r.delete(c);const e=o.findIndex(e=>e.root===c.root&&e.margin===c.margin);e>-1&&o.splice(e,1)}}}(e,e=>e&&a(!0),{root:null==i?void 0:i.current,rootMargin:s})}if(!l){const e=t.requestIdleCallback(()=>a(!0));return()=>t.cancelIdleCallback(e)}},[u,s,i,l]);const d=e.useCallback(()=>{a(!1)},[]),g=e.useCallback(e=>{f.current=e},[]);return[g,l,d]};
1
+ "use strict";require("client-only");var e=require("react"),t=require("../request-idle-callback/index.cjs");const n="function"==typeof IntersectionObserver,r=new Map,o=[];exports.useIntersection=function(c){let{rootRef:i,rootMargin:s,disabled:u}=c;const[l,a]=e.useState(!1),f=e.useRef(null);e.useEffect(()=>{if(n){if(u||l)return;const e=f.current;if(null==e?void 0:e.tagName)return function(e,t,n){const{id:c,observer:i,elements:s}=function(e){let t;const n={root:e.root||null,margin:e.rootMargin||""},c=o.find(e=>e.root===n.root&&e.margin===n.margin);if(c&&(t=r.get(c)))return t;const i=new Map,s=new IntersectionObserver(e=>{e.forEach(e=>{const t=i.get(e.target),n=e.isIntersecting||e.intersectionRatio>0;t&&n&&t(n)})},e);return t={id:n,observer:s,elements:i},o.push(n),r.set(n,t),t}(n);return s.set(e,t),i.observe(e),function(){if(s.delete(e),i.unobserve(e),0===s.size){i.disconnect(),r.delete(c);const e=o.findIndex(e=>e.root===c.root&&e.margin===c.margin);e>-1&&o.splice(e,1)}}}(e,e=>e&&a(!0),{root:null==i?void 0:i.current,rootMargin:s})}if(!l){const e=t.requestIdleCallback(()=>a(!0));return()=>t.cancelIdleCallback(e)}},[u,s,i,l]);const d=e.useCallback(()=>{a(!1)},[]),g=e.useCallback(e=>{f.current=e},[]);return[g,l,d]};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react"),t=require("../request-idle-callback/index.js");const n="function"==typeof IntersectionObserver,r=new Map,o=[];exports.useIntersection=function(c){let{rootRef:i,rootMargin:s,disabled:u}=c;const[l,a]=e.useState(!1),f=e.useRef(null);e.useEffect(()=>{if(n){if(u||l)return;const e=f.current;if(null==e?void 0:e.tagName)return function(e,t,n){const{id:c,observer:i,elements:s}=function(e){let t;const n={root:e.root||null,margin:e.rootMargin||""},c=o.find(e=>e.root===n.root&&e.margin===n.margin);if(c&&(t=r.get(c)))return t;const i=new Map,s=new IntersectionObserver(e=>{e.forEach(e=>{const t=i.get(e.target),n=e.isIntersecting||e.intersectionRatio>0;t&&n&&t(n)})},e);return t={id:n,observer:s,elements:i},o.push(n),r.set(n,t),t}(n);return s.set(e,t),i.observe(e),function(){if(s.delete(e),i.unobserve(e),0===s.size){i.disconnect(),r.delete(c);const e=o.findIndex(e=>e.root===c.root&&e.margin===c.margin);e>-1&&o.splice(e,1)}}}(e,e=>e&&a(!0),{root:null==i?void 0:i.current,rootMargin:s})}if(!l){const e=t.requestIdleCallback(()=>a(!0));return()=>t.cancelIdleCallback(e)}},[u,s,i,l]);const d=e.useCallback(()=>{a(!1)},[]),g=e.useCallback(e=>{f.current=e},[]);return[g,l,d]};
1
+ "use strict";require("client-only");var e=require("react"),t=require("../request-idle-callback/index.js");const n="function"==typeof IntersectionObserver,r=new Map,o=[];exports.useIntersection=function(c){let{rootRef:i,rootMargin:s,disabled:u}=c;const[l,a]=e.useState(!1),f=e.useRef(null);e.useEffect(()=>{if(n){if(u||l)return;const e=f.current;if(null==e?void 0:e.tagName)return function(e,t,n){const{id:c,observer:i,elements:s}=function(e){let t;const n={root:e.root||null,margin:e.rootMargin||""},c=o.find(e=>e.root===n.root&&e.margin===n.margin);if(c&&(t=r.get(c)))return t;const i=new Map,s=new IntersectionObserver(e=>{e.forEach(e=>{const t=i.get(e.target),n=e.isIntersecting||e.intersectionRatio>0;t&&n&&t(n)})},e);return t={id:n,observer:s,elements:i},o.push(n),r.set(n,t),t}(n);return s.set(e,t),i.observe(e),function(){if(s.delete(e),i.unobserve(e),0===s.size){i.disconnect(),r.delete(c);const e=o.findIndex(e=>e.root===c.root&&e.margin===c.margin);e>-1&&o.splice(e,1)}}}(e,e=>e&&a(!0),{root:null==i?void 0:i.current,rootMargin:s})}if(!l){const e=t.requestIdleCallback(()=>a(!0));return()=>t.cancelIdleCallback(e)}},[u,s,i,l]);const d=e.useCallback(()=>{a(!1)},[]),g=e.useCallback(e=>{f.current=e},[]);return[g,l,d]};
@@ -1 +1 @@
1
- import"client-only";import{useState as t,useRef as n,useEffect as e,useCallback as r}from"react";import{requestIdleCallback as o,cancelIdleCallback as i}from"../request-idle-callback/index.mjs";const c="function"==typeof IntersectionObserver;function s(s){let{rootRef:f,rootMargin:a,disabled:m}=s;const[g,d]=t(!1),p=n(null);e(()=>{if(c){if(m||g)return;const t=p.current;if(null==t?void 0:t.tagName)return function(t,n,e){const{id:r,observer:o,elements:i}=function(t){let n;const e={root:t.root||null,margin:t.rootMargin||""},r=l.find(t=>t.root===e.root&&t.margin===e.margin);if(r&&(n=u.get(r)))return n;const o=new Map,i=new IntersectionObserver(t=>{t.forEach(t=>{const n=o.get(t.target),e=t.isIntersecting||t.intersectionRatio>0;n&&e&&n(e)})},t);return n={id:e,observer:i,elements:o},l.push(e),u.set(e,n),n}(e);return i.set(t,n),o.observe(t),function(){if(i.delete(t),o.unobserve(t),0===i.size){o.disconnect(),u.delete(r);const t=l.findIndex(t=>t.root===r.root&&t.margin===r.margin);t>-1&&l.splice(t,1)}}}(t,t=>t&&d(!0),{root:null==f?void 0:f.current,rootMargin:a})}if(!g){const t=o(()=>d(!0));return()=>i(t)}},[m,a,f,g]);const v=r(()=>{d(!1)},[]),b=r(t=>{p.current=t},[]);return[b,g,v]}const u=new Map,l=[];export{s as useIntersection};
1
+ import"client-only";import{useState as t,useRef as n,useEffect as e,useCallback as r}from"react";import{requestIdleCallback as o,cancelIdleCallback as i}from"../request-idle-callback/index.mjs";const c="function"==typeof IntersectionObserver;function s(s){let{rootRef:f,rootMargin:a,disabled:m}=s;const[g,d]=t(!1),p=n(null);e(()=>{if(c){if(m||g)return;const t=p.current;if(null==t?void 0:t.tagName)return function(t,n,e){const{id:r,observer:o,elements:i}=function(t){let n;const e={root:t.root||null,margin:t.rootMargin||""},r=l.find(t=>t.root===e.root&&t.margin===e.margin);if(r&&(n=u.get(r)))return n;const o=new Map,i=new IntersectionObserver(t=>{t.forEach(t=>{const n=o.get(t.target),e=t.isIntersecting||t.intersectionRatio>0;n&&e&&n(e)})},t);return n={id:e,observer:i,elements:o},l.push(e),u.set(e,n),n}(e);return i.set(t,n),o.observe(t),function(){if(i.delete(t),o.unobserve(t),0===i.size){o.disconnect(),u.delete(r);const t=l.findIndex(t=>t.root===r.root&&t.margin===r.margin);t>-1&&l.splice(t,1)}}}(t,t=>t&&d(!0),{root:null==f?void 0:f.current,rootMargin:a})}if(!g){const t=o(()=>d(!0));return()=>i(t)}},[m,a,f,g]);const v=r(()=>{d(!1)},[]),b=r(t=>{p.current=t},[]);return[b,g,v]}const u=new Map,l=[];export{s as useIntersection};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react");exports.useIsClient=()=>{const[t,r]=e.useState(!1);return e.useEffect(()=>{r(!0)},[]),t};
1
+ "use strict";require("client-only");var e=require("react");exports.useIsClient=()=>{const[t,r]=e.useState(!1);return e.useEffect(()=>{r(!0)},[]),t};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react");exports.useIsClient=()=>{const[t,r]=e.useState(!1);return e.useEffect(()=>{r(!0)},[]),t};
1
+ "use strict";require("client-only");var e=require("react");exports.useIsClient=()=>{const[t,r]=e.useState(!1);return e.useEffect(()=>{r(!0)},[]),t};
@@ -1 +1 @@
1
- import"client-only";import{useState as t,useEffect as o}from"react";const r=()=>{const[r,e]=t(!1);return o(()=>{e(!0)},[]),r};export{r as useIsClient};
1
+ import"client-only";import{useState as t,useEffect as o}from"react";const r=()=>{const[r,e]=t(!1);return o(()=>{e(!0)},[]),r};export{r as useIsClient};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react");const t="undefined"!=typeof window?e.useLayoutEffect:e.useEffect;exports.useIsomorphicLayoutEffect=t,exports.useLayoutEffect=t;
1
+ "use strict";require("client-only");var e=require("react");const t="undefined"!=typeof window?e.useLayoutEffect:e.useEffect;exports.useIsomorphicLayoutEffect=t,exports.useLayoutEffect=t;
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react");const t="undefined"!=typeof window?e.useLayoutEffect:e.useEffect;exports.useIsomorphicLayoutEffect=t,exports.useLayoutEffect=t;
1
+ "use strict";require("client-only");var e=require("react");const t="undefined"!=typeof window?e.useLayoutEffect:e.useEffect;exports.useIsomorphicLayoutEffect=t,exports.useLayoutEffect=t;
@@ -1 +1 @@
1
- import"client-only";import{useLayoutEffect as o,useEffect as t}from"react";const e="undefined"!=typeof window?o:t,f=e;export{e as useIsomorphicLayoutEffect,f as useLayoutEffect};
1
+ import"client-only";import{useLayoutEffect as o,useEffect as t}from"react";const e="undefined"!=typeof window?o:t,f=e;export{e as useIsomorphicLayoutEffect,f as useLayoutEffect};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react"),n=require("../noop/index.cjs"),o=require("../use-isomorphic-layout-effect/index.cjs"),r=require("../no-ssr/index.cjs");const t="foxact-local-storage",i=e=>{"undefined"!=typeof window&&window.dispatchEvent(new CustomEvent(t,{detail:e}))},l=(e,n,o)=>{if("undefined"!=typeof window)try{window.localStorage.setItem(e,o(n))}catch(e){console.error(e)}finally{i(e)}},a=e=>{if("undefined"!=typeof window)try{window.localStorage.removeItem(e)}catch(e){console.error(e)}finally{i(e)}},s=(e,n)=>{if("undefined"==typeof window)return null;try{const o=window.localStorage.getItem(e);return null===o?null:n(o)}catch(e){return console.warn(e),null}},u=()=>{throw r.noSSRError("useLocalStorage cannot be used on the server without a serverValue")},c=e=>"function"==typeof e,d=e=>e;exports.useLocalStorage=function(r,i){var w;let f=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{serializer:JSON.stringify,deserializer:JSON.parse};const y=e.useCallback(e=>{if("undefined"==typeof window)return n.noop;const o=n=>{"key"in n&&n.key!==r||e()},i=n=>{n.detail===r&&e()};return window.addEventListener("storage",o),window.addEventListener(t,i),()=>{window.removeEventListener("storage",o),window.removeEventListener(t,i)}},[r]),v=f.raw?d:f.serializer,p=f.raw?d:f.deserializer,g=void 0!==i?()=>i:u,h=e.useSyncExternalStore(y,()=>s(r,p),g),S=e.useCallback(e=>{try{const n=c(e)?e(null!=h?h:null):e;null===n?a(r):l(r,n,v)}catch(e){console.warn(e)}},[r,v,h]);return o.useIsomorphicLayoutEffect(()=>{null===s(r,p)&&void 0!==i&&l(r,i,v)},[p,r,v,i]),[null!==(w=null!=h?h:i)&&void 0!==w?w:null,S]};
1
+ "use strict";require("client-only");var e=require("../create-storage-hook/index.cjs");require("react"),require("../noop/index.cjs"),require("../use-isomorphic-layout-effect/index.cjs"),require("../no-ssr/index.cjs");const{useStorage:r,useSetStorage:o}=e.createStorage("localStorage");exports.useLocalStorage=r,exports.useSetLocalStorage=o;
@@ -1,24 +1,8 @@
1
1
  import * as react from 'react';
2
+ import { UseStorageRawOption, UseStorageParserOption, Serializer } from '../create-storage-hook/index.js';
3
+ export { Deserializer } from '../create-storage-hook/index.js';
2
4
 
3
- declare const FOXACT_LOCAL_STORAGE_EVENT_KEY = "foxact-local-storage";
4
- type CustomStorageEvent = CustomEvent<string>;
5
- declare global {
6
- interface WindowEventMap {
7
- [FOXACT_LOCAL_STORAGE_EVENT_KEY]: CustomStorageEvent;
8
- }
9
- }
10
- type Serializer<T> = (value: T) => string;
11
- type Deserializer<T> = (value: string) => T;
12
- interface UseLocalStorageRawOption {
13
- raw: true;
14
- }
15
- interface UseLocalStorageParserOption<T> {
16
- raw?: false;
17
- serializer: Serializer<T>;
18
- deserializer: Deserializer<T>;
19
- }
20
- type NotUndefined<T> = T extends undefined ? never : T;
21
- /** @see https://foxact.skk.moe/use-local-storage */
22
- declare function useLocalStorage<T>(key: string, serverValue?: NotUndefined<T> | undefined, options?: UseLocalStorageRawOption | UseLocalStorageParserOption<T>): readonly [NonNullable<T> | null, react.Dispatch<react.SetStateAction<T | null>>];
5
+ declare const useLocalStorage: <T>(key: string, serverValue?: (T extends undefined ? never : T) | undefined, options?: UseStorageRawOption | UseStorageParserOption<T>) => readonly [NonNullable<T> | null, react.Dispatch<react.SetStateAction<T | null>>];
6
+ declare const useSetLocalStorage: <T>(key: string, serializer: Serializer<T>) => (v: T | null) => void;
23
7
 
24
- export { type Deserializer, type Serializer, type UseLocalStorageParserOption, type UseLocalStorageRawOption, useLocalStorage };
8
+ export { Serializer, UseStorageParserOption as UseLocalStorageParserOption, UseStorageRawOption as UseLocalStorageRawOption, useLocalStorage, useSetLocalStorage };
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react"),n=require("../noop/index.js"),o=require("../use-isomorphic-layout-effect/index.js"),r=require("../no-ssr/index.js");const t="foxact-local-storage",i=e=>{"undefined"!=typeof window&&window.dispatchEvent(new CustomEvent(t,{detail:e}))},l=(e,n,o)=>{if("undefined"!=typeof window)try{window.localStorage.setItem(e,o(n))}catch(e){console.error(e)}finally{i(e)}},a=e=>{if("undefined"!=typeof window)try{window.localStorage.removeItem(e)}catch(e){console.error(e)}finally{i(e)}},s=(e,n)=>{if("undefined"==typeof window)return null;try{const o=window.localStorage.getItem(e);return null===o?null:n(o)}catch(e){return console.warn(e),null}},u=()=>{throw r.noSSRError("useLocalStorage cannot be used on the server without a serverValue")},d=e=>"function"==typeof e,c=e=>e;exports.useLocalStorage=function(r,i){var w;let f=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{serializer:JSON.stringify,deserializer:JSON.parse};const y=e.useCallback(e=>{if("undefined"==typeof window)return n.noop;const o=n=>{"key"in n&&n.key!==r||e()},i=n=>{n.detail===r&&e()};return window.addEventListener("storage",o),window.addEventListener(t,i),()=>{window.removeEventListener("storage",o),window.removeEventListener(t,i)}},[r]),v=f.raw?c:f.serializer,p=f.raw?c:f.deserializer,g=void 0!==i?()=>i:u,h=e.useSyncExternalStore(y,()=>s(r,p),g),S=e.useCallback(e=>{try{const n=d(e)?e(null!=h?h:null):e;null===n?a(r):l(r,n,v)}catch(e){console.warn(e)}},[r,v,h]);return o.useIsomorphicLayoutEffect(()=>{null===s(r,p)&&void 0!==i&&l(r,i,v)},[p,r,v,i]),[null!==(w=null!=h?h:i)&&void 0!==w?w:null,S]};
1
+ "use strict";require("client-only");var e=require("../create-storage-hook/index.js");require("react"),require("../noop/index.js"),require("../use-isomorphic-layout-effect/index.js"),require("../no-ssr/index.js");const{useStorage:r,useSetStorage:o}=e.createStorage("localStorage");exports.useLocalStorage=r,exports.useSetLocalStorage=o;
@@ -1 +1 @@
1
- import"client-only";import{useCallback as e,useSyncExternalStore as n}from"react";import{noop as o}from"../noop/index.mjs";import{useIsomorphicLayoutEffect as t}from"../use-isomorphic-layout-effect/index.mjs";import{noSSRError as r}from"../no-ssr/index.mjs";const i="foxact-local-storage",l=e=>{"undefined"!=typeof window&&window.dispatchEvent(new CustomEvent(i,{detail:e}))},a=(e,n,o)=>{if("undefined"!=typeof window)try{window.localStorage.setItem(e,o(n))}catch(e){console.error(e)}finally{l(e)}},d=e=>{if("undefined"!=typeof window)try{window.localStorage.removeItem(e)}catch(e){console.error(e)}finally{l(e)}},s=(e,n)=>{if("undefined"==typeof window)return null;try{const o=window.localStorage.getItem(e);return null===o?null:n(o)}catch(e){return console.warn(e),null}},w=()=>{throw r("useLocalStorage cannot be used on the server without a serverValue")},c=e=>"function"==typeof e,u=e=>e;function f(r,l){var f;let m=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{serializer:JSON.stringify,deserializer:JSON.parse};const y=e(e=>{if("undefined"==typeof window)return o;const n=n=>{"key"in n&&n.key!==r||e()},t=n=>{n.detail===r&&e()};return window.addEventListener("storage",n),window.addEventListener(i,t),()=>{window.removeEventListener("storage",n),window.removeEventListener(i,t)}},[r]),p=m.raw?u:m.serializer,v=m.raw?u:m.deserializer,g=void 0!==l?()=>l:w,h=n(y,()=>s(r,v),g),S=e(e=>{try{const n=c(e)?e(null!=h?h:null):e;null===n?d(r):a(r,n,p)}catch(e){console.warn(e)}},[r,p,h]);return t(()=>{null===s(r,v)&&void 0!==l&&a(r,l,p)},[v,r,p,l]),[null!==(f=null!=h?h:l)&&void 0!==f?f:null,S]}export{f as useLocalStorage};
1
+ import"client-only";import{createStorage as o}from"../create-storage-hook/index.mjs";import"react";import"../noop/index.mjs";import"../use-isomorphic-layout-effect/index.mjs";import"../no-ssr/index.mjs";const{useStorage:e,useSetStorage:t}=o("localStorage");export{e as useLocalStorage,t as useSetLocalStorage};
package/use-map/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react");exports.useMap=function(){let a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>new Map;const[t,l]=e.useState(a),s=e.useCallback((e,a)=>l(t=>(t.set(e,a),new Map(t))),[]),n=e.useCallback(e=>l(a=>a.has(e)?(a.delete(e),new Map(a)):a),[]),u=e.useCallback(()=>l(new Map),[]),r=e.useCallback(e=>l(e),[]);return[t,s,n,u,r]};
1
+ "use strict";require("client-only");var e=require("react");exports.useMap=function(){let a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>new Map;const[t,l]=e.useState(a),s=e.useCallback((e,a)=>l(t=>(t.set(e,a),new Map(t))),[]),n=e.useCallback(e=>l(a=>a.has(e)?(a.delete(e),new Map(a)):a),[]),u=e.useCallback(()=>l(new Map),[]),r=e.useCallback(e=>l(e),[]);return[t,s,n,u,r]};
package/use-map/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react");exports.useMap=function(){let a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>new Map;const[t,l]=e.useState(a),s=e.useCallback((e,a)=>l(t=>(t.set(e,a),new Map(t))),[]),n=e.useCallback(e=>l(a=>a.has(e)?(a.delete(e),new Map(a)):a),[]),u=e.useCallback(()=>l(new Map),[]),r=e.useCallback(e=>l(e),[]);return[t,s,n,u,r]};
1
+ "use strict";require("client-only");var e=require("react");exports.useMap=function(){let a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>new Map;const[t,l]=e.useState(a),s=e.useCallback((e,a)=>l(t=>(t.set(e,a),new Map(t))),[]),n=e.useCallback(e=>l(a=>a.has(e)?(a.delete(e),new Map(a)):a),[]),u=e.useCallback(()=>l(new Map),[]),r=e.useCallback(e=>l(e),[]);return[t,s,n,u,r]};
package/use-map/index.mjs CHANGED
@@ -1 +1 @@
1
- import"client-only";import{useState as e,useCallback as t}from"react";const n=function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>new Map;const[o,p]=e(n),a=t((e,t)=>p(n=>(n.set(e,t),new Map(n))),[]),r=t(e=>p(t=>t.has(e)?(t.delete(e),new Map(t)):t),[]),c=t(()=>p(new Map),[]),i=t(e=>p(e),[]);return[o,a,r,c,i]};export{n as useMap};
1
+ import"client-only";import{useState as e,useCallback as t}from"react";const n=function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>new Map;const[o,p]=e(n),a=t((e,t)=>p(n=>(n.set(e,t),new Map(n))),[]),r=t(e=>p(t=>t.has(e)?(t.delete(e),new Map(t)):t),[]),c=t(()=>p(new Map),[]),i=t(e=>p(e),[]);return[o,a,r,c,i]};export{n as useMap};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("next/router.js"),t=require("react");exports.useNextPathname=function(){let r=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const{asPath:n}=e.useRouter();return t.useMemo(()=>{const e=n.split(/[#?]/)[0];return r?e.endsWith("/")?e:"".concat(e,"/"):e},[r,n])};
1
+ "use strict";require("client-only");var e=require("next/router.js"),t=require("react");exports.useNextPathname=function(){let r=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const{asPath:n}=e.useRouter();return t.useMemo(()=>{const e=n.split(/[#?]/)[0];return r?e.endsWith("/")?e:"".concat(e,"/"):e},[r,n])};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("next/router.js"),t=require("react");exports.useNextPathname=function(){let r=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const{asPath:n}=e.useRouter();return t.useMemo(()=>{const e=n.split(/[#?]/)[0];return r?e.endsWith("/")?e:"".concat(e,"/"):e},[r,n])};
1
+ "use strict";require("client-only");var e=require("next/router.js"),t=require("react");exports.useNextPathname=function(){let r=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const{asPath:n}=e.useRouter();return t.useMemo(()=>{const e=n.split(/[#?]/)[0];return r?e.endsWith("/")?e:"".concat(e,"/"):e},[r,n])};
@@ -1 +1 @@
1
- import"client-only";import{useRouter as t}from"next/router.js";import{useMemo as n}from"react";const o=function(){let o=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const{asPath:e}=t();return n(()=>{const t=e.split(/[#?]/)[0];return o?t.endsWith("/")?t:"".concat(t,"/"):t},[o,e])};export{o as useNextPathname};
1
+ import"client-only";import{useRouter as t}from"next/router.js";import{useMemo as n}from"react";const o=function(){let o=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const{asPath:e}=t();return n(()=>{const t=e.split(/[#?]/)[0];return o?t.endsWith("/")?t:"".concat(t,"/"):t},[o,e])};export{o as useNextPathname};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";require("client-only");var r=require("react"),e=require("react-router-dom");const t=()=>{const{navigator:t}=r.useContext(e.UNSAFE_NavigationContext);if(!t)throw TypeError("[foxact] useReactRouterEnableConcurrentNavigation must be used under <RouterProvider /> or a Router component (e.g. <BrowserRouter />)");r.useEffect(()=>{const e=t.go.bind(t),n=t.push.bind(t),o=t.replace.bind(t);return t.go=function(){for(var n=arguments.length,o=Array(n),a=0;a<n;a++)o[a]=arguments[a];return r.startTransition(()=>e.apply(t,o))},t.push=function(){for(var e=arguments.length,o=Array(e),a=0;a<e;a++)o[a]=arguments[a];return r.startTransition(()=>n.apply(t,o))},t.replace=function(){for(var e=arguments.length,n=Array(e),a=0;a<e;a++)n[a]=arguments[a];return r.startTransition(()=>o.apply(t,n))},()=>{t.go=e,t.push=n,t.replace=o}},[t])};exports.ReactRouterConcurrentNavigationProvider=r=>{let{children:e}=r;return t(),e},exports.useReactRouterEnableConcurrentNavigation=t;
2
+ "use strict";require("client-only");var r=require("react"),e=require("react-router-dom");const t=()=>{const{navigator:t}=r.useContext(e.UNSAFE_NavigationContext);if(!t)throw TypeError("[foxact] useReactRouterEnableConcurrentNavigation must be used under <RouterProvider /> or a Router component (e.g. <BrowserRouter />)");r.useEffect(()=>{const e=t.go.bind(t),n=t.push.bind(t),o=t.replace.bind(t);return t.go=function(){for(var n=arguments.length,o=Array(n),a=0;a<n;a++)o[a]=arguments[a];return r.startTransition(()=>e.apply(t,o))},t.push=function(){for(var e=arguments.length,o=Array(e),a=0;a<e;a++)o[a]=arguments[a];return r.startTransition(()=>n.apply(t,o))},t.replace=function(){for(var e=arguments.length,n=Array(e),a=0;a<e;a++)n[a]=arguments[a];return r.startTransition(()=>o.apply(t,n))},()=>{t.go=e,t.push=n,t.replace=o}},[t])};exports.ReactRouterConcurrentNavigationProvider=r=>{let{children:e}=r;return t(),e},exports.useReactRouterEnableConcurrentNavigation=t;
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";require("client-only");var r=require("react"),e=require("react-router-dom");const t=()=>{const{navigator:t}=r.useContext(e.UNSAFE_NavigationContext);if(!t)throw TypeError("[foxact] useReactRouterEnableConcurrentNavigation must be used under <RouterProvider /> or a Router component (e.g. <BrowserRouter />)");r.useEffect(()=>{const e=t.go.bind(t),n=t.push.bind(t),o=t.replace.bind(t);return t.go=function(){for(var n=arguments.length,o=Array(n),a=0;a<n;a++)o[a]=arguments[a];return r.startTransition(()=>e.apply(t,o))},t.push=function(){for(var e=arguments.length,o=Array(e),a=0;a<e;a++)o[a]=arguments[a];return r.startTransition(()=>n.apply(t,o))},t.replace=function(){for(var e=arguments.length,n=Array(e),a=0;a<e;a++)n[a]=arguments[a];return r.startTransition(()=>o.apply(t,n))},()=>{t.go=e,t.push=n,t.replace=o}},[t])};exports.ReactRouterConcurrentNavigationProvider=r=>{let{children:e}=r;return t(),e},exports.useReactRouterEnableConcurrentNavigation=t;
2
+ "use strict";require("client-only");var r=require("react"),e=require("react-router-dom");const t=()=>{const{navigator:t}=r.useContext(e.UNSAFE_NavigationContext);if(!t)throw TypeError("[foxact] useReactRouterEnableConcurrentNavigation must be used under <RouterProvider /> or a Router component (e.g. <BrowserRouter />)");r.useEffect(()=>{const e=t.go.bind(t),n=t.push.bind(t),o=t.replace.bind(t);return t.go=function(){for(var n=arguments.length,o=Array(n),a=0;a<n;a++)o[a]=arguments[a];return r.startTransition(()=>e.apply(t,o))},t.push=function(){for(var e=arguments.length,o=Array(e),a=0;a<e;a++)o[a]=arguments[a];return r.startTransition(()=>n.apply(t,o))},t.replace=function(){for(var e=arguments.length,n=Array(e),a=0;a<e;a++)n[a]=arguments[a];return r.startTransition(()=>o.apply(t,n))},()=>{t.go=e,t.push=n,t.replace=o}},[t])};exports.ReactRouterConcurrentNavigationProvider=r=>{let{children:e}=r;return t(),e},exports.useReactRouterEnableConcurrentNavigation=t;
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import"client-only";import{useContext as r,useEffect as e,startTransition as o}from"react";import{UNSAFE_NavigationContext as t}from"react-router-dom";const n=()=>{const{navigator:n}=r(t);if(!n)throw TypeError("[foxact] useReactRouterEnableConcurrentNavigation must be used under <RouterProvider /> or a Router component (e.g. <BrowserRouter />)");e(()=>{const r=n.go.bind(n),e=n.push.bind(n),t=n.replace.bind(n);return n.go=function(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];return o(()=>r.apply(n,t))},n.push=function(){for(var r=arguments.length,t=Array(r),a=0;a<r;a++)t[a]=arguments[a];return o(()=>e.apply(n,t))},n.replace=function(){for(var r=arguments.length,e=Array(r),a=0;a<r;a++)e[a]=arguments[a];return o(()=>t.apply(n,e))},()=>{n.go=r,n.push=e,n.replace=t}},[n])},a=r=>{let{children:e}=r;return n(),e};export{a as ReactRouterConcurrentNavigationProvider,n as useReactRouterEnableConcurrentNavigation};
2
+ import"client-only";import{useContext as r,useEffect as e,startTransition as o}from"react";import{UNSAFE_NavigationContext as t}from"react-router-dom";const n=()=>{const{navigator:n}=r(t);if(!n)throw TypeError("[foxact] useReactRouterEnableConcurrentNavigation must be used under <RouterProvider /> or a Router component (e.g. <BrowserRouter />)");e(()=>{const r=n.go.bind(n),e=n.push.bind(n),t=n.replace.bind(n);return n.go=function(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];return o(()=>r.apply(n,t))},n.push=function(){for(var r=arguments.length,t=Array(r),a=0;a<r;a++)t[a]=arguments[a];return o(()=>e.apply(n,t))},n.replace=function(){for(var r=arguments.length,e=Array(r),a=0;a<r;a++)e[a]=arguments[a];return o(()=>t.apply(n,e))},()=>{n.go=r,n.push=e,n.replace=t}},[n])},a=r=>{let{children:e}=r;return n(),e};export{a as ReactRouterConcurrentNavigationProvider,n as useReactRouterEnableConcurrentNavigation};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react"),t=require("react-router-dom");exports.useReactRouterIsMatch=function(r){let{relative:a,caseSensitive:o=!1,end:n=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{pathname:s}=t.useLocation(),{navigator:{encodeLocation:u}}=e.useContext(t.UNSAFE_NavigationContext),i=t.useResolvedPath(r,{relative:a});return e.useMemo(()=>{let e=s,t=u?u(i).pathname:i.pathname;return o||(e=e.toLowerCase(),t=t.toLowerCase()),e===t||!n&&e.startsWith(t)&&"/"===e.charAt(t.length)},[u,i,s,o,n])};
1
+ "use strict";require("client-only");var e=require("react"),t=require("react-router-dom");exports.useReactRouterIsMatch=function(r){let{relative:a,caseSensitive:o=!1,end:n=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{pathname:s}=t.useLocation(),{navigator:{encodeLocation:u}}=e.useContext(t.UNSAFE_NavigationContext),i=t.useResolvedPath(r,{relative:a});return e.useMemo(()=>{let e=s,t=u?u(i).pathname:i.pathname;return o||(e=e.toLowerCase(),t=t.toLowerCase()),e===t||!n&&e.startsWith(t)&&"/"===e.charAt(t.length)},[u,i,s,o,n])};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react"),t=require("react-router-dom");exports.useReactRouterIsMatch=function(r){let{relative:a,caseSensitive:o=!1,end:n=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{pathname:s}=t.useLocation(),{navigator:{encodeLocation:u}}=e.useContext(t.UNSAFE_NavigationContext),i=t.useResolvedPath(r,{relative:a});return e.useMemo(()=>{let e=s,t=u?u(i).pathname:i.pathname;return o||(e=e.toLowerCase(),t=t.toLowerCase()),e===t||!n&&e.startsWith(t)&&"/"===e.charAt(t.length)},[u,i,s,o,n])};
1
+ "use strict";require("client-only");var e=require("react"),t=require("react-router-dom");exports.useReactRouterIsMatch=function(r){let{relative:a,caseSensitive:o=!1,end:n=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{pathname:s}=t.useLocation(),{navigator:{encodeLocation:u}}=e.useContext(t.UNSAFE_NavigationContext),i=t.useResolvedPath(r,{relative:a});return e.useMemo(()=>{let e=s,t=u?u(i).pathname:i.pathname;return o||(e=e.toLowerCase(),t=t.toLowerCase()),e===t||!n&&e.startsWith(t)&&"/"===e.charAt(t.length)},[u,i,s,o,n])};
@@ -1 +1 @@
1
- import"client-only";import{useContext as t,useMemo as e}from"react";import{useLocation as r,UNSAFE_NavigationContext as o,useResolvedPath as a}from"react-router-dom";const n=function(n){let{relative:c,caseSensitive:m=!1,end:h=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{pathname:i}=r(),{navigator:{encodeLocation:s}}=t(o),p=a(n,{relative:c});return e(()=>{let t=i,e=s?s(p).pathname:p.pathname;return m||(t=t.toLowerCase(),e=e.toLowerCase()),t===e||!h&&t.startsWith(e)&&"/"===t.charAt(e.length)},[s,p,i,m,h])};export{n as useReactRouterIsMatch};
1
+ import"client-only";import{useContext as t,useMemo as e}from"react";import{useLocation as r,UNSAFE_NavigationContext as o,useResolvedPath as a}from"react-router-dom";const n=function(n){let{relative:c,caseSensitive:m=!1,end:h=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{pathname:i}=r(),{navigator:{encodeLocation:s}}=t(o),p=a(n,{relative:c});return e(()=>{let t=i,e=s?s(p).pathname:p.pathname;return m||(t=t.toLowerCase(),e=e.toLowerCase()),t===e||!h&&t.startsWith(e)&&"/"===t.charAt(e.length)},[s,p,i,m,h])};export{n as useReactRouterIsMatch};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react");exports.useRetimer=()=>{const r=e.useRef();return e.useCallback(e=>{"number"==typeof r.current&&clearTimeout(r.current),r.current=e},[])};
1
+ "use strict";require("client-only");var e=require("react");exports.useRetimer=()=>{const r=e.useRef();return e.useCallback(e=>{"number"==typeof r.current&&clearTimeout(r.current),r.current=e},[])};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react");exports.useRetimer=()=>{const r=e.useRef();return e.useCallback(e=>{"number"==typeof r.current&&clearTimeout(r.current),r.current=e},[])};
1
+ "use strict";require("client-only");var e=require("react");exports.useRetimer=()=>{const r=e.useRef();return e.useCallback(e=>{"number"==typeof r.current&&clearTimeout(r.current),r.current=e},[])};
@@ -1 +1 @@
1
- import"client-only";import{useRef as r,useCallback as e}from"react";const t=()=>{const t=r();return e(r=>{"number"==typeof t.current&&clearTimeout(t.current),t.current=r},[])};export{t as useRetimer};
1
+ import"client-only";import{useRef as r,useCallback as e}from"react";const t=()=>{const t=r();return e(r=>{"number"==typeof t.current&&clearTimeout(t.current),t.current=r},[])};export{t as useRetimer};
@@ -0,0 +1 @@
1
+ "use strict";require("client-only");var e=require("../create-storage-hook/index.cjs");require("react"),require("../noop/index.cjs"),require("../use-isomorphic-layout-effect/index.cjs"),require("../no-ssr/index.cjs");const{useStorage:r,useSetStorage:s}=e.createStorage("sessionStorage");exports.useSessionStorage=r,exports.useSetSessionStorage=s;
@@ -0,0 +1,8 @@
1
+ import * as react from 'react';
2
+ import { UseStorageRawOption, UseStorageParserOption, Serializer } from '../create-storage-hook/index.js';
3
+ export { Deserializer } from '../create-storage-hook/index.js';
4
+
5
+ declare const useSessionStorage: <T>(key: string, serverValue?: (T extends undefined ? never : T) | undefined, options?: UseStorageRawOption | UseStorageParserOption<T>) => readonly [NonNullable<T> | null, react.Dispatch<react.SetStateAction<T | null>>];
6
+ declare const useSetSessionStorage: <T>(key: string, serializer: Serializer<T>) => (v: T | null) => void;
7
+
8
+ export { Serializer, UseStorageParserOption as UseSessionStorageParserOption, UseStorageRawOption as UseSessionStorageRawOption, useSessionStorage, useSetSessionStorage };
@@ -0,0 +1 @@
1
+ "use strict";require("client-only");var e=require("../create-storage-hook/index.js");require("react"),require("../noop/index.js"),require("../use-isomorphic-layout-effect/index.js"),require("../no-ssr/index.js");const{useStorage:r,useSetStorage:s}=e.createStorage("sessionStorage");exports.useSessionStorage=r,exports.useSetSessionStorage=s;
@@ -0,0 +1 @@
1
+ import"client-only";import{createStorage as e}from"../create-storage-hook/index.mjs";import"react";import"../noop/index.mjs";import"../use-isomorphic-layout-effect/index.mjs";import"../no-ssr/index.mjs";const{useStorage:o,useSetStorage:s}=e("sessionStorage");export{o as useSessionStorage,s as useSetSessionStorage};
package/use-set/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react");exports.useSet=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>new Set;const[a,l]=e.useState(t),s=e.useCallback(e=>l(t=>t.has(e)?t:new Set([...t,e])),[]),n=e.useCallback(e=>l(t=>t.has(e)?(t.delete(e),new Set(t)):t),[]),u=e.useCallback(()=>l(new Set),[]),r=e.useCallback(e=>l(e),[]);return[a,s,n,u,r]};
1
+ "use strict";require("client-only");var e=require("react");exports.useSet=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>new Set;const[a,l]=e.useState(t),s=e.useCallback(e=>l(t=>t.has(e)?t:new Set([...t,e])),[]),n=e.useCallback(e=>l(t=>t.has(e)?(t.delete(e),new Set(t)):t),[]),u=e.useCallback(()=>l(new Set),[]),r=e.useCallback(e=>l(e),[]);return[a,s,n,u,r]};
package/use-set/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react");exports.useSet=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>new Set;const[a,l]=e.useState(t),s=e.useCallback(e=>l(t=>t.has(e)?t:new Set([...t,e])),[]),n=e.useCallback(e=>l(t=>t.has(e)?(t.delete(e),new Set(t)):t),[]),u=e.useCallback(()=>l(new Set),[]),r=e.useCallback(e=>l(e),[]);return[a,s,n,u,r]};
1
+ "use strict";require("client-only");var e=require("react");exports.useSet=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>new Set;const[a,l]=e.useState(t),s=e.useCallback(e=>l(t=>t.has(e)?t:new Set([...t,e])),[]),n=e.useCallback(e=>l(t=>t.has(e)?(t.delete(e),new Set(t)):t),[]),u=e.useCallback(()=>l(new Set),[]),r=e.useCallback(e=>l(e),[]);return[a,s,n,u,r]};
package/use-set/index.mjs CHANGED
@@ -1 +1 @@
1
- import"client-only";import{useState as e,useCallback as t}from"react";const n=function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>new Set;const[o,r]=e(n),c=t(e=>r(t=>t.has(e)?t:new Set([...t,e])),[]),i=t(e=>r(t=>t.has(e)?(t.delete(e),new Set(t)):t),[]),l=t(()=>r(new Set),[]),s=t(e=>r(e),[]);return[o,c,i,l,s]};export{n as useSet};
1
+ import"client-only";import{useState as e,useCallback as t}from"react";const n=function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>new Set;const[o,r]=e(n),c=t(e=>r(t=>t.has(e)?t:new Set([...t,e])),[]),i=t(e=>r(t=>t.has(e)?(t.delete(e),new Set(t)):t),[]),l=t(()=>r(new Set),[]),s=t(e=>r(e),[]);return[o,c,i,l,s]};export{n as useSet};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react");exports.useSingleton=r=>{const t=e.useRef();return t.current||(t.current=r()),t};
1
+ "use strict";require("client-only");var e=require("react");exports.useSingleton=r=>{const t=e.useRef();return t.current||(t.current=r()),t};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react");exports.useSingleton=r=>{const t=e.useRef();return t.current||(t.current=r()),t};
1
+ "use strict";require("client-only");var e=require("react");exports.useSingleton=r=>{const t=e.useRef();return t.current||(t.current=r()),t};
@@ -1 +1 @@
1
- import"client-only";import{useRef as r}from"react";const t=t=>{const n=r();return n.current||(n.current=t()),n};export{t as useSingleton};
1
+ import"client-only";import{useRef as r}from"react";const t=t=>{const n=r();return n.current||(n.current=t()),n};export{t as useSingleton};
@@ -1 +1 @@
1
- "use strict";var e=require("react");const t="undefined"!=typeof window?e.useInsertionEffect||e.useLayoutEffect:e.useEffect;function n(){throw Error("foxact: the stablized handler cannot be invoked before the component has mounted.")}exports.useStableHandler=function(r){const o=e.useRef(n);return t(()=>{o.current=r},[r]),e.useCallback(function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];const r=o.current;return r(...t)},[])};
1
+ "use strict";var e=require("react");const t="undefined"!=typeof window?e.useInsertionEffect||e.useLayoutEffect:e.useEffect;function n(){throw Error("foxact: the stablized handler cannot be invoked before the component has mounted.")}exports.useStableHandler=function(r){const o=e.useRef(n);return t(()=>{o.current=r},[r]),e.useCallback(function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];const r=o.current;return r(...t)},[])};
@@ -1 +1 @@
1
- "use strict";var e=require("react");const t="undefined"!=typeof window?e.useInsertionEffect||e.useLayoutEffect:e.useEffect;function n(){throw Error("foxact: the stablized handler cannot be invoked before the component has mounted.")}exports.useStableHandler=function(r){const o=e.useRef(n);return t(()=>{o.current=r},[r]),e.useCallback(function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];const r=o.current;return r(...t)},[])};
1
+ "use strict";var e=require("react");const t="undefined"!=typeof window?e.useInsertionEffect||e.useLayoutEffect:e.useEffect;function n(){throw Error("foxact: the stablized handler cannot be invoked before the component has mounted.")}exports.useStableHandler=function(r){const o=e.useRef(n);return t(()=>{o.current=r},[r]),e.useCallback(function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];const r=o.current;return r(...t)},[])};
@@ -1 +1 @@
1
- import n,{useLayoutEffect as e,useEffect as t,useRef as r,useCallback as o}from"react";const c="undefined"!=typeof window?n.useInsertionEffect||e:t;function f(n){const e=r(u);return c(()=>{e.current=n},[n]),o(function(){for(var n=arguments.length,t=Array(n),r=0;r<n;r++)t[r]=arguments[r];const o=e.current;return o(...t)},[])}function u(){throw Error("foxact: the stablized handler cannot be invoked before the component has mounted.")}export{f as useStableHandler};
1
+ import n,{useLayoutEffect as e,useEffect as t,useRef as r,useCallback as o}from"react";const c="undefined"!=typeof window?n.useInsertionEffect||e:t;function f(n){const e=r(u);return c(()=>{e.current=n},[n]),o(function(){for(var n=arguments.length,t=Array(n),r=0;r<n;r++)t[r]=arguments[r];const o=e.current;return o(...t)},[])}function u(){throw Error("foxact: the stablized handler cannot be invoked before the component has mounted.")}export{f as useStableHandler};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react");const r=e=>e;exports.useUncontrolled=function(t){let u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r;const n=e.useRef(null),[c,l]=e.useReducer((e,r)=>u(r),t),s=e.useCallback(()=>{n.current&&l(n.current.value)},[]);return[c,s,n]};
1
+ "use strict";require("client-only");var e=require("react");const r=e=>e;exports.useUncontrolled=function(t){let u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r;const n=e.useRef(null),[c,l]=e.useReducer((e,r)=>u(r),t),s=e.useCallback(()=>{n.current&&l(n.current.value)},[]);return[c,s,n]};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react");const r=e=>e;exports.useUncontrolled=function(t){let u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r;const n=e.useRef(null),[c,l]=e.useReducer((e,r)=>u(r),t),s=e.useCallback(()=>{n.current&&l(n.current.value)},[]);return[c,s,n]};
1
+ "use strict";require("client-only");var e=require("react");const r=e=>e;exports.useUncontrolled=function(t){let u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r;const n=e.useRef(null),[c,l]=e.useReducer((e,r)=>u(r),t),s=e.useCallback(()=>{n.current&&l(n.current.value)},[]);return[c,s,n]};
@@ -1 +1 @@
1
- import"client-only";import{useRef as t,useReducer as n,useCallback as r}from"react";const e=t=>t;function o(o){let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;const c=t(null),[u,i]=n((t,n)=>l(n),o),m=r(()=>{c.current&&i(c.current.value)},[]);return[u,m,c]}export{o as useUncontrolled};
1
+ import"client-only";import{useRef as t,useReducer as n,useCallback as r}from"react";const e=t=>t;function o(o){let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;const c=t(null),[u,i]=n((t,n)=>l(n),o),m=r(()=>{c.current&&i(c.current.value)},[]);return[u,m,c]}export{o as useUncontrolled};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react"),n=require("../noop/index.cjs"),t=require("../use-stable-handler-only-when-you-know-what-you-are-doing-or-you-will-be-fired/index.cjs");const o=e=>e,r=(()=>{if("undefined"==typeof window)return e=>n.noop;let e=!1;const t=new Set,o=()=>{t.forEach(e=>e())};return n=>(t.add(n),e||(e=!0,window.addEventListener("hashchange",o)),()=>{t.delete(n)})})(),s=e=>"function"==typeof e;exports.unstable_useUrlHashState=function(n,a){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o;const i=t.useStableHandler(l);return[e.useSyncExternalStore(r,()=>{const e=new URLSearchParams(location.hash.slice(1)),t=e.get(n);return null!==t?l(t):a},()=>a),e.useCallback(e=>{let t;const o=location.hash,r=new URLSearchParams(o.slice(1));if(s(e)){const o=r.get(n);t=e(null!==o?i(o):a)}else t=e;t===a||void 0===t?r.delete(n):r.set(n,JSON.stringify(t));const l=r.toString();o!==l&&(location.hash=l)},[a,n,i])]};
1
+ "use strict";require("client-only");var e=require("react"),n=require("../noop/index.cjs"),t=require("../use-stable-handler-only-when-you-know-what-you-are-doing-or-you-will-be-fired/index.cjs");const o=e=>e,r=(()=>{if("undefined"==typeof window)return e=>n.noop;let e=!1;const t=new Set,o=()=>{t.forEach(e=>e())};return n=>(t.add(n),e||(e=!0,window.addEventListener("hashchange",o)),()=>{t.delete(n)})})(),s=e=>"function"==typeof e;exports.unstable_useUrlHashState=function(n,a){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o;const i=t.useStableHandler(l);return[e.useSyncExternalStore(r,()=>{const e=new URLSearchParams(location.hash.slice(1)),t=e.get(n);return null!==t?l(t):a},()=>a),e.useCallback(e=>{let t;const o=location.hash,r=new URLSearchParams(o.slice(1));if(s(e)){const o=r.get(n);t=e(null!==o?i(o):a)}else t=e;t===a||void 0===t?r.delete(n):r.set(n,JSON.stringify(t));const l=r.toString();o!==l&&(location.hash=l)},[a,n,i])]};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react"),n=require("../noop/index.js"),t=require("../use-stable-handler-only-when-you-know-what-you-are-doing-or-you-will-be-fired/index.js");const o=e=>e,r=(()=>{if("undefined"==typeof window)return e=>n.noop;let e=!1;const t=new Set,o=()=>{t.forEach(e=>e())};return n=>(t.add(n),e||(e=!0,window.addEventListener("hashchange",o)),()=>{t.delete(n)})})(),s=e=>"function"==typeof e;exports.unstable_useUrlHashState=function(n,a){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o;const i=t.useStableHandler(l);return[e.useSyncExternalStore(r,()=>{const e=new URLSearchParams(location.hash.slice(1)),t=e.get(n);return null!==t?l(t):a},()=>a),e.useCallback(e=>{let t;const o=location.hash,r=new URLSearchParams(o.slice(1));if(s(e)){const o=r.get(n);t=e(null!==o?i(o):a)}else t=e;t===a||void 0===t?r.delete(n):r.set(n,JSON.stringify(t));const l=r.toString();o!==l&&(location.hash=l)},[a,n,i])]};
1
+ "use strict";require("client-only");var e=require("react"),n=require("../noop/index.js"),t=require("../use-stable-handler-only-when-you-know-what-you-are-doing-or-you-will-be-fired/index.js");const o=e=>e,r=(()=>{if("undefined"==typeof window)return e=>n.noop;let e=!1;const t=new Set,o=()=>{t.forEach(e=>e())};return n=>(t.add(n),e||(e=!0,window.addEventListener("hashchange",o)),()=>{t.delete(n)})})(),s=e=>"function"==typeof e;exports.unstable_useUrlHashState=function(n,a){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o;const i=t.useStableHandler(l);return[e.useSyncExternalStore(r,()=>{const e=new URLSearchParams(location.hash.slice(1)),t=e.get(n);return null!==t?l(t):a},()=>a),e.useCallback(e=>{let t;const o=location.hash,r=new URLSearchParams(o.slice(1));if(s(e)){const o=r.get(n);t=e(null!==o?i(o):a)}else t=e;t===a||void 0===t?r.delete(n):r.set(n,JSON.stringify(t));const l=r.toString();o!==l&&(location.hash=l)},[a,n,i])]};
@@ -1 +1 @@
1
- import"client-only";import{useSyncExternalStore as e,useCallback as t}from"react";import{noop as n}from"../noop/index.mjs";import{useStableHandler as o}from"../use-stable-handler-only-when-you-know-what-you-are-doing-or-you-will-be-fired/index.mjs";const r=e=>e,s=(()=>{if("undefined"==typeof window)return e=>n;let e=!1;const t=new Set,o=()=>{t.forEach(e=>e())};return n=>(t.add(n),e||(e=!0,window.addEventListener("hashchange",o)),()=>{t.delete(n)})})(),a=e=>"function"==typeof e;function i(n,i){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:r;const c=o(l);return[e(s,()=>{const e=new URLSearchParams(location.hash.slice(1)),t=e.get(n);return null!==t?l(t):i},()=>i),t(e=>{let t;const o=location.hash,r=new URLSearchParams(o.slice(1));if(a(e)){const o=r.get(n);t=e(null!==o?c(o):i)}else t=e;t===i||void 0===t?r.delete(n):r.set(n,JSON.stringify(t));const s=r.toString();o!==s&&(location.hash=s)},[i,n,c])]}export{i as unstable_useUrlHashState};
1
+ import"client-only";import{useSyncExternalStore as e,useCallback as t}from"react";import{noop as n}from"../noop/index.mjs";import{useStableHandler as o}from"../use-stable-handler-only-when-you-know-what-you-are-doing-or-you-will-be-fired/index.mjs";const r=e=>e,s=(()=>{if("undefined"==typeof window)return e=>n;let e=!1;const t=new Set,o=()=>{t.forEach(e=>e())};return n=>(t.add(n),e||(e=!0,window.addEventListener("hashchange",o)),()=>{t.delete(n)})})(),a=e=>"function"==typeof e;function i(n,i){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:r;const c=o(l);return[e(s,()=>{const e=new URLSearchParams(location.hash.slice(1)),t=e.get(n);return null!==t?l(t):i},()=>i),t(e=>{let t;const o=location.hash,r=new URLSearchParams(o.slice(1));if(a(e)){const o=r.get(n);t=e(null!==o?c(o):i)}else t=e;t===i||void 0===t?r.delete(n):r.set(n,JSON.stringify(t));const s=r.toString();o!==s&&(location.hash=s)},[i,n,c])]}export{i as unstable_useUrlHashState};