@krosoft/react 0.0.325 → 0.0.327

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.
@@ -5,9 +5,9 @@ import { t as f } from "./skeleton-D6Ga4BLw.js";
5
5
  import { t as p } from "./useMobile-pTQ8lWvt.js";
6
6
  import * as m from "react";
7
7
  import { jsx as h, jsxs as g } from "react/jsx-runtime";
8
- import { Bar as _, BarChart as v, CartesianGrid as y, Line as b, LineChart as x, Pie as S, PieChart as C, XAxis as w, YAxis as T } from "recharts";
8
+ import { Bar as _, BarChart as v, CartesianGrid as y, Line as b, LineChart as x, Pie as S, PieChart as C, Rectangle as w, Sector as T, XAxis as E, YAxis as D } from "recharts";
9
9
  //#region src/components/core/charts/chartTooltip.helper.tsx
10
- var E = (e, t) => e ? (n, r) => /* @__PURE__ */ g("div", {
10
+ var O = (e, t) => e ? (n, r) => /* @__PURE__ */ g("div", {
11
11
  className: "flex flex-1 justify-between gap-4",
12
12
  children: [/* @__PURE__ */ h("span", {
13
13
  className: "text-muted-foreground",
@@ -16,19 +16,19 @@ var E = (e, t) => e ? (n, r) => /* @__PURE__ */ g("div", {
16
16
  className: "font-mono font-medium tabular-nums text-foreground",
17
17
  children: e(Number(n))
18
18
  })]
19
- }) : void 0, D = (e, t) => t > 0 && e.length > t ? `${e.slice(0, t)}…` : e, O = ({ data: n, label: r = "Valeur", color: i = "hsl(var(--primary))", categoryWidth: a = 140, maxLabelLength: o = 22, valueFormatter: c, onSelect: l, className: d }) => {
20
- let f = m.useMemo(() => ({ value: {
19
+ }) : void 0, k = .35, A = (e, t) => t > 0 && e.length > t ? `${e.slice(0, t)}…` : e, j = ({ data: n, label: r = "Valeur", color: i = "hsl(var(--primary))", categoryWidth: a = 140, maxLabelLength: o = 22, valueFormatter: c, onSelect: l, className: d }) => {
20
+ let [f, p] = m.useState(null), b = m.useMemo(() => ({ value: {
21
21
  label: r,
22
22
  color: i
23
- } }), [r, i]), p = m.useMemo(() => E(c, r), [c, r]), b = m.useMemo(() => n.some((e) => e.color !== void 0) ? n.map((e) => ({
23
+ } }), [r, i]), x = m.useMemo(() => O(c, r), [c, r]), S = m.useMemo(() => n.some((e) => e.color !== void 0) ? n.map((e) => ({
24
24
  ...e,
25
25
  fill: e.color ?? i
26
26
  })) : n, [n, i]);
27
27
  return /* @__PURE__ */ h(u, {
28
- config: f,
28
+ config: b,
29
29
  className: e("aspect-auto size-full", d),
30
30
  children: /* @__PURE__ */ g(v, {
31
- data: b,
31
+ data: S,
32
32
  layout: "vertical",
33
33
  margin: {
34
34
  top: 5,
@@ -41,7 +41,7 @@ var E = (e, t) => e ? (n, r) => /* @__PURE__ */ g("div", {
41
41
  strokeDasharray: "3 3",
42
42
  horizontal: !1
43
43
  }),
44
- /* @__PURE__ */ h(w, {
44
+ /* @__PURE__ */ h(E, {
45
45
  type: "number",
46
46
  dataKey: "value",
47
47
  allowDecimals: !1,
@@ -50,15 +50,15 @@ var E = (e, t) => e ? (n, r) => /* @__PURE__ */ g("div", {
50
50
  tickMargin: 8,
51
51
  tickFormatter: c ? (e) => c(Number(e)) : void 0
52
52
  }),
53
- /* @__PURE__ */ h(T, {
53
+ /* @__PURE__ */ h(D, {
54
54
  type: "category",
55
55
  dataKey: "name",
56
56
  width: a,
57
57
  tickLine: !1,
58
58
  axisLine: !1,
59
- tickFormatter: (e) => D(String(e), o)
59
+ tickFormatter: (e) => A(String(e), o)
60
60
  }),
61
- /* @__PURE__ */ h(t, { content: /* @__PURE__ */ h(s, { formatter: p }) }),
61
+ /* @__PURE__ */ h(t, { content: /* @__PURE__ */ h(s, { formatter: x }) }),
62
62
  /* @__PURE__ */ h(_, {
63
63
  dataKey: "value",
64
64
  fill: "var(--color-value)",
@@ -69,6 +69,16 @@ var E = (e, t) => e ? (n, r) => /* @__PURE__ */ g("div", {
69
69
  0
70
70
  ],
71
71
  className: l ? "cursor-pointer" : void 0,
72
+ onMouseEnter: l ? (e, t) => {
73
+ p(t);
74
+ } : void 0,
75
+ onMouseLeave: l ? () => {
76
+ p(null);
77
+ } : void 0,
78
+ shape: (e) => /* @__PURE__ */ h(w, {
79
+ ...e,
80
+ fillOpacity: f !== null && f !== e.index ? k : 1
81
+ }),
72
82
  onClick: l ? (e, t) => {
73
83
  l(n[t], t);
74
84
  } : void 0
@@ -76,11 +86,11 @@ var E = (e, t) => e ? (n, r) => /* @__PURE__ */ g("div", {
76
86
  ]
77
87
  })
78
88
  });
79
- }, k = ({ data: n, label: r = "Valeur", color: i = "hsl(var(--primary))", labelAngle: a, valueFormatter: o, allowDecimals: c = !1, onSelect: l, className: d }) => {
89
+ }, M = ({ data: n, label: r = "Valeur", color: i = "hsl(var(--primary))", labelAngle: a, valueFormatter: o, allowDecimals: c = !1, onSelect: l, className: d }) => {
80
90
  let f = m.useMemo(() => ({ value: {
81
91
  label: r,
82
92
  color: i
83
- } }), [r, i]), p = m.useMemo(() => E(o, r), [o, r]), b = a !== void 0 && a !== 0, x = m.useMemo(() => n.some((e) => e.color !== void 0) ? n.map((e) => ({
93
+ } }), [r, i]), p = m.useMemo(() => O(o, r), [o, r]), b = a !== void 0 && a !== 0, x = m.useMemo(() => n.some((e) => e.color !== void 0) ? n.map((e) => ({
84
94
  ...e,
85
95
  fill: e.color ?? i
86
96
  })) : n, [n, i]);
@@ -100,7 +110,7 @@ var E = (e, t) => e ? (n, r) => /* @__PURE__ */ g("div", {
100
110
  strokeDasharray: "3 3",
101
111
  vertical: !1
102
112
  }),
103
- /* @__PURE__ */ h(w, {
113
+ /* @__PURE__ */ h(E, {
104
114
  dataKey: "name",
105
115
  angle: a,
106
116
  textAnchor: b ? "end" : "middle",
@@ -109,7 +119,7 @@ var E = (e, t) => e ? (n, r) => /* @__PURE__ */ g("div", {
109
119
  axisLine: !1,
110
120
  tickMargin: 8
111
121
  }),
112
- /* @__PURE__ */ h(T, {
122
+ /* @__PURE__ */ h(D, {
113
123
  allowDecimals: c,
114
124
  tickLine: !1,
115
125
  axisLine: !1,
@@ -134,13 +144,13 @@ var E = (e, t) => e ? (n, r) => /* @__PURE__ */ g("div", {
134
144
  ]
135
145
  })
136
146
  });
137
- }, A = [
147
+ }, N = [
138
148
  "hsl(var(--k-chart-1))",
139
149
  "hsl(var(--k-chart-2))",
140
150
  "hsl(var(--k-chart-3))",
141
151
  "hsl(var(--k-chart-4))",
142
152
  "hsl(var(--k-chart-5))"
143
- ], j = (e) => A[e % A.length], M = ({ title: t, description: o, icon: s, actions: c, footer: u, isLoading: p = !1, isEmpty: m = !1, emptyLabel: _, height: v = 300, className: y, contentClassName: b, children: x }) => {
153
+ ], P = (e) => N[e % N.length], F = ({ title: t, description: o, icon: s, actions: c, footer: u, isLoading: p = !1, isEmpty: m = !1, emptyLabel: _, height: v = 300, className: y, contentClassName: b, children: x }) => {
144
154
  let { t: S } = d(), C = s;
145
155
  return /* @__PURE__ */ g(l, {
146
156
  className: y,
@@ -174,11 +184,11 @@ var E = (e, t) => e ? (n, r) => /* @__PURE__ */ g("div", {
174
184
  children: u
175
185
  }) : null] })]
176
186
  });
177
- }, N = {
187
+ }, I = {
178
188
  warning: 50,
179
189
  danger: 80
180
- }, P = (e, t) => e >= t.danger ? "hsl(var(--destructive))" : e >= t.warning ? "hsl(var(--k-warning))" : "hsl(var(--k-success))", F = ({ value: t, max: n = 100, size: r = 120, strokeWidth: i = 8, label: a, unit: o = "%", color: s, thresholds: c = N, valueFormatter: l = (e) => e.toFixed(1), className: u }) => {
181
- let d = (r - i) / 2, f = d * 2 * Math.PI, p = n > 0 ? Math.min(100, Math.max(0, t / n * 100)) : 0, m = s ?? P(p, c);
190
+ }, L = (e, t) => e >= t.danger ? "hsl(var(--destructive))" : e >= t.warning ? "hsl(var(--k-warning))" : "hsl(var(--k-success))", R = ({ value: t, max: n = 100, size: r = 120, strokeWidth: i = 8, label: a, unit: o = "%", color: s, thresholds: c = I, valueFormatter: l = (e) => e.toFixed(1), className: u }) => {
191
+ let d = (r - i) / 2, f = d * 2 * Math.PI, p = n > 0 ? Math.min(100, Math.max(0, t / n * 100)) : 0, m = s ?? L(p, c);
182
192
  return /* @__PURE__ */ g("div", {
183
193
  className: e("flex flex-col items-center gap-2", u),
184
194
  children: [/* @__PURE__ */ g("div", {
@@ -225,11 +235,11 @@ var E = (e, t) => e ? (n, r) => /* @__PURE__ */ g("div", {
225
235
  children: a
226
236
  }) : null]
227
237
  });
228
- }, I = ({ data: n, label: r = "Valeur", color: i = "hsl(var(--primary))", yAxisDomain: a, valueFormatter: o, labelFormatter: c, showDots: l = !0, className: d }) => {
238
+ }, z = ({ data: n, label: r = "Valeur", color: i = "hsl(var(--primary))", yAxisDomain: a, valueFormatter: o, labelFormatter: c, showDots: l = !0, className: d }) => {
229
239
  let f = m.useMemo(() => ({ value: {
230
240
  label: r,
231
241
  color: i
232
- } }), [r, i]), p = m.useMemo(() => E(o, r), [o, r]);
242
+ } }), [r, i]), p = m.useMemo(() => O(o, r), [o, r]);
233
243
  return /* @__PURE__ */ h(u, {
234
244
  config: f,
235
245
  className: e("aspect-auto size-full", d),
@@ -246,7 +256,7 @@ var E = (e, t) => e ? (n, r) => /* @__PURE__ */ g("div", {
246
256
  strokeDasharray: "3 3",
247
257
  vertical: !1
248
258
  }),
249
- /* @__PURE__ */ h(w, {
259
+ /* @__PURE__ */ h(E, {
250
260
  dataKey: "name",
251
261
  tickLine: !1,
252
262
  axisLine: !1,
@@ -254,7 +264,7 @@ var E = (e, t) => e ? (n, r) => /* @__PURE__ */ g("div", {
254
264
  interval: "preserveStartEnd",
255
265
  tickFormatter: c ? (e) => c(String(e)) : void 0
256
266
  }),
257
- /* @__PURE__ */ h(T, {
267
+ /* @__PURE__ */ h(D, {
258
268
  domain: a,
259
269
  tickLine: !1,
260
270
  axisLine: !1,
@@ -284,14 +294,14 @@ var E = (e, t) => e ? (n, r) => /* @__PURE__ */ g("div", {
284
294
  ]
285
295
  })
286
296
  });
287
- }, L = ({ data: n, innerRadius: r, outerRadius: i, showLegend: a = !0, showLabels: l = !1, valueFormatter: d, onSelect: f, className: _ }) => {
297
+ }, B = 6, V = ({ data: n, innerRadius: r, outerRadius: i, showLegend: a = !0, showLabels: l = !1, valueFormatter: d, onSelect: f, className: _ }) => {
288
298
  let v = p(), y = m.useMemo(() => n.map((e, t) => ({
289
299
  ...e,
290
- fill: e.color ?? j(t)
300
+ fill: e.color ?? P(t)
291
301
  })), [n]), b = m.useMemo(() => Object.fromEntries(n.map((e, t) => [e.name, {
292
302
  label: e.name,
293
- color: e.color ?? j(t)
294
- }])), [n]), x = m.useMemo(() => E(d), [d]), w = r ?? (v ? 45 : 60), T = i ?? (v ? 80 : 100);
303
+ color: e.color ?? P(t)
304
+ }])), [n]), x = m.useMemo(() => O(d), [d]), w = r ?? (v ? 45 : 60), E = i ?? (v ? 80 : 100);
295
305
  return /* @__PURE__ */ h(u, {
296
306
  config: b,
297
307
  className: e("aspect-auto size-full", _),
@@ -308,11 +318,15 @@ var E = (e, t) => e ? (n, r) => /* @__PURE__ */ g("div", {
308
318
  cx: "50%",
309
319
  cy: a ? "45%" : "50%",
310
320
  innerRadius: w,
311
- outerRadius: T,
321
+ outerRadius: E,
312
322
  paddingAngle: w > 0 ? 2 : 0,
313
323
  label: l ? ({ name: e, value: t }) => `${String(e)} (${String(t)})` : void 0,
314
324
  isAnimationActive: !1,
315
325
  className: e("stroke-background", f && "cursor-pointer"),
326
+ shape: (e) => /* @__PURE__ */ h(T, {
327
+ ...e,
328
+ outerRadius: f && e.isActive ? e.outerRadius + B : e.outerRadius
329
+ }),
316
330
  onClick: f ? (e, t) => {
317
331
  f(n[t], t);
318
332
  } : void 0
@@ -325,4 +339,4 @@ var E = (e, t) => e ? (n, r) => /* @__PURE__ */ g("div", {
325
339
  });
326
340
  };
327
341
  //#endregion
328
- export { A as a, O as c, M as i, I as n, j as o, F as r, k as s, L as t };
342
+ export { N as a, j as c, F as i, z as n, P as o, R as r, M as s, V as t };
@@ -1 +1 @@
1
- {"version":3,"file":"BarChartHorizontal.d.ts","sourceRoot":"","sources":["../../../../src/components/core/charts/BarChartHorizontal.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wHAAwH;IACxH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qFAAqF;IACrF,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,kCAAkC;IAClC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,6FAShC,uBAAuB,KAAG,KAAK,CAAC,GAAG,CAAC,OAiDtC,CAAC"}
1
+ {"version":3,"file":"BarChartHorizontal.d.ts","sourceRoot":"","sources":["../../../../src/components/core/charts/BarChartHorizontal.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wHAAwH;IACxH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qFAAqF;IACrF,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,kCAAkC;IAClC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,6FAShC,uBAAuB,KAAG,KAAK,CAAC,GAAG,CAAC,OAoEtC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PieChart.d.ts","sourceRoot":"","sources":["../../../../src/components/core/charts/PieChart.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,wGAAwG;IACxG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gGAAgG;IAChG,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,wEAAwE;IACxE,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,iCAAiC;IACjC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,kGAStB,aAAa,KAAG,KAAK,CAAC,GAAG,CAAC,OA+C5B,CAAC"}
1
+ {"version":3,"file":"PieChart.d.ts","sourceRoot":"","sources":["../../../../src/components/core/charts/PieChart.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,wGAAwG;IACxG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gGAAgG;IAChG,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,wEAAwE;IACxE,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,iCAAiC;IACjC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,kGAStB,aAAa,KAAG,KAAK,CAAC,GAAG,CAAC,OAmD5B,CAAC"}
@@ -1,2 +1,2 @@
1
- import { a as e, c as t, i as n, n as r, o as i, r as a, s as o, t as s } from "../../../charts-QR6bDfQR.js";
1
+ import { a as e, c as t, i as n, n as r, o as i, r as a, s as o, t as s } from "../../../charts-NxoXrN5w.js";
2
2
  export { t as BarChartHorizontal, o as BarChartVertical, e as CHART_COLORS, n as ChartCard, a as CircularGauge, r as LineChart, s as PieChart, i as getChartColor };
@@ -1,7 +1,7 @@
1
1
  import { a as e, i as t, n, o as r, r as i, t as a } from "../../cards-OMWaiu9p.js";
2
2
  import { I as o } from "../../ui-yvfaMQwo.js";
3
3
  import { A as s, D as c, E as l, F as u, M as d, N as f, O as p, P as m, j as h, k as g } from "../../sheet-BtfL6yxE.js";
4
- import { a as _, c as v, i as y, n as b, o as x, r as S, s as C, t as w } from "../../charts-QR6bDfQR.js";
4
+ import { a as _, c as v, i as y, n as b, o as x, r as S, s as C, t as w } from "../../charts-NxoXrN5w.js";
5
5
  import { t as T } from "../../ErrorAlert-B9xG4dAD.js";
6
6
  import { n as E, r as D, t as O } from "../../dialogs-BVf-OP_h.js";
7
7
  import { t as k } from "../../ImageInput-BESvVwnK.js";
@@ -6,7 +6,7 @@ import { a as bn, c as xn, i as Sn, l as Cn, n as wn, o as Tn, r as En, s as Dn,
6
6
  import { A as kn, C as An, D as jn, E as Mn, F as Nn, M as Pn, N as Fn, O as In, P as Ln, S as Rn, T as zn, _ as Bn, a as Vn, b as Hn, c as Un, d as Wn, f as Gn, g as Kn, h as qn, i as Jn, j as Yn, k as Xn, l as Zn, m as Qn, n as $n, o as er, p as tr, r as nr, s as rr, t as ir, u as ar, v as or, w as sr, x as cr, y as lr } from "../sheet-BtfL6yxE.js";
7
7
  import { a as ur, c as dr, i as fr, l as pr, n as mr, o as hr, r as gr, s as _r, t as vr, u as yr } from "../select-KWMg2_7Z.js";
8
8
  import { t as br } from "../skeleton-D6Ga4BLw.js";
9
- import { a as xr, c as Sr, i as Cr, n as wr, o as Tr, r as Er, s as Dr, t as Or } from "../charts-QR6bDfQR.js";
9
+ import { a as xr, c as Sr, i as Cr, n as wr, o as Tr, r as Er, s as Dr, t as Or } from "../charts-NxoXrN5w.js";
10
10
  import { t as kr } from "../ErrorAlert-B9xG4dAD.js";
11
11
  import { n as Ar, r as jr, t as Mr } from "../dialogs-BVf-OP_h.js";
12
12
  import { t as Nr } from "../ImageInput-BESvVwnK.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@krosoft/react",
3
- "version": "0.0.325",
3
+ "version": "0.0.327",
4
4
  "description": "Krosoft shared React package",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -116,7 +116,7 @@
116
116
  "autoprefixer": "^10.5.5",
117
117
  "eslint-plugin-storybook": "10.6.0",
118
118
  "i18next": "^26.4.2",
119
- "jsdom": "^30.1.2",
119
+ "jsdom": "^30.1.3",
120
120
  "next-themes": "^0.4.6",
121
121
  "prettier": "^3.9.6",
122
122
  "react": "^19.2.8",