@solostylist/ui-kit 1.0.200 → 1.0.202

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 (117) hide show
  1. package/dist/{Select-80JhW337.js → Select-D2l9rDWL.js} +1594 -1594
  2. package/dist/entries/core.d.ts +13 -13
  3. package/dist/entries/core.js +109 -110
  4. package/dist/main.js +175 -176
  5. package/dist/s-date-picker/s-date-picker.js +14 -10
  6. package/dist/s-datetime-picker/s-datetime-picker.js +103 -99
  7. package/dist/s-link/index.d.ts +2 -0
  8. package/dist/s-link/index.js +4 -0
  9. package/dist/{s-button-link/s-button-link.d.ts → s-link/s-link.d.ts} +5 -5
  10. package/dist/s-link/s-link.js +37 -0
  11. package/dist/s-text-editor/s-text-editor-toolbar.js +1 -1
  12. package/dist/s-theme-provider/s-theme-provider.js +24 -35
  13. package/dist/s-tool-bar/index.d.ts +2 -0
  14. package/dist/s-tool-bar/index.js +4 -0
  15. package/dist/{s-ai-tool-bar/s-ai-tool-bar.d.ts → s-tool-bar/s-tool-bar.d.ts} +23 -30
  16. package/dist/s-tool-bar/s-tool-bar.js +478 -0
  17. package/dist/theme/components/accordion-details.d.ts +8 -0
  18. package/dist/theme/components/accordion-details.js +8 -0
  19. package/dist/theme/components/accordion-summary.d.ts +1033 -0
  20. package/dist/theme/components/accordion-summary.js +17 -0
  21. package/dist/theme/components/accordion.d.ts +35 -0
  22. package/dist/theme/components/accordion.js +32 -0
  23. package/dist/theme/components/app-bar.d.ts +24 -0
  24. package/dist/theme/components/app-bar.js +18 -0
  25. package/dist/theme/components/autocomplete.d.ts +31 -0
  26. package/dist/theme/components/autocomplete.js +30 -0
  27. package/dist/theme/components/button-base.d.ts +12 -0
  28. package/dist/theme/components/button-base.js +15 -0
  29. package/dist/theme/components/card-actions.d.ts +7 -0
  30. package/dist/theme/components/card-actions.js +10 -0
  31. package/dist/theme/components/card-content.d.ts +7 -0
  32. package/dist/theme/components/card-content.js +11 -0
  33. package/dist/theme/components/card-header.d.ts +7 -0
  34. package/dist/theme/components/card-header.js +10 -0
  35. package/dist/theme/components/card.d.ts +2046 -0
  36. package/dist/theme/components/card.js +35 -0
  37. package/dist/theme/components/checkbox.d.ts +1046 -0
  38. package/dist/theme/components/checkbox.js +65 -0
  39. package/dist/theme/components/components.js +112 -30
  40. package/dist/theme/components/dialog-actions.d.ts +12 -0
  41. package/dist/theme/components/dialog-actions.js +10 -0
  42. package/dist/theme/components/dialog.d.ts +19 -0
  43. package/dist/theme/components/dialog.js +17 -0
  44. package/dist/theme/components/drawer.d.ts +12 -0
  45. package/dist/theme/components/drawer.js +10 -0
  46. package/dist/theme/components/form-label.d.ts +17 -0
  47. package/dist/theme/components/form-label.js +11 -0
  48. package/dist/theme/components/icon.d.ts +17 -0
  49. package/dist/theme/components/icon.js +22 -0
  50. package/dist/theme/components/input-adornment.d.ts +1027 -0
  51. package/dist/theme/components/input-adornment.js +13 -0
  52. package/dist/theme/components/input-base.d.ts +18 -0
  53. package/dist/theme/components/input-base.js +16 -0
  54. package/dist/theme/components/linear-progress.d.ts +1023 -0
  55. package/dist/theme/components/linear-progress.js +16 -0
  56. package/dist/theme/components/link.d.ts +42 -0
  57. package/dist/theme/components/link.js +38 -0
  58. package/dist/theme/components/list-item-button.d.ts +155 -0
  59. package/dist/theme/components/list-item-button.js +44 -0
  60. package/dist/theme/components/list-item-icon.d.ts +7 -0
  61. package/dist/theme/components/list-item-icon.js +10 -0
  62. package/dist/theme/components/list-item-text.d.ts +22 -0
  63. package/dist/theme/components/list-item-text.js +16 -0
  64. package/dist/theme/components/list-item.d.ts +92 -0
  65. package/dist/theme/components/list-item.js +20 -0
  66. package/dist/theme/components/list-subheader.d.ts +20 -0
  67. package/dist/theme/components/list-subheader.js +14 -0
  68. package/dist/theme/components/list.d.ts +10 -0
  69. package/dist/theme/components/list.js +13 -0
  70. package/dist/theme/components/menu-item.d.ts +8 -0
  71. package/dist/theme/components/menu-item.js +8 -0
  72. package/dist/theme/components/menu.d.ts +20 -0
  73. package/dist/theme/components/menu.js +23 -0
  74. package/dist/theme/components/outlined-input.d.ts +81 -0
  75. package/dist/theme/components/outlined-input.js +64 -0
  76. package/dist/theme/components/pagination-item.d.ts +1028 -0
  77. package/dist/theme/components/pagination-item.js +18 -0
  78. package/dist/theme/components/paper.d.ts +5 -0
  79. package/dist/theme/components/paper.js +8 -0
  80. package/dist/theme/components/select.d.ts +7 -0
  81. package/dist/theme/components/select.js +13 -0
  82. package/dist/theme/components/step-connector.d.ts +15 -0
  83. package/dist/theme/components/step-connector.js +13 -0
  84. package/dist/theme/components/step-icon.d.ts +1043 -0
  85. package/dist/theme/components/step-icon.js +46 -0
  86. package/dist/theme/components/step-label.d.ts +1025 -0
  87. package/dist/theme/components/step-label.js +13 -0
  88. package/dist/theme/components/tab.d.ts +1031 -0
  89. package/dist/theme/components/tab.js +34 -0
  90. package/dist/theme/components/table-cell.d.ts +12 -0
  91. package/dist/theme/components/table-cell.js +10 -0
  92. package/dist/theme/components/table-pagination.d.ts +14 -0
  93. package/dist/theme/components/table-pagination.js +18 -0
  94. package/dist/theme/components/tabs.d.ts +1046 -0
  95. package/dist/theme/components/tabs.js +24 -0
  96. package/dist/theme/components/toggle-button-group.d.ts +1024 -0
  97. package/dist/theme/components/toggle-button-group.js +23 -0
  98. package/dist/theme/components/toggle-button.d.ts +1027 -0
  99. package/dist/theme/components/toggle-button.js +21 -0
  100. package/dist/{useMobilePicker-DVnEuXv1.js → useMobilePicker-B-bNHHXB.js} +1 -1
  101. package/package.json +1 -1
  102. package/dist/s-ai-tool-bar/index.d.ts +0 -2
  103. package/dist/s-ai-tool-bar/index.js +0 -5
  104. package/dist/s-ai-tool-bar/s-ai-tool-bar.js +0 -481
  105. package/dist/s-button-link/index.d.ts +0 -2
  106. package/dist/s-button-link/index.js +0 -4
  107. package/dist/s-button-link/s-button-link.js +0 -37
  108. package/dist/theme/customizations/data-display.d.ts +0 -2
  109. package/dist/theme/customizations/data-display.js +0 -142
  110. package/dist/theme/customizations/feedback.d.ts +0 -2
  111. package/dist/theme/customizations/feedback.js +0 -39
  112. package/dist/theme/customizations/inputs.d.ts +0 -2
  113. package/dist/theme/customizations/inputs.js +0 -230
  114. package/dist/theme/customizations/navigation.d.ts +0 -2
  115. package/dist/theme/customizations/navigation.js +0 -226
  116. package/dist/theme/customizations/surfaces.d.ts +0 -2
  117. package/dist/theme/customizations/surfaces.js +0 -111
@@ -1,12 +1,12 @@
1
1
  import * as s from "react";
2
- import { c as F, P as e, o as wo, g as eo, k as Do } from "./createTheme-DgoJyWM-.js";
2
+ import { P as e, c as F, o as wo, g as eo, k as Do } from "./createTheme-DgoJyWM-.js";
3
3
  import { c as ie } from "./clsx-OuTLNxxd.js";
4
- import { u as ae, c as Q, m as U } from "./DefaultPropsProvider-DPuuPIbS.js";
4
+ import { m as U, u as ae, c as Q } from "./DefaultPropsProvider-DPuuPIbS.js";
5
5
  import { c as be } from "./createSimplePaletteValueFilter-B7--0ryQ.js";
6
6
  import { g as Lo, i as uo } from "./iconButtonClasses-BMfIhNTh.js";
7
7
  import { j as m } from "./jsx-runtime-tc70JA_2.js";
8
8
  import { s as N, r as ue, a as Uo } from "./styled-8Y5KoVix.js";
9
- import { c as Io, B as Vo, u as We, d as Ho, i as po, r as ge, e as _o, b as qo } from "./ButtonBase-D73M0QY5.js";
9
+ import { u as We, d as Vo, i as po, r as ge, e as Ho, b as _o, c as Io, B as qo } from "./ButtonBase-D73M0QY5.js";
10
10
  import { g as ye } from "./generateUtilityClass-BhfUaMgk.js";
11
11
  import { g as he } from "./generateUtilityClasses-E9gROIFd.js";
12
12
  import { css as Ro, keyframes as To } from "@emotion/react";
@@ -42,481 +42,723 @@ function Ye(o, t) {
42
42
  o.type.muiName ?? o.type?._payload?.value?.muiName
43
43
  ) !== -1;
44
44
  }
45
- function nt(o) {
46
- return ye("MuiCircularProgress", o);
47
- }
48
- he("MuiCircularProgress", ["root", "determinate", "indeterminate", "colorPrimary", "colorSecondary", "svg", "track", "circle", "circleDeterminate", "circleIndeterminate", "circleDisableShrink"]);
49
- const G = 44, Je = To`
50
- 0% {
51
- transform: rotate(0deg);
52
- }
53
-
54
- 100% {
55
- transform: rotate(360deg);
56
- }
57
- `, Qe = To`
58
- 0% {
59
- stroke-dasharray: 1px, 200px;
60
- stroke-dashoffset: 0;
61
- }
62
-
63
- 50% {
64
- stroke-dasharray: 100px, 200px;
65
- stroke-dashoffset: -15px;
66
- }
67
-
68
- 100% {
69
- stroke-dasharray: 1px, 200px;
70
- stroke-dashoffset: -126px;
71
- }
72
- `, rt = typeof Je != "string" ? Ro`
73
- animation: ${Je} 1.4s linear infinite;
74
- ` : null, st = typeof Qe != "string" ? Ro`
75
- animation: ${Qe} 1.4s ease-in-out infinite;
76
- ` : null, it = (o) => {
77
- const {
78
- classes: t,
79
- variant: n,
80
- color: r,
81
- disableShrink: a
82
- } = o, d = {
83
- root: ["root", n, `color${F(r)}`],
84
- svg: ["svg"],
85
- track: ["track"],
86
- circle: ["circle", `circle${F(n)}`, a && "circleDisableShrink"]
87
- };
88
- return Q(d, nt, t);
89
- }, at = N("span", {
90
- name: "MuiCircularProgress",
91
- slot: "Root",
92
- overridesResolver: (o, t) => {
93
- const {
94
- ownerState: n
95
- } = o;
96
- return [t.root, t[n.variant], t[`color${F(n.color)}`]];
97
- }
98
- })(U(({
99
- theme: o
100
- }) => ({
101
- display: "inline-block",
102
- variants: [{
103
- props: {
104
- variant: "determinate"
105
- },
106
- style: {
107
- transition: o.transitions.create("transform")
108
- }
109
- }, {
110
- props: {
111
- variant: "indeterminate"
112
- },
113
- style: rt || {
114
- animation: `${Je} 1.4s linear infinite`
115
- }
116
- }, ...Object.entries(o.palette).filter(be()).map(([t]) => ({
117
- props: {
118
- color: t
119
- },
120
- style: {
121
- color: (o.vars || o).palette[t].main
122
- }
123
- }))]
124
- }))), lt = N("svg", {
125
- name: "MuiCircularProgress",
126
- slot: "Svg"
45
+ var yo;
46
+ const nt = N("fieldset", {
47
+ name: "MuiNotchedOutlined",
48
+ shouldForwardProp: ue
127
49
  })({
128
- display: "block"
129
- // Keeps the progress centered
130
- }), dt = N("circle", {
131
- name: "MuiCircularProgress",
132
- slot: "Circle",
133
- overridesResolver: (o, t) => {
134
- const {
135
- ownerState: n
136
- } = o;
137
- return [t.circle, t[`circle${F(n.variant)}`], n.disableShrink && t.circleDisableShrink];
138
- }
50
+ textAlign: "left",
51
+ position: "absolute",
52
+ bottom: 0,
53
+ right: 0,
54
+ top: -5,
55
+ left: 0,
56
+ margin: 0,
57
+ padding: "0 8px",
58
+ pointerEvents: "none",
59
+ borderRadius: "inherit",
60
+ borderStyle: "solid",
61
+ borderWidth: 1,
62
+ overflow: "hidden",
63
+ minWidth: "0%"
64
+ }), rt = N("legend", {
65
+ name: "MuiNotchedOutlined",
66
+ shouldForwardProp: ue
139
67
  })(U(({
140
68
  theme: o
141
69
  }) => ({
142
- stroke: "currentColor",
70
+ float: "unset",
71
+ // Fix conflict with bootstrap
72
+ width: "auto",
73
+ // Fix conflict with bootstrap
74
+ overflow: "hidden",
75
+ // Fix Horizontal scroll when label too long
143
76
  variants: [{
144
- props: {
145
- variant: "determinate"
146
- },
77
+ props: ({
78
+ ownerState: t
79
+ }) => !t.withLabel,
147
80
  style: {
148
- transition: o.transitions.create("stroke-dashoffset")
81
+ padding: 0,
82
+ lineHeight: "11px",
83
+ // sync with `height` in `legend` styles
84
+ transition: o.transitions.create("width", {
85
+ duration: 150,
86
+ easing: o.transitions.easing.easeOut
87
+ })
149
88
  }
150
89
  }, {
151
- props: {
152
- variant: "indeterminate"
153
- },
90
+ props: ({
91
+ ownerState: t
92
+ }) => t.withLabel,
154
93
  style: {
155
- // Some default value that looks fine waiting for the animation to kicks in.
156
- strokeDasharray: "80px, 200px",
157
- strokeDashoffset: 0
158
- // Add the unit to fix a Edge 16 and below bug.
94
+ display: "block",
95
+ // Fix conflict with normalize.css and sanitize.css
96
+ padding: 0,
97
+ height: 11,
98
+ // sync with `lineHeight` in `legend` styles
99
+ fontSize: "0.75em",
100
+ visibility: "hidden",
101
+ maxWidth: 0.01,
102
+ transition: o.transitions.create("max-width", {
103
+ duration: 50,
104
+ easing: o.transitions.easing.easeOut
105
+ }),
106
+ whiteSpace: "nowrap",
107
+ "& > span": {
108
+ paddingLeft: 5,
109
+ paddingRight: 5,
110
+ display: "inline-block",
111
+ opacity: 0,
112
+ visibility: "visible"
113
+ }
159
114
  }
160
115
  }, {
161
116
  props: ({
162
117
  ownerState: t
163
- }) => t.variant === "indeterminate" && !t.disableShrink,
164
- style: st || {
165
- // At runtime for Pigment CSS, `bufferAnimation` will be null and the generated keyframe will be used.
166
- animation: `${Qe} 1.4s ease-in-out infinite`
118
+ }) => t.withLabel && t.notched,
119
+ style: {
120
+ maxWidth: "100%",
121
+ transition: o.transitions.create("max-width", {
122
+ duration: 100,
123
+ easing: o.transitions.easing.easeOut,
124
+ delay: 50
125
+ })
167
126
  }
168
127
  }]
169
- }))), ct = N("circle", {
170
- name: "MuiCircularProgress",
171
- slot: "Track"
172
- })(U(({
173
- theme: o
174
- }) => ({
175
- stroke: "currentColor",
176
- opacity: (o.vars || o).palette.action.activatedOpacity
177
- }))), Po = /* @__PURE__ */ s.forwardRef(function(t, n) {
178
- const r = ae({
179
- props: t,
180
- name: "MuiCircularProgress"
181
- }), {
182
- className: a,
183
- color: d = "primary",
184
- disableShrink: i = !1,
185
- enableTrackSlot: u = !1,
186
- size: v = 40,
187
- style: S,
188
- thickness: f = 3.6,
189
- value: y = 0,
190
- variant: b = "indeterminate",
191
- ...R
192
- } = r, C = {
193
- ...r,
194
- color: d,
195
- disableShrink: i,
196
- size: v,
197
- thickness: f,
198
- value: y,
199
- variant: b,
200
- enableTrackSlot: u
201
- }, T = it(C), g = {}, h = {}, O = {};
202
- if (b === "determinate") {
203
- const c = 2 * Math.PI * ((G - f) / 2);
204
- g.strokeDasharray = c.toFixed(3), O["aria-valuenow"] = Math.round(y), g.strokeDashoffset = `${((100 - y) / 100 * c).toFixed(3)}px`, h.transform = "rotate(-90deg)";
205
- }
206
- return /* @__PURE__ */ m.jsx(at, {
207
- className: ie(T.root, a),
208
- style: {
209
- width: v,
210
- height: v,
211
- ...h,
212
- ...S
213
- },
214
- ownerState: C,
215
- ref: n,
216
- role: "progressbar",
217
- ...O,
218
- ...R,
219
- children: /* @__PURE__ */ m.jsxs(lt, {
220
- className: T.svg,
221
- ownerState: C,
222
- viewBox: `${G / 2} ${G / 2} ${G} ${G}`,
223
- children: [u ? /* @__PURE__ */ m.jsx(ct, {
224
- className: T.track,
225
- ownerState: C,
226
- cx: G,
227
- cy: G,
228
- r: (G - f) / 2,
229
- fill: "none",
230
- strokeWidth: f,
231
- "aria-hidden": "true"
232
- }) : null, /* @__PURE__ */ m.jsx(dt, {
233
- className: T.circle,
234
- style: g,
235
- ownerState: C,
236
- cx: G,
237
- cy: G,
238
- r: (G - f) / 2,
239
- fill: "none",
240
- strokeWidth: f
241
- })]
242
- })
243
- });
244
- });
245
- process.env.NODE_ENV !== "production" && (Po.propTypes = {
246
- // ┌────────────────────────────── Warning ──────────────────────────────┐
247
- // │ These PropTypes are generated from the TypeScript type definitions. │
248
- // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
249
- // └─────────────────────────────────────────────────────────────────────┘
250
- /**
251
- * Override or extend the styles applied to the component.
252
- */
253
- classes: e.object,
254
- /**
255
- * @ignore
256
- */
257
- className: e.string,
258
- /**
259
- * The color of the component.
260
- * It supports both default and custom theme colors, which can be added as shown in the
261
- * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
262
- * @default 'primary'
263
- */
264
- color: e.oneOfType([e.oneOf(["inherit", "primary", "secondary", "error", "info", "success", "warning"]), e.string]),
265
- /**
266
- * If `true`, the shrink animation is disabled.
267
- * This only works if variant is `indeterminate`.
268
- * @default false
128
+ })));
129
+ function Po(o) {
130
+ const {
131
+ children: t,
132
+ classes: n,
133
+ className: r,
134
+ label: a,
135
+ notched: d,
136
+ ...i
137
+ } = o, u = a != null && a !== "", v = {
138
+ ...o,
139
+ notched: d,
140
+ withLabel: u
141
+ };
142
+ return /* @__PURE__ */ m.jsx(nt, {
143
+ "aria-hidden": !0,
144
+ className: r,
145
+ ownerState: v,
146
+ ...i,
147
+ children: /* @__PURE__ */ m.jsx(rt, {
148
+ ownerState: v,
149
+ children: u ? /* @__PURE__ */ m.jsx("span", {
150
+ children: a
151
+ }) : (
152
+ // notranslate needed while Google Translate will not fix zero-width space issue
153
+ yo || (yo = /* @__PURE__ */ m.jsx("span", {
154
+ className: "notranslate",
155
+ "aria-hidden": !0,
156
+ children: "​"
157
+ }))
158
+ )
159
+ })
160
+ });
161
+ }
162
+ process.env.NODE_ENV !== "production" && (Po.propTypes = {
163
+ /**
164
+ * The content of the component.
269
165
  */
270
- disableShrink: Io(e.bool, (o) => o.disableShrink && o.variant && o.variant !== "indeterminate" ? new Error("MUI: You have provided the `disableShrink` prop with a variant other than `indeterminate`. This will have no effect.") : null),
166
+ children: e.node,
271
167
  /**
272
- * If `true`, a track circle slot is mounted to show a subtle background for the progress.
273
- * The `size` and `thickness` apply to the track slot to be consistent with the progress circle.
274
- * @default false
168
+ * Override or extend the styles applied to the component.
275
169
  */
276
- enableTrackSlot: e.bool,
170
+ classes: e.object,
277
171
  /**
278
- * The size of the component.
279
- * If using a number, the pixel unit is assumed.
280
- * If using a string, you need to provide the CSS unit, for example '3rem'.
281
- * @default 40
172
+ * @ignore
282
173
  */
283
- size: e.oneOfType([e.number, e.string]),
174
+ className: e.string,
175
+ /**
176
+ * The label.
177
+ */
178
+ label: e.node,
179
+ /**
180
+ * If `true`, the outline is notched to accommodate the label.
181
+ */
182
+ notched: e.bool.isRequired,
284
183
  /**
285
184
  * @ignore
286
185
  */
287
- style: e.object,
186
+ style: e.object
187
+ });
188
+ function to({
189
+ props: o,
190
+ states: t,
191
+ muiFormControl: n
192
+ }) {
193
+ return t.reduce((r, a) => (r[a] = o[a], n && typeof o[a] > "u" && (r[a] = n[a]), r), {});
194
+ }
195
+ function Me(o) {
196
+ return parseInt(o, 10) || 0;
197
+ }
198
+ const st = {
199
+ shadow: {
200
+ // Visibility needed to hide the extra text area on iPads
201
+ visibility: "hidden",
202
+ // Remove from the content flow
203
+ position: "absolute",
204
+ // Ignore the scrollbar width
205
+ overflow: "hidden",
206
+ height: 0,
207
+ top: 0,
208
+ left: 0,
209
+ // Create a new layer, increase the isolation of the computed values
210
+ transform: "translateZ(0)"
211
+ }
212
+ };
213
+ function it(o) {
214
+ for (const t in o)
215
+ return !1;
216
+ return !0;
217
+ }
218
+ function ho(o) {
219
+ return it(o) || o.outerHeightStyle === 0 && !o.overflowing;
220
+ }
221
+ const jo = /* @__PURE__ */ s.forwardRef(function(t, n) {
222
+ const {
223
+ onChange: r,
224
+ maxRows: a,
225
+ minRows: d = 1,
226
+ style: i,
227
+ value: u,
228
+ ...v
229
+ } = t, {
230
+ current: S
231
+ } = s.useRef(u != null), f = s.useRef(null), y = We(n, f), b = s.useRef(null), R = s.useRef(null), C = s.useCallback(() => {
232
+ const c = f.current, p = R.current;
233
+ if (!c || !p)
234
+ return;
235
+ const w = fo(c).getComputedStyle(c);
236
+ if (w.width === "0px")
237
+ return {
238
+ outerHeightStyle: 0,
239
+ overflowing: !1
240
+ };
241
+ p.style.width = w.width, p.value = c.value || t.placeholder || "x", p.value.slice(-1) === `
242
+ ` && (p.value += " ");
243
+ const V = w.boxSizing, H = Me(w.paddingBottom) + Me(w.paddingTop), _ = Me(w.borderBottomWidth) + Me(w.borderTopWidth), B = p.scrollHeight;
244
+ p.value = "x";
245
+ const D = p.scrollHeight;
246
+ let E = B;
247
+ d && (E = Math.max(Number(d) * D, E)), a && (E = Math.min(Number(a) * D, E)), E = Math.max(E, D);
248
+ const W = E + (V === "border-box" ? H + _ : 0), L = Math.abs(E - B) <= 1;
249
+ return {
250
+ outerHeightStyle: W,
251
+ overflowing: L
252
+ };
253
+ }, [a, d, t.placeholder]), T = Vo(() => {
254
+ const c = f.current, p = C();
255
+ if (!c || !p || ho(p))
256
+ return !1;
257
+ const P = p.outerHeightStyle;
258
+ return b.current != null && b.current !== P;
259
+ }), g = s.useCallback(() => {
260
+ const c = f.current, p = C();
261
+ if (!c || !p || ho(p))
262
+ return;
263
+ const P = p.outerHeightStyle;
264
+ b.current !== P && (b.current = P, c.style.height = `${P}px`), c.style.overflow = p.overflowing ? "hidden" : "";
265
+ }, [C]), h = s.useRef(-1);
266
+ Ze(() => {
267
+ const c = Ko(g), p = f?.current;
268
+ if (!p)
269
+ return;
270
+ const P = fo(p);
271
+ P.addEventListener("resize", c);
272
+ let w;
273
+ return typeof ResizeObserver < "u" && (w = new ResizeObserver(() => {
274
+ T() && (w.unobserve(p), cancelAnimationFrame(h.current), g(), h.current = requestAnimationFrame(() => {
275
+ w.observe(p);
276
+ }));
277
+ }), w.observe(p)), () => {
278
+ c.clear(), cancelAnimationFrame(h.current), P.removeEventListener("resize", c), w && w.disconnect();
279
+ };
280
+ }, [C, g, T]), Ze(() => {
281
+ g();
282
+ });
283
+ const O = (c) => {
284
+ S || g();
285
+ const p = c.target, P = p.value.length, w = p.value.endsWith(`
286
+ `), V = p.selectionStart === P;
287
+ w && V && p.setSelectionRange(P, P), r && r(c);
288
+ };
289
+ return /* @__PURE__ */ m.jsxs(s.Fragment, {
290
+ children: [/* @__PURE__ */ m.jsx("textarea", {
291
+ value: u,
292
+ onChange: O,
293
+ ref: y,
294
+ rows: d,
295
+ style: i,
296
+ ...v
297
+ }), /* @__PURE__ */ m.jsx("textarea", {
298
+ "aria-hidden": !0,
299
+ className: t.className,
300
+ readOnly: !0,
301
+ ref: R,
302
+ tabIndex: -1,
303
+ style: {
304
+ ...st.shadow,
305
+ ...i,
306
+ paddingTop: 0,
307
+ paddingBottom: 0
308
+ }
309
+ })]
310
+ });
311
+ });
312
+ process.env.NODE_ENV !== "production" && (jo.propTypes = {
313
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
314
+ // │ These PropTypes are generated from the TypeScript type definitions. │
315
+ // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │
316
+ // └─────────────────────────────────────────────────────────────────────┘
288
317
  /**
289
- * The system prop that allows defining system overrides as well as additional CSS styles.
318
+ * @ignore
290
319
  */
291
- sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
320
+ className: e.string,
292
321
  /**
293
- * The thickness of the circle.
294
- * @default 3.6
322
+ * Maximum number of rows to display.
295
323
  */
296
- thickness: e.number,
324
+ maxRows: e.oneOfType([e.number, e.string]),
297
325
  /**
298
- * The value of the progress indicator for the determinate variant.
299
- * Value between 0 and 100.
300
- * @default 0
326
+ * Minimum number of rows to display.
327
+ * @default 1
301
328
  */
302
- value: e.number,
329
+ minRows: e.oneOfType([e.number, e.string]),
303
330
  /**
304
- * The variant to use.
305
- * Use indeterminate when there is no progress value.
306
- * @default 'indeterminate'
331
+ * @ignore
307
332
  */
308
- variant: e.oneOf(["determinate", "indeterminate"])
333
+ onChange: e.func,
334
+ /**
335
+ * @ignore
336
+ */
337
+ placeholder: e.string,
338
+ /**
339
+ * @ignore
340
+ */
341
+ style: e.object,
342
+ /**
343
+ * @ignore
344
+ */
345
+ value: e.oneOfType([e.arrayOf(e.string), e.number, e.string])
309
346
  });
310
- const ut = (o) => {
347
+ function vo(o) {
348
+ return o != null && !(Array.isArray(o) && o.length === 0);
349
+ }
350
+ function Be(o, t = !1) {
351
+ return o && (vo(o.value) && o.value !== "" || t && vo(o.defaultValue) && o.defaultValue !== "");
352
+ }
353
+ function at(o) {
354
+ return o.startAdornment;
355
+ }
356
+ var So;
357
+ const Ae = (o, t) => {
358
+ const {
359
+ ownerState: n
360
+ } = o;
361
+ 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${F(n.color)}`], n.fullWidth && t.fullWidth, n.hiddenLabel && t.hiddenLabel];
362
+ }, ze = (o, t) => {
363
+ const {
364
+ ownerState: n
365
+ } = o;
366
+ 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];
367
+ }, lt = (o) => {
311
368
  const {
312
369
  classes: t,
313
- disabled: n,
314
- color: r,
315
- edge: a,
316
- size: d,
317
- loading: i
318
- } = o, u = {
319
- root: ["root", i && "loading", n && "disabled", r !== "default" && `color${F(r)}`, a && `edge${F(a)}`, `size${F(d)}`],
320
- loadingIndicator: ["loadingIndicator"],
321
- loadingWrapper: ["loadingWrapper"]
322
- };
323
- return Q(u, Lo, t);
324
- }, pt = N(Vo, {
325
- name: "MuiIconButton",
326
- slot: "Root",
327
- overridesResolver: (o, t) => {
328
- const {
329
- ownerState: n
330
- } = o;
331
- return [t.root, n.loading && t.loading, n.color !== "default" && t[`color${F(n.color)}`], n.edge && t[`edge${F(n.edge)}`], t[`size${F(n.size)}`]];
332
- }
370
+ color: n,
371
+ disabled: r,
372
+ error: a,
373
+ endAdornment: d,
374
+ focused: i,
375
+ formControl: u,
376
+ fullWidth: v,
377
+ hiddenLabel: S,
378
+ multiline: f,
379
+ readOnly: y,
380
+ size: b,
381
+ startAdornment: R,
382
+ type: C
383
+ } = o, T = {
384
+ root: ["root", `color${F(n)}`, r && "disabled", a && "error", v && "fullWidth", i && "focused", u && "formControl", b && b !== "medium" && `size${F(b)}`, f && "multiline", R && "adornedStart", d && "adornedEnd", S && "hiddenLabel", y && "readOnly"],
385
+ input: ["input", r && "disabled", C === "search" && "inputTypeSearch", f && "inputMultiline", b === "small" && "inputSizeSmall", S && "inputHiddenLabel", R && "inputAdornedStart", d && "inputAdornedEnd", y && "readOnly"]
386
+ };
387
+ return Q(T, Jo, t);
388
+ }, De = N("div", {
389
+ name: "MuiInputBase",
390
+ slot: "Root",
391
+ overridesResolver: Ae
333
392
  })(U(({
334
393
  theme: o
335
394
  }) => ({
336
- textAlign: "center",
337
- flex: "0 0 auto",
338
- fontSize: o.typography.pxToRem(24),
339
- padding: 8,
340
- borderRadius: "50%",
341
- color: (o.vars || o).palette.action.active,
342
- transition: o.transitions.create("background-color", {
343
- duration: o.transitions.duration.shortest
344
- }),
395
+ ...o.typography.body1,
396
+ color: (o.vars || o).palette.text.primary,
397
+ lineHeight: "1.4375em",
398
+ // 23px
399
+ boxSizing: "border-box",
400
+ // Prevent padding issue with fullWidth.
401
+ position: "relative",
402
+ cursor: "text",
403
+ display: "inline-flex",
404
+ alignItems: "center",
405
+ [`&.${je.disabled}`]: {
406
+ color: (o.vars || o).palette.text.disabled,
407
+ cursor: "default"
408
+ },
345
409
  variants: [{
346
- props: (t) => !t.disableRipple,
347
- style: {
348
- "--IconButton-hoverBg": o.alpha((o.vars || o).palette.action.active, (o.vars || o).palette.action.hoverOpacity),
349
- "&:hover": {
350
- backgroundColor: "var(--IconButton-hoverBg)",
351
- // Reset on touch devices, it doesn't add specificity
352
- "@media (hover: none)": {
353
- backgroundColor: "transparent"
354
- }
355
- }
356
- }
357
- }, {
358
- props: {
359
- edge: "start"
360
- },
361
- style: {
362
- marginLeft: -12
363
- }
364
- }, {
365
- props: {
366
- edge: "start",
367
- size: "small"
368
- },
410
+ props: ({
411
+ ownerState: t
412
+ }) => t.multiline,
369
413
  style: {
370
- marginLeft: -3
414
+ padding: "4px 0 5px"
371
415
  }
372
416
  }, {
373
- props: {
374
- edge: "end"
375
- },
417
+ props: ({
418
+ ownerState: t,
419
+ size: n
420
+ }) => t.multiline && n === "small",
376
421
  style: {
377
- marginRight: -12
422
+ paddingTop: 1
378
423
  }
379
424
  }, {
380
- props: {
381
- edge: "end",
382
- size: "small"
383
- },
425
+ props: ({
426
+ ownerState: t
427
+ }) => t.fullWidth,
384
428
  style: {
385
- marginRight: -3
429
+ width: "100%"
386
430
  }
387
431
  }]
388
- })), U(({
432
+ }))), Le = N("input", {
433
+ name: "MuiInputBase",
434
+ slot: "Input",
435
+ overridesResolver: ze
436
+ })(U(({
389
437
  theme: o
390
- }) => ({
391
- variants: [{
392
- props: {
393
- color: "inherit"
438
+ }) => {
439
+ const t = o.palette.mode === "light", n = {
440
+ color: "currentColor",
441
+ ...o.vars ? {
442
+ opacity: o.vars.opacity.inputPlaceholder
443
+ } : {
444
+ opacity: t ? 0.42 : 0.5
394
445
  },
395
- style: {
396
- color: "inherit"
397
- }
398
- }, ...Object.entries(o.palette).filter(be()).map(([t]) => ({
399
- props: {
400
- color: t
446
+ transition: o.transitions.create("opacity", {
447
+ duration: o.transitions.duration.shorter
448
+ })
449
+ }, r = {
450
+ opacity: "0 !important"
451
+ }, a = o.vars ? {
452
+ opacity: o.vars.opacity.inputPlaceholder
453
+ } : {
454
+ opacity: t ? 0.42 : 0.5
455
+ };
456
+ return {
457
+ font: "inherit",
458
+ letterSpacing: "inherit",
459
+ color: "currentColor",
460
+ padding: "4px 0 5px",
461
+ border: 0,
462
+ boxSizing: "content-box",
463
+ background: "none",
464
+ height: "1.4375em",
465
+ // Reset 23pxthe native input line-height
466
+ margin: 0,
467
+ // Reset for Safari
468
+ WebkitTapHighlightColor: "transparent",
469
+ display: "block",
470
+ // Make the flex item shrink with Firefox
471
+ minWidth: 0,
472
+ width: "100%",
473
+ "&::-webkit-input-placeholder": n,
474
+ "&::-moz-placeholder": n,
475
+ // Firefox 19+
476
+ "&::-ms-input-placeholder": n,
477
+ // Edge
478
+ "&:focus": {
479
+ outline: 0
401
480
  },
402
- style: {
403
- color: (o.vars || o).palette[t].main
404
- }
405
- })), ...Object.entries(o.palette).filter(be()).map(([t]) => ({
406
- props: {
407
- color: t
481
+ // Reset Firefox invalid required input style
482
+ "&:invalid": {
483
+ boxShadow: "none"
408
484
  },
409
- style: {
410
- "--IconButton-hoverBg": o.alpha((o.vars || o).palette[t].main, (o.vars || o).palette.action.hoverOpacity)
411
- }
412
- })), {
413
- props: {
414
- size: "small"
485
+ "&::-webkit-search-decoration": {
486
+ // Remove the padding when type=search.
487
+ WebkitAppearance: "none"
415
488
  },
416
- style: {
417
- padding: 5,
418
- fontSize: o.typography.pxToRem(18)
419
- }
420
- }, {
421
- props: {
422
- size: "large"
489
+ // Show and hide the placeholder logic
490
+ [`label[data-shrink=false] + .${je.formControl} &`]: {
491
+ "&::-webkit-input-placeholder": r,
492
+ "&::-moz-placeholder": r,
493
+ // Firefox 19+
494
+ "&::-ms-input-placeholder": r,
495
+ // Edge
496
+ "&:focus::-webkit-input-placeholder": a,
497
+ "&:focus::-moz-placeholder": a,
498
+ // Firefox 19+
499
+ "&:focus::-ms-input-placeholder": a
500
+ // Edge
423
501
  },
424
- style: {
425
- padding: 12,
426
- fontSize: o.typography.pxToRem(28)
502
+ [`&.${je.disabled}`]: {
503
+ opacity: 1,
504
+ // Reset iOS opacity
505
+ WebkitTextFillColor: (o.vars || o).palette.text.disabled
506
+ // Fix opacity Safari bug
507
+ },
508
+ variants: [{
509
+ props: ({
510
+ ownerState: d
511
+ }) => !d.disableInjectingGlobalStyles,
512
+ style: {
513
+ animationName: "mui-auto-fill-cancel",
514
+ animationDuration: "10ms",
515
+ "&:-webkit-autofill": {
516
+ animationDuration: "5000s",
517
+ animationName: "mui-auto-fill"
518
+ }
519
+ }
520
+ }, {
521
+ props: {
522
+ size: "small"
523
+ },
524
+ style: {
525
+ paddingTop: 1
526
+ }
527
+ }, {
528
+ props: ({
529
+ ownerState: d
530
+ }) => d.multiline,
531
+ style: {
532
+ height: "auto",
533
+ resize: "none",
534
+ padding: 0,
535
+ paddingTop: 0
536
+ }
537
+ }, {
538
+ props: {
539
+ type: "search"
540
+ },
541
+ style: {
542
+ MozAppearance: "textfield"
543
+ // Improve type search style.
544
+ }
545
+ }]
546
+ };
547
+ })), Co = et({
548
+ "@keyframes mui-auto-fill": {
549
+ from: {
550
+ display: "block"
427
551
  }
428
- }],
429
- [`&.${uo.disabled}`]: {
430
- backgroundColor: "transparent",
431
- color: (o.vars || o).palette.action.disabled
432
552
  },
433
- [`&.${uo.loading}`]: {
434
- color: "transparent"
553
+ "@keyframes mui-auto-fill-cancel": {
554
+ from: {
555
+ display: "block"
556
+ }
435
557
  }
436
- }))), ft = N("span", {
437
- name: "MuiIconButton",
438
- slot: "LoadingIndicator"
439
- })(({
440
- theme: o
441
- }) => ({
442
- display: "none",
443
- position: "absolute",
444
- visibility: "visible",
445
- top: "50%",
446
- left: "50%",
447
- transform: "translate(-50%, -50%)",
448
- color: (o.vars || o).palette.action.disabled,
449
- variants: [{
450
- props: {
451
- loading: !0
452
- },
453
- style: {
454
- display: "flex"
455
- }
456
- }]
457
- })), mt = /* @__PURE__ */ s.forwardRef(function(t, n) {
558
+ }), Ue = /* @__PURE__ */ s.forwardRef(function(t, n) {
458
559
  const r = ae({
459
560
  props: t,
460
- name: "MuiIconButton"
561
+ name: "MuiInputBase"
461
562
  }), {
462
- edge: a = !1,
463
- children: d,
464
- className: i,
465
- color: u = "default",
466
- disabled: v = !1,
467
- disableFocusRipple: S = !1,
468
- size: f = "medium",
469
- id: y,
470
- loading: b = null,
471
- loadingIndicator: R,
472
- ...C
473
- } = r, T = ko(y), g = R ?? /* @__PURE__ */ m.jsx(Po, {
474
- "aria-labelledby": T,
475
- color: "inherit",
476
- size: 16
477
- }), h = {
563
+ "aria-describedby": a,
564
+ autoComplete: d,
565
+ autoFocus: i,
566
+ className: u,
567
+ color: v,
568
+ components: S = {},
569
+ componentsProps: f = {},
570
+ defaultValue: y,
571
+ disabled: b,
572
+ disableInjectingGlobalStyles: R,
573
+ endAdornment: C,
574
+ error: T,
575
+ fullWidth: g = !1,
576
+ id: h,
577
+ inputComponent: O = "input",
578
+ inputProps: c = {},
579
+ inputRef: p,
580
+ margin: P,
581
+ maxRows: w,
582
+ minRows: V,
583
+ multiline: H = !1,
584
+ name: _,
585
+ onBlur: B,
586
+ onChange: D,
587
+ onClick: E,
588
+ onFocus: W,
589
+ onKeyDown: L,
590
+ onKeyUp: X,
591
+ placeholder: q,
592
+ readOnly: A,
593
+ renderSuffix: K,
594
+ rows: te,
595
+ size: Ve,
596
+ slotProps: j = {},
597
+ slots: ve = {},
598
+ startAdornment: ne,
599
+ type: Ee = "text",
600
+ value: Fe,
601
+ ...ee
602
+ } = r, Y = c.value != null ? c.value : Fe, {
603
+ current: Se
604
+ } = s.useRef(Y != null), Z = s.useRef(), He = s.useCallback((k) => {
605
+ process.env.NODE_ENV !== "production" && k && k.nodeName !== "INPUT" && !k.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(`
606
+ `));
607
+ }, []), Ce = We(Z, p, c.ref, He), [xe, Oe] = s.useState(!1), I = oo();
608
+ process.env.NODE_ENV !== "production" && s.useEffect(() => {
609
+ if (I)
610
+ return I.registerEffect();
611
+ }, [I]);
612
+ const $ = to({
613
+ props: r,
614
+ muiFormControl: I,
615
+ states: ["color", "disabled", "error", "hiddenLabel", "size", "required", "filled"]
616
+ });
617
+ $.focused = I ? I.focused : xe, s.useEffect(() => {
618
+ !I && b && xe && (Oe(!1), B && B());
619
+ }, [I, b, xe, B]);
620
+ const re = I && I.onFilled, we = I && I.onEmpty, le = s.useCallback((k) => {
621
+ Be(k) ? re && re() : we && we();
622
+ }, [re, we]);
623
+ Ze(() => {
624
+ Se && le({
625
+ value: Y
626
+ });
627
+ }, [Y, le, Se]);
628
+ const pe = (k) => {
629
+ W && W(k), c.onFocus && c.onFocus(k), I && I.onFocus ? I.onFocus(k) : Oe(!0);
630
+ }, _e = (k) => {
631
+ B && B(k), c.onBlur && c.onBlur(k), I && I.onBlur ? I.onBlur(k) : Oe(!1);
632
+ }, qe = (k, ...Ne) => {
633
+ if (!Se) {
634
+ const oe = k.target || Z.current;
635
+ if (oe == null)
636
+ 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." : wo(1));
637
+ le({
638
+ value: oe.value
639
+ });
640
+ }
641
+ c.onChange && c.onChange(k, ...Ne), D && D(k, ...Ne);
642
+ };
643
+ s.useEffect(() => {
644
+ le(Z.current);
645
+ }, []);
646
+ const Ke = (k) => {
647
+ Z.current && k.currentTarget === k.target && Z.current.focus(), E && E(k);
648
+ };
649
+ let Ie = O, z = c;
650
+ H && Ie === "input" && (te ? (process.env.NODE_ENV !== "production" && (V || w) && console.warn("MUI: You can not use the `minRows` or `maxRows` props when the input `rows` prop is set."), z = {
651
+ type: void 0,
652
+ minRows: te,
653
+ maxRows: te,
654
+ ...z
655
+ }) : z = {
656
+ type: void 0,
657
+ maxRows: w,
658
+ minRows: V,
659
+ ...z
660
+ }, Ie = jo);
661
+ const $e = (k) => {
662
+ le(k.animationName === "mui-auto-fill-cancel" ? Z.current : {
663
+ value: "x"
664
+ });
665
+ };
666
+ s.useEffect(() => {
667
+ I && I.setAdornedStart(!!ne);
668
+ }, [I, ne]);
669
+ const se = {
478
670
  ...r,
479
- edge: a,
480
- color: u,
481
- disabled: v,
482
- disableFocusRipple: S,
483
- loading: b,
484
- loadingIndicator: g,
485
- size: f
486
- }, O = ut(h);
487
- return /* @__PURE__ */ m.jsxs(pt, {
488
- id: b ? T : y,
489
- className: ie(O.root, i),
490
- centerRipple: !0,
491
- focusRipple: !S,
492
- disabled: v || b,
493
- ref: n,
494
- ...C,
495
- ownerState: h,
496
- children: [typeof b == "boolean" && // use plain HTML span to minimize the runtime overhead
497
- /* @__PURE__ */ m.jsx("span", {
498
- className: O.loadingWrapper,
499
- style: {
500
- display: "contents"
671
+ color: $.color || "primary",
672
+ disabled: $.disabled,
673
+ endAdornment: C,
674
+ error: $.error,
675
+ focused: $.focused,
676
+ formControl: I,
677
+ fullWidth: g,
678
+ hiddenLabel: $.hiddenLabel,
679
+ multiline: H,
680
+ size: $.size,
681
+ startAdornment: ne,
682
+ type: Ee
683
+ }, de = lt(se), fe = ve.root || S.Root || De, Re = j.root || f.root || {}, Te = ve.input || S.Input || Le;
684
+ return z = {
685
+ ...z,
686
+ ...j.input ?? f.input
687
+ }, /* @__PURE__ */ m.jsxs(s.Fragment, {
688
+ children: [!R && typeof Co == "function" && // For Emotion/Styled-components, InputGlobalStyles will be a function
689
+ // For Pigment CSS, this has no effect because the InputGlobalStyles will be null.
690
+ (So || (So = /* @__PURE__ */ m.jsx(Co, {}))), /* @__PURE__ */ m.jsxs(fe, {
691
+ ...Re,
692
+ ref: n,
693
+ onClick: Ke,
694
+ ...ee,
695
+ ...!po(fe) && {
696
+ ownerState: {
697
+ ...se,
698
+ ...Re.ownerState
699
+ }
501
700
  },
502
- children: /* @__PURE__ */ m.jsx(ft, {
503
- className: O.loadingIndicator,
504
- ownerState: h,
505
- children: b && g
506
- })
507
- }), d]
701
+ className: ie(de.root, Re.className, u, A && "MuiInputBase-readOnly"),
702
+ children: [ne, /* @__PURE__ */ m.jsx(No.Provider, {
703
+ value: null,
704
+ children: /* @__PURE__ */ m.jsx(Te, {
705
+ "aria-invalid": $.error,
706
+ "aria-describedby": a,
707
+ autoComplete: d,
708
+ autoFocus: i,
709
+ defaultValue: y,
710
+ disabled: $.disabled,
711
+ id: h,
712
+ onAnimationStart: $e,
713
+ name: _,
714
+ placeholder: q,
715
+ readOnly: A,
716
+ required: $.required,
717
+ rows: te,
718
+ value: Y,
719
+ onKeyDown: L,
720
+ onKeyUp: X,
721
+ type: Ee,
722
+ ...z,
723
+ ...!po(Te) && {
724
+ as: Ie,
725
+ ownerState: {
726
+ ...se,
727
+ ...z.ownerState
728
+ }
729
+ },
730
+ ref: Ce,
731
+ className: ie(de.input, z.className, A && "MuiInputBase-readOnly"),
732
+ onBlur: _e,
733
+ onChange: qe,
734
+ onFocus: pe
735
+ })
736
+ }), C, K ? K({
737
+ ...$,
738
+ startAdornment: ne
739
+ }) : null]
740
+ })]
508
741
  });
509
742
  });
510
- process.env.NODE_ENV !== "production" && (mt.propTypes = {
743
+ process.env.NODE_ENV !== "production" && (Ue.propTypes = {
511
744
  // ┌────────────────────────────── Warning ──────────────────────────────┐
512
745
  // │ These PropTypes are generated from the TypeScript type definitions. │
513
746
  // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
514
747
  // └─────────────────────────────────────────────────────────────────────┘
515
748
  /**
516
- * The icon to display.
749
+ * @ignore
517
750
  */
518
- children: Io(e.node, (o) => s.Children.toArray(o.children).some((n) => /* @__PURE__ */ s.isValidElement(n) && n.props.onClick) ? new Error(["MUI: You are providing an onClick event listener to a child of a button element.", "Prefer applying it to the IconButton directly.", "This guarantees that the whole <button> will be responsive to click events."].join(`
519
- `)) : null),
751
+ "aria-describedby": e.string,
752
+ /**
753
+ * This prop helps users to fill forms faster, especially on mobile devices.
754
+ * The name can be confusing, as it's more like an autofill.
755
+ * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).
756
+ */
757
+ autoComplete: e.string,
758
+ /**
759
+ * If `true`, the `input` element is focused during the first mount.
760
+ */
761
+ autoFocus: e.bool,
520
762
  /**
521
763
  * Override or extend the styles applied to the component.
522
764
  */
@@ -529,780 +771,804 @@ process.env.NODE_ENV !== "production" && (mt.propTypes = {
529
771
  * The color of the component.
530
772
  * It supports both default and custom theme colors, which can be added as shown in the
531
773
  * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
532
- * @default 'default'
774
+ * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.
533
775
  */
534
- color: e.oneOfType([e.oneOf(["inherit", "default", "primary", "secondary", "error", "info", "success", "warning"]), e.string]),
776
+ color: e.oneOfType([e.oneOf(["primary", "secondary", "error", "info", "success", "warning"]), e.string]),
535
777
  /**
536
- * If `true`, the component is disabled.
537
- * @default false
778
+ * The components used for each slot inside.
779
+ *
780
+ * @deprecated use the `slots` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
781
+ *
782
+ * @default {}
783
+ */
784
+ components: e.shape({
785
+ Input: e.elementType,
786
+ Root: e.elementType
787
+ }),
788
+ /**
789
+ * The extra props for the slot components.
790
+ * You can override the existing props or add new ones.
791
+ *
792
+ * @deprecated use the `slotProps` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
793
+ *
794
+ * @default {}
795
+ */
796
+ componentsProps: e.shape({
797
+ input: e.object,
798
+ root: e.object
799
+ }),
800
+ /**
801
+ * The default value. Use when the component is not controlled.
802
+ */
803
+ defaultValue: e.any,
804
+ /**
805
+ * If `true`, the component is disabled.
806
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
538
807
  */
539
808
  disabled: e.bool,
540
809
  /**
541
- * If `true`, the keyboard focus ripple is disabled.
810
+ * 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.
811
+ * This option is intended to help with boosting the initial rendering performance if you are loading a big amount of Input components at once.
542
812
  * @default false
543
813
  */
544
- disableFocusRipple: e.bool,
814
+ disableInjectingGlobalStyles: e.bool,
545
815
  /**
546
- * If `true`, the ripple effect is disabled.
547
- *
548
- * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure
549
- * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.
550
- * @default false
816
+ * End `InputAdornment` for this component.
551
817
  */
552
- disableRipple: e.bool,
818
+ endAdornment: e.node,
553
819
  /**
554
- * If given, uses a negative margin to counteract the padding on one
555
- * side (this is often helpful for aligning the left or right
556
- * side of the icon with content above or below, without ruining the border
557
- * size and shape).
820
+ * If `true`, the `input` will indicate an error.
821
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
822
+ */
823
+ error: e.bool,
824
+ /**
825
+ * If `true`, the `input` will take up the full width of its container.
558
826
  * @default false
559
827
  */
560
- edge: e.oneOf(["end", "start", !1]),
828
+ fullWidth: e.bool,
561
829
  /**
562
- * @ignore
830
+ * The id of the `input` element.
563
831
  */
564
832
  id: e.string,
565
833
  /**
566
- * If `true`, the loading indicator is visible and the button is disabled.
567
- * If `true | false`, the loading wrapper is always rendered before the children to prevent [Google Translation Crash](https://github.com/mui/material-ui/issues/27853).
568
- * @default null
834
+ * The component used for the `input` element.
835
+ * Either a string to use a HTML element or a component.
836
+ * @default 'input'
569
837
  */
570
- loading: e.bool,
838
+ inputComponent: Ho,
571
839
  /**
572
- * Element placed before the children if the button is in loading state.
573
- * The node should contain an element with `role="progressbar"` with an accessible name.
574
- * By default, it renders a `CircularProgress` that is labeled by the button itself.
575
- * @default <CircularProgress color="inherit" size={16} />
840
+ * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#attributes) applied to the `input` element.
841
+ * @default {}
576
842
  */
577
- loadingIndicator: e.node,
843
+ inputProps: e.object,
578
844
  /**
579
- * The size of the component.
580
- * `small` is equivalent to the dense button styling.
581
- * @default 'medium'
845
+ * Pass a ref to the `input` element.
582
846
  */
583
- size: e.oneOfType([e.oneOf(["small", "medium", "large"]), e.string]),
847
+ inputRef: ge,
584
848
  /**
585
- * The system prop that allows defining system overrides as well as additional CSS styles.
849
+ * If `dense`, will adjust vertical spacing. This is normally obtained via context from
850
+ * FormControl.
851
+ * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.
586
852
  */
587
- sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object])
588
- });
589
- var yo;
590
- const bt = N("fieldset", {
591
- name: "MuiNotchedOutlined",
592
- shouldForwardProp: ue
593
- })({
594
- textAlign: "left",
595
- position: "absolute",
596
- bottom: 0,
597
- right: 0,
598
- top: -5,
599
- left: 0,
600
- margin: 0,
601
- padding: "0 8px",
602
- pointerEvents: "none",
603
- borderRadius: "inherit",
604
- borderStyle: "solid",
605
- borderWidth: 1,
606
- overflow: "hidden",
607
- minWidth: "0%"
608
- }), gt = N("legend", {
609
- name: "MuiNotchedOutlined",
610
- shouldForwardProp: ue
611
- })(U(({
612
- theme: o
613
- }) => ({
614
- float: "unset",
615
- // Fix conflict with bootstrap
616
- width: "auto",
617
- // Fix conflict with bootstrap
618
- overflow: "hidden",
619
- // Fix Horizontal scroll when label too long
620
- variants: [{
621
- props: ({
622
- ownerState: t
623
- }) => !t.withLabel,
624
- style: {
625
- padding: 0,
626
- lineHeight: "11px",
627
- // sync with `height` in `legend` styles
628
- transition: o.transitions.create("width", {
629
- duration: 150,
630
- easing: o.transitions.easing.easeOut
631
- })
632
- }
633
- }, {
634
- props: ({
635
- ownerState: t
636
- }) => t.withLabel,
637
- style: {
638
- display: "block",
639
- // Fix conflict with normalize.css and sanitize.css
640
- padding: 0,
641
- height: 11,
642
- // sync with `lineHeight` in `legend` styles
643
- fontSize: "0.75em",
644
- visibility: "hidden",
645
- maxWidth: 0.01,
646
- transition: o.transitions.create("max-width", {
647
- duration: 50,
648
- easing: o.transitions.easing.easeOut
649
- }),
650
- whiteSpace: "nowrap",
651
- "& > span": {
652
- paddingLeft: 5,
653
- paddingRight: 5,
654
- display: "inline-block",
655
- opacity: 0,
656
- visibility: "visible"
657
- }
658
- }
659
- }, {
660
- props: ({
661
- ownerState: t
662
- }) => t.withLabel && t.notched,
663
- style: {
664
- maxWidth: "100%",
665
- transition: o.transitions.create("max-width", {
666
- duration: 100,
667
- easing: o.transitions.easing.easeOut,
668
- delay: 50
669
- })
670
- }
671
- }]
672
- })));
673
- function jo(o) {
674
- const {
675
- children: t,
676
- classes: n,
677
- className: r,
678
- label: a,
679
- notched: d,
680
- ...i
681
- } = o, u = a != null && a !== "", v = {
682
- ...o,
683
- notched: d,
684
- withLabel: u
685
- };
686
- return /* @__PURE__ */ m.jsx(bt, {
687
- "aria-hidden": !0,
688
- className: r,
689
- ownerState: v,
690
- ...i,
691
- children: /* @__PURE__ */ m.jsx(gt, {
692
- ownerState: v,
693
- children: u ? /* @__PURE__ */ m.jsx("span", {
694
- children: a
695
- }) : (
696
- // notranslate needed while Google Translate will not fix zero-width space issue
697
- yo || (yo = /* @__PURE__ */ m.jsx("span", {
698
- className: "notranslate",
699
- "aria-hidden": !0,
700
- children: "​"
701
- }))
702
- )
703
- })
704
- });
705
- }
706
- process.env.NODE_ENV !== "production" && (jo.propTypes = {
853
+ margin: e.oneOf(["dense", "none"]),
707
854
  /**
708
- * The content of the component.
855
+ * Maximum number of rows to display when multiline option is set to true.
709
856
  */
710
- children: e.node,
857
+ maxRows: e.oneOfType([e.number, e.string]),
711
858
  /**
712
- * Override or extend the styles applied to the component.
859
+ * Minimum number of rows to display when multiline option is set to true.
713
860
  */
714
- classes: e.object,
861
+ minRows: e.oneOfType([e.number, e.string]),
862
+ /**
863
+ * If `true`, a [TextareaAutosize](https://mui.com/material-ui/react-textarea-autosize/) element is rendered.
864
+ * @default false
865
+ */
866
+ multiline: e.bool,
867
+ /**
868
+ * Name attribute of the `input` element.
869
+ */
870
+ name: e.string,
871
+ /**
872
+ * Callback fired when the `input` is blurred.
873
+ *
874
+ * Notice that the first argument (event) might be undefined.
875
+ */
876
+ onBlur: e.func,
877
+ /**
878
+ * Callback fired when the value is changed.
879
+ *
880
+ * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.
881
+ * You can pull out the new value by accessing `event.target.value` (string).
882
+ */
883
+ onChange: e.func,
715
884
  /**
716
885
  * @ignore
717
886
  */
718
- className: e.string,
887
+ onClick: e.func,
719
888
  /**
720
- * The label.
889
+ * @ignore
721
890
  */
722
- label: e.node,
891
+ onFocus: e.func,
723
892
  /**
724
- * If `true`, the outline is notched to accommodate the label.
893
+ * Callback fired when the `input` doesn't satisfy its constraints.
725
894
  */
726
- notched: e.bool.isRequired,
895
+ onInvalid: e.func,
727
896
  /**
728
897
  * @ignore
729
898
  */
730
- style: e.object
731
- });
732
- function to({
733
- props: o,
734
- states: t,
735
- muiFormControl: n
736
- }) {
737
- return t.reduce((r, a) => (r[a] = o[a], n && typeof o[a] > "u" && (r[a] = n[a]), r), {});
738
- }
739
- function Me(o) {
740
- return parseInt(o, 10) || 0;
741
- }
742
- const yt = {
743
- shadow: {
744
- // Visibility needed to hide the extra text area on iPads
745
- visibility: "hidden",
746
- // Remove from the content flow
747
- position: "absolute",
748
- // Ignore the scrollbar width
749
- overflow: "hidden",
750
- height: 0,
751
- top: 0,
752
- left: 0,
753
- // Create a new layer, increase the isolation of the computed values
754
- transform: "translateZ(0)"
755
- }
756
- };
757
- function ht(o) {
758
- for (const t in o)
759
- return !1;
760
- return !0;
761
- }
762
- function ho(o) {
763
- return ht(o) || o.outerHeightStyle === 0 && !o.overflowing;
764
- }
765
- const Eo = /* @__PURE__ */ s.forwardRef(function(t, n) {
766
- const {
767
- onChange: r,
768
- maxRows: a,
769
- minRows: d = 1,
770
- style: i,
771
- value: u,
772
- ...v
773
- } = t, {
774
- current: S
775
- } = s.useRef(u != null), f = s.useRef(null), y = We(n, f), b = s.useRef(null), R = s.useRef(null), C = s.useCallback(() => {
776
- const c = f.current, p = R.current;
777
- if (!c || !p)
778
- return;
779
- const w = fo(c).getComputedStyle(c);
780
- if (w.width === "0px")
781
- return {
782
- outerHeightStyle: 0,
783
- overflowing: !1
784
- };
785
- p.style.width = w.width, p.value = c.value || t.placeholder || "x", p.value.slice(-1) === `
786
- ` && (p.value += " ");
787
- const V = w.boxSizing, H = Me(w.paddingBottom) + Me(w.paddingTop), _ = Me(w.borderBottomWidth) + Me(w.borderTopWidth), B = p.scrollHeight;
788
- p.value = "x";
789
- const D = p.scrollHeight;
790
- let E = B;
791
- d && (E = Math.max(Number(d) * D, E)), a && (E = Math.min(Number(a) * D, E)), E = Math.max(E, D);
792
- const W = E + (V === "border-box" ? H + _ : 0), L = Math.abs(E - B) <= 1;
793
- return {
794
- outerHeightStyle: W,
795
- overflowing: L
796
- };
797
- }, [a, d, t.placeholder]), T = Ho(() => {
798
- const c = f.current, p = C();
799
- if (!c || !p || ho(p))
800
- return !1;
801
- const P = p.outerHeightStyle;
802
- return b.current != null && b.current !== P;
803
- }), g = s.useCallback(() => {
804
- const c = f.current, p = C();
805
- if (!c || !p || ho(p))
806
- return;
807
- const P = p.outerHeightStyle;
808
- b.current !== P && (b.current = P, c.style.height = `${P}px`), c.style.overflow = p.overflowing ? "hidden" : "";
809
- }, [C]), h = s.useRef(-1);
810
- Ze(() => {
811
- const c = Ko(g), p = f?.current;
812
- if (!p)
813
- return;
814
- const P = fo(p);
815
- P.addEventListener("resize", c);
816
- let w;
817
- return typeof ResizeObserver < "u" && (w = new ResizeObserver(() => {
818
- T() && (w.unobserve(p), cancelAnimationFrame(h.current), g(), h.current = requestAnimationFrame(() => {
819
- w.observe(p);
820
- }));
821
- }), w.observe(p)), () => {
822
- c.clear(), cancelAnimationFrame(h.current), P.removeEventListener("resize", c), w && w.disconnect();
823
- };
824
- }, [C, g, T]), Ze(() => {
825
- g();
826
- });
827
- const O = (c) => {
828
- S || g();
829
- const p = c.target, P = p.value.length, w = p.value.endsWith(`
830
- `), V = p.selectionStart === P;
831
- w && V && p.setSelectionRange(P, P), r && r(c);
832
- };
833
- return /* @__PURE__ */ m.jsxs(s.Fragment, {
834
- children: [/* @__PURE__ */ m.jsx("textarea", {
835
- value: u,
836
- onChange: O,
837
- ref: y,
838
- rows: d,
839
- style: i,
840
- ...v
841
- }), /* @__PURE__ */ m.jsx("textarea", {
842
- "aria-hidden": !0,
843
- className: t.className,
844
- readOnly: !0,
845
- ref: R,
846
- tabIndex: -1,
847
- style: {
848
- ...yt.shadow,
849
- ...i,
850
- paddingTop: 0,
851
- paddingBottom: 0
852
- }
853
- })]
854
- });
855
- });
856
- process.env.NODE_ENV !== "production" && (Eo.propTypes = {
857
- // ┌────────────────────────────── Warning ──────────────────────────────┐
858
- // │ These PropTypes are generated from the TypeScript type definitions. │
859
- // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │
860
- // └─────────────────────────────────────────────────────────────────────┘
899
+ onKeyDown: e.func,
861
900
  /**
862
901
  * @ignore
863
902
  */
864
- className: e.string,
903
+ onKeyUp: e.func,
865
904
  /**
866
- * Maximum number of rows to display.
905
+ * The short hint displayed in the `input` before the user enters a value.
867
906
  */
868
- maxRows: e.oneOfType([e.number, e.string]),
907
+ placeholder: e.string,
869
908
  /**
870
- * Minimum number of rows to display.
871
- * @default 1
909
+ * It prevents the user from changing the value of the field
910
+ * (not from interacting with the field).
872
911
  */
873
- minRows: e.oneOfType([e.number, e.string]),
912
+ readOnly: e.bool,
874
913
  /**
875
914
  * @ignore
876
915
  */
877
- onChange: e.func,
916
+ renderSuffix: e.func,
878
917
  /**
879
- * @ignore
918
+ * If `true`, the `input` element is required.
919
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
880
920
  */
881
- placeholder: e.string,
921
+ required: e.bool,
882
922
  /**
883
- * @ignore
923
+ * Number of rows to display when multiline option is set to true.
884
924
  */
885
- style: e.object,
925
+ rows: e.oneOfType([e.number, e.string]),
886
926
  /**
887
- * @ignore
927
+ * The size of the component.
888
928
  */
889
- value: e.oneOfType([e.arrayOf(e.string), e.number, e.string])
929
+ size: e.oneOfType([e.oneOf(["medium", "small"]), e.string]),
930
+ /**
931
+ * The extra props for the slot components.
932
+ * You can override the existing props or add new ones.
933
+ *
934
+ * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.
935
+ *
936
+ * @default {}
937
+ */
938
+ slotProps: e.shape({
939
+ input: e.object,
940
+ root: e.object
941
+ }),
942
+ /**
943
+ * The components used for each slot inside.
944
+ *
945
+ * This prop is an alias for the `components` prop, which will be deprecated in the future.
946
+ *
947
+ * @default {}
948
+ */
949
+ slots: e.shape({
950
+ input: e.elementType,
951
+ root: e.elementType
952
+ }),
953
+ /**
954
+ * Start `InputAdornment` for this component.
955
+ */
956
+ startAdornment: e.node,
957
+ /**
958
+ * The system prop that allows defining system overrides as well as additional CSS styles.
959
+ */
960
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
961
+ /**
962
+ * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#input_types).
963
+ * @default 'text'
964
+ */
965
+ type: e.string,
966
+ /**
967
+ * The value of the `input` element, required for a controlled component.
968
+ */
969
+ value: e.any
890
970
  });
891
- function vo(o) {
892
- return o != null && !(Array.isArray(o) && o.length === 0);
893
- }
894
- function Be(o, t = !1) {
895
- return o && (vo(o.value) && o.value !== "" || t && vo(o.defaultValue) && o.defaultValue !== "");
896
- }
897
- function vt(o) {
898
- return o.startAdornment;
899
- }
900
- var So;
901
- const Ae = (o, t) => {
902
- const {
903
- ownerState: n
904
- } = o;
905
- 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${F(n.color)}`], n.fullWidth && t.fullWidth, n.hiddenLabel && t.hiddenLabel];
906
- }, ze = (o, t) => {
971
+ const dt = (o) => {
907
972
  const {
908
- ownerState: n
909
- } = o;
910
- 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];
911
- }, St = (o) => {
912
- const {
913
- classes: t,
914
- color: n,
915
- disabled: r,
916
- error: a,
917
- endAdornment: d,
918
- focused: i,
919
- formControl: u,
920
- fullWidth: v,
921
- hiddenLabel: S,
922
- multiline: f,
923
- readOnly: y,
924
- size: b,
925
- startAdornment: R,
926
- type: C
927
- } = o, T = {
928
- root: ["root", `color${F(n)}`, r && "disabled", a && "error", v && "fullWidth", i && "focused", u && "formControl", b && b !== "medium" && `size${F(b)}`, f && "multiline", R && "adornedStart", d && "adornedEnd", S && "hiddenLabel", y && "readOnly"],
929
- input: ["input", r && "disabled", C === "search" && "inputTypeSearch", f && "inputMultiline", b === "small" && "inputSizeSmall", S && "inputHiddenLabel", R && "inputAdornedStart", d && "inputAdornedEnd", y && "readOnly"]
973
+ classes: t
974
+ } = o, r = Q({
975
+ root: ["root"],
976
+ notchedOutline: ["notchedOutline"],
977
+ input: ["input"]
978
+ }, Qo, t);
979
+ return {
980
+ ...t,
981
+ // forward classes to the InputBase
982
+ ...r
930
983
  };
931
- return Q(T, Jo, t);
932
- }, De = N("div", {
933
- name: "MuiInputBase",
984
+ }, ct = N(De, {
985
+ shouldForwardProp: (o) => ue(o) || o === "classes",
986
+ name: "MuiOutlinedInput",
934
987
  slot: "Root",
935
988
  overridesResolver: Ae
936
989
  })(U(({
937
990
  theme: o
938
- }) => ({
939
- ...o.typography.body1,
940
- color: (o.vars || o).palette.text.primary,
941
- lineHeight: "1.4375em",
942
- // 23px
943
- boxSizing: "border-box",
944
- // Prevent padding issue with fullWidth.
945
- position: "relative",
946
- cursor: "text",
947
- display: "inline-flex",
948
- alignItems: "center",
949
- [`&.${je.disabled}`]: {
950
- color: (o.vars || o).palette.text.disabled,
951
- cursor: "default"
952
- },
953
- variants: [{
954
- props: ({
955
- ownerState: t
956
- }) => t.multiline,
957
- style: {
958
- padding: "4px 0 5px"
959
- }
960
- }, {
961
- props: ({
962
- ownerState: t,
963
- size: n
964
- }) => t.multiline && n === "small",
965
- style: {
966
- paddingTop: 1
967
- }
968
- }, {
969
- props: ({
970
- ownerState: t
971
- }) => t.fullWidth,
972
- style: {
973
- width: "100%"
974
- }
975
- }]
976
- }))), Le = N("input", {
977
- name: "MuiInputBase",
978
- slot: "Input",
979
- overridesResolver: ze
980
- })(U(({
981
- theme: o
982
991
  }) => {
983
- const t = o.palette.mode === "light", n = {
984
- color: "currentColor",
985
- ...o.vars ? {
986
- opacity: o.vars.opacity.inputPlaceholder
987
- } : {
988
- opacity: t ? 0.42 : 0.5
989
- },
990
- transition: o.transitions.create("opacity", {
991
- duration: o.transitions.duration.shorter
992
- })
993
- }, r = {
994
- opacity: "0 !important"
995
- }, a = o.vars ? {
996
- opacity: o.vars.opacity.inputPlaceholder
997
- } : {
998
- opacity: t ? 0.42 : 0.5
999
- };
992
+ const t = o.palette.mode === "light" ? "rgba(0, 0, 0, 0.23)" : "rgba(255, 255, 255, 0.23)";
1000
993
  return {
1001
- font: "inherit",
1002
- letterSpacing: "inherit",
1003
- color: "currentColor",
1004
- padding: "4px 0 5px",
1005
- border: 0,
1006
- boxSizing: "content-box",
1007
- background: "none",
1008
- height: "1.4375em",
1009
- // Reset 23pxthe native input line-height
1010
- margin: 0,
1011
- // Reset for Safari
1012
- WebkitTapHighlightColor: "transparent",
1013
- display: "block",
1014
- // Make the flex item shrink with Firefox
1015
- minWidth: 0,
1016
- width: "100%",
1017
- "&::-webkit-input-placeholder": n,
1018
- "&::-moz-placeholder": n,
1019
- // Firefox 19+
1020
- "&::-ms-input-placeholder": n,
1021
- // Edge
1022
- "&:focus": {
1023
- outline: 0
1024
- },
1025
- // Reset Firefox invalid required input style
1026
- "&:invalid": {
1027
- boxShadow: "none"
1028
- },
1029
- "&::-webkit-search-decoration": {
1030
- // Remove the padding when type=search.
1031
- WebkitAppearance: "none"
994
+ position: "relative",
995
+ borderRadius: (o.vars || o).shape.borderRadius,
996
+ [`&:hover .${J.notchedOutline}`]: {
997
+ borderColor: (o.vars || o).palette.text.primary
1032
998
  },
1033
- // Show and hide the placeholder logic
1034
- [`label[data-shrink=false] + .${je.formControl} &`]: {
1035
- "&::-webkit-input-placeholder": r,
1036
- "&::-moz-placeholder": r,
1037
- // Firefox 19+
1038
- "&::-ms-input-placeholder": r,
1039
- // Edge
1040
- "&:focus::-webkit-input-placeholder": a,
1041
- "&:focus::-moz-placeholder": a,
1042
- // Firefox 19+
1043
- "&:focus::-ms-input-placeholder": a
1044
- // Edge
999
+ // Reset on touch devices, it doesn't add specificity
1000
+ "@media (hover: none)": {
1001
+ [`&:hover .${J.notchedOutline}`]: {
1002
+ borderColor: o.vars ? o.alpha(o.vars.palette.common.onBackground, 0.23) : t
1003
+ }
1045
1004
  },
1046
- [`&.${je.disabled}`]: {
1047
- opacity: 1,
1048
- // Reset iOS opacity
1049
- WebkitTextFillColor: (o.vars || o).palette.text.disabled
1050
- // Fix opacity Safari bug
1005
+ [`&.${J.focused} .${J.notchedOutline}`]: {
1006
+ borderWidth: 2
1051
1007
  },
1052
- variants: [{
1053
- props: ({
1054
- ownerState: d
1055
- }) => !d.disableInjectingGlobalStyles,
1008
+ variants: [...Object.entries(o.palette).filter(be()).map(([n]) => ({
1009
+ props: {
1010
+ color: n
1011
+ },
1056
1012
  style: {
1057
- animationName: "mui-auto-fill-cancel",
1058
- animationDuration: "10ms",
1059
- "&:-webkit-autofill": {
1060
- animationDuration: "5000s",
1061
- animationName: "mui-auto-fill"
1013
+ [`&.${J.focused} .${J.notchedOutline}`]: {
1014
+ borderColor: (o.vars || o).palette[n].main
1015
+ }
1016
+ }
1017
+ })), {
1018
+ props: {},
1019
+ // to override the above style
1020
+ style: {
1021
+ [`&.${J.error} .${J.notchedOutline}`]: {
1022
+ borderColor: (o.vars || o).palette.error.main
1023
+ },
1024
+ [`&.${J.disabled} .${J.notchedOutline}`]: {
1025
+ borderColor: (o.vars || o).palette.action.disabled
1062
1026
  }
1063
1027
  }
1064
1028
  }, {
1065
- props: {
1066
- size: "small"
1067
- },
1029
+ props: ({
1030
+ ownerState: n
1031
+ }) => n.startAdornment,
1068
1032
  style: {
1069
- paddingTop: 1
1033
+ paddingLeft: 14
1070
1034
  }
1071
1035
  }, {
1072
1036
  props: ({
1073
- ownerState: d
1074
- }) => d.multiline,
1037
+ ownerState: n
1038
+ }) => n.endAdornment,
1075
1039
  style: {
1076
- height: "auto",
1077
- resize: "none",
1078
- padding: 0,
1079
- paddingTop: 0
1040
+ paddingRight: 14
1080
1041
  }
1081
1042
  }, {
1082
- props: {
1083
- type: "search"
1084
- },
1043
+ props: ({
1044
+ ownerState: n
1045
+ }) => n.multiline,
1085
1046
  style: {
1086
- MozAppearance: "textfield"
1087
- // Improve type search style.
1047
+ padding: "16.5px 14px"
1048
+ }
1049
+ }, {
1050
+ props: ({
1051
+ ownerState: n,
1052
+ size: r
1053
+ }) => n.multiline && r === "small",
1054
+ style: {
1055
+ padding: "8.5px 14px"
1088
1056
  }
1089
1057
  }]
1090
1058
  };
1091
- })), Co = et({
1092
- "@keyframes mui-auto-fill": {
1093
- from: {
1094
- display: "block"
1059
+ })), ut = N(Po, {
1060
+ name: "MuiOutlinedInput",
1061
+ slot: "NotchedOutline"
1062
+ })(U(({
1063
+ theme: o
1064
+ }) => {
1065
+ const t = o.palette.mode === "light" ? "rgba(0, 0, 0, 0.23)" : "rgba(255, 255, 255, 0.23)";
1066
+ return {
1067
+ borderColor: o.vars ? o.alpha(o.vars.palette.common.onBackground, 0.23) : t
1068
+ };
1069
+ })), pt = N(Le, {
1070
+ name: "MuiOutlinedInput",
1071
+ slot: "Input",
1072
+ overridesResolver: ze
1073
+ })(U(({
1074
+ theme: o
1075
+ }) => ({
1076
+ padding: "16.5px 14px",
1077
+ ...!o.vars && {
1078
+ "&:-webkit-autofill": {
1079
+ WebkitBoxShadow: o.palette.mode === "light" ? null : "0 0 0 100px #266798 inset",
1080
+ WebkitTextFillColor: o.palette.mode === "light" ? null : "#fff",
1081
+ caretColor: o.palette.mode === "light" ? null : "#fff",
1082
+ borderRadius: "inherit"
1095
1083
  }
1096
1084
  },
1097
- "@keyframes mui-auto-fill-cancel": {
1098
- from: {
1099
- display: "block"
1085
+ ...o.vars && {
1086
+ "&:-webkit-autofill": {
1087
+ borderRadius: "inherit"
1088
+ },
1089
+ [o.getColorSchemeSelector("dark")]: {
1090
+ "&:-webkit-autofill": {
1091
+ WebkitBoxShadow: "0 0 0 100px #266798 inset",
1092
+ WebkitTextFillColor: "#fff",
1093
+ caretColor: "#fff"
1094
+ }
1100
1095
  }
1101
- }
1102
- }), Ue = /* @__PURE__ */ s.forwardRef(function(t, n) {
1096
+ },
1097
+ variants: [{
1098
+ props: {
1099
+ size: "small"
1100
+ },
1101
+ style: {
1102
+ padding: "8.5px 14px"
1103
+ }
1104
+ }, {
1105
+ props: ({
1106
+ ownerState: t
1107
+ }) => t.multiline,
1108
+ style: {
1109
+ padding: 0
1110
+ }
1111
+ }, {
1112
+ props: ({
1113
+ ownerState: t
1114
+ }) => t.startAdornment,
1115
+ style: {
1116
+ paddingLeft: 0
1117
+ }
1118
+ }, {
1119
+ props: ({
1120
+ ownerState: t
1121
+ }) => t.endAdornment,
1122
+ style: {
1123
+ paddingRight: 0
1124
+ }
1125
+ }]
1126
+ }))), no = /* @__PURE__ */ s.forwardRef(function(t, n) {
1103
1127
  const r = ae({
1104
1128
  props: t,
1105
- name: "MuiInputBase"
1129
+ name: "MuiOutlinedInput"
1106
1130
  }), {
1107
- "aria-describedby": a,
1108
- autoComplete: d,
1109
- autoFocus: i,
1110
- className: u,
1111
- color: v,
1112
- components: S = {},
1113
- componentsProps: f = {},
1114
- defaultValue: y,
1115
- disabled: b,
1116
- disableInjectingGlobalStyles: R,
1117
- endAdornment: C,
1118
- error: T,
1119
- fullWidth: g = !1,
1120
- id: h,
1121
- inputComponent: O = "input",
1122
- inputProps: c = {},
1123
- inputRef: p,
1124
- margin: P,
1125
- maxRows: w,
1126
- minRows: V,
1127
- multiline: H = !1,
1128
- name: _,
1129
- onBlur: B,
1130
- onChange: D,
1131
- onClick: E,
1132
- onFocus: W,
1133
- onKeyDown: L,
1134
- onKeyUp: X,
1135
- placeholder: q,
1136
- readOnly: A,
1137
- renderSuffix: K,
1138
- rows: te,
1139
- size: Ve,
1140
- slotProps: j = {},
1141
- slots: ve = {},
1142
- startAdornment: ne,
1143
- type: Ee = "text",
1144
- value: Fe,
1145
- ...ee
1146
- } = r, Y = c.value != null ? c.value : Fe, {
1147
- current: Se
1148
- } = s.useRef(Y != null), Z = s.useRef(), He = s.useCallback((k) => {
1149
- process.env.NODE_ENV !== "production" && k && k.nodeName !== "INPUT" && !k.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(`
1150
- `));
1151
- }, []), Ce = We(Z, p, c.ref, He), [xe, Oe] = s.useState(!1), I = oo();
1152
- process.env.NODE_ENV !== "production" && s.useEffect(() => {
1153
- if (I)
1154
- return I.registerEffect();
1155
- }, [I]);
1156
- const $ = to({
1131
+ components: a = {},
1132
+ fullWidth: d = !1,
1133
+ inputComponent: i = "input",
1134
+ label: u,
1135
+ multiline: v = !1,
1136
+ notched: S,
1137
+ slots: f = {},
1138
+ slotProps: y = {},
1139
+ type: b = "text",
1140
+ ...R
1141
+ } = r, C = dt(r), T = oo(), g = to({
1157
1142
  props: r,
1158
- muiFormControl: I,
1159
- states: ["color", "disabled", "error", "hiddenLabel", "size", "required", "filled"]
1143
+ muiFormControl: T,
1144
+ states: ["color", "disabled", "error", "focused", "hiddenLabel", "size", "required"]
1145
+ }), h = {
1146
+ ...r,
1147
+ color: g.color || "primary",
1148
+ disabled: g.disabled,
1149
+ error: g.error,
1150
+ focused: g.focused,
1151
+ formControl: T,
1152
+ fullWidth: d,
1153
+ hiddenLabel: g.hiddenLabel,
1154
+ multiline: v,
1155
+ size: g.size,
1156
+ type: b
1157
+ }, O = f.root ?? a.Root ?? ct, c = f.input ?? a.Input ?? pt, [p, P] = _o("notchedOutline", {
1158
+ elementType: ut,
1159
+ className: C.notchedOutline,
1160
+ shouldForwardComponentProp: !0,
1161
+ ownerState: h,
1162
+ externalForwardedProps: {
1163
+ slots: f,
1164
+ slotProps: y
1165
+ },
1166
+ additionalProps: {
1167
+ label: u != null && u !== "" && g.required ? /* @__PURE__ */ m.jsxs(s.Fragment, {
1168
+ children: [u, " ", "*"]
1169
+ }) : u
1170
+ }
1160
1171
  });
1161
- $.focused = I ? I.focused : xe, s.useEffect(() => {
1162
- !I && b && xe && (Oe(!1), B && B());
1163
- }, [I, b, xe, B]);
1164
- const re = I && I.onFilled, we = I && I.onEmpty, le = s.useCallback((k) => {
1165
- Be(k) ? re && re() : we && we();
1166
- }, [re, we]);
1167
- Ze(() => {
1168
- Se && le({
1169
- value: Y
1170
- });
1171
- }, [Y, le, Se]);
1172
- const pe = (k) => {
1173
- W && W(k), c.onFocus && c.onFocus(k), I && I.onFocus ? I.onFocus(k) : Oe(!0);
1174
- }, _e = (k) => {
1175
- B && B(k), c.onBlur && c.onBlur(k), I && I.onBlur ? I.onBlur(k) : Oe(!1);
1176
- }, qe = (k, ...Ne) => {
1177
- if (!Se) {
1178
- const oe = k.target || Z.current;
1179
- if (oe == null)
1180
- 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." : wo(1));
1181
- le({
1182
- value: oe.value
1183
- });
1172
+ return /* @__PURE__ */ m.jsx(Ue, {
1173
+ slots: {
1174
+ root: O,
1175
+ input: c
1176
+ },
1177
+ slotProps: y,
1178
+ renderSuffix: (w) => /* @__PURE__ */ m.jsx(p, {
1179
+ ...P,
1180
+ notched: typeof S < "u" ? S : !!(w.startAdornment || w.filled || w.focused)
1181
+ }),
1182
+ fullWidth: d,
1183
+ inputComponent: i,
1184
+ multiline: v,
1185
+ ref: n,
1186
+ type: b,
1187
+ ...R,
1188
+ classes: {
1189
+ ...C,
1190
+ notchedOutline: null
1184
1191
  }
1185
- c.onChange && c.onChange(k, ...Ne), D && D(k, ...Ne);
1186
- };
1187
- s.useEffect(() => {
1188
- le(Z.current);
1189
- }, []);
1190
- const Ke = (k) => {
1191
- Z.current && k.currentTarget === k.target && Z.current.focus(), E && E(k);
1192
- };
1193
- let Ie = O, z = c;
1194
- H && Ie === "input" && (te ? (process.env.NODE_ENV !== "production" && (V || w) && console.warn("MUI: You can not use the `minRows` or `maxRows` props when the input `rows` prop is set."), z = {
1195
- type: void 0,
1196
- minRows: te,
1197
- maxRows: te,
1198
- ...z
1199
- }) : z = {
1200
- type: void 0,
1201
- maxRows: w,
1202
- minRows: V,
1203
- ...z
1204
- }, Ie = Eo);
1205
- const $e = (k) => {
1206
- le(k.animationName === "mui-auto-fill-cancel" ? Z.current : {
1207
- value: "x"
1208
- });
1209
- };
1210
- s.useEffect(() => {
1211
- I && I.setAdornedStart(!!ne);
1212
- }, [I, ne]);
1213
- const se = {
1214
- ...r,
1215
- color: $.color || "primary",
1216
- disabled: $.disabled,
1217
- endAdornment: C,
1218
- error: $.error,
1219
- focused: $.focused,
1220
- formControl: I,
1221
- fullWidth: g,
1222
- hiddenLabel: $.hiddenLabel,
1223
- multiline: H,
1224
- size: $.size,
1225
- startAdornment: ne,
1226
- type: Ee
1227
- }, de = St(se), fe = ve.root || S.Root || De, Re = j.root || f.root || {}, Te = ve.input || S.Input || Le;
1228
- return z = {
1229
- ...z,
1230
- ...j.input ?? f.input
1231
- }, /* @__PURE__ */ m.jsxs(s.Fragment, {
1232
- children: [!R && typeof Co == "function" && // For Emotion/Styled-components, InputGlobalStyles will be a function
1233
- // For Pigment CSS, this has no effect because the InputGlobalStyles will be null.
1234
- (So || (So = /* @__PURE__ */ m.jsx(Co, {}))), /* @__PURE__ */ m.jsxs(fe, {
1235
- ...Re,
1236
- ref: n,
1237
- onClick: Ke,
1238
- ...ee,
1239
- ...!po(fe) && {
1240
- ownerState: {
1241
- ...se,
1242
- ...Re.ownerState
1243
- }
1244
- },
1245
- className: ie(de.root, Re.className, u, A && "MuiInputBase-readOnly"),
1246
- children: [ne, /* @__PURE__ */ m.jsx(No.Provider, {
1247
- value: null,
1248
- children: /* @__PURE__ */ m.jsx(Te, {
1249
- "aria-invalid": $.error,
1250
- "aria-describedby": a,
1251
- autoComplete: d,
1252
- autoFocus: i,
1253
- defaultValue: y,
1254
- disabled: $.disabled,
1255
- id: h,
1256
- onAnimationStart: $e,
1257
- name: _,
1258
- placeholder: q,
1259
- readOnly: A,
1260
- required: $.required,
1261
- rows: te,
1262
- value: Y,
1263
- onKeyDown: L,
1264
- onKeyUp: X,
1265
- type: Ee,
1266
- ...z,
1267
- ...!po(Te) && {
1268
- as: Ie,
1269
- ownerState: {
1270
- ...se,
1271
- ...z.ownerState
1272
- }
1273
- },
1274
- ref: Ce,
1275
- className: ie(de.input, z.className, A && "MuiInputBase-readOnly"),
1276
- onBlur: _e,
1277
- onChange: qe,
1278
- onFocus: pe
1279
- })
1280
- }), C, K ? K({
1281
- ...$,
1282
- startAdornment: ne
1283
- }) : null]
1284
- })]
1285
1192
  });
1286
1193
  });
1287
- process.env.NODE_ENV !== "production" && (Ue.propTypes = {
1194
+ process.env.NODE_ENV !== "production" && (no.propTypes = {
1195
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
1196
+ // │ These PropTypes are generated from the TypeScript type definitions. │
1197
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
1198
+ // └─────────────────────────────────────────────────────────────────────┘
1199
+ /**
1200
+ * This prop helps users to fill forms faster, especially on mobile devices.
1201
+ * The name can be confusing, as it's more like an autofill.
1202
+ * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).
1203
+ */
1204
+ autoComplete: e.string,
1205
+ /**
1206
+ * If `true`, the `input` element is focused during the first mount.
1207
+ */
1208
+ autoFocus: e.bool,
1209
+ /**
1210
+ * Override or extend the styles applied to the component.
1211
+ */
1212
+ classes: e.object,
1213
+ /**
1214
+ * The color of the component.
1215
+ * It supports both default and custom theme colors, which can be added as shown in the
1216
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
1217
+ * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.
1218
+ */
1219
+ color: e.oneOfType([e.oneOf(["primary", "secondary"]), e.string]),
1220
+ /**
1221
+ * The components used for each slot inside.
1222
+ *
1223
+ * @deprecated use the `slots` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
1224
+ *
1225
+ * @default {}
1226
+ */
1227
+ components: e.shape({
1228
+ Input: e.elementType,
1229
+ Root: e.elementType
1230
+ }),
1231
+ /**
1232
+ * The default value. Use when the component is not controlled.
1233
+ */
1234
+ defaultValue: e.any,
1235
+ /**
1236
+ * If `true`, the component is disabled.
1237
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
1238
+ */
1239
+ disabled: e.bool,
1240
+ /**
1241
+ * End `InputAdornment` for this component.
1242
+ */
1243
+ endAdornment: e.node,
1244
+ /**
1245
+ * If `true`, the `input` will indicate an error.
1246
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
1247
+ */
1248
+ error: e.bool,
1249
+ /**
1250
+ * If `true`, the `input` will take up the full width of its container.
1251
+ * @default false
1252
+ */
1253
+ fullWidth: e.bool,
1254
+ /**
1255
+ * The id of the `input` element.
1256
+ */
1257
+ id: e.string,
1258
+ /**
1259
+ * The component used for the `input` element.
1260
+ * Either a string to use a HTML element or a component.
1261
+ * @default 'input'
1262
+ */
1263
+ inputComponent: e.elementType,
1264
+ /**
1265
+ * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#attributes) applied to the `input` element.
1266
+ * @default {}
1267
+ */
1268
+ inputProps: e.object,
1269
+ /**
1270
+ * Pass a ref to the `input` element.
1271
+ */
1272
+ inputRef: ge,
1273
+ /**
1274
+ * The label of the `input`. It is only used for layout. The actual labelling
1275
+ * is handled by `InputLabel`.
1276
+ */
1277
+ label: e.node,
1278
+ /**
1279
+ * If `dense`, will adjust vertical spacing. This is normally obtained via context from
1280
+ * FormControl.
1281
+ * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.
1282
+ */
1283
+ margin: e.oneOf(["dense", "none"]),
1284
+ /**
1285
+ * Maximum number of rows to display when multiline option is set to true.
1286
+ */
1287
+ maxRows: e.oneOfType([e.number, e.string]),
1288
+ /**
1289
+ * Minimum number of rows to display when multiline option is set to true.
1290
+ */
1291
+ minRows: e.oneOfType([e.number, e.string]),
1292
+ /**
1293
+ * If `true`, a [TextareaAutosize](https://mui.com/material-ui/react-textarea-autosize/) element is rendered.
1294
+ * @default false
1295
+ */
1296
+ multiline: e.bool,
1297
+ /**
1298
+ * Name attribute of the `input` element.
1299
+ */
1300
+ name: e.string,
1301
+ /**
1302
+ * If `true`, the outline is notched to accommodate the label.
1303
+ */
1304
+ notched: e.bool,
1305
+ /**
1306
+ * Callback fired when the value is changed.
1307
+ *
1308
+ * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.
1309
+ * You can pull out the new value by accessing `event.target.value` (string).
1310
+ */
1311
+ onChange: e.func,
1312
+ /**
1313
+ * The short hint displayed in the `input` before the user enters a value.
1314
+ */
1315
+ placeholder: e.string,
1316
+ /**
1317
+ * It prevents the user from changing the value of the field
1318
+ * (not from interacting with the field).
1319
+ */
1320
+ readOnly: e.bool,
1321
+ /**
1322
+ * If `true`, the `input` element is required.
1323
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
1324
+ */
1325
+ required: e.bool,
1326
+ /**
1327
+ * Number of rows to display when multiline option is set to true.
1328
+ */
1329
+ rows: e.oneOfType([e.number, e.string]),
1330
+ /**
1331
+ * The props used for each slot inside.
1332
+ * @default {}
1333
+ */
1334
+ slotProps: e.shape({
1335
+ input: e.object,
1336
+ notchedOutline: e.oneOfType([e.func, e.object]),
1337
+ root: e.object
1338
+ }),
1339
+ /**
1340
+ * The components used for each slot inside.
1341
+ * @default {}
1342
+ */
1343
+ slots: e.shape({
1344
+ input: e.elementType,
1345
+ notchedOutline: e.elementType,
1346
+ root: e.elementType
1347
+ }),
1348
+ /**
1349
+ * Start `InputAdornment` for this component.
1350
+ */
1351
+ startAdornment: e.node,
1352
+ /**
1353
+ * The system prop that allows defining system overrides as well as additional CSS styles.
1354
+ */
1355
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
1356
+ /**
1357
+ * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#input_types).
1358
+ * @default 'text'
1359
+ */
1360
+ type: e.string,
1361
+ /**
1362
+ * The value of the `input` element, required for a controlled component.
1363
+ */
1364
+ value: e.any
1365
+ });
1366
+ no.muiName = "Input";
1367
+ function ft(o) {
1368
+ return ye("MuiCircularProgress", o);
1369
+ }
1370
+ he("MuiCircularProgress", ["root", "determinate", "indeterminate", "colorPrimary", "colorSecondary", "svg", "track", "circle", "circleDeterminate", "circleIndeterminate", "circleDisableShrink"]);
1371
+ const G = 44, Je = To`
1372
+ 0% {
1373
+ transform: rotate(0deg);
1374
+ }
1375
+
1376
+ 100% {
1377
+ transform: rotate(360deg);
1378
+ }
1379
+ `, Qe = To`
1380
+ 0% {
1381
+ stroke-dasharray: 1px, 200px;
1382
+ stroke-dashoffset: 0;
1383
+ }
1384
+
1385
+ 50% {
1386
+ stroke-dasharray: 100px, 200px;
1387
+ stroke-dashoffset: -15px;
1388
+ }
1389
+
1390
+ 100% {
1391
+ stroke-dasharray: 1px, 200px;
1392
+ stroke-dashoffset: -126px;
1393
+ }
1394
+ `, mt = typeof Je != "string" ? Ro`
1395
+ animation: ${Je} 1.4s linear infinite;
1396
+ ` : null, bt = typeof Qe != "string" ? Ro`
1397
+ animation: ${Qe} 1.4s ease-in-out infinite;
1398
+ ` : null, gt = (o) => {
1399
+ const {
1400
+ classes: t,
1401
+ variant: n,
1402
+ color: r,
1403
+ disableShrink: a
1404
+ } = o, d = {
1405
+ root: ["root", n, `color${F(r)}`],
1406
+ svg: ["svg"],
1407
+ track: ["track"],
1408
+ circle: ["circle", `circle${F(n)}`, a && "circleDisableShrink"]
1409
+ };
1410
+ return Q(d, ft, t);
1411
+ }, yt = N("span", {
1412
+ name: "MuiCircularProgress",
1413
+ slot: "Root",
1414
+ overridesResolver: (o, t) => {
1415
+ const {
1416
+ ownerState: n
1417
+ } = o;
1418
+ return [t.root, t[n.variant], t[`color${F(n.color)}`]];
1419
+ }
1420
+ })(U(({
1421
+ theme: o
1422
+ }) => ({
1423
+ display: "inline-block",
1424
+ variants: [{
1425
+ props: {
1426
+ variant: "determinate"
1427
+ },
1428
+ style: {
1429
+ transition: o.transitions.create("transform")
1430
+ }
1431
+ }, {
1432
+ props: {
1433
+ variant: "indeterminate"
1434
+ },
1435
+ style: mt || {
1436
+ animation: `${Je} 1.4s linear infinite`
1437
+ }
1438
+ }, ...Object.entries(o.palette).filter(be()).map(([t]) => ({
1439
+ props: {
1440
+ color: t
1441
+ },
1442
+ style: {
1443
+ color: (o.vars || o).palette[t].main
1444
+ }
1445
+ }))]
1446
+ }))), ht = N("svg", {
1447
+ name: "MuiCircularProgress",
1448
+ slot: "Svg"
1449
+ })({
1450
+ display: "block"
1451
+ // Keeps the progress centered
1452
+ }), vt = N("circle", {
1453
+ name: "MuiCircularProgress",
1454
+ slot: "Circle",
1455
+ overridesResolver: (o, t) => {
1456
+ const {
1457
+ ownerState: n
1458
+ } = o;
1459
+ return [t.circle, t[`circle${F(n.variant)}`], n.disableShrink && t.circleDisableShrink];
1460
+ }
1461
+ })(U(({
1462
+ theme: o
1463
+ }) => ({
1464
+ stroke: "currentColor",
1465
+ variants: [{
1466
+ props: {
1467
+ variant: "determinate"
1468
+ },
1469
+ style: {
1470
+ transition: o.transitions.create("stroke-dashoffset")
1471
+ }
1472
+ }, {
1473
+ props: {
1474
+ variant: "indeterminate"
1475
+ },
1476
+ style: {
1477
+ // Some default value that looks fine waiting for the animation to kicks in.
1478
+ strokeDasharray: "80px, 200px",
1479
+ strokeDashoffset: 0
1480
+ // Add the unit to fix a Edge 16 and below bug.
1481
+ }
1482
+ }, {
1483
+ props: ({
1484
+ ownerState: t
1485
+ }) => t.variant === "indeterminate" && !t.disableShrink,
1486
+ style: bt || {
1487
+ // At runtime for Pigment CSS, `bufferAnimation` will be null and the generated keyframe will be used.
1488
+ animation: `${Qe} 1.4s ease-in-out infinite`
1489
+ }
1490
+ }]
1491
+ }))), St = N("circle", {
1492
+ name: "MuiCircularProgress",
1493
+ slot: "Track"
1494
+ })(U(({
1495
+ theme: o
1496
+ }) => ({
1497
+ stroke: "currentColor",
1498
+ opacity: (o.vars || o).palette.action.activatedOpacity
1499
+ }))), Eo = /* @__PURE__ */ s.forwardRef(function(t, n) {
1500
+ const r = ae({
1501
+ props: t,
1502
+ name: "MuiCircularProgress"
1503
+ }), {
1504
+ className: a,
1505
+ color: d = "primary",
1506
+ disableShrink: i = !1,
1507
+ enableTrackSlot: u = !1,
1508
+ size: v = 40,
1509
+ style: S,
1510
+ thickness: f = 3.6,
1511
+ value: y = 0,
1512
+ variant: b = "indeterminate",
1513
+ ...R
1514
+ } = r, C = {
1515
+ ...r,
1516
+ color: d,
1517
+ disableShrink: i,
1518
+ size: v,
1519
+ thickness: f,
1520
+ value: y,
1521
+ variant: b,
1522
+ enableTrackSlot: u
1523
+ }, T = gt(C), g = {}, h = {}, O = {};
1524
+ if (b === "determinate") {
1525
+ const c = 2 * Math.PI * ((G - f) / 2);
1526
+ g.strokeDasharray = c.toFixed(3), O["aria-valuenow"] = Math.round(y), g.strokeDashoffset = `${((100 - y) / 100 * c).toFixed(3)}px`, h.transform = "rotate(-90deg)";
1527
+ }
1528
+ return /* @__PURE__ */ m.jsx(yt, {
1529
+ className: ie(T.root, a),
1530
+ style: {
1531
+ width: v,
1532
+ height: v,
1533
+ ...h,
1534
+ ...S
1535
+ },
1536
+ ownerState: C,
1537
+ ref: n,
1538
+ role: "progressbar",
1539
+ ...O,
1540
+ ...R,
1541
+ children: /* @__PURE__ */ m.jsxs(ht, {
1542
+ className: T.svg,
1543
+ ownerState: C,
1544
+ viewBox: `${G / 2} ${G / 2} ${G} ${G}`,
1545
+ children: [u ? /* @__PURE__ */ m.jsx(St, {
1546
+ className: T.track,
1547
+ ownerState: C,
1548
+ cx: G,
1549
+ cy: G,
1550
+ r: (G - f) / 2,
1551
+ fill: "none",
1552
+ strokeWidth: f,
1553
+ "aria-hidden": "true"
1554
+ }) : null, /* @__PURE__ */ m.jsx(vt, {
1555
+ className: T.circle,
1556
+ style: g,
1557
+ ownerState: C,
1558
+ cx: G,
1559
+ cy: G,
1560
+ r: (G - f) / 2,
1561
+ fill: "none",
1562
+ strokeWidth: f
1563
+ })]
1564
+ })
1565
+ });
1566
+ });
1567
+ process.env.NODE_ENV !== "production" && (Eo.propTypes = {
1288
1568
  // ┌────────────────────────────── Warning ──────────────────────────────┐
1289
1569
  // │ These PropTypes are generated from the TypeScript type definitions. │
1290
1570
  // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
1291
1571
  // └─────────────────────────────────────────────────────────────────────┘
1292
- /**
1293
- * @ignore
1294
- */
1295
- "aria-describedby": e.string,
1296
- /**
1297
- * This prop helps users to fill forms faster, especially on mobile devices.
1298
- * The name can be confusing, as it's more like an autofill.
1299
- * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).
1300
- */
1301
- autoComplete: e.string,
1302
- /**
1303
- * If `true`, the `input` element is focused during the first mount.
1304
- */
1305
- autoFocus: e.bool,
1306
1572
  /**
1307
1573
  * Override or extend the styles applied to the component.
1308
1574
  */
@@ -1315,599 +1581,333 @@ process.env.NODE_ENV !== "production" && (Ue.propTypes = {
1315
1581
  * The color of the component.
1316
1582
  * It supports both default and custom theme colors, which can be added as shown in the
1317
1583
  * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
1318
- * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.
1319
- */
1320
- color: e.oneOfType([e.oneOf(["primary", "secondary", "error", "info", "success", "warning"]), e.string]),
1321
- /**
1322
- * The components used for each slot inside.
1323
- *
1324
- * @deprecated use the `slots` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
1325
- *
1326
- * @default {}
1327
- */
1328
- components: e.shape({
1329
- Input: e.elementType,
1330
- Root: e.elementType
1331
- }),
1332
- /**
1333
- * The extra props for the slot components.
1334
- * You can override the existing props or add new ones.
1335
- *
1336
- * @deprecated use the `slotProps` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
1337
- *
1338
- * @default {}
1339
- */
1340
- componentsProps: e.shape({
1341
- input: e.object,
1342
- root: e.object
1343
- }),
1344
- /**
1345
- * The default value. Use when the component is not controlled.
1346
- */
1347
- defaultValue: e.any,
1348
- /**
1349
- * If `true`, the component is disabled.
1350
- * The prop defaults to the value (`false`) inherited from the parent FormControl component.
1351
- */
1352
- disabled: e.bool,
1353
- /**
1354
- * 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.
1355
- * This option is intended to help with boosting the initial rendering performance if you are loading a big amount of Input components at once.
1356
- * @default false
1357
- */
1358
- disableInjectingGlobalStyles: e.bool,
1359
- /**
1360
- * End `InputAdornment` for this component.
1361
- */
1362
- endAdornment: e.node,
1363
- /**
1364
- * If `true`, the `input` will indicate an error.
1365
- * The prop defaults to the value (`false`) inherited from the parent FormControl component.
1584
+ * @default 'primary'
1366
1585
  */
1367
- error: e.bool,
1586
+ color: e.oneOfType([e.oneOf(["inherit", "primary", "secondary", "error", "info", "success", "warning"]), e.string]),
1368
1587
  /**
1369
- * If `true`, the `input` will take up the full width of its container.
1588
+ * If `true`, the shrink animation is disabled.
1589
+ * This only works if variant is `indeterminate`.
1370
1590
  * @default false
1371
1591
  */
1372
- fullWidth: e.bool,
1373
- /**
1374
- * The id of the `input` element.
1375
- */
1376
- id: e.string,
1377
- /**
1378
- * The component used for the `input` element.
1379
- * Either a string to use a HTML element or a component.
1380
- * @default 'input'
1381
- */
1382
- inputComponent: _o,
1383
- /**
1384
- * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#attributes) applied to the `input` element.
1385
- * @default {}
1386
- */
1387
- inputProps: e.object,
1388
- /**
1389
- * Pass a ref to the `input` element.
1390
- */
1391
- inputRef: ge,
1392
- /**
1393
- * If `dense`, will adjust vertical spacing. This is normally obtained via context from
1394
- * FormControl.
1395
- * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.
1396
- */
1397
- margin: e.oneOf(["dense", "none"]),
1398
- /**
1399
- * Maximum number of rows to display when multiline option is set to true.
1400
- */
1401
- maxRows: e.oneOfType([e.number, e.string]),
1402
- /**
1403
- * Minimum number of rows to display when multiline option is set to true.
1404
- */
1405
- minRows: e.oneOfType([e.number, e.string]),
1592
+ disableShrink: Io(e.bool, (o) => o.disableShrink && o.variant && o.variant !== "indeterminate" ? new Error("MUI: You have provided the `disableShrink` prop with a variant other than `indeterminate`. This will have no effect.") : null),
1406
1593
  /**
1407
- * If `true`, a [TextareaAutosize](https://mui.com/material-ui/react-textarea-autosize/) element is rendered.
1594
+ * If `true`, a track circle slot is mounted to show a subtle background for the progress.
1595
+ * The `size` and `thickness` apply to the track slot to be consistent with the progress circle.
1408
1596
  * @default false
1409
1597
  */
1410
- multiline: e.bool,
1411
- /**
1412
- * Name attribute of the `input` element.
1413
- */
1414
- name: e.string,
1415
- /**
1416
- * Callback fired when the `input` is blurred.
1417
- *
1418
- * Notice that the first argument (event) might be undefined.
1419
- */
1420
- onBlur: e.func,
1421
- /**
1422
- * Callback fired when the value is changed.
1423
- *
1424
- * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.
1425
- * You can pull out the new value by accessing `event.target.value` (string).
1426
- */
1427
- onChange: e.func,
1428
- /**
1429
- * @ignore
1430
- */
1431
- onClick: e.func,
1432
- /**
1433
- * @ignore
1434
- */
1435
- onFocus: e.func,
1436
- /**
1437
- * Callback fired when the `input` doesn't satisfy its constraints.
1438
- */
1439
- onInvalid: e.func,
1440
- /**
1441
- * @ignore
1442
- */
1443
- onKeyDown: e.func,
1444
- /**
1445
- * @ignore
1446
- */
1447
- onKeyUp: e.func,
1448
- /**
1449
- * The short hint displayed in the `input` before the user enters a value.
1450
- */
1451
- placeholder: e.string,
1452
- /**
1453
- * It prevents the user from changing the value of the field
1454
- * (not from interacting with the field).
1455
- */
1456
- readOnly: e.bool,
1457
- /**
1458
- * @ignore
1459
- */
1460
- renderSuffix: e.func,
1461
- /**
1462
- * If `true`, the `input` element is required.
1463
- * The prop defaults to the value (`false`) inherited from the parent FormControl component.
1464
- */
1465
- required: e.bool,
1466
- /**
1467
- * Number of rows to display when multiline option is set to true.
1468
- */
1469
- rows: e.oneOfType([e.number, e.string]),
1598
+ enableTrackSlot: e.bool,
1470
1599
  /**
1471
1600
  * The size of the component.
1601
+ * If using a number, the pixel unit is assumed.
1602
+ * If using a string, you need to provide the CSS unit, for example '3rem'.
1603
+ * @default 40
1472
1604
  */
1473
- size: e.oneOfType([e.oneOf(["medium", "small"]), e.string]),
1474
- /**
1475
- * The extra props for the slot components.
1476
- * You can override the existing props or add new ones.
1477
- *
1478
- * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.
1479
- *
1480
- * @default {}
1481
- */
1482
- slotProps: e.shape({
1483
- input: e.object,
1484
- root: e.object
1485
- }),
1486
- /**
1487
- * The components used for each slot inside.
1488
- *
1489
- * This prop is an alias for the `components` prop, which will be deprecated in the future.
1490
- *
1491
- * @default {}
1492
- */
1493
- slots: e.shape({
1494
- input: e.elementType,
1495
- root: e.elementType
1496
- }),
1605
+ size: e.oneOfType([e.number, e.string]),
1497
1606
  /**
1498
- * Start `InputAdornment` for this component.
1607
+ * @ignore
1499
1608
  */
1500
- startAdornment: e.node,
1609
+ style: e.object,
1501
1610
  /**
1502
1611
  * The system prop that allows defining system overrides as well as additional CSS styles.
1503
1612
  */
1504
1613
  sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
1505
1614
  /**
1506
- * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#input_types).
1507
- * @default 'text'
1615
+ * The thickness of the circle.
1616
+ * @default 3.6
1508
1617
  */
1509
- type: e.string,
1618
+ thickness: e.number,
1510
1619
  /**
1511
- * The value of the `input` element, required for a controlled component.
1620
+ * The value of the progress indicator for the determinate variant.
1621
+ * Value between 0 and 100.
1622
+ * @default 0
1512
1623
  */
1513
- value: e.any
1624
+ value: e.number,
1625
+ /**
1626
+ * The variant to use.
1627
+ * Use indeterminate when there is no progress value.
1628
+ * @default 'indeterminate'
1629
+ */
1630
+ variant: e.oneOf(["determinate", "indeterminate"])
1514
1631
  });
1515
1632
  const Ct = (o) => {
1516
1633
  const {
1517
- classes: t
1518
- } = o, r = Q({
1519
- root: ["root"],
1520
- notchedOutline: ["notchedOutline"],
1521
- input: ["input"]
1522
- }, Qo, t);
1523
- return {
1524
- ...t,
1525
- // forward classes to the InputBase
1526
- ...r
1634
+ classes: t,
1635
+ disabled: n,
1636
+ color: r,
1637
+ edge: a,
1638
+ size: d,
1639
+ loading: i
1640
+ } = o, u = {
1641
+ root: ["root", i && "loading", n && "disabled", r !== "default" && `color${F(r)}`, a && `edge${F(a)}`, `size${F(d)}`],
1642
+ loadingIndicator: ["loadingIndicator"],
1643
+ loadingWrapper: ["loadingWrapper"]
1527
1644
  };
1528
- }, xt = N(De, {
1529
- shouldForwardProp: (o) => ue(o) || o === "classes",
1530
- name: "MuiOutlinedInput",
1645
+ return Q(u, Lo, t);
1646
+ }, xt = N(qo, {
1647
+ name: "MuiIconButton",
1531
1648
  slot: "Root",
1532
- overridesResolver: Ae
1649
+ overridesResolver: (o, t) => {
1650
+ const {
1651
+ ownerState: n
1652
+ } = o;
1653
+ return [t.root, n.loading && t.loading, n.color !== "default" && t[`color${F(n.color)}`], n.edge && t[`edge${F(n.edge)}`], t[`size${F(n.size)}`]];
1654
+ }
1533
1655
  })(U(({
1534
1656
  theme: o
1535
- }) => {
1536
- const t = o.palette.mode === "light" ? "rgba(0, 0, 0, 0.23)" : "rgba(255, 255, 255, 0.23)";
1537
- return {
1538
- position: "relative",
1539
- borderRadius: (o.vars || o).shape.borderRadius,
1540
- [`&:hover .${J.notchedOutline}`]: {
1541
- borderColor: (o.vars || o).palette.text.primary
1542
- },
1543
- // Reset on touch devices, it doesn't add specificity
1544
- "@media (hover: none)": {
1545
- [`&:hover .${J.notchedOutline}`]: {
1546
- borderColor: o.vars ? o.alpha(o.vars.palette.common.onBackground, 0.23) : t
1547
- }
1548
- },
1549
- [`&.${J.focused} .${J.notchedOutline}`]: {
1550
- borderWidth: 2
1551
- },
1552
- variants: [...Object.entries(o.palette).filter(be()).map(([n]) => ({
1553
- props: {
1554
- color: n
1555
- },
1556
- style: {
1557
- [`&.${J.focused} .${J.notchedOutline}`]: {
1558
- borderColor: (o.vars || o).palette[n].main
1559
- }
1560
- }
1561
- })), {
1562
- props: {},
1563
- // to override the above style
1564
- style: {
1565
- [`&.${J.error} .${J.notchedOutline}`]: {
1566
- borderColor: (o.vars || o).palette.error.main
1567
- },
1568
- [`&.${J.disabled} .${J.notchedOutline}`]: {
1569
- borderColor: (o.vars || o).palette.action.disabled
1657
+ }) => ({
1658
+ textAlign: "center",
1659
+ flex: "0 0 auto",
1660
+ fontSize: o.typography.pxToRem(24),
1661
+ padding: 8,
1662
+ borderRadius: "50%",
1663
+ color: (o.vars || o).palette.action.active,
1664
+ transition: o.transitions.create("background-color", {
1665
+ duration: o.transitions.duration.shortest
1666
+ }),
1667
+ variants: [{
1668
+ props: (t) => !t.disableRipple,
1669
+ style: {
1670
+ "--IconButton-hoverBg": o.alpha((o.vars || o).palette.action.active, (o.vars || o).palette.action.hoverOpacity),
1671
+ "&:hover": {
1672
+ backgroundColor: "var(--IconButton-hoverBg)",
1673
+ // Reset on touch devices, it doesn't add specificity
1674
+ "@media (hover: none)": {
1675
+ backgroundColor: "transparent"
1570
1676
  }
1571
1677
  }
1572
- }, {
1573
- props: ({
1574
- ownerState: n
1575
- }) => n.startAdornment,
1576
- style: {
1577
- paddingLeft: 14
1578
- }
1579
- }, {
1580
- props: ({
1581
- ownerState: n
1582
- }) => n.endAdornment,
1583
- style: {
1584
- paddingRight: 14
1585
- }
1586
- }, {
1587
- props: ({
1588
- ownerState: n
1589
- }) => n.multiline,
1590
- style: {
1591
- padding: "16.5px 14px"
1592
- }
1593
- }, {
1594
- props: ({
1595
- ownerState: n,
1596
- size: r
1597
- }) => n.multiline && r === "small",
1598
- style: {
1599
- padding: "8.5px 14px"
1600
- }
1601
- }]
1602
- };
1603
- })), Ot = N(jo, {
1604
- name: "MuiOutlinedInput",
1605
- slot: "NotchedOutline"
1606
- })(U(({
1607
- theme: o
1608
- }) => {
1609
- const t = o.palette.mode === "light" ? "rgba(0, 0, 0, 0.23)" : "rgba(255, 255, 255, 0.23)";
1610
- return {
1611
- borderColor: o.vars ? o.alpha(o.vars.palette.common.onBackground, 0.23) : t
1612
- };
1613
- })), wt = N(Le, {
1614
- name: "MuiOutlinedInput",
1615
- slot: "Input",
1616
- overridesResolver: ze
1617
- })(U(({
1618
- theme: o
1619
- }) => ({
1620
- padding: "16.5px 14px",
1621
- ...!o.vars && {
1622
- "&:-webkit-autofill": {
1623
- WebkitBoxShadow: o.palette.mode === "light" ? null : "0 0 0 100px #266798 inset",
1624
- WebkitTextFillColor: o.palette.mode === "light" ? null : "#fff",
1625
- caretColor: o.palette.mode === "light" ? null : "#fff",
1626
- borderRadius: "inherit"
1627
1678
  }
1628
- },
1629
- ...o.vars && {
1630
- "&:-webkit-autofill": {
1631
- borderRadius: "inherit"
1679
+ }, {
1680
+ props: {
1681
+ edge: "start"
1632
1682
  },
1633
- [o.getColorSchemeSelector("dark")]: {
1634
- "&:-webkit-autofill": {
1635
- WebkitBoxShadow: "0 0 0 100px #266798 inset",
1636
- WebkitTextFillColor: "#fff",
1637
- caretColor: "#fff"
1638
- }
1683
+ style: {
1684
+ marginLeft: -12
1639
1685
  }
1640
- },
1641
- variants: [{
1686
+ }, {
1642
1687
  props: {
1688
+ edge: "start",
1643
1689
  size: "small"
1644
1690
  },
1645
1691
  style: {
1646
- padding: "8.5px 14px"
1692
+ marginLeft: -3
1647
1693
  }
1648
1694
  }, {
1649
- props: ({
1650
- ownerState: t
1651
- }) => t.multiline,
1695
+ props: {
1696
+ edge: "end"
1697
+ },
1652
1698
  style: {
1653
- padding: 0
1699
+ marginRight: -12
1654
1700
  }
1655
1701
  }, {
1656
- props: ({
1657
- ownerState: t
1658
- }) => t.startAdornment,
1702
+ props: {
1703
+ edge: "end",
1704
+ size: "small"
1705
+ },
1659
1706
  style: {
1660
- paddingLeft: 0
1707
+ marginRight: -3
1708
+ }
1709
+ }]
1710
+ })), U(({
1711
+ theme: o
1712
+ }) => ({
1713
+ variants: [{
1714
+ props: {
1715
+ color: "inherit"
1716
+ },
1717
+ style: {
1718
+ color: "inherit"
1719
+ }
1720
+ }, ...Object.entries(o.palette).filter(be()).map(([t]) => ({
1721
+ props: {
1722
+ color: t
1723
+ },
1724
+ style: {
1725
+ color: (o.vars || o).palette[t].main
1726
+ }
1727
+ })), ...Object.entries(o.palette).filter(be()).map(([t]) => ({
1728
+ props: {
1729
+ color: t
1730
+ },
1731
+ style: {
1732
+ "--IconButton-hoverBg": o.alpha((o.vars || o).palette[t].main, (o.vars || o).palette.action.hoverOpacity)
1733
+ }
1734
+ })), {
1735
+ props: {
1736
+ size: "small"
1737
+ },
1738
+ style: {
1739
+ padding: 5,
1740
+ fontSize: o.typography.pxToRem(18)
1661
1741
  }
1662
1742
  }, {
1663
- props: ({
1664
- ownerState: t
1665
- }) => t.endAdornment,
1743
+ props: {
1744
+ size: "large"
1745
+ },
1666
1746
  style: {
1667
- paddingRight: 0
1747
+ padding: 12,
1748
+ fontSize: o.typography.pxToRem(28)
1668
1749
  }
1669
- }]
1670
- }))), no = /* @__PURE__ */ s.forwardRef(function(t, n) {
1671
- const r = ae({
1672
- props: t,
1673
- name: "MuiOutlinedInput"
1674
- }), {
1675
- components: a = {},
1676
- fullWidth: d = !1,
1677
- inputComponent: i = "input",
1678
- label: u,
1679
- multiline: v = !1,
1680
- notched: S,
1681
- slots: f = {},
1682
- slotProps: y = {},
1683
- type: b = "text",
1684
- ...R
1685
- } = r, C = Ct(r), T = oo(), g = to({
1686
- props: r,
1687
- muiFormControl: T,
1688
- states: ["color", "disabled", "error", "focused", "hiddenLabel", "size", "required"]
1689
- }), h = {
1690
- ...r,
1691
- color: g.color || "primary",
1692
- disabled: g.disabled,
1693
- error: g.error,
1694
- focused: g.focused,
1695
- formControl: T,
1696
- fullWidth: d,
1697
- hiddenLabel: g.hiddenLabel,
1698
- multiline: v,
1699
- size: g.size,
1700
- type: b
1701
- }, O = f.root ?? a.Root ?? xt, c = f.input ?? a.Input ?? wt, [p, P] = qo("notchedOutline", {
1702
- elementType: Ot,
1703
- className: C.notchedOutline,
1704
- shouldForwardComponentProp: !0,
1705
- ownerState: h,
1706
- externalForwardedProps: {
1707
- slots: f,
1708
- slotProps: y
1750
+ }],
1751
+ [`&.${uo.disabled}`]: {
1752
+ backgroundColor: "transparent",
1753
+ color: (o.vars || o).palette.action.disabled
1754
+ },
1755
+ [`&.${uo.loading}`]: {
1756
+ color: "transparent"
1757
+ }
1758
+ }))), Ot = N("span", {
1759
+ name: "MuiIconButton",
1760
+ slot: "LoadingIndicator"
1761
+ })(({
1762
+ theme: o
1763
+ }) => ({
1764
+ display: "none",
1765
+ position: "absolute",
1766
+ visibility: "visible",
1767
+ top: "50%",
1768
+ left: "50%",
1769
+ transform: "translate(-50%, -50%)",
1770
+ color: (o.vars || o).palette.action.disabled,
1771
+ variants: [{
1772
+ props: {
1773
+ loading: !0
1709
1774
  },
1710
- additionalProps: {
1711
- label: u != null && u !== "" && g.required ? /* @__PURE__ */ m.jsxs(s.Fragment, {
1712
- children: [u, " ", "*"]
1713
- }) : u
1775
+ style: {
1776
+ display: "flex"
1714
1777
  }
1715
- });
1716
- return /* @__PURE__ */ m.jsx(Ue, {
1717
- slots: {
1718
- root: O,
1719
- input: c
1720
- },
1721
- slotProps: y,
1722
- renderSuffix: (w) => /* @__PURE__ */ m.jsx(p, {
1723
- ...P,
1724
- notched: typeof S < "u" ? S : !!(w.startAdornment || w.filled || w.focused)
1725
- }),
1726
- fullWidth: d,
1727
- inputComponent: i,
1728
- multiline: v,
1778
+ }]
1779
+ })), wt = /* @__PURE__ */ s.forwardRef(function(t, n) {
1780
+ const r = ae({
1781
+ props: t,
1782
+ name: "MuiIconButton"
1783
+ }), {
1784
+ edge: a = !1,
1785
+ children: d,
1786
+ className: i,
1787
+ color: u = "default",
1788
+ disabled: v = !1,
1789
+ disableFocusRipple: S = !1,
1790
+ size: f = "medium",
1791
+ id: y,
1792
+ loading: b = null,
1793
+ loadingIndicator: R,
1794
+ ...C
1795
+ } = r, T = ko(y), g = R ?? /* @__PURE__ */ m.jsx(Eo, {
1796
+ "aria-labelledby": T,
1797
+ color: "inherit",
1798
+ size: 16
1799
+ }), h = {
1800
+ ...r,
1801
+ edge: a,
1802
+ color: u,
1803
+ disabled: v,
1804
+ disableFocusRipple: S,
1805
+ loading: b,
1806
+ loadingIndicator: g,
1807
+ size: f
1808
+ }, O = Ct(h);
1809
+ return /* @__PURE__ */ m.jsxs(xt, {
1810
+ id: b ? T : y,
1811
+ className: ie(O.root, i),
1812
+ centerRipple: !0,
1813
+ focusRipple: !S,
1814
+ disabled: v || b,
1729
1815
  ref: n,
1730
- type: b,
1731
- ...R,
1732
- classes: {
1733
- ...C,
1734
- notchedOutline: null
1735
- }
1816
+ ...C,
1817
+ ownerState: h,
1818
+ children: [typeof b == "boolean" && // use plain HTML span to minimize the runtime overhead
1819
+ /* @__PURE__ */ m.jsx("span", {
1820
+ className: O.loadingWrapper,
1821
+ style: {
1822
+ display: "contents"
1823
+ },
1824
+ children: /* @__PURE__ */ m.jsx(Ot, {
1825
+ className: O.loadingIndicator,
1826
+ ownerState: h,
1827
+ children: b && g
1828
+ })
1829
+ }), d]
1736
1830
  });
1737
1831
  });
1738
- process.env.NODE_ENV !== "production" && (no.propTypes = {
1832
+ process.env.NODE_ENV !== "production" && (wt.propTypes = {
1739
1833
  // ┌────────────────────────────── Warning ──────────────────────────────┐
1740
1834
  // │ These PropTypes are generated from the TypeScript type definitions. │
1741
1835
  // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
1742
1836
  // └─────────────────────────────────────────────────────────────────────┘
1743
1837
  /**
1744
- * This prop helps users to fill forms faster, especially on mobile devices.
1745
- * The name can be confusing, as it's more like an autofill.
1746
- * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).
1747
- */
1748
- autoComplete: e.string,
1749
- /**
1750
- * If `true`, the `input` element is focused during the first mount.
1838
+ * The icon to display.
1751
1839
  */
1752
- autoFocus: e.bool,
1840
+ children: Io(e.node, (o) => s.Children.toArray(o.children).some((n) => /* @__PURE__ */ s.isValidElement(n) && n.props.onClick) ? new Error(["MUI: You are providing an onClick event listener to a child of a button element.", "Prefer applying it to the IconButton directly.", "This guarantees that the whole <button> will be responsive to click events."].join(`
1841
+ `)) : null),
1753
1842
  /**
1754
1843
  * Override or extend the styles applied to the component.
1755
1844
  */
1756
1845
  classes: e.object,
1846
+ /**
1847
+ * @ignore
1848
+ */
1849
+ className: e.string,
1757
1850
  /**
1758
1851
  * The color of the component.
1759
1852
  * It supports both default and custom theme colors, which can be added as shown in the
1760
1853
  * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
1761
- * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.
1762
- */
1763
- color: e.oneOfType([e.oneOf(["primary", "secondary"]), e.string]),
1764
- /**
1765
- * The components used for each slot inside.
1766
- *
1767
- * @deprecated use the `slots` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
1768
- *
1769
- * @default {}
1770
- */
1771
- components: e.shape({
1772
- Input: e.elementType,
1773
- Root: e.elementType
1774
- }),
1775
- /**
1776
- * The default value. Use when the component is not controlled.
1854
+ * @default 'default'
1777
1855
  */
1778
- defaultValue: e.any,
1856
+ color: e.oneOfType([e.oneOf(["inherit", "default", "primary", "secondary", "error", "info", "success", "warning"]), e.string]),
1779
1857
  /**
1780
1858
  * If `true`, the component is disabled.
1781
- * The prop defaults to the value (`false`) inherited from the parent FormControl component.
1782
- */
1783
- disabled: e.bool,
1784
- /**
1785
- * End `InputAdornment` for this component.
1786
- */
1787
- endAdornment: e.node,
1788
- /**
1789
- * If `true`, the `input` will indicate an error.
1790
- * The prop defaults to the value (`false`) inherited from the parent FormControl component.
1791
- */
1792
- error: e.bool,
1793
- /**
1794
- * If `true`, the `input` will take up the full width of its container.
1795
1859
  * @default false
1796
1860
  */
1797
- fullWidth: e.bool,
1798
- /**
1799
- * The id of the `input` element.
1800
- */
1801
- id: e.string,
1802
- /**
1803
- * The component used for the `input` element.
1804
- * Either a string to use a HTML element or a component.
1805
- * @default 'input'
1806
- */
1807
- inputComponent: e.elementType,
1808
- /**
1809
- * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#attributes) applied to the `input` element.
1810
- * @default {}
1811
- */
1812
- inputProps: e.object,
1813
- /**
1814
- * Pass a ref to the `input` element.
1815
- */
1816
- inputRef: ge,
1817
- /**
1818
- * The label of the `input`. It is only used for layout. The actual labelling
1819
- * is handled by `InputLabel`.
1820
- */
1821
- label: e.node,
1822
- /**
1823
- * If `dense`, will adjust vertical spacing. This is normally obtained via context from
1824
- * FormControl.
1825
- * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.
1826
- */
1827
- margin: e.oneOf(["dense", "none"]),
1828
- /**
1829
- * Maximum number of rows to display when multiline option is set to true.
1830
- */
1831
- maxRows: e.oneOfType([e.number, e.string]),
1832
- /**
1833
- * Minimum number of rows to display when multiline option is set to true.
1834
- */
1835
- minRows: e.oneOfType([e.number, e.string]),
1861
+ disabled: e.bool,
1836
1862
  /**
1837
- * If `true`, a [TextareaAutosize](https://mui.com/material-ui/react-textarea-autosize/) element is rendered.
1863
+ * If `true`, the keyboard focus ripple is disabled.
1838
1864
  * @default false
1839
1865
  */
1840
- multiline: e.bool,
1841
- /**
1842
- * Name attribute of the `input` element.
1843
- */
1844
- name: e.string,
1845
- /**
1846
- * If `true`, the outline is notched to accommodate the label.
1847
- */
1848
- notched: e.bool,
1866
+ disableFocusRipple: e.bool,
1849
1867
  /**
1850
- * Callback fired when the value is changed.
1868
+ * If `true`, the ripple effect is disabled.
1851
1869
  *
1852
- * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.
1853
- * You can pull out the new value by accessing `event.target.value` (string).
1854
- */
1855
- onChange: e.func,
1856
- /**
1857
- * The short hint displayed in the `input` before the user enters a value.
1858
- */
1859
- placeholder: e.string,
1860
- /**
1861
- * It prevents the user from changing the value of the field
1862
- * (not from interacting with the field).
1870
+ * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure
1871
+ * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.
1872
+ * @default false
1863
1873
  */
1864
- readOnly: e.bool,
1874
+ disableRipple: e.bool,
1865
1875
  /**
1866
- * If `true`, the `input` element is required.
1867
- * The prop defaults to the value (`false`) inherited from the parent FormControl component.
1876
+ * If given, uses a negative margin to counteract the padding on one
1877
+ * side (this is often helpful for aligning the left or right
1878
+ * side of the icon with content above or below, without ruining the border
1879
+ * size and shape).
1880
+ * @default false
1868
1881
  */
1869
- required: e.bool,
1882
+ edge: e.oneOf(["end", "start", !1]),
1870
1883
  /**
1871
- * Number of rows to display when multiline option is set to true.
1884
+ * @ignore
1872
1885
  */
1873
- rows: e.oneOfType([e.number, e.string]),
1886
+ id: e.string,
1874
1887
  /**
1875
- * The props used for each slot inside.
1876
- * @default {}
1888
+ * If `true`, the loading indicator is visible and the button is disabled.
1889
+ * If `true | false`, the loading wrapper is always rendered before the children to prevent [Google Translation Crash](https://github.com/mui/material-ui/issues/27853).
1890
+ * @default null
1877
1891
  */
1878
- slotProps: e.shape({
1879
- input: e.object,
1880
- notchedOutline: e.oneOfType([e.func, e.object]),
1881
- root: e.object
1882
- }),
1892
+ loading: e.bool,
1883
1893
  /**
1884
- * The components used for each slot inside.
1885
- * @default {}
1894
+ * Element placed before the children if the button is in loading state.
1895
+ * The node should contain an element with `role="progressbar"` with an accessible name.
1896
+ * By default, it renders a `CircularProgress` that is labeled by the button itself.
1897
+ * @default <CircularProgress color="inherit" size={16} />
1886
1898
  */
1887
- slots: e.shape({
1888
- input: e.elementType,
1889
- notchedOutline: e.elementType,
1890
- root: e.elementType
1891
- }),
1899
+ loadingIndicator: e.node,
1892
1900
  /**
1893
- * Start `InputAdornment` for this component.
1901
+ * The size of the component.
1902
+ * `small` is equivalent to the dense button styling.
1903
+ * @default 'medium'
1894
1904
  */
1895
- startAdornment: e.node,
1905
+ size: e.oneOfType([e.oneOf(["small", "medium", "large"]), e.string]),
1896
1906
  /**
1897
1907
  * The system prop that allows defining system overrides as well as additional CSS styles.
1898
1908
  */
1899
- sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
1900
- /**
1901
- * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#input_types).
1902
- * @default 'text'
1903
- */
1904
- type: e.string,
1905
- /**
1906
- * The value of the `input` element, required for a controlled component.
1907
- */
1908
- value: e.any
1909
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object])
1909
1910
  });
1910
- no.muiName = "Input";
1911
1911
  function It(o) {
1912
1912
  return ye("MuiInput", o);
1913
1913
  }
@@ -2827,7 +2827,7 @@ const $t = (o) => {
2827
2827
  if (!Ye(A, ["Input", "Select"]))
2828
2828
  return;
2829
2829
  const K = Ye(A, ["Select"]) ? A.props.input : A;
2830
- K && vt(K.props) && (q = !0);
2830
+ K && at(K.props) && (q = !0);
2831
2831
  }), q;
2832
2832
  }), [w, V] = s.useState(() => {
2833
2833
  let q = !1;
@@ -3953,9 +3953,9 @@ process.env.NODE_ENV !== "production" && (Ao.propTypes = {
3953
3953
  });
3954
3954
  Ao.muiName = "Select";
3955
3955
  export {
3956
- Po as C,
3956
+ Eo as C,
3957
3957
  Bt as F,
3958
- mt as I,
3958
+ wt as I,
3959
3959
  no as O,
3960
3960
  Ao as S,
3961
3961
  so as a,