foxact 0.2.0 → 0.2.2

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 (43) hide show
  1. package/context-state/index.cjs +1 -1
  2. package/context-state/index.js +1 -1
  3. package/context-state/index.mjs +1 -1
  4. package/noop/index.cjs +1 -0
  5. package/noop/index.d.ts +6 -0
  6. package/noop/index.js +1 -0
  7. package/noop/index.mjs +1 -0
  8. package/package.json +82 -1
  9. package/request-idle-callback/index.cjs +1 -0
  10. package/request-idle-callback/index.d.ts +4 -0
  11. package/request-idle-callback/index.js +1 -0
  12. package/request-idle-callback/index.mjs +1 -0
  13. package/typescript-happy-forward-ref/index.cjs +1 -0
  14. package/typescript-happy-forward-ref/index.d.ts +6 -0
  15. package/typescript-happy-forward-ref/index.js +1 -0
  16. package/typescript-happy-forward-ref/index.mjs +1 -0
  17. package/use-array/index.cjs +1 -0
  18. package/use-array/index.d.ts +3 -0
  19. package/use-array/index.js +1 -0
  20. package/use-array/index.mjs +1 -0
  21. package/use-clipboard/index.cjs +1 -0
  22. package/use-clipboard/index.d.ts +15 -0
  23. package/use-clipboard/index.js +1 -0
  24. package/use-clipboard/index.mjs +1 -0
  25. package/use-error-boundary/index.cjs +1 -0
  26. package/use-error-boundary/index.d.ts +6 -0
  27. package/use-error-boundary/index.js +1 -0
  28. package/use-error-boundary/index.mjs +1 -0
  29. package/use-intersection/index.cjs +1 -1
  30. package/use-intersection/index.js +1 -1
  31. package/use-intersection/index.mjs +1 -1
  32. package/use-map/index.cjs +1 -0
  33. package/use-map/index.d.ts +3 -0
  34. package/use-map/index.js +1 -0
  35. package/use-map/index.mjs +1 -0
  36. package/use-set/index.cjs +1 -0
  37. package/use-set/index.d.ts +3 -0
  38. package/use-set/index.js +1 -0
  39. package/use-set/index.mjs +1 -0
  40. package/use-uncontrolled/index.cjs +1 -0
  41. package/use-uncontrolled/index.d.ts +5 -0
  42. package/use-uncontrolled/index.js +1 -0
  43. package/use-uncontrolled/index.mjs +1 -0
@@ -1 +1 @@
1
- "use strict";var e=require("react/jsx-runtime");require("client-only");var t=require("react");const r=()=>{};exports.createContextState=function(n){let u=t.createContext(n),a=t.createContext(r);return[r=>{let{children:c}=r,[i,o]=t.useState(n);return e.jsx(u.Provider,{value:i,children:e.jsx(a.Provider,{value:o,children:c})})},()=>t.useContext(u),()=>t.useContext(a)]};
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){let o=t.createContext(n),u=t.createContext(r.noop);return[r=>{let{children:i}=r,[a,c]=t.useState(n);return e.jsx(o.Provider,{value:a,children:e.jsx(u.Provider,{value:c,children:i})})},()=>t.useContext(o),()=>t.useContext(u)]};
@@ -1 +1 @@
1
- "use strict";var e=require("react/jsx-runtime");require("client-only");var t=require("react");const r=()=>{};exports.createContextState=function(n){let u=t.createContext(n),a=t.createContext(r);return[r=>{let{children:c}=r,[i,o]=t.useState(n);return e.jsx(u.Provider,{value:i,children:e.jsx(a.Provider,{value:o,children:c})})},()=>t.useContext(u),()=>t.useContext(a)]};
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){let o=t.createContext(n),u=t.createContext(r.noop);return[r=>{let{children:i}=r,[a,c]=t.useState(n);return e.jsx(o.Provider,{value:a,children:e.jsx(u.Provider,{value:c,children:i})})},()=>t.useContext(o),()=>t.useContext(u)]};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import"client-only";import{useContext as r,useState as t,createContext as o}from"react";let i=()=>{};function n(n){let l=o(n),c=o(i);return[r=>{let{children:o}=r,[i,a]=t(n);return e(l.Provider,{value:i,children:e(c.Provider,{value:a,children:o})})},()=>r(l),()=>r(c)]}export{n as createContextState};
1
+ import{jsx as r}from"react/jsx-runtime";import"client-only";import{useContext as e,useState as t,createContext as o}from"react";import{noop as i}from"../noop/index.mjs";function n(n){let m=o(n),l=o(i);return[e=>{let{children:o}=e,[i,c]=t(n);return r(m.Provider,{value:i,children:r(l.Provider,{value:c,children:o})})},()=>e(m),()=>e(l)]}export{n as createContextState};
package/noop/index.cjs ADDED
@@ -0,0 +1 @@
1
+ "use strict";exports.noop=()=>{};
@@ -0,0 +1,6 @@
1
+ interface Noop {
2
+ (...args: any[]): any;
3
+ }
4
+ declare const noop: Noop;
5
+
6
+ export { Noop, noop };
package/noop/index.js ADDED
@@ -0,0 +1 @@
1
+ "use strict";exports.noop=()=>{};
package/noop/index.mjs ADDED
@@ -0,0 +1 @@
1
+ let o=()=>{};export{o as noop};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "foxact",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "React Hooks/Utils done right. For browser, SSR, and React Server Components.",
5
5
  "sideEffects": false,
6
6
  "files": [
@@ -55,6 +55,51 @@
55
55
  "require": "./context-state/index.cjs",
56
56
  "default": "./context-state/index.js"
57
57
  },
58
+ "./noop": {
59
+ "types": "./noop/index.d.ts",
60
+ "import": {
61
+ "types": "./noop/index.d.ts",
62
+ "default": "./noop/index.mjs"
63
+ },
64
+ "require": "./noop/index.cjs",
65
+ "default": "./noop/index.js"
66
+ },
67
+ "./request-idle-callback": {
68
+ "types": "./request-idle-callback/index.d.ts",
69
+ "import": {
70
+ "types": "./request-idle-callback/index.d.ts",
71
+ "default": "./request-idle-callback/index.mjs"
72
+ },
73
+ "require": "./request-idle-callback/index.cjs",
74
+ "default": "./request-idle-callback/index.js"
75
+ },
76
+ "./typescript-happy-forward-ref": {
77
+ "types": "./typescript-happy-forward-ref/index.d.ts",
78
+ "import": {
79
+ "types": "./typescript-happy-forward-ref/index.d.ts",
80
+ "default": "./typescript-happy-forward-ref/index.mjs"
81
+ },
82
+ "require": "./typescript-happy-forward-ref/index.cjs",
83
+ "default": "./typescript-happy-forward-ref/index.js"
84
+ },
85
+ "./use-clipboard": {
86
+ "types": "./use-clipboard/index.d.ts",
87
+ "import": {
88
+ "types": "./use-clipboard/index.d.ts",
89
+ "default": "./use-clipboard/index.mjs"
90
+ },
91
+ "require": "./use-clipboard/index.cjs",
92
+ "default": "./use-clipboard/index.js"
93
+ },
94
+ "./use-error-boundary": {
95
+ "types": "./use-error-boundary/index.d.ts",
96
+ "import": {
97
+ "types": "./use-error-boundary/index.d.ts",
98
+ "default": "./use-error-boundary/index.mjs"
99
+ },
100
+ "require": "./use-error-boundary/index.cjs",
101
+ "default": "./use-error-boundary/index.js"
102
+ },
58
103
  "./use-retimer": {
59
104
  "types": "./use-retimer/index.d.ts",
60
105
  "import": {
@@ -81,6 +126,42 @@
81
126
  },
82
127
  "require": "./use-intersection/index.cjs",
83
128
  "default": "./use-intersection/index.js"
129
+ },
130
+ "./use-array": {
131
+ "types": "./use-array/index.d.ts",
132
+ "import": {
133
+ "types": "./use-array/index.d.ts",
134
+ "default": "./use-array/index.mjs"
135
+ },
136
+ "require": "./use-array/index.cjs",
137
+ "default": "./use-array/index.js"
138
+ },
139
+ "./use-map": {
140
+ "types": "./use-map/index.d.ts",
141
+ "import": {
142
+ "types": "./use-map/index.d.ts",
143
+ "default": "./use-map/index.mjs"
144
+ },
145
+ "require": "./use-map/index.cjs",
146
+ "default": "./use-map/index.js"
147
+ },
148
+ "./use-set": {
149
+ "types": "./use-set/index.d.ts",
150
+ "import": {
151
+ "types": "./use-set/index.d.ts",
152
+ "default": "./use-set/index.mjs"
153
+ },
154
+ "require": "./use-set/index.cjs",
155
+ "default": "./use-set/index.js"
156
+ },
157
+ "./use-uncontrolled": {
158
+ "types": "./use-uncontrolled/index.d.ts",
159
+ "import": {
160
+ "types": "./use-uncontrolled/index.d.ts",
161
+ "default": "./use-uncontrolled/index.mjs"
162
+ },
163
+ "require": "./use-uncontrolled/index.cjs",
164
+ "default": "./use-uncontrolled/index.js"
84
165
  }
85
166
  }
86
167
  }
@@ -0,0 +1 @@
1
+ "use strict";const e="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(self)||function(e){let 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;
@@ -0,0 +1,4 @@
1
+ declare const requestIdleCallback: ((callback: IdleRequestCallback, options?: IdleRequestOptions | undefined) => number) & typeof globalThis.requestIdleCallback;
2
+ declare const cancelIdleCallback: ((handle: number) => void) & typeof globalThis.cancelIdleCallback;
3
+
4
+ export { cancelIdleCallback, requestIdleCallback };
@@ -0,0 +1 @@
1
+ "use strict";const e="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(self)||function(e){let 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;
@@ -0,0 +1 @@
1
+ let e="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(self)||function(e){let 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};
@@ -0,0 +1 @@
1
+ "use strict";var r=require("react");const e=r.forwardRef;exports.typeScriptHappyForwardRef=e;
@@ -0,0 +1,6 @@
1
+ interface TypeScriptHappyForwardRef {
2
+ <T, P = {}>(render: (props: P, ref: React.ForwardedRef<T>) => React.ReactElement | null): (props: P & React.RefAttributes<T>) => React.ReactElement | null;
3
+ }
4
+ declare const typeScriptHappyForwardRef: TypeScriptHappyForwardRef;
5
+
6
+ export { TypeScriptHappyForwardRef, typeScriptHappyForwardRef };
@@ -0,0 +1 @@
1
+ "use strict";var r=require("react");const e=r.forwardRef;exports.typeScriptHappyForwardRef=e;
@@ -0,0 +1 @@
1
+ import{forwardRef as r}from"react";let p=r;export{p as typeScriptHappyForwardRef};
@@ -0,0 +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]:()=>[],[t,a]=e.useState(r),u=e.useCallback(e=>a(r=>r.concat(e)),[]),c=e.useCallback(()=>a([]),[]);return[t,u,c]};
@@ -0,0 +1,3 @@
1
+ declare const useArray: <T>(initialState?: T[] | (() => T[])) => readonly [T[], (v: T) => void, () => void];
2
+
3
+ export { useArray };
@@ -0,0 +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]:()=>[],[t,a]=e.useState(r),u=e.useCallback(e=>a(r=>r.concat(e)),[]),c=e.useCallback(()=>a([]),[]);return[t,u,c]};
@@ -0,0 +1 @@
1
+ import"client-only";import{useState as t,useCallback as r}from"react";let e=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>[],[o,n]=t(e),c=r(t=>n(r=>r.concat(t)),[]),i=r(()=>n([]),[]);return[o,c,i]};export{e as useArray};
@@ -0,0 +1 @@
1
+ "use strict";require("client-only");var e=require("react");class t extends Error{}exports.UseClipboardError=t,exports.useClipboard=function(){let{timeout:r=1e3,usePromptAsFallback:a=!1,promptFallbackText:l="Failed to copy to clipboard automatically, please manually copy the text below."}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},[o,i]=e.useState(null),[c,u]=e.useState(!1),n=e.useRef(null),s=e.useCallback(e=>{n.current&&clearTimeout(n.current),e&&(n.current=window.setTimeout(()=>u(!1),r)),u(e)},[r]),p=e.useCallback(async e=>{try{if("clipboard"in navigator)await navigator.clipboard.writeText(e),s(!0);else throw new t("[foxact] useClipboard: navigator.clipboard is not supported")}catch(t){if(a)try{window.prompt(l,e)}catch(e){i(e)}else i(t)}},[s]),d=e.useCallback(()=>{u(!1),i(null),n.current&&clearTimeout(n.current)},[]);return{copy:p,reset:d,error:o,copied:c}};
@@ -0,0 +1,15 @@
1
+ declare class UseClipboardError extends Error {
2
+ }
3
+ interface UseClipboardOption {
4
+ timeout?: number;
5
+ usePromptAsFallback?: boolean;
6
+ promptFallbackText?: string;
7
+ }
8
+ declare function useClipboard({ timeout, usePromptAsFallback, promptFallbackText }?: UseClipboardOption): {
9
+ copy: (valueToCopy: string) => Promise<void>;
10
+ reset: () => void;
11
+ error: Error | null;
12
+ copied: boolean;
13
+ };
14
+
15
+ export { UseClipboardError, useClipboard };
@@ -0,0 +1 @@
1
+ "use strict";require("client-only");var e=require("react");class t extends Error{}exports.UseClipboardError=t,exports.useClipboard=function(){let{timeout:r=1e3,usePromptAsFallback:a=!1,promptFallbackText:l="Failed to copy to clipboard automatically, please manually copy the text below."}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},[o,i]=e.useState(null),[c,u]=e.useState(!1),n=e.useRef(null),s=e.useCallback(e=>{n.current&&clearTimeout(n.current),e&&(n.current=window.setTimeout(()=>u(!1),r)),u(e)},[r]),p=e.useCallback(async e=>{try{if("clipboard"in navigator)await navigator.clipboard.writeText(e),s(!0);else throw new t("[foxact] useClipboard: navigator.clipboard is not supported")}catch(t){if(a)try{window.prompt(l,e)}catch(e){i(e)}else i(t)}},[s]),d=e.useCallback(()=>{u(!1),i(null),n.current&&clearTimeout(n.current)},[]);return{copy:p,reset:d,error:o,copied:c}};
@@ -0,0 +1 @@
1
+ import"client-only";import{useState as r,useRef as t,useCallback as e}from"react";class o extends Error{}function a(){let{timeout:a=1e3,usePromptAsFallback:l=!1,promptFallbackText:i="Failed to copy to clipboard automatically, please manually copy the text below."}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},[n,c]=r(null),[u,p]=r(!1),d=t(null),s=e(r=>{d.current&&clearTimeout(d.current),r&&(d.current=window.setTimeout(()=>p(!1),a)),p(r)},[a]),m=e(async r=>{try{if("clipboard"in navigator)await navigator.clipboard.writeText(r),s(!0);else throw new o("[foxact] useClipboard: navigator.clipboard is not supported")}catch(t){if(l)try{window.prompt(i,r)}catch(r){c(r)}else c(t)}},[s]),w=e(()=>{p(!1),c(null),d.current&&clearTimeout(d.current)},[]);return{copy:m,reset:w,error:n,copied:u}}export{o as UseClipboardError,a as useClipboard};
@@ -0,0 +1 @@
1
+ "use strict";require("client-only");var r=require("react");const e=r=>!1!==r&&null!=r;exports.useErrorBoundary=t=>{let[u,o]=r.useState(!1);if(e(t))throw t;if(e(u))throw u;return o};
@@ -0,0 +1,6 @@
1
+ import * as react from 'react';
2
+
3
+ type ErrorLike = Error | undefined | null | boolean;
4
+ declare const useErrorBoundary: (givenError: ErrorLike) => react.Dispatch<react.SetStateAction<ErrorLike>>;
5
+
6
+ export { useErrorBoundary };
@@ -0,0 +1 @@
1
+ "use strict";require("client-only");var r=require("react");const e=r=>!1!==r&&null!=r;exports.useErrorBoundary=t=>{let[u,o]=r.useState(!1);if(e(t))throw t;if(e(u))throw u;return o};
@@ -0,0 +1 @@
1
+ import"client-only";import{useState as r}from"react";let t=r=>!1!==r&&null!=r,o=o=>{let[e,l]=r(!1);if(t(o))throw o;if(t(e))throw e;return l};export{o as useErrorBoundary};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react");const t="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(self)||function(e){let t=Date.now();return setTimeout(()=>{e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))})},1)},n="undefined"!=typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(self)||function(e){return clearTimeout(e)},r="function"==typeof IntersectionObserver,l=new Map,i=[];exports.useIntersection=function(o){let{rootRef:u,rootMargin:s,disabled:a}=o,[c,f]=e.useState(!1),d=e.useRef(null);e.useEffect(()=>{if(r){if(a||c)return;let e=d.current;if(null==e?void 0:e.tagName)return function(e,t,n){let{id:r,observer:o,elements:u}=function(e){let t;let n={root:e.root||null,margin:e.rootMargin||""},r=i.find(e=>e.root===n.root&&e.margin===n.margin);if(r&&(t=l.get(r)))return t;let o=new Map,u=new IntersectionObserver(e=>{e.forEach(e=>{let t=o.get(e.target),n=e.isIntersecting||e.intersectionRatio>0;t&&n&&t(n)})},e);return t={id:n,observer:u,elements:o},i.push(n),l.set(n,t),t}(n);return u.set(e,t),o.observe(e),function(){if(u.delete(e),o.unobserve(e),0===u.size){o.disconnect(),l.delete(r);let e=i.findIndex(e=>e.root===r.root&&e.margin===r.margin);e>-1&&i.splice(e,1)}}}(e,e=>e&&f(!0),{root:null==u?void 0:u.current,rootMargin:s})}if(!c){let e=t(()=>f(!0));return()=>n(e)}},[a,s,u,c]);let b=e.useCallback(()=>{f(!1)},[]),g=e.useCallback(e=>{d.current=e},[]);return[g,c,b]};
1
+ "use strict";require("client-only");var e=require("react"),t=require("../request-idle-callback/index.cjs");const r="function"==typeof IntersectionObserver,n=new Map,i=[];exports.useIntersection=function(l){let{rootRef:o,rootMargin:u,disabled:c}=l,[s,a]=e.useState(!1),f=e.useRef(null);e.useEffect(()=>{if(r){if(c||s)return;let e=f.current;if(null==e?void 0:e.tagName)return function(e,t,r){let{id:l,observer:o,elements:u}=function(e){let t;let r={root:e.root||null,margin:e.rootMargin||""},l=i.find(e=>e.root===r.root&&e.margin===r.margin);if(l&&(t=n.get(l)))return t;let o=new Map,u=new IntersectionObserver(e=>{e.forEach(e=>{let t=o.get(e.target),r=e.isIntersecting||e.intersectionRatio>0;t&&r&&t(r)})},e);return t={id:r,observer:u,elements:o},i.push(r),n.set(r,t),t}(r);return u.set(e,t),o.observe(e),function(){if(u.delete(e),o.unobserve(e),0===u.size){o.disconnect(),n.delete(l);let e=i.findIndex(e=>e.root===l.root&&e.margin===l.margin);e>-1&&i.splice(e,1)}}}(e,e=>e&&a(!0),{root:null==o?void 0:o.current,rootMargin:u})}if(!s){let e=t.requestIdleCallback(()=>a(!0));return()=>t.cancelIdleCallback(e)}},[c,u,o,s]);let d=e.useCallback(()=>{a(!1)},[]),g=e.useCallback(e=>{f.current=e},[]);return[g,s,d]};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react");const t="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(self)||function(e){let t=Date.now();return setTimeout(()=>{e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))})},1)},n="undefined"!=typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(self)||function(e){return clearTimeout(e)},r="function"==typeof IntersectionObserver,l=new Map,i=[];exports.useIntersection=function(o){let{rootRef:u,rootMargin:s,disabled:a}=o,[c,f]=e.useState(!1),d=e.useRef(null);e.useEffect(()=>{if(r){if(a||c)return;let e=d.current;if(null==e?void 0:e.tagName)return function(e,t,n){let{id:r,observer:o,elements:u}=function(e){let t;let n={root:e.root||null,margin:e.rootMargin||""},r=i.find(e=>e.root===n.root&&e.margin===n.margin);if(r&&(t=l.get(r)))return t;let o=new Map,u=new IntersectionObserver(e=>{e.forEach(e=>{let t=o.get(e.target),n=e.isIntersecting||e.intersectionRatio>0;t&&n&&t(n)})},e);return t={id:n,observer:u,elements:o},i.push(n),l.set(n,t),t}(n);return u.set(e,t),o.observe(e),function(){if(u.delete(e),o.unobserve(e),0===u.size){o.disconnect(),l.delete(r);let e=i.findIndex(e=>e.root===r.root&&e.margin===r.margin);e>-1&&i.splice(e,1)}}}(e,e=>e&&f(!0),{root:null==u?void 0:u.current,rootMargin:s})}if(!c){let e=t(()=>f(!0));return()=>n(e)}},[a,s,u,c]);let b=e.useCallback(()=>{f(!1)},[]),g=e.useCallback(e=>{d.current=e},[]);return[g,c,b]};
1
+ "use strict";require("client-only");var e=require("react"),t=require("../request-idle-callback/index.js");const r="function"==typeof IntersectionObserver,n=new Map,i=[];exports.useIntersection=function(l){let{rootRef:o,rootMargin:u,disabled:c}=l,[s,a]=e.useState(!1),f=e.useRef(null);e.useEffect(()=>{if(r){if(c||s)return;let e=f.current;if(null==e?void 0:e.tagName)return function(e,t,r){let{id:l,observer:o,elements:u}=function(e){let t;let r={root:e.root||null,margin:e.rootMargin||""},l=i.find(e=>e.root===r.root&&e.margin===r.margin);if(l&&(t=n.get(l)))return t;let o=new Map,u=new IntersectionObserver(e=>{e.forEach(e=>{let t=o.get(e.target),r=e.isIntersecting||e.intersectionRatio>0;t&&r&&t(r)})},e);return t={id:r,observer:u,elements:o},i.push(r),n.set(r,t),t}(r);return u.set(e,t),o.observe(e),function(){if(u.delete(e),o.unobserve(e),0===u.size){o.disconnect(),n.delete(l);let e=i.findIndex(e=>e.root===l.root&&e.margin===l.margin);e>-1&&i.splice(e,1)}}}(e,e=>e&&a(!0),{root:null==o?void 0:o.current,rootMargin:u})}if(!s){let e=t.requestIdleCallback(()=>a(!0));return()=>t.cancelIdleCallback(e)}},[c,u,o,s]);let d=e.useCallback(()=>{a(!1)},[]),g=e.useCallback(e=>{f.current=e},[]);return[g,s,d]};
@@ -1 +1 @@
1
- import"client-only";import{useState as e,useRef as t,useEffect as n,useCallback as r}from"react";let l="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(self)||function(e){let t=Date.now();return setTimeout(()=>{e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))})},1)},i="undefined"!=typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(self)||function(e){return clearTimeout(e)},o="function"==typeof IntersectionObserver;function u(u){let{rootRef:f,rootMargin:s,disabled:d}=u,[m,g]=e(!1),b=t(null);n(()=>{if(o){if(d||m)return;let e=b.current;if(null==e?void 0:e.tagName)return function(e,t,n){let{id:r,observer:l,elements:i}=function(e){let t;let n={root:e.root||null,margin:e.rootMargin||""},r=c.find(e=>e.root===n.root&&e.margin===n.margin);if(r&&(t=a.get(r)))return t;let l=new Map,i=new IntersectionObserver(e=>{e.forEach(e=>{let t=l.get(e.target),n=e.isIntersecting||e.intersectionRatio>0;t&&n&&t(n)})},e);return t={id:n,observer:i,elements:l},c.push(n),a.set(n,t),t}(n);return i.set(e,t),l.observe(e),function(){if(i.delete(e),l.unobserve(e),0===i.size){l.disconnect(),a.delete(r);let e=c.findIndex(e=>e.root===r.root&&e.margin===r.margin);e>-1&&c.splice(e,1)}}}(e,e=>e&&g(!0),{root:null==f?void 0:f.current,rootMargin:s})}if(!m){let e=l(()=>g(!0));return()=>i(e)}},[d,s,f,m]);let p=r(()=>{g(!1)},[]),I=r(e=>{b.current=e},[]);return[I,m,p]}let a=new Map,c=[];export{u as useIntersection};
1
+ import"client-only";import{useState as e,useRef as t,useEffect as r,useCallback as n}from"react";import{requestIdleCallback as o,cancelIdleCallback as i}from"../request-idle-callback/index.mjs";let l="function"==typeof IntersectionObserver;function u(u){let{rootRef:f,rootMargin:a,disabled:m}=u,[g,d]=e(!1),p=t(null);r(()=>{if(l){if(m||g)return;let e=p.current;if(null==e?void 0:e.tagName)return function(e,t,r){let{id:n,observer:o,elements:i}=function(e){let t;let r={root:e.root||null,margin:e.rootMargin||""},n=s.find(e=>e.root===r.root&&e.margin===r.margin);if(n&&(t=c.get(n)))return t;let o=new Map,i=new IntersectionObserver(e=>{e.forEach(e=>{let t=o.get(e.target),r=e.isIntersecting||e.intersectionRatio>0;t&&r&&t(r)})},e);return t={id:r,observer:i,elements:o},s.push(r),c.set(r,t),t}(r);return i.set(e,t),o.observe(e),function(){if(i.delete(e),o.unobserve(e),0===i.size){o.disconnect(),c.delete(n);let e=s.findIndex(e=>e.root===n.root&&e.margin===n.margin);e>-1&&s.splice(e,1)}}}(e,e=>e&&d(!0),{root:null==f?void 0:f.current,rootMargin:a})}if(!g){let e=o(()=>d(!0));return()=>i(e)}},[m,a,f,g]);let v=n(()=>{d(!1)},[]),b=n(e=>{p.current=e},[]);return[b,g,v]}let c=new Map,s=[];export{u as useIntersection};
@@ -0,0 +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,[t,l]=e.useState(a),n=e.useCallback((e,a)=>l(t=>(t.set(e,a),new Map(t))),[]),r=e.useCallback(e=>l(a=>a.has(e)?(a.delete(e),new Map(a)):a),[]),s=e.useCallback(()=>l(new Map),[]);return[t,n,r,s]};
@@ -0,0 +1,3 @@
1
+ declare const useMap: <K, T>(initialState?: Map<K, T> | (() => Map<K, T>)) => readonly [Map<K, T>, (k: K, v: T) => void, (k: K) => void, () => void];
2
+
3
+ export { useMap };
@@ -0,0 +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,[t,l]=e.useState(a),n=e.useCallback((e,a)=>l(t=>(t.set(e,a),new Map(t))),[]),r=e.useCallback(e=>l(a=>a.has(e)?(a.delete(e),new Map(a)):a),[]),s=e.useCallback(()=>l(new Map),[]);return[t,n,r,s]};
@@ -0,0 +1 @@
1
+ import"client-only";import{useState as e,useCallback as t}from"react";let n=function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>new Map,[p,a]=e(n),o=t((e,t)=>a(n=>(n.set(e,t),new Map(n))),[]),r=t(e=>a(t=>t.has(e)?(t.delete(e),new Map(t)):t),[]),l=t(()=>a(new Map),[]);return[p,o,r,l]};export{n as useMap};
@@ -0,0 +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,[a,l]=e.useState(t),n=e.useCallback(e=>l(t=>t.has(e)?t:new Set([...t,e])),[]),r=e.useCallback(e=>l(t=>t.has(e)?(t.delete(e),new Set(t)):t),[]),s=e.useCallback(()=>l(new Set),[]);return[a,n,r,s]};
@@ -0,0 +1,3 @@
1
+ declare const useSet: <T>(initialState?: Set<T> | (() => Set<T>)) => readonly [Set<T>, (item: T) => void, (item: T) => void, () => void];
2
+
3
+ export { useSet };
@@ -0,0 +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,[a,l]=e.useState(t),n=e.useCallback(e=>l(t=>t.has(e)?t:new Set([...t,e])),[]),r=e.useCallback(e=>l(t=>t.has(e)?(t.delete(e),new Set(t)):t),[]),s=e.useCallback(()=>l(new Set),[]);return[a,n,r,s]};
@@ -0,0 +1 @@
1
+ import"client-only";import{useState as e,useCallback as t}from"react";let n=function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>new Set,[o,r]=e(n),l=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),[]),S=t(()=>r(new Set),[]);return[o,l,i,S]};export{n as useSet};
@@ -0,0 +1 @@
1
+ "use strict";require("client-only");var e=require("react"),r=require("../noop/index.cjs");const t=e=>e;exports.useUncontrolled=function(n){let u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,[c,l]=e.useState(n),o=e.useRef(null),s=e.useRef(r.noop);e.useInsertionEffect(()=>{s.current=u},[u]);let i=e.useCallback(()=>{o.current&&l(s.current(o.current.value))},[]);return[c,i,o]};
@@ -0,0 +1,5 @@
1
+ import * as react from 'react';
2
+
3
+ declare function useUncontrolled<T, E extends HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement = HTMLInputElement>(initialValue: T, transformValue?: (value: T) => T): readonly [T, () => void, react.RefObject<E>];
4
+
5
+ export { useUncontrolled };
@@ -0,0 +1 @@
1
+ "use strict";require("client-only");var e=require("react"),r=require("../noop/index.js");const t=e=>e;exports.useUncontrolled=function(n){let u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,[c,l]=e.useState(n),o=e.useRef(null),s=e.useRef(r.noop);e.useInsertionEffect(()=>{s.current=u},[u]);let i=e.useCallback(()=>{o.current&&l(s.current(o.current.value))},[]);return[c,i,o]};
@@ -0,0 +1 @@
1
+ import"client-only";import{useState as r,useRef as t,useInsertionEffect as e,useCallback as n}from"react";import{noop as o}from"../noop/index.mjs";let l=r=>r;function u(u){let c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:l,[i,m]=r(u),p=t(null),d=t(o);e(()=>{d.current=c},[c]);let f=n(()=>{p.current&&m(d.current(p.current.value))},[]);return[i,f,p]}export{u as useUncontrolled};