jcicl 0.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.
Files changed (59) hide show
  1. package/.chunks/AppBar.js +359 -0
  2. package/.chunks/AppContainer.js +71 -0
  3. package/.chunks/AppHeader.js +31 -0
  4. package/.chunks/Avatar.js +38 -0
  5. package/.chunks/AvatarWithImage.js +36 -0
  6. package/.chunks/BasicPage.js +31 -0
  7. package/.chunks/Button.js +486 -0
  8. package/.chunks/ButtonBase.js +874 -0
  9. package/.chunks/CompactNav.js +70 -0
  10. package/.chunks/Divider.js +311 -0
  11. package/.chunks/Flex.js +21 -0
  12. package/.chunks/Grid.js +18 -0
  13. package/.chunks/Input.js +4392 -0
  14. package/.chunks/Menu.js +3160 -0
  15. package/.chunks/Nav.js +2138 -0
  16. package/.chunks/TransitionGroupContext.js +342 -0
  17. package/.chunks/createSimplePaletteValueFilter.js +17 -0
  18. package/.chunks/createSvgIcon.js +249 -0
  19. package/.chunks/emotion-styled.browser.esm.js +1032 -0
  20. package/.chunks/jocologo.js +4 -0
  21. package/.chunks/memoTheme.js +15 -0
  22. package/.chunks/theme.js +3314 -0
  23. package/base/Avatar/Avatar/index.d.ts +1 -0
  24. package/base/Avatar/Avatar/index.js +4 -0
  25. package/base/Avatar/AvatarWithImage/index.d.ts +1 -0
  26. package/base/Avatar/AvatarWithImage/index.js +4 -0
  27. package/base/Avatar/index.d.ts +2 -0
  28. package/base/Avatar/index.js +6 -0
  29. package/base/Button/index.d.ts +1 -0
  30. package/base/Button/index.js +4 -0
  31. package/base/Divider/index.d.ts +1 -0
  32. package/base/Divider/index.js +4 -0
  33. package/base/Flex/index.d.ts +1 -0
  34. package/base/Flex/index.js +4 -0
  35. package/base/Grid/index.d.ts +1 -0
  36. package/base/Grid/index.js +4 -0
  37. package/base/Input/index.d.ts +1 -0
  38. package/base/Input/index.js +4 -0
  39. package/base/index.d.ts +7 -0
  40. package/base/index.js +16 -0
  41. package/index.d.ts +3 -0
  42. package/index.js +22 -0
  43. package/package.json +82 -0
  44. package/supercomposite/AppBar/index.d.ts +1 -0
  45. package/supercomposite/AppBar/index.js +4 -0
  46. package/supercomposite/AppHeader/index.d.ts +1 -0
  47. package/supercomposite/AppHeader/index.js +4 -0
  48. package/supercomposite/CompactNav/index.d.ts +1 -0
  49. package/supercomposite/CompactNav/index.js +4 -0
  50. package/supercomposite/Nav/index.d.ts +2 -0
  51. package/supercomposite/Nav/index.js +4 -0
  52. package/supercomposite/index.d.ts +3 -0
  53. package/supercomposite/index.js +8 -0
  54. package/templates/AppContainer/index.d.ts +1 -0
  55. package/templates/AppContainer/index.js +4 -0
  56. package/templates/BasicPage/index.d.ts +1 -0
  57. package/templates/BasicPage/index.js +4 -0
  58. package/templates/index.d.ts +2 -0
  59. package/templates/index.js +6 -0
package/.chunks/Nav.js ADDED
@@ -0,0 +1,2138 @@
1
+ import { jsx as s, jsxs as H, Fragment as $t } from "react/jsx-runtime";
2
+ import * as m from "react";
3
+ import { useState as ft, createElement as Zt } from "react";
4
+ import { n as X, i as It } from "./emotion-styled.browser.esm.js";
5
+ import { c as pt } from "./createSvgIcon.js";
6
+ import { P as e, a as J, g as q, s as V, r as Nt, e as Y, u as K, c as j, b as Q, d as it, t as z, h as te } from "./theme.js";
7
+ import { D as ht } from "./Divider.js";
8
+ import { e as ee, H as oe, u as mt, g as ne, o as Ot, T as kt, d as re, r as ie, a as lt, M as se, P as ae, b as le, i as ce, L as _, c as Mt, f as xt, h as pe, j as de, k as ue } from "./Menu.js";
9
+ import { m as tt } from "./memoTheme.js";
10
+ import { c as fe } from "./createSimplePaletteValueFilter.js";
11
+ import { B as he } from "./ButtonBase.js";
12
+ import { f as Dt, c as dt, g as me, e as Bt, b as ge } from "./TransitionGroupContext.js";
13
+ function ye(t, o, n) {
14
+ const r = o.getBoundingClientRect(), i = n && n.getBoundingClientRect(), c = Ot(o);
15
+ let a;
16
+ if (o.fakeTransform)
17
+ a = o.fakeTransform;
18
+ else {
19
+ const p = c.getComputedStyle(o);
20
+ a = p.getPropertyValue("-webkit-transform") || p.getPropertyValue("transform");
21
+ }
22
+ let l = 0, d = 0;
23
+ if (a && a !== "none" && typeof a == "string") {
24
+ const p = a.split("(")[1].split(")")[0].split(",");
25
+ l = parseInt(p[4], 10), d = parseInt(p[5], 10);
26
+ }
27
+ return t === "left" ? i ? `translateX(${i.right + l - r.left}px)` : `translateX(${c.innerWidth + l - r.left}px)` : t === "right" ? i ? `translateX(-${r.right - i.left - l}px)` : `translateX(-${r.left + r.width - l}px)` : t === "up" ? i ? `translateY(${i.bottom + d - r.top}px)` : `translateY(${c.innerHeight + d - r.top}px)` : i ? `translateY(-${r.top - i.top + r.height - d}px)` : `translateY(-${r.top + r.height - d}px)`;
28
+ }
29
+ function At(t) {
30
+ return typeof t == "function" ? t() : t;
31
+ }
32
+ function st(t, o, n) {
33
+ const r = At(n), i = ye(t, o, r);
34
+ i && (o.style.webkitTransform = i, o.style.transform = i);
35
+ }
36
+ const zt = /* @__PURE__ */ m.forwardRef(function(o, n) {
37
+ const r = mt(), i = {
38
+ enter: r.transitions.easing.easeOut,
39
+ exit: r.transitions.easing.sharp
40
+ }, c = {
41
+ enter: r.transitions.duration.enteringScreen,
42
+ exit: r.transitions.duration.leavingScreen
43
+ }, {
44
+ addEndListener: a,
45
+ appear: l = !0,
46
+ children: d,
47
+ container: p,
48
+ direction: g = "down",
49
+ easing: S = i,
50
+ in: b,
51
+ onEnter: y,
52
+ onEntered: h,
53
+ onEntering: x,
54
+ onExit: C,
55
+ onExited: v,
56
+ onExiting: I,
57
+ style: E,
58
+ timeout: k = c,
59
+ // eslint-disable-next-line react/prop-types
60
+ TransitionComponent: F = kt,
61
+ ...L
62
+ } = o, w = m.useRef(null), N = dt(ne(d), w, n), M = (u) => (P) => {
63
+ u && (P === void 0 ? u(w.current) : u(w.current, P));
64
+ }, T = M((u, P) => {
65
+ st(g, u, p), ie(u), y && y(u, P);
66
+ }), R = M((u, P) => {
67
+ const nt = lt({
68
+ timeout: k,
69
+ style: E,
70
+ easing: S
71
+ }, {
72
+ mode: "enter"
73
+ });
74
+ u.style.webkitTransition = r.transitions.create("-webkit-transform", {
75
+ ...nt
76
+ }), u.style.transition = r.transitions.create("transform", {
77
+ ...nt
78
+ }), u.style.webkitTransform = "none", u.style.transform = "none", x && x(u, P);
79
+ }), D = M(h), $ = M(I), O = M((u) => {
80
+ const P = lt({
81
+ timeout: k,
82
+ style: E,
83
+ easing: S
84
+ }, {
85
+ mode: "exit"
86
+ });
87
+ u.style.webkitTransition = r.transitions.create("-webkit-transform", P), u.style.transition = r.transitions.create("transform", P), st(g, u, p), C && C(u);
88
+ }), B = M((u) => {
89
+ u.style.webkitTransition = "", u.style.transition = "", v && v(u);
90
+ }), W = (u) => {
91
+ a && a(w.current, u);
92
+ }, U = m.useCallback(() => {
93
+ w.current && st(g, w.current, p);
94
+ }, [g, p]);
95
+ return m.useEffect(() => {
96
+ if (b || g === "down" || g === "right")
97
+ return;
98
+ const u = re(() => {
99
+ w.current && st(g, w.current, p);
100
+ }), P = Ot(w.current);
101
+ return P.addEventListener("resize", u), () => {
102
+ u.clear(), P.removeEventListener("resize", u);
103
+ };
104
+ }, [g, b, p]), m.useEffect(() => {
105
+ b || U();
106
+ }, [b, U]), /* @__PURE__ */ s(F, {
107
+ nodeRef: w,
108
+ onEnter: T,
109
+ onEntered: D,
110
+ onEntering: R,
111
+ onExit: O,
112
+ onExited: B,
113
+ onExiting: $,
114
+ addEndListener: W,
115
+ appear: l,
116
+ in: b,
117
+ timeout: k,
118
+ ...L,
119
+ children: (u, P) => /* @__PURE__ */ m.cloneElement(d, {
120
+ ref: N,
121
+ style: {
122
+ visibility: u === "exited" && !b ? "hidden" : void 0,
123
+ ...E,
124
+ ...d.props.style
125
+ },
126
+ ...P
127
+ })
128
+ });
129
+ });
130
+ process.env.NODE_ENV !== "production" && (zt.propTypes = {
131
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
132
+ // │ These PropTypes are generated from the TypeScript type definitions. │
133
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
134
+ // └─────────────────────────────────────────────────────────────────────┘
135
+ /**
136
+ * Add a custom transition end trigger. Called with the transitioning DOM
137
+ * node and a done callback. Allows for more fine grained transition end
138
+ * logic. Note: Timeouts are still used as a fallback if provided.
139
+ */
140
+ addEndListener: e.func,
141
+ /**
142
+ * Perform the enter transition when it first mounts if `in` is also `true`.
143
+ * Set this to `false` to disable this behavior.
144
+ * @default true
145
+ */
146
+ appear: e.bool,
147
+ /**
148
+ * A single child content element.
149
+ */
150
+ children: ee.isRequired,
151
+ /**
152
+ * An HTML element, or a function that returns one.
153
+ * It's used to set the container the Slide is transitioning from.
154
+ */
155
+ container: Dt(e.oneOfType([oe, e.func]), (t) => {
156
+ if (t.open) {
157
+ const o = At(t.container);
158
+ if (o && o.nodeType === 1) {
159
+ const n = o.getBoundingClientRect();
160
+ if (process.env.NODE_ENV !== "test" && n.top === 0 && n.left === 0 && n.right === 0 && n.bottom === 0)
161
+ return new Error(["MUI: The `container` prop provided to the component is invalid.", "The anchor element should be part of the document layout.", "Make sure the element is present in the document or that it's not display none."].join(`
162
+ `));
163
+ } else if (!o || typeof o.getBoundingClientRect != "function" || o.contextElement != null && o.contextElement.nodeType !== 1)
164
+ return new Error(["MUI: The `container` prop provided to the component is invalid.", "It should be an HTML element instance."].join(`
165
+ `));
166
+ }
167
+ return null;
168
+ }),
169
+ /**
170
+ * Direction the child node will enter from.
171
+ * @default 'down'
172
+ */
173
+ direction: e.oneOf(["down", "left", "right", "up"]),
174
+ /**
175
+ * The transition timing function.
176
+ * You may specify a single easing or a object containing enter and exit values.
177
+ * @default {
178
+ * enter: theme.transitions.easing.easeOut,
179
+ * exit: theme.transitions.easing.sharp,
180
+ * }
181
+ */
182
+ easing: e.oneOfType([e.shape({
183
+ enter: e.string,
184
+ exit: e.string
185
+ }), e.string]),
186
+ /**
187
+ * If `true`, the component will transition in.
188
+ */
189
+ in: e.bool,
190
+ /**
191
+ * @ignore
192
+ */
193
+ onEnter: e.func,
194
+ /**
195
+ * @ignore
196
+ */
197
+ onEntered: e.func,
198
+ /**
199
+ * @ignore
200
+ */
201
+ onEntering: e.func,
202
+ /**
203
+ * @ignore
204
+ */
205
+ onExit: e.func,
206
+ /**
207
+ * @ignore
208
+ */
209
+ onExited: e.func,
210
+ /**
211
+ * @ignore
212
+ */
213
+ onExiting: e.func,
214
+ /**
215
+ * @ignore
216
+ */
217
+ style: e.object,
218
+ /**
219
+ * The duration for the transition, in milliseconds.
220
+ * You may specify a single timeout for all transitions, or individually with an object.
221
+ * @default {
222
+ * enter: theme.transitions.duration.enteringScreen,
223
+ * exit: theme.transitions.duration.leavingScreen,
224
+ * }
225
+ */
226
+ timeout: e.oneOfType([e.number, e.shape({
227
+ appear: e.number,
228
+ enter: e.number,
229
+ exit: e.number
230
+ })])
231
+ });
232
+ function be(t) {
233
+ return J("MuiDrawer", t);
234
+ }
235
+ q("MuiDrawer", ["root", "docked", "paper", "paperAnchorLeft", "paperAnchorRight", "paperAnchorTop", "paperAnchorBottom", "paperAnchorDockedLeft", "paperAnchorDockedRight", "paperAnchorDockedTop", "paperAnchorDockedBottom", "modal"]);
236
+ const jt = (t, o) => {
237
+ const {
238
+ ownerState: n
239
+ } = t;
240
+ return [o.root, (n.variant === "permanent" || n.variant === "persistent") && o.docked, o.modal];
241
+ }, xe = (t) => {
242
+ const {
243
+ classes: o,
244
+ anchor: n,
245
+ variant: r
246
+ } = t, i = {
247
+ root: ["root"],
248
+ docked: [(r === "permanent" || r === "persistent") && "docked"],
249
+ modal: ["modal"],
250
+ paper: ["paper", `paperAnchor${Y(n)}`, r !== "temporary" && `paperAnchorDocked${Y(n)}`]
251
+ };
252
+ return Q(i, be, o);
253
+ }, ve = V(se, {
254
+ name: "MuiDrawer",
255
+ slot: "Root",
256
+ overridesResolver: jt
257
+ })(tt(({
258
+ theme: t
259
+ }) => ({
260
+ zIndex: (t.vars || t).zIndex.drawer
261
+ }))), vt = V("div", {
262
+ shouldForwardProp: Nt,
263
+ name: "MuiDrawer",
264
+ slot: "Docked",
265
+ skipVariantsResolver: !1,
266
+ overridesResolver: jt
267
+ })({
268
+ flex: "0 0 auto"
269
+ }), we = V(ae, {
270
+ name: "MuiDrawer",
271
+ slot: "Paper",
272
+ overridesResolver: (t, o) => {
273
+ const {
274
+ ownerState: n
275
+ } = t;
276
+ return [o.paper, o[`paperAnchor${Y(n.anchor)}`], n.variant !== "temporary" && o[`paperAnchorDocked${Y(n.anchor)}`]];
277
+ }
278
+ })(tt(({
279
+ theme: t
280
+ }) => ({
281
+ overflowY: "auto",
282
+ display: "flex",
283
+ flexDirection: "column",
284
+ height: "100%",
285
+ flex: "1 0 auto",
286
+ zIndex: (t.vars || t).zIndex.drawer,
287
+ // Add iOS momentum scrolling for iOS < 13.0
288
+ WebkitOverflowScrolling: "touch",
289
+ // temporary style
290
+ position: "fixed",
291
+ top: 0,
292
+ // We disable the focus ring for mouse, touch and keyboard users.
293
+ // At some point, it would be better to keep it for keyboard users.
294
+ // :focus-ring CSS pseudo-class will help.
295
+ outline: 0,
296
+ variants: [{
297
+ props: {
298
+ anchor: "left"
299
+ },
300
+ style: {
301
+ left: 0
302
+ }
303
+ }, {
304
+ props: {
305
+ anchor: "top"
306
+ },
307
+ style: {
308
+ top: 0,
309
+ left: 0,
310
+ right: 0,
311
+ height: "auto",
312
+ maxHeight: "100%"
313
+ }
314
+ }, {
315
+ props: {
316
+ anchor: "right"
317
+ },
318
+ style: {
319
+ right: 0
320
+ }
321
+ }, {
322
+ props: {
323
+ anchor: "bottom"
324
+ },
325
+ style: {
326
+ top: "auto",
327
+ left: 0,
328
+ bottom: 0,
329
+ right: 0,
330
+ height: "auto",
331
+ maxHeight: "100%"
332
+ }
333
+ }, {
334
+ props: ({
335
+ ownerState: o
336
+ }) => o.anchor === "left" && o.variant !== "temporary",
337
+ style: {
338
+ borderRight: `1px solid ${(t.vars || t).palette.divider}`
339
+ }
340
+ }, {
341
+ props: ({
342
+ ownerState: o
343
+ }) => o.anchor === "top" && o.variant !== "temporary",
344
+ style: {
345
+ borderBottom: `1px solid ${(t.vars || t).palette.divider}`
346
+ }
347
+ }, {
348
+ props: ({
349
+ ownerState: o
350
+ }) => o.anchor === "right" && o.variant !== "temporary",
351
+ style: {
352
+ borderLeft: `1px solid ${(t.vars || t).palette.divider}`
353
+ }
354
+ }, {
355
+ props: ({
356
+ ownerState: o
357
+ }) => o.anchor === "bottom" && o.variant !== "temporary",
358
+ style: {
359
+ borderTop: `1px solid ${(t.vars || t).palette.divider}`
360
+ }
361
+ }]
362
+ }))), Vt = {
363
+ left: "right",
364
+ right: "left",
365
+ top: "down",
366
+ bottom: "up"
367
+ };
368
+ function Ce(t) {
369
+ return ["left", "right"].includes(t);
370
+ }
371
+ function Te({
372
+ direction: t
373
+ }, o) {
374
+ return t === "rtl" && Ce(o) ? Vt[o] : o;
375
+ }
376
+ const Ft = /* @__PURE__ */ m.forwardRef(function(o, n) {
377
+ const r = K({
378
+ props: o,
379
+ name: "MuiDrawer"
380
+ }), i = mt(), c = le(), a = {
381
+ enter: i.transitions.duration.enteringScreen,
382
+ exit: i.transitions.duration.leavingScreen
383
+ }, {
384
+ anchor: l = "left",
385
+ BackdropProps: d,
386
+ children: p,
387
+ className: g,
388
+ elevation: S = 16,
389
+ hideBackdrop: b = !1,
390
+ ModalProps: {
391
+ BackdropProps: y,
392
+ ...h
393
+ } = {},
394
+ onClose: x,
395
+ open: C = !1,
396
+ PaperProps: v = {},
397
+ SlideProps: I,
398
+ // eslint-disable-next-line react/prop-types
399
+ TransitionComponent: E = zt,
400
+ transitionDuration: k = a,
401
+ variant: F = "temporary",
402
+ ...L
403
+ } = r, w = m.useRef(!1);
404
+ m.useEffect(() => {
405
+ w.current = !0;
406
+ }, []);
407
+ const N = Te({
408
+ direction: c ? "rtl" : "ltr"
409
+ }, l), T = {
410
+ ...r,
411
+ anchor: l,
412
+ elevation: S,
413
+ open: C,
414
+ variant: F,
415
+ ...L
416
+ }, R = xe(T), D = /* @__PURE__ */ s(we, {
417
+ elevation: F === "temporary" ? S : 0,
418
+ square: !0,
419
+ ...v,
420
+ className: j(R.paper, v.className),
421
+ ownerState: T,
422
+ children: p
423
+ });
424
+ if (F === "permanent")
425
+ return /* @__PURE__ */ s(vt, {
426
+ className: j(R.root, R.docked, g),
427
+ ownerState: T,
428
+ ref: n,
429
+ ...L,
430
+ children: D
431
+ });
432
+ const $ = /* @__PURE__ */ s(E, {
433
+ in: C,
434
+ direction: Vt[N],
435
+ timeout: k,
436
+ appear: w.current,
437
+ ...I,
438
+ children: D
439
+ });
440
+ return F === "persistent" ? /* @__PURE__ */ s(vt, {
441
+ className: j(R.root, R.docked, g),
442
+ ownerState: T,
443
+ ref: n,
444
+ ...L,
445
+ children: $
446
+ }) : /* @__PURE__ */ s(ve, {
447
+ BackdropProps: {
448
+ ...d,
449
+ ...y,
450
+ transitionDuration: k
451
+ },
452
+ className: j(R.root, R.modal, g),
453
+ open: C,
454
+ ownerState: T,
455
+ onClose: x,
456
+ hideBackdrop: b,
457
+ ref: n,
458
+ ...L,
459
+ ...h,
460
+ children: $
461
+ });
462
+ });
463
+ process.env.NODE_ENV !== "production" && (Ft.propTypes = {
464
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
465
+ // │ These PropTypes are generated from the TypeScript type definitions. │
466
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
467
+ // └─────────────────────────────────────────────────────────────────────┘
468
+ /**
469
+ * Side from which the drawer will appear.
470
+ * @default 'left'
471
+ */
472
+ anchor: e.oneOf(["bottom", "left", "right", "top"]),
473
+ /**
474
+ * @ignore
475
+ */
476
+ BackdropProps: e.object,
477
+ /**
478
+ * The content of the component.
479
+ */
480
+ children: e.node,
481
+ /**
482
+ * Override or extend the styles applied to the component.
483
+ */
484
+ classes: e.object,
485
+ /**
486
+ * @ignore
487
+ */
488
+ className: e.string,
489
+ /**
490
+ * The elevation of the drawer.
491
+ * @default 16
492
+ */
493
+ elevation: ce,
494
+ /**
495
+ * If `true`, the backdrop is not rendered.
496
+ * @default false
497
+ */
498
+ hideBackdrop: e.bool,
499
+ /**
500
+ * Props applied to the [`Modal`](https://mui.com/material-ui/api/modal/) element.
501
+ * @default {}
502
+ */
503
+ ModalProps: e.object,
504
+ /**
505
+ * Callback fired when the component requests to be closed.
506
+ * The `reason` parameter can optionally be used to control the response to `onClose`.
507
+ *
508
+ * @param {object} event The event source of the callback.
509
+ * @param {string} reason Can be: `"escapeKeyDown"`, `"backdropClick"`.
510
+ */
511
+ onClose: e.func,
512
+ /**
513
+ * If `true`, the component is shown.
514
+ * @default false
515
+ */
516
+ open: e.bool,
517
+ /**
518
+ * Props applied to the [`Paper`](https://mui.com/material-ui/api/paper/) element.
519
+ * @default {}
520
+ */
521
+ PaperProps: e.object,
522
+ /**
523
+ * Props applied to the [`Slide`](https://mui.com/material-ui/api/slide/) element.
524
+ */
525
+ SlideProps: e.object,
526
+ /**
527
+ * The system prop that allows defining system overrides as well as additional CSS styles.
528
+ */
529
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
530
+ /**
531
+ * The duration for the transition, in milliseconds.
532
+ * You may specify a single timeout for all transitions, or individually with an object.
533
+ * @default {
534
+ * enter: theme.transitions.duration.enteringScreen,
535
+ * exit: theme.transitions.duration.leavingScreen,
536
+ * }
537
+ */
538
+ transitionDuration: e.oneOfType([e.number, e.shape({
539
+ appear: e.number,
540
+ enter: e.number,
541
+ exit: e.number
542
+ })]),
543
+ /**
544
+ * The variant to use.
545
+ * @default 'temporary'
546
+ */
547
+ variant: e.oneOf(["permanent", "persistent", "temporary"])
548
+ });
549
+ function Ee(t) {
550
+ return J("MuiListItem", t);
551
+ }
552
+ q("MuiListItem", ["root", "container", "dense", "alignItemsFlexStart", "divider", "gutters", "padding", "secondaryAction"]);
553
+ function Se(t) {
554
+ return J("MuiListItemButton", t);
555
+ }
556
+ const Z = q("MuiListItemButton", ["root", "focusVisible", "dense", "alignItemsFlexStart", "disabled", "divider", "gutters", "selected"]), Re = (t, o) => {
557
+ const {
558
+ ownerState: n
559
+ } = t;
560
+ return [o.root, n.dense && o.dense, n.alignItems === "flex-start" && o.alignItemsFlexStart, n.divider && o.divider, !n.disableGutters && o.gutters];
561
+ }, Pe = (t) => {
562
+ const {
563
+ alignItems: o,
564
+ classes: n,
565
+ dense: r,
566
+ disabled: i,
567
+ disableGutters: c,
568
+ divider: a,
569
+ selected: l
570
+ } = t, p = Q({
571
+ root: ["root", r && "dense", !c && "gutters", a && "divider", i && "disabled", o === "flex-start" && "alignItemsFlexStart", l && "selected"]
572
+ }, Se, n);
573
+ return {
574
+ ...n,
575
+ ...p
576
+ };
577
+ }, Le = V(he, {
578
+ shouldForwardProp: (t) => Nt(t) || t === "classes",
579
+ name: "MuiListItemButton",
580
+ slot: "Root",
581
+ overridesResolver: Re
582
+ })(tt(({
583
+ theme: t
584
+ }) => ({
585
+ display: "flex",
586
+ flexGrow: 1,
587
+ justifyContent: "flex-start",
588
+ alignItems: "center",
589
+ position: "relative",
590
+ textDecoration: "none",
591
+ minWidth: 0,
592
+ boxSizing: "border-box",
593
+ textAlign: "left",
594
+ paddingTop: 8,
595
+ paddingBottom: 8,
596
+ transition: t.transitions.create("background-color", {
597
+ duration: t.transitions.duration.shortest
598
+ }),
599
+ "&:hover": {
600
+ textDecoration: "none",
601
+ backgroundColor: (t.vars || t).palette.action.hover,
602
+ // Reset on touch devices, it doesn't add specificity
603
+ "@media (hover: none)": {
604
+ backgroundColor: "transparent"
605
+ }
606
+ },
607
+ [`&.${Z.selected}`]: {
608
+ backgroundColor: t.vars ? `rgba(${t.vars.palette.primary.mainChannel} / ${t.vars.palette.action.selectedOpacity})` : it(t.palette.primary.main, t.palette.action.selectedOpacity),
609
+ [`&.${Z.focusVisible}`]: {
610
+ backgroundColor: t.vars ? `rgba(${t.vars.palette.primary.mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.focusOpacity}))` : it(t.palette.primary.main, t.palette.action.selectedOpacity + t.palette.action.focusOpacity)
611
+ }
612
+ },
613
+ [`&.${Z.selected}:hover`]: {
614
+ backgroundColor: t.vars ? `rgba(${t.vars.palette.primary.mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.hoverOpacity}))` : it(t.palette.primary.main, t.palette.action.selectedOpacity + t.palette.action.hoverOpacity),
615
+ // Reset on touch devices, it doesn't add specificity
616
+ "@media (hover: none)": {
617
+ backgroundColor: t.vars ? `rgba(${t.vars.palette.primary.mainChannel} / ${t.vars.palette.action.selectedOpacity})` : it(t.palette.primary.main, t.palette.action.selectedOpacity)
618
+ }
619
+ },
620
+ [`&.${Z.focusVisible}`]: {
621
+ backgroundColor: (t.vars || t).palette.action.focus
622
+ },
623
+ [`&.${Z.disabled}`]: {
624
+ opacity: (t.vars || t).palette.action.disabledOpacity
625
+ },
626
+ variants: [{
627
+ props: ({
628
+ ownerState: o
629
+ }) => o.divider,
630
+ style: {
631
+ borderBottom: `1px solid ${(t.vars || t).palette.divider}`,
632
+ backgroundClip: "padding-box"
633
+ }
634
+ }, {
635
+ props: {
636
+ alignItems: "flex-start"
637
+ },
638
+ style: {
639
+ alignItems: "flex-start"
640
+ }
641
+ }, {
642
+ props: ({
643
+ ownerState: o
644
+ }) => !o.disableGutters,
645
+ style: {
646
+ paddingLeft: 16,
647
+ paddingRight: 16
648
+ }
649
+ }, {
650
+ props: ({
651
+ ownerState: o
652
+ }) => o.dense,
653
+ style: {
654
+ paddingTop: 4,
655
+ paddingBottom: 4
656
+ }
657
+ }]
658
+ }))), Wt = /* @__PURE__ */ m.forwardRef(function(o, n) {
659
+ const r = K({
660
+ props: o,
661
+ name: "MuiListItemButton"
662
+ }), {
663
+ alignItems: i = "center",
664
+ autoFocus: c = !1,
665
+ component: a = "div",
666
+ children: l,
667
+ dense: d = !1,
668
+ disableGutters: p = !1,
669
+ divider: g = !1,
670
+ focusVisibleClassName: S,
671
+ selected: b = !1,
672
+ className: y,
673
+ ...h
674
+ } = r, x = m.useContext(_), C = m.useMemo(() => ({
675
+ dense: d || x.dense || !1,
676
+ alignItems: i,
677
+ disableGutters: p
678
+ }), [i, x.dense, d, p]), v = m.useRef(null);
679
+ me(() => {
680
+ c && (v.current ? v.current.focus() : process.env.NODE_ENV !== "production" && console.error("MUI: Unable to set focus to a ListItemButton whose component has not been rendered."));
681
+ }, [c]);
682
+ const I = {
683
+ ...r,
684
+ alignItems: i,
685
+ dense: C.dense,
686
+ disableGutters: p,
687
+ divider: g,
688
+ selected: b
689
+ }, E = Pe(I), k = dt(v, n);
690
+ return /* @__PURE__ */ s(_.Provider, {
691
+ value: C,
692
+ children: /* @__PURE__ */ s(Le, {
693
+ ref: k,
694
+ href: h.href || h.to,
695
+ component: (h.href || h.to) && a === "div" ? "button" : a,
696
+ focusVisibleClassName: j(E.focusVisible, S),
697
+ ownerState: I,
698
+ className: j(E.root, y),
699
+ ...h,
700
+ classes: E,
701
+ children: l
702
+ })
703
+ });
704
+ });
705
+ process.env.NODE_ENV !== "production" && (Wt.propTypes = {
706
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
707
+ // │ These PropTypes are generated from the TypeScript type definitions. │
708
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
709
+ // └─────────────────────────────────────────────────────────────────────┘
710
+ /**
711
+ * Defines the `align-items` style property.
712
+ * @default 'center'
713
+ */
714
+ alignItems: e.oneOf(["center", "flex-start"]),
715
+ /**
716
+ * If `true`, the list item is focused during the first mount.
717
+ * Focus will also be triggered if the value changes from false to true.
718
+ * @default false
719
+ */
720
+ autoFocus: e.bool,
721
+ /**
722
+ * The content of the component if a `ListItemSecondaryAction` is used it must
723
+ * be the last child.
724
+ */
725
+ children: e.node,
726
+ /**
727
+ * Override or extend the styles applied to the component.
728
+ */
729
+ classes: e.object,
730
+ /**
731
+ * @ignore
732
+ */
733
+ className: e.string,
734
+ /**
735
+ * The component used for the root node.
736
+ * Either a string to use a HTML element or a component.
737
+ */
738
+ component: e.elementType,
739
+ /**
740
+ * If `true`, compact vertical padding designed for keyboard and mouse input is used.
741
+ * The prop defaults to the value inherited from the parent List component.
742
+ * @default false
743
+ */
744
+ dense: e.bool,
745
+ /**
746
+ * If `true`, the component is disabled.
747
+ * @default false
748
+ */
749
+ disabled: e.bool,
750
+ /**
751
+ * If `true`, the left and right padding is removed.
752
+ * @default false
753
+ */
754
+ disableGutters: e.bool,
755
+ /**
756
+ * If `true`, a 1px light border is added to the bottom of the list item.
757
+ * @default false
758
+ */
759
+ divider: e.bool,
760
+ /**
761
+ * This prop can help identify which element has keyboard focus.
762
+ * The class name will be applied when the element gains the focus through keyboard interaction.
763
+ * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).
764
+ * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).
765
+ * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components
766
+ * if needed.
767
+ */
768
+ focusVisibleClassName: e.string,
769
+ /**
770
+ * @ignore
771
+ */
772
+ href: e.string,
773
+ /**
774
+ * Use to apply selected styling.
775
+ * @default false
776
+ */
777
+ selected: e.bool,
778
+ /**
779
+ * The system prop that allows defining system overrides as well as additional CSS styles.
780
+ */
781
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object])
782
+ });
783
+ function $e(t) {
784
+ return J("MuiListItemSecondaryAction", t);
785
+ }
786
+ q("MuiListItemSecondaryAction", ["root", "disableGutters"]);
787
+ const Ie = (t) => {
788
+ const {
789
+ disableGutters: o,
790
+ classes: n
791
+ } = t;
792
+ return Q({
793
+ root: ["root", o && "disableGutters"]
794
+ }, $e, n);
795
+ }, Ne = V("div", {
796
+ name: "MuiListItemSecondaryAction",
797
+ slot: "Root",
798
+ overridesResolver: (t, o) => {
799
+ const {
800
+ ownerState: n
801
+ } = t;
802
+ return [o.root, n.disableGutters && o.disableGutters];
803
+ }
804
+ })({
805
+ position: "absolute",
806
+ right: 16,
807
+ top: "50%",
808
+ transform: "translateY(-50%)",
809
+ variants: [{
810
+ props: ({
811
+ ownerState: t
812
+ }) => t.disableGutters,
813
+ style: {
814
+ right: 0
815
+ }
816
+ }]
817
+ }), gt = /* @__PURE__ */ m.forwardRef(function(o, n) {
818
+ const r = K({
819
+ props: o,
820
+ name: "MuiListItemSecondaryAction"
821
+ }), {
822
+ className: i,
823
+ ...c
824
+ } = r, a = m.useContext(_), l = {
825
+ ...r,
826
+ disableGutters: a.disableGutters
827
+ }, d = Ie(l);
828
+ return /* @__PURE__ */ s(Ne, {
829
+ className: j(d.root, i),
830
+ ownerState: l,
831
+ ref: n,
832
+ ...c
833
+ });
834
+ });
835
+ process.env.NODE_ENV !== "production" && (gt.propTypes = {
836
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
837
+ // │ These PropTypes are generated from the TypeScript type definitions. │
838
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
839
+ // └─────────────────────────────────────────────────────────────────────┘
840
+ /**
841
+ * The content of the component, normally an `IconButton` or selection control.
842
+ */
843
+ children: e.node,
844
+ /**
845
+ * Override or extend the styles applied to the component.
846
+ */
847
+ classes: e.object,
848
+ /**
849
+ * @ignore
850
+ */
851
+ className: e.string,
852
+ /**
853
+ * The system prop that allows defining system overrides as well as additional CSS styles.
854
+ */
855
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object])
856
+ });
857
+ gt.muiName = "ListItemSecondaryAction";
858
+ const Oe = (t, o) => {
859
+ const {
860
+ ownerState: n
861
+ } = t;
862
+ return [o.root, n.dense && o.dense, n.alignItems === "flex-start" && o.alignItemsFlexStart, n.divider && o.divider, !n.disableGutters && o.gutters, !n.disablePadding && o.padding, n.hasSecondaryAction && o.secondaryAction];
863
+ }, ke = (t) => {
864
+ const {
865
+ alignItems: o,
866
+ classes: n,
867
+ dense: r,
868
+ disableGutters: i,
869
+ disablePadding: c,
870
+ divider: a,
871
+ hasSecondaryAction: l
872
+ } = t;
873
+ return Q({
874
+ root: ["root", r && "dense", !i && "gutters", !c && "padding", a && "divider", o === "flex-start" && "alignItemsFlexStart", l && "secondaryAction"],
875
+ container: ["container"]
876
+ }, Ee, n);
877
+ }, Me = V("div", {
878
+ name: "MuiListItem",
879
+ slot: "Root",
880
+ overridesResolver: Oe
881
+ })(tt(({
882
+ theme: t
883
+ }) => ({
884
+ display: "flex",
885
+ justifyContent: "flex-start",
886
+ alignItems: "center",
887
+ position: "relative",
888
+ textDecoration: "none",
889
+ width: "100%",
890
+ boxSizing: "border-box",
891
+ textAlign: "left",
892
+ variants: [{
893
+ props: ({
894
+ ownerState: o
895
+ }) => !o.disablePadding,
896
+ style: {
897
+ paddingTop: 8,
898
+ paddingBottom: 8
899
+ }
900
+ }, {
901
+ props: ({
902
+ ownerState: o
903
+ }) => !o.disablePadding && o.dense,
904
+ style: {
905
+ paddingTop: 4,
906
+ paddingBottom: 4
907
+ }
908
+ }, {
909
+ props: ({
910
+ ownerState: o
911
+ }) => !o.disablePadding && !o.disableGutters,
912
+ style: {
913
+ paddingLeft: 16,
914
+ paddingRight: 16
915
+ }
916
+ }, {
917
+ props: ({
918
+ ownerState: o
919
+ }) => !o.disablePadding && !!o.secondaryAction,
920
+ style: {
921
+ // Add some space to avoid collision as `ListItemSecondaryAction`
922
+ // is absolutely positioned.
923
+ paddingRight: 48
924
+ }
925
+ }, {
926
+ props: ({
927
+ ownerState: o
928
+ }) => !!o.secondaryAction,
929
+ style: {
930
+ [`& > .${Z.root}`]: {
931
+ paddingRight: 48
932
+ }
933
+ }
934
+ }, {
935
+ props: {
936
+ alignItems: "flex-start"
937
+ },
938
+ style: {
939
+ alignItems: "flex-start"
940
+ }
941
+ }, {
942
+ props: ({
943
+ ownerState: o
944
+ }) => o.divider,
945
+ style: {
946
+ borderBottom: `1px solid ${(t.vars || t).palette.divider}`,
947
+ backgroundClip: "padding-box"
948
+ }
949
+ }, {
950
+ props: ({
951
+ ownerState: o
952
+ }) => o.button,
953
+ style: {
954
+ transition: t.transitions.create("background-color", {
955
+ duration: t.transitions.duration.shortest
956
+ }),
957
+ "&:hover": {
958
+ textDecoration: "none",
959
+ backgroundColor: (t.vars || t).palette.action.hover,
960
+ // Reset on touch devices, it doesn't add specificity
961
+ "@media (hover: none)": {
962
+ backgroundColor: "transparent"
963
+ }
964
+ }
965
+ }
966
+ }, {
967
+ props: ({
968
+ ownerState: o
969
+ }) => o.hasSecondaryAction,
970
+ style: {
971
+ // Add some space to avoid collision as `ListItemSecondaryAction`
972
+ // is absolutely positioned.
973
+ paddingRight: 48
974
+ }
975
+ }]
976
+ }))), De = V("li", {
977
+ name: "MuiListItem",
978
+ slot: "Container",
979
+ overridesResolver: (t, o) => o.container
980
+ })({
981
+ position: "relative"
982
+ }), ut = /* @__PURE__ */ m.forwardRef(function(o, n) {
983
+ const r = K({
984
+ props: o,
985
+ name: "MuiListItem"
986
+ }), {
987
+ alignItems: i = "center",
988
+ children: c,
989
+ className: a,
990
+ component: l,
991
+ components: d = {},
992
+ componentsProps: p = {},
993
+ ContainerComponent: g = "li",
994
+ ContainerProps: {
995
+ className: S,
996
+ ...b
997
+ } = {},
998
+ dense: y = !1,
999
+ disableGutters: h = !1,
1000
+ disablePadding: x = !1,
1001
+ divider: C = !1,
1002
+ secondaryAction: v,
1003
+ slotProps: I = {},
1004
+ slots: E = {},
1005
+ ...k
1006
+ } = r, F = m.useContext(_), L = m.useMemo(() => ({
1007
+ dense: y || F.dense || !1,
1008
+ alignItems: i,
1009
+ disableGutters: h
1010
+ }), [i, F.dense, y, h]), w = m.useRef(null), N = m.Children.toArray(c), M = N.length && Mt(N[N.length - 1], ["ListItemSecondaryAction"]), T = {
1011
+ ...r,
1012
+ alignItems: i,
1013
+ dense: L.dense,
1014
+ disableGutters: h,
1015
+ disablePadding: x,
1016
+ divider: C,
1017
+ hasSecondaryAction: M
1018
+ }, R = ke(T), D = dt(w, n), $ = E.root || d.Root || Me, O = I.root || p.root || {}, B = {
1019
+ className: j(R.root, O.className, a),
1020
+ ...k
1021
+ };
1022
+ let W = l || "li";
1023
+ return M ? (W = !B.component && !l ? "div" : W, g === "li" && (W === "li" ? W = "div" : B.component === "li" && (B.component = "div")), /* @__PURE__ */ s(_.Provider, {
1024
+ value: L,
1025
+ children: /* @__PURE__ */ H(De, {
1026
+ as: g,
1027
+ className: j(R.container, S),
1028
+ ref: D,
1029
+ ownerState: T,
1030
+ ...b,
1031
+ children: [/* @__PURE__ */ s($, {
1032
+ ...O,
1033
+ ...!xt($) && {
1034
+ as: W,
1035
+ ownerState: {
1036
+ ...T,
1037
+ ...O.ownerState
1038
+ }
1039
+ },
1040
+ ...B,
1041
+ children: N
1042
+ }), N.pop()]
1043
+ })
1044
+ })) : /* @__PURE__ */ s(_.Provider, {
1045
+ value: L,
1046
+ children: /* @__PURE__ */ H($, {
1047
+ ...O,
1048
+ as: W,
1049
+ ref: D,
1050
+ ...!xt($) && {
1051
+ ownerState: {
1052
+ ...T,
1053
+ ...O.ownerState
1054
+ }
1055
+ },
1056
+ ...B,
1057
+ children: [N, v && /* @__PURE__ */ s(gt, {
1058
+ children: v
1059
+ })]
1060
+ })
1061
+ });
1062
+ });
1063
+ process.env.NODE_ENV !== "production" && (ut.propTypes = {
1064
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
1065
+ // │ These PropTypes are generated from the TypeScript type definitions. │
1066
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
1067
+ // └─────────────────────────────────────────────────────────────────────┘
1068
+ /**
1069
+ * Defines the `align-items` style property.
1070
+ * @default 'center'
1071
+ */
1072
+ alignItems: e.oneOf(["center", "flex-start"]),
1073
+ /**
1074
+ * The content of the component if a `ListItemSecondaryAction` is used it must
1075
+ * be the last child.
1076
+ */
1077
+ children: Dt(e.node, (t) => {
1078
+ const o = m.Children.toArray(t.children);
1079
+ let n = -1;
1080
+ for (let r = o.length - 1; r >= 0; r -= 1) {
1081
+ const i = o[r];
1082
+ if (Mt(i, ["ListItemSecondaryAction"])) {
1083
+ n = r;
1084
+ break;
1085
+ }
1086
+ }
1087
+ return n !== -1 && n !== o.length - 1 ? new Error("MUI: You used an element after ListItemSecondaryAction. For ListItem to detect that it has a secondary action you must pass it as the last child to ListItem.") : null;
1088
+ }),
1089
+ /**
1090
+ * Override or extend the styles applied to the component.
1091
+ */
1092
+ classes: e.object,
1093
+ /**
1094
+ * @ignore
1095
+ */
1096
+ className: e.string,
1097
+ /**
1098
+ * The component used for the root node.
1099
+ * Either a string to use a HTML element or a component.
1100
+ */
1101
+ component: e.elementType,
1102
+ /**
1103
+ * The components used for each slot inside.
1104
+ *
1105
+ * @deprecated Use the `slots` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
1106
+ * @default {}
1107
+ */
1108
+ components: e.shape({
1109
+ Root: e.elementType
1110
+ }),
1111
+ /**
1112
+ * The extra props for the slot components.
1113
+ * You can override the existing props or add new ones.
1114
+ *
1115
+ * @deprecated Use the `slotProps` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
1116
+ * @default {}
1117
+ */
1118
+ componentsProps: e.shape({
1119
+ root: e.object
1120
+ }),
1121
+ /**
1122
+ * The container component used when a `ListItemSecondaryAction` is the last child.
1123
+ * @default 'li'
1124
+ * @deprecated Use the `component` or `slots.root` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
1125
+ */
1126
+ ContainerComponent: Bt,
1127
+ /**
1128
+ * Props applied to the container component if used.
1129
+ * @default {}
1130
+ * @deprecated Use the `slotProps.root` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
1131
+ */
1132
+ ContainerProps: e.object,
1133
+ /**
1134
+ * If `true`, compact vertical padding designed for keyboard and mouse input is used.
1135
+ * The prop defaults to the value inherited from the parent List component.
1136
+ * @default false
1137
+ */
1138
+ dense: e.bool,
1139
+ /**
1140
+ * If `true`, the left and right padding is removed.
1141
+ * @default false
1142
+ */
1143
+ disableGutters: e.bool,
1144
+ /**
1145
+ * If `true`, all padding is removed.
1146
+ * @default false
1147
+ */
1148
+ disablePadding: e.bool,
1149
+ /**
1150
+ * If `true`, a 1px light border is added to the bottom of the list item.
1151
+ * @default false
1152
+ */
1153
+ divider: e.bool,
1154
+ /**
1155
+ * The element to display at the end of ListItem.
1156
+ */
1157
+ secondaryAction: e.node,
1158
+ /**
1159
+ * The extra props for the slot components.
1160
+ * You can override the existing props or add new ones.
1161
+ *
1162
+ * @default {}
1163
+ */
1164
+ slotProps: e.shape({
1165
+ root: e.object
1166
+ }),
1167
+ /**
1168
+ * The components used for each slot inside.
1169
+ *
1170
+ * @default {}
1171
+ */
1172
+ slots: e.shape({
1173
+ root: e.elementType
1174
+ }),
1175
+ /**
1176
+ * The system prop that allows defining system overrides as well as additional CSS styles.
1177
+ */
1178
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object])
1179
+ });
1180
+ const wt = pt(/* @__PURE__ */ s("path", {
1181
+ d: "M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10.83 12z"
1182
+ }), "ChevronLeft"), Ct = pt(/* @__PURE__ */ s("path", {
1183
+ d: "M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"
1184
+ }), "ChevronRight");
1185
+ function Be(t) {
1186
+ return J("MuiTypography", t);
1187
+ }
1188
+ const Tt = q("MuiTypography", ["root", "h1", "h2", "h3", "h4", "h5", "h6", "subtitle1", "subtitle2", "body1", "body2", "inherit", "button", "caption", "overline", "alignLeft", "alignRight", "alignCenter", "alignJustify", "noWrap", "gutterBottom", "paragraph"]), Ae = {
1189
+ primary: !0,
1190
+ secondary: !0,
1191
+ error: !0,
1192
+ info: !0,
1193
+ success: !0,
1194
+ warning: !0,
1195
+ textPrimary: !0,
1196
+ textSecondary: !0,
1197
+ textDisabled: !0
1198
+ }, ze = pe(), je = (t) => {
1199
+ const {
1200
+ align: o,
1201
+ gutterBottom: n,
1202
+ noWrap: r,
1203
+ paragraph: i,
1204
+ variant: c,
1205
+ classes: a
1206
+ } = t, l = {
1207
+ root: ["root", c, t.align !== "inherit" && `align${Y(o)}`, n && "gutterBottom", r && "noWrap", i && "paragraph"]
1208
+ };
1209
+ return Q(l, Be, a);
1210
+ }, Ve = V("span", {
1211
+ name: "MuiTypography",
1212
+ slot: "Root",
1213
+ overridesResolver: (t, o) => {
1214
+ const {
1215
+ ownerState: n
1216
+ } = t;
1217
+ return [o.root, n.variant && o[n.variant], n.align !== "inherit" && o[`align${Y(n.align)}`], n.noWrap && o.noWrap, n.gutterBottom && o.gutterBottom, n.paragraph && o.paragraph];
1218
+ }
1219
+ })(tt(({
1220
+ theme: t
1221
+ }) => {
1222
+ var o;
1223
+ return {
1224
+ margin: 0,
1225
+ variants: [{
1226
+ props: {
1227
+ variant: "inherit"
1228
+ },
1229
+ style: {
1230
+ // Some elements, like <button> on Chrome have default font that doesn't inherit, reset this.
1231
+ font: "inherit",
1232
+ lineHeight: "inherit",
1233
+ letterSpacing: "inherit"
1234
+ }
1235
+ }, ...Object.entries(t.typography).filter(([n, r]) => n !== "inherit" && r && typeof r == "object").map(([n, r]) => ({
1236
+ props: {
1237
+ variant: n
1238
+ },
1239
+ style: r
1240
+ })), ...Object.entries(t.palette).filter(fe()).map(([n]) => ({
1241
+ props: {
1242
+ color: n
1243
+ },
1244
+ style: {
1245
+ color: (t.vars || t).palette[n].main
1246
+ }
1247
+ })), ...Object.entries(((o = t.palette) == null ? void 0 : o.text) || {}).filter(([, n]) => typeof n == "string").map(([n]) => ({
1248
+ props: {
1249
+ color: `text${Y(n)}`
1250
+ },
1251
+ style: {
1252
+ color: (t.vars || t).palette.text[n]
1253
+ }
1254
+ })), {
1255
+ props: ({
1256
+ ownerState: n
1257
+ }) => n.align !== "inherit",
1258
+ style: {
1259
+ textAlign: "var(--Typography-textAlign)"
1260
+ }
1261
+ }, {
1262
+ props: ({
1263
+ ownerState: n
1264
+ }) => n.noWrap,
1265
+ style: {
1266
+ overflow: "hidden",
1267
+ textOverflow: "ellipsis",
1268
+ whiteSpace: "nowrap"
1269
+ }
1270
+ }, {
1271
+ props: ({
1272
+ ownerState: n
1273
+ }) => n.gutterBottom,
1274
+ style: {
1275
+ marginBottom: "0.35em"
1276
+ }
1277
+ }, {
1278
+ props: ({
1279
+ ownerState: n
1280
+ }) => n.paragraph,
1281
+ style: {
1282
+ marginBottom: 16
1283
+ }
1284
+ }]
1285
+ };
1286
+ })), Et = {
1287
+ h1: "h1",
1288
+ h2: "h2",
1289
+ h3: "h3",
1290
+ h4: "h4",
1291
+ h5: "h5",
1292
+ h6: "h6",
1293
+ subtitle1: "h6",
1294
+ subtitle2: "h6",
1295
+ body1: "p",
1296
+ body2: "p",
1297
+ inherit: "p"
1298
+ }, ot = /* @__PURE__ */ m.forwardRef(function(o, n) {
1299
+ const {
1300
+ color: r,
1301
+ ...i
1302
+ } = K({
1303
+ props: o,
1304
+ name: "MuiTypography"
1305
+ }), c = !Ae[r], a = ze({
1306
+ ...i,
1307
+ ...c && {
1308
+ color: r
1309
+ }
1310
+ }), {
1311
+ align: l = "inherit",
1312
+ className: d,
1313
+ component: p,
1314
+ gutterBottom: g = !1,
1315
+ noWrap: S = !1,
1316
+ paragraph: b = !1,
1317
+ variant: y = "body1",
1318
+ variantMapping: h = Et,
1319
+ ...x
1320
+ } = a, C = {
1321
+ ...a,
1322
+ align: l,
1323
+ color: r,
1324
+ className: d,
1325
+ component: p,
1326
+ gutterBottom: g,
1327
+ noWrap: S,
1328
+ paragraph: b,
1329
+ variant: y,
1330
+ variantMapping: h
1331
+ }, v = p || (b ? "p" : h[y] || Et[y]) || "span", I = je(C);
1332
+ return /* @__PURE__ */ s(Ve, {
1333
+ as: v,
1334
+ ref: n,
1335
+ className: j(I.root, d),
1336
+ ...x,
1337
+ ownerState: C,
1338
+ style: {
1339
+ ...l !== "inherit" && {
1340
+ "--Typography-textAlign": l
1341
+ },
1342
+ ...x.style
1343
+ }
1344
+ });
1345
+ });
1346
+ process.env.NODE_ENV !== "production" && (ot.propTypes = {
1347
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
1348
+ // │ These PropTypes are generated from the TypeScript type definitions. │
1349
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
1350
+ // └─────────────────────────────────────────────────────────────────────┘
1351
+ /**
1352
+ * Set the text-align on the component.
1353
+ * @default 'inherit'
1354
+ */
1355
+ align: e.oneOf(["center", "inherit", "justify", "left", "right"]),
1356
+ /**
1357
+ * The content of the component.
1358
+ */
1359
+ children: e.node,
1360
+ /**
1361
+ * Override or extend the styles applied to the component.
1362
+ */
1363
+ classes: e.object,
1364
+ /**
1365
+ * @ignore
1366
+ */
1367
+ className: e.string,
1368
+ /**
1369
+ * The color of the component.
1370
+ * It supports both default and custom theme colors, which can be added as shown in the
1371
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
1372
+ */
1373
+ color: e.oneOfType([e.oneOf(["primary", "secondary", "success", "error", "info", "warning", "textPrimary", "textSecondary", "textDisabled"]), e.string]),
1374
+ /**
1375
+ * The component used for the root node.
1376
+ * Either a string to use a HTML element or a component.
1377
+ */
1378
+ component: e.elementType,
1379
+ /**
1380
+ * If `true`, the text will have a bottom margin.
1381
+ * @default false
1382
+ */
1383
+ gutterBottom: e.bool,
1384
+ /**
1385
+ * If `true`, the text will not wrap, but instead will truncate with a text overflow ellipsis.
1386
+ *
1387
+ * Note that text overflow can only happen with block or inline-block level elements
1388
+ * (the element needs to have a width in order to overflow).
1389
+ * @default false
1390
+ */
1391
+ noWrap: e.bool,
1392
+ /**
1393
+ * If `true`, the element will be a paragraph element.
1394
+ * @default false
1395
+ * @deprecated Use the `component` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
1396
+ */
1397
+ paragraph: e.bool,
1398
+ /**
1399
+ * @ignore
1400
+ */
1401
+ style: e.object,
1402
+ /**
1403
+ * The system prop that allows defining system overrides as well as additional CSS styles.
1404
+ */
1405
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
1406
+ /**
1407
+ * Applies the theme typography styles.
1408
+ * @default 'body1'
1409
+ */
1410
+ variant: e.oneOfType([e.oneOf(["body1", "body2", "button", "caption", "h1", "h2", "h3", "h4", "h5", "h6", "inherit", "overline", "subtitle1", "subtitle2"]), e.string]),
1411
+ /**
1412
+ * The component maps the variant prop to a range of different HTML element types.
1413
+ * For instance, subtitle1 to `<h6>`.
1414
+ * If you wish to change that mapping, you can provide your own.
1415
+ * Alternatively, you can use the `component` prop.
1416
+ * @default {
1417
+ * h1: 'h1',
1418
+ * h2: 'h2',
1419
+ * h3: 'h3',
1420
+ * h4: 'h4',
1421
+ * h5: 'h5',
1422
+ * h6: 'h6',
1423
+ * subtitle1: 'h6',
1424
+ * subtitle2: 'h6',
1425
+ * body1: 'p',
1426
+ * body2: 'p',
1427
+ * inherit: 'p',
1428
+ * }
1429
+ */
1430
+ variantMapping: e.object
1431
+ });
1432
+ function Fe(t) {
1433
+ return J("MuiListItemText", t);
1434
+ }
1435
+ const at = q("MuiListItemText", ["root", "multiline", "dense", "inset", "primary", "secondary"]), We = (t) => {
1436
+ const {
1437
+ classes: o,
1438
+ inset: n,
1439
+ primary: r,
1440
+ secondary: i,
1441
+ dense: c
1442
+ } = t;
1443
+ return Q({
1444
+ root: ["root", n && "inset", c && "dense", r && i && "multiline"],
1445
+ primary: ["primary"],
1446
+ secondary: ["secondary"]
1447
+ }, Fe, o);
1448
+ }, Ue = V("div", {
1449
+ name: "MuiListItemText",
1450
+ slot: "Root",
1451
+ overridesResolver: (t, o) => {
1452
+ const {
1453
+ ownerState: n
1454
+ } = t;
1455
+ return [{
1456
+ [`& .${at.primary}`]: o.primary
1457
+ }, {
1458
+ [`& .${at.secondary}`]: o.secondary
1459
+ }, o.root, n.inset && o.inset, n.primary && n.secondary && o.multiline, n.dense && o.dense];
1460
+ }
1461
+ })({
1462
+ flex: "1 1 auto",
1463
+ minWidth: 0,
1464
+ marginTop: 4,
1465
+ marginBottom: 4,
1466
+ [`.${Tt.root}:where(& .${at.primary})`]: {
1467
+ display: "block"
1468
+ },
1469
+ [`.${Tt.root}:where(& .${at.secondary})`]: {
1470
+ display: "block"
1471
+ },
1472
+ variants: [{
1473
+ props: ({
1474
+ ownerState: t
1475
+ }) => t.primary && t.secondary,
1476
+ style: {
1477
+ marginTop: 6,
1478
+ marginBottom: 6
1479
+ }
1480
+ }, {
1481
+ props: ({
1482
+ ownerState: t
1483
+ }) => t.inset,
1484
+ style: {
1485
+ paddingLeft: 56
1486
+ }
1487
+ }]
1488
+ }), Ut = /* @__PURE__ */ m.forwardRef(function(o, n) {
1489
+ const r = K({
1490
+ props: o,
1491
+ name: "MuiListItemText"
1492
+ }), {
1493
+ children: i,
1494
+ className: c,
1495
+ disableTypography: a = !1,
1496
+ inset: l = !1,
1497
+ primary: d,
1498
+ primaryTypographyProps: p,
1499
+ secondary: g,
1500
+ secondaryTypographyProps: S,
1501
+ ...b
1502
+ } = r, {
1503
+ dense: y
1504
+ } = m.useContext(_);
1505
+ let h = d ?? i, x = g;
1506
+ const C = {
1507
+ ...r,
1508
+ disableTypography: a,
1509
+ inset: l,
1510
+ primary: !!h,
1511
+ secondary: !!x,
1512
+ dense: y
1513
+ }, v = We(C);
1514
+ return h != null && h.type !== ot && !a && (h = /* @__PURE__ */ s(ot, {
1515
+ variant: y ? "body2" : "body1",
1516
+ className: v.primary,
1517
+ component: p != null && p.variant ? void 0 : "span",
1518
+ ...p,
1519
+ children: h
1520
+ })), x != null && x.type !== ot && !a && (x = /* @__PURE__ */ s(ot, {
1521
+ variant: "body2",
1522
+ className: v.secondary,
1523
+ color: "textSecondary",
1524
+ ...S,
1525
+ children: x
1526
+ })), /* @__PURE__ */ H(Ue, {
1527
+ className: j(v.root, c),
1528
+ ownerState: C,
1529
+ ref: n,
1530
+ ...b,
1531
+ children: [h, x]
1532
+ });
1533
+ });
1534
+ process.env.NODE_ENV !== "production" && (Ut.propTypes = {
1535
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
1536
+ // │ These PropTypes are generated from the TypeScript type definitions. │
1537
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
1538
+ // └─────────────────────────────────────────────────────────────────────┘
1539
+ /**
1540
+ * Alias for the `primary` prop.
1541
+ */
1542
+ children: e.node,
1543
+ /**
1544
+ * Override or extend the styles applied to the component.
1545
+ */
1546
+ classes: e.object,
1547
+ /**
1548
+ * @ignore
1549
+ */
1550
+ className: e.string,
1551
+ /**
1552
+ * If `true`, the children won't be wrapped by a Typography component.
1553
+ * This can be useful to render an alternative Typography variant by wrapping
1554
+ * the `children` (or `primary`) text, and optional `secondary` text
1555
+ * with the Typography component.
1556
+ * @default false
1557
+ */
1558
+ disableTypography: e.bool,
1559
+ /**
1560
+ * If `true`, the children are indented.
1561
+ * This should be used if there is no left avatar or left icon.
1562
+ * @default false
1563
+ */
1564
+ inset: e.bool,
1565
+ /**
1566
+ * The main content element.
1567
+ */
1568
+ primary: e.node,
1569
+ /**
1570
+ * These props will be forwarded to the primary typography component
1571
+ * (as long as disableTypography is not `true`).
1572
+ */
1573
+ primaryTypographyProps: e.object,
1574
+ /**
1575
+ * The secondary content element.
1576
+ */
1577
+ secondary: e.node,
1578
+ /**
1579
+ * These props will be forwarded to the secondary typography component
1580
+ * (as long as disableTypography is not `true`).
1581
+ */
1582
+ secondaryTypographyProps: e.object,
1583
+ /**
1584
+ * The system prop that allows defining system overrides as well as additional CSS styles.
1585
+ */
1586
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object])
1587
+ });
1588
+ const Gt = X(Ut, {
1589
+ shouldForwardProp: (t) => t !== "collapsed"
1590
+ })(({ collapsed: t }) => ({
1591
+ marginLeft: t ? 0 : "10px",
1592
+ height: "24px",
1593
+ whiteSpace: "nowrap",
1594
+ width: t ? 0 : "auto",
1595
+ opacity: t ? 0 : 1,
1596
+ transition: "600ms all ease-in-out"
1597
+ })), yt = X(Wt, {
1598
+ shouldForwardProp: (t) => It(t)
1599
+ })(({ menuOrientation: t }) => ({
1600
+ "&:hover": {
1601
+ backgroundColor: z.colors.green
1602
+ },
1603
+ color: z.colors.white,
1604
+ paddingRight: t === "horizontal" ? "16px" : "8px"
1605
+ })), Ge = X(yt, {
1606
+ shouldForwardProp: (t) => It(t)
1607
+ })(({ menuPosition: t }) => ({
1608
+ display: "flex",
1609
+ justifyContent: t === "right" ? "flex-start" : "flex-end",
1610
+ alignItems: "center"
1611
+ })), Ht = ({
1612
+ label: t,
1613
+ icon: o,
1614
+ to: n,
1615
+ openInNewTab: r,
1616
+ collapsed: i,
1617
+ menuOrientation: c
1618
+ }) => {
1619
+ const a = o;
1620
+ return /* @__PURE__ */ s(ut, { disablePadding: !0, children: /* @__PURE__ */ H(
1621
+ yt,
1622
+ {
1623
+ href: n ?? "",
1624
+ target: n && r ? "_blank" : void 0,
1625
+ menuOrientation: c,
1626
+ children: [
1627
+ a && a,
1628
+ /* @__PURE__ */ s(Gt, { primary: t, collapsed: i })
1629
+ ]
1630
+ }
1631
+ ) }, t);
1632
+ };
1633
+ function He(t) {
1634
+ return J("MuiCollapse", t);
1635
+ }
1636
+ q("MuiCollapse", ["root", "horizontal", "vertical", "entered", "hidden", "wrapper", "wrapperInner"]);
1637
+ const _e = (t) => {
1638
+ const {
1639
+ orientation: o,
1640
+ classes: n
1641
+ } = t, r = {
1642
+ root: ["root", `${o}`],
1643
+ entered: ["entered"],
1644
+ hidden: ["hidden"],
1645
+ wrapper: ["wrapper", `${o}`],
1646
+ wrapperInner: ["wrapperInner", `${o}`]
1647
+ };
1648
+ return Q(r, He, n);
1649
+ }, Ye = V("div", {
1650
+ name: "MuiCollapse",
1651
+ slot: "Root",
1652
+ overridesResolver: (t, o) => {
1653
+ const {
1654
+ ownerState: n
1655
+ } = t;
1656
+ return [o.root, o[n.orientation], n.state === "entered" && o.entered, n.state === "exited" && !n.in && n.collapsedSize === "0px" && o.hidden];
1657
+ }
1658
+ })(tt(({
1659
+ theme: t
1660
+ }) => ({
1661
+ height: 0,
1662
+ overflow: "hidden",
1663
+ transition: t.transitions.create("height"),
1664
+ variants: [{
1665
+ props: {
1666
+ orientation: "horizontal"
1667
+ },
1668
+ style: {
1669
+ height: "auto",
1670
+ width: 0,
1671
+ transition: t.transitions.create("width")
1672
+ }
1673
+ }, {
1674
+ props: {
1675
+ state: "entered"
1676
+ },
1677
+ style: {
1678
+ height: "auto",
1679
+ overflow: "visible"
1680
+ }
1681
+ }, {
1682
+ props: {
1683
+ state: "entered",
1684
+ orientation: "horizontal"
1685
+ },
1686
+ style: {
1687
+ width: "auto"
1688
+ }
1689
+ }, {
1690
+ props: ({
1691
+ ownerState: o
1692
+ }) => o.state === "exited" && !o.in && o.collapsedSize === "0px",
1693
+ style: {
1694
+ visibility: "hidden"
1695
+ }
1696
+ }]
1697
+ }))), Xe = V("div", {
1698
+ name: "MuiCollapse",
1699
+ slot: "Wrapper",
1700
+ overridesResolver: (t, o) => o.wrapper
1701
+ })({
1702
+ // Hack to get children with a negative margin to not falsify the height computation.
1703
+ display: "flex",
1704
+ width: "100%",
1705
+ variants: [{
1706
+ props: {
1707
+ orientation: "horizontal"
1708
+ },
1709
+ style: {
1710
+ width: "auto",
1711
+ height: "100%"
1712
+ }
1713
+ }]
1714
+ }), Je = V("div", {
1715
+ name: "MuiCollapse",
1716
+ slot: "WrapperInner",
1717
+ overridesResolver: (t, o) => o.wrapperInner
1718
+ })({
1719
+ width: "100%",
1720
+ variants: [{
1721
+ props: {
1722
+ orientation: "horizontal"
1723
+ },
1724
+ style: {
1725
+ width: "auto",
1726
+ height: "100%"
1727
+ }
1728
+ }]
1729
+ }), ct = /* @__PURE__ */ m.forwardRef(function(o, n) {
1730
+ const r = K({
1731
+ props: o,
1732
+ name: "MuiCollapse"
1733
+ }), {
1734
+ addEndListener: i,
1735
+ children: c,
1736
+ className: a,
1737
+ collapsedSize: l = "0px",
1738
+ component: d,
1739
+ easing: p,
1740
+ in: g,
1741
+ onEnter: S,
1742
+ onEntered: b,
1743
+ onEntering: y,
1744
+ onExit: h,
1745
+ onExited: x,
1746
+ onExiting: C,
1747
+ orientation: v = "vertical",
1748
+ style: I,
1749
+ timeout: E = te.standard,
1750
+ // eslint-disable-next-line react/prop-types
1751
+ TransitionComponent: k = kt,
1752
+ ...F
1753
+ } = r, L = {
1754
+ ...r,
1755
+ orientation: v,
1756
+ collapsedSize: l
1757
+ }, w = _e(L), N = mt(), M = ge(), T = m.useRef(null), R = m.useRef(), D = typeof l == "number" ? `${l}px` : l, $ = v === "horizontal", O = $ ? "width" : "height", B = m.useRef(null), W = dt(n, B), U = (f) => (A) => {
1758
+ if (f) {
1759
+ const G = B.current;
1760
+ A === void 0 ? f(G) : f(G, A);
1761
+ }
1762
+ }, u = () => T.current ? T.current[$ ? "clientWidth" : "clientHeight"] : 0, P = U((f, A) => {
1763
+ T.current && $ && (T.current.style.position = "absolute"), f.style[O] = D, S && S(f, A);
1764
+ }), nt = U((f, A) => {
1765
+ const G = u();
1766
+ T.current && $ && (T.current.style.position = "");
1767
+ const {
1768
+ duration: et,
1769
+ easing: rt
1770
+ } = lt({
1771
+ style: I,
1772
+ timeout: E,
1773
+ easing: p
1774
+ }, {
1775
+ mode: "enter"
1776
+ });
1777
+ if (E === "auto") {
1778
+ const bt = N.transitions.getAutoHeightDuration(G);
1779
+ f.style.transitionDuration = `${bt}ms`, R.current = bt;
1780
+ } else
1781
+ f.style.transitionDuration = typeof et == "string" ? et : `${et}ms`;
1782
+ f.style[O] = `${G}px`, f.style.transitionTimingFunction = rt, y && y(f, A);
1783
+ }), Jt = U((f, A) => {
1784
+ f.style[O] = "auto", b && b(f, A);
1785
+ }), qt = U((f) => {
1786
+ f.style[O] = `${u()}px`, h && h(f);
1787
+ }), Kt = U(x), Qt = U((f) => {
1788
+ const A = u(), {
1789
+ duration: G,
1790
+ easing: et
1791
+ } = lt({
1792
+ style: I,
1793
+ timeout: E,
1794
+ easing: p
1795
+ }, {
1796
+ mode: "exit"
1797
+ });
1798
+ if (E === "auto") {
1799
+ const rt = N.transitions.getAutoHeightDuration(A);
1800
+ f.style.transitionDuration = `${rt}ms`, R.current = rt;
1801
+ } else
1802
+ f.style.transitionDuration = typeof G == "string" ? G : `${G}ms`;
1803
+ f.style[O] = D, f.style.transitionTimingFunction = et, C && C(f);
1804
+ });
1805
+ return /* @__PURE__ */ s(k, {
1806
+ in: g,
1807
+ onEnter: P,
1808
+ onEntered: Jt,
1809
+ onEntering: nt,
1810
+ onExit: qt,
1811
+ onExited: Kt,
1812
+ onExiting: Qt,
1813
+ addEndListener: (f) => {
1814
+ E === "auto" && M.start(R.current || 0, f), i && i(B.current, f);
1815
+ },
1816
+ nodeRef: B,
1817
+ timeout: E === "auto" ? null : E,
1818
+ ...F,
1819
+ children: (f, A) => /* @__PURE__ */ s(Ye, {
1820
+ as: d,
1821
+ className: j(w.root, a, {
1822
+ entered: w.entered,
1823
+ exited: !g && D === "0px" && w.hidden
1824
+ }[f]),
1825
+ style: {
1826
+ [$ ? "minWidth" : "minHeight"]: D,
1827
+ ...I
1828
+ },
1829
+ ref: W,
1830
+ ...A,
1831
+ // `ownerState` is set after `childProps` to override any existing `ownerState` property in `childProps`
1832
+ // that might have been forwarded from the Transition component.
1833
+ ownerState: {
1834
+ ...L,
1835
+ state: f
1836
+ },
1837
+ children: /* @__PURE__ */ s(Xe, {
1838
+ ownerState: {
1839
+ ...L,
1840
+ state: f
1841
+ },
1842
+ className: w.wrapper,
1843
+ ref: T,
1844
+ children: /* @__PURE__ */ s(Je, {
1845
+ ownerState: {
1846
+ ...L,
1847
+ state: f
1848
+ },
1849
+ className: w.wrapperInner,
1850
+ children: c
1851
+ })
1852
+ })
1853
+ })
1854
+ });
1855
+ });
1856
+ process.env.NODE_ENV !== "production" && (ct.propTypes = {
1857
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
1858
+ // │ These PropTypes are generated from the TypeScript type definitions. │
1859
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
1860
+ // └─────────────────────────────────────────────────────────────────────┘
1861
+ /**
1862
+ * Add a custom transition end trigger. Called with the transitioning DOM
1863
+ * node and a done callback. Allows for more fine grained transition end
1864
+ * logic. Note: Timeouts are still used as a fallback if provided.
1865
+ */
1866
+ addEndListener: e.func,
1867
+ /**
1868
+ * The content node to be collapsed.
1869
+ */
1870
+ children: e.node,
1871
+ /**
1872
+ * Override or extend the styles applied to the component.
1873
+ */
1874
+ classes: e.object,
1875
+ /**
1876
+ * @ignore
1877
+ */
1878
+ className: e.string,
1879
+ /**
1880
+ * The width (horizontal) or height (vertical) of the container when collapsed.
1881
+ * @default '0px'
1882
+ */
1883
+ collapsedSize: e.oneOfType([e.number, e.string]),
1884
+ /**
1885
+ * The component used for the root node.
1886
+ * Either a string to use a HTML element or a component.
1887
+ */
1888
+ component: Bt,
1889
+ /**
1890
+ * The transition timing function.
1891
+ * You may specify a single easing or a object containing enter and exit values.
1892
+ */
1893
+ easing: e.oneOfType([e.shape({
1894
+ enter: e.string,
1895
+ exit: e.string
1896
+ }), e.string]),
1897
+ /**
1898
+ * If `true`, the component will transition in.
1899
+ */
1900
+ in: e.bool,
1901
+ /**
1902
+ * @ignore
1903
+ */
1904
+ onEnter: e.func,
1905
+ /**
1906
+ * @ignore
1907
+ */
1908
+ onEntered: e.func,
1909
+ /**
1910
+ * @ignore
1911
+ */
1912
+ onEntering: e.func,
1913
+ /**
1914
+ * @ignore
1915
+ */
1916
+ onExit: e.func,
1917
+ /**
1918
+ * @ignore
1919
+ */
1920
+ onExited: e.func,
1921
+ /**
1922
+ * @ignore
1923
+ */
1924
+ onExiting: e.func,
1925
+ /**
1926
+ * The transition orientation.
1927
+ * @default 'vertical'
1928
+ */
1929
+ orientation: e.oneOf(["horizontal", "vertical"]),
1930
+ /**
1931
+ * @ignore
1932
+ */
1933
+ style: e.object,
1934
+ /**
1935
+ * The system prop that allows defining system overrides as well as additional CSS styles.
1936
+ */
1937
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
1938
+ /**
1939
+ * The duration for the transition, in milliseconds.
1940
+ * You may specify a single timeout for all transitions, or individually with an object.
1941
+ *
1942
+ * Set to 'auto' to automatically calculate transition time based on height.
1943
+ * @default duration.standard
1944
+ */
1945
+ timeout: e.oneOfType([e.oneOf(["auto"]), e.number, e.shape({
1946
+ appear: e.number,
1947
+ enter: e.number,
1948
+ exit: e.number
1949
+ })])
1950
+ });
1951
+ ct && (ct.muiSupportAuto = !0);
1952
+ const St = pt(/* @__PURE__ */ s("path", {
1953
+ d: "m12 8-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z"
1954
+ }), "ExpandLess"), Rt = pt(/* @__PURE__ */ s("path", {
1955
+ d: "M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"
1956
+ }), "ExpandMore"), qe = X(de, {
1957
+ shouldForwardProp: (t) => t !== "collapsed"
1958
+ })(({ collapsed: t }) => ({
1959
+ paddingLeft: t ? 0 : "2rem",
1960
+ a: {
1961
+ paddingLeft: t ? "3rem" : "1rem"
1962
+ }
1963
+ })), Ke = X(ue, { shouldForwardProp: (t) => t !== "collapsed" })`
1964
+ .MuiPaper-root {
1965
+ background-color: ${z.colors.charcoal};
1966
+ ul {
1967
+ display: flex;
1968
+ flex-wrap: wrap;
1969
+ flex-direction: row;
1970
+ align-items: center;
1971
+ padding: 0;
1972
+ width: 100%;
1973
+ li {
1974
+ width: auto;
1975
+ }
1976
+ }
1977
+ }
1978
+ `, Pt = ({
1979
+ type: t = "link",
1980
+ menuOrientation: o,
1981
+ menuPosition: n,
1982
+ collapsed: r,
1983
+ ...i
1984
+ }) => {
1985
+ switch (t) {
1986
+ case "link":
1987
+ return /* @__PURE__ */ s(Ht, { ...i, menuOrientation: o });
1988
+ case "menu":
1989
+ return /* @__PURE__ */ s(_t, { menuOrientation: o, position: n, collapsed: r, ...i });
1990
+ case "divider":
1991
+ return /* @__PURE__ */ s(
1992
+ ht,
1993
+ {
1994
+ color: z.colors.white,
1995
+ opacity: 0.5,
1996
+ spacing: 0,
1997
+ orientation: o === "horizontal" ? "vertical" : "horizontal"
1998
+ }
1999
+ );
2000
+ default:
2001
+ return null;
2002
+ }
2003
+ }, _t = ({
2004
+ label: t,
2005
+ icon: o,
2006
+ navItems: n,
2007
+ menuOrientation: r,
2008
+ collapsed: i,
2009
+ position: c
2010
+ }) => {
2011
+ const [a, l] = ft(!1), [d, p] = ft(null), g = o, S = (y) => {
2012
+ l(!a), r === "horizontal" && (p(null), p(y.currentTarget));
2013
+ }, b = () => {
2014
+ l(!1), p(null);
2015
+ };
2016
+ return /* @__PURE__ */ H($t, { children: [
2017
+ /* @__PURE__ */ s(ut, { disablePadding: !0, children: /* @__PURE__ */ H(yt, { onClick: S, menuOrientation: r, children: [
2018
+ g && g,
2019
+ /* @__PURE__ */ s(Gt, { primary: t, collapsed: i }),
2020
+ c !== "bottom" && (a ? /* @__PURE__ */ s(St, { sx: { marginLeft: "8px" } }) : /* @__PURE__ */ s(Rt, { sx: { marginLeft: "8px" } })),
2021
+ c === "bottom" && (a ? /* @__PURE__ */ s(Rt, { sx: { marginLeft: "8px" } }) : /* @__PURE__ */ s(St, { sx: { marginLeft: "8px" } }))
2022
+ ] }) }, t),
2023
+ r === "vertical" && /* @__PURE__ */ s(ct, { in: a, timeout: "auto", unmountOnExit: !0, children: /* @__PURE__ */ s(qe, { component: "div", disablePadding: !0, collapsed: i, children: n == null ? void 0 : n.map((y, h) => /* @__PURE__ */ s(Pt, { ...y, collapsed: i }, `${JSON.stringify(y)}-${h}`)) }) }),
2024
+ r === "horizontal" && /* @__PURE__ */ s(
2025
+ Ke,
2026
+ {
2027
+ anchorEl: d,
2028
+ anchorOrigin: { horizontal: "left", vertical: c === "bottom" ? "top" : "bottom" },
2029
+ open: a,
2030
+ onClose: b,
2031
+ children: n == null ? void 0 : n.map((y, h) => /* @__PURE__ */ s(
2032
+ Pt,
2033
+ {
2034
+ ...y,
2035
+ collapsed: i,
2036
+ menuOrientation: r,
2037
+ menuPosition: c
2038
+ },
2039
+ `${JSON.stringify(y)}-${h}`
2040
+ ))
2041
+ }
2042
+ )
2043
+ ] });
2044
+ }, Lt = ({
2045
+ type: t = "link",
2046
+ menuOrientation: o,
2047
+ menuPosition: n,
2048
+ ...r
2049
+ }) => {
2050
+ switch (t) {
2051
+ case "link":
2052
+ return /* @__PURE__ */ s(Ht, { ...r, menuOrientation: o });
2053
+ case "menu":
2054
+ return /* @__PURE__ */ s(_t, { menuOrientation: o, position: n, ...r });
2055
+ case "divider":
2056
+ return /* @__PURE__ */ s(
2057
+ ht,
2058
+ {
2059
+ color: z.colors.white,
2060
+ opacity: 0.5,
2061
+ spacing: 0,
2062
+ orientation: o === "horizontal" ? "vertical" : "horizontal"
2063
+ }
2064
+ );
2065
+ default:
2066
+ return null;
2067
+ }
2068
+ }, Yt = ["collapsed", "withAppBar"], Xt = X(Ft, { shouldForwardProp: (t) => !Yt.includes(t) })(({ collapsed: t, anchor: o, withAppBar: n }) => ({
2069
+ minWidth: t ? 0 : `${z.constants.navBarWidth}px`,
2070
+ width: t ? "auto" : "81px",
2071
+ transition: "201ms all ease-out",
2072
+ flexShrink: 0,
2073
+ zIndex: 100,
2074
+ ".MuiPaper-root": {
2075
+ padding: 0,
2076
+ transition: "313ms all ease-in-out",
2077
+ minWidth: t ? 0 : `${z.constants.navBarWidth}px`,
2078
+ width: t ? "auto" : "81px",
2079
+ boxSizing: "border-box",
2080
+ backgroundColor: z.colors.midnight,
2081
+ color: z.colors.white,
2082
+ boxShadow: "0px 0px 7px 4px rgba(0, 0, 0, 0.63)",
2083
+ overflowX: "hidden",
2084
+ height: o === "top" || o === "bottom" ? "auto" : n ? `calc(100% - ${z.constants.appBarHeight}px)` : "100%",
2085
+ top: o !== "bottom" ? n ? `${z.constants.appBarHeight}px` : 0 : void 0
2086
+ }
2087
+ })), Qe = X(Xt, { shouldForwardProp: (t) => !Yt.includes(t) })`
2088
+ .MuiPaper-root {
2089
+ width: 100%;
2090
+ display: flex;
2091
+ flex-wrap: wrap;
2092
+ flex-direction: row;
2093
+ align-items: center;
2094
+ li {
2095
+ width: auto;
2096
+ }
2097
+ }
2098
+ `, uo = ({ navItems: t, anchor: o = "left", collapsible: n, ...r }) => {
2099
+ const [i, c] = ft(!1), a = o === "top" || o === "bottom" ? "horizontal" : "vertical";
2100
+ return a === "horizontal" ? /* @__PURE__ */ s(Qe, { ...r, anchor: o, variant: "permanent", children: t == null ? void 0 : t.map((l, d) => /* @__PURE__ */ Zt(
2101
+ Lt,
2102
+ {
2103
+ ...l,
2104
+ menuOrientation: a,
2105
+ menuPosition: o,
2106
+ key: `${JSON.stringify(l)}-${d}`
2107
+ }
2108
+ )) }) : /* @__PURE__ */ H(Xt, { ...r, anchor: o, variant: "permanent", collapsed: i, children: [
2109
+ n && /* @__PURE__ */ H($t, { children: [
2110
+ /* @__PURE__ */ s(ut, { disablePadding: !0, children: /* @__PURE__ */ H(
2111
+ Ge,
2112
+ {
2113
+ onClick: () => c(!i),
2114
+ menuOrientation: a,
2115
+ menuPosition: o,
2116
+ children: [
2117
+ o === "left" && (i ? /* @__PURE__ */ s(Ct, {}) : /* @__PURE__ */ s(wt, {})),
2118
+ o === "right" && (i ? /* @__PURE__ */ s(wt, {}) : /* @__PURE__ */ s(Ct, {}))
2119
+ ]
2120
+ }
2121
+ ) }),
2122
+ /* @__PURE__ */ s(ht, { color: z.colors.white, opacity: 0.5, spacing: 0 })
2123
+ ] }),
2124
+ t == null ? void 0 : t.map((l, d) => /* @__PURE__ */ s(
2125
+ Lt,
2126
+ {
2127
+ ...l,
2128
+ menuOrientation: a,
2129
+ menuPosition: o,
2130
+ collapsed: i
2131
+ },
2132
+ `${JSON.stringify(l)}-${d}`
2133
+ ))
2134
+ ] });
2135
+ };
2136
+ export {
2137
+ uo as N
2138
+ };