@aliexme/react-utils 3.2.3 → 5.0.0

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.
@@ -1,9 +1,9 @@
1
- import { jsx as c } from "react/jsx-runtime";
2
- import { Fragment as i, cloneElement as r } from "react";
3
- const s = (n) => {
4
- const { when: o, component: t, orElse: m = /* @__PURE__ */ c(i, {}), children: e } = n;
5
- return o ? r(t, { children: e }) : r(m, { children: e });
6
- };
7
- export {
8
- s as Maybe
1
+ import { Fragment as e, cloneElement as t } from "react";
2
+ import { jsx as n } from "react/jsx-runtime";
3
+ //#region src/components/Maybe/Maybe.tsx
4
+ var r = (r) => {
5
+ let { when: i, component: a, orElse: o = /* @__PURE__ */ n(e, {}), children: s } = r;
6
+ return t(i ? a : o, { children: s });
9
7
  };
8
+ //#endregion
9
+ export { r as Maybe };
@@ -1,4 +1,3 @@
1
- export * from './useComponentSize';
2
1
  export * from './useDerivedState';
3
2
  export * from './useDidMount';
4
3
  export * from './useEventListener';
@@ -6,7 +5,6 @@ export * from './useIsMounted';
6
5
  export * from './useIsMountedRef';
7
6
  export * from './useIsomorphicLayoutEffect';
8
7
  export * from './usePrevious';
9
- export * from './useSlaveState';
10
8
  export * from './useValueRef';
11
9
  export * from './useWillUnmount';
12
10
  export * from './useWindowSize';
@@ -1,11 +1,11 @@
1
- import { useState as c, useCallback as i } from "react";
2
- import { useValueRef as C } from "./useValueRef.js";
3
- const h = (a) => {
4
- const { value: e, initialValue: o, onChange: n } = a, [r, s] = c(e ?? o), u = C(n), l = e !== void 0 ? e : r, p = i((t) => {
5
- u.current?.(t), s(t);
6
- }, []);
7
- return [l, p];
8
- };
9
- export {
10
- h as useDerivedState
1
+ import { useValueRef as e } from "./useValueRef.js";
2
+ import { useCallback as t, useState as n } from "react";
3
+ //#region src/hooks/useDerivedState.ts
4
+ var r = (r) => {
5
+ let { value: i, initialValue: a, onChange: o } = r, [s, c] = n(i ?? a), l = e(o);
6
+ return [i === void 0 ? s : i, t((e) => {
7
+ l.current?.(e), c(e);
8
+ }, [])];
11
9
  };
10
+ //#endregion
11
+ export { r as useDerivedState };
@@ -1,7 +1,7 @@
1
- import { useEffect as t } from "react";
2
- const f = (o) => {
3
- t(o, []);
4
- };
5
- export {
6
- f as useDidMount
1
+ import { useEffect as e } from "react";
2
+ //#region src/hooks/useDidMount.ts
3
+ var t = (t) => {
4
+ e(t, []);
7
5
  };
6
+ //#endregion
7
+ export { t as useDidMount };
@@ -1,13 +1,17 @@
1
- import { useEffect as i } from "react";
2
- const f = (e, n, r, s = {}) => {
3
- const { enabled: t = !0, ...o } = s;
4
- i(() => {
5
- if (t)
6
- return e.addEventListener(n, r, o), () => {
7
- e.removeEventListener(n, r, o);
8
- };
9
- }, [e, n, r, t]);
10
- };
11
- export {
12
- f as useEventListener
1
+ import { useEffect as e } from "react";
2
+ //#region src/hooks/useEventListener.ts
3
+ var t = (t, n, r, i = {}) => {
4
+ let { enabled: a = !0, ...o } = i;
5
+ e(() => {
6
+ if (a) return t.addEventListener(n, r, o), () => {
7
+ t.removeEventListener(n, r, o);
8
+ };
9
+ }, [
10
+ t,
11
+ n,
12
+ r,
13
+ a
14
+ ]);
13
15
  };
16
+ //#endregion
17
+ export { t as useEventListener };
@@ -1,11 +1,11 @@
1
- import { useState as o } from "react";
2
- import { useDidMount as s } from "./useDidMount.js";
3
- const n = () => {
4
- const [t, e] = o(!1);
5
- return s(() => {
6
- e(!0);
7
- }), t;
8
- };
9
- export {
10
- n as useIsMounted
1
+ import { useDidMount as e } from "./useDidMount.js";
2
+ import { useState as t } from "react";
3
+ //#region src/hooks/useIsMounted.ts
4
+ var n = () => {
5
+ let [n, r] = t(!1);
6
+ return e(() => {
7
+ r(!0);
8
+ }), n;
11
9
  };
10
+ //#endregion
11
+ export { n as useIsMounted };
@@ -1,11 +1,11 @@
1
+ import { useDidMount as e } from "./useDidMount.js";
1
2
  import { useRef as t } from "react";
2
- import { useDidMount as o } from "./useDidMount.js";
3
- const s = () => {
4
- const e = t(!1);
5
- return o(() => {
6
- e.current = !0;
7
- }), e;
8
- };
9
- export {
10
- s as useIsMountedRef
3
+ //#region src/hooks/useIsMountedRef.ts
4
+ var n = () => {
5
+ let n = t(!1);
6
+ return e(() => {
7
+ n.current = !0;
8
+ }), n;
11
9
  };
10
+ //#endregion
11
+ export { n as useIsMountedRef };
@@ -1,5 +1,5 @@
1
- import { useLayoutEffect as e, useEffect as o } from "react";
2
- const t = typeof window < "u" ? e : o;
3
- export {
4
- t as useIsomorphicLayoutEffect
5
- };
1
+ import { useEffect as e, useLayoutEffect as t } from "react";
2
+ //#region src/hooks/useIsomorphicLayoutEffect.ts
3
+ var n = typeof window < "u" ? t : e;
4
+ //#endregion
5
+ export { n as useIsomorphicLayoutEffect };
@@ -1,8 +1,8 @@
1
- import { useRef as n } from "react";
2
- const o = (r) => {
3
- const e = n(r), t = n(r);
4
- return e.current !== r && (t.current = e.current, e.current = r), t.current;
5
- };
6
- export {
7
- o as usePrevious
1
+ import { useRef as e } from "react";
2
+ //#region src/hooks/usePrevious.ts
3
+ var t = (t) => {
4
+ let n = e(t), r = e(t);
5
+ return n.current !== t && (r.current = n.current, n.current = t), r.current;
8
6
  };
7
+ //#endregion
8
+ export { t as usePrevious };
@@ -1,10 +1,10 @@
1
- import { useRef as t, useEffect as f } from "react";
2
- const s = (e) => {
3
- const r = t(e);
4
- return f(() => {
5
- r.current = e;
6
- }, [e]), r;
7
- };
8
- export {
9
- s as useValueRef
1
+ import { useEffect as e, useRef as t } from "react";
2
+ //#region src/hooks/useValueRef.ts
3
+ var n = (n) => {
4
+ let r = t(n);
5
+ return e(() => {
6
+ r.current = n;
7
+ }, [n]), r;
10
8
  };
9
+ //#endregion
10
+ export { n as useValueRef };
@@ -1,7 +1,7 @@
1
- import { useDidMount as t } from "./useDidMount.js";
2
- const r = (o) => {
3
- t(() => o);
4
- };
5
- export {
6
- r as useWillUnmount
1
+ import { useDidMount as e } from "./useDidMount.js";
2
+ //#region src/hooks/useWillUnmount.ts
3
+ var t = (t) => {
4
+ e(() => t);
7
5
  };
6
+ //#endregion
7
+ export { t as useWillUnmount };
@@ -1,30 +1,23 @@
1
- import { useState as o, useEffect as r } from "react";
2
- import { throttle as h } from "@aliexme/js-utils";
3
- const u = (t = {}) => {
4
- const { throttleDelay: i = 100 } = t, [w, d] = o({
5
- width: typeof window < "u" ? window.innerWidth : 0,
6
- height: typeof window < "u" ? window.innerHeight : 0
7
- });
8
- return r(() => {
9
- if (typeof window > "u")
10
- return;
11
- const n = h(
12
- () => {
13
- d(
14
- (e) => e.width === window.innerWidth && e.height === window.innerHeight ? e : {
15
- width: window.innerWidth,
16
- height: window.innerHeight
17
- }
18
- );
19
- },
20
- i,
21
- { withTrailing: !0 }
22
- );
23
- return window.addEventListener("resize", n), () => {
24
- window.removeEventListener("resize", n);
25
- };
26
- }, [i]), w;
27
- };
28
- export {
29
- u as useWindowSize
1
+ import { useEffect as e, useState as t } from "react";
2
+ import { throttle as n } from "@aliexme/js-utils";
3
+ //#region src/hooks/useWindowSize.ts
4
+ var r = (r = {}) => {
5
+ let { throttleDelay: i = 100 } = r, [a, o] = t({
6
+ width: typeof window < "u" ? window.innerWidth : 0,
7
+ height: typeof window < "u" ? window.innerHeight : 0
8
+ });
9
+ return e(() => {
10
+ if (typeof window > "u") return;
11
+ let e = n(() => {
12
+ o((e) => e.width === window.innerWidth && e.height === window.innerHeight ? e : {
13
+ width: window.innerWidth,
14
+ height: window.innerHeight
15
+ });
16
+ }, i, { withTrailing: !0 });
17
+ return window.addEventListener("resize", e), () => {
18
+ window.removeEventListener("resize", e);
19
+ };
20
+ }, [i]), a;
30
21
  };
22
+ //#endregion
23
+ export { r as useWindowSize };
package/dist/index.js CHANGED
@@ -1,28 +1,12 @@
1
- import { Maybe as r } from "./components/Maybe/Maybe.js";
2
- import { useComponentSize as u } from "./hooks/useComponentSize.js";
3
- import { useDerivedState as s } from "./hooks/useDerivedState.js";
4
- import { useDidMount as p } from "./hooks/useDidMount.js";
5
- import { useEventListener as n } from "./hooks/useEventListener.js";
1
+ import { Maybe as e } from "./components/Maybe/Maybe.js";
2
+ import { useValueRef as t } from "./hooks/useValueRef.js";
3
+ import { useDerivedState as n } from "./hooks/useDerivedState.js";
4
+ import { useDidMount as r } from "./hooks/useDidMount.js";
5
+ import { useEventListener as i } from "./hooks/useEventListener.js";
6
6
  import { useIsMounted as a } from "./hooks/useIsMounted.js";
7
- import { useIsMountedRef as S } from "./hooks/useIsMountedRef.js";
8
- import { useIsomorphicLayoutEffect as v } from "./hooks/useIsomorphicLayoutEffect.js";
9
- import { usePrevious as I } from "./hooks/usePrevious.js";
10
- import { useSlaveState as y } from "./hooks/useSlaveState.js";
11
- import { useValueRef as D } from "./hooks/useValueRef.js";
12
- import { useWillUnmount as L } from "./hooks/useWillUnmount.js";
13
- import { useWindowSize as W } from "./hooks/useWindowSize.js";
14
- export {
15
- r as Maybe,
16
- u as useComponentSize,
17
- s as useDerivedState,
18
- p as useDidMount,
19
- n as useEventListener,
20
- a as useIsMounted,
21
- S as useIsMountedRef,
22
- v as useIsomorphicLayoutEffect,
23
- I as usePrevious,
24
- y as useSlaveState,
25
- D as useValueRef,
26
- L as useWillUnmount,
27
- W as useWindowSize
28
- };
7
+ import { useIsMountedRef as o } from "./hooks/useIsMountedRef.js";
8
+ import { useIsomorphicLayoutEffect as s } from "./hooks/useIsomorphicLayoutEffect.js";
9
+ import { usePrevious as c } from "./hooks/usePrevious.js";
10
+ import { useWillUnmount as l } from "./hooks/useWillUnmount.js";
11
+ import { useWindowSize as u } from "./hooks/useWindowSize.js";
12
+ export { e as Maybe, n as useDerivedState, r as useDidMount, i as useEventListener, a as useIsMounted, o as useIsMountedRef, s as useIsomorphicLayoutEffect, c as usePrevious, t as useValueRef, l as useWillUnmount, u as useWindowSize };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aliexme/react-utils",
3
- "version": "3.2.3",
3
+ "version": "5.0.0",
4
4
  "private": false,
5
5
  "description": "React utilities",
6
6
  "homepage": "https://github.com/aliexme/web-shared/tree/main/packages/react-utils",
@@ -14,12 +14,9 @@
14
14
  "sideEffects": false,
15
15
  "type": "module",
16
16
  "exports": {
17
- ".": {
18
- "import": "./dist/index.js",
19
- "require": "./dist/index.cjs"
20
- }
17
+ ".": "./dist/index.js"
21
18
  },
22
- "main": "./dist/index.cjs",
19
+ "main": "./dist/index.js",
23
20
  "module": "./dist/index.js",
24
21
  "types": "./dist/index.d.ts",
25
22
  "files": [
@@ -33,9 +30,9 @@
33
30
  "@aliexme/js-utils": "^2.4.1"
34
31
  },
35
32
  "devDependencies": {
36
- "@types/react": "19.2.14",
37
- "@vitejs/plugin-react": "5.2.0",
38
- "react": "19.2.4"
33
+ "@types/react": "19.2.17",
34
+ "@vitejs/plugin-react": "6.0.3",
35
+ "react": "19.2.7"
39
36
  },
40
37
  "peerDependencies": {
41
38
  "react": "^19.0.0"
@@ -43,5 +40,5 @@
43
40
  "publishConfig": {
44
41
  "access": "public"
45
42
  },
46
- "gitHead": "cefbac0302fa4ec3f19a2a1e038b42d8f1ae23c8"
43
+ "gitHead": "c32af348e1669e9dca51811a810abff6ba7de279"
47
44
  }
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),e=require("react"),s=t=>{const{when:r,component:o,orElse:c=l.jsx(e.Fragment,{}),children:n}=t;return r?e.cloneElement(o,{children:n}):e.cloneElement(c,{children:n})};exports.Maybe=s;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react"),g=require("./useValueRef.cjs"),a=t=>({width:t?.offsetWidth??0,height:t?.offsetHeight??0}),S=(t={})=>{const{ref:l,enabled:s=!0,manual:o=!1,onResize:d}=t,h=r.useRef(null),e=l??h,i=g.useValueRef(d),[u,z]=r.useState(()=>a(e.current)),c=r.useCallback(n=>{const R=n[0],f=a(e.current);o||z(f),i.current?.(f,R)},[e,o,i]);return r.useEffect(()=>{if(typeof window>"u"||!s||!e.current)return;const n=new ResizeObserver(c);return n.observe(e.current),()=>{n.disconnect()}},[s,e,c]),{ref:e,width:u.width,height:u.height}};exports.useComponentSize=S;
@@ -1,16 +0,0 @@
1
- import { RefObject } from 'react';
2
- export interface ComponentSize {
3
- width: number;
4
- height: number;
5
- }
6
- export interface UseComponentSizeOptions<T extends HTMLElement = HTMLElement> {
7
- ref?: RefObject<T | null>;
8
- enabled?: boolean;
9
- manual?: boolean;
10
- onResize?(size: ComponentSize, entry: ResizeObserverEntry): void;
11
- }
12
- export declare const useComponentSize: <T extends HTMLElement = HTMLElement>(options?: UseComponentSizeOptions) => {
13
- ref: RefObject<HTMLElement | null>;
14
- width: number;
15
- height: number;
16
- };
@@ -1,29 +0,0 @@
1
- import { useRef as l, useState as p, useCallback as g, useEffect as m } from "react";
2
- import { useValueRef as w } from "./useValueRef.js";
3
- const u = (t) => ({
4
- width: t?.offsetWidth ?? 0,
5
- height: t?.offsetHeight ?? 0
6
- }), v = (t = {}) => {
7
- const { ref: h, enabled: r = !0, manual: s = !1, onResize: a } = t, d = l(null), e = h ?? d, o = w(a), [i, z] = p(() => u(e.current)), f = g(
8
- (n) => {
9
- const R = n[0], c = u(e.current);
10
- s || z(c), o.current?.(c, R);
11
- },
12
- [e, s, o]
13
- );
14
- return m(() => {
15
- if (typeof window > "u" || !r || !e.current)
16
- return;
17
- const n = new ResizeObserver(f);
18
- return n.observe(e.current), () => {
19
- n.disconnect();
20
- };
21
- }, [r, e, f]), {
22
- ref: e,
23
- width: i.width,
24
- height: i.height
25
- };
26
- };
27
- export {
28
- v as useComponentSize
29
- };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react"),p=require("./useValueRef.cjs"),g=n=>{const{value:e,initialValue:u,onChange:o}=n,[r,s]=a.useState(e??u),c=p.useValueRef(o),l=e!==void 0?e:r,i=a.useCallback(t=>{c.current?.(t),s(t)},[]);return[l,i]};exports.useDerivedState=g;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react"),u=e=>{t.useEffect(e,[])};exports.useDidMount=u;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react"),o=(e,n,t,u={})=>{const{enabled:r=!0,...s}=u;i.useEffect(()=>{if(r)return e.addEventListener(n,t,s),()=>{e.removeEventListener(n,t,s)}},[e,n,t,r])};exports.useEventListener=o;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),s=require("./useDidMount.cjs"),o=()=>{const[e,t]=u.useState(!1);return s.useDidMount(()=>{t(!0)}),e};exports.useIsMounted=o;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react"),u=require("./useDidMount.cjs"),s=()=>{const e=t.useRef(!1);return u.useDidMount(()=>{e.current=!0}),e};exports.useIsMountedRef=s;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),t=typeof window<"u"?e.useLayoutEffect:e.useEffect;exports.useIsomorphicLayoutEffect=t;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),c=e=>{const r=u.useRef(e),t=u.useRef(e);return r.current!==e&&(t.current=r.current,r.current=e),t.current};exports.usePrevious=c;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react"),a=e=>{const[u,t]=s.useState(e);return s.useEffect(()=>{t(e)},[e]),[u,t]};exports.useSlaveState=a;
@@ -1 +0,0 @@
1
- export declare const useSlaveState: <T>(masterState: T) => readonly [T, import('react').Dispatch<import('react').SetStateAction<T>>];
@@ -1,10 +0,0 @@
1
- import { useState as s, useEffect as u } from "react";
2
- const a = (e) => {
3
- const [o, t] = s(e);
4
- return u(() => {
5
- t(e);
6
- }, [e]), [o, t];
7
- };
8
- export {
9
- a as useSlaveState
10
- };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react"),u=e=>{const t=r.useRef(e);return r.useEffect(()=>{t.current=e},[e]),t};exports.useValueRef=u;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./useDidMount.cjs"),u=e=>{t.useDidMount(()=>e)};exports.useWillUnmount=u;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react"),r=require("@aliexme/js-utils"),s=(d={})=>{const{throttleDelay:i=100}=d,[o,w]=t.useState({width:typeof window<"u"?window.innerWidth:0,height:typeof window<"u"?window.innerHeight:0});return t.useEffect(()=>{if(typeof window>"u")return;const n=r.throttle(()=>{w(e=>e.width===window.innerWidth&&e.height===window.innerHeight?e:{width:window.innerWidth,height:window.innerHeight})},i,{withTrailing:!0});return window.addEventListener("resize",n),()=>{window.removeEventListener("resize",n)}},[i]),o};exports.useWindowSize=s;
package/dist/index.cjs DELETED
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./components/Maybe/Maybe.cjs"),u=require("./hooks/useComponentSize.cjs"),s=require("./hooks/useDerivedState.cjs"),t=require("./hooks/useDidMount.cjs"),o=require("./hooks/useEventListener.cjs"),n=require("./hooks/useIsMounted.cjs"),i=require("./hooks/useIsMountedRef.cjs"),r=require("./hooks/useIsomorphicLayoutEffect.cjs"),c=require("./hooks/usePrevious.cjs"),a=require("./hooks/useSlaveState.cjs"),d=require("./hooks/useValueRef.cjs"),S=require("./hooks/useWillUnmount.cjs"),l=require("./hooks/useWindowSize.cjs");exports.Maybe=e.Maybe;exports.useComponentSize=u.useComponentSize;exports.useDerivedState=s.useDerivedState;exports.useDidMount=t.useDidMount;exports.useEventListener=o.useEventListener;exports.useIsMounted=n.useIsMounted;exports.useIsMountedRef=i.useIsMountedRef;exports.useIsomorphicLayoutEffect=r.useIsomorphicLayoutEffect;exports.usePrevious=c.usePrevious;exports.useSlaveState=a.useSlaveState;exports.useValueRef=d.useValueRef;exports.useWillUnmount=S.useWillUnmount;exports.useWindowSize=l.useWindowSize;