foxact 0.2.43 → 0.2.45

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 (87) hide show
  1. package/compose-context-provider/index.d.ts +5 -2
  2. package/context-state/index.cjs +1 -1
  3. package/context-state/index.d.ts +3 -1
  4. package/context-state/index.mjs +1 -1
  5. package/create-storage-hook/index.d.ts +2 -1
  6. package/create-storage-state-factory/index.d.ts +13 -2
  7. package/current-year/index.cjs +1 -1
  8. package/current-year/index.d.ts +3 -1
  9. package/current-year/index.mjs +1 -1
  10. package/email-protection/index.cjs +2 -0
  11. package/email-protection/index.d.ts +27 -0
  12. package/email-protection/index.mjs +2 -0
  13. package/is-safari/index.cjs +1 -0
  14. package/is-safari/index.d.ts +3 -0
  15. package/is-safari/index.mjs +1 -0
  16. package/noop/index.d.ts +2 -1
  17. package/open-new-tab/index.cjs +1 -0
  18. package/open-new-tab/index.d.ts +3 -0
  19. package/open-new-tab/index.mjs +1 -0
  20. package/package.json +146 -107
  21. package/sizes.json +1 -1
  22. package/typescript-happy-forward-ref/index.d.ts +2 -1
  23. package/use-abortable-effect/index.d.ts +5 -1
  24. package/use-composition-input/index.d.ts +2 -1
  25. package/use-error-boundary/index.cjs +1 -1
  26. package/use-error-boundary/index.mjs +1 -1
  27. package/use-fast-click/index.cjs +1 -0
  28. package/use-fast-click/index.d.ts +6 -0
  29. package/use-fast-click/index.mjs +1 -0
  30. package/use-is-online/index.cjs +1 -1
  31. package/use-is-online/index.d.ts +1 -1
  32. package/use-is-online/index.mjs +1 -1
  33. package/use-local-storage/index.d.ts +9 -3
  34. package/use-next-link/index.d.ts +5 -2
  35. package/use-react-router-enable-concurrent-navigation/index.d.ts +3 -1
  36. package/use-react-router-is-match/index.d.ts +5 -1
  37. package/use-session-storage/index.d.ts +9 -3
  38. package/use-singleton/index.d.ts +2 -1
  39. package/use-uncontrolled/index.d.ts +1 -1
  40. package/use-url-hash-state/index.d.ts +2 -1
  41. package/compose-context-provider/index.js +0 -1
  42. package/context-state/index.js +0 -1
  43. package/create-context-state/index.js +0 -1
  44. package/create-fixed-array/index.js +0 -1
  45. package/create-local-storage-state/index.js +0 -1
  46. package/create-session-storage-state/index.js +0 -1
  47. package/create-storage-hook/index.js +0 -1
  48. package/create-storage-state-factory/index.js +0 -1
  49. package/current-year/index.js +0 -2
  50. package/fetch-jsonp/index.js +0 -1
  51. package/invariant/index.js +0 -1
  52. package/no-ssr/index.js +0 -1
  53. package/noop/index.js +0 -1
  54. package/nullthrow/index.js +0 -1
  55. package/rem/index.js +0 -1
  56. package/request-idle-callback/index.js +0 -1
  57. package/types/index.js +0 -1
  58. package/typescript-happy-forward-ref/index.js +0 -1
  59. package/use/index.js +0 -1
  60. package/use-abortable-effect/index.js +0 -1
  61. package/use-array/index.js +0 -1
  62. package/use-clipboard/index.js +0 -1
  63. package/use-component-will-receive-update/index.js +0 -1
  64. package/use-composition-input/index.js +0 -1
  65. package/use-debounced-state/index.js +0 -1
  66. package/use-debounced-value/index.js +0 -1
  67. package/use-error-boundary/index.js +0 -1
  68. package/use-intersection/index.js +0 -1
  69. package/use-is-client/index.js +0 -1
  70. package/use-is-online/index.js +0 -2
  71. package/use-isomorphic-layout-effect/index.js +0 -1
  72. package/use-local-storage/index.js +0 -1
  73. package/use-map/index.js +0 -1
  74. package/use-media-query/index.js +0 -2
  75. package/use-next-link/index.js +0 -1
  76. package/use-next-pathname/index.js +0 -1
  77. package/use-page-visibility/index.js +0 -2
  78. package/use-react-router-enable-concurrent-navigation/index.js +0 -2
  79. package/use-react-router-is-match/index.js +0 -1
  80. package/use-retimer/index.js +0 -1
  81. package/use-session-storage/index.js +0 -1
  82. package/use-set/index.js +0 -1
  83. package/use-singleton/index.js +0 -1
  84. package/use-stable-handler-only-when-you-know-what-you-are-doing-or-you-will-be-fired/index.js +0 -1
  85. package/use-typescript-happy-callback/index.js +0 -1
  86. package/use-uncontrolled/index.js +0 -1
  87. package/use-url-hash-state/index.js +0 -1
@@ -1,5 +1,10 @@
1
- import { NotUndefined, UseStorageRawOption, UseStorageParserOption, StateHookTuple, Serializer } from '../create-storage-hook/index.js';
2
- export { Deserializer } from '../create-storage-hook/index.js';
1
+ import { NotUndefined, StateHookTuple } from '../create-storage-hook/index.js';
2
+ import type { Serializer, Deserializer, UseStorageRawOption, UseStorageParserOption } from '../create-storage-hook/index.js';
3
+
4
+
5
+
6
+
7
+
3
8
 
4
9
  declare const useLocalStorage: {
5
10
  <T>(key: string, serverValue: NotUndefined<T>, options?: UseStorageRawOption | UseStorageParserOption<T>): StateHookTuple<T>;
@@ -7,4 +12,5 @@ declare const useLocalStorage: {
7
12
  };
8
13
  declare const useSetLocalStorage: <T>(key: string, serializer: Serializer<T>) => (v: T | null) => void;
9
14
 
10
- export { Serializer, UseStorageParserOption as UseLocalStorageParserOption, UseStorageRawOption as UseLocalStorageRawOption, useLocalStorage, useSetLocalStorage };
15
+ export { useLocalStorage, useSetLocalStorage };
16
+ export type { Deserializer, Serializer, UseStorageParserOption as UseLocalStorageParserOption, UseStorageRawOption as UseLocalStorageRawOption };
@@ -1,4 +1,6 @@
1
- import { LinkProps } from 'next/link';
1
+ import type { LinkProps } from 'next/link';
2
+
3
+
2
4
 
3
5
  interface UrlObject {
4
6
  auth?: string | null | undefined;
@@ -27,4 +29,5 @@ interface UseNextLinkReturnProps extends Partial<React.JSX.IntrinsicElements['a'
27
29
  declare function useNextLink(hrefProp: string | UrlObject, { prefetch: prefetchProp, ref, onClick, onMouseEnter, onTouchStart, scroll: routerScroll, replace, ...restProps }: UseNextLinkOptions): [isPending: boolean, linkProps: UseNextLinkReturnProps];
28
30
  declare const unstable_useNextLink: typeof useNextLink;
29
31
 
30
- export { type UseNextLinkOptions, type UseNextLinkReturnProps, unstable_useNextLink };
32
+ export { unstable_useNextLink };
33
+ export type { UseNextLinkOptions, UseNextLinkReturnProps };
@@ -1,5 +1,7 @@
1
1
  import * as react from 'react';
2
- import { Foxact } from '../types/index.js';
2
+ import type { Foxact } from '../types/index.js';
3
+
4
+
3
5
 
4
6
  /** @see https://foxact.skk.moe/use-react-router-enable-concurrent-navigation */
5
7
  declare function useReactRouterEnableConcurrentNavigation(): void;
@@ -1,4 +1,8 @@
1
- import { To, RelativeRoutingType } from 'react-router-dom';
1
+ import type { To, RelativeRoutingType } from 'react-router-dom';
2
+
3
+
4
+
5
+
2
6
 
3
7
  interface UseReactRouterIsMatchOption {
4
8
  relative?: RelativeRoutingType;
@@ -1,5 +1,10 @@
1
- import { NotUndefined, UseStorageRawOption, UseStorageParserOption, StateHookTuple, Serializer } from '../create-storage-hook/index.js';
2
- export { Deserializer } from '../create-storage-hook/index.js';
1
+ import { NotUndefined, StateHookTuple } from '../create-storage-hook/index.js';
2
+ import type { Serializer, Deserializer, UseStorageRawOption, UseStorageParserOption } from '../create-storage-hook/index.js';
3
+
4
+
5
+
6
+
7
+
3
8
 
4
9
  declare const useSessionStorage: {
5
10
  <T>(key: string, serverValue: NotUndefined<T>, options?: UseStorageRawOption | UseStorageParserOption<T>): StateHookTuple<T>;
@@ -7,4 +12,5 @@ declare const useSessionStorage: {
7
12
  };
8
13
  declare const useSetSessionStorage: <T>(key: string, serializer: Serializer<T>) => (v: T | null) => void;
9
14
 
10
- export { Serializer, UseStorageParserOption as UseSessionStorageParserOption, UseStorageRawOption as UseSessionStorageRawOption, useSessionStorage, useSetSessionStorage };
15
+ export { useSessionStorage, useSetSessionStorage };
16
+ export type { Deserializer, Serializer, UseStorageParserOption as UseSessionStorageParserOption, UseStorageRawOption as UseSessionStorageRawOption };
@@ -4,4 +4,5 @@ interface SingletonRefObject<T> {
4
4
  /** @see https://foxact.skk.moe/use-singleton */
5
5
  declare function useSingleton<T>(initializor: () => T): SingletonRefObject<T>;
6
6
 
7
- export { type SingletonRefObject, useSingleton };
7
+ export { useSingleton };
8
+ export type { SingletonRefObject };
@@ -1,6 +1,6 @@
1
1
  import * as react from 'react';
2
2
 
3
3
  /** @see https://foxact.skk.moe/use-uncontrolled */
4
- declare function useUncontrolled<T, E extends HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement = HTMLInputElement>(initialValue: T, transformValue?: (value: T) => T): readonly [T, () => void, react.RefObject<E>];
4
+ declare function useUncontrolled<T, E extends HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement = HTMLInputElement>(initialValue: T, transformValue?: (value: T) => T): readonly [T, () => void, react.RefObject<E | null>];
5
5
 
6
6
  export { useUncontrolled };
@@ -12,4 +12,5 @@ interface UseUrlHashStateParserOption<T> {
12
12
  /** @see https://foxact.skk.moe/use-url-hash-state */
13
13
  declare function useUrlHashState<T>(key: string, defaultValue?: NotUndefined<T>, options?: UseUrlHashStateRawOption | UseUrlHashStateParserOption<T>): readonly [NonNullable<T> | null, (v: React.SetStateAction<T | null>) => void];
14
14
 
15
- export { type Deserializer, type Serializer, type UseUrlHashStateParserOption, type UseUrlHashStateRawOption, useUrlHashState as unstable_useUrlHashState };
15
+ export { useUrlHashState as unstable_useUrlHashState };
16
+ export type { Deserializer, Serializer, UseUrlHashStateParserOption, UseUrlHashStateRawOption };
@@ -1 +0,0 @@
1
- "use strict";var e=require("react");const r=e.memo(r=>{let{contexts:t,children:o}=r;return t.reduceRight((r,t)=>e.cloneElement(t,{children:r}),o)});exports.ComposeContextProvider=r;
@@ -1 +0,0 @@
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=/*#__PURE__*/t.createContext(n),u=/*#__PURE__*/t.createContext(r.noop);return[r=>{let{children:i}=r;const[c,s]=t.useState(n);return /*#__PURE__*/e.jsx(o.Provider,{value:c,children:/*#__PURE__*/e.jsx(u.Provider,{value:s,children:i})})},()=>t.useContext(o),()=>t.useContext(u),o]};
@@ -1 +0,0 @@
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 +0,0 @@
1
- "use strict";const e=new Map;function t(e){const t=Array.from(Array(e).keys());return"development"===process.env.NODE_ENV&&Object.freeze(t),t}function r(r){if(e.has(r))return e.get(r);const n=t(r);return e.set(r,n),n}const n=new Map;function o(e){let r,o;return n.has(e)&&(o=(r=n.get(e)).deref()),o||(r=new WeakRef(o=t(e)),n.set(e,r)),o}const s="function"==typeof WeakRef?o:r;exports.createFixedArray=s,exports.createFixedArrayWithGC=o,exports.createFixedArrayWithoutGC=r;
@@ -1 +0,0 @@
1
- "use strict";require("client-only");var e=require("../create-storage-state-factory/index.js");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 r=e.createStorageStateFactory("localStorage");exports.createLocalStorageState=r;
@@ -1 +0,0 @@
1
- "use strict";require("client-only");var e=require("../create-storage-state-factory/index.js");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 r=e.createStorageStateFactory("sessionStorage");exports.createSessionStorageState=r;
@@ -1 +0,0 @@
1
- "use strict";require("client-only");var e=require("react"),o=require("../noop/index.js"),t=require("../use-isomorphic-layout-effect/index.js"),n=require("../no-ssr/index.js");const r=e=>"function"==typeof e,a=e=>e;function i(){throw n.noSSRError("useLocalStorage cannot be used on the server without a serverValue")}exports.createStorage=function(n){const l="localStorage"===n?"foxact-use-local-storage":"foxact-use-session-storage",s="localStorage"===n?"foxact/use-local-storage":"foxact/use-session-storage",c="undefined"==typeof window?o.noop:e=>{window.dispatchEvent(new CustomEvent(l,{detail:e}))},u="undefined"==typeof window?o.noop:(e,o)=>{try{window[n].setItem(e,o)}catch(e){console.warn("[".concat(s,"] Failed to set value to ").concat(n,", it might be blocked"))}finally{c(e)}},d="undefined"==typeof window?o.noop:e=>{try{window[n].removeItem(e)}catch(e){console.warn("[".concat(s,"] Failed to remove value from ").concat(n,", it might be blocked"))}finally{c(e)}},w=e=>{if("undefined"==typeof window)return null;try{return window[n].getItem(e)}catch(e){return console.warn("[".concat(s,"] Failed to get value from ").concat(n,", it might be blocked")),null}};return{useStorage:function(n,s){let c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{raw:!1,serializer:JSON.stringify,deserializer:JSON.parse};const f=e.useCallback(e=>{if("undefined"==typeof window)return o.noop;const t=o=>{"key"in o&&o.key!==n||e()},r=o=>{o.detail===n&&e()};return window.addEventListener("storage",t),window.addEventListener(l,r),()=>{window.removeEventListener("storage",t),window.removeEventListener(l,r)}},[n]),v=c.raw?a:c.serializer,y=c.raw?a:c.deserializer,g=void 0===s?i:()=>v(s),m=e.useSyncExternalStore(f,()=>w(n),g),p=e.useMemo(()=>null===m?null:y(m),[m,y]),h=e.useCallback(e=>{try{const o=r(e)?e(null!=p?p:null):e;null===o?d(n):u(n,v(o))}catch(e){console.warn(e)}},[n,v,p]);return t.useLayoutEffect(()=>{null===w(n)&&void 0!==s&&u(n,v(s))},[y,n,v,s]),[null===p?void 0===s?null:s:p,h]},useSetStorage:(o,t)=>e.useCallback(e=>{try{null===e?d(o):u(o,t(e))}catch(e){console.warn(e)}},[o,t])}};
@@ -1 +0,0 @@
1
- "use strict";var e=require("../create-storage-hook/index.js");require("client-only"),require("react"),require("../noop/index.js"),require("../use-isomorphic-layout-effect/index.js"),require("../no-ssr/index.js");const r=e=>e;exports.createStorageStateFactory=function(t){return function(i,o){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{raw:!1,serializer:JSON.stringify,deserializer:JSON.parse};const{useStorage:a,useSetStorage:n}=e.createStorage(t);return[()=>a(i,o,s),()=>a(i,o,s)[0],()=>n(i,s.raw?r:s.serializer)]}};
@@ -1,2 +0,0 @@
1
- 'use client';
2
- "use strict";var e=require("react/jsx-runtime"),r=require("react"),t=require("../use-isomorphic-layout-effect/index.js");require("client-only");const n=/*#__PURE__*/r.memo(n=>{let{defaultYear:i,...u}=n;"undefined"==typeof window&&void 0===i&&console.warn('[foxact/current-year] "defaultYear" is required during the server-side rendering.');const[s,a]=r.useState(i||new Date().getFullYear());return t.useIsomorphicLayoutEffect(()=>{a(new Date().getFullYear())},[]),/*#__PURE__*/e.jsx("span",{...u,children:s})});"production"!==process.env.NODE_ENV&&(n.displayName="CurrentYear"),exports.CurrentYear=n;
@@ -1 +0,0 @@
1
- "use strict";const e="__foxact_jsonp_callbacks__SECRET_INTERNAL_DO_NOT_USE_OR_YOU_WILL_BE_FIRED";exports.fetchJsonp=function(o){if("undefined"==typeof window)throw TypeError("fetchJsonp is only available in the browser");window[e]||Object.defineProperty(window,e,{value:{},writable:!0,configurable:!0,enumerable:!1});const n="__".concat(Date.now(),"_").concat(Math.random().toString().slice(2),"__"),t="window.".concat(e,".").concat(n);if(Object.prototype.hasOwnProperty.call(window[e],n))throw TypeError("Callback name conflict: ".concat(n));const r=o(t);return new Promise((o,t)=>{const c=document.createElement("script");c.src=r,c.async=!0;const a=()=>{c.removeEventListener("error",i),c.remove(),window[e][n]&&delete window[e][n]};function i(){a(),t(Error("Failed to load script: ".concat(r)))}c.addEventListener("error",i),window[e][n]=e=>{a(),o(e)},document.body.append(c)})};
@@ -1 +0,0 @@
1
- "use strict";exports.invariant=function(n){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:'[foxact/invariant] "value" is null or undefined';if(null==n)throw TypeError(i)};
package/no-ssr/index.js DELETED
@@ -1 +0,0 @@
1
- "use strict";const r=Object.getOwnPropertyDescriptor(Error,"stackTraceLimit"),t=(null==r?void 0:r.writable)&&"number"==typeof r.value;function e(r){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"BAILOUT_TO_CLIENT_SIDE_RENDERING";const o=Error.stackTraceLimit;t&&(Error.stackTraceLimit=0);const i=Error(r);return t&&(Error.stackTraceLimit=o),i.digest=e,i.recoverableError="NO_SSR",i}exports.noSSR=function(r){if("undefined"==typeof window)throw e(r)},exports.noSSRError=e;
package/noop/index.js DELETED
@@ -1 +0,0 @@
1
- "use strict";exports.noop=()=>{};
@@ -1 +0,0 @@
1
- "use strict";exports.nullthrow=function(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:'[foxact/invariant] "value" is null or undefined';if(null==n)throw TypeError(r);return n};
package/rem/index.js DELETED
@@ -1 +0,0 @@
1
- "use strict";const e="16px";function n(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return r&&r!==e?"calc(".concat(n," * ").concat(r,")"):n}function r(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:16;return function c(i){if(Array.isArray(i))return i.map(c).join(" ");if(0===i||"0"===i)return"0";if("number"==typeof i)return n("".concat(i/t).concat(e),r);if(i.includes("calc(")||i.includes("var(")||i.includes("clamp("))return i;if(i.includes(" "))return i.split(" ").map(c).join(" ");if(i.includes(e))return n(i,r);const o=Number(i.replace("px",""));return o==o?n("".concat(o/t).concat(e),r):i}}const t=r("rem",e,16),c=r("rem","var(--mantine-scale)",16),i=r("em",e,16);exports.createConverter=r,exports.em=i,exports.mantine_rem=c,exports.rem=t;
@@ -1 +0,0 @@
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;
package/types/index.js DELETED
@@ -1 +0,0 @@
1
- "use strict";
@@ -1 +0,0 @@
1
- "use strict";var r=require("react");const e=r.forwardRef,p=r.forwardRef;exports.typeScriptHappyForwardRef=e,exports.typescriptHappyForwardRef=p;
package/use/index.js DELETED
@@ -1 +0,0 @@
1
- "use strict";const e=require("react").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=e;
@@ -1 +0,0 @@
1
- "use strict";require("client-only");var e=require("react");function r(r,t){e.useEffect(()=>{const e=new AbortController,t=r(e.signal);return()=>{e.abort(),null==t||t()}},t)}exports.useAbortableEffect=r,exports.useEffect=r;
@@ -1 +0,0 @@
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)),[]);return[t,l,e.useCallback(()=>c([]),[]),e.useCallback(e=>c(r=>{if(e>-1){const t=r.slice();return t.splice(e,1),t}return r}),[])]};
@@ -1 +0,0 @@
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"),a=require("../use-typescript-happy-callback/index.js");class o extends Error{constructor(e){super(e),this.name="UseClipboardError"}}exports.UseClipboardError=o,exports.useClipboard=function(){let{timeout:l=1e3,usePromptAsFallback:i=!1,promptFallbackText:n="Failed to copy to clipboard automatically, please manually copy the text below.",onCopyError:u}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const[s,c]=e.useState(null),[p,d]=e.useState(!1),b=e.useRef(null),y=t.useStableHandler(u||r.noop),w=a.useCallback(e=>{b.current&&clearTimeout(b.current),e&&(b.current=window.setTimeout(()=>d(!1),l)),d(e)},[l]),h=a.useCallback(e=>{c(e),y(e)},[y]);return{copy:a.useCallback(async e=>{try{if("clipboard"in navigator)await navigator.clipboard.writeText(e),w(!0);else throw new o("[foxact/use-clipboard] navigator.clipboard is not supported")}catch(r){if(i)try{window.prompt(n,e)}catch(e){h(e)}else h(r)}},[w,n,h,i]),reset:a.useCallback(()=>{d(!1),c(null),b.current&&clearTimeout(b.current)},[]),error:s,copied:p}};
@@ -1 +0,0 @@
1
- "use strict";var e=require("react");exports.useComponentWillReceiveUpdate=function(t,n){n=[...n];const[r,l]=e.useState(n);let o=n.length!==r.length;for(let e=0;e<n.length&&!o;e+=1)r[e]!==n[e]&&(o=!0);return o&&(l(n),t()),o};
@@ -1 +0,0 @@
1
- "use strict";require("client-only");var e=require("react"),r=require("../use-singleton/index.js");function t(){return{c:!1,e:!1}}exports.useCompositionInput=function(n){const u=r.useSingleton(t),c=e.useCallback(e=>{if("value"in e.target){const r=e.target.value;u.current.c?u.current.e=!1:(n(r),u.current.e=!0)}},[n,u]),i=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:i,onCompositionEnd:s}};
@@ -1 +0,0 @@
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();return[s,e.useCallback(e=>{c.current&&n?i(e):a(window.setTimeout(()=>{c.current=!0,i(e)},u)),c.current=!1},[n,a,u]),e.useCallback(e=>{a(),i(e)},[a])]};
@@ -1 +0,0 @@
1
- "use strict";require("client-only");var e=require("react"),t=require("../use-abortable-effect/index.js");exports.useDebouncedValue=function(r,u){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if("function"==typeof r)throw TypeError("useDebouncedValue does not support function as value");const[o,c]=e.useState(r),i=e.useRef(!0);return t.useEffect(e=>{let t=null;return e.aborted||(n&&i.current?(i.current=!1,c(r)):t=window.setTimeout(()=>{i.current=!0,c(r)},u)),()=>{t&&window.clearTimeout(t)}},[r,n,u]),o};
@@ -1 +0,0 @@
1
- "use strict";require("client-only");var r=require("react");function t(r){return!(!1===r||null==r)}exports.useErrorBoundary=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const[n,u]=r.useState(!1);if(t(e))throw e;if(t(n))throw n;return u};
@@ -1 +0,0 @@
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;return t={id:n,observer:new IntersectionObserver(e=>{e.forEach(e=>{const t=i.get(e.target),n=e.isIntersecting||e.intersectionRatio>0;t&&n&&t(n)})},e),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)},[]);return[e.useCallback(e=>{f.current=e},[]),l,d]};
@@ -1 +0,0 @@
1
- "use strict";require("client-only");var e=require("react");exports.useIsClient=function(){const[t,r]=e.useState(!1);return e.useEffect(()=>{r(!0)},[]),t};
@@ -1,2 +0,0 @@
1
- 'use client';
2
- "use strict";var e=require("react");const n=e=>(window.addEventListener("online",e),window.addEventListener("offline",e),()=>{window.removeEventListener("online",e),window.removeEventListener("offline",e)}),i=()=>"undefined"!=typeof window&&navigator.onLine;exports.useIsOnline=function(){return e.useSyncExternalStore(n,i,i)};
@@ -1 +0,0 @@
1
- "use strict";require("client-only");var e=require("react");const t="undefined"==typeof window?e.useEffect:e.useLayoutEffect;exports.useIsomorphicLayoutEffect=t,exports.useLayoutEffect=t;
@@ -1 +0,0 @@
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;
package/use-map/index.js DELETED
@@ -1 +0,0 @@
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),[]);return[t,s,n,e.useCallback(()=>l(new Map),[]),e.useCallback(e=>l(e),[])]};
@@ -1,2 +0,0 @@
1
- 'use client';
2
- "use strict";var e=require("../no-ssr/index.js"),n=require("../noop/index.js"),t=require("react");const r=new Map;function o(){throw e.noSSRError("useMediaQuery cannot be used on the server without a serverValue")}exports.useMediaQuery=function(e,i){"undefined"==typeof window||r.has(e)||r.set(e,window.matchMedia(e).matches);const a=t.useCallback(t=>(function(e,t){if("undefined"==typeof window)return n.noop;const o=window.matchMedia(e),i=()=>{r.set(e,o.matches),t()};return o.addEventListener("change",i),()=>{o.removeEventListener("change",i)}})(e,t),[e]);return t.useSyncExternalStore(a,()=>{var n;return"undefined"!=typeof window&&(null!==(n=r.get(e))&&void 0!==n?n:window.matchMedia(e).matches)},void 0===i?o:()=>i)};
@@ -1 +0,0 @@
1
- "use strict";require("client-only");var e=require("react"),t=require("next/navigation"),n=require("next/dist/shared/lib/router/utils/format-url"),r=require("../use-intersection/index.js"),o=require("../use-component-will-receive-update/index.js");function u(e,t,n){"undefined"!=typeof window&&Promise.resolve(e.prefetch(t,n)).catch(e=>{if("production"!==process.env.NODE_ENV)throw e})}require("../request-idle-callback/index.js"),exports.unstable_useNextLink=function(i,s){let{prefetch:c,ref:l,onClick:a,onMouseEnter:f,onTouchStart:p,scroll:d=!0,replace:v=!1,...E}=s;process.env.NODE_ENV;const y=null==c?"auto":"full",N=!1!==c,h=t.useRouter(),[k,m]=e.useTransition(),[b,q,x]=r.useIntersection(e.useMemo(()=>({rootMargin:"200px"}),[])),g=e.useMemo(()=>"string"==typeof i?i:n.formatUrl(i),[i]);return o.useComponentWillReceiveUpdate(x,[g]),e.useEffect(()=>{"production"===process.env.NODE_ENV&&q&&N&&u(h,g,{kind:y})},[y,q,N,g,h]),[k,{ref:e.useCallback(e=>{b(e),"function"==typeof l?l(e):l&&e&&(l.current=e)},[l,b]),onClick:e.useCallback(e=>{if("function"==typeof a&&a(e),e.defaultPrevented)return;const{nodeName:t}=e.currentTarget;!("A"===t.toUpperCase()&&function(e){const t=e.currentTarget,n=t.getAttribute("target");return n&&"_self"!==n||t.download||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which}(e))&&(e.preventDefault(),m(()=>{h[v?"replace":"push"](g,{scroll:d})}))},[a,v,g,h,d]),onMouseEnter:e.useCallback(e=>{"function"==typeof f&&f(e),"development"!==process.env.NODE_ENV&&N&&u(h,g,{kind:y})},[y,f,N,g,h]),onTouchStart:e.useCallback(e=>{"function"==typeof p&&p(e),"development"!==process.env.NODE_ENV&&N&&u(h,g,{kind:y})},[y,p,N,g,h]),...E}]};
@@ -1 +0,0 @@
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,2 +0,0 @@
1
- 'use client';
2
- "use strict";var e=require("react");const t=e=>(document.addEventListener("visibilitychange",e),()=>{document.removeEventListener("visibilitychange",e)}),i=()=>"undefined"!=typeof document&&!document.hidden;exports.usePageVisibility=function(){return e.useSyncExternalStore(t,i,i)};
@@ -1,2 +0,0 @@
1
- 'use client';
2
- "use strict";require("client-only");var r=require("react"),e=require("react-router-dom");function t(){const{navigator:t}=r.useContext(e.UNSAFE_NavigationContext);if(!t)throw TypeError("[foxact/use-react-router-enable-concurrent-navigation] 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=function(r){let{children:e}=r;return t(),e},exports.useReactRouterEnableConcurrentNavigation=t;
@@ -1 +0,0 @@
1
- "use strict";require("client-only");var e=require("react"),t=require("react-router-dom");const r=e=>e;exports.useReactRouterIsMatch=function(o){let{relative:a,caseSensitive:n=!1,end:s=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{pathname:u}=t.useLocation(),{navigator:{encodeLocation:i=r}}=e.useContext(t.UNSAFE_NavigationContext),c=t.useResolvedPath(o,{relative:a});return e.useMemo(()=>{let e=u,t=i(c).pathname;return n||(e=e.toLowerCase(),t=t.toLowerCase()),e===t||!s&&e.startsWith(t)&&"/"===e.charAt(t.length)},[i,c,u,n,s])};
@@ -1 +0,0 @@
1
- "use strict";require("client-only");var e=require("react");exports.useRetimer=function(){const r=e.useRef();return e.useCallback(e=>{"number"==typeof r.current&&clearTimeout(r.current),r.current=e},[])};
@@ -1 +0,0 @@
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;
package/use-set/index.js DELETED
@@ -1 +0,0 @@
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),[]);return[a,s,n,e.useCallback(()=>l(new Set),[]),e.useCallback(e=>l(e),[])]};
@@ -1 +0,0 @@
1
- "use strict";require("client-only");var e=require("react");exports.useSingleton=function(r){const t=e.useRef();return t.current||(t.current=r()),t};
@@ -1 +0,0 @@
1
- "use strict";var e=require("react");const t="undefined"==typeof window?e.useEffect:e.useInsertionEffect||e.useLayoutEffect;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];return(0,o.current)(...t)},[])};
@@ -1 +0,0 @@
1
- "use strict";const e=require("react").useCallback;exports.useCallback=e,exports.useTypeScriptHappyCallback=e;
@@ -1 +0,0 @@
1
- "use strict";require("client-only");var e=require("react"),r=require("../use-typescript-happy-callback/index.js");const t=e=>e;exports.useUncontrolled=function(u){let c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t;const n=e.useRef(null),[l,s]=e.useReducer((e,r)=>c(r),u);return[l,r.useCallback(()=>{n.current&&s(n.current.value)},[]),n]};
@@ -1 +0,0 @@
1
- "use strict";require("client-only");var e=require("react"),n=require("../noop/index.js"),r=require("../no-ssr/index.js");const t=e=>e,a=(()=>{if("undefined"==typeof window)return e=>n.noop;let e=!1;const r=new Set,t=()=>{r.forEach(e=>e())};return n=>(r.add(n),e||(e=!0,window.addEventListener("hashchange",t)),()=>{r.delete(n)})})(),o=e=>"function"==typeof e;function l(){throw r.noSSRError("useUrlHashState cannot be used on the server without a serverValue")}exports.unstable_useUrlHashState=function(n,r){var s;let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{raw:!1,serializer:t,deserializer:t};const u=i.raw?t:i.serializer,c=i.raw?t:i.deserializer,d=void 0===r?l:()=>u(r),h=e.useSyncExternalStore(a,()=>new URLSearchParams(location.hash.slice(1)).get(n),d),w=e.useMemo(()=>null===h?null!=r?r:null:c(h),[r,c,h]),S=e.useCallback(e=>{const t=location.hash,a=new URLSearchParams(t.slice(1)),l=o(e)?e(w):e;l===r||null===l?a.delete(n):a.set(n,u(l));const s=a.toString();t!==s&&(location.hash=s)},[r,w,n,u]);return[null!==(s=null!=w?w:r)&&void 0!==s?s:null,S]};