foxact 0.1.1 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/context-state/index.cjs +1 -0
- package/context-state/index.js +1 -0
- package/context-state/index.mjs +1 -0
- package/noop/index.cjs +1 -0
- package/noop/index.d.ts +6 -0
- package/noop/index.js +1 -0
- package/noop/index.mjs +1 -0
- package/package.json +110 -11
- package/request-idle-callback/index.cjs +1 -0
- package/request-idle-callback/index.d.ts +4 -0
- package/request-idle-callback/index.js +1 -0
- package/request-idle-callback/index.mjs +1 -0
- package/typescript-happy-forward-ref/index.cjs +1 -0
- package/typescript-happy-forward-ref/index.d.ts +6 -0
- package/typescript-happy-forward-ref/index.js +1 -0
- package/typescript-happy-forward-ref/index.mjs +1 -0
- package/use-array/index.cjs +1 -0
- package/use-array/index.d.ts +3 -0
- package/use-array/index.js +1 -0
- package/use-array/index.mjs +1 -0
- package/use-clipboard/index.cjs +1 -0
- package/use-clipboard/index.d.ts +15 -0
- package/use-clipboard/index.js +1 -0
- package/use-clipboard/index.mjs +1 -0
- package/use-error-boundary/index.cjs +1 -0
- package/use-error-boundary/index.d.ts +6 -0
- package/use-error-boundary/index.js +1 -0
- package/use-error-boundary/index.mjs +1 -0
- package/use-intersection/index.cjs +1 -0
- package/use-intersection/index.d.ts +9 -0
- package/use-intersection/index.js +1 -0
- package/use-intersection/index.mjs +1 -0
- package/use-isomorphic-layout-effect/index.cjs +1 -0
- package/use-isomorphic-layout-effect/index.d.ts +6 -0
- package/use-isomorphic-layout-effect/index.js +1 -0
- package/use-isomorphic-layout-effect/index.mjs +1 -0
- package/use-map/index.cjs +1 -0
- package/use-map/index.d.ts +3 -0
- package/use-map/index.js +1 -0
- package/use-map/index.mjs +1 -0
- package/use-retimer/index.cjs +1 -0
- package/use-retimer/index.js +1 -0
- package/use-retimer/index.mjs +1 -0
- package/use-set/index.cjs +1 -0
- package/use-set/index.d.ts +3 -0
- package/use-set/index.js +1 -0
- package/use-set/index.mjs +1 -0
- package/use-uncontrolled/index.cjs +1 -0
- package/use-uncontrolled/index.d.ts +5 -0
- package/use-uncontrolled/index.js +1 -0
- package/use-uncontrolled/index.mjs +1 -0
- package/context-state.cjs +0 -34
- package/context-state.js +0 -34
- package/context-state.mjs +0 -32
- package/use-retimer.cjs +0 -16
- package/use-retimer.js +0 -16
- package/use-retimer.mjs +0 -14
- /package/{context-state.d.ts → context-state/index.d.ts} +0 -0
- /package/{use-retimer.d.ts → use-retimer/index.d.ts} +0 -0
|
@@ -0,0 +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){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)]};
|
|
@@ -0,0 +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){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)]};
|
|
@@ -0,0 +1 @@
|
|
|
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=()=>{};
|
package/noop/index.d.ts
ADDED
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.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "React Hooks/Utils done right. For browser, SSR, and React Server Components.",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"files": [
|
|
@@ -47,22 +47,121 @@
|
|
|
47
47
|
"exports": {
|
|
48
48
|
"./package.json": "./package.json",
|
|
49
49
|
"./context-state": {
|
|
50
|
-
"types": "./context-state.d.ts",
|
|
50
|
+
"types": "./context-state/index.d.ts",
|
|
51
51
|
"import": {
|
|
52
|
-
"types": "./context-state.d.ts",
|
|
53
|
-
"default": "./context-state.mjs"
|
|
52
|
+
"types": "./context-state/index.d.ts",
|
|
53
|
+
"default": "./context-state/index.mjs"
|
|
54
54
|
},
|
|
55
|
-
"require": "./context-state.cjs",
|
|
56
|
-
"default": "./context-state.js"
|
|
55
|
+
"require": "./context-state/index.cjs",
|
|
56
|
+
"default": "./context-state/index.js"
|
|
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"
|
|
57
102
|
},
|
|
58
103
|
"./use-retimer": {
|
|
59
|
-
"types": "./use-retimer.d.ts",
|
|
104
|
+
"types": "./use-retimer/index.d.ts",
|
|
105
|
+
"import": {
|
|
106
|
+
"types": "./use-retimer/index.d.ts",
|
|
107
|
+
"default": "./use-retimer/index.mjs"
|
|
108
|
+
},
|
|
109
|
+
"require": "./use-retimer/index.cjs",
|
|
110
|
+
"default": "./use-retimer/index.js"
|
|
111
|
+
},
|
|
112
|
+
"./use-isomorphic-layout-effect": {
|
|
113
|
+
"types": "./use-isomorphic-layout-effect/index.d.ts",
|
|
114
|
+
"import": {
|
|
115
|
+
"types": "./use-isomorphic-layout-effect/index.d.ts",
|
|
116
|
+
"default": "./use-isomorphic-layout-effect/index.mjs"
|
|
117
|
+
},
|
|
118
|
+
"require": "./use-isomorphic-layout-effect/index.cjs",
|
|
119
|
+
"default": "./use-isomorphic-layout-effect/index.js"
|
|
120
|
+
},
|
|
121
|
+
"./use-intersection": {
|
|
122
|
+
"types": "./use-intersection/index.d.ts",
|
|
123
|
+
"import": {
|
|
124
|
+
"types": "./use-intersection/index.d.ts",
|
|
125
|
+
"default": "./use-intersection/index.mjs"
|
|
126
|
+
},
|
|
127
|
+
"require": "./use-intersection/index.cjs",
|
|
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",
|
|
60
159
|
"import": {
|
|
61
|
-
"types": "./use-
|
|
62
|
-
"default": "./use-
|
|
160
|
+
"types": "./use-uncontrolled/index.d.ts",
|
|
161
|
+
"default": "./use-uncontrolled/index.mjs"
|
|
63
162
|
},
|
|
64
|
-
"require": "./use-
|
|
65
|
-
"default": "./use-
|
|
163
|
+
"require": "./use-uncontrolled/index.cjs",
|
|
164
|
+
"default": "./use-uncontrolled/index.js"
|
|
66
165
|
}
|
|
67
166
|
}
|
|
68
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=()=>{let[r,t]=e.useState(()=>[]),a=e.useCallback(e=>t(r=>r.concat(e)),[]),u=e.useCallback(()=>t([]),[]);return[r,a,u]};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";require("client-only");var e=require("react");exports.useArray=()=>{let[r,t]=e.useState(()=>[]),a=e.useCallback(e=>t(r=>r.concat(e)),[]),u=e.useCallback(()=>t([]),[]);return[r,a,u]};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"client-only";import{useState as r,useCallback as t}from"react";let e=()=>{let[e,o]=r(()=>[]),c=t(r=>o(t=>t.concat(r)),[]),l=t(()=>o([]),[]);return[e,c,l]};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 @@
|
|
|
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};
|
|
@@ -0,0 +1 @@
|
|
|
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]};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
type UseIntersectionObserverInit = Pick<IntersectionObserverInit, 'rootMargin' | 'root'>;
|
|
2
|
+
type UseIntersectionArgs = {
|
|
3
|
+
disabled?: boolean;
|
|
4
|
+
} & UseIntersectionObserverInit & {
|
|
5
|
+
rootRef?: React.RefObject<HTMLElement> | null;
|
|
6
|
+
};
|
|
7
|
+
declare function useIntersection<T extends Element>({ rootRef, rootMargin, disabled }: UseIntersectionArgs): [(element: T | null) => void, boolean, () => void];
|
|
8
|
+
|
|
9
|
+
export { useIntersection };
|
|
@@ -0,0 +1 @@
|
|
|
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]};
|
|
@@ -0,0 +1 @@
|
|
|
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");const t="undefined"!=typeof window?e.useLayoutEffect:e.useEffect;exports.useIsomorphicLayoutEffect=t,exports.useLayoutEffect=t;
|
|
@@ -0,0 +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;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"client-only";import{useLayoutEffect as e,useEffect as t}from"react";let o="undefined"!=typeof window?e:t,f=o;export{o as useIsomorphicLayoutEffect,f as useLayoutEffect};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";require("client-only");var e=require("react");exports.useMap=()=>{let[a,t]=e.useState(()=>new Map),l=e.useCallback((e,a)=>t(t=>(t.set(e,a),new Map(t))),[]),r=e.useCallback(e=>t(a=>a.has(e)?(a.delete(e),new Map(a)):a),[]),s=e.useCallback(()=>t(new Map),[]);return[a,l,r,s]};
|
package/use-map/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";require("client-only");var e=require("react");exports.useMap=()=>{let[a,t]=e.useState(()=>new Map),l=e.useCallback((e,a)=>t(t=>(t.set(e,a),new Map(t))),[]),r=e.useCallback(e=>t(a=>a.has(e)?(a.delete(e),new Map(a)):a),[]),s=e.useCallback(()=>t(new Map),[]);return[a,l,r,s]};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"client-only";import{useState as e,useCallback as t}from"react";let p=()=>{let[p,a]=e(()=>new Map),n=t((e,t)=>a(p=>(p.set(e,t),new Map(p))),[]),r=t(e=>a(t=>t.has(e)?(t.delete(e),new Map(t)):t),[]),l=t(()=>a(new Map),[]);return[p,n,r,l]};export{p as useMap};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";require("client-only");var e=require("react");exports.useRetimer=()=>{let r=e.useRef();return e.useCallback(e=>{"number"==typeof r.current&&clearTimeout(r.current),r.current=e},[])};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";require("client-only");var e=require("react");exports.useRetimer=()=>{let r=e.useRef();return e.useCallback(e=>{"number"==typeof r.current&&clearTimeout(r.current),r.current=e},[])};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"client-only";import{useRef as e,useCallback as r}from"react";let t=()=>{let t=e();return r(e=>{"number"==typeof t.current&&clearTimeout(t.current),t.current=e},[])};export{t as useRetimer};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";require("client-only");var e=require("react");exports.useSet=()=>{let[t,a]=e.useState(()=>new Set),l=e.useCallback(e=>a(t=>t.has(e)?t:new Set([...t,e])),[]),r=e.useCallback(e=>a(t=>t.has(e)?(t.delete(e),new Set(t)):t),[]),s=e.useCallback(()=>a(new Set),[]);return[t,l,r,s]};
|
package/use-set/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";require("client-only");var e=require("react");exports.useSet=()=>{let[t,a]=e.useState(()=>new Set),l=e.useCallback(e=>a(t=>t.has(e)?t:new Set([...t,e])),[]),r=e.useCallback(e=>a(t=>t.has(e)?(t.delete(e),new Set(t)):t),[]),s=e.useCallback(()=>a(new Set),[]);return[t,l,r,s]};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"client-only";import{useState as e,useCallback as t}from"react";let n=()=>{let[n,r]=e(()=>new Set),l=t(e=>r(t=>t.has(e)?t:new Set([...t,e])),[]),o=t(e=>r(t=>t.has(e)?(t.delete(e),new Set(t)):t),[]),S=t(()=>r(new Set),[]);return[n,l,o,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};
|
package/context-state.cjs
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
require('client-only');
|
|
5
|
-
var react = require('react');
|
|
6
|
-
|
|
7
|
-
const noop = ()=>{
|
|
8
|
-
// noop;
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
function createContextState(initialState) {
|
|
12
|
-
const StateContext = /*#__PURE__*/ react.createContext(initialState);
|
|
13
|
-
const DispatchContext = /*#__PURE__*/ react.createContext(noop);
|
|
14
|
-
const useValue = ()=>react.useContext(StateContext);
|
|
15
|
-
const useSetValue = ()=>react.useContext(DispatchContext);
|
|
16
|
-
const Provider = (param)=>{
|
|
17
|
-
let { children } = param;
|
|
18
|
-
const [value, setValue] = react.useState(initialState);
|
|
19
|
-
return /*#__PURE__*/ jsxRuntime.jsx(StateContext.Provider, {
|
|
20
|
-
value: value,
|
|
21
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(DispatchContext.Provider, {
|
|
22
|
-
value: setValue,
|
|
23
|
-
children: children
|
|
24
|
-
})
|
|
25
|
-
});
|
|
26
|
-
};
|
|
27
|
-
return [
|
|
28
|
-
Provider,
|
|
29
|
-
useValue,
|
|
30
|
-
useSetValue
|
|
31
|
-
];
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
exports.createContextState = createContextState;
|
package/context-state.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
require('client-only');
|
|
5
|
-
var react = require('react');
|
|
6
|
-
|
|
7
|
-
const noop = ()=>{
|
|
8
|
-
// noop;
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
function createContextState(initialState) {
|
|
12
|
-
const StateContext = /*#__PURE__*/ react.createContext(initialState);
|
|
13
|
-
const DispatchContext = /*#__PURE__*/ react.createContext(noop);
|
|
14
|
-
const useValue = ()=>react.useContext(StateContext);
|
|
15
|
-
const useSetValue = ()=>react.useContext(DispatchContext);
|
|
16
|
-
const Provider = (param)=>{
|
|
17
|
-
let { children } = param;
|
|
18
|
-
const [value, setValue] = react.useState(initialState);
|
|
19
|
-
return /*#__PURE__*/ jsxRuntime.jsx(StateContext.Provider, {
|
|
20
|
-
value: value,
|
|
21
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(DispatchContext.Provider, {
|
|
22
|
-
value: setValue,
|
|
23
|
-
children: children
|
|
24
|
-
})
|
|
25
|
-
});
|
|
26
|
-
};
|
|
27
|
-
return [
|
|
28
|
-
Provider,
|
|
29
|
-
useValue,
|
|
30
|
-
useSetValue
|
|
31
|
-
];
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
exports.createContextState = createContextState;
|
package/context-state.mjs
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import 'client-only';
|
|
3
|
-
import { useContext, useState, createContext } from 'react';
|
|
4
|
-
|
|
5
|
-
const noop = ()=>{
|
|
6
|
-
// noop;
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
function createContextState(initialState) {
|
|
10
|
-
const StateContext = /*#__PURE__*/ createContext(initialState);
|
|
11
|
-
const DispatchContext = /*#__PURE__*/ createContext(noop);
|
|
12
|
-
const useValue = ()=>useContext(StateContext);
|
|
13
|
-
const useSetValue = ()=>useContext(DispatchContext);
|
|
14
|
-
const Provider = (param)=>{
|
|
15
|
-
let { children } = param;
|
|
16
|
-
const [value, setValue] = useState(initialState);
|
|
17
|
-
return /*#__PURE__*/ jsx(StateContext.Provider, {
|
|
18
|
-
value: value,
|
|
19
|
-
children: /*#__PURE__*/ jsx(DispatchContext.Provider, {
|
|
20
|
-
value: setValue,
|
|
21
|
-
children: children
|
|
22
|
-
})
|
|
23
|
-
});
|
|
24
|
-
};
|
|
25
|
-
return [
|
|
26
|
-
Provider,
|
|
27
|
-
useValue,
|
|
28
|
-
useSetValue
|
|
29
|
-
];
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export { createContextState };
|
package/use-retimer.cjs
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
require('client-only');
|
|
4
|
-
var react = require('react');
|
|
5
|
-
|
|
6
|
-
const useRetimer = ()=>{
|
|
7
|
-
const timerIdRef = react.useRef();
|
|
8
|
-
return react.useCallback((timerId)=>{
|
|
9
|
-
if (typeof timerIdRef.current === 'number') {
|
|
10
|
-
clearTimeout(timerIdRef.current);
|
|
11
|
-
}
|
|
12
|
-
timerIdRef.current = timerId;
|
|
13
|
-
}, []);
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
exports.useRetimer = useRetimer;
|
package/use-retimer.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
require('client-only');
|
|
4
|
-
var react = require('react');
|
|
5
|
-
|
|
6
|
-
const useRetimer = ()=>{
|
|
7
|
-
const timerIdRef = react.useRef();
|
|
8
|
-
return react.useCallback((timerId)=>{
|
|
9
|
-
if (typeof timerIdRef.current === 'number') {
|
|
10
|
-
clearTimeout(timerIdRef.current);
|
|
11
|
-
}
|
|
12
|
-
timerIdRef.current = timerId;
|
|
13
|
-
}, []);
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
exports.useRetimer = useRetimer;
|
package/use-retimer.mjs
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import 'client-only';
|
|
2
|
-
import { useRef, useCallback } from 'react';
|
|
3
|
-
|
|
4
|
-
const useRetimer = ()=>{
|
|
5
|
-
const timerIdRef = useRef();
|
|
6
|
-
return useCallback((timerId)=>{
|
|
7
|
-
if (typeof timerIdRef.current === 'number') {
|
|
8
|
-
clearTimeout(timerIdRef.current);
|
|
9
|
-
}
|
|
10
|
-
timerIdRef.current = timerId;
|
|
11
|
-
}, []);
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
export { useRetimer };
|
|
File without changes
|
|
File without changes
|