foxact 0.2.11 → 0.2.13

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/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 **less than 5 KiB gzipped in sum**, ensuring a lean and efficient solution. And what's more...And what's more...
29
+ The entire **foxact** library has zero dependencies and is **less than 5 KiB gzipped in sum**, ensuring a lean and efficient solution. And what's more...
30
30
 
31
31
  #### Fully Tree Shakable
32
32
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "foxact",
3
- "version": "0.2.11",
3
+ "version": "0.2.13",
4
4
  "description": "React Hooks/Utils done right. For browser, SSR, and React Server Components.",
5
5
  "sideEffects": false,
6
6
  "files": [
@@ -74,6 +74,15 @@
74
74
  "require": "./noop/index.cjs",
75
75
  "default": "./noop/index.js"
76
76
  },
77
+ "./request-idle-callback": {
78
+ "types": "./request-idle-callback/index.d.ts",
79
+ "import": {
80
+ "types": "./request-idle-callback/index.d.ts",
81
+ "default": "./request-idle-callback/index.mjs"
82
+ },
83
+ "require": "./request-idle-callback/index.cjs",
84
+ "default": "./request-idle-callback/index.js"
85
+ },
77
86
  "./typescript-happy-forward-ref": {
78
87
  "types": "./typescript-happy-forward-ref/index.d.ts",
79
88
  "import": {
@@ -101,15 +110,6 @@
101
110
  "require": "./use-array/index.cjs",
102
111
  "default": "./use-array/index.js"
103
112
  },
104
- "./request-idle-callback": {
105
- "types": "./request-idle-callback/index.d.ts",
106
- "import": {
107
- "types": "./request-idle-callback/index.d.ts",
108
- "default": "./request-idle-callback/index.mjs"
109
- },
110
- "require": "./request-idle-callback/index.cjs",
111
- "default": "./request-idle-callback/index.js"
112
- },
113
113
  "./use-clipboard": {
114
114
  "types": "./use-clipboard/index.d.ts",
115
115
  "import": {
@@ -182,6 +182,24 @@
182
182
  "require": "./use-map/index.cjs",
183
183
  "default": "./use-map/index.js"
184
184
  },
185
+ "./use-react-router-enable-concurrent-navigation": {
186
+ "types": "./use-react-router-enable-concurrent-navigation/index.d.ts",
187
+ "import": {
188
+ "types": "./use-react-router-enable-concurrent-navigation/index.d.ts",
189
+ "default": "./use-react-router-enable-concurrent-navigation/index.mjs"
190
+ },
191
+ "require": "./use-react-router-enable-concurrent-navigation/index.cjs",
192
+ "default": "./use-react-router-enable-concurrent-navigation/index.js"
193
+ },
194
+ "./use-react-router-is-match": {
195
+ "types": "./use-react-router-is-match/index.d.ts",
196
+ "import": {
197
+ "types": "./use-react-router-is-match/index.d.ts",
198
+ "default": "./use-react-router-is-match/index.mjs"
199
+ },
200
+ "require": "./use-react-router-is-match/index.cjs",
201
+ "default": "./use-react-router-is-match/index.js"
202
+ },
185
203
  "./use-retimer": {
186
204
  "types": "./use-retimer/index.d.ts",
187
205
  "import": {
package/sizes.json CHANGED
@@ -1 +1 @@
1
- {"total":{"raw":7145,"gzip":4735,"br":0},"exports":{"create-context-state":{"raw":146,"gzip":116,"br":102},"noop":{"raw":32,"gzip":52,"br":36},"typescript-happy-forward-ref":{"raw":118,"gzip":102,"br":87},"use":{"raw":279,"gzip":175,"br":151},"use-array":{"raw":329,"gzip":242,"br":201},"request-idle-callback":{"raw":407,"gzip":231,"br":180},"use-composition-input":{"raw":420,"gzip":262,"br":230},"context-state":{"raw":371,"gzip":240,"br":204},"use-debounced-value":{"raw":370,"gzip":263,"br":214},"use-error-boundary":{"raw":172,"gzip":157,"br":148},"use-isomorphic-layout-effect":{"raw":177,"gzip":143,"br":120},"use-intersection":{"raw":1214,"gzip":652,"br":592},"use-map":{"raw":348,"gzip":243,"br":210},"use-retimer":{"raw":197,"gzip":165,"br":125},"use-set":{"raw":349,"gzip":242,"br":203},"use-stable-handler-only-when-you-know-what-you-are-doing-or-you-will-be-fired":{"raw":461,"gzip":325,"br":256},"use-debounced-state":{"raw":380,"gzip":275,"br":231},"use-clipboard":{"raw":1071,"gzip":614,"br":527},"use-uncontrolled":{"raw":304,"gzip":236,"br":201}}}
1
+ {"total":{"raw":8437,"gzip":5449,"br":0},"exports":{"context-state":{"raw":371,"gzip":240,"br":204},"create-context-state":{"raw":146,"gzip":116,"br":102},"noop":{"raw":32,"gzip":52,"br":36},"request-idle-callback":{"raw":407,"gzip":231,"br":180},"typescript-happy-forward-ref":{"raw":118,"gzip":102,"br":87},"use":{"raw":279,"gzip":175,"br":151},"use-array":{"raw":329,"gzip":242,"br":201},"use-clipboard":{"raw":1071,"gzip":614,"br":527},"use-composition-input":{"raw":420,"gzip":262,"br":230},"use-debounced-state":{"raw":380,"gzip":275,"br":231},"use-debounced-value":{"raw":370,"gzip":263,"br":214},"use-error-boundary":{"raw":172,"gzip":157,"br":148},"use-intersection":{"raw":1214,"gzip":652,"br":592},"use-isomorphic-layout-effect":{"raw":177,"gzip":143,"br":120},"use-map":{"raw":348,"gzip":243,"br":210},"use-react-router-enable-concurrent-navigation":{"raw":790,"gzip":377,"br":310},"use-react-router-is-match":{"raw":502,"gzip":337,"br":284},"use-retimer":{"raw":197,"gzip":165,"br":125},"use-set":{"raw":349,"gzip":242,"br":203},"use-uncontrolled":{"raw":304,"gzip":236,"br":201},"use-stable-handler-only-when-you-know-what-you-are-doing-or-you-will-be-fired":{"raw":461,"gzip":325,"br":256}}}
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ "use strict";require("client-only");var r=require("react"),t=require("react-router-dom");const e=()=>{let{navigator:e}=r.useContext(t.UNSAFE_NavigationContext);r.useEffect(()=>{let t=e.go.bind(e),n=e.push.bind(e),a=e.replace.bind(e);return e.go=function(){for(var n=arguments.length,a=Array(n),o=0;o<n;o++)a[o]=arguments[o];return r.startTransition(()=>t.apply(e,a))},e.push=function(){for(var t=arguments.length,a=Array(t),o=0;o<t;o++)a[o]=arguments[o];return r.startTransition(()=>n.apply(e,a))},e.replace=function(){for(var t=arguments.length,n=Array(t),o=0;o<t;o++)n[o]=arguments[o];return r.startTransition(()=>a.apply(e,n))},()=>{e.go=t,e.push=n,e.replace=a}},[e])};exports.ReactRouterConcurrentNavigationProvider=r=>{let{children:t}=r;return e(),t},exports.useReactRouterEnableConcurrentNavigation=e;
@@ -0,0 +1,7 @@
1
+ import * as react from 'react';
2
+
3
+ /** @see https://foxact.skk.moe/use-react-router-enable-concurrent-navigation */
4
+ declare const useReactRouterEnableConcurrentNavigation: () => void;
5
+ declare const ReactRouterConcurrentNavigationProvider: ({ children }: React.PropsWithChildren) => react.ReactNode;
6
+
7
+ export { ReactRouterConcurrentNavigationProvider, useReactRouterEnableConcurrentNavigation };
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ "use strict";require("client-only");var r=require("react"),t=require("react-router-dom");const e=()=>{let{navigator:e}=r.useContext(t.UNSAFE_NavigationContext);r.useEffect(()=>{let t=e.go.bind(e),n=e.push.bind(e),a=e.replace.bind(e);return e.go=function(){for(var n=arguments.length,a=Array(n),o=0;o<n;o++)a[o]=arguments[o];return r.startTransition(()=>t.apply(e,a))},e.push=function(){for(var t=arguments.length,a=Array(t),o=0;o<t;o++)a[o]=arguments[o];return r.startTransition(()=>n.apply(e,a))},e.replace=function(){for(var t=arguments.length,n=Array(t),o=0;o<t;o++)n[o]=arguments[o];return r.startTransition(()=>a.apply(e,n))},()=>{e.go=t,e.push=n,e.replace=a}},[e])};exports.ReactRouterConcurrentNavigationProvider=r=>{let{children:t}=r;return e(),t},exports.useReactRouterEnableConcurrentNavigation=e;
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import"client-only";import{useContext as r,useEffect as e,startTransition as t}from"react";import{UNSAFE_NavigationContext as n}from"react-router-dom";let o=()=>{let{navigator:o}=r(n);e(()=>{let r=o.go.bind(o),e=o.push.bind(o),n=o.replace.bind(o);return o.go=function(){for(var e=arguments.length,n=Array(e),a=0;a<e;a++)n[a]=arguments[a];return t(()=>r.apply(o,n))},o.push=function(){for(var r=arguments.length,n=Array(r),a=0;a<r;a++)n[a]=arguments[a];return t(()=>e.apply(o,n))},o.replace=function(){for(var r=arguments.length,e=Array(r),a=0;a<r;a++)e[a]=arguments[a];return t(()=>n.apply(o,e))},()=>{o.go=r,o.push=e,o.replace=n}},[o])},a=r=>{let{children:e}=r;return o(),e};export{a as ReactRouterConcurrentNavigationProvider,o as useReactRouterEnableConcurrentNavigation};
@@ -0,0 +1 @@
1
+ "use strict";require("client-only");var e=require("react"),t=require("react-router-dom");exports.useReactRouterIsMatch=(r,a)=>{let{relative:o,caseSensitive:s=!1,end:n=!1}=a,{pathname:u}=t.useLocation(),{navigator:{encodeLocation:i}}=e.useContext(t.UNSAFE_NavigationContext),c=t.useResolvedPath(r,{relative:o});return e.useMemo(()=>{let e=u,t=i?i(c).pathname:c.pathname;return s||(e=e.toLowerCase(),t=t.toLowerCase()),e===t||!n&&e.startsWith(t)&&"/"===e.charAt(t.length)},[i,c,u,s,n])};
@@ -0,0 +1,11 @@
1
+ import { To, RelativeRoutingType } from 'react-router-dom';
2
+
3
+ interface UseReactRouterIsMatchOption {
4
+ relative?: RelativeRoutingType;
5
+ caseSensitive?: boolean;
6
+ end?: boolean;
7
+ }
8
+ /** @see https://foxact.skk.moe/use-react-router-is-match */
9
+ declare const useReactRouterIsMatch: (to: To, { relative, caseSensitive, end }: UseReactRouterIsMatchOption) => boolean;
10
+
11
+ export { useReactRouterIsMatch };
@@ -0,0 +1 @@
1
+ "use strict";require("client-only");var e=require("react"),t=require("react-router-dom");exports.useReactRouterIsMatch=(r,a)=>{let{relative:o,caseSensitive:s=!1,end:n=!1}=a,{pathname:u}=t.useLocation(),{navigator:{encodeLocation:i}}=e.useContext(t.UNSAFE_NavigationContext),c=t.useResolvedPath(r,{relative:o});return e.useMemo(()=>{let e=u,t=i?i(c).pathname:c.pathname;return s||(e=e.toLowerCase(),t=t.toLowerCase()),e===t||!n&&e.startsWith(t)&&"/"===e.charAt(t.length)},[i,c,u,s,n])};
@@ -0,0 +1 @@
1
+ import"client-only";import{useContext as t,useMemo as e}from"react";import{useLocation as r,UNSAFE_NavigationContext as a,useResolvedPath as o}from"react-router-dom";let m=(m,n)=>{let{relative:h,caseSensitive:p=!1,end:c=!1}=n,{pathname:i}=r(),{navigator:{encodeLocation:l}}=t(a),s=o(m,{relative:h});return e(()=>{let t=i,e=l?l(s).pathname:s.pathname;return p||(t=t.toLowerCase(),e=e.toLowerCase()),t===e||!c&&t.startsWith(e)&&"/"===t.charAt(e.length)},[l,s,i,p,c])};export{m as useReactRouterIsMatch};