fansunited-frontend-components 0.0.31-RC6 → 0.0.31-RC7

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.
@@ -0,0 +1,1739 @@
1
+ import { q as Ro, $ as V, a0 as Y, N as o, a1 as Oo, a2 as Ao, _ as c, D as eo, a3 as zo, G as w, F as $, H as A, I as B, J as _, K as z, a4 as W, Q as N, O, a5 as So, a6 as ro, Y as lo, Z as to, a7 as io, a8 as co, a9 as uo, aa as Eo, ab as M } from "./Portal-DegkUXpU.js";
2
+ import * as h from "react";
3
+ import { forwardRef as po, createElement as q } from "react";
4
+ import { jsx as T, jsxs as $o } from "react/jsx-runtime";
5
+ import { e as Do, b as Po, c as wo } from "./index-DUQ2LFod.js";
6
+ function no(r) {
7
+ return r.substring(2).toLowerCase();
8
+ }
9
+ function Bo(r, e) {
10
+ return e.documentElement.clientWidth < r.clientX || e.documentElement.clientHeight < r.clientY;
11
+ }
12
+ function j(r) {
13
+ const {
14
+ children: e,
15
+ disableReactTree: a = !1,
16
+ mouseEvent: t = "onClick",
17
+ onClickAway: s,
18
+ touchEvent: n = "onTouchEnd"
19
+ } = r, l = h.useRef(!1), i = h.useRef(null), u = h.useRef(!1), d = h.useRef(!1);
20
+ h.useEffect(() => (setTimeout(() => {
21
+ u.current = !0;
22
+ }, 0), () => {
23
+ u.current = !1;
24
+ }), []);
25
+ const m = Ro(
26
+ // @ts-expect-error TODO upstream fix
27
+ e.ref,
28
+ i
29
+ ), b = V((p) => {
30
+ const g = d.current;
31
+ d.current = !1;
32
+ const C = Y(i.current);
33
+ if (!u.current || !i.current || "clientX" in p && Bo(p, C))
34
+ return;
35
+ if (l.current) {
36
+ l.current = !1;
37
+ return;
38
+ }
39
+ let v;
40
+ p.composedPath ? v = p.composedPath().indexOf(i.current) > -1 : v = !C.documentElement.contains(
41
+ // @ts-expect-error returns `false` as intended when not dispatched from a Node
42
+ p.target
43
+ ) || i.current.contains(
44
+ // @ts-expect-error returns `false` as intended when not dispatched from a Node
45
+ p.target
46
+ ), !v && (a || !g) && s(p);
47
+ }), k = (p) => (g) => {
48
+ d.current = !0;
49
+ const C = e.props[p];
50
+ C && C(g);
51
+ }, x = {
52
+ ref: m
53
+ };
54
+ return n !== !1 && (x[n] = k(n)), h.useEffect(() => {
55
+ if (n !== !1) {
56
+ const p = no(n), g = Y(i.current), C = () => {
57
+ l.current = !0;
58
+ };
59
+ return g.addEventListener(p, b), g.addEventListener("touchmove", C), () => {
60
+ g.removeEventListener(p, b), g.removeEventListener("touchmove", C);
61
+ };
62
+ }
63
+ }, [b, n]), t !== !1 && (x[t] = k(t)), h.useEffect(() => {
64
+ if (t !== !1) {
65
+ const p = no(t), g = Y(i.current);
66
+ return g.addEventListener(p, b), () => {
67
+ g.removeEventListener(p, b);
68
+ };
69
+ }
70
+ }, [b, t]), /* @__PURE__ */ T(h.Fragment, {
71
+ children: /* @__PURE__ */ h.cloneElement(e, x)
72
+ });
73
+ }
74
+ process.env.NODE_ENV !== "production" && (j.propTypes = {
75
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
76
+ // │ These PropTypes are generated from the TypeScript type definitions. │
77
+ // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │
78
+ // └─────────────────────────────────────────────────────────────────────┘
79
+ /**
80
+ * The wrapped element.
81
+ */
82
+ children: Do.isRequired,
83
+ /**
84
+ * If `true`, the React tree is ignored and only the DOM tree is considered.
85
+ * This prop changes how portaled elements are handled.
86
+ * @default false
87
+ */
88
+ disableReactTree: o.bool,
89
+ /**
90
+ * The mouse event to listen to. You can disable the listener by providing `false`.
91
+ * @default 'onClick'
92
+ */
93
+ mouseEvent: o.oneOf(["onClick", "onMouseDown", "onMouseUp", "onPointerDown", "onPointerUp", !1]),
94
+ /**
95
+ * Callback fired when a "click away" event is detected.
96
+ */
97
+ onClickAway: o.func.isRequired,
98
+ /**
99
+ * The touch event to listen to. You can disable the listener by providing `false`.
100
+ * @default 'onTouchEnd'
101
+ */
102
+ touchEvent: o.oneOf(["onTouchEnd", "onTouchStart", !1])
103
+ });
104
+ process.env.NODE_ENV !== "production" && (j.propTypes = Oo(j.propTypes));
105
+ function _o(r = {}) {
106
+ const {
107
+ autoHideDuration: e = null,
108
+ disableWindowBlurListener: a = !1,
109
+ onClose: t,
110
+ open: s,
111
+ resumeHideDuration: n
112
+ } = r, l = Ao();
113
+ h.useEffect(() => {
114
+ if (!s)
115
+ return;
116
+ function v(f) {
117
+ f.defaultPrevented || (f.key === "Escape" || f.key === "Esc") && (t == null || t(f, "escapeKeyDown"));
118
+ }
119
+ return document.addEventListener("keydown", v), () => {
120
+ document.removeEventListener("keydown", v);
121
+ };
122
+ }, [s, t]);
123
+ const i = V((v, f) => {
124
+ t == null || t(v, f);
125
+ }), u = V((v) => {
126
+ !t || v == null || l.start(v, () => {
127
+ i(null, "timeout");
128
+ });
129
+ });
130
+ h.useEffect(() => (s && u(e), l.clear), [s, e, u, l]);
131
+ const d = (v) => {
132
+ t == null || t(v, "clickaway");
133
+ }, m = l.clear, b = h.useCallback(() => {
134
+ e != null && u(n ?? e * 0.5);
135
+ }, [e, n, u]), k = (v) => (f) => {
136
+ const y = v.onBlur;
137
+ y == null || y(f), b();
138
+ }, x = (v) => (f) => {
139
+ const y = v.onFocus;
140
+ y == null || y(f), m();
141
+ }, p = (v) => (f) => {
142
+ const y = v.onMouseEnter;
143
+ y == null || y(f), m();
144
+ }, g = (v) => (f) => {
145
+ const y = v.onMouseLeave;
146
+ y == null || y(f), b();
147
+ };
148
+ return h.useEffect(() => {
149
+ if (!a && s)
150
+ return window.addEventListener("focus", b), window.addEventListener("blur", m), () => {
151
+ window.removeEventListener("focus", b), window.removeEventListener("blur", m);
152
+ };
153
+ }, [a, s, b, m]), {
154
+ getRootProps: (v = {}) => {
155
+ const f = c({}, eo(r), eo(v));
156
+ return c({
157
+ // ClickAwayListener adds an `onClick` prop which results in the alert not being announced.
158
+ // See https://github.com/mui/material-ui/issues/29080
159
+ role: "presentation"
160
+ }, v, f, {
161
+ onBlur: k(f),
162
+ onFocus: x(f),
163
+ onMouseEnter: p(f),
164
+ onMouseLeave: g(f)
165
+ });
166
+ },
167
+ onClickAway: d
168
+ };
169
+ }
170
+ const No = zo(/* @__PURE__ */ T("path", {
171
+ d: "M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"
172
+ }), "Person");
173
+ function Lo(r) {
174
+ return w("MuiAvatar", r);
175
+ }
176
+ $("MuiAvatar", ["root", "colorPrimary", "colorNeutral", "colorDanger", "colorSuccess", "colorWarning", "colorContext", "fallback", "sizeSm", "sizeMd", "sizeLg", "img", "variantOutlined", "variantSoft", "variantSolid"]);
177
+ function Fo(r) {
178
+ return w("MuiAvatarGroup", r);
179
+ }
180
+ $("MuiAvatarGroup", ["root"]);
181
+ const Mo = ["className", "color", "component", "size", "variant", "children", "slots", "slotProps"], K = /* @__PURE__ */ h.createContext(void 0);
182
+ process.env.NODE_ENV !== "production" && (K.displayName = "AvatarGroupContext");
183
+ const Io = () => N({
184
+ root: ["root"]
185
+ }, Fo, {}), Ho = A("div", {
186
+ name: "JoyAvatarGroup",
187
+ slot: "Root",
188
+ overridesResolver: (r, e) => e.root
189
+ })(({
190
+ ownerState: r,
191
+ theme: e
192
+ }) => c({}, r.size === "sm" && {
193
+ "--AvatarGroup-gap": "-0.375rem",
194
+ "--Avatar-ringSize": "2px"
195
+ }, r.size === "md" && {
196
+ "--AvatarGroup-gap": "-0.5rem",
197
+ "--Avatar-ringSize": "2px"
198
+ }, r.size === "lg" && {
199
+ "--AvatarGroup-gap": "-0.625rem",
200
+ "--Avatar-ringSize": "4px"
201
+ }, {
202
+ "--Avatar-ring": `0 0 0 var(--Avatar-ringSize) var(--Avatar-ringColor, ${e.vars.palette.background.surface})`,
203
+ "--Avatar-marginInlineStart": "var(--AvatarGroup-gap)",
204
+ display: "flex",
205
+ marginInlineStart: "calc(-1 * var(--AvatarGroup-gap))"
206
+ })), Wo = /* @__PURE__ */ h.forwardRef(function(e, a) {
207
+ const t = B({
208
+ props: e,
209
+ name: "JoyAvatarGroup"
210
+ }), {
211
+ className: s,
212
+ color: n,
213
+ component: l = "div",
214
+ size: i = "md",
215
+ variant: u,
216
+ children: d,
217
+ slots: m = {},
218
+ slotProps: b = {}
219
+ } = t, k = _(t, Mo), x = h.useMemo(() => c({}, t, {
220
+ color: n,
221
+ component: l,
222
+ size: i,
223
+ variant: u
224
+ }), [n, l, t, i, u]), p = Io(), [g, C] = z("root", {
225
+ ref: a,
226
+ className: W(p.root, s),
227
+ elementType: Ho,
228
+ externalForwardedProps: c({}, k, {
229
+ component: l,
230
+ slots: m,
231
+ slotProps: b
232
+ }),
233
+ ownerState: x
234
+ });
235
+ return /* @__PURE__ */ T(K.Provider, {
236
+ value: x,
237
+ children: /* @__PURE__ */ T(g, c({}, C, {
238
+ children: d
239
+ }))
240
+ });
241
+ });
242
+ process.env.NODE_ENV !== "production" && (Wo.propTypes = {
243
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
244
+ // │ These PropTypes are generated from the TypeScript type definitions. │
245
+ // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │
246
+ // └─────────────────────────────────────────────────────────────────────┘
247
+ /**
248
+ * Used to render icon or text elements inside the AvatarGroup if `src` is not set.
249
+ * This can be an element, or just a string.
250
+ */
251
+ children: o.node,
252
+ /**
253
+ * @ignore
254
+ */
255
+ className: o.string,
256
+ /**
257
+ * The color of the component. It supports those theme colors that make sense for this component.
258
+ * @default 'neutral'
259
+ */
260
+ color: o.oneOfType([o.oneOf(["danger", "neutral", "primary", "success", "warning"]), o.string]),
261
+ /**
262
+ * The component used for the root node.
263
+ * Either a string to use a HTML element or a component.
264
+ */
265
+ component: o.elementType,
266
+ /**
267
+ * The size of the component.
268
+ * It accepts theme values between 'sm' and 'lg'.
269
+ * @default 'md'
270
+ */
271
+ size: o.oneOfType([o.oneOf(["lg", "md", "sm"]), o.string]),
272
+ /**
273
+ * The props used for each slot inside.
274
+ * @default {}
275
+ */
276
+ slotProps: o.shape({
277
+ root: o.oneOfType([o.func, o.object])
278
+ }),
279
+ /**
280
+ * The components used for each slot inside.
281
+ * @default {}
282
+ */
283
+ slots: o.shape({
284
+ root: o.elementType
285
+ }),
286
+ /**
287
+ * The system prop that allows defining system overrides as well as additional CSS styles.
288
+ */
289
+ sx: o.oneOfType([o.arrayOf(o.oneOfType([o.func, o.object, o.bool])), o.func, o.object]),
290
+ /**
291
+ * The [global variant](https://mui.com/joy-ui/main-features/global-variants/) to use.
292
+ * @default 'soft'
293
+ */
294
+ variant: o.oneOfType([o.oneOf(["outlined", "plain", "soft", "solid"]), o.string])
295
+ });
296
+ const jo = ["alt", "color", "size", "variant", "src", "srcSet", "children", "component", "slots", "slotProps"], Uo = (r) => {
297
+ const {
298
+ size: e,
299
+ variant: a,
300
+ color: t,
301
+ src: s,
302
+ srcSet: n
303
+ } = r, l = {
304
+ root: ["root", a && `variant${O(a)}`, t && `color${O(t)}`, e && `size${O(e)}`],
305
+ img: [(s || n) && "img"],
306
+ fallback: ["fallback"]
307
+ };
308
+ return N(l, Lo, {});
309
+ }, Xo = A("div", {
310
+ name: "JoyAvatar",
311
+ slot: "Root",
312
+ overridesResolver: (r, e) => e.root
313
+ })(({
314
+ theme: r,
315
+ ownerState: e
316
+ }) => {
317
+ var a;
318
+ return c({
319
+ "--Icon-color": e.color !== "neutral" || e.variant === "solid" ? "currentColor" : r.vars.palette.text.icon
320
+ }, r.typography[`title-${e.size}`], e.size === "sm" && {
321
+ width: "var(--Avatar-size, 2rem)",
322
+ height: "var(--Avatar-size, 2rem)",
323
+ fontSize: "calc(var(--Avatar-size, 2rem) * 0.4375)"
324
+ // default as 14px
325
+ }, e.size === "md" && {
326
+ width: "var(--Avatar-size, 2.5rem)",
327
+ height: "var(--Avatar-size, 2.5rem)",
328
+ fontSize: "calc(var(--Avatar-size, 2.5rem) * 0.4)"
329
+ // default as 16px
330
+ }, e.size === "lg" && {
331
+ width: "var(--Avatar-size, 3rem)",
332
+ height: "var(--Avatar-size, 3rem)",
333
+ fontSize: "calc(var(--Avatar-size, 3rem) * 0.375)"
334
+ // default as 18px
335
+ }, {
336
+ marginInlineStart: "var(--Avatar-marginInlineStart)",
337
+ boxShadow: "var(--Avatar-ring)",
338
+ position: "relative",
339
+ display: "flex",
340
+ alignItems: "center",
341
+ justifyContent: "center",
342
+ flexShrink: 0,
343
+ lineHeight: 1,
344
+ overflow: "hidden",
345
+ borderRadius: "var(--Avatar-radius, 50%)",
346
+ userSelect: "none"
347
+ }, (a = r.variants[e.variant]) == null ? void 0 : a[e.color]);
348
+ }), Jo = A("img", {
349
+ name: "JoyAvatar",
350
+ slot: "Img",
351
+ overridesResolver: (r, e) => e.img
352
+ })({
353
+ width: "100%",
354
+ height: "100%",
355
+ textAlign: "center",
356
+ // Handle non-square image. The property isn't supported by IE11.
357
+ objectFit: "cover",
358
+ // Hide alt text.
359
+ color: "transparent",
360
+ // Hide the image broken icon, only works on Chrome.
361
+ textIndent: 1e4
362
+ }), Go = A(No, {
363
+ name: "JoyAvatar",
364
+ slot: "Fallback",
365
+ overridesResolver: (r, e) => e.fallback
366
+ })({
367
+ width: "64%",
368
+ height: "64%"
369
+ });
370
+ function Yo({
371
+ crossOrigin: r,
372
+ referrerPolicy: e,
373
+ src: a,
374
+ srcSet: t
375
+ }) {
376
+ const [s, n] = h.useState(!1);
377
+ return h.useEffect(() => {
378
+ if (!a && !t)
379
+ return;
380
+ n(!1);
381
+ let l = !0;
382
+ const i = new Image();
383
+ return i.onload = () => {
384
+ l && n("loaded");
385
+ }, i.onerror = () => {
386
+ l && n("error");
387
+ }, i.crossOrigin = r, i.referrerPolicy = e, a && (i.src = a), t && (i.srcset = t), () => {
388
+ l = !1;
389
+ };
390
+ }, [r, e, a, t]), s;
391
+ }
392
+ const Vo = /* @__PURE__ */ h.forwardRef(function(e, a) {
393
+ const t = B({
394
+ props: e,
395
+ name: "JoyAvatar"
396
+ }), s = h.useContext(K), {
397
+ alt: n,
398
+ color: l = "neutral",
399
+ size: i = "md",
400
+ variant: u = "soft",
401
+ src: d,
402
+ srcSet: m,
403
+ children: b,
404
+ component: k,
405
+ slots: x = {},
406
+ slotProps: p = {}
407
+ } = t, g = _(t, jo), C = e.variant || (s == null ? void 0 : s.variant) || u, v = e.color || (s == null ? void 0 : s.color) || l, f = e.size || (s == null ? void 0 : s.size) || i;
408
+ let y = null;
409
+ const E = c({}, t, {
410
+ color: v,
411
+ size: f,
412
+ variant: C,
413
+ grouped: !!s
414
+ }), D = Uo(E), P = c({}, g, {
415
+ component: k,
416
+ slots: x,
417
+ slotProps: p
418
+ }), [L, U] = z("root", {
419
+ ref: a,
420
+ className: D.root,
421
+ elementType: Xo,
422
+ externalForwardedProps: P,
423
+ ownerState: E
424
+ }), [I, F] = z("img", {
425
+ additionalProps: {
426
+ alt: n,
427
+ src: d,
428
+ srcSet: m
429
+ },
430
+ className: D.img,
431
+ elementType: Jo,
432
+ externalForwardedProps: P,
433
+ ownerState: E
434
+ }), [S, H] = z("fallback", {
435
+ className: D.fallback,
436
+ elementType: Go,
437
+ externalForwardedProps: P,
438
+ ownerState: E
439
+ }), X = Yo(c({}, F, {
440
+ src: d,
441
+ srcSet: m
442
+ }));
443
+ return (d || m) && X !== "error" ? y = /* @__PURE__ */ T(I, c({}, F)) : b != null ? y = b : n ? y = n[0] : y = /* @__PURE__ */ T(S, c({}, H)), /* @__PURE__ */ T(L, c({}, U, {
444
+ children: y
445
+ }));
446
+ });
447
+ process.env.NODE_ENV !== "production" && (Vo.propTypes = {
448
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
449
+ // │ These PropTypes are generated from the TypeScript type definitions. │
450
+ // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │
451
+ // └─────────────────────────────────────────────────────────────────────┘
452
+ /**
453
+ * Used in combination with `src` or `srcSet` to
454
+ * provide an alt attribute for the rendered `img` element.
455
+ */
456
+ alt: o.string,
457
+ /**
458
+ * Used to render icon or text elements inside the Avatar if `src` is not set.
459
+ * This can be an element, or just a string.
460
+ */
461
+ children: o.node,
462
+ /**
463
+ * The color of the component. It supports those theme colors that make sense for this component.
464
+ * @default 'neutral'
465
+ */
466
+ color: o.oneOfType([o.oneOf(["danger", "neutral", "primary", "success", "warning"]), o.string]),
467
+ /**
468
+ * The component used for the root node.
469
+ * Either a string to use a HTML element or a component.
470
+ */
471
+ component: o.elementType,
472
+ /**
473
+ * The size of the component.
474
+ * It accepts theme values between 'sm' and 'lg'.
475
+ * @default 'md'
476
+ */
477
+ size: o.oneOfType([o.oneOf(["lg", "md", "sm"]), o.string]),
478
+ /**
479
+ * The props used for each slot inside.
480
+ * @default {}
481
+ */
482
+ slotProps: o.shape({
483
+ fallback: o.oneOfType([o.func, o.object]),
484
+ img: o.oneOfType([o.func, o.object]),
485
+ root: o.oneOfType([o.func, o.object])
486
+ }),
487
+ /**
488
+ * The components used for each slot inside.
489
+ * @default {}
490
+ */
491
+ slots: o.shape({
492
+ fallback: o.elementType,
493
+ img: o.elementType,
494
+ root: o.elementType
495
+ }),
496
+ /**
497
+ * The `src` attribute for the `img` element.
498
+ */
499
+ src: o.string,
500
+ /**
501
+ * The `srcSet` attribute for the `img` element.
502
+ * Use this attribute for responsive image display.
503
+ */
504
+ srcSet: o.string,
505
+ /**
506
+ * The system prop that allows defining system overrides as well as additional CSS styles.
507
+ */
508
+ sx: o.oneOfType([o.arrayOf(o.oneOfType([o.func, o.object, o.bool])), o.func, o.object]),
509
+ /**
510
+ * The [global variant](https://mui.com/joy-ui/main-features/global-variants/) to use.
511
+ * @default 'soft'
512
+ */
513
+ variant: o.oneOfType([o.oneOf(["outlined", "plain", "soft", "solid"]), o.string])
514
+ });
515
+ function qo(r) {
516
+ return w("MuiCardActions", r);
517
+ }
518
+ $("MuiCardActions", ["root"]);
519
+ const Ko = $("MuiDivider", ["root", "horizontal", "vertical", "insetContext", "insetNone"]), Zo = ["className", "component", "children", "buttonFlex", "orientation", "slots", "slotProps"], Qo = () => N({
520
+ root: ["root"]
521
+ }, qo, {}), vo = A("div")(({
522
+ ownerState: r
523
+ }) => {
524
+ var e;
525
+ return c({
526
+ "--Button-radius": "var(--Card-childRadius)",
527
+ "--IconButton-radius": "var(--Card-childRadius)",
528
+ display: "flex"
529
+ }, ((e = r.orientation) == null ? void 0 : e.startsWith("horizontal")) && {
530
+ alignItems: "center"
531
+ // it is common to have children aligned center in horizontal orientation, but not vertically.
532
+ }, {
533
+ flexDirection: r.orientation === "horizontal" ? "row" : "column"
534
+ }, r.orientation === "horizontal-reverse" && {
535
+ flexDirection: "row-reverse"
536
+ }, {
537
+ zIndex: 1,
538
+ // render above Link's overlay
539
+ gap: "calc(0.625 * var(--Card-padding))",
540
+ padding: "var(--unstable_padding)",
541
+ "--unstable_padding": "calc(0.75 * var(--Card-padding)) 0 0 0",
542
+ [`.${Po.root} > &`]: {
543
+ "--unstable_padding": "calc(0.75 * var(--Card-padding)) 0 var(--Card-padding)"
544
+ },
545
+ [`.${wo.root} > .${Ko.root} + &`]: {
546
+ "--unstable_padding": "0"
547
+ }
548
+ }, r.buttonFlex ? {
549
+ [`& > :not(.${So.root})`]: {
550
+ flex: r.buttonFlex
551
+ },
552
+ [`& > :not(button) > .${ro.root}`]: {
553
+ width: "100%"
554
+ // for button to fill its wrapper.
555
+ }
556
+ } : {
557
+ [`& > .${ro.root}:only-child`]: {
558
+ flex: "auto"
559
+ }
560
+ });
561
+ }), oe = A(vo, {
562
+ name: "JoyCardActions",
563
+ slot: "Root",
564
+ overridesResolver: (r, e) => e.root
565
+ })({}), ee = /* @__PURE__ */ h.forwardRef(function(e, a) {
566
+ const t = B({
567
+ props: e,
568
+ name: "JoyCardActions"
569
+ }), {
570
+ className: s,
571
+ component: n = "div",
572
+ children: l,
573
+ buttonFlex: i,
574
+ orientation: u = "horizontal",
575
+ slots: d = {},
576
+ slotProps: m = {}
577
+ } = t, b = _(t, Zo), k = c({}, b, {
578
+ component: n,
579
+ slots: d,
580
+ slotProps: m
581
+ }), x = c({}, t, {
582
+ component: n,
583
+ buttonFlex: i,
584
+ orientation: u
585
+ }), p = Qo(), [g, C] = z("root", {
586
+ ref: a,
587
+ className: W(p.root, s),
588
+ elementType: oe,
589
+ externalForwardedProps: k,
590
+ ownerState: x
591
+ });
592
+ return /* @__PURE__ */ T(g, c({}, C, {
593
+ children: l
594
+ }));
595
+ });
596
+ process.env.NODE_ENV !== "production" && (ee.propTypes = {
597
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
598
+ // │ These PropTypes are generated from the TypeScript type definitions. │
599
+ // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │
600
+ // └─────────────────────────────────────────────────────────────────────┘
601
+ /**
602
+ * The CSS `flex` for the Button and its wrapper.
603
+ */
604
+ buttonFlex: o.oneOfType([o.number, o.string]),
605
+ /**
606
+ * Used to render icon or text elements inside the CardActions if `src` is not set.
607
+ * This can be an element, or just a string.
608
+ */
609
+ children: o.node,
610
+ /**
611
+ * @ignore
612
+ */
613
+ className: o.string,
614
+ /**
615
+ * The component used for the root node.
616
+ * Either a string to use a HTML element or a component.
617
+ */
618
+ component: o.elementType,
619
+ /**
620
+ * The component orientation.
621
+ * @default 'horizontal'
622
+ */
623
+ orientation: o.oneOf(["horizontal-reverse", "horizontal", "vertical"]),
624
+ /**
625
+ * The props used for each slot inside.
626
+ * @default {}
627
+ */
628
+ slotProps: o.shape({
629
+ root: o.oneOfType([o.func, o.object])
630
+ }),
631
+ /**
632
+ * The components used for each slot inside.
633
+ * @default {}
634
+ */
635
+ slots: o.shape({
636
+ root: o.elementType
637
+ }),
638
+ /**
639
+ * The system prop that allows defining system overrides as well as additional CSS styles.
640
+ */
641
+ sx: o.oneOfType([o.arrayOf(o.oneOfType([o.func, o.object, o.bool])), o.func, o.object])
642
+ });
643
+ function re(r) {
644
+ return w("MuiDialogActions", r);
645
+ }
646
+ $("MuiDialogActions", ["root"]);
647
+ const te = ["component", "children", "buttonFlex", "orientation", "slots", "slotProps"], ne = () => N({
648
+ root: ["root"]
649
+ }, re, {}), ae = A(vo, {
650
+ name: "JoyDialogActions",
651
+ slot: "Root",
652
+ overridesResolver: (r, e) => e.root
653
+ })({}), se = /* @__PURE__ */ h.forwardRef(function(e, a) {
654
+ const t = B({
655
+ props: e,
656
+ name: "JoyDialogActions"
657
+ }), {
658
+ component: s = "div",
659
+ children: n,
660
+ buttonFlex: l,
661
+ orientation: i = "horizontal-reverse",
662
+ slots: u = {},
663
+ slotProps: d = {}
664
+ } = t, m = _(t, te), b = c({}, m, {
665
+ component: s,
666
+ slots: u,
667
+ slotProps: d
668
+ }), k = c({}, t, {
669
+ component: s,
670
+ buttonFlex: l,
671
+ orientation: i
672
+ }), x = ne(), [p, g] = z("root", {
673
+ ref: a,
674
+ className: x.root,
675
+ elementType: ae,
676
+ externalForwardedProps: b,
677
+ ownerState: k
678
+ });
679
+ return /* @__PURE__ */ T(p, c({}, g, {
680
+ children: n
681
+ }));
682
+ });
683
+ process.env.NODE_ENV !== "production" && (se.propTypes = {
684
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
685
+ // │ These PropTypes are generated from the TypeScript type definitions. │
686
+ // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │
687
+ // └─────────────────────────────────────────────────────────────────────┘
688
+ /**
689
+ * The CSS `flex` for the Button and its wrapper.
690
+ */
691
+ buttonFlex: o.oneOfType([o.number, o.string]),
692
+ /**
693
+ * Used to render icon or text elements inside the DialogActions if `src` is not set.
694
+ * This can be an element, or just a string.
695
+ */
696
+ children: o.node,
697
+ /**
698
+ * The component used for the root node.
699
+ * Either a string to use a HTML element or a component.
700
+ */
701
+ component: o.elementType,
702
+ /**
703
+ * The component orientation.
704
+ * @default 'horizontal-reverse'
705
+ */
706
+ orientation: o.oneOf(["horizontal-reverse", "horizontal", "vertical"]),
707
+ /**
708
+ * The props used for each slot inside.
709
+ * @default {}
710
+ */
711
+ slotProps: o.shape({
712
+ root: o.oneOfType([o.func, o.object])
713
+ }),
714
+ /**
715
+ * The components used for each slot inside.
716
+ * @default {}
717
+ */
718
+ slots: o.shape({
719
+ root: o.elementType
720
+ }),
721
+ /**
722
+ * The system prop that allows defining system overrides as well as additional CSS styles.
723
+ */
724
+ sx: o.oneOfType([o.arrayOf(o.oneOfType([o.func, o.object, o.bool])), o.func, o.object])
725
+ });
726
+ function le(r) {
727
+ return w("MuiSheet", r);
728
+ }
729
+ $("MuiSheet", ["root", "colorPrimary", "colorNeutral", "colorDanger", "colorSuccess", "colorWarning", "colorContext", "variantPlain", "variantOutlined", "variantSoft", "variantSolid"]);
730
+ const ie = ["className", "color", "component", "variant", "invertedColors", "slots", "slotProps"], ce = (r) => {
731
+ const {
732
+ variant: e,
733
+ color: a
734
+ } = r, t = {
735
+ root: ["root", e && `variant${O(e)}`, a && `color${O(a)}`]
736
+ };
737
+ return N(t, le, {});
738
+ }, de = A("div", {
739
+ name: "JoySheet",
740
+ slot: "Root",
741
+ overridesResolver: (r, e) => e.root
742
+ })(({
743
+ theme: r,
744
+ ownerState: e
745
+ }) => {
746
+ var a, t;
747
+ const s = (a = r.variants[e.variant]) == null ? void 0 : a[e.color], {
748
+ borderRadius: n,
749
+ bgcolor: l,
750
+ backgroundColor: i,
751
+ background: u
752
+ } = lo({
753
+ theme: r,
754
+ ownerState: e
755
+ }, ["borderRadius", "bgcolor", "backgroundColor", "background"]), d = to(r, `palette.${l}`) || l || to(r, `palette.${i}`) || i || u || (s == null ? void 0 : s.backgroundColor) || (s == null ? void 0 : s.background) || r.vars.palette.background.surface;
756
+ return [c({
757
+ "--Icon-color": e.color !== "neutral" || e.variant === "solid" ? "currentColor" : r.vars.palette.text.icon,
758
+ "--ListItem-stickyBackground": d === "transparent" ? "initial" : d,
759
+ // for sticky List
760
+ "--Sheet-background": d === "transparent" ? "initial" : d
761
+ }, n !== void 0 && {
762
+ "--List-radius": `calc(${n} - var(--variant-borderWidth, 0px))`,
763
+ "--unstable_actionRadius": `calc(${n} - var(--variant-borderWidth, 0px))`
764
+ }, {
765
+ backgroundColor: r.vars.palette.background.surface,
766
+ position: "relative"
767
+ }), c({}, r.typography["body-md"], e.variant === "solid" && e.color && e.invertedColors && io(e.color)(r), e.variant === "soft" && e.color && e.invertedColors && co(e.color)(r), (t = r.variants[e.variant]) == null ? void 0 : t[e.color], s)];
768
+ }), ue = /* @__PURE__ */ h.forwardRef(function(e, a) {
769
+ const t = B({
770
+ props: e,
771
+ name: "JoySheet"
772
+ }), {
773
+ className: s,
774
+ color: n = "neutral",
775
+ component: l = "div",
776
+ variant: i = "plain",
777
+ invertedColors: u = !1,
778
+ slots: d = {},
779
+ slotProps: m = {}
780
+ } = t, b = _(t, ie), k = c({}, t, {
781
+ color: n,
782
+ component: l,
783
+ invertedColors: u,
784
+ variant: i
785
+ }), x = ce(k), p = c({}, b, {
786
+ component: l,
787
+ slots: d,
788
+ slotProps: m
789
+ }), [g, C] = z("root", {
790
+ ref: a,
791
+ className: W(x.root, s),
792
+ elementType: de,
793
+ externalForwardedProps: p,
794
+ ownerState: k
795
+ });
796
+ return /* @__PURE__ */ T(g, c({}, C));
797
+ });
798
+ process.env.NODE_ENV !== "production" && (ue.propTypes = {
799
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
800
+ // │ These PropTypes are generated from the TypeScript type definitions. │
801
+ // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │
802
+ // └─────────────────────────────────────────────────────────────────────┘
803
+ /**
804
+ * The content of the component.
805
+ */
806
+ children: o.node,
807
+ /**
808
+ * @ignore
809
+ */
810
+ className: o.string,
811
+ /**
812
+ * The color of the component. It supports those theme colors that make sense for this component.
813
+ * @default 'neutral'
814
+ */
815
+ color: o.oneOfType([o.oneOf(["danger", "neutral", "primary", "success", "warning"]), o.string]),
816
+ /**
817
+ * The component used for the root node.
818
+ * Either a string to use a HTML element or a component.
819
+ */
820
+ component: o.elementType,
821
+ /**
822
+ * If `true`, the children with an implicit color prop invert their colors to match the component's variant and color.
823
+ * @default false
824
+ */
825
+ invertedColors: o.bool,
826
+ /**
827
+ * The props used for each slot inside.
828
+ * @default {}
829
+ */
830
+ slotProps: o.shape({
831
+ root: o.oneOfType([o.func, o.object])
832
+ }),
833
+ /**
834
+ * The components used for each slot inside.
835
+ * @default {}
836
+ */
837
+ slots: o.shape({
838
+ root: o.elementType
839
+ }),
840
+ /**
841
+ * The system prop that allows defining system overrides as well as additional CSS styles.
842
+ */
843
+ sx: o.oneOfType([o.arrayOf(o.oneOfType([o.func, o.object, o.bool])), o.func, o.object]),
844
+ /**
845
+ * The [global variant](https://mui.com/joy-ui/main-features/global-variants/) to use.
846
+ * @default 'plain'
847
+ */
848
+ variant: o.oneOfType([o.oneOf(["outlined", "plain", "soft", "solid"]), o.string])
849
+ });
850
+ function pe(r) {
851
+ return w("MuiSnackbar", r);
852
+ }
853
+ $("MuiSnackbar", ["root", "anchorOriginTopCenter", "anchorOriginBottomCenter", "anchorOriginTopRight", "anchorOriginBottomRight", "anchorOriginTopLeft", "anchorOriginBottomLeft", "colorPrimary", "colorDanger", "colorNeutral", "colorSuccess", "colorWarning", "endDecorator", "sizeSm", "sizeMd", "sizeLg", "startDecorator", "variantPlain", "variantOutlined", "variantSoft", "variantSolid"]);
854
+ const ve = ["anchorOrigin", "animationDuration", "autoHideDuration", "color", "children", "className", "component", "disableWindowBlurListener", "endDecorator", "invertedColors", "onBlur", "onClose", "onFocus", "onMouseEnter", "onMouseLeave", "onUnmount", "open", "resumeHideDuration", "size", "slots", "slotProps", "startDecorator", "variant"];
855
+ let fo = (r) => r, ao, so;
856
+ const fe = (r) => {
857
+ const {
858
+ variant: e,
859
+ color: a,
860
+ size: t,
861
+ anchorOrigin: s
862
+ } = r, n = {
863
+ root: ["root", t && `size${O(t)}`, a && `color${O(a)}`, e && `variant${O(e)}`, `anchorOrigin${O(s.vertical)}${O(s.horizontal)}`],
864
+ startDecorator: ["startDecorator"],
865
+ endDecorator: ["endDecorator"]
866
+ };
867
+ return N(n, pe, {});
868
+ }, be = uo(ao || (ao = fo`
869
+ 0% {
870
+ transform: translateX(var(--Snackbar-translateX, 0px)) translateY(calc(var(--_Snackbar-anchorBottom, 1) * 100%));
871
+ opacity: 0;
872
+ }
873
+ 50% {
874
+ opacity: 1;
875
+ }
876
+ 100% {
877
+ transform: translateX(var(--Snackbar-translateX, 0px)) translateY(0);
878
+ }
879
+ `)), ge = uo(so || (so = fo`
880
+ 0% {
881
+ transform: translateX(var(--Snackbar-translateX, 0px)) translateY(0);
882
+ opacity: 1;
883
+ }
884
+ 100% {
885
+ transform: translateX(var(--Snackbar-translateX, 0px)) translateY(calc(var(--_Snackbar-anchorBottom, 1) * 100%));
886
+ opacity: 0;
887
+ }
888
+ `)), he = A("div", {
889
+ name: "JoySnackbar",
890
+ slot: "Root",
891
+ overridesResolver: (r, e) => e.root
892
+ })(({
893
+ theme: r,
894
+ ownerState: e
895
+ }) => {
896
+ var a, t, s, n, l, i, u;
897
+ const {
898
+ p: d,
899
+ padding: m,
900
+ borderRadius: b
901
+ } = lo({
902
+ theme: r,
903
+ ownerState: e
904
+ }, ["p", "padding", "borderRadius"]);
905
+ return [c({
906
+ "--Snackbar-radius": r.vars.radius.sm,
907
+ "--Snackbar-decoratorChildRadius": "max((var(--Snackbar-radius) - var(--variant-borderWidth, 0px)) - var(--Snackbar-padding), min(var(--Snackbar-padding) + var(--variant-borderWidth, 0px), var(--Snackbar-radius) / 2))",
908
+ "--Button-minHeight": "var(--Snackbar-decoratorChildHeight)",
909
+ "--IconButton-size": "var(--Snackbar-decoratorChildHeight)",
910
+ "--Button-radius": "var(--Snackbar-decoratorChildRadius)",
911
+ "--IconButton-radius": "var(--Snackbar-decoratorChildRadius)",
912
+ "--Icon-color": "currentColor"
913
+ }, e.size === "sm" && {
914
+ "--Snackbar-padding": "0.75rem",
915
+ "--Snackbar-inset": "0.5rem",
916
+ "--Snackbar-decoratorChildHeight": "1.5rem",
917
+ "--Icon-fontSize": r.vars.fontSize.xl,
918
+ gap: "0.5rem"
919
+ }, e.size === "md" && {
920
+ "--Snackbar-padding": "1rem",
921
+ "--Snackbar-inset": "0.75rem",
922
+ // the spacing between Snackbar and the viewport
923
+ "--Snackbar-decoratorChildHeight": "2rem",
924
+ "--Icon-fontSize": r.vars.fontSize.xl,
925
+ gap: "0.625rem"
926
+ }, e.size === "lg" && {
927
+ "--Snackbar-padding": "1.25rem",
928
+ "--Snackbar-inset": "1rem",
929
+ "--Snackbar-decoratorChildHeight": "2.375rem",
930
+ "--Icon-fontSize": r.vars.fontSize.xl2,
931
+ gap: "0.875rem"
932
+ }, {
933
+ zIndex: r.vars.zIndex.snackbar,
934
+ position: "fixed",
935
+ display: "flex",
936
+ alignItems: "center",
937
+ minWidth: 300,
938
+ top: ((a = e.anchorOrigin) == null ? void 0 : a.vertical) === "top" ? "var(--Snackbar-inset)" : void 0,
939
+ left: ((t = e.anchorOrigin) == null ? void 0 : t.horizontal) === "left" ? "var(--Snackbar-inset)" : void 0,
940
+ bottom: ((s = e.anchorOrigin) == null ? void 0 : s.vertical) === "bottom" ? "var(--Snackbar-inset)" : void 0,
941
+ right: ((n = e.anchorOrigin) == null ? void 0 : n.horizontal) === "right" ? "var(--Snackbar-inset)" : void 0
942
+ }, ((l = e.anchorOrigin) == null ? void 0 : l.horizontal) === "center" && {
943
+ "--Snackbar-translateX": "-50%",
944
+ left: "50%",
945
+ transform: "translateX(var(--Snackbar-translateX))"
946
+ }, ((i = e.anchorOrigin) == null ? void 0 : i.vertical) === "top" && {
947
+ "--_Snackbar-anchorBottom": "-1"
948
+ }, {
949
+ animation: `${be} ${e.animationDuration}ms forwards`
950
+ }, !e.open && {
951
+ animationName: ge
952
+ }, {
953
+ boxShadow: r.vars.shadow.lg,
954
+ backgroundColor: r.vars.palette.background.surface,
955
+ padding: "var(--Snackbar-padding)",
956
+ borderRadius: "var(--Snackbar-radius)"
957
+ }, r.typography[`body-${{
958
+ sm: "xs",
959
+ md: "sm",
960
+ lg: "md"
961
+ }[e.size]}`], e.variant === "solid" && e.color && e.invertedColors && io(e.color)(r), e.variant === "soft" && e.color && e.invertedColors && co(e.color)(r), (u = r.variants[e.variant]) == null ? void 0 : u[e.color]), d !== void 0 && {
962
+ "--Snackbar-padding": d
963
+ }, m !== void 0 && {
964
+ "--Snackbar-padding": m
965
+ }, b !== void 0 && {
966
+ "--Snackbar-radius": b
967
+ }];
968
+ }), me = A("span", {
969
+ name: "JoySnackbar",
970
+ slot: "StartDecorator",
971
+ overridesResolver: (r, e) => e.startDecorator
972
+ })({
973
+ display: "inherit",
974
+ flex: "none"
975
+ }), ye = A("span", {
976
+ name: "JoySnackbar",
977
+ slot: "EndDecorator",
978
+ overridesResolver: (r, e) => e.endDecorator
979
+ })({
980
+ display: "inherit",
981
+ flex: "none",
982
+ marginLeft: "auto"
983
+ }), Ce = {
984
+ vertical: "bottom",
985
+ horizontal: "right"
986
+ }, Te = /* @__PURE__ */ h.forwardRef(function(e, a) {
987
+ const t = B({
988
+ props: e,
989
+ name: "JoySnackbar"
990
+ }), {
991
+ anchorOrigin: s = Ce,
992
+ animationDuration: n = 300,
993
+ autoHideDuration: l = null,
994
+ color: i = "neutral",
995
+ children: u,
996
+ className: d,
997
+ component: m,
998
+ disableWindowBlurListener: b = !1,
999
+ endDecorator: k,
1000
+ invertedColors: x = !1,
1001
+ onUnmount: p,
1002
+ open: g,
1003
+ size: C = "md",
1004
+ slots: v = {},
1005
+ slotProps: f,
1006
+ startDecorator: y,
1007
+ variant: E = "outlined"
1008
+ } = t, D = _(t, ve), [P, L] = h.useState(!0), [U, I] = h.useState(!1), F = h.useRef(p);
1009
+ F.current = p, h.useEffect(() => {
1010
+ if (g)
1011
+ I(!1), L(!1);
1012
+ else {
1013
+ I(!0);
1014
+ const G = setTimeout(() => {
1015
+ var oo;
1016
+ L(!0), I(!1), (oo = F.current) == null || oo.call(F);
1017
+ }, n);
1018
+ return () => {
1019
+ clearTimeout(G);
1020
+ };
1021
+ }
1022
+ }, [g, n]);
1023
+ const S = c({}, t, {
1024
+ anchorOrigin: s,
1025
+ autoHideDuration: l,
1026
+ color: i,
1027
+ animationDuration: n,
1028
+ disableWindowBlurListener: b,
1029
+ invertedColors: x,
1030
+ size: C,
1031
+ variant: E
1032
+ });
1033
+ delete S.onUnmount;
1034
+ const H = fe(S), {
1035
+ getRootProps: X,
1036
+ onClickAway: Z
1037
+ } = _o(S), Q = (G) => {
1038
+ U || Z(G);
1039
+ }, J = c({}, D, {
1040
+ component: m,
1041
+ slots: v,
1042
+ slotProps: f
1043
+ }), [ho, mo] = z("root", {
1044
+ ref: a,
1045
+ className: W(H.root, d),
1046
+ elementType: he,
1047
+ externalForwardedProps: J,
1048
+ getSlotProps: X,
1049
+ ownerState: S
1050
+ }), [yo, Co] = z("startDecorator", {
1051
+ className: H.startDecorator,
1052
+ elementType: me,
1053
+ externalForwardedProps: J,
1054
+ ownerState: S
1055
+ }), [To, ko] = z("endDecorator", {
1056
+ className: H.endDecorator,
1057
+ elementType: ye,
1058
+ externalForwardedProps: J,
1059
+ ownerState: S
1060
+ }), xo = v.clickAway || j;
1061
+ return !g && P ? null : /* @__PURE__ */ T(xo, c({
1062
+ onClickAway: Q
1063
+ }, typeof (f == null ? void 0 : f.clickAway) == "function" ? f.clickAway(S) : f == null ? void 0 : f.clickAway, {
1064
+ children: /* @__PURE__ */ $o(ho, c({}, mo, {
1065
+ children: [y && /* @__PURE__ */ T(yo, c({}, Co, {
1066
+ children: y
1067
+ })), u, k && /* @__PURE__ */ T(To, c({}, ko, {
1068
+ children: k
1069
+ }))]
1070
+ }))
1071
+ }));
1072
+ });
1073
+ process.env.NODE_ENV !== "production" && (Te.propTypes = {
1074
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
1075
+ // │ These PropTypes are generated from the TypeScript type definitions. │
1076
+ // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │
1077
+ // └─────────────────────────────────────────────────────────────────────┘
1078
+ /**
1079
+ * The anchor of the `Snackbar`.
1080
+ * On smaller screens, the component grows to occupy all the available width,
1081
+ * the horizontal alignment is ignored.
1082
+ * @default { vertical: 'bottom', horizontal: 'right' }
1083
+ */
1084
+ anchorOrigin: o.shape({
1085
+ horizontal: o.oneOf(["center", "left", "right"]).isRequired,
1086
+ vertical: o.oneOf(["bottom", "top"]).isRequired
1087
+ }),
1088
+ /**
1089
+ * The duration of the animation in milliseconds. This value is used to control
1090
+ * the length of time it takes for an animation to complete one cycle. It is also
1091
+ * utilized for delaying the unmount of the component.
1092
+ * Provide this value if you have your own animation so that we can precisely
1093
+ * time the component's unmount to match your custom animation.
1094
+ * @default 300
1095
+ */
1096
+ animationDuration: o.number,
1097
+ /**
1098
+ * The number of milliseconds to wait before automatically calling the
1099
+ * `onClose` function. `onClose` should then set the state of the `open`
1100
+ * prop to hide the Snackbar. This behavior is disabled by default with
1101
+ * the `null` value.
1102
+ * @default null
1103
+ */
1104
+ autoHideDuration: o.number,
1105
+ /**
1106
+ * @ignore
1107
+ */
1108
+ children: o.node,
1109
+ /**
1110
+ * @ignore
1111
+ */
1112
+ className: o.string,
1113
+ /**
1114
+ * The color of the component. It supports those theme colors that make sense for this component.
1115
+ * @default 'neutral'
1116
+ */
1117
+ color: o.oneOf(["danger", "neutral", "primary", "success", "warning"]),
1118
+ /**
1119
+ * The component used for the root node.
1120
+ * Either a string to use a HTML element or a component.
1121
+ */
1122
+ component: o.elementType,
1123
+ /**
1124
+ * If `true`, the `autoHideDuration` timer will expire even if the window is not focused.
1125
+ * @default false
1126
+ */
1127
+ disableWindowBlurListener: o.bool,
1128
+ /**
1129
+ * Element placed after the children.
1130
+ */
1131
+ endDecorator: o.node,
1132
+ /**
1133
+ * If `true`, the children with an implicit color prop invert their colors to match the component's variant and color.
1134
+ * @default false
1135
+ */
1136
+ invertedColors: o.bool,
1137
+ /**
1138
+ * When displaying multiple consecutive snackbars using a single parent-rendered
1139
+ * `<Snackbar/>`, add the `key` prop to ensure independent treatment of each message.
1140
+ * For instance, use `<Snackbar key={message} />`. Otherwise, messages might update
1141
+ * in place, and features like `autoHideDuration` could be affected.
1142
+ */
1143
+ key: () => null,
1144
+ /**
1145
+ * @ignore
1146
+ */
1147
+ onBlur: o.func,
1148
+ /**
1149
+ * Callback fired when the component requests to be closed.
1150
+ * Typically `onClose` is used to set state in the parent component,
1151
+ * which is used to control the `Snackbar` `open` prop.
1152
+ * The `reason` parameter can optionally be used to control the response to `onClose`,
1153
+ * for example ignoring `clickaway`.
1154
+ *
1155
+ * @param {React.SyntheticEvent<any> | Event} event The event source of the callback.
1156
+ * @param {string} reason Can be: `"timeout"` (`autoHideDuration` expired), `"clickaway"`, or `"escapeKeyDown"`.
1157
+ */
1158
+ onClose: o.func,
1159
+ /**
1160
+ * @ignore
1161
+ */
1162
+ onFocus: o.func,
1163
+ /**
1164
+ * @ignore
1165
+ */
1166
+ onMouseEnter: o.func,
1167
+ /**
1168
+ * @ignore
1169
+ */
1170
+ onMouseLeave: o.func,
1171
+ /**
1172
+ * A callback fired when the component is about to be unmounted.
1173
+ */
1174
+ onUnmount: o.func,
1175
+ /**
1176
+ * If `true`, the component is shown.
1177
+ */
1178
+ open: o.bool.isRequired,
1179
+ /**
1180
+ * The number of milliseconds to wait before dismissing after user interaction.
1181
+ * If `autoHideDuration` prop isn't specified, it does nothing.
1182
+ * If `autoHideDuration` prop is specified but `resumeHideDuration` isn't,
1183
+ * we default to `autoHideDuration / 2` ms.
1184
+ */
1185
+ resumeHideDuration: o.number,
1186
+ /**
1187
+ * The size of the component.
1188
+ * @default 'md'
1189
+ */
1190
+ size: o.oneOf(["sm", "md", "lg"]),
1191
+ /**
1192
+ * The props used for each slot inside.
1193
+ * @default {}
1194
+ */
1195
+ slotProps: o.shape({
1196
+ clickAway: o.oneOfType([o.func, o.shape({
1197
+ children: o.element.isRequired,
1198
+ disableReactTree: o.bool,
1199
+ mouseEvent: o.oneOf(["onClick", "onMouseDown", "onMouseUp", "onPointerDown", "onPointerUp", !1]),
1200
+ onClickAway: o.func.isRequired,
1201
+ touchEvent: o.oneOf(["onTouchEnd", "onTouchStart", !1])
1202
+ })]),
1203
+ endDecorator: o.oneOfType([o.func, o.object]),
1204
+ root: o.oneOfType([o.func, o.object]),
1205
+ startDecorator: o.oneOfType([o.func, o.object])
1206
+ }),
1207
+ /**
1208
+ * The components used for each slot inside.
1209
+ * @default {}
1210
+ */
1211
+ slots: o.shape({
1212
+ clickAway: o.elementType,
1213
+ endDecorator: o.elementType,
1214
+ root: o.elementType,
1215
+ startDecorator: o.elementType
1216
+ }),
1217
+ /**
1218
+ * Element placed before the children.
1219
+ */
1220
+ startDecorator: o.node,
1221
+ /**
1222
+ * The system prop that allows defining system overrides as well as additional CSS styles.
1223
+ */
1224
+ sx: o.oneOfType([o.arrayOf(o.oneOfType([o.func, o.object, o.bool])), o.func, o.object]),
1225
+ /**
1226
+ * The [global variant](https://mui.com/joy-ui/main-features/global-variants/) to use.
1227
+ * @default 'outlined'
1228
+ */
1229
+ variant: o.oneOf(["outlined", "plain", "soft", "solid"])
1230
+ });
1231
+ function ke(r) {
1232
+ return w("MuiTable", r);
1233
+ }
1234
+ $("MuiTable", ["root", "colorPrimary", "colorNeutral", "colorDanger", "colorSuccess", "colorWarning", "colorContext", "variantPlain", "variantOutlined", "variantSoft", "variantSolid", "sizeSm", "sizeMd", "sizeLg", "stickyHeader", "stickyFooter", "noWrap", "hoverRow", "borderAxisNone", "borderAxisX", "borderAxisXBetween", "borderAxisY", "borderAxisYBetween", "borderAxisBoth", "borderAxisBothBetween"]);
1235
+ const xe = ["className", "component", "children", "borderAxis", "hoverRow", "noWrap", "size", "variant", "color", "stripe", "stickyHeader", "stickyFooter", "slots", "slotProps"], Re = (r) => {
1236
+ const {
1237
+ size: e,
1238
+ variant: a,
1239
+ color: t,
1240
+ borderAxis: s,
1241
+ stickyHeader: n,
1242
+ stickyFooter: l,
1243
+ noWrap: i,
1244
+ hoverRow: u
1245
+ } = r, d = {
1246
+ root: ["root", n && "stickyHeader", l && "stickyFooter", i && "noWrap", u && "hoverRow", s && `borderAxis${O(s)}`, a && `variant${O(a)}`, t && `color${O(t)}`, e && `size${O(e)}`]
1247
+ };
1248
+ return N(d, ke, {});
1249
+ }, R = {
1250
+ /**
1251
+ * According to https://www.w3.org/TR/2014/REC-html5-20141028/tabular-data.html#the-tr-element,
1252
+ * `tr` can only have `td | th` as children, so using :first-of-type is better than :first-child to prevent emotion SSR warning
1253
+ */
1254
+ getColumnExceptFirst() {
1255
+ return "& tr > *:not(:first-of-type), & tr > th + td, & tr > td + th";
1256
+ },
1257
+ /**
1258
+ * Every cell in the table
1259
+ */
1260
+ getCell() {
1261
+ return "& th, & td";
1262
+ },
1263
+ /**
1264
+ * `th` cell of the table (could exist in the body)
1265
+ */
1266
+ getHeadCell() {
1267
+ return "& th";
1268
+ },
1269
+ /**
1270
+ * Only the cell of `thead`
1271
+ */
1272
+ getHeaderCell() {
1273
+ return "& thead th";
1274
+ },
1275
+ getHeaderCellOfRow(r) {
1276
+ return `& thead tr:nth-of-type(${r}) th`;
1277
+ },
1278
+ getBottomHeaderCell() {
1279
+ return "& thead th:not([colspan])";
1280
+ },
1281
+ getHeaderNestedFirstColumn() {
1282
+ return "& thead tr:not(:first-of-type) th:not([colspan]):first-of-type";
1283
+ },
1284
+ /**
1285
+ * The body cell that contains data
1286
+ */
1287
+ getDataCell() {
1288
+ return "& td";
1289
+ },
1290
+ getDataCellExceptLastRow() {
1291
+ return "& tr:not(:last-of-type) > td";
1292
+ },
1293
+ /**
1294
+ * The body cell either `td` or `th`
1295
+ */
1296
+ getBodyCellExceptLastRow() {
1297
+ return `${this.getDataCellExceptLastRow()}, & tr:not(:last-of-type) > th[scope="row"]`;
1298
+ },
1299
+ getBodyCellOfRow(r) {
1300
+ return typeof r == "number" && r < 0 ? `& tbody tr:nth-last-of-type(${Math.abs(r)}) td, & tbody tr:nth-last-of-type(${Math.abs(r)}) th[scope="row"]` : `& tbody tr:nth-of-type(${r}) td, & tbody tr:nth-of-type(${r}) th[scope="row"]`;
1301
+ },
1302
+ getBodyRow(r) {
1303
+ return r === void 0 ? "& tbody tr" : `& tbody tr:nth-of-type(${r})`;
1304
+ },
1305
+ getFooterCell() {
1306
+ return "& tfoot th, & tfoot td";
1307
+ },
1308
+ getFooterFirstRowCell() {
1309
+ return "& tfoot tr:not(:last-of-type) th, & tfoot tr:not(:last-of-type) td";
1310
+ }
1311
+ }, Oe = A("table", {
1312
+ name: "JoyTable",
1313
+ slot: "Root",
1314
+ overridesResolver: (r, e) => e.root
1315
+ })(({
1316
+ theme: r,
1317
+ ownerState: e
1318
+ }) => {
1319
+ var a, t, s, n, l, i, u;
1320
+ const d = (a = r.variants[e.variant]) == null ? void 0 : a[e.color];
1321
+ return [c({
1322
+ "--Table-headerUnderlineThickness": "2px",
1323
+ "--TableCell-borderColor": (t = d == null ? void 0 : d.borderColor) != null ? t : r.vars.palette.divider,
1324
+ "--TableCell-headBackground": `var(--Sheet-background, ${r.vars.palette.background.surface})`
1325
+ }, e.size === "sm" && {
1326
+ "--unstable_TableCell-height": "var(--TableCell-height, 32px)",
1327
+ "--TableCell-paddingX": "0.25rem",
1328
+ "--TableCell-paddingY": "0.25rem"
1329
+ }, e.size === "md" && {
1330
+ "--unstable_TableCell-height": "var(--TableCell-height, 40px)",
1331
+ "--TableCell-paddingX": "0.5rem",
1332
+ "--TableCell-paddingY": "0.375rem"
1333
+ }, e.size === "lg" && {
1334
+ "--unstable_TableCell-height": "var(--TableCell-height, 48px)",
1335
+ "--TableCell-paddingX": "0.75rem",
1336
+ "--TableCell-paddingY": "0.5rem"
1337
+ }, {
1338
+ tableLayout: "fixed",
1339
+ width: "100%",
1340
+ borderSpacing: "0px",
1341
+ borderCollapse: "separate",
1342
+ borderRadius: "var(--TableCell-cornerRadius, var(--unstable_actionRadius))"
1343
+ }, r.typography[`body-${{
1344
+ sm: "xs",
1345
+ md: "sm",
1346
+ lg: "md"
1347
+ }[e.size]}`], (s = r.variants[e.variant]) == null ? void 0 : s[e.color], {
1348
+ "& caption": {
1349
+ color: r.vars.palette.text.tertiary,
1350
+ padding: "calc(2 * var(--TableCell-paddingY)) var(--TableCell-paddingX)"
1351
+ },
1352
+ [R.getDataCell()]: c({
1353
+ padding: "var(--TableCell-paddingY) var(--TableCell-paddingX)",
1354
+ height: "var(--unstable_TableCell-height)",
1355
+ borderColor: "var(--TableCell-borderColor)",
1356
+ // must come after border bottom
1357
+ backgroundColor: "var(--TableCell-dataBackground)"
1358
+ }, e.noWrap && {
1359
+ textOverflow: "ellipsis",
1360
+ whiteSpace: "nowrap",
1361
+ overflow: "hidden"
1362
+ }),
1363
+ [R.getHeadCell()]: {
1364
+ textAlign: "left",
1365
+ padding: "var(--TableCell-paddingY) var(--TableCell-paddingX)",
1366
+ backgroundColor: "var(--TableCell-headBackground)",
1367
+ // use `background-color` in case the Sheet has gradient background
1368
+ height: "var(--unstable_TableCell-height)",
1369
+ fontWeight: r.vars.fontWeight.lg,
1370
+ borderColor: "var(--TableCell-borderColor)",
1371
+ color: r.vars.palette.text.secondary,
1372
+ textOverflow: "ellipsis",
1373
+ whiteSpace: "nowrap",
1374
+ overflow: "hidden"
1375
+ },
1376
+ [R.getHeaderCell()]: {
1377
+ verticalAlign: "bottom",
1378
+ // Automatic radius adjustment with Sheet
1379
+ "&:first-of-type": {
1380
+ borderTopLeftRadius: "var(--TableCell-cornerRadius, var(--unstable_actionRadius))"
1381
+ },
1382
+ "&:last-of-type": {
1383
+ borderTopRightRadius: "var(--TableCell-cornerRadius, var(--unstable_actionRadius))"
1384
+ }
1385
+ },
1386
+ "& tfoot tr > *": {
1387
+ backgroundColor: `var(--TableCell-footBackground, ${r.vars.palette.background.level1})`,
1388
+ // Automatic radius adjustment with Sheet
1389
+ "&:first-of-type": {
1390
+ borderBottomLeftRadius: "var(--TableCell-cornerRadius, var(--unstable_actionRadius))"
1391
+ },
1392
+ "&:last-of-type": {
1393
+ borderBottomRightRadius: "var(--TableCell-cornerRadius, var(--unstable_actionRadius))"
1394
+ }
1395
+ }
1396
+ }), (((n = e.borderAxis) == null ? void 0 : n.startsWith("x")) || ((l = e.borderAxis) == null ? void 0 : l.startsWith("both"))) && {
1397
+ // insert border between rows
1398
+ [R.getHeaderCell()]: {
1399
+ borderBottomWidth: 1,
1400
+ borderBottomStyle: "solid"
1401
+ },
1402
+ [R.getBottomHeaderCell()]: {
1403
+ borderBottomWidth: "var(--Table-headerUnderlineThickness)",
1404
+ borderBottomStyle: "solid"
1405
+ },
1406
+ [R.getBodyCellExceptLastRow()]: {
1407
+ borderBottomWidth: 1,
1408
+ borderBottomStyle: "solid"
1409
+ },
1410
+ [R.getFooterCell()]: {
1411
+ borderTopWidth: 1,
1412
+ borderTopStyle: "solid"
1413
+ }
1414
+ }, (((i = e.borderAxis) == null ? void 0 : i.startsWith("y")) || ((u = e.borderAxis) == null ? void 0 : u.startsWith("both"))) && {
1415
+ // insert border between columns
1416
+ [`${R.getColumnExceptFirst()}, ${R.getHeaderNestedFirstColumn()}`]: {
1417
+ borderLeftWidth: 1,
1418
+ borderLeftStyle: "solid"
1419
+ }
1420
+ }, (e.borderAxis === "x" || e.borderAxis === "both") && {
1421
+ // insert border at the top of header and bottom of body
1422
+ [R.getHeaderCellOfRow(1)]: {
1423
+ borderTopWidth: 1,
1424
+ borderTopStyle: "solid"
1425
+ },
1426
+ [R.getBodyCellOfRow(-1)]: {
1427
+ borderBottomWidth: 1,
1428
+ borderBottomStyle: "solid"
1429
+ },
1430
+ [R.getFooterCell()]: {
1431
+ borderBottomWidth: 1,
1432
+ borderBottomStyle: "solid"
1433
+ }
1434
+ }, (e.borderAxis === "y" || e.borderAxis === "both") && {
1435
+ // insert border on the left of first column and right of the last column
1436
+ "& tr > *:first-of-type": {
1437
+ borderLeftWidth: 1,
1438
+ borderLeftStyle: "solid"
1439
+ },
1440
+ "& tr > *:last-of-type:not(:first-of-type)": {
1441
+ borderRightWidth: 1,
1442
+ borderRightStyle: "solid"
1443
+ }
1444
+ }, e.stripe && {
1445
+ [R.getBodyRow(e.stripe)]: {
1446
+ // For customization, a table cell can look for this variable with a fallback value.
1447
+ background: `var(--TableRow-stripeBackground, ${r.vars.palette.background.level2})`,
1448
+ color: r.vars.palette.text.primary
1449
+ }
1450
+ }, e.hoverRow && {
1451
+ [R.getBodyRow()]: {
1452
+ "&:hover": {
1453
+ background: `var(--TableRow-hoverBackground, ${r.vars.palette.background.level3})`
1454
+ }
1455
+ }
1456
+ }, e.stickyHeader && {
1457
+ // The column header
1458
+ [R.getHeaderCell()]: {
1459
+ position: "sticky",
1460
+ top: 0,
1461
+ zIndex: r.vars.zIndex.table
1462
+ },
1463
+ [R.getHeaderCellOfRow(2)]: {
1464
+ // support upto 2 rows for the sticky header
1465
+ top: "var(--unstable_TableCell-height)"
1466
+ }
1467
+ }, e.stickyFooter && {
1468
+ // The column header
1469
+ [R.getFooterCell()]: {
1470
+ position: "sticky",
1471
+ bottom: 0,
1472
+ zIndex: r.vars.zIndex.table,
1473
+ color: r.vars.palette.text.secondary,
1474
+ fontWeight: r.vars.fontWeight.lg
1475
+ },
1476
+ [R.getFooterFirstRowCell()]: {
1477
+ // support upto 2 rows for the sticky footer
1478
+ bottom: "var(--unstable_TableCell-height)"
1479
+ }
1480
+ }];
1481
+ }), Ae = /* @__PURE__ */ h.forwardRef(function(e, a) {
1482
+ const t = B({
1483
+ props: e,
1484
+ name: "JoyTable"
1485
+ }), {
1486
+ className: s,
1487
+ component: n,
1488
+ children: l,
1489
+ borderAxis: i = "xBetween",
1490
+ hoverRow: u = !1,
1491
+ noWrap: d = !1,
1492
+ size: m = "md",
1493
+ variant: b = "plain",
1494
+ color: k = "neutral",
1495
+ stripe: x,
1496
+ stickyHeader: p = !1,
1497
+ stickyFooter: g = !1,
1498
+ slots: C = {},
1499
+ slotProps: v = {}
1500
+ } = t, f = _(t, xe), y = c({}, t, {
1501
+ borderAxis: i,
1502
+ hoverRow: u,
1503
+ noWrap: d,
1504
+ component: n,
1505
+ size: m,
1506
+ color: k,
1507
+ variant: b,
1508
+ stripe: x,
1509
+ stickyHeader: p,
1510
+ stickyFooter: g
1511
+ }), E = Re(y), D = c({}, f, {
1512
+ component: n,
1513
+ slots: C,
1514
+ slotProps: v
1515
+ }), [P, L] = z("root", {
1516
+ ref: a,
1517
+ className: W(E.root, s),
1518
+ elementType: Oe,
1519
+ externalForwardedProps: D,
1520
+ ownerState: y
1521
+ });
1522
+ return /* @__PURE__ */ T(Eo.Provider, {
1523
+ value: !0,
1524
+ children: /* @__PURE__ */ T(P, c({}, L, {
1525
+ children: l
1526
+ }))
1527
+ });
1528
+ });
1529
+ process.env.NODE_ENV !== "production" && (Ae.propTypes = {
1530
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
1531
+ // │ These PropTypes are generated from the TypeScript type definitions. │
1532
+ // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │
1533
+ // └─────────────────────────────────────────────────────────────────────┘
1534
+ /**
1535
+ * The axis to display a border on the table cell.
1536
+ * @default 'xBetween'
1537
+ */
1538
+ borderAxis: o.oneOfType([o.oneOf(["both", "bothBetween", "none", "x", "xBetween", "y", "yBetween"]), o.string]),
1539
+ /**
1540
+ * Children of the table
1541
+ */
1542
+ children: o.node,
1543
+ /**
1544
+ * @ignore
1545
+ */
1546
+ className: o.string,
1547
+ /**
1548
+ * The color of the component. It supports those theme colors that make sense for this component.
1549
+ * @default 'neutral'
1550
+ */
1551
+ color: o.oneOfType([o.oneOf(["danger", "neutral", "primary", "success", "warning"]), o.string]),
1552
+ /**
1553
+ * The component used for the root node.
1554
+ * Either a string to use a HTML element or a component.
1555
+ */
1556
+ component: o.elementType,
1557
+ /**
1558
+ * If `true`, the table row will shade on hover.
1559
+ * @default false
1560
+ */
1561
+ hoverRow: o.bool,
1562
+ /**
1563
+ * If `true`, the body cells will not wrap, but instead will truncate with a text overflow ellipsis.
1564
+ *
1565
+ * Note: Header cells are always truncated with overflow ellipsis.
1566
+ *
1567
+ * @default false
1568
+ */
1569
+ noWrap: o.bool,
1570
+ /**
1571
+ * The size of the component.
1572
+ * It accepts theme values between 'sm' and 'lg'.
1573
+ * @default 'md'
1574
+ */
1575
+ size: o.oneOfType([o.oneOf(["sm", "md", "lg"]), o.string]),
1576
+ /**
1577
+ * The props used for each slot inside.
1578
+ * @default {}
1579
+ */
1580
+ slotProps: o.shape({
1581
+ root: o.oneOfType([o.func, o.object])
1582
+ }),
1583
+ /**
1584
+ * The components used for each slot inside.
1585
+ * @default {}
1586
+ */
1587
+ slots: o.shape({
1588
+ root: o.elementType
1589
+ }),
1590
+ /**
1591
+ * If `true`, the footer always appear at the bottom of the overflow table.
1592
+ *
1593
+ * ⚠️ It doesn't work with IE11.
1594
+ * @default false
1595
+ */
1596
+ stickyFooter: o.bool,
1597
+ /**
1598
+ * If `true`, the header always appear at the top of the overflow table.
1599
+ *
1600
+ * ⚠️ It doesn't work with IE11.
1601
+ * @default false
1602
+ */
1603
+ stickyHeader: o.bool,
1604
+ /**
1605
+ * The odd or even row of the table body will have subtle background color.
1606
+ */
1607
+ stripe: o.oneOfType([o.oneOf(["odd", "even"]), o.string]),
1608
+ /**
1609
+ * The system prop that allows defining system overrides as well as additional CSS styles.
1610
+ */
1611
+ sx: o.oneOfType([o.arrayOf(o.oneOfType([o.func, o.object, o.bool])), o.func, o.object]),
1612
+ /**
1613
+ * The [global variant](https://mui.com/joy-ui/main-features/global-variants/) to use.
1614
+ * @default 'plain'
1615
+ */
1616
+ variant: o.oneOfType([o.oneOf(["outlined", "plain", "soft", "solid"]), o.string])
1617
+ });
1618
+ const Be = M(/* @__PURE__ */ T("path", {
1619
+ d: "M15.41 16.59 10.83 12l4.58-4.59L14 6l-6 6 6 6z"
1620
+ }), "KeyboardArrowLeft"), _e = M(/* @__PURE__ */ T("path", {
1621
+ d: "M8.59 16.59 13.17 12 8.59 7.41 10 6l6 6-6 6z"
1622
+ }), "KeyboardArrowRight"), Ne = M(/* @__PURE__ */ T("path", {
1623
+ d: "M11 18h2v-2h-2zm1-16C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14c-2.21 0-4 1.79-4 4h2c0-1.1.9-2 2-2s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4"
1624
+ }), "HelpOutline"), Le = M(/* @__PURE__ */ T("path", {
1625
+ d: "M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z"
1626
+ }), "Edit"), Fe = M(/* @__PURE__ */ T("path", {
1627
+ d: "M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4m0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4"
1628
+ }), "Person");
1629
+ /**
1630
+ * @license lucide-react v0.454.0 - ISC
1631
+ *
1632
+ * This source code is licensed under the ISC license.
1633
+ * See the LICENSE file in the root directory of this source tree.
1634
+ */
1635
+ const ze = (r) => r.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), bo = (...r) => r.filter((e, a, t) => !!e && e.trim() !== "" && t.indexOf(e) === a).join(" ").trim();
1636
+ /**
1637
+ * @license lucide-react v0.454.0 - ISC
1638
+ *
1639
+ * This source code is licensed under the ISC license.
1640
+ * See the LICENSE file in the root directory of this source tree.
1641
+ */
1642
+ var Se = {
1643
+ xmlns: "http://www.w3.org/2000/svg",
1644
+ width: 24,
1645
+ height: 24,
1646
+ viewBox: "0 0 24 24",
1647
+ fill: "none",
1648
+ stroke: "currentColor",
1649
+ strokeWidth: 2,
1650
+ strokeLinecap: "round",
1651
+ strokeLinejoin: "round"
1652
+ };
1653
+ /**
1654
+ * @license lucide-react v0.454.0 - ISC
1655
+ *
1656
+ * This source code is licensed under the ISC license.
1657
+ * See the LICENSE file in the root directory of this source tree.
1658
+ */
1659
+ const Ee = po(
1660
+ ({
1661
+ color: r = "currentColor",
1662
+ size: e = 24,
1663
+ strokeWidth: a = 2,
1664
+ absoluteStrokeWidth: t,
1665
+ className: s = "",
1666
+ children: n,
1667
+ iconNode: l,
1668
+ ...i
1669
+ }, u) => q(
1670
+ "svg",
1671
+ {
1672
+ ref: u,
1673
+ ...Se,
1674
+ width: e,
1675
+ height: e,
1676
+ stroke: r,
1677
+ strokeWidth: t ? Number(a) * 24 / Number(e) : a,
1678
+ className: bo("lucide", s),
1679
+ ...i
1680
+ },
1681
+ [
1682
+ ...l.map(([d, m]) => q(d, m)),
1683
+ ...Array.isArray(n) ? n : [n]
1684
+ ]
1685
+ )
1686
+ );
1687
+ /**
1688
+ * @license lucide-react v0.454.0 - ISC
1689
+ *
1690
+ * This source code is licensed under the ISC license.
1691
+ * See the LICENSE file in the root directory of this source tree.
1692
+ */
1693
+ const go = (r, e) => {
1694
+ const a = po(
1695
+ ({ className: t, ...s }, n) => q(Ee, {
1696
+ ref: n,
1697
+ iconNode: e,
1698
+ className: bo(`lucide-${ze(r)}`, t),
1699
+ ...s
1700
+ })
1701
+ );
1702
+ return a.displayName = `${r}`, a;
1703
+ };
1704
+ /**
1705
+ * @license lucide-react v0.454.0 - ISC
1706
+ *
1707
+ * This source code is licensed under the ISC license.
1708
+ * See the LICENSE file in the root directory of this source tree.
1709
+ */
1710
+ const Me = go("ChevronLeft", [
1711
+ ["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]
1712
+ ]);
1713
+ /**
1714
+ * @license lucide-react v0.454.0 - ISC
1715
+ *
1716
+ * This source code is licensed under the ISC license.
1717
+ * See the LICENSE file in the root directory of this source tree.
1718
+ */
1719
+ const Ie = go("ChevronRight", [
1720
+ ["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]
1721
+ ]), He = M(/* @__PURE__ */ T("path", {
1722
+ d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-2h2zm0-4h-2V7h2z"
1723
+ }), "Error");
1724
+ export {
1725
+ Vo as A,
1726
+ Me as C,
1727
+ se as D,
1728
+ Le as E,
1729
+ Ne as H,
1730
+ Be as K,
1731
+ Fe as P,
1732
+ ue as S,
1733
+ Ae as T,
1734
+ _e as a,
1735
+ Ie as b,
1736
+ Te as c,
1737
+ He as d,
1738
+ go as e
1739
+ };