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
@@ -0,0 +1,4392 @@
1
+ import { jsxs as ce, jsx as S } from "react/jsx-runtime";
2
+ import { n as Ao } from "./emotion-styled.browser.esm.js";
3
+ import { f as Bo, i as Wo, T as Do, P as e, g as Q, a as ee, e as _, s as F, u as fe, c as le, b as oe, j as To, r as ye, k as so, l as Uo, m as Vo, t as we } from "./theme.js";
4
+ import * as i from "react";
5
+ import { l as Ho, o as co, d as qo, f as fo, m as _o, c as no, n as Ko, k as Go, g as Xo, p as We } from "./Menu.js";
6
+ import { m as K } from "./memoTheme.js";
7
+ import { c as Xe } from "./createSimplePaletteValueFilter.js";
8
+ import { c as Ye, g as ro, e as Yo, r as Ie } from "./TransitionGroupContext.js";
9
+ import { c as Jo } from "./createSvgIcon.js";
10
+ let mo = 0;
11
+ function Zo(o) {
12
+ const [t, n] = i.useState(o), r = o || t;
13
+ return i.useEffect(() => {
14
+ t == null && (mo += 1, n(`mui-${mo}`));
15
+ }, [t]), r;
16
+ }
17
+ const Qo = {
18
+ ...i
19
+ }, bo = Qo.useId;
20
+ function Io(o) {
21
+ if (bo !== void 0) {
22
+ const t = bo();
23
+ return o ?? t;
24
+ }
25
+ return Zo(o);
26
+ }
27
+ function go({
28
+ controlled: o,
29
+ default: t,
30
+ name: n,
31
+ state: r = "value"
32
+ }) {
33
+ const {
34
+ current: s
35
+ } = i.useRef(o !== void 0), [a, l] = i.useState(t), d = s ? o : a;
36
+ if (process.env.NODE_ENV !== "production") {
37
+ i.useEffect(() => {
38
+ s !== (o !== void 0) && console.error([`MUI: A component is changing the ${s ? "" : "un"}controlled ${r} state of ${n} to be ${s ? "un" : ""}controlled.`, "Elements should not switch from uncontrolled to controlled (or vice versa).", `Decide between using a controlled or uncontrolled ${n} element for the lifetime of the component.`, "The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.", "More info: https://fb.me/react-controlled-components"].join(`
39
+ `));
40
+ }, [r, n, o]);
41
+ const {
42
+ current: m
43
+ } = i.useRef(t);
44
+ i.useEffect(() => {
45
+ !s && !Object.is(m, t) && console.error([`MUI: A component is changing the default ${r} state of an uncontrolled ${n} after being initialized. To suppress this warning opt to use a controlled ${n}.`].join(`
46
+ `));
47
+ }, [JSON.stringify(t)]);
48
+ }
49
+ const c = i.useCallback((m) => {
50
+ s || l(m);
51
+ }, []);
52
+ return [d, c];
53
+ }
54
+ function et(o) {
55
+ const {
56
+ theme: t,
57
+ name: n,
58
+ props: r
59
+ } = o;
60
+ return !t || !t.components || !t.components[n] || !t.components[n].defaultProps ? r : Bo(t.components[n].defaultProps, r);
61
+ }
62
+ function ot({
63
+ props: o,
64
+ name: t,
65
+ defaultTheme: n,
66
+ themeId: r
67
+ }) {
68
+ let s = Ho(n);
69
+ return r && (s = s[r] || s), et({
70
+ theme: s,
71
+ name: t,
72
+ props: o
73
+ });
74
+ }
75
+ function tt({
76
+ props: o,
77
+ name: t
78
+ }) {
79
+ return ot({
80
+ props: o,
81
+ name: t,
82
+ defaultTheme: Wo,
83
+ themeId: Do
84
+ });
85
+ }
86
+ function Ke(o) {
87
+ return parseInt(o, 10) || 0;
88
+ }
89
+ const nt = {
90
+ shadow: {
91
+ // Visibility needed to hide the extra text area on iPads
92
+ visibility: "hidden",
93
+ // Remove from the content flow
94
+ position: "absolute",
95
+ // Ignore the scrollbar width
96
+ overflow: "hidden",
97
+ height: 0,
98
+ top: 0,
99
+ left: 0,
100
+ // Create a new layer, increase the isolation of the computed values
101
+ transform: "translateZ(0)"
102
+ }
103
+ };
104
+ function rt(o) {
105
+ return o == null || Object.keys(o).length === 0 || o.outerHeightStyle === 0 && !o.overflowing;
106
+ }
107
+ const Ro = /* @__PURE__ */ i.forwardRef(function(t, n) {
108
+ const {
109
+ onChange: r,
110
+ maxRows: s,
111
+ minRows: a = 1,
112
+ style: l,
113
+ value: d,
114
+ ...c
115
+ } = t, {
116
+ current: m
117
+ } = i.useRef(d != null), b = i.useRef(null), y = Ye(n, b), h = i.useRef(null), x = i.useRef(null), C = i.useCallback(() => {
118
+ const g = b.current, p = co(g).getComputedStyle(g);
119
+ if (p.width === "0px")
120
+ return {
121
+ outerHeightStyle: 0,
122
+ overflowing: !1
123
+ };
124
+ const w = x.current;
125
+ w.style.width = p.width, w.value = g.value || t.placeholder || "x", w.value.slice(-1) === `
126
+ ` && (w.value += " ");
127
+ const A = p.boxSizing, L = Ke(p.paddingBottom) + Ke(p.paddingTop), k = Ke(p.borderBottomWidth) + Ke(p.borderTopWidth), D = w.scrollHeight;
128
+ w.value = "x";
129
+ const B = w.scrollHeight;
130
+ let E = D;
131
+ a && (E = Math.max(Number(a) * B, E)), s && (E = Math.min(Number(s) * B, E)), E = Math.max(E, B);
132
+ const U = E + (A === "border-box" ? L + k : 0), j = Math.abs(E - D) <= 1;
133
+ return {
134
+ outerHeightStyle: U,
135
+ overflowing: j
136
+ };
137
+ }, [s, a, t.placeholder]), O = i.useCallback(() => {
138
+ const g = C();
139
+ if (rt(g))
140
+ return;
141
+ const v = g.outerHeightStyle, p = b.current;
142
+ h.current !== v && (h.current = v, p.style.height = `${v}px`), p.style.overflow = g.overflowing ? "hidden" : "";
143
+ }, [C]);
144
+ ro(() => {
145
+ const g = () => {
146
+ O();
147
+ };
148
+ let v;
149
+ const p = () => {
150
+ cancelAnimationFrame(v), v = requestAnimationFrame(() => {
151
+ g();
152
+ });
153
+ }, w = qo(g), A = b.current, L = co(A);
154
+ L.addEventListener("resize", w);
155
+ let k;
156
+ return typeof ResizeObserver < "u" && (k = new ResizeObserver(process.env.NODE_ENV === "test" ? p : g), k.observe(A)), () => {
157
+ w.clear(), cancelAnimationFrame(v), L.removeEventListener("resize", w), k && k.disconnect();
158
+ };
159
+ }, [C, O]), ro(() => {
160
+ O();
161
+ });
162
+ const f = (g) => {
163
+ m || O(), r && r(g);
164
+ };
165
+ return /* @__PURE__ */ ce(i.Fragment, {
166
+ children: [/* @__PURE__ */ S("textarea", {
167
+ value: d,
168
+ onChange: f,
169
+ ref: y,
170
+ rows: a,
171
+ style: l,
172
+ ...c
173
+ }), /* @__PURE__ */ S("textarea", {
174
+ "aria-hidden": !0,
175
+ className: t.className,
176
+ readOnly: !0,
177
+ ref: x,
178
+ tabIndex: -1,
179
+ style: {
180
+ ...nt.shadow,
181
+ ...l,
182
+ paddingTop: 0,
183
+ paddingBottom: 0
184
+ }
185
+ })]
186
+ });
187
+ });
188
+ process.env.NODE_ENV !== "production" && (Ro.propTypes = {
189
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
190
+ // │ These PropTypes are generated from the TypeScript type definitions. │
191
+ // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │
192
+ // └─────────────────────────────────────────────────────────────────────┘
193
+ /**
194
+ * @ignore
195
+ */
196
+ className: e.string,
197
+ /**
198
+ * Maximum number of rows to display.
199
+ */
200
+ maxRows: e.oneOfType([e.number, e.string]),
201
+ /**
202
+ * Minimum number of rows to display.
203
+ * @default 1
204
+ */
205
+ minRows: e.oneOfType([e.number, e.string]),
206
+ /**
207
+ * @ignore
208
+ */
209
+ onChange: e.func,
210
+ /**
211
+ * @ignore
212
+ */
213
+ placeholder: e.string,
214
+ /**
215
+ * @ignore
216
+ */
217
+ style: e.object,
218
+ /**
219
+ * @ignore
220
+ */
221
+ value: e.oneOfType([e.arrayOf(e.string), e.number, e.string])
222
+ });
223
+ function ke({
224
+ props: o,
225
+ states: t,
226
+ muiFormControl: n
227
+ }) {
228
+ return t.reduce((r, s) => (r[s] = o[s], n && typeof o[s] > "u" && (r[s] = n[s]), r), {});
229
+ }
230
+ const Je = /* @__PURE__ */ i.createContext(void 0);
231
+ process.env.NODE_ENV !== "production" && (Je.displayName = "FormControlContext");
232
+ function Me() {
233
+ return i.useContext(Je);
234
+ }
235
+ function yo(o) {
236
+ return o != null && !(Array.isArray(o) && o.length === 0);
237
+ }
238
+ function Ge(o, t = !1) {
239
+ return o && (yo(o.value) && o.value !== "" || t && yo(o.defaultValue) && o.defaultValue !== "");
240
+ }
241
+ function st(o) {
242
+ return o.startAdornment;
243
+ }
244
+ function lt(o) {
245
+ return ee("MuiInputBase", o);
246
+ }
247
+ const $e = Q("MuiInputBase", ["root", "formControl", "focused", "disabled", "adornedStart", "adornedEnd", "error", "sizeSmall", "multiline", "colorSecondary", "fullWidth", "hiddenLabel", "readOnly", "input", "inputSizeSmall", "inputMultiline", "inputTypeSearch", "inputAdornedStart", "inputAdornedEnd", "inputHiddenLabel"]);
248
+ var ho;
249
+ const Ze = (o, t) => {
250
+ const {
251
+ ownerState: n
252
+ } = o;
253
+ return [t.root, n.formControl && t.formControl, n.startAdornment && t.adornedStart, n.endAdornment && t.adornedEnd, n.error && t.error, n.size === "small" && t.sizeSmall, n.multiline && t.multiline, n.color && t[`color${_(n.color)}`], n.fullWidth && t.fullWidth, n.hiddenLabel && t.hiddenLabel];
254
+ }, Qe = (o, t) => {
255
+ const {
256
+ ownerState: n
257
+ } = o;
258
+ return [t.input, n.size === "small" && t.inputSizeSmall, n.multiline && t.inputMultiline, n.type === "search" && t.inputTypeSearch, n.startAdornment && t.inputAdornedStart, n.endAdornment && t.inputAdornedEnd, n.hiddenLabel && t.inputHiddenLabel];
259
+ }, it = (o) => {
260
+ const {
261
+ classes: t,
262
+ color: n,
263
+ disabled: r,
264
+ error: s,
265
+ endAdornment: a,
266
+ focused: l,
267
+ formControl: d,
268
+ fullWidth: c,
269
+ hiddenLabel: m,
270
+ multiline: b,
271
+ readOnly: y,
272
+ size: h,
273
+ startAdornment: x,
274
+ type: C
275
+ } = o, O = {
276
+ root: ["root", `color${_(n)}`, r && "disabled", s && "error", c && "fullWidth", l && "focused", d && "formControl", h && h !== "medium" && `size${_(h)}`, b && "multiline", x && "adornedStart", a && "adornedEnd", m && "hiddenLabel", y && "readOnly"],
277
+ input: ["input", r && "disabled", C === "search" && "inputTypeSearch", b && "inputMultiline", h === "small" && "inputSizeSmall", m && "inputHiddenLabel", x && "inputAdornedStart", a && "inputAdornedEnd", y && "readOnly"]
278
+ };
279
+ return oe(O, lt, t);
280
+ }, eo = F("div", {
281
+ name: "MuiInputBase",
282
+ slot: "Root",
283
+ overridesResolver: Ze
284
+ })(K(({
285
+ theme: o
286
+ }) => ({
287
+ ...o.typography.body1,
288
+ color: (o.vars || o).palette.text.primary,
289
+ lineHeight: "1.4375em",
290
+ // 23px
291
+ boxSizing: "border-box",
292
+ // Prevent padding issue with fullWidth.
293
+ position: "relative",
294
+ cursor: "text",
295
+ display: "inline-flex",
296
+ alignItems: "center",
297
+ [`&.${$e.disabled}`]: {
298
+ color: (o.vars || o).palette.text.disabled,
299
+ cursor: "default"
300
+ },
301
+ variants: [{
302
+ props: ({
303
+ ownerState: t
304
+ }) => t.multiline,
305
+ style: {
306
+ padding: "4px 0 5px"
307
+ }
308
+ }, {
309
+ props: ({
310
+ ownerState: t,
311
+ size: n
312
+ }) => t.multiline && n === "small",
313
+ style: {
314
+ paddingTop: 1
315
+ }
316
+ }, {
317
+ props: ({
318
+ ownerState: t
319
+ }) => t.fullWidth,
320
+ style: {
321
+ width: "100%"
322
+ }
323
+ }]
324
+ }))), oo = F("input", {
325
+ name: "MuiInputBase",
326
+ slot: "Input",
327
+ overridesResolver: Qe
328
+ })(K(({
329
+ theme: o
330
+ }) => {
331
+ const t = o.palette.mode === "light", n = {
332
+ color: "currentColor",
333
+ ...o.vars ? {
334
+ opacity: o.vars.opacity.inputPlaceholder
335
+ } : {
336
+ opacity: t ? 0.42 : 0.5
337
+ },
338
+ transition: o.transitions.create("opacity", {
339
+ duration: o.transitions.duration.shorter
340
+ })
341
+ }, r = {
342
+ opacity: "0 !important"
343
+ }, s = o.vars ? {
344
+ opacity: o.vars.opacity.inputPlaceholder
345
+ } : {
346
+ opacity: t ? 0.42 : 0.5
347
+ };
348
+ return {
349
+ font: "inherit",
350
+ letterSpacing: "inherit",
351
+ color: "currentColor",
352
+ padding: "4px 0 5px",
353
+ border: 0,
354
+ boxSizing: "content-box",
355
+ background: "none",
356
+ height: "1.4375em",
357
+ // Reset 23pxthe native input line-height
358
+ margin: 0,
359
+ // Reset for Safari
360
+ WebkitTapHighlightColor: "transparent",
361
+ display: "block",
362
+ // Make the flex item shrink with Firefox
363
+ minWidth: 0,
364
+ width: "100%",
365
+ "&::-webkit-input-placeholder": n,
366
+ "&::-moz-placeholder": n,
367
+ // Firefox 19+
368
+ "&::-ms-input-placeholder": n,
369
+ // Edge
370
+ "&:focus": {
371
+ outline: 0
372
+ },
373
+ // Reset Firefox invalid required input style
374
+ "&:invalid": {
375
+ boxShadow: "none"
376
+ },
377
+ "&::-webkit-search-decoration": {
378
+ // Remove the padding when type=search.
379
+ WebkitAppearance: "none"
380
+ },
381
+ // Show and hide the placeholder logic
382
+ [`label[data-shrink=false] + .${$e.formControl} &`]: {
383
+ "&::-webkit-input-placeholder": r,
384
+ "&::-moz-placeholder": r,
385
+ // Firefox 19+
386
+ "&::-ms-input-placeholder": r,
387
+ // Edge
388
+ "&:focus::-webkit-input-placeholder": s,
389
+ "&:focus::-moz-placeholder": s,
390
+ // Firefox 19+
391
+ "&:focus::-ms-input-placeholder": s
392
+ // Edge
393
+ },
394
+ [`&.${$e.disabled}`]: {
395
+ opacity: 1,
396
+ // Reset iOS opacity
397
+ WebkitTextFillColor: (o.vars || o).palette.text.disabled
398
+ // Fix opacity Safari bug
399
+ },
400
+ variants: [{
401
+ props: ({
402
+ ownerState: a
403
+ }) => !a.disableInjectingGlobalStyles,
404
+ style: {
405
+ animationName: "mui-auto-fill-cancel",
406
+ animationDuration: "10ms",
407
+ "&:-webkit-autofill": {
408
+ animationDuration: "5000s",
409
+ animationName: "mui-auto-fill"
410
+ }
411
+ }
412
+ }, {
413
+ props: {
414
+ size: "small"
415
+ },
416
+ style: {
417
+ paddingTop: 1
418
+ }
419
+ }, {
420
+ props: ({
421
+ ownerState: a
422
+ }) => a.multiline,
423
+ style: {
424
+ height: "auto",
425
+ resize: "none",
426
+ padding: 0,
427
+ paddingTop: 0
428
+ }
429
+ }, {
430
+ props: {
431
+ type: "search"
432
+ },
433
+ style: {
434
+ MozAppearance: "textfield"
435
+ // Improve type search style.
436
+ }
437
+ }]
438
+ };
439
+ })), vo = _o({
440
+ "@keyframes mui-auto-fill": {
441
+ from: {
442
+ display: "block"
443
+ }
444
+ },
445
+ "@keyframes mui-auto-fill-cancel": {
446
+ from: {
447
+ display: "block"
448
+ }
449
+ }
450
+ }), to = /* @__PURE__ */ i.forwardRef(function(t, n) {
451
+ const r = fe({
452
+ props: t,
453
+ name: "MuiInputBase"
454
+ }), {
455
+ "aria-describedby": s,
456
+ autoComplete: a,
457
+ autoFocus: l,
458
+ className: d,
459
+ color: c,
460
+ components: m = {},
461
+ componentsProps: b = {},
462
+ defaultValue: y,
463
+ disabled: h,
464
+ disableInjectingGlobalStyles: x,
465
+ endAdornment: C,
466
+ error: O,
467
+ fullWidth: f = !1,
468
+ id: g,
469
+ inputComponent: v = "input",
470
+ inputProps: p = {},
471
+ inputRef: w,
472
+ margin: A,
473
+ maxRows: L,
474
+ minRows: k,
475
+ multiline: D = !1,
476
+ name: B,
477
+ onBlur: E,
478
+ onChange: U,
479
+ onClick: j,
480
+ onFocus: W,
481
+ onKeyDown: V,
482
+ onKeyUp: $,
483
+ placeholder: Y,
484
+ readOnly: G,
485
+ renderSuffix: I,
486
+ rows: J,
487
+ size: Re,
488
+ slotProps: ie = {},
489
+ slots: he = {},
490
+ startAdornment: P,
491
+ type: X = "text",
492
+ value: Z,
493
+ ...ae
494
+ } = r, de = p.value != null ? p.value : Z, {
495
+ current: me
496
+ } = i.useRef(de != null), H = i.useRef(), ue = i.useCallback((R) => {
497
+ process.env.NODE_ENV !== "production" && R && R.nodeName !== "INPUT" && !R.focus && console.error(["MUI: You have provided a `inputComponent` to the input component", "that does not correctly handle the `ref` prop.", "Make sure the `ref` prop is called with a HTMLInputElement."].join(`
498
+ `));
499
+ }, []), te = Ye(H, w, p.ref, ue), [ne, ve] = i.useState(!1), N = Me();
500
+ process.env.NODE_ENV !== "production" && i.useEffect(() => {
501
+ if (N)
502
+ return N.registerEffect();
503
+ }, [N]);
504
+ const M = ke({
505
+ props: r,
506
+ muiFormControl: N,
507
+ states: ["color", "disabled", "error", "hiddenLabel", "size", "required", "filled"]
508
+ });
509
+ M.focused = N ? N.focused : ne, i.useEffect(() => {
510
+ !N && h && ne && (ve(!1), E && E());
511
+ }, [N, h, ne, E]);
512
+ const Se = N && N.onFilled, Ce = N && N.onEmpty, pe = i.useCallback((R) => {
513
+ Ge(R) ? Se && Se() : Ce && Ce();
514
+ }, [Se, Ce]);
515
+ ro(() => {
516
+ me && pe({
517
+ value: de
518
+ });
519
+ }, [de, pe, me]);
520
+ const be = (R) => {
521
+ W && W(R), p.onFocus && p.onFocus(R), N && N.onFocus ? N.onFocus(R) : ve(!0);
522
+ }, Le = (R) => {
523
+ E && E(R), p.onBlur && p.onBlur(R), N && N.onBlur ? N.onBlur(R) : ve(!1);
524
+ }, re = (R, ...Ee) => {
525
+ if (!me) {
526
+ const Be = R.target || H.current;
527
+ if (Be == null)
528
+ throw new Error(process.env.NODE_ENV !== "production" ? "MUI: Expected valid input target. Did you use a custom `inputComponent` and forget to forward refs? See https://mui.com/r/input-component-ref-interface for more info." : To(1));
529
+ pe({
530
+ value: Be.value
531
+ });
532
+ }
533
+ p.onChange && p.onChange(R, ...Ee), U && U(R, ...Ee);
534
+ };
535
+ i.useEffect(() => {
536
+ pe(H.current);
537
+ }, []);
538
+ const Oe = (R) => {
539
+ H.current && R.currentTarget === R.target && H.current.focus(), j && j(R);
540
+ };
541
+ let ge = v, q = p;
542
+ D && ge === "input" && (J ? (process.env.NODE_ENV !== "production" && (k || L) && console.warn("MUI: You can not use the `minRows` or `maxRows` props when the input `rows` prop is set."), q = {
543
+ type: void 0,
544
+ minRows: J,
545
+ maxRows: J,
546
+ ...q
547
+ }) : q = {
548
+ type: void 0,
549
+ maxRows: L,
550
+ minRows: k,
551
+ ...q
552
+ }, ge = Ro);
553
+ const je = (R) => {
554
+ pe(R.animationName === "mui-auto-fill-cancel" ? H.current : {
555
+ value: "x"
556
+ });
557
+ };
558
+ i.useEffect(() => {
559
+ N && N.setAdornedStart(!!P);
560
+ }, [N, P]);
561
+ const ze = {
562
+ ...r,
563
+ color: M.color || "primary",
564
+ disabled: M.disabled,
565
+ endAdornment: C,
566
+ error: M.error,
567
+ focused: M.focused,
568
+ formControl: N,
569
+ fullWidth: f,
570
+ hiddenLabel: M.hiddenLabel,
571
+ multiline: D,
572
+ size: M.size,
573
+ startAdornment: P,
574
+ type: X
575
+ }, Ae = it(ze), Fe = he.root || m.Root || eo, Ne = ie.root || b.root || {}, xe = he.input || m.Input || oo;
576
+ return q = {
577
+ ...q,
578
+ ...ie.input ?? b.input
579
+ }, /* @__PURE__ */ ce(i.Fragment, {
580
+ children: [!x && typeof vo == "function" && // For Emotion/Styled-components, InputGlobalStyles will be a function
581
+ // For Pigment CSS, this has no effect because the InputGlobalStyles will be null.
582
+ (ho || (ho = /* @__PURE__ */ S(vo, {}))), /* @__PURE__ */ ce(Fe, {
583
+ ...Ne,
584
+ ref: n,
585
+ onClick: Oe,
586
+ ...ae,
587
+ ...!fo(Fe) && {
588
+ ownerState: {
589
+ ...ze,
590
+ ...Ne.ownerState
591
+ }
592
+ },
593
+ className: le(Ae.root, Ne.className, d, G && "MuiInputBase-readOnly"),
594
+ children: [P, /* @__PURE__ */ S(Je.Provider, {
595
+ value: null,
596
+ children: /* @__PURE__ */ S(xe, {
597
+ "aria-invalid": M.error,
598
+ "aria-describedby": s,
599
+ autoComplete: a,
600
+ autoFocus: l,
601
+ defaultValue: y,
602
+ disabled: M.disabled,
603
+ id: g,
604
+ onAnimationStart: je,
605
+ name: B,
606
+ placeholder: Y,
607
+ readOnly: G,
608
+ required: M.required,
609
+ rows: J,
610
+ value: de,
611
+ onKeyDown: V,
612
+ onKeyUp: $,
613
+ type: X,
614
+ ...q,
615
+ ...!fo(xe) && {
616
+ as: ge,
617
+ ownerState: {
618
+ ...ze,
619
+ ...q.ownerState
620
+ }
621
+ },
622
+ ref: te,
623
+ className: le(Ae.input, q.className, G && "MuiInputBase-readOnly"),
624
+ onBlur: Le,
625
+ onChange: re,
626
+ onFocus: be
627
+ })
628
+ }), C, I ? I({
629
+ ...M,
630
+ startAdornment: P
631
+ }) : null]
632
+ })]
633
+ });
634
+ });
635
+ process.env.NODE_ENV !== "production" && (to.propTypes = {
636
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
637
+ // │ These PropTypes are generated from the TypeScript type definitions. │
638
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
639
+ // └─────────────────────────────────────────────────────────────────────┘
640
+ /**
641
+ * @ignore
642
+ */
643
+ "aria-describedby": e.string,
644
+ /**
645
+ * This prop helps users to fill forms faster, especially on mobile devices.
646
+ * The name can be confusing, as it's more like an autofill.
647
+ * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).
648
+ */
649
+ autoComplete: e.string,
650
+ /**
651
+ * If `true`, the `input` element is focused during the first mount.
652
+ */
653
+ autoFocus: e.bool,
654
+ /**
655
+ * Override or extend the styles applied to the component.
656
+ */
657
+ classes: e.object,
658
+ /**
659
+ * @ignore
660
+ */
661
+ className: e.string,
662
+ /**
663
+ * The color of the component.
664
+ * It supports both default and custom theme colors, which can be added as shown in the
665
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
666
+ * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.
667
+ */
668
+ color: e.oneOfType([e.oneOf(["primary", "secondary", "error", "info", "success", "warning"]), e.string]),
669
+ /**
670
+ * The components used for each slot inside.
671
+ *
672
+ * @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.
673
+ *
674
+ * @default {}
675
+ */
676
+ components: e.shape({
677
+ Input: e.elementType,
678
+ Root: e.elementType
679
+ }),
680
+ /**
681
+ * The extra props for the slot components.
682
+ * You can override the existing props or add new ones.
683
+ *
684
+ * @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.
685
+ *
686
+ * @default {}
687
+ */
688
+ componentsProps: e.shape({
689
+ input: e.object,
690
+ root: e.object
691
+ }),
692
+ /**
693
+ * The default value. Use when the component is not controlled.
694
+ */
695
+ defaultValue: e.any,
696
+ /**
697
+ * If `true`, the component is disabled.
698
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
699
+ */
700
+ disabled: e.bool,
701
+ /**
702
+ * If `true`, GlobalStyles for the auto-fill keyframes will not be injected/removed on mount/unmount. Make sure to inject them at the top of your application.
703
+ * This option is intended to help with boosting the initial rendering performance if you are loading a big amount of Input components at once.
704
+ * @default false
705
+ */
706
+ disableInjectingGlobalStyles: e.bool,
707
+ /**
708
+ * End `InputAdornment` for this component.
709
+ */
710
+ endAdornment: e.node,
711
+ /**
712
+ * If `true`, the `input` will indicate an error.
713
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
714
+ */
715
+ error: e.bool,
716
+ /**
717
+ * If `true`, the `input` will take up the full width of its container.
718
+ * @default false
719
+ */
720
+ fullWidth: e.bool,
721
+ /**
722
+ * The id of the `input` element.
723
+ */
724
+ id: e.string,
725
+ /**
726
+ * The component used for the `input` element.
727
+ * Either a string to use a HTML element or a component.
728
+ * @default 'input'
729
+ */
730
+ inputComponent: Yo,
731
+ /**
732
+ * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
733
+ * @default {}
734
+ */
735
+ inputProps: e.object,
736
+ /**
737
+ * Pass a ref to the `input` element.
738
+ */
739
+ inputRef: Ie,
740
+ /**
741
+ * If `dense`, will adjust vertical spacing. This is normally obtained via context from
742
+ * FormControl.
743
+ * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.
744
+ */
745
+ margin: e.oneOf(["dense", "none"]),
746
+ /**
747
+ * Maximum number of rows to display when multiline option is set to true.
748
+ */
749
+ maxRows: e.oneOfType([e.number, e.string]),
750
+ /**
751
+ * Minimum number of rows to display when multiline option is set to true.
752
+ */
753
+ minRows: e.oneOfType([e.number, e.string]),
754
+ /**
755
+ * If `true`, a [TextareaAutosize](https://mui.com/material-ui/react-textarea-autosize/) element is rendered.
756
+ * @default false
757
+ */
758
+ multiline: e.bool,
759
+ /**
760
+ * Name attribute of the `input` element.
761
+ */
762
+ name: e.string,
763
+ /**
764
+ * Callback fired when the `input` is blurred.
765
+ *
766
+ * Notice that the first argument (event) might be undefined.
767
+ */
768
+ onBlur: e.func,
769
+ /**
770
+ * Callback fired when the value is changed.
771
+ *
772
+ * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.
773
+ * You can pull out the new value by accessing `event.target.value` (string).
774
+ */
775
+ onChange: e.func,
776
+ /**
777
+ * @ignore
778
+ */
779
+ onClick: e.func,
780
+ /**
781
+ * @ignore
782
+ */
783
+ onFocus: e.func,
784
+ /**
785
+ * Callback fired when the `input` doesn't satisfy its constraints.
786
+ */
787
+ onInvalid: e.func,
788
+ /**
789
+ * @ignore
790
+ */
791
+ onKeyDown: e.func,
792
+ /**
793
+ * @ignore
794
+ */
795
+ onKeyUp: e.func,
796
+ /**
797
+ * The short hint displayed in the `input` before the user enters a value.
798
+ */
799
+ placeholder: e.string,
800
+ /**
801
+ * It prevents the user from changing the value of the field
802
+ * (not from interacting with the field).
803
+ */
804
+ readOnly: e.bool,
805
+ /**
806
+ * @ignore
807
+ */
808
+ renderSuffix: e.func,
809
+ /**
810
+ * If `true`, the `input` element is required.
811
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
812
+ */
813
+ required: e.bool,
814
+ /**
815
+ * Number of rows to display when multiline option is set to true.
816
+ */
817
+ rows: e.oneOfType([e.number, e.string]),
818
+ /**
819
+ * The size of the component.
820
+ */
821
+ size: e.oneOfType([e.oneOf(["medium", "small"]), e.string]),
822
+ /**
823
+ * The extra props for the slot components.
824
+ * You can override the existing props or add new ones.
825
+ *
826
+ * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.
827
+ *
828
+ * @default {}
829
+ */
830
+ slotProps: e.shape({
831
+ input: e.object,
832
+ root: e.object
833
+ }),
834
+ /**
835
+ * The components used for each slot inside.
836
+ *
837
+ * This prop is an alias for the `components` prop, which will be deprecated in the future.
838
+ *
839
+ * @default {}
840
+ */
841
+ slots: e.shape({
842
+ input: e.elementType,
843
+ root: e.elementType
844
+ }),
845
+ /**
846
+ * Start `InputAdornment` for this component.
847
+ */
848
+ startAdornment: e.node,
849
+ /**
850
+ * The system prop that allows defining system overrides as well as additional CSS styles.
851
+ */
852
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
853
+ /**
854
+ * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types).
855
+ * @default 'text'
856
+ */
857
+ type: e.string,
858
+ /**
859
+ * The value of the `input` element, required for a controlled component.
860
+ */
861
+ value: e.any
862
+ });
863
+ function at(o) {
864
+ return ee("MuiInput", o);
865
+ }
866
+ const De = {
867
+ ...$e,
868
+ ...Q("MuiInput", ["root", "underline", "input"])
869
+ }, dt = (o) => {
870
+ const {
871
+ classes: t,
872
+ disableUnderline: n
873
+ } = o, s = oe({
874
+ root: ["root", !n && "underline"],
875
+ input: ["input"]
876
+ }, at, t);
877
+ return {
878
+ ...t,
879
+ // forward classes to the InputBase
880
+ ...s
881
+ };
882
+ }, ut = F(eo, {
883
+ shouldForwardProp: (o) => ye(o) || o === "classes",
884
+ name: "MuiInput",
885
+ slot: "Root",
886
+ overridesResolver: (o, t) => {
887
+ const {
888
+ ownerState: n
889
+ } = o;
890
+ return [...Ze(o, t), !n.disableUnderline && t.underline];
891
+ }
892
+ })(K(({
893
+ theme: o
894
+ }) => {
895
+ let n = o.palette.mode === "light" ? "rgba(0, 0, 0, 0.42)" : "rgba(255, 255, 255, 0.7)";
896
+ return o.vars && (n = `rgba(${o.vars.palette.common.onBackgroundChannel} / ${o.vars.opacity.inputUnderline})`), {
897
+ position: "relative",
898
+ variants: [{
899
+ props: ({
900
+ ownerState: r
901
+ }) => r.formControl,
902
+ style: {
903
+ "label + &": {
904
+ marginTop: 16
905
+ }
906
+ }
907
+ }, {
908
+ props: ({
909
+ ownerState: r
910
+ }) => !r.disableUnderline,
911
+ style: {
912
+ "&::after": {
913
+ left: 0,
914
+ bottom: 0,
915
+ content: '""',
916
+ position: "absolute",
917
+ right: 0,
918
+ transform: "scaleX(0)",
919
+ transition: o.transitions.create("transform", {
920
+ duration: o.transitions.duration.shorter,
921
+ easing: o.transitions.easing.easeOut
922
+ }),
923
+ pointerEvents: "none"
924
+ // Transparent to the hover style.
925
+ },
926
+ [`&.${De.focused}:after`]: {
927
+ // translateX(0) is a workaround for Safari transform scale bug
928
+ // See https://github.com/mui/material-ui/issues/31766
929
+ transform: "scaleX(1) translateX(0)"
930
+ },
931
+ [`&.${De.error}`]: {
932
+ "&::before, &::after": {
933
+ borderBottomColor: (o.vars || o).palette.error.main
934
+ }
935
+ },
936
+ "&::before": {
937
+ borderBottom: `1px solid ${n}`,
938
+ left: 0,
939
+ bottom: 0,
940
+ content: '"\\00a0"',
941
+ position: "absolute",
942
+ right: 0,
943
+ transition: o.transitions.create("border-bottom-color", {
944
+ duration: o.transitions.duration.shorter
945
+ }),
946
+ pointerEvents: "none"
947
+ // Transparent to the hover style.
948
+ },
949
+ [`&:hover:not(.${De.disabled}, .${De.error}):before`]: {
950
+ borderBottom: `2px solid ${(o.vars || o).palette.text.primary}`,
951
+ // Reset on touch devices, it doesn't add specificity
952
+ "@media (hover: none)": {
953
+ borderBottom: `1px solid ${n}`
954
+ }
955
+ },
956
+ [`&.${De.disabled}:before`]: {
957
+ borderBottomStyle: "dotted"
958
+ }
959
+ }
960
+ }, ...Object.entries(o.palette).filter(Xe()).map(([r]) => ({
961
+ props: {
962
+ color: r,
963
+ disableUnderline: !1
964
+ },
965
+ style: {
966
+ "&::after": {
967
+ borderBottom: `2px solid ${(o.vars || o).palette[r].main}`
968
+ }
969
+ }
970
+ }))]
971
+ };
972
+ })), pt = F(oo, {
973
+ name: "MuiInput",
974
+ slot: "Input",
975
+ overridesResolver: Qe
976
+ })({}), He = /* @__PURE__ */ i.forwardRef(function(t, n) {
977
+ const r = fe({
978
+ props: t,
979
+ name: "MuiInput"
980
+ }), {
981
+ disableUnderline: s = !1,
982
+ components: a = {},
983
+ componentsProps: l,
984
+ fullWidth: d = !1,
985
+ inputComponent: c = "input",
986
+ multiline: m = !1,
987
+ slotProps: b,
988
+ slots: y = {},
989
+ type: h = "text",
990
+ ...x
991
+ } = r, C = dt(r), f = {
992
+ root: {
993
+ ownerState: {
994
+ disableUnderline: s
995
+ }
996
+ }
997
+ }, g = b ?? l ? so(b ?? l, f) : f, v = y.root ?? a.Root ?? ut, p = y.input ?? a.Input ?? pt;
998
+ return /* @__PURE__ */ S(to, {
999
+ slots: {
1000
+ root: v,
1001
+ input: p
1002
+ },
1003
+ slotProps: g,
1004
+ fullWidth: d,
1005
+ inputComponent: c,
1006
+ multiline: m,
1007
+ ref: n,
1008
+ type: h,
1009
+ ...x,
1010
+ classes: C
1011
+ });
1012
+ });
1013
+ process.env.NODE_ENV !== "production" && (He.propTypes = {
1014
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
1015
+ // │ These PropTypes are generated from the TypeScript type definitions. │
1016
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
1017
+ // └─────────────────────────────────────────────────────────────────────┘
1018
+ /**
1019
+ * This prop helps users to fill forms faster, especially on mobile devices.
1020
+ * The name can be confusing, as it's more like an autofill.
1021
+ * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).
1022
+ */
1023
+ autoComplete: e.string,
1024
+ /**
1025
+ * If `true`, the `input` element is focused during the first mount.
1026
+ */
1027
+ autoFocus: e.bool,
1028
+ /**
1029
+ * Override or extend the styles applied to the component.
1030
+ */
1031
+ classes: e.object,
1032
+ /**
1033
+ * The color of the component.
1034
+ * It supports both default and custom theme colors, which can be added as shown in the
1035
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
1036
+ * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.
1037
+ */
1038
+ color: e.oneOfType([e.oneOf(["primary", "secondary"]), e.string]),
1039
+ /**
1040
+ * The components used for each slot inside.
1041
+ *
1042
+ * @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.
1043
+ *
1044
+ * @default {}
1045
+ */
1046
+ components: e.shape({
1047
+ Input: e.elementType,
1048
+ Root: e.elementType
1049
+ }),
1050
+ /**
1051
+ * The extra props for the slot components.
1052
+ * You can override the existing props or add new ones.
1053
+ *
1054
+ * @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.
1055
+ *
1056
+ * @default {}
1057
+ */
1058
+ componentsProps: e.shape({
1059
+ input: e.object,
1060
+ root: e.object
1061
+ }),
1062
+ /**
1063
+ * The default value. Use when the component is not controlled.
1064
+ */
1065
+ defaultValue: e.any,
1066
+ /**
1067
+ * If `true`, the component is disabled.
1068
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
1069
+ */
1070
+ disabled: e.bool,
1071
+ /**
1072
+ * If `true`, the `input` will not have an underline.
1073
+ * @default false
1074
+ */
1075
+ disableUnderline: e.bool,
1076
+ /**
1077
+ * End `InputAdornment` for this component.
1078
+ */
1079
+ endAdornment: e.node,
1080
+ /**
1081
+ * If `true`, the `input` will indicate an error.
1082
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
1083
+ */
1084
+ error: e.bool,
1085
+ /**
1086
+ * If `true`, the `input` will take up the full width of its container.
1087
+ * @default false
1088
+ */
1089
+ fullWidth: e.bool,
1090
+ /**
1091
+ * The id of the `input` element.
1092
+ */
1093
+ id: e.string,
1094
+ /**
1095
+ * The component used for the `input` element.
1096
+ * Either a string to use a HTML element or a component.
1097
+ * @default 'input'
1098
+ */
1099
+ inputComponent: e.elementType,
1100
+ /**
1101
+ * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
1102
+ * @default {}
1103
+ */
1104
+ inputProps: e.object,
1105
+ /**
1106
+ * Pass a ref to the `input` element.
1107
+ */
1108
+ inputRef: Ie,
1109
+ /**
1110
+ * If `dense`, will adjust vertical spacing. This is normally obtained via context from
1111
+ * FormControl.
1112
+ * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.
1113
+ */
1114
+ margin: e.oneOf(["dense", "none"]),
1115
+ /**
1116
+ * Maximum number of rows to display when multiline option is set to true.
1117
+ */
1118
+ maxRows: e.oneOfType([e.number, e.string]),
1119
+ /**
1120
+ * Minimum number of rows to display when multiline option is set to true.
1121
+ */
1122
+ minRows: e.oneOfType([e.number, e.string]),
1123
+ /**
1124
+ * If `true`, a [TextareaAutosize](https://mui.com/material-ui/react-textarea-autosize/) element is rendered.
1125
+ * @default false
1126
+ */
1127
+ multiline: e.bool,
1128
+ /**
1129
+ * Name attribute of the `input` element.
1130
+ */
1131
+ name: e.string,
1132
+ /**
1133
+ * Callback fired when the value is changed.
1134
+ *
1135
+ * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.
1136
+ * You can pull out the new value by accessing `event.target.value` (string).
1137
+ */
1138
+ onChange: e.func,
1139
+ /**
1140
+ * The short hint displayed in the `input` before the user enters a value.
1141
+ */
1142
+ placeholder: e.string,
1143
+ /**
1144
+ * It prevents the user from changing the value of the field
1145
+ * (not from interacting with the field).
1146
+ */
1147
+ readOnly: e.bool,
1148
+ /**
1149
+ * If `true`, the `input` element is required.
1150
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
1151
+ */
1152
+ required: e.bool,
1153
+ /**
1154
+ * Number of rows to display when multiline option is set to true.
1155
+ */
1156
+ rows: e.oneOfType([e.number, e.string]),
1157
+ /**
1158
+ * The extra props for the slot components.
1159
+ * You can override the existing props or add new ones.
1160
+ *
1161
+ * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.
1162
+ *
1163
+ * @default {}
1164
+ */
1165
+ slotProps: e.shape({
1166
+ input: e.object,
1167
+ root: e.object
1168
+ }),
1169
+ /**
1170
+ * The components used for each slot inside.
1171
+ *
1172
+ * This prop is an alias for the `components` prop, which will be deprecated in the future.
1173
+ *
1174
+ * @default {}
1175
+ */
1176
+ slots: e.shape({
1177
+ input: e.elementType,
1178
+ root: e.elementType
1179
+ }),
1180
+ /**
1181
+ * Start `InputAdornment` for this component.
1182
+ */
1183
+ startAdornment: e.node,
1184
+ /**
1185
+ * The system prop that allows defining system overrides as well as additional CSS styles.
1186
+ */
1187
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
1188
+ /**
1189
+ * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types).
1190
+ * @default 'text'
1191
+ */
1192
+ type: e.string,
1193
+ /**
1194
+ * The value of the `input` element, required for a controlled component.
1195
+ */
1196
+ value: e.any
1197
+ });
1198
+ He && (He.muiName = "Input");
1199
+ function ct(o) {
1200
+ return ee("MuiFilledInput", o);
1201
+ }
1202
+ const Te = {
1203
+ ...$e,
1204
+ ...Q("MuiFilledInput", ["root", "underline", "input", "adornedStart", "adornedEnd", "sizeSmall", "multiline", "hiddenLabel"])
1205
+ }, ft = (o) => {
1206
+ const {
1207
+ classes: t,
1208
+ disableUnderline: n,
1209
+ startAdornment: r,
1210
+ endAdornment: s,
1211
+ size: a,
1212
+ hiddenLabel: l,
1213
+ multiline: d
1214
+ } = o, c = {
1215
+ root: ["root", !n && "underline", r && "adornedStart", s && "adornedEnd", a === "small" && `size${_(a)}`, l && "hiddenLabel", d && "multiline"],
1216
+ input: ["input"]
1217
+ }, m = oe(c, ct, t);
1218
+ return {
1219
+ ...t,
1220
+ // forward classes to the InputBase
1221
+ ...m
1222
+ };
1223
+ }, mt = F(eo, {
1224
+ shouldForwardProp: (o) => ye(o) || o === "classes",
1225
+ name: "MuiFilledInput",
1226
+ slot: "Root",
1227
+ overridesResolver: (o, t) => {
1228
+ const {
1229
+ ownerState: n
1230
+ } = o;
1231
+ return [...Ze(o, t), !n.disableUnderline && t.underline];
1232
+ }
1233
+ })(K(({
1234
+ theme: o
1235
+ }) => {
1236
+ const t = o.palette.mode === "light", n = t ? "rgba(0, 0, 0, 0.42)" : "rgba(255, 255, 255, 0.7)", r = t ? "rgba(0, 0, 0, 0.06)" : "rgba(255, 255, 255, 0.09)", s = t ? "rgba(0, 0, 0, 0.09)" : "rgba(255, 255, 255, 0.13)", a = t ? "rgba(0, 0, 0, 0.12)" : "rgba(255, 255, 255, 0.12)";
1237
+ return {
1238
+ position: "relative",
1239
+ backgroundColor: o.vars ? o.vars.palette.FilledInput.bg : r,
1240
+ borderTopLeftRadius: (o.vars || o).shape.borderRadius,
1241
+ borderTopRightRadius: (o.vars || o).shape.borderRadius,
1242
+ transition: o.transitions.create("background-color", {
1243
+ duration: o.transitions.duration.shorter,
1244
+ easing: o.transitions.easing.easeOut
1245
+ }),
1246
+ "&:hover": {
1247
+ backgroundColor: o.vars ? o.vars.palette.FilledInput.hoverBg : s,
1248
+ // Reset on touch devices, it doesn't add specificity
1249
+ "@media (hover: none)": {
1250
+ backgroundColor: o.vars ? o.vars.palette.FilledInput.bg : r
1251
+ }
1252
+ },
1253
+ [`&.${Te.focused}`]: {
1254
+ backgroundColor: o.vars ? o.vars.palette.FilledInput.bg : r
1255
+ },
1256
+ [`&.${Te.disabled}`]: {
1257
+ backgroundColor: o.vars ? o.vars.palette.FilledInput.disabledBg : a
1258
+ },
1259
+ variants: [{
1260
+ props: ({
1261
+ ownerState: l
1262
+ }) => !l.disableUnderline,
1263
+ style: {
1264
+ "&::after": {
1265
+ left: 0,
1266
+ bottom: 0,
1267
+ content: '""',
1268
+ position: "absolute",
1269
+ right: 0,
1270
+ transform: "scaleX(0)",
1271
+ transition: o.transitions.create("transform", {
1272
+ duration: o.transitions.duration.shorter,
1273
+ easing: o.transitions.easing.easeOut
1274
+ }),
1275
+ pointerEvents: "none"
1276
+ // Transparent to the hover style.
1277
+ },
1278
+ [`&.${Te.focused}:after`]: {
1279
+ // translateX(0) is a workaround for Safari transform scale bug
1280
+ // See https://github.com/mui/material-ui/issues/31766
1281
+ transform: "scaleX(1) translateX(0)"
1282
+ },
1283
+ [`&.${Te.error}`]: {
1284
+ "&::before, &::after": {
1285
+ borderBottomColor: (o.vars || o).palette.error.main
1286
+ }
1287
+ },
1288
+ "&::before": {
1289
+ borderBottom: `1px solid ${o.vars ? `rgba(${o.vars.palette.common.onBackgroundChannel} / ${o.vars.opacity.inputUnderline})` : n}`,
1290
+ left: 0,
1291
+ bottom: 0,
1292
+ content: '"\\00a0"',
1293
+ position: "absolute",
1294
+ right: 0,
1295
+ transition: o.transitions.create("border-bottom-color", {
1296
+ duration: o.transitions.duration.shorter
1297
+ }),
1298
+ pointerEvents: "none"
1299
+ // Transparent to the hover style.
1300
+ },
1301
+ [`&:hover:not(.${Te.disabled}, .${Te.error}):before`]: {
1302
+ borderBottom: `1px solid ${(o.vars || o).palette.text.primary}`
1303
+ },
1304
+ [`&.${Te.disabled}:before`]: {
1305
+ borderBottomStyle: "dotted"
1306
+ }
1307
+ }
1308
+ }, ...Object.entries(o.palette).filter(Xe()).map(([l]) => {
1309
+ var d;
1310
+ return {
1311
+ props: {
1312
+ disableUnderline: !1,
1313
+ color: l
1314
+ },
1315
+ style: {
1316
+ "&::after": {
1317
+ borderBottom: `2px solid ${(d = (o.vars || o).palette[l]) == null ? void 0 : d.main}`
1318
+ }
1319
+ }
1320
+ };
1321
+ }), {
1322
+ props: ({
1323
+ ownerState: l
1324
+ }) => l.startAdornment,
1325
+ style: {
1326
+ paddingLeft: 12
1327
+ }
1328
+ }, {
1329
+ props: ({
1330
+ ownerState: l
1331
+ }) => l.endAdornment,
1332
+ style: {
1333
+ paddingRight: 12
1334
+ }
1335
+ }, {
1336
+ props: ({
1337
+ ownerState: l
1338
+ }) => l.multiline,
1339
+ style: {
1340
+ padding: "25px 12px 8px"
1341
+ }
1342
+ }, {
1343
+ props: ({
1344
+ ownerState: l,
1345
+ size: d
1346
+ }) => l.multiline && d === "small",
1347
+ style: {
1348
+ paddingTop: 21,
1349
+ paddingBottom: 4
1350
+ }
1351
+ }, {
1352
+ props: ({
1353
+ ownerState: l
1354
+ }) => l.multiline && l.hiddenLabel,
1355
+ style: {
1356
+ paddingTop: 16,
1357
+ paddingBottom: 17
1358
+ }
1359
+ }, {
1360
+ props: ({
1361
+ ownerState: l
1362
+ }) => l.multiline && l.hiddenLabel && l.size === "small",
1363
+ style: {
1364
+ paddingTop: 8,
1365
+ paddingBottom: 9
1366
+ }
1367
+ }]
1368
+ };
1369
+ })), bt = F(oo, {
1370
+ name: "MuiFilledInput",
1371
+ slot: "Input",
1372
+ overridesResolver: Qe
1373
+ })(K(({
1374
+ theme: o
1375
+ }) => ({
1376
+ paddingTop: 25,
1377
+ paddingRight: 12,
1378
+ paddingBottom: 8,
1379
+ paddingLeft: 12,
1380
+ ...!o.vars && {
1381
+ "&:-webkit-autofill": {
1382
+ WebkitBoxShadow: o.palette.mode === "light" ? null : "0 0 0 100px #266798 inset",
1383
+ WebkitTextFillColor: o.palette.mode === "light" ? null : "#fff",
1384
+ caretColor: o.palette.mode === "light" ? null : "#fff",
1385
+ borderTopLeftRadius: "inherit",
1386
+ borderTopRightRadius: "inherit"
1387
+ }
1388
+ },
1389
+ ...o.vars && {
1390
+ "&:-webkit-autofill": {
1391
+ borderTopLeftRadius: "inherit",
1392
+ borderTopRightRadius: "inherit"
1393
+ },
1394
+ [o.getColorSchemeSelector("dark")]: {
1395
+ "&:-webkit-autofill": {
1396
+ WebkitBoxShadow: "0 0 0 100px #266798 inset",
1397
+ WebkitTextFillColor: "#fff",
1398
+ caretColor: "#fff"
1399
+ }
1400
+ }
1401
+ },
1402
+ variants: [{
1403
+ props: {
1404
+ size: "small"
1405
+ },
1406
+ style: {
1407
+ paddingTop: 21,
1408
+ paddingBottom: 4
1409
+ }
1410
+ }, {
1411
+ props: ({
1412
+ ownerState: t
1413
+ }) => t.hiddenLabel,
1414
+ style: {
1415
+ paddingTop: 16,
1416
+ paddingBottom: 17
1417
+ }
1418
+ }, {
1419
+ props: ({
1420
+ ownerState: t
1421
+ }) => t.startAdornment,
1422
+ style: {
1423
+ paddingLeft: 0
1424
+ }
1425
+ }, {
1426
+ props: ({
1427
+ ownerState: t
1428
+ }) => t.endAdornment,
1429
+ style: {
1430
+ paddingRight: 0
1431
+ }
1432
+ }, {
1433
+ props: ({
1434
+ ownerState: t
1435
+ }) => t.hiddenLabel && t.size === "small",
1436
+ style: {
1437
+ paddingTop: 8,
1438
+ paddingBottom: 9
1439
+ }
1440
+ }, {
1441
+ props: ({
1442
+ ownerState: t
1443
+ }) => t.multiline,
1444
+ style: {
1445
+ paddingTop: 0,
1446
+ paddingBottom: 0,
1447
+ paddingLeft: 0,
1448
+ paddingRight: 0
1449
+ }
1450
+ }]
1451
+ }))), qe = /* @__PURE__ */ i.forwardRef(function(t, n) {
1452
+ const r = fe({
1453
+ props: t,
1454
+ name: "MuiFilledInput"
1455
+ }), {
1456
+ disableUnderline: s = !1,
1457
+ components: a = {},
1458
+ componentsProps: l,
1459
+ fullWidth: d = !1,
1460
+ hiddenLabel: c,
1461
+ // declare here to prevent spreading to DOM
1462
+ inputComponent: m = "input",
1463
+ multiline: b = !1,
1464
+ slotProps: y,
1465
+ slots: h = {},
1466
+ type: x = "text",
1467
+ ...C
1468
+ } = r, O = {
1469
+ ...r,
1470
+ disableUnderline: s,
1471
+ fullWidth: d,
1472
+ inputComponent: m,
1473
+ multiline: b,
1474
+ type: x
1475
+ }, f = ft(r), g = {
1476
+ root: {
1477
+ ownerState: O
1478
+ },
1479
+ input: {
1480
+ ownerState: O
1481
+ }
1482
+ }, v = y ?? l ? so(g, y ?? l) : g, p = h.root ?? a.Root ?? mt, w = h.input ?? a.Input ?? bt;
1483
+ return /* @__PURE__ */ S(to, {
1484
+ slots: {
1485
+ root: p,
1486
+ input: w
1487
+ },
1488
+ componentsProps: v,
1489
+ fullWidth: d,
1490
+ inputComponent: m,
1491
+ multiline: b,
1492
+ ref: n,
1493
+ type: x,
1494
+ ...C,
1495
+ classes: f
1496
+ });
1497
+ });
1498
+ process.env.NODE_ENV !== "production" && (qe.propTypes = {
1499
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
1500
+ // │ These PropTypes are generated from the TypeScript type definitions. │
1501
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
1502
+ // └─────────────────────────────────────────────────────────────────────┘
1503
+ /**
1504
+ * This prop helps users to fill forms faster, especially on mobile devices.
1505
+ * The name can be confusing, as it's more like an autofill.
1506
+ * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).
1507
+ */
1508
+ autoComplete: e.string,
1509
+ /**
1510
+ * If `true`, the `input` element is focused during the first mount.
1511
+ */
1512
+ autoFocus: e.bool,
1513
+ /**
1514
+ * Override or extend the styles applied to the component.
1515
+ */
1516
+ classes: e.object,
1517
+ /**
1518
+ * The color of the component.
1519
+ * It supports both default and custom theme colors, which can be added as shown in the
1520
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
1521
+ * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.
1522
+ */
1523
+ color: e.oneOfType([e.oneOf(["primary", "secondary"]), e.string]),
1524
+ /**
1525
+ * The components used for each slot inside.
1526
+ *
1527
+ * @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.
1528
+ *
1529
+ * @default {}
1530
+ */
1531
+ components: e.shape({
1532
+ Input: e.elementType,
1533
+ Root: e.elementType
1534
+ }),
1535
+ /**
1536
+ * The extra props for the slot components.
1537
+ * You can override the existing props or add new ones.
1538
+ *
1539
+ * @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.
1540
+ *
1541
+ * @default {}
1542
+ */
1543
+ componentsProps: e.shape({
1544
+ input: e.object,
1545
+ root: e.object
1546
+ }),
1547
+ /**
1548
+ * The default value. Use when the component is not controlled.
1549
+ */
1550
+ defaultValue: e.any,
1551
+ /**
1552
+ * If `true`, the component is disabled.
1553
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
1554
+ */
1555
+ disabled: e.bool,
1556
+ /**
1557
+ * If `true`, the input will not have an underline.
1558
+ * @default false
1559
+ */
1560
+ disableUnderline: e.bool,
1561
+ /**
1562
+ * End `InputAdornment` for this component.
1563
+ */
1564
+ endAdornment: e.node,
1565
+ /**
1566
+ * If `true`, the `input` will indicate an error.
1567
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
1568
+ */
1569
+ error: e.bool,
1570
+ /**
1571
+ * If `true`, the `input` will take up the full width of its container.
1572
+ * @default false
1573
+ */
1574
+ fullWidth: e.bool,
1575
+ /**
1576
+ * If `true`, the label is hidden.
1577
+ * This is used to increase density for a `FilledInput`.
1578
+ * Be sure to add `aria-label` to the `input` element.
1579
+ * @default false
1580
+ */
1581
+ hiddenLabel: e.bool,
1582
+ /**
1583
+ * The id of the `input` element.
1584
+ */
1585
+ id: e.string,
1586
+ /**
1587
+ * The component used for the `input` element.
1588
+ * Either a string to use a HTML element or a component.
1589
+ * @default 'input'
1590
+ */
1591
+ inputComponent: e.elementType,
1592
+ /**
1593
+ * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
1594
+ * @default {}
1595
+ */
1596
+ inputProps: e.object,
1597
+ /**
1598
+ * Pass a ref to the `input` element.
1599
+ */
1600
+ inputRef: Ie,
1601
+ /**
1602
+ * If `dense`, will adjust vertical spacing. This is normally obtained via context from
1603
+ * FormControl.
1604
+ * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.
1605
+ */
1606
+ margin: e.oneOf(["dense", "none"]),
1607
+ /**
1608
+ * Maximum number of rows to display when multiline option is set to true.
1609
+ */
1610
+ maxRows: e.oneOfType([e.number, e.string]),
1611
+ /**
1612
+ * Minimum number of rows to display when multiline option is set to true.
1613
+ */
1614
+ minRows: e.oneOfType([e.number, e.string]),
1615
+ /**
1616
+ * If `true`, a [TextareaAutosize](https://mui.com/material-ui/react-textarea-autosize/) element is rendered.
1617
+ * @default false
1618
+ */
1619
+ multiline: e.bool,
1620
+ /**
1621
+ * Name attribute of the `input` element.
1622
+ */
1623
+ name: e.string,
1624
+ /**
1625
+ * Callback fired when the value is changed.
1626
+ *
1627
+ * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.
1628
+ * You can pull out the new value by accessing `event.target.value` (string).
1629
+ */
1630
+ onChange: e.func,
1631
+ /**
1632
+ * The short hint displayed in the `input` before the user enters a value.
1633
+ */
1634
+ placeholder: e.string,
1635
+ /**
1636
+ * It prevents the user from changing the value of the field
1637
+ * (not from interacting with the field).
1638
+ */
1639
+ readOnly: e.bool,
1640
+ /**
1641
+ * If `true`, the `input` element is required.
1642
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
1643
+ */
1644
+ required: e.bool,
1645
+ /**
1646
+ * Number of rows to display when multiline option is set to true.
1647
+ */
1648
+ rows: e.oneOfType([e.number, e.string]),
1649
+ /**
1650
+ * The extra props for the slot components.
1651
+ * You can override the existing props or add new ones.
1652
+ *
1653
+ * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.
1654
+ *
1655
+ * @default {}
1656
+ */
1657
+ slotProps: e.shape({
1658
+ input: e.object,
1659
+ root: e.object
1660
+ }),
1661
+ /**
1662
+ * The components used for each slot inside.
1663
+ *
1664
+ * This prop is an alias for the `components` prop, which will be deprecated in the future.
1665
+ *
1666
+ * @default {}
1667
+ */
1668
+ slots: e.shape({
1669
+ input: e.elementType,
1670
+ root: e.elementType
1671
+ }),
1672
+ /**
1673
+ * Start `InputAdornment` for this component.
1674
+ */
1675
+ startAdornment: e.node,
1676
+ /**
1677
+ * The system prop that allows defining system overrides as well as additional CSS styles.
1678
+ */
1679
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
1680
+ /**
1681
+ * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types).
1682
+ * @default 'text'
1683
+ */
1684
+ type: e.string,
1685
+ /**
1686
+ * The value of the `input` element, required for a controlled component.
1687
+ */
1688
+ value: e.any
1689
+ });
1690
+ qe && (qe.muiName = "Input");
1691
+ var So;
1692
+ const gt = F("fieldset", {
1693
+ shouldForwardProp: ye
1694
+ })({
1695
+ textAlign: "left",
1696
+ position: "absolute",
1697
+ bottom: 0,
1698
+ right: 0,
1699
+ top: -5,
1700
+ left: 0,
1701
+ margin: 0,
1702
+ padding: "0 8px",
1703
+ pointerEvents: "none",
1704
+ borderRadius: "inherit",
1705
+ borderStyle: "solid",
1706
+ borderWidth: 1,
1707
+ overflow: "hidden",
1708
+ minWidth: "0%"
1709
+ }), yt = F("legend", {
1710
+ shouldForwardProp: ye
1711
+ })(K(({
1712
+ theme: o
1713
+ }) => ({
1714
+ float: "unset",
1715
+ // Fix conflict with bootstrap
1716
+ width: "auto",
1717
+ // Fix conflict with bootstrap
1718
+ overflow: "hidden",
1719
+ // Fix Horizontal scroll when label too long
1720
+ variants: [{
1721
+ props: ({
1722
+ ownerState: t
1723
+ }) => !t.withLabel,
1724
+ style: {
1725
+ padding: 0,
1726
+ lineHeight: "11px",
1727
+ // sync with `height` in `legend` styles
1728
+ transition: o.transitions.create("width", {
1729
+ duration: 150,
1730
+ easing: o.transitions.easing.easeOut
1731
+ })
1732
+ }
1733
+ }, {
1734
+ props: ({
1735
+ ownerState: t
1736
+ }) => t.withLabel,
1737
+ style: {
1738
+ display: "block",
1739
+ // Fix conflict with normalize.css and sanitize.css
1740
+ padding: 0,
1741
+ height: 11,
1742
+ // sync with `lineHeight` in `legend` styles
1743
+ fontSize: "0.75em",
1744
+ visibility: "hidden",
1745
+ maxWidth: 0.01,
1746
+ transition: o.transitions.create("max-width", {
1747
+ duration: 50,
1748
+ easing: o.transitions.easing.easeOut
1749
+ }),
1750
+ whiteSpace: "nowrap",
1751
+ "& > span": {
1752
+ paddingLeft: 5,
1753
+ paddingRight: 5,
1754
+ display: "inline-block",
1755
+ opacity: 0,
1756
+ visibility: "visible"
1757
+ }
1758
+ }
1759
+ }, {
1760
+ props: ({
1761
+ ownerState: t
1762
+ }) => t.withLabel && t.notched,
1763
+ style: {
1764
+ maxWidth: "100%",
1765
+ transition: o.transitions.create("max-width", {
1766
+ duration: 100,
1767
+ easing: o.transitions.easing.easeOut,
1768
+ delay: 50
1769
+ })
1770
+ }
1771
+ }]
1772
+ })));
1773
+ function Fo(o) {
1774
+ const {
1775
+ children: t,
1776
+ classes: n,
1777
+ className: r,
1778
+ label: s,
1779
+ notched: a,
1780
+ ...l
1781
+ } = o, d = s != null && s !== "", c = {
1782
+ ...o,
1783
+ notched: a,
1784
+ withLabel: d
1785
+ };
1786
+ return /* @__PURE__ */ S(gt, {
1787
+ "aria-hidden": !0,
1788
+ className: r,
1789
+ ownerState: c,
1790
+ ...l,
1791
+ children: /* @__PURE__ */ S(yt, {
1792
+ ownerState: c,
1793
+ children: d ? /* @__PURE__ */ S("span", {
1794
+ children: s
1795
+ }) : (
1796
+ // notranslate needed while Google Translate will not fix zero-width space issue
1797
+ So || (So = /* @__PURE__ */ S("span", {
1798
+ className: "notranslate",
1799
+ children: "​"
1800
+ }))
1801
+ )
1802
+ })
1803
+ });
1804
+ }
1805
+ process.env.NODE_ENV !== "production" && (Fo.propTypes = {
1806
+ /**
1807
+ * The content of the component.
1808
+ */
1809
+ children: e.node,
1810
+ /**
1811
+ * Override or extend the styles applied to the component.
1812
+ */
1813
+ classes: e.object,
1814
+ /**
1815
+ * @ignore
1816
+ */
1817
+ className: e.string,
1818
+ /**
1819
+ * The label.
1820
+ */
1821
+ label: e.node,
1822
+ /**
1823
+ * If `true`, the outline is notched to accommodate the label.
1824
+ */
1825
+ notched: e.bool.isRequired,
1826
+ /**
1827
+ * @ignore
1828
+ */
1829
+ style: e.object
1830
+ });
1831
+ function ht(o) {
1832
+ return ee("MuiOutlinedInput", o);
1833
+ }
1834
+ const se = {
1835
+ ...$e,
1836
+ ...Q("MuiOutlinedInput", ["root", "notchedOutline", "input"])
1837
+ }, vt = (o) => {
1838
+ const {
1839
+ classes: t
1840
+ } = o, r = oe({
1841
+ root: ["root"],
1842
+ notchedOutline: ["notchedOutline"],
1843
+ input: ["input"]
1844
+ }, ht, t);
1845
+ return {
1846
+ ...t,
1847
+ // forward classes to the InputBase
1848
+ ...r
1849
+ };
1850
+ }, St = F(eo, {
1851
+ shouldForwardProp: (o) => ye(o) || o === "classes",
1852
+ name: "MuiOutlinedInput",
1853
+ slot: "Root",
1854
+ overridesResolver: Ze
1855
+ })(K(({
1856
+ theme: o
1857
+ }) => {
1858
+ const t = o.palette.mode === "light" ? "rgba(0, 0, 0, 0.23)" : "rgba(255, 255, 255, 0.23)";
1859
+ return {
1860
+ position: "relative",
1861
+ borderRadius: (o.vars || o).shape.borderRadius,
1862
+ [`&:hover .${se.notchedOutline}`]: {
1863
+ borderColor: (o.vars || o).palette.text.primary
1864
+ },
1865
+ // Reset on touch devices, it doesn't add specificity
1866
+ "@media (hover: none)": {
1867
+ [`&:hover .${se.notchedOutline}`]: {
1868
+ borderColor: o.vars ? `rgba(${o.vars.palette.common.onBackgroundChannel} / 0.23)` : t
1869
+ }
1870
+ },
1871
+ [`&.${se.focused} .${se.notchedOutline}`]: {
1872
+ borderWidth: 2
1873
+ },
1874
+ variants: [...Object.entries(o.palette).filter(Xe()).map(([n]) => ({
1875
+ props: {
1876
+ color: n
1877
+ },
1878
+ style: {
1879
+ [`&.${se.focused} .${se.notchedOutline}`]: {
1880
+ borderColor: (o.vars || o).palette[n].main
1881
+ }
1882
+ }
1883
+ })), {
1884
+ props: {},
1885
+ // to overide the above style
1886
+ style: {
1887
+ [`&.${se.error} .${se.notchedOutline}`]: {
1888
+ borderColor: (o.vars || o).palette.error.main
1889
+ },
1890
+ [`&.${se.disabled} .${se.notchedOutline}`]: {
1891
+ borderColor: (o.vars || o).palette.action.disabled
1892
+ }
1893
+ }
1894
+ }, {
1895
+ props: ({
1896
+ ownerState: n
1897
+ }) => n.startAdornment,
1898
+ style: {
1899
+ paddingLeft: 14
1900
+ }
1901
+ }, {
1902
+ props: ({
1903
+ ownerState: n
1904
+ }) => n.endAdornment,
1905
+ style: {
1906
+ paddingRight: 14
1907
+ }
1908
+ }, {
1909
+ props: ({
1910
+ ownerState: n
1911
+ }) => n.multiline,
1912
+ style: {
1913
+ padding: "16.5px 14px"
1914
+ }
1915
+ }, {
1916
+ props: ({
1917
+ ownerState: n,
1918
+ size: r
1919
+ }) => n.multiline && r === "small",
1920
+ style: {
1921
+ padding: "8.5px 14px"
1922
+ }
1923
+ }]
1924
+ };
1925
+ })), Ct = F(Fo, {
1926
+ name: "MuiOutlinedInput",
1927
+ slot: "NotchedOutline",
1928
+ overridesResolver: (o, t) => t.notchedOutline
1929
+ })(K(({
1930
+ theme: o
1931
+ }) => {
1932
+ const t = o.palette.mode === "light" ? "rgba(0, 0, 0, 0.23)" : "rgba(255, 255, 255, 0.23)";
1933
+ return {
1934
+ borderColor: o.vars ? `rgba(${o.vars.palette.common.onBackgroundChannel} / 0.23)` : t
1935
+ };
1936
+ })), Ot = F(oo, {
1937
+ name: "MuiOutlinedInput",
1938
+ slot: "Input",
1939
+ overridesResolver: Qe
1940
+ })(K(({
1941
+ theme: o
1942
+ }) => ({
1943
+ padding: "16.5px 14px",
1944
+ ...!o.vars && {
1945
+ "&:-webkit-autofill": {
1946
+ WebkitBoxShadow: o.palette.mode === "light" ? null : "0 0 0 100px #266798 inset",
1947
+ WebkitTextFillColor: o.palette.mode === "light" ? null : "#fff",
1948
+ caretColor: o.palette.mode === "light" ? null : "#fff",
1949
+ borderRadius: "inherit"
1950
+ }
1951
+ },
1952
+ ...o.vars && {
1953
+ "&:-webkit-autofill": {
1954
+ borderRadius: "inherit"
1955
+ },
1956
+ [o.getColorSchemeSelector("dark")]: {
1957
+ "&:-webkit-autofill": {
1958
+ WebkitBoxShadow: "0 0 0 100px #266798 inset",
1959
+ WebkitTextFillColor: "#fff",
1960
+ caretColor: "#fff"
1961
+ }
1962
+ }
1963
+ },
1964
+ variants: [{
1965
+ props: {
1966
+ size: "small"
1967
+ },
1968
+ style: {
1969
+ padding: "8.5px 14px"
1970
+ }
1971
+ }, {
1972
+ props: ({
1973
+ ownerState: t
1974
+ }) => t.multiline,
1975
+ style: {
1976
+ padding: 0
1977
+ }
1978
+ }, {
1979
+ props: ({
1980
+ ownerState: t
1981
+ }) => t.startAdornment,
1982
+ style: {
1983
+ paddingLeft: 0
1984
+ }
1985
+ }, {
1986
+ props: ({
1987
+ ownerState: t
1988
+ }) => t.endAdornment,
1989
+ style: {
1990
+ paddingRight: 0
1991
+ }
1992
+ }]
1993
+ }))), _e = /* @__PURE__ */ i.forwardRef(function(t, n) {
1994
+ var r;
1995
+ const s = fe({
1996
+ props: t,
1997
+ name: "MuiOutlinedInput"
1998
+ }), {
1999
+ components: a = {},
2000
+ fullWidth: l = !1,
2001
+ inputComponent: d = "input",
2002
+ label: c,
2003
+ multiline: m = !1,
2004
+ notched: b,
2005
+ slots: y = {},
2006
+ type: h = "text",
2007
+ ...x
2008
+ } = s, C = vt(s), O = Me(), f = ke({
2009
+ props: s,
2010
+ muiFormControl: O,
2011
+ states: ["color", "disabled", "error", "focused", "hiddenLabel", "size", "required"]
2012
+ }), g = {
2013
+ ...s,
2014
+ color: f.color || "primary",
2015
+ disabled: f.disabled,
2016
+ error: f.error,
2017
+ focused: f.focused,
2018
+ formControl: O,
2019
+ fullWidth: l,
2020
+ hiddenLabel: f.hiddenLabel,
2021
+ multiline: m,
2022
+ size: f.size,
2023
+ type: h
2024
+ }, v = y.root ?? a.Root ?? St, p = y.input ?? a.Input ?? Ot;
2025
+ return /* @__PURE__ */ S(to, {
2026
+ slots: {
2027
+ root: v,
2028
+ input: p
2029
+ },
2030
+ renderSuffix: (w) => /* @__PURE__ */ S(Ct, {
2031
+ ownerState: g,
2032
+ className: C.notchedOutline,
2033
+ label: c != null && c !== "" && f.required ? r || (r = /* @__PURE__ */ ce(i.Fragment, {
2034
+ children: [c, " ", "*"]
2035
+ })) : c,
2036
+ notched: typeof b < "u" ? b : !!(w.startAdornment || w.filled || w.focused)
2037
+ }),
2038
+ fullWidth: l,
2039
+ inputComponent: d,
2040
+ multiline: m,
2041
+ ref: n,
2042
+ type: h,
2043
+ ...x,
2044
+ classes: {
2045
+ ...C,
2046
+ notchedOutline: null
2047
+ }
2048
+ });
2049
+ });
2050
+ process.env.NODE_ENV !== "production" && (_e.propTypes = {
2051
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
2052
+ // │ These PropTypes are generated from the TypeScript type definitions. │
2053
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
2054
+ // └─────────────────────────────────────────────────────────────────────┘
2055
+ /**
2056
+ * This prop helps users to fill forms faster, especially on mobile devices.
2057
+ * The name can be confusing, as it's more like an autofill.
2058
+ * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).
2059
+ */
2060
+ autoComplete: e.string,
2061
+ /**
2062
+ * If `true`, the `input` element is focused during the first mount.
2063
+ */
2064
+ autoFocus: e.bool,
2065
+ /**
2066
+ * Override or extend the styles applied to the component.
2067
+ */
2068
+ classes: e.object,
2069
+ /**
2070
+ * The color of the component.
2071
+ * It supports both default and custom theme colors, which can be added as shown in the
2072
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
2073
+ * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.
2074
+ */
2075
+ color: e.oneOfType([e.oneOf(["primary", "secondary"]), e.string]),
2076
+ /**
2077
+ * The components used for each slot inside.
2078
+ *
2079
+ * @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.
2080
+ *
2081
+ * @default {}
2082
+ */
2083
+ components: e.shape({
2084
+ Input: e.elementType,
2085
+ Root: e.elementType
2086
+ }),
2087
+ /**
2088
+ * The default value. Use when the component is not controlled.
2089
+ */
2090
+ defaultValue: e.any,
2091
+ /**
2092
+ * If `true`, the component is disabled.
2093
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
2094
+ */
2095
+ disabled: e.bool,
2096
+ /**
2097
+ * End `InputAdornment` for this component.
2098
+ */
2099
+ endAdornment: e.node,
2100
+ /**
2101
+ * If `true`, the `input` will indicate an error.
2102
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
2103
+ */
2104
+ error: e.bool,
2105
+ /**
2106
+ * If `true`, the `input` will take up the full width of its container.
2107
+ * @default false
2108
+ */
2109
+ fullWidth: e.bool,
2110
+ /**
2111
+ * The id of the `input` element.
2112
+ */
2113
+ id: e.string,
2114
+ /**
2115
+ * The component used for the `input` element.
2116
+ * Either a string to use a HTML element or a component.
2117
+ * @default 'input'
2118
+ */
2119
+ inputComponent: e.elementType,
2120
+ /**
2121
+ * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
2122
+ * @default {}
2123
+ */
2124
+ inputProps: e.object,
2125
+ /**
2126
+ * Pass a ref to the `input` element.
2127
+ */
2128
+ inputRef: Ie,
2129
+ /**
2130
+ * The label of the `input`. It is only used for layout. The actual labelling
2131
+ * is handled by `InputLabel`.
2132
+ */
2133
+ label: e.node,
2134
+ /**
2135
+ * If `dense`, will adjust vertical spacing. This is normally obtained via context from
2136
+ * FormControl.
2137
+ * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.
2138
+ */
2139
+ margin: e.oneOf(["dense", "none"]),
2140
+ /**
2141
+ * Maximum number of rows to display when multiline option is set to true.
2142
+ */
2143
+ maxRows: e.oneOfType([e.number, e.string]),
2144
+ /**
2145
+ * Minimum number of rows to display when multiline option is set to true.
2146
+ */
2147
+ minRows: e.oneOfType([e.number, e.string]),
2148
+ /**
2149
+ * If `true`, a [TextareaAutosize](https://mui.com/material-ui/react-textarea-autosize/) element is rendered.
2150
+ * @default false
2151
+ */
2152
+ multiline: e.bool,
2153
+ /**
2154
+ * Name attribute of the `input` element.
2155
+ */
2156
+ name: e.string,
2157
+ /**
2158
+ * If `true`, the outline is notched to accommodate the label.
2159
+ */
2160
+ notched: e.bool,
2161
+ /**
2162
+ * Callback fired when the value is changed.
2163
+ *
2164
+ * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.
2165
+ * You can pull out the new value by accessing `event.target.value` (string).
2166
+ */
2167
+ onChange: e.func,
2168
+ /**
2169
+ * The short hint displayed in the `input` before the user enters a value.
2170
+ */
2171
+ placeholder: e.string,
2172
+ /**
2173
+ * It prevents the user from changing the value of the field
2174
+ * (not from interacting with the field).
2175
+ */
2176
+ readOnly: e.bool,
2177
+ /**
2178
+ * If `true`, the `input` element is required.
2179
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
2180
+ */
2181
+ required: e.bool,
2182
+ /**
2183
+ * Number of rows to display when multiline option is set to true.
2184
+ */
2185
+ rows: e.oneOfType([e.number, e.string]),
2186
+ /**
2187
+ * The components used for each slot inside.
2188
+ *
2189
+ * This prop is an alias for the `components` prop, which will be deprecated in the future.
2190
+ *
2191
+ * @default {}
2192
+ */
2193
+ slots: e.shape({
2194
+ input: e.elementType,
2195
+ root: e.elementType
2196
+ }),
2197
+ /**
2198
+ * Start `InputAdornment` for this component.
2199
+ */
2200
+ startAdornment: e.node,
2201
+ /**
2202
+ * The system prop that allows defining system overrides as well as additional CSS styles.
2203
+ */
2204
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
2205
+ /**
2206
+ * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types).
2207
+ * @default 'text'
2208
+ */
2209
+ type: e.string,
2210
+ /**
2211
+ * The value of the `input` element, required for a controlled component.
2212
+ */
2213
+ value: e.any
2214
+ });
2215
+ _e && (_e.muiName = "Input");
2216
+ function xt(o) {
2217
+ return ee("MuiFormLabel", o);
2218
+ }
2219
+ const Ve = Q("MuiFormLabel", ["root", "colorSecondary", "focused", "disabled", "error", "filled", "required", "asterisk"]), wt = (o) => {
2220
+ const {
2221
+ classes: t,
2222
+ color: n,
2223
+ focused: r,
2224
+ disabled: s,
2225
+ error: a,
2226
+ filled: l,
2227
+ required: d
2228
+ } = o, c = {
2229
+ root: ["root", `color${_(n)}`, s && "disabled", a && "error", l && "filled", r && "focused", d && "required"],
2230
+ asterisk: ["asterisk", a && "error"]
2231
+ };
2232
+ return oe(c, xt, t);
2233
+ }, Tt = F("label", {
2234
+ name: "MuiFormLabel",
2235
+ slot: "Root",
2236
+ overridesResolver: ({
2237
+ ownerState: o
2238
+ }, t) => ({
2239
+ ...t.root,
2240
+ ...o.color === "secondary" && t.colorSecondary,
2241
+ ...o.filled && t.filled
2242
+ })
2243
+ })(K(({
2244
+ theme: o
2245
+ }) => ({
2246
+ color: (o.vars || o).palette.text.secondary,
2247
+ ...o.typography.body1,
2248
+ lineHeight: "1.4375em",
2249
+ padding: 0,
2250
+ position: "relative",
2251
+ variants: [...Object.entries(o.palette).filter(Xe()).map(([t]) => ({
2252
+ props: {
2253
+ color: t
2254
+ },
2255
+ style: {
2256
+ [`&.${Ve.focused}`]: {
2257
+ color: (o.vars || o).palette[t].main
2258
+ }
2259
+ }
2260
+ })), {
2261
+ props: {},
2262
+ style: {
2263
+ [`&.${Ve.disabled}`]: {
2264
+ color: (o.vars || o).palette.text.disabled
2265
+ },
2266
+ [`&.${Ve.error}`]: {
2267
+ color: (o.vars || o).palette.error.main
2268
+ }
2269
+ }
2270
+ }]
2271
+ }))), It = F("span", {
2272
+ name: "MuiFormLabel",
2273
+ slot: "Asterisk",
2274
+ overridesResolver: (o, t) => t.asterisk
2275
+ })(K(({
2276
+ theme: o
2277
+ }) => ({
2278
+ [`&.${Ve.error}`]: {
2279
+ color: (o.vars || o).palette.error.main
2280
+ }
2281
+ }))), No = /* @__PURE__ */ i.forwardRef(function(t, n) {
2282
+ const r = fe({
2283
+ props: t,
2284
+ name: "MuiFormLabel"
2285
+ }), {
2286
+ children: s,
2287
+ className: a,
2288
+ color: l,
2289
+ component: d = "label",
2290
+ disabled: c,
2291
+ error: m,
2292
+ filled: b,
2293
+ focused: y,
2294
+ required: h,
2295
+ ...x
2296
+ } = r, C = Me(), O = ke({
2297
+ props: r,
2298
+ muiFormControl: C,
2299
+ states: ["color", "required", "focused", "disabled", "error", "filled"]
2300
+ }), f = {
2301
+ ...r,
2302
+ color: O.color || "primary",
2303
+ component: d,
2304
+ disabled: O.disabled,
2305
+ error: O.error,
2306
+ filled: O.filled,
2307
+ focused: O.focused,
2308
+ required: O.required
2309
+ }, g = wt(f);
2310
+ return /* @__PURE__ */ ce(Tt, {
2311
+ as: d,
2312
+ ownerState: f,
2313
+ className: le(g.root, a),
2314
+ ref: n,
2315
+ ...x,
2316
+ children: [s, O.required && /* @__PURE__ */ ce(It, {
2317
+ ownerState: f,
2318
+ "aria-hidden": !0,
2319
+ className: g.asterisk,
2320
+ children: [" ", "*"]
2321
+ })]
2322
+ });
2323
+ });
2324
+ process.env.NODE_ENV !== "production" && (No.propTypes = {
2325
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
2326
+ // │ These PropTypes are generated from the TypeScript type definitions. │
2327
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
2328
+ // └─────────────────────────────────────────────────────────────────────┘
2329
+ /**
2330
+ * The content of the component.
2331
+ */
2332
+ children: e.node,
2333
+ /**
2334
+ * Override or extend the styles applied to the component.
2335
+ */
2336
+ classes: e.object,
2337
+ /**
2338
+ * @ignore
2339
+ */
2340
+ className: e.string,
2341
+ /**
2342
+ * The color of the component.
2343
+ * It supports both default and custom theme colors, which can be added as shown in the
2344
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
2345
+ */
2346
+ color: e.oneOfType([e.oneOf(["error", "info", "primary", "secondary", "success", "warning"]), e.string]),
2347
+ /**
2348
+ * The component used for the root node.
2349
+ * Either a string to use a HTML element or a component.
2350
+ */
2351
+ component: e.elementType,
2352
+ /**
2353
+ * If `true`, the label should be displayed in a disabled state.
2354
+ */
2355
+ disabled: e.bool,
2356
+ /**
2357
+ * If `true`, the label is displayed in an error state.
2358
+ */
2359
+ error: e.bool,
2360
+ /**
2361
+ * If `true`, the label should use filled classes key.
2362
+ */
2363
+ filled: e.bool,
2364
+ /**
2365
+ * If `true`, the input of this label is focused (used by `FormGroup` components).
2366
+ */
2367
+ focused: e.bool,
2368
+ /**
2369
+ * If `true`, the label will indicate that the `input` is required.
2370
+ */
2371
+ required: e.bool,
2372
+ /**
2373
+ * The system prop that allows defining system overrides as well as additional CSS styles.
2374
+ */
2375
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object])
2376
+ });
2377
+ function Rt(o) {
2378
+ return ee("MuiInputLabel", o);
2379
+ }
2380
+ Q("MuiInputLabel", ["root", "focused", "disabled", "error", "required", "asterisk", "formControl", "sizeSmall", "shrink", "animated", "standard", "filled", "outlined"]);
2381
+ const Ft = (o) => {
2382
+ const {
2383
+ classes: t,
2384
+ formControl: n,
2385
+ size: r,
2386
+ shrink: s,
2387
+ disableAnimation: a,
2388
+ variant: l,
2389
+ required: d
2390
+ } = o, c = {
2391
+ root: ["root", n && "formControl", !a && "animated", s && "shrink", r && r !== "normal" && `size${_(r)}`, l],
2392
+ asterisk: [d && "asterisk"]
2393
+ }, m = oe(c, Rt, t);
2394
+ return {
2395
+ ...t,
2396
+ // forward the focused, disabled, etc. classes to the FormLabel
2397
+ ...m
2398
+ };
2399
+ }, Nt = F(No, {
2400
+ shouldForwardProp: (o) => ye(o) || o === "classes",
2401
+ name: "MuiInputLabel",
2402
+ slot: "Root",
2403
+ overridesResolver: (o, t) => {
2404
+ const {
2405
+ ownerState: n
2406
+ } = o;
2407
+ return [{
2408
+ [`& .${Ve.asterisk}`]: t.asterisk
2409
+ }, t.root, n.formControl && t.formControl, n.size === "small" && t.sizeSmall, n.shrink && t.shrink, !n.disableAnimation && t.animated, n.focused && t.focused, t[n.variant]];
2410
+ }
2411
+ })(K(({
2412
+ theme: o
2413
+ }) => ({
2414
+ display: "block",
2415
+ transformOrigin: "top left",
2416
+ whiteSpace: "nowrap",
2417
+ overflow: "hidden",
2418
+ textOverflow: "ellipsis",
2419
+ maxWidth: "100%",
2420
+ variants: [{
2421
+ props: ({
2422
+ ownerState: t
2423
+ }) => t.formControl,
2424
+ style: {
2425
+ position: "absolute",
2426
+ left: 0,
2427
+ top: 0,
2428
+ // slight alteration to spec spacing to match visual spec result
2429
+ transform: "translate(0, 20px) scale(1)"
2430
+ }
2431
+ }, {
2432
+ props: {
2433
+ size: "small"
2434
+ },
2435
+ style: {
2436
+ // Compensation for the `Input.inputSizeSmall` style.
2437
+ transform: "translate(0, 17px) scale(1)"
2438
+ }
2439
+ }, {
2440
+ props: ({
2441
+ ownerState: t
2442
+ }) => t.shrink,
2443
+ style: {
2444
+ transform: "translate(0, -1.5px) scale(0.75)",
2445
+ transformOrigin: "top left",
2446
+ maxWidth: "133%"
2447
+ }
2448
+ }, {
2449
+ props: ({
2450
+ ownerState: t
2451
+ }) => !t.disableAnimation,
2452
+ style: {
2453
+ transition: o.transitions.create(["color", "transform", "max-width"], {
2454
+ duration: o.transitions.duration.shorter,
2455
+ easing: o.transitions.easing.easeOut
2456
+ })
2457
+ }
2458
+ }, {
2459
+ props: {
2460
+ variant: "filled"
2461
+ },
2462
+ style: {
2463
+ // Chrome's autofill feature gives the input field a yellow background.
2464
+ // Since the input field is behind the label in the HTML tree,
2465
+ // the input field is drawn last and hides the label with an opaque background color.
2466
+ // zIndex: 1 will raise the label above opaque background-colors of input.
2467
+ zIndex: 1,
2468
+ pointerEvents: "none",
2469
+ transform: "translate(12px, 16px) scale(1)",
2470
+ maxWidth: "calc(100% - 24px)"
2471
+ }
2472
+ }, {
2473
+ props: {
2474
+ variant: "filled",
2475
+ size: "small"
2476
+ },
2477
+ style: {
2478
+ transform: "translate(12px, 13px) scale(1)"
2479
+ }
2480
+ }, {
2481
+ props: ({
2482
+ variant: t,
2483
+ ownerState: n
2484
+ }) => t === "filled" && n.shrink,
2485
+ style: {
2486
+ userSelect: "none",
2487
+ pointerEvents: "auto",
2488
+ transform: "translate(12px, 7px) scale(0.75)",
2489
+ maxWidth: "calc(133% - 24px)"
2490
+ }
2491
+ }, {
2492
+ props: ({
2493
+ variant: t,
2494
+ ownerState: n,
2495
+ size: r
2496
+ }) => t === "filled" && n.shrink && r === "small",
2497
+ style: {
2498
+ transform: "translate(12px, 4px) scale(0.75)"
2499
+ }
2500
+ }, {
2501
+ props: {
2502
+ variant: "outlined"
2503
+ },
2504
+ style: {
2505
+ // see comment above on filled.zIndex
2506
+ zIndex: 1,
2507
+ pointerEvents: "none",
2508
+ transform: "translate(14px, 16px) scale(1)",
2509
+ maxWidth: "calc(100% - 24px)"
2510
+ }
2511
+ }, {
2512
+ props: {
2513
+ variant: "outlined",
2514
+ size: "small"
2515
+ },
2516
+ style: {
2517
+ transform: "translate(14px, 9px) scale(1)"
2518
+ }
2519
+ }, {
2520
+ props: ({
2521
+ variant: t,
2522
+ ownerState: n
2523
+ }) => t === "outlined" && n.shrink,
2524
+ style: {
2525
+ userSelect: "none",
2526
+ pointerEvents: "auto",
2527
+ // Theoretically, we should have (8+5)*2/0.75 = 34px
2528
+ // but it feels a better when it bleeds a bit on the left, so 32px.
2529
+ maxWidth: "calc(133% - 32px)",
2530
+ transform: "translate(14px, -9px) scale(0.75)"
2531
+ }
2532
+ }]
2533
+ }))), Eo = /* @__PURE__ */ i.forwardRef(function(t, n) {
2534
+ const r = fe({
2535
+ name: "MuiInputLabel",
2536
+ props: t
2537
+ }), {
2538
+ disableAnimation: s = !1,
2539
+ margin: a,
2540
+ shrink: l,
2541
+ variant: d,
2542
+ className: c,
2543
+ ...m
2544
+ } = r, b = Me();
2545
+ let y = l;
2546
+ typeof y > "u" && b && (y = b.filled || b.focused || b.adornedStart);
2547
+ const h = ke({
2548
+ props: r,
2549
+ muiFormControl: b,
2550
+ states: ["size", "variant", "required", "focused"]
2551
+ }), x = {
2552
+ ...r,
2553
+ disableAnimation: s,
2554
+ formControl: b,
2555
+ shrink: y,
2556
+ size: h.size,
2557
+ variant: h.variant,
2558
+ required: h.required,
2559
+ focused: h.focused
2560
+ }, C = Ft(x);
2561
+ return /* @__PURE__ */ S(Nt, {
2562
+ "data-shrink": y,
2563
+ ref: n,
2564
+ className: le(C.root, c),
2565
+ ...m,
2566
+ ownerState: x,
2567
+ classes: C
2568
+ });
2569
+ });
2570
+ process.env.NODE_ENV !== "production" && (Eo.propTypes = {
2571
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
2572
+ // │ These PropTypes are generated from the TypeScript type definitions. │
2573
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
2574
+ // └─────────────────────────────────────────────────────────────────────┘
2575
+ /**
2576
+ * The content of the component.
2577
+ */
2578
+ children: e.node,
2579
+ /**
2580
+ * Override or extend the styles applied to the component.
2581
+ */
2582
+ classes: e.object,
2583
+ /**
2584
+ * @ignore
2585
+ */
2586
+ className: e.string,
2587
+ /**
2588
+ * The color of the component.
2589
+ * It supports both default and custom theme colors, which can be added as shown in the
2590
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
2591
+ */
2592
+ color: e.oneOfType([e.oneOf(["error", "info", "primary", "secondary", "success", "warning"]), e.string]),
2593
+ /**
2594
+ * If `true`, the transition animation is disabled.
2595
+ * @default false
2596
+ */
2597
+ disableAnimation: e.bool,
2598
+ /**
2599
+ * If `true`, the component is disabled.
2600
+ */
2601
+ disabled: e.bool,
2602
+ /**
2603
+ * If `true`, the label is displayed in an error state.
2604
+ */
2605
+ error: e.bool,
2606
+ /**
2607
+ * If `true`, the `input` of this label is focused.
2608
+ */
2609
+ focused: e.bool,
2610
+ /**
2611
+ * If `dense`, will adjust vertical spacing. This is normally obtained via context from
2612
+ * FormControl.
2613
+ */
2614
+ margin: e.oneOf(["dense"]),
2615
+ /**
2616
+ * if `true`, the label will indicate that the `input` is required.
2617
+ */
2618
+ required: e.bool,
2619
+ /**
2620
+ * If `true`, the label is shrunk.
2621
+ */
2622
+ shrink: e.bool,
2623
+ /**
2624
+ * The size of the component.
2625
+ * @default 'normal'
2626
+ */
2627
+ size: e.oneOfType([e.oneOf(["normal", "small"]), e.string]),
2628
+ /**
2629
+ * The system prop that allows defining system overrides as well as additional CSS styles.
2630
+ */
2631
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
2632
+ /**
2633
+ * The variant to use.
2634
+ */
2635
+ variant: e.oneOf(["filled", "outlined", "standard"])
2636
+ });
2637
+ function Et(o) {
2638
+ return ee("MuiFormControl", o);
2639
+ }
2640
+ Q("MuiFormControl", ["root", "marginNone", "marginNormal", "marginDense", "fullWidth", "disabled"]);
2641
+ const Pt = (o) => {
2642
+ const {
2643
+ classes: t,
2644
+ margin: n,
2645
+ fullWidth: r
2646
+ } = o, s = {
2647
+ root: ["root", n !== "none" && `margin${_(n)}`, r && "fullWidth"]
2648
+ };
2649
+ return oe(s, Et, t);
2650
+ }, $t = F("div", {
2651
+ name: "MuiFormControl",
2652
+ slot: "Root",
2653
+ overridesResolver: ({
2654
+ ownerState: o
2655
+ }, t) => ({
2656
+ ...t.root,
2657
+ ...t[`margin${_(o.margin)}`],
2658
+ ...o.fullWidth && t.fullWidth
2659
+ })
2660
+ })({
2661
+ display: "inline-flex",
2662
+ flexDirection: "column",
2663
+ position: "relative",
2664
+ // Reset fieldset default style.
2665
+ minWidth: 0,
2666
+ padding: 0,
2667
+ margin: 0,
2668
+ border: 0,
2669
+ verticalAlign: "top",
2670
+ // Fix alignment issue on Safari.
2671
+ variants: [{
2672
+ props: {
2673
+ margin: "normal"
2674
+ },
2675
+ style: {
2676
+ marginTop: 16,
2677
+ marginBottom: 8
2678
+ }
2679
+ }, {
2680
+ props: {
2681
+ margin: "dense"
2682
+ },
2683
+ style: {
2684
+ marginTop: 8,
2685
+ marginBottom: 4
2686
+ }
2687
+ }, {
2688
+ props: {
2689
+ fullWidth: !0
2690
+ },
2691
+ style: {
2692
+ width: "100%"
2693
+ }
2694
+ }]
2695
+ }), Po = /* @__PURE__ */ i.forwardRef(function(t, n) {
2696
+ const r = fe({
2697
+ props: t,
2698
+ name: "MuiFormControl"
2699
+ }), {
2700
+ children: s,
2701
+ className: a,
2702
+ color: l = "primary",
2703
+ component: d = "div",
2704
+ disabled: c = !1,
2705
+ error: m = !1,
2706
+ focused: b,
2707
+ fullWidth: y = !1,
2708
+ hiddenLabel: h = !1,
2709
+ margin: x = "none",
2710
+ required: C = !1,
2711
+ size: O = "medium",
2712
+ variant: f = "outlined",
2713
+ ...g
2714
+ } = r, v = {
2715
+ ...r,
2716
+ color: l,
2717
+ component: d,
2718
+ disabled: c,
2719
+ error: m,
2720
+ fullWidth: y,
2721
+ hiddenLabel: h,
2722
+ margin: x,
2723
+ required: C,
2724
+ size: O,
2725
+ variant: f
2726
+ }, p = Pt(v), [w, A] = i.useState(() => {
2727
+ let V = !1;
2728
+ return s && i.Children.forEach(s, ($) => {
2729
+ if (!no($, ["Input", "Select"]))
2730
+ return;
2731
+ const Y = no($, ["Select"]) ? $.props.input : $;
2732
+ Y && st(Y.props) && (V = !0);
2733
+ }), V;
2734
+ }), [L, k] = i.useState(() => {
2735
+ let V = !1;
2736
+ return s && i.Children.forEach(s, ($) => {
2737
+ no($, ["Input", "Select"]) && (Ge($.props, !0) || Ge($.props.inputProps, !0)) && (V = !0);
2738
+ }), V;
2739
+ }), [D, B] = i.useState(!1);
2740
+ c && D && B(!1);
2741
+ const E = b !== void 0 && !c ? b : D;
2742
+ let U;
2743
+ const j = i.useRef(!1);
2744
+ process.env.NODE_ENV !== "production" && (U = () => (j.current && console.error(["MUI: There are multiple `InputBase` components inside a FormControl.", "This creates visual inconsistencies, only use one `InputBase`."].join(`
2745
+ `)), j.current = !0, () => {
2746
+ j.current = !1;
2747
+ }));
2748
+ const W = i.useMemo(() => ({
2749
+ adornedStart: w,
2750
+ setAdornedStart: A,
2751
+ color: l,
2752
+ disabled: c,
2753
+ error: m,
2754
+ filled: L,
2755
+ focused: E,
2756
+ fullWidth: y,
2757
+ hiddenLabel: h,
2758
+ size: O,
2759
+ onBlur: () => {
2760
+ B(!1);
2761
+ },
2762
+ onEmpty: () => {
2763
+ k(!1);
2764
+ },
2765
+ onFilled: () => {
2766
+ k(!0);
2767
+ },
2768
+ onFocus: () => {
2769
+ B(!0);
2770
+ },
2771
+ registerEffect: U,
2772
+ required: C,
2773
+ variant: f
2774
+ }), [w, l, c, m, L, E, y, h, U, C, O, f]);
2775
+ return /* @__PURE__ */ S(Je.Provider, {
2776
+ value: W,
2777
+ children: /* @__PURE__ */ S($t, {
2778
+ as: d,
2779
+ ownerState: v,
2780
+ className: le(p.root, a),
2781
+ ref: n,
2782
+ ...g,
2783
+ children: s
2784
+ })
2785
+ });
2786
+ });
2787
+ process.env.NODE_ENV !== "production" && (Po.propTypes = {
2788
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
2789
+ // │ These PropTypes are generated from the TypeScript type definitions. │
2790
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
2791
+ // └─────────────────────────────────────────────────────────────────────┘
2792
+ /**
2793
+ * The content of the component.
2794
+ */
2795
+ children: e.node,
2796
+ /**
2797
+ * Override or extend the styles applied to the component.
2798
+ */
2799
+ classes: e.object,
2800
+ /**
2801
+ * @ignore
2802
+ */
2803
+ className: e.string,
2804
+ /**
2805
+ * The color of the component.
2806
+ * It supports both default and custom theme colors, which can be added as shown in the
2807
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
2808
+ * @default 'primary'
2809
+ */
2810
+ color: e.oneOfType([e.oneOf(["primary", "secondary", "error", "info", "success", "warning"]), e.string]),
2811
+ /**
2812
+ * The component used for the root node.
2813
+ * Either a string to use a HTML element or a component.
2814
+ */
2815
+ component: e.elementType,
2816
+ /**
2817
+ * If `true`, the label, input and helper text should be displayed in a disabled state.
2818
+ * @default false
2819
+ */
2820
+ disabled: e.bool,
2821
+ /**
2822
+ * If `true`, the label is displayed in an error state.
2823
+ * @default false
2824
+ */
2825
+ error: e.bool,
2826
+ /**
2827
+ * If `true`, the component is displayed in focused state.
2828
+ */
2829
+ focused: e.bool,
2830
+ /**
2831
+ * If `true`, the component will take up the full width of its container.
2832
+ * @default false
2833
+ */
2834
+ fullWidth: e.bool,
2835
+ /**
2836
+ * If `true`, the label is hidden.
2837
+ * This is used to increase density for a `FilledInput`.
2838
+ * Be sure to add `aria-label` to the `input` element.
2839
+ * @default false
2840
+ */
2841
+ hiddenLabel: e.bool,
2842
+ /**
2843
+ * If `dense` or `normal`, will adjust vertical spacing of this and contained components.
2844
+ * @default 'none'
2845
+ */
2846
+ margin: e.oneOf(["dense", "none", "normal"]),
2847
+ /**
2848
+ * If `true`, the label will indicate that the `input` is required.
2849
+ * @default false
2850
+ */
2851
+ required: e.bool,
2852
+ /**
2853
+ * The size of the component.
2854
+ * @default 'medium'
2855
+ */
2856
+ size: e.oneOfType([e.oneOf(["medium", "small"]), e.string]),
2857
+ /**
2858
+ * The system prop that allows defining system overrides as well as additional CSS styles.
2859
+ */
2860
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
2861
+ /**
2862
+ * The variant to use.
2863
+ * @default 'outlined'
2864
+ */
2865
+ variant: e.oneOf(["filled", "outlined", "standard"])
2866
+ });
2867
+ function kt(o) {
2868
+ return ee("MuiFormHelperText", o);
2869
+ }
2870
+ const Co = Q("MuiFormHelperText", ["root", "error", "disabled", "sizeSmall", "sizeMedium", "contained", "focused", "filled", "required"]);
2871
+ var Oo;
2872
+ const Mt = (o) => {
2873
+ const {
2874
+ classes: t,
2875
+ contained: n,
2876
+ size: r,
2877
+ disabled: s,
2878
+ error: a,
2879
+ filled: l,
2880
+ focused: d,
2881
+ required: c
2882
+ } = o, m = {
2883
+ root: ["root", s && "disabled", a && "error", r && `size${_(r)}`, n && "contained", d && "focused", l && "filled", c && "required"]
2884
+ };
2885
+ return oe(m, kt, t);
2886
+ }, Lt = F("p", {
2887
+ name: "MuiFormHelperText",
2888
+ slot: "Root",
2889
+ overridesResolver: (o, t) => {
2890
+ const {
2891
+ ownerState: n
2892
+ } = o;
2893
+ return [t.root, n.size && t[`size${_(n.size)}`], n.contained && t.contained, n.filled && t.filled];
2894
+ }
2895
+ })(K(({
2896
+ theme: o
2897
+ }) => ({
2898
+ color: (o.vars || o).palette.text.secondary,
2899
+ ...o.typography.caption,
2900
+ textAlign: "left",
2901
+ marginTop: 3,
2902
+ marginRight: 0,
2903
+ marginBottom: 0,
2904
+ marginLeft: 0,
2905
+ [`&.${Co.disabled}`]: {
2906
+ color: (o.vars || o).palette.text.disabled
2907
+ },
2908
+ [`&.${Co.error}`]: {
2909
+ color: (o.vars || o).palette.error.main
2910
+ },
2911
+ variants: [{
2912
+ props: {
2913
+ size: "small"
2914
+ },
2915
+ style: {
2916
+ marginTop: 4
2917
+ }
2918
+ }, {
2919
+ props: ({
2920
+ ownerState: t
2921
+ }) => t.contained,
2922
+ style: {
2923
+ marginLeft: 14,
2924
+ marginRight: 14
2925
+ }
2926
+ }]
2927
+ }))), $o = /* @__PURE__ */ i.forwardRef(function(t, n) {
2928
+ const r = fe({
2929
+ props: t,
2930
+ name: "MuiFormHelperText"
2931
+ }), {
2932
+ children: s,
2933
+ className: a,
2934
+ component: l = "p",
2935
+ disabled: d,
2936
+ error: c,
2937
+ filled: m,
2938
+ focused: b,
2939
+ margin: y,
2940
+ required: h,
2941
+ variant: x,
2942
+ ...C
2943
+ } = r, O = Me(), f = ke({
2944
+ props: r,
2945
+ muiFormControl: O,
2946
+ states: ["variant", "size", "disabled", "error", "filled", "focused", "required"]
2947
+ }), g = {
2948
+ ...r,
2949
+ component: l,
2950
+ contained: f.variant === "filled" || f.variant === "outlined",
2951
+ variant: f.variant,
2952
+ size: f.size,
2953
+ disabled: f.disabled,
2954
+ error: f.error,
2955
+ filled: f.filled,
2956
+ focused: f.focused,
2957
+ required: f.required
2958
+ };
2959
+ delete g.ownerState;
2960
+ const v = Mt(g);
2961
+ return /* @__PURE__ */ S(Lt, {
2962
+ as: l,
2963
+ className: le(v.root, a),
2964
+ ref: n,
2965
+ ...C,
2966
+ ownerState: g,
2967
+ children: s === " " ? (
2968
+ // notranslate needed while Google Translate will not fix zero-width space issue
2969
+ Oo || (Oo = /* @__PURE__ */ S("span", {
2970
+ className: "notranslate",
2971
+ children: "​"
2972
+ }))
2973
+ ) : s
2974
+ });
2975
+ });
2976
+ process.env.NODE_ENV !== "production" && ($o.propTypes = {
2977
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
2978
+ // │ These PropTypes are generated from the TypeScript type definitions. │
2979
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
2980
+ // └─────────────────────────────────────────────────────────────────────┘
2981
+ /**
2982
+ * The content of the component.
2983
+ *
2984
+ * If `' '` is provided, the component reserves one line height for displaying a future message.
2985
+ */
2986
+ children: e.node,
2987
+ /**
2988
+ * Override or extend the styles applied to the component.
2989
+ */
2990
+ classes: e.object,
2991
+ /**
2992
+ * @ignore
2993
+ */
2994
+ className: e.string,
2995
+ /**
2996
+ * The component used for the root node.
2997
+ * Either a string to use a HTML element or a component.
2998
+ */
2999
+ component: e.elementType,
3000
+ /**
3001
+ * If `true`, the helper text should be displayed in a disabled state.
3002
+ */
3003
+ disabled: e.bool,
3004
+ /**
3005
+ * If `true`, helper text should be displayed in an error state.
3006
+ */
3007
+ error: e.bool,
3008
+ /**
3009
+ * If `true`, the helper text should use filled classes key.
3010
+ */
3011
+ filled: e.bool,
3012
+ /**
3013
+ * If `true`, the helper text should use focused classes key.
3014
+ */
3015
+ focused: e.bool,
3016
+ /**
3017
+ * If `dense`, will adjust vertical spacing. This is normally obtained via context from
3018
+ * FormControl.
3019
+ */
3020
+ margin: e.oneOf(["dense"]),
3021
+ /**
3022
+ * If `true`, the helper text should use required classes key.
3023
+ */
3024
+ required: e.bool,
3025
+ /**
3026
+ * The system prop that allows defining system overrides as well as additional CSS styles.
3027
+ */
3028
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
3029
+ /**
3030
+ * The variant to use.
3031
+ */
3032
+ variant: e.oneOfType([e.oneOf(["filled", "outlined", "standard"]), e.string])
3033
+ });
3034
+ function jt(o) {
3035
+ return ee("MuiNativeSelect", o);
3036
+ }
3037
+ const lo = Q("MuiNativeSelect", ["root", "select", "multiple", "filled", "outlined", "standard", "disabled", "icon", "iconOpen", "iconFilled", "iconOutlined", "iconStandard", "nativeInput", "error"]), zt = (o) => {
3038
+ const {
3039
+ classes: t,
3040
+ variant: n,
3041
+ disabled: r,
3042
+ multiple: s,
3043
+ open: a,
3044
+ error: l
3045
+ } = o, d = {
3046
+ select: ["select", n, r && "disabled", s && "multiple", l && "error"],
3047
+ icon: ["icon", `icon${_(n)}`, a && "iconOpen", r && "disabled"]
3048
+ };
3049
+ return oe(d, jt, t);
3050
+ }, ko = F("select")(({
3051
+ theme: o
3052
+ }) => ({
3053
+ // Reset
3054
+ MozAppearance: "none",
3055
+ // Reset
3056
+ WebkitAppearance: "none",
3057
+ // When interacting quickly, the text can end up selected.
3058
+ // Native select can't be selected either.
3059
+ userSelect: "none",
3060
+ // Reset
3061
+ borderRadius: 0,
3062
+ cursor: "pointer",
3063
+ "&:focus": {
3064
+ // Reset Chrome style
3065
+ borderRadius: 0
3066
+ },
3067
+ [`&.${lo.disabled}`]: {
3068
+ cursor: "default"
3069
+ },
3070
+ "&[multiple]": {
3071
+ height: "auto"
3072
+ },
3073
+ "&:not([multiple]) option, &:not([multiple]) optgroup": {
3074
+ backgroundColor: (o.vars || o).palette.background.paper
3075
+ },
3076
+ variants: [{
3077
+ props: ({
3078
+ ownerState: t
3079
+ }) => t.variant !== "filled" && t.variant !== "outlined",
3080
+ style: {
3081
+ // Bump specificity to allow extending custom inputs
3082
+ "&&&": {
3083
+ paddingRight: 24,
3084
+ minWidth: 16
3085
+ // So it doesn't collapse.
3086
+ }
3087
+ }
3088
+ }, {
3089
+ props: {
3090
+ variant: "filled"
3091
+ },
3092
+ style: {
3093
+ "&&&": {
3094
+ paddingRight: 32
3095
+ }
3096
+ }
3097
+ }, {
3098
+ props: {
3099
+ variant: "outlined"
3100
+ },
3101
+ style: {
3102
+ borderRadius: (o.vars || o).shape.borderRadius,
3103
+ "&:focus": {
3104
+ borderRadius: (o.vars || o).shape.borderRadius
3105
+ // Reset the reset for Chrome style
3106
+ },
3107
+ "&&&": {
3108
+ paddingRight: 32
3109
+ }
3110
+ }
3111
+ }]
3112
+ })), At = F(ko, {
3113
+ name: "MuiNativeSelect",
3114
+ slot: "Select",
3115
+ shouldForwardProp: ye,
3116
+ overridesResolver: (o, t) => {
3117
+ const {
3118
+ ownerState: n
3119
+ } = o;
3120
+ return [t.select, t[n.variant], n.error && t.error, {
3121
+ [`&.${lo.multiple}`]: t.multiple
3122
+ }];
3123
+ }
3124
+ })({}), Mo = F("svg")(({
3125
+ theme: o
3126
+ }) => ({
3127
+ // We use a position absolute over a flexbox in order to forward the pointer events
3128
+ // to the input and to support wrapping tags..
3129
+ position: "absolute",
3130
+ right: 0,
3131
+ // Center vertically, height is 1em
3132
+ top: "calc(50% - .5em)",
3133
+ // Don't block pointer events on the select under the icon.
3134
+ pointerEvents: "none",
3135
+ color: (o.vars || o).palette.action.active,
3136
+ [`&.${lo.disabled}`]: {
3137
+ color: (o.vars || o).palette.action.disabled
3138
+ },
3139
+ variants: [{
3140
+ props: ({
3141
+ ownerState: t
3142
+ }) => t.open,
3143
+ style: {
3144
+ transform: "rotate(180deg)"
3145
+ }
3146
+ }, {
3147
+ props: {
3148
+ variant: "filled"
3149
+ },
3150
+ style: {
3151
+ right: 7
3152
+ }
3153
+ }, {
3154
+ props: {
3155
+ variant: "outlined"
3156
+ },
3157
+ style: {
3158
+ right: 7
3159
+ }
3160
+ }]
3161
+ })), Bt = F(Mo, {
3162
+ name: "MuiNativeSelect",
3163
+ slot: "Icon",
3164
+ overridesResolver: (o, t) => {
3165
+ const {
3166
+ ownerState: n
3167
+ } = o;
3168
+ return [t.icon, n.variant && t[`icon${_(n.variant)}`], n.open && t.iconOpen];
3169
+ }
3170
+ })({}), Lo = /* @__PURE__ */ i.forwardRef(function(t, n) {
3171
+ const {
3172
+ className: r,
3173
+ disabled: s,
3174
+ error: a,
3175
+ IconComponent: l,
3176
+ inputRef: d,
3177
+ variant: c = "standard",
3178
+ ...m
3179
+ } = t, b = {
3180
+ ...t,
3181
+ disabled: s,
3182
+ variant: c,
3183
+ error: a
3184
+ }, y = zt(b);
3185
+ return /* @__PURE__ */ ce(i.Fragment, {
3186
+ children: [/* @__PURE__ */ S(At, {
3187
+ ownerState: b,
3188
+ className: le(y.select, r),
3189
+ disabled: s,
3190
+ ref: d || n,
3191
+ ...m
3192
+ }), t.multiple ? null : /* @__PURE__ */ S(Bt, {
3193
+ as: l,
3194
+ ownerState: b,
3195
+ className: y.icon
3196
+ })]
3197
+ });
3198
+ });
3199
+ process.env.NODE_ENV !== "production" && (Lo.propTypes = {
3200
+ /**
3201
+ * The option elements to populate the select with.
3202
+ * Can be some `<option>` elements.
3203
+ */
3204
+ children: e.node,
3205
+ /**
3206
+ * Override or extend the styles applied to the component.
3207
+ */
3208
+ classes: e.object,
3209
+ /**
3210
+ * The CSS class name of the select element.
3211
+ */
3212
+ className: e.string,
3213
+ /**
3214
+ * If `true`, the select is disabled.
3215
+ */
3216
+ disabled: e.bool,
3217
+ /**
3218
+ * If `true`, the `select input` will indicate an error.
3219
+ */
3220
+ error: e.bool,
3221
+ /**
3222
+ * The icon that displays the arrow.
3223
+ */
3224
+ IconComponent: e.elementType.isRequired,
3225
+ /**
3226
+ * Use that prop to pass a ref to the native select element.
3227
+ * @deprecated
3228
+ */
3229
+ inputRef: Ie,
3230
+ /**
3231
+ * @ignore
3232
+ */
3233
+ multiple: e.bool,
3234
+ /**
3235
+ * Name attribute of the `select` or hidden `input` element.
3236
+ */
3237
+ name: e.string,
3238
+ /**
3239
+ * Callback fired when a menu item is selected.
3240
+ *
3241
+ * @param {object} event The event source of the callback.
3242
+ * You can pull out the new value by accessing `event.target.value` (string).
3243
+ */
3244
+ onChange: e.func,
3245
+ /**
3246
+ * The input value.
3247
+ */
3248
+ value: e.any,
3249
+ /**
3250
+ * The variant to use.
3251
+ */
3252
+ variant: e.oneOf(["standard", "outlined", "filled"])
3253
+ });
3254
+ function Wt(o) {
3255
+ return ee("MuiSelect", o);
3256
+ }
3257
+ const Ue = Q("MuiSelect", ["root", "select", "multiple", "filled", "outlined", "standard", "disabled", "focused", "icon", "iconOpen", "iconFilled", "iconOutlined", "iconStandard", "nativeInput", "error"]);
3258
+ var xo;
3259
+ const Dt = F(ko, {
3260
+ name: "MuiSelect",
3261
+ slot: "Select",
3262
+ overridesResolver: (o, t) => {
3263
+ const {
3264
+ ownerState: n
3265
+ } = o;
3266
+ return [
3267
+ // Win specificity over the input base
3268
+ {
3269
+ [`&.${Ue.select}`]: t.select
3270
+ },
3271
+ {
3272
+ [`&.${Ue.select}`]: t[n.variant]
3273
+ },
3274
+ {
3275
+ [`&.${Ue.error}`]: t.error
3276
+ },
3277
+ {
3278
+ [`&.${Ue.multiple}`]: t.multiple
3279
+ }
3280
+ ];
3281
+ }
3282
+ })({
3283
+ // Win specificity over the input base
3284
+ [`&.${Ue.select}`]: {
3285
+ height: "auto",
3286
+ // Resets for multiple select with chips
3287
+ minHeight: "1.4375em",
3288
+ // Required for select\text-field height consistency
3289
+ textOverflow: "ellipsis",
3290
+ whiteSpace: "nowrap",
3291
+ overflow: "hidden"
3292
+ }
3293
+ }), Ut = F(Mo, {
3294
+ name: "MuiSelect",
3295
+ slot: "Icon",
3296
+ overridesResolver: (o, t) => {
3297
+ const {
3298
+ ownerState: n
3299
+ } = o;
3300
+ return [t.icon, n.variant && t[`icon${_(n.variant)}`], n.open && t.iconOpen];
3301
+ }
3302
+ })({}), Vt = F("input", {
3303
+ shouldForwardProp: (o) => Uo(o) && o !== "classes",
3304
+ name: "MuiSelect",
3305
+ slot: "NativeInput",
3306
+ overridesResolver: (o, t) => t.nativeInput
3307
+ })({
3308
+ bottom: 0,
3309
+ left: 0,
3310
+ position: "absolute",
3311
+ opacity: 0,
3312
+ pointerEvents: "none",
3313
+ width: "100%",
3314
+ boxSizing: "border-box"
3315
+ });
3316
+ function wo(o, t) {
3317
+ return typeof t == "object" && t !== null ? o === t : String(o) === String(t);
3318
+ }
3319
+ function Ht(o) {
3320
+ return o == null || typeof o == "string" && !o.trim();
3321
+ }
3322
+ const qt = (o) => {
3323
+ const {
3324
+ classes: t,
3325
+ variant: n,
3326
+ disabled: r,
3327
+ multiple: s,
3328
+ open: a,
3329
+ error: l
3330
+ } = o, d = {
3331
+ select: ["select", n, r && "disabled", s && "multiple", l && "error"],
3332
+ icon: ["icon", `icon${_(n)}`, a && "iconOpen", r && "disabled"],
3333
+ nativeInput: ["nativeInput"]
3334
+ };
3335
+ return oe(d, Wt, t);
3336
+ }, jo = /* @__PURE__ */ i.forwardRef(function(t, n) {
3337
+ var uo;
3338
+ const {
3339
+ "aria-describedby": r,
3340
+ "aria-label": s,
3341
+ autoFocus: a,
3342
+ autoWidth: l,
3343
+ children: d,
3344
+ className: c,
3345
+ defaultOpen: m,
3346
+ defaultValue: b,
3347
+ disabled: y,
3348
+ displayEmpty: h,
3349
+ error: x = !1,
3350
+ IconComponent: C,
3351
+ inputRef: O,
3352
+ labelId: f,
3353
+ MenuProps: g = {},
3354
+ multiple: v,
3355
+ name: p,
3356
+ onBlur: w,
3357
+ onChange: A,
3358
+ onClose: L,
3359
+ onFocus: k,
3360
+ onOpen: D,
3361
+ open: B,
3362
+ readOnly: E,
3363
+ renderValue: U,
3364
+ SelectDisplayProps: j = {},
3365
+ tabIndex: W,
3366
+ // catching `type` from Input which makes no sense for SelectInput
3367
+ type: V,
3368
+ value: $,
3369
+ variant: Y = "standard",
3370
+ ...G
3371
+ } = t, [I, J] = go({
3372
+ controlled: $,
3373
+ default: b,
3374
+ name: "Select"
3375
+ }), [Re, ie] = go({
3376
+ controlled: B,
3377
+ default: m,
3378
+ name: "Select"
3379
+ }), he = i.useRef(null), P = i.useRef(null), [X, Z] = i.useState(null), {
3380
+ current: ae
3381
+ } = i.useRef(B != null), [de, me] = i.useState(), H = Ye(n, O), ue = i.useCallback((u) => {
3382
+ P.current = u, u && Z(u);
3383
+ }, []), te = X == null ? void 0 : X.parentNode;
3384
+ i.useImperativeHandle(H, () => ({
3385
+ focus: () => {
3386
+ P.current.focus();
3387
+ },
3388
+ node: he.current,
3389
+ value: I
3390
+ }), [I]), i.useEffect(() => {
3391
+ m && Re && X && !ae && (me(l ? null : te.clientWidth), P.current.focus());
3392
+ }, [X, l]), i.useEffect(() => {
3393
+ a && P.current.focus();
3394
+ }, [a]), i.useEffect(() => {
3395
+ if (!f)
3396
+ return;
3397
+ const u = Ko(P.current).getElementById(f);
3398
+ if (u) {
3399
+ const T = () => {
3400
+ getSelection().isCollapsed && P.current.focus();
3401
+ };
3402
+ return u.addEventListener("click", T), () => {
3403
+ u.removeEventListener("click", T);
3404
+ };
3405
+ }
3406
+ }, [f]);
3407
+ const ne = (u, T) => {
3408
+ u ? D && D(T) : L && L(T), ae || (me(l ? null : te.clientWidth), ie(u));
3409
+ }, ve = (u) => {
3410
+ u.button === 0 && (u.preventDefault(), P.current.focus(), ne(!0, u));
3411
+ }, N = (u) => {
3412
+ ne(!1, u);
3413
+ }, M = i.Children.toArray(d), Se = (u) => {
3414
+ const T = M.find((z) => z.props.value === u.target.value);
3415
+ T !== void 0 && (J(T.props.value), A && A(u, T));
3416
+ }, Ce = (u) => (T) => {
3417
+ let z;
3418
+ if (T.currentTarget.hasAttribute("tabindex")) {
3419
+ if (v) {
3420
+ z = Array.isArray(I) ? I.slice() : [];
3421
+ const Pe = I.indexOf(u.props.value);
3422
+ Pe === -1 ? z.push(u.props.value) : z.splice(Pe, 1);
3423
+ } else
3424
+ z = u.props.value;
3425
+ if (u.props.onClick && u.props.onClick(T), I !== z && (J(z), A)) {
3426
+ const Pe = T.nativeEvent || T, po = new Pe.constructor(Pe.type, Pe);
3427
+ Object.defineProperty(po, "target", {
3428
+ writable: !0,
3429
+ value: {
3430
+ value: z,
3431
+ name: p
3432
+ }
3433
+ }), A(po, u);
3434
+ }
3435
+ v || ne(!1, T);
3436
+ }
3437
+ }, pe = (u) => {
3438
+ E || [
3439
+ " ",
3440
+ "ArrowUp",
3441
+ "ArrowDown",
3442
+ // The native select doesn't respond to enter on macOS, but it's recommended by
3443
+ // https://www.w3.org/WAI/ARIA/apg/patterns/combobox/examples/combobox-select-only/
3444
+ "Enter"
3445
+ ].includes(u.key) && (u.preventDefault(), ne(!0, u));
3446
+ }, be = X !== null && Re, Le = (u) => {
3447
+ !be && w && (Object.defineProperty(u, "target", {
3448
+ writable: !0,
3449
+ value: {
3450
+ value: I,
3451
+ name: p
3452
+ }
3453
+ }), w(u));
3454
+ };
3455
+ delete G["aria-invalid"];
3456
+ let re, Oe;
3457
+ const ge = [];
3458
+ let q = !1, je = !1;
3459
+ (Ge({
3460
+ value: I
3461
+ }) || h) && (U ? re = U(I) : q = !0);
3462
+ const ze = M.map((u) => {
3463
+ if (!/* @__PURE__ */ i.isValidElement(u))
3464
+ return null;
3465
+ process.env.NODE_ENV !== "production" && Vo.isFragment(u) && console.error(["MUI: The Select component doesn't accept a Fragment as a child.", "Consider providing an array instead."].join(`
3466
+ `));
3467
+ let T;
3468
+ if (v) {
3469
+ if (!Array.isArray(I))
3470
+ throw new Error(process.env.NODE_ENV !== "production" ? "MUI: The `value` prop must be an array when using the `Select` component with `multiple`." : To(2));
3471
+ T = I.some((z) => wo(z, u.props.value)), T && q && ge.push(u.props.children);
3472
+ } else
3473
+ T = wo(I, u.props.value), T && q && (Oe = u.props.children);
3474
+ return T && (je = !0), /* @__PURE__ */ i.cloneElement(u, {
3475
+ "aria-selected": T ? "true" : "false",
3476
+ onClick: Ce(u),
3477
+ onKeyUp: (z) => {
3478
+ z.key === " " && z.preventDefault(), u.props.onKeyUp && u.props.onKeyUp(z);
3479
+ },
3480
+ role: "option",
3481
+ selected: T,
3482
+ value: void 0,
3483
+ // The value is most likely not a valid HTML attribute.
3484
+ "data-value": u.props.value
3485
+ // Instead, we provide it as a data attribute.
3486
+ });
3487
+ });
3488
+ process.env.NODE_ENV !== "production" && i.useEffect(() => {
3489
+ if (!je && !v && I !== "") {
3490
+ const u = M.map((T) => T.props.value);
3491
+ console.warn([`MUI: You have provided an out-of-range value \`${I}\` for the select ${p ? `(name="${p}") ` : ""}component.`, "Consider providing a value that matches one of the available options or ''.", `The available values are ${u.filter((T) => T != null).map((T) => `\`${T}\``).join(", ") || '""'}.`].join(`
3492
+ `));
3493
+ }
3494
+ }, [je, M, v, p, I]), q && (v ? ge.length === 0 ? re = null : re = ge.reduce((u, T, z) => (u.push(T), z < ge.length - 1 && u.push(", "), u), []) : re = Oe);
3495
+ let Ae = de;
3496
+ !l && ae && X && (Ae = te.clientWidth);
3497
+ let Fe;
3498
+ typeof W < "u" ? Fe = W : Fe = y ? null : 0;
3499
+ const Ne = j.id || (p ? `mui-component-select-${p}` : void 0), xe = {
3500
+ ...t,
3501
+ variant: Y,
3502
+ value: I,
3503
+ open: be,
3504
+ error: x
3505
+ }, R = qt(xe), Ee = {
3506
+ ...g.PaperProps,
3507
+ ...(uo = g.slotProps) == null ? void 0 : uo.paper
3508
+ }, Be = Io();
3509
+ return /* @__PURE__ */ ce(i.Fragment, {
3510
+ children: [/* @__PURE__ */ S(Dt, {
3511
+ as: "div",
3512
+ ref: ue,
3513
+ tabIndex: Fe,
3514
+ role: "combobox",
3515
+ "aria-controls": Be,
3516
+ "aria-disabled": y ? "true" : void 0,
3517
+ "aria-expanded": be ? "true" : "false",
3518
+ "aria-haspopup": "listbox",
3519
+ "aria-label": s,
3520
+ "aria-labelledby": [f, Ne].filter(Boolean).join(" ") || void 0,
3521
+ "aria-describedby": r,
3522
+ onKeyDown: pe,
3523
+ onMouseDown: y || E ? null : ve,
3524
+ onBlur: Le,
3525
+ onFocus: k,
3526
+ ...j,
3527
+ ownerState: xe,
3528
+ className: le(j.className, R.select, c),
3529
+ id: Ne,
3530
+ children: Ht(re) ? (
3531
+ // notranslate needed while Google Translate will not fix zero-width space issue
3532
+ xo || (xo = /* @__PURE__ */ S("span", {
3533
+ className: "notranslate",
3534
+ children: "​"
3535
+ }))
3536
+ ) : re
3537
+ }), /* @__PURE__ */ S(Vt, {
3538
+ "aria-invalid": x,
3539
+ value: Array.isArray(I) ? I.join(",") : I,
3540
+ name: p,
3541
+ ref: he,
3542
+ "aria-hidden": !0,
3543
+ onChange: Se,
3544
+ tabIndex: -1,
3545
+ disabled: y,
3546
+ className: R.nativeInput,
3547
+ autoFocus: a,
3548
+ ...G,
3549
+ ownerState: xe
3550
+ }), /* @__PURE__ */ S(Ut, {
3551
+ as: C,
3552
+ className: R.icon,
3553
+ ownerState: xe
3554
+ }), /* @__PURE__ */ S(Go, {
3555
+ id: `menu-${p || ""}`,
3556
+ anchorEl: te,
3557
+ open: be,
3558
+ onClose: N,
3559
+ anchorOrigin: {
3560
+ vertical: "bottom",
3561
+ horizontal: "center"
3562
+ },
3563
+ transformOrigin: {
3564
+ vertical: "top",
3565
+ horizontal: "center"
3566
+ },
3567
+ ...g,
3568
+ MenuListProps: {
3569
+ "aria-labelledby": f,
3570
+ role: "listbox",
3571
+ "aria-multiselectable": v ? "true" : void 0,
3572
+ disableListWrap: !0,
3573
+ id: Be,
3574
+ ...g.MenuListProps
3575
+ },
3576
+ slotProps: {
3577
+ ...g.slotProps,
3578
+ paper: {
3579
+ ...Ee,
3580
+ style: {
3581
+ minWidth: Ae,
3582
+ ...Ee != null ? Ee.style : null
3583
+ }
3584
+ }
3585
+ },
3586
+ children: ze
3587
+ })]
3588
+ });
3589
+ });
3590
+ process.env.NODE_ENV !== "production" && (jo.propTypes = {
3591
+ /**
3592
+ * @ignore
3593
+ */
3594
+ "aria-describedby": e.string,
3595
+ /**
3596
+ * @ignore
3597
+ */
3598
+ "aria-label": e.string,
3599
+ /**
3600
+ * @ignore
3601
+ */
3602
+ autoFocus: e.bool,
3603
+ /**
3604
+ * If `true`, the width of the popover will automatically be set according to the items inside the
3605
+ * menu, otherwise it will be at least the width of the select input.
3606
+ */
3607
+ autoWidth: e.bool,
3608
+ /**
3609
+ * The option elements to populate the select with.
3610
+ * Can be some `<MenuItem>` elements.
3611
+ */
3612
+ children: e.node,
3613
+ /**
3614
+ * Override or extend the styles applied to the component.
3615
+ */
3616
+ classes: e.object,
3617
+ /**
3618
+ * The CSS class name of the select element.
3619
+ */
3620
+ className: e.string,
3621
+ /**
3622
+ * If `true`, the component is toggled on mount. Use when the component open state is not controlled.
3623
+ * You can only use it when the `native` prop is `false` (default).
3624
+ */
3625
+ defaultOpen: e.bool,
3626
+ /**
3627
+ * The default value. Use when the component is not controlled.
3628
+ */
3629
+ defaultValue: e.any,
3630
+ /**
3631
+ * If `true`, the select is disabled.
3632
+ */
3633
+ disabled: e.bool,
3634
+ /**
3635
+ * If `true`, the selected item is displayed even if its value is empty.
3636
+ */
3637
+ displayEmpty: e.bool,
3638
+ /**
3639
+ * If `true`, the `select input` will indicate an error.
3640
+ */
3641
+ error: e.bool,
3642
+ /**
3643
+ * The icon that displays the arrow.
3644
+ */
3645
+ IconComponent: e.elementType.isRequired,
3646
+ /**
3647
+ * Imperative handle implementing `{ value: T, node: HTMLElement, focus(): void }`
3648
+ * Equivalent to `ref`
3649
+ */
3650
+ inputRef: Ie,
3651
+ /**
3652
+ * The ID of an element that acts as an additional label. The Select will
3653
+ * be labelled by the additional label and the selected value.
3654
+ */
3655
+ labelId: e.string,
3656
+ /**
3657
+ * Props applied to the [`Menu`](/material-ui/api/menu/) element.
3658
+ */
3659
+ MenuProps: e.object,
3660
+ /**
3661
+ * If `true`, `value` must be an array and the menu will support multiple selections.
3662
+ */
3663
+ multiple: e.bool,
3664
+ /**
3665
+ * Name attribute of the `select` or hidden `input` element.
3666
+ */
3667
+ name: e.string,
3668
+ /**
3669
+ * @ignore
3670
+ */
3671
+ onBlur: e.func,
3672
+ /**
3673
+ * Callback fired when a menu item is selected.
3674
+ *
3675
+ * @param {object} event The event source of the callback.
3676
+ * You can pull out the new value by accessing `event.target.value` (any).
3677
+ * @param {object} [child] The react element that was selected.
3678
+ */
3679
+ onChange: e.func,
3680
+ /**
3681
+ * Callback fired when the component requests to be closed.
3682
+ * Use in controlled mode (see open).
3683
+ *
3684
+ * @param {object} event The event source of the callback.
3685
+ */
3686
+ onClose: e.func,
3687
+ /**
3688
+ * @ignore
3689
+ */
3690
+ onFocus: e.func,
3691
+ /**
3692
+ * Callback fired when the component requests to be opened.
3693
+ * Use in controlled mode (see open).
3694
+ *
3695
+ * @param {object} event The event source of the callback.
3696
+ */
3697
+ onOpen: e.func,
3698
+ /**
3699
+ * If `true`, the component is shown.
3700
+ */
3701
+ open: e.bool,
3702
+ /**
3703
+ * @ignore
3704
+ */
3705
+ readOnly: e.bool,
3706
+ /**
3707
+ * Render the selected value.
3708
+ *
3709
+ * @param {any} value The `value` provided to the component.
3710
+ * @returns {ReactNode}
3711
+ */
3712
+ renderValue: e.func,
3713
+ /**
3714
+ * Props applied to the clickable div element.
3715
+ */
3716
+ SelectDisplayProps: e.object,
3717
+ /**
3718
+ * @ignore
3719
+ */
3720
+ tabIndex: e.oneOfType([e.number, e.string]),
3721
+ /**
3722
+ * @ignore
3723
+ */
3724
+ type: e.any,
3725
+ /**
3726
+ * The input value.
3727
+ */
3728
+ value: e.any,
3729
+ /**
3730
+ * The variant to use.
3731
+ */
3732
+ variant: e.oneOf(["standard", "outlined", "filled"])
3733
+ });
3734
+ const _t = Jo(/* @__PURE__ */ S("path", {
3735
+ d: "M7 10l5 5 5-5z"
3736
+ }), "ArrowDropDown"), Kt = (o) => {
3737
+ const {
3738
+ classes: t
3739
+ } = o;
3740
+ return t;
3741
+ }, io = {
3742
+ name: "MuiSelect",
3743
+ overridesResolver: (o, t) => t.root,
3744
+ shouldForwardProp: (o) => ye(o) && o !== "variant",
3745
+ slot: "Root"
3746
+ }, Gt = F(He, io)(""), Xt = F(_e, io)(""), Yt = F(qe, io)(""), ao = /* @__PURE__ */ i.forwardRef(function(t, n) {
3747
+ const r = tt({
3748
+ name: "MuiSelect",
3749
+ props: t
3750
+ }), {
3751
+ autoWidth: s = !1,
3752
+ children: a,
3753
+ classes: l = {},
3754
+ className: d,
3755
+ defaultOpen: c = !1,
3756
+ displayEmpty: m = !1,
3757
+ IconComponent: b = _t,
3758
+ id: y,
3759
+ input: h,
3760
+ inputProps: x,
3761
+ label: C,
3762
+ labelId: O,
3763
+ MenuProps: f,
3764
+ multiple: g = !1,
3765
+ native: v = !1,
3766
+ onClose: p,
3767
+ onOpen: w,
3768
+ open: A,
3769
+ renderValue: L,
3770
+ SelectDisplayProps: k,
3771
+ variant: D = "outlined",
3772
+ ...B
3773
+ } = r, E = v ? Lo : jo, U = Me(), j = ke({
3774
+ props: r,
3775
+ muiFormControl: U,
3776
+ states: ["variant", "error"]
3777
+ }), W = j.variant || D, V = {
3778
+ ...r,
3779
+ variant: W,
3780
+ classes: l
3781
+ }, $ = Kt(V), {
3782
+ root: Y,
3783
+ ...G
3784
+ } = $, I = h || {
3785
+ standard: /* @__PURE__ */ S(Gt, {
3786
+ ownerState: V
3787
+ }),
3788
+ outlined: /* @__PURE__ */ S(Xt, {
3789
+ label: C,
3790
+ ownerState: V
3791
+ }),
3792
+ filled: /* @__PURE__ */ S(Yt, {
3793
+ ownerState: V
3794
+ })
3795
+ }[W], J = Ye(n, Xo(I));
3796
+ return /* @__PURE__ */ S(i.Fragment, {
3797
+ children: /* @__PURE__ */ i.cloneElement(I, {
3798
+ // Most of the logic is implemented in `SelectInput`.
3799
+ // The `Select` component is a simple API wrapper to expose something better to play with.
3800
+ inputComponent: E,
3801
+ inputProps: {
3802
+ children: a,
3803
+ error: j.error,
3804
+ IconComponent: b,
3805
+ variant: W,
3806
+ type: void 0,
3807
+ // We render a select. We can ignore the type provided by the `Input`.
3808
+ multiple: g,
3809
+ ...v ? {
3810
+ id: y
3811
+ } : {
3812
+ autoWidth: s,
3813
+ defaultOpen: c,
3814
+ displayEmpty: m,
3815
+ labelId: O,
3816
+ MenuProps: f,
3817
+ onClose: p,
3818
+ onOpen: w,
3819
+ open: A,
3820
+ renderValue: L,
3821
+ SelectDisplayProps: {
3822
+ id: y,
3823
+ ...k
3824
+ }
3825
+ },
3826
+ ...x,
3827
+ classes: x ? so(G, x.classes) : G,
3828
+ ...h ? h.props.inputProps : {}
3829
+ },
3830
+ ...(g && v || m) && W === "outlined" ? {
3831
+ notched: !0
3832
+ } : {},
3833
+ ref: J,
3834
+ className: le(I.props.className, d, $.root),
3835
+ // If a custom input is provided via 'input' prop, do not allow 'variant' to be propagated to it's root element. See https://github.com/mui/material-ui/issues/33894.
3836
+ ...!h && {
3837
+ variant: W
3838
+ },
3839
+ ...B
3840
+ })
3841
+ });
3842
+ });
3843
+ process.env.NODE_ENV !== "production" && (ao.propTypes = {
3844
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
3845
+ // │ These PropTypes are generated from the TypeScript type definitions. │
3846
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
3847
+ // └─────────────────────────────────────────────────────────────────────┘
3848
+ /**
3849
+ * If `true`, the width of the popover will automatically be set according to the items inside the
3850
+ * menu, otherwise it will be at least the width of the select input.
3851
+ * @default false
3852
+ */
3853
+ autoWidth: e.bool,
3854
+ /**
3855
+ * The option elements to populate the select with.
3856
+ * Can be some `MenuItem` when `native` is false and `option` when `native` is true.
3857
+ *
3858
+ * ⚠️The `MenuItem` elements **must** be direct descendants when `native` is false.
3859
+ */
3860
+ children: e.node,
3861
+ /**
3862
+ * Override or extend the styles applied to the component.
3863
+ * @default {}
3864
+ */
3865
+ classes: e.object,
3866
+ /**
3867
+ * @ignore
3868
+ */
3869
+ className: e.string,
3870
+ /**
3871
+ * If `true`, the component is initially open. Use when the component open state is not controlled (i.e. the `open` prop is not defined).
3872
+ * You can only use it when the `native` prop is `false` (default).
3873
+ * @default false
3874
+ */
3875
+ defaultOpen: e.bool,
3876
+ /**
3877
+ * The default value. Use when the component is not controlled.
3878
+ */
3879
+ defaultValue: e.any,
3880
+ /**
3881
+ * If `true`, a value is displayed even if no items are selected.
3882
+ *
3883
+ * In order to display a meaningful value, a function can be passed to the `renderValue` prop which
3884
+ * returns the value to be displayed when no items are selected.
3885
+ *
3886
+ * ⚠️ When using this prop, make sure the label doesn't overlap with the empty displayed value.
3887
+ * The label should either be hidden or forced to a shrunk state.
3888
+ * @default false
3889
+ */
3890
+ displayEmpty: e.bool,
3891
+ /**
3892
+ * The icon that displays the arrow.
3893
+ * @default ArrowDropDownIcon
3894
+ */
3895
+ IconComponent: e.elementType,
3896
+ /**
3897
+ * The `id` of the wrapper element or the `select` element when `native`.
3898
+ */
3899
+ id: e.string,
3900
+ /**
3901
+ * An `Input` element; does not have to be a material-ui specific `Input`.
3902
+ */
3903
+ input: e.element,
3904
+ /**
3905
+ * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
3906
+ * When `native` is `true`, the attributes are applied on the `select` element.
3907
+ */
3908
+ inputProps: e.object,
3909
+ /**
3910
+ * See [OutlinedInput#label](https://mui.com/material-ui/api/outlined-input/#props)
3911
+ */
3912
+ label: e.node,
3913
+ /**
3914
+ * The ID of an element that acts as an additional label. The Select will
3915
+ * be labelled by the additional label and the selected value.
3916
+ */
3917
+ labelId: e.string,
3918
+ /**
3919
+ * Props applied to the [`Menu`](https://mui.com/material-ui/api/menu/) element.
3920
+ */
3921
+ MenuProps: e.object,
3922
+ /**
3923
+ * If `true`, `value` must be an array and the menu will support multiple selections.
3924
+ * @default false
3925
+ */
3926
+ multiple: e.bool,
3927
+ /**
3928
+ * If `true`, the component uses a native `select` element.
3929
+ * @default false
3930
+ */
3931
+ native: e.bool,
3932
+ /**
3933
+ * Callback fired when a menu item is selected.
3934
+ *
3935
+ * @param {SelectChangeEvent<Value>} event The event source of the callback.
3936
+ * You can pull out the new value by accessing `event.target.value` (any).
3937
+ * **Warning**: This is a generic event, not a change event, unless the change event is caused by browser autofill.
3938
+ * @param {object} [child] The react element that was selected when `native` is `false` (default).
3939
+ */
3940
+ onChange: e.func,
3941
+ /**
3942
+ * Callback fired when the component requests to be closed.
3943
+ * Use it in either controlled (see the `open` prop), or uncontrolled mode (to detect when the Select collapses).
3944
+ *
3945
+ * @param {object} event The event source of the callback.
3946
+ */
3947
+ onClose: e.func,
3948
+ /**
3949
+ * Callback fired when the component requests to be opened.
3950
+ * Use it in either controlled (see the `open` prop), or uncontrolled mode (to detect when the Select expands).
3951
+ *
3952
+ * @param {object} event The event source of the callback.
3953
+ */
3954
+ onOpen: e.func,
3955
+ /**
3956
+ * If `true`, the component is shown.
3957
+ * You can only use it when the `native` prop is `false` (default).
3958
+ */
3959
+ open: e.bool,
3960
+ /**
3961
+ * Render the selected value.
3962
+ * You can only use it when the `native` prop is `false` (default).
3963
+ *
3964
+ * @param {any} value The `value` provided to the component.
3965
+ * @returns {ReactNode}
3966
+ */
3967
+ renderValue: e.func,
3968
+ /**
3969
+ * Props applied to the clickable div element.
3970
+ */
3971
+ SelectDisplayProps: e.object,
3972
+ /**
3973
+ * The system prop that allows defining system overrides as well as additional CSS styles.
3974
+ */
3975
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
3976
+ /**
3977
+ * The `input` value. Providing an empty string will select no options.
3978
+ * Set to an empty string `''` if you don't want any of the available options to be selected.
3979
+ *
3980
+ * If the value is an object it must have reference equality with the option in order to be selected.
3981
+ * If the value is not an object, the string representation must match with the string representation of the option in order to be selected.
3982
+ */
3983
+ value: e.oneOfType([e.oneOf([""]), e.any]),
3984
+ /**
3985
+ * The variant to use.
3986
+ * @default 'outlined'
3987
+ */
3988
+ variant: e.oneOf(["filled", "outlined", "standard"])
3989
+ });
3990
+ ao.muiName = "Select";
3991
+ function Jt(o) {
3992
+ return ee("MuiTextField", o);
3993
+ }
3994
+ Q("MuiTextField", ["root"]);
3995
+ const Zt = {
3996
+ standard: He,
3997
+ filled: qe,
3998
+ outlined: _e
3999
+ }, Qt = (o) => {
4000
+ const {
4001
+ classes: t
4002
+ } = o;
4003
+ return oe({
4004
+ root: ["root"]
4005
+ }, Jt, t);
4006
+ }, en = F(Po, {
4007
+ name: "MuiTextField",
4008
+ slot: "Root",
4009
+ overridesResolver: (o, t) => t.root
4010
+ })({}), zo = /* @__PURE__ */ i.forwardRef(function(t, n) {
4011
+ const r = fe({
4012
+ props: t,
4013
+ name: "MuiTextField"
4014
+ }), {
4015
+ autoComplete: s,
4016
+ autoFocus: a = !1,
4017
+ children: l,
4018
+ className: d,
4019
+ color: c = "primary",
4020
+ defaultValue: m,
4021
+ disabled: b = !1,
4022
+ error: y = !1,
4023
+ FormHelperTextProps: h,
4024
+ fullWidth: x = !1,
4025
+ helperText: C,
4026
+ id: O,
4027
+ InputLabelProps: f,
4028
+ inputProps: g,
4029
+ InputProps: v,
4030
+ inputRef: p,
4031
+ label: w,
4032
+ maxRows: A,
4033
+ minRows: L,
4034
+ multiline: k = !1,
4035
+ name: D,
4036
+ onBlur: B,
4037
+ onChange: E,
4038
+ onFocus: U,
4039
+ placeholder: j,
4040
+ required: W = !1,
4041
+ rows: V,
4042
+ select: $ = !1,
4043
+ SelectProps: Y,
4044
+ slots: G = {},
4045
+ slotProps: I = {},
4046
+ type: J,
4047
+ value: Re,
4048
+ variant: ie = "outlined",
4049
+ ...he
4050
+ } = r, P = {
4051
+ ...r,
4052
+ autoFocus: a,
4053
+ color: c,
4054
+ disabled: b,
4055
+ error: y,
4056
+ fullWidth: x,
4057
+ multiline: k,
4058
+ required: W,
4059
+ select: $,
4060
+ variant: ie
4061
+ }, X = Qt(P);
4062
+ process.env.NODE_ENV !== "production" && $ && !l && console.error("MUI: `children` must be passed when using the `TextField` component with `select`.");
4063
+ const Z = Io(O), ae = C && Z ? `${Z}-helper-text` : void 0, de = w && Z ? `${Z}-label` : void 0, me = Zt[ie], H = {
4064
+ slots: G,
4065
+ slotProps: {
4066
+ input: v,
4067
+ inputLabel: f,
4068
+ htmlInput: g,
4069
+ formHelperText: h,
4070
+ select: Y,
4071
+ ...I
4072
+ }
4073
+ }, ue = {}, te = H.slotProps.inputLabel;
4074
+ ie === "outlined" && (te && typeof te.shrink < "u" && (ue.notched = te.shrink), ue.label = w), $ && ((!Y || !Y.native) && (ue.id = void 0), ue["aria-describedby"] = void 0);
4075
+ const [ne, ve] = We("input", {
4076
+ elementType: me,
4077
+ externalForwardedProps: H,
4078
+ additionalProps: ue,
4079
+ ownerState: P
4080
+ }), [N, M] = We("inputLabel", {
4081
+ elementType: Eo,
4082
+ externalForwardedProps: H,
4083
+ ownerState: P
4084
+ }), [Se, Ce] = We("htmlInput", {
4085
+ elementType: "input",
4086
+ externalForwardedProps: H,
4087
+ ownerState: P
4088
+ }), [pe, be] = We("formHelperText", {
4089
+ elementType: $o,
4090
+ externalForwardedProps: H,
4091
+ ownerState: P
4092
+ }), [Le, re] = We("select", {
4093
+ elementType: ao,
4094
+ externalForwardedProps: H,
4095
+ ownerState: P
4096
+ }), Oe = /* @__PURE__ */ S(ne, {
4097
+ "aria-describedby": ae,
4098
+ autoComplete: s,
4099
+ autoFocus: a,
4100
+ defaultValue: m,
4101
+ fullWidth: x,
4102
+ multiline: k,
4103
+ name: D,
4104
+ rows: V,
4105
+ maxRows: A,
4106
+ minRows: L,
4107
+ type: J,
4108
+ value: Re,
4109
+ id: Z,
4110
+ inputRef: p,
4111
+ onBlur: B,
4112
+ onChange: E,
4113
+ onFocus: U,
4114
+ placeholder: j,
4115
+ inputProps: Ce,
4116
+ slots: {
4117
+ input: G.htmlInput ? Se : void 0
4118
+ },
4119
+ ...ve
4120
+ });
4121
+ return /* @__PURE__ */ ce(en, {
4122
+ className: le(X.root, d),
4123
+ disabled: b,
4124
+ error: y,
4125
+ fullWidth: x,
4126
+ ref: n,
4127
+ required: W,
4128
+ color: c,
4129
+ variant: ie,
4130
+ ownerState: P,
4131
+ ...he,
4132
+ children: [w != null && w !== "" && /* @__PURE__ */ S(N, {
4133
+ htmlFor: Z,
4134
+ id: de,
4135
+ ...M,
4136
+ children: w
4137
+ }), $ ? /* @__PURE__ */ S(Le, {
4138
+ "aria-describedby": ae,
4139
+ id: Z,
4140
+ labelId: de,
4141
+ value: Re,
4142
+ input: Oe,
4143
+ ...re,
4144
+ children: l
4145
+ }) : Oe, C && /* @__PURE__ */ S(pe, {
4146
+ id: ae,
4147
+ ...be,
4148
+ children: C
4149
+ })]
4150
+ });
4151
+ });
4152
+ process.env.NODE_ENV !== "production" && (zo.propTypes = {
4153
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
4154
+ // │ These PropTypes are generated from the TypeScript type definitions. │
4155
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
4156
+ // └─────────────────────────────────────────────────────────────────────┘
4157
+ /**
4158
+ * This prop helps users to fill forms faster, especially on mobile devices.
4159
+ * The name can be confusing, as it's more like an autofill.
4160
+ * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).
4161
+ */
4162
+ autoComplete: e.string,
4163
+ /**
4164
+ * If `true`, the `input` element is focused during the first mount.
4165
+ * @default false
4166
+ */
4167
+ autoFocus: e.bool,
4168
+ /**
4169
+ * @ignore
4170
+ */
4171
+ children: e.node,
4172
+ /**
4173
+ * Override or extend the styles applied to the component.
4174
+ */
4175
+ classes: e.object,
4176
+ /**
4177
+ * @ignore
4178
+ */
4179
+ className: e.string,
4180
+ /**
4181
+ * The color of the component.
4182
+ * It supports both default and custom theme colors, which can be added as shown in the
4183
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
4184
+ * @default 'primary'
4185
+ */
4186
+ color: e.oneOfType([e.oneOf(["primary", "secondary", "error", "info", "success", "warning"]), e.string]),
4187
+ /**
4188
+ * The default value. Use when the component is not controlled.
4189
+ */
4190
+ defaultValue: e.any,
4191
+ /**
4192
+ * If `true`, the component is disabled.
4193
+ * @default false
4194
+ */
4195
+ disabled: e.bool,
4196
+ /**
4197
+ * If `true`, the label is displayed in an error state.
4198
+ * @default false
4199
+ */
4200
+ error: e.bool,
4201
+ /**
4202
+ * Props applied to the [`FormHelperText`](https://mui.com/material-ui/api/form-helper-text/) element.
4203
+ * @deprecated Use `slotProps.formHelperText` 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.
4204
+ */
4205
+ FormHelperTextProps: e.object,
4206
+ /**
4207
+ * If `true`, the input will take up the full width of its container.
4208
+ * @default false
4209
+ */
4210
+ fullWidth: e.bool,
4211
+ /**
4212
+ * The helper text content.
4213
+ */
4214
+ helperText: e.node,
4215
+ /**
4216
+ * The id of the `input` element.
4217
+ * Use this prop to make `label` and `helperText` accessible for screen readers.
4218
+ */
4219
+ id: e.string,
4220
+ /**
4221
+ * Props applied to the [`InputLabel`](https://mui.com/material-ui/api/input-label/) element.
4222
+ * Pointer events like `onClick` are enabled if and only if `shrink` is `true`.
4223
+ * @deprecated Use `slotProps.inputLabel` 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.
4224
+ */
4225
+ InputLabelProps: e.object,
4226
+ /**
4227
+ * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
4228
+ * @deprecated Use `slotProps.htmlInput` 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.
4229
+ */
4230
+ inputProps: e.object,
4231
+ /**
4232
+ * Props applied to the Input element.
4233
+ * It will be a [`FilledInput`](https://mui.com/material-ui/api/filled-input/),
4234
+ * [`OutlinedInput`](https://mui.com/material-ui/api/outlined-input/) or [`Input`](https://mui.com/material-ui/api/input/)
4235
+ * component depending on the `variant` prop value.
4236
+ * @deprecated Use `slotProps.input` 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.
4237
+ */
4238
+ InputProps: e.object,
4239
+ /**
4240
+ * Pass a ref to the `input` element.
4241
+ */
4242
+ inputRef: Ie,
4243
+ /**
4244
+ * The label content.
4245
+ */
4246
+ label: e.node,
4247
+ /**
4248
+ * If `dense` or `normal`, will adjust vertical spacing of this and contained components.
4249
+ * @default 'none'
4250
+ */
4251
+ margin: e.oneOf(["dense", "none", "normal"]),
4252
+ /**
4253
+ * Maximum number of rows to display when multiline option is set to true.
4254
+ */
4255
+ maxRows: e.oneOfType([e.number, e.string]),
4256
+ /**
4257
+ * Minimum number of rows to display when multiline option is set to true.
4258
+ */
4259
+ minRows: e.oneOfType([e.number, e.string]),
4260
+ /**
4261
+ * If `true`, a `textarea` element is rendered instead of an input.
4262
+ * @default false
4263
+ */
4264
+ multiline: e.bool,
4265
+ /**
4266
+ * Name attribute of the `input` element.
4267
+ */
4268
+ name: e.string,
4269
+ /**
4270
+ * @ignore
4271
+ */
4272
+ onBlur: e.func,
4273
+ /**
4274
+ * Callback fired when the value is changed.
4275
+ *
4276
+ * @param {object} event The event source of the callback.
4277
+ * You can pull out the new value by accessing `event.target.value` (string).
4278
+ */
4279
+ onChange: e.func,
4280
+ /**
4281
+ * @ignore
4282
+ */
4283
+ onFocus: e.func,
4284
+ /**
4285
+ * The short hint displayed in the `input` before the user enters a value.
4286
+ */
4287
+ placeholder: e.string,
4288
+ /**
4289
+ * If `true`, the label is displayed as required and the `input` element is required.
4290
+ * @default false
4291
+ */
4292
+ required: e.bool,
4293
+ /**
4294
+ * Number of rows to display when multiline option is set to true.
4295
+ */
4296
+ rows: e.oneOfType([e.number, e.string]),
4297
+ /**
4298
+ * Render a [`Select`](https://mui.com/material-ui/api/select/) element while passing the Input element to `Select` as `input` parameter.
4299
+ * If this option is set you must pass the options of the select as children.
4300
+ * @default false
4301
+ */
4302
+ select: e.bool,
4303
+ /**
4304
+ * Props applied to the [`Select`](https://mui.com/material-ui/api/select/) element.
4305
+ * @deprecated Use `slotProps.select` 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.
4306
+ */
4307
+ SelectProps: e.object,
4308
+ /**
4309
+ * The size of the component.
4310
+ */
4311
+ size: e.oneOfType([e.oneOf(["medium", "small"]), e.string]),
4312
+ /**
4313
+ * The props used for each slot inside.
4314
+ * @default {}
4315
+ */
4316
+ slotProps: e.shape({
4317
+ formHelperText: e.oneOfType([e.func, e.object]),
4318
+ htmlInput: e.oneOfType([e.func, e.object]),
4319
+ input: e.oneOfType([e.func, e.object]),
4320
+ inputLabel: e.oneOfType([e.func, e.object]),
4321
+ select: e.oneOfType([e.func, e.object])
4322
+ }),
4323
+ /**
4324
+ * The components used for each slot inside.
4325
+ * @default {}
4326
+ */
4327
+ slots: e.shape({
4328
+ formHelperText: e.elementType,
4329
+ htmlInput: e.elementType,
4330
+ input: e.elementType,
4331
+ inputLabel: e.elementType,
4332
+ select: e.elementType
4333
+ }),
4334
+ /**
4335
+ * The system prop that allows defining system overrides as well as additional CSS styles.
4336
+ */
4337
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
4338
+ /**
4339
+ * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types).
4340
+ */
4341
+ type: e.string,
4342
+ /**
4343
+ * The value of the `input` element, required for a controlled component.
4344
+ */
4345
+ value: e.any,
4346
+ /**
4347
+ * The variant to use.
4348
+ * @default 'outlined'
4349
+ */
4350
+ variant: e.oneOf(["filled", "outlined", "standard"])
4351
+ });
4352
+ const on = Ao(zo)({
4353
+ backgroundColor: we.colors.white,
4354
+ borderRadius: "1rem",
4355
+ height: "2rem",
4356
+ input: {
4357
+ transition: "313ms all ease-out",
4358
+ height: "1rem",
4359
+ padding: "0.5rem 1rem",
4360
+ borderRadius: "1rem",
4361
+ border: `1px solid ${we.colors.green}`,
4362
+ boxShadow: "0 0 0 0",
4363
+ "&:focus, :focus-visible": {
4364
+ borderColor: we.colors.darkGreen,
4365
+ boxShadow: `0 0 2px 1px ${we.colors.darkGreen}`
4366
+ }
4367
+ },
4368
+ "&:hover, :focus, :focus-visible": {
4369
+ input: {
4370
+ borderColor: we.colors.darkGreen,
4371
+ boxShadow: `0 0 2px 1px ${we.colors.darkGreen}`
4372
+ }
4373
+ },
4374
+ "&:focus-visible": {
4375
+ input: {
4376
+ borderColor: we.colors.green,
4377
+ borderWidth: "2px"
4378
+ }
4379
+ },
4380
+ fieldset: {
4381
+ borderRadius: "1rem",
4382
+ border: "none"
4383
+ },
4384
+ "&.Mui-focused": {
4385
+ fieldset: {
4386
+ border: "none"
4387
+ }
4388
+ }
4389
+ }), pn = ({ ...o }) => /* @__PURE__ */ S(on, { ...o });
4390
+ export {
4391
+ pn as I
4392
+ };