@hybridcore/ui 1.0.2 → 1.1.2

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 (105) hide show
  1. package/dist/ButtonBase-BYmh3G5j.js +967 -0
  2. package/dist/CardContent-C8PxkJz4.js +73 -0
  3. package/dist/Checkbox-DostZSwR.js +673 -0
  4. package/dist/DialogContent-2aPOjKE7.js +2025 -0
  5. package/dist/FormControl-BiAFm76F.js +1491 -0
  6. package/dist/IconButton-CQJ8wZE8.js +183 -0
  7. package/dist/Input-Bf5G3tFN.js +324 -0
  8. package/dist/OutlinedInput-BEVE8VZQ.js +452 -0
  9. package/dist/Paper-CaiWdndQ.js +162 -0
  10. package/dist/Select-DxpxZbJp.js +2526 -0
  11. package/dist/Source-CnCcu5UP.js +4374 -0
  12. package/dist/Text-BT5kPHOo.js +2192 -0
  13. package/dist/Typography-XIiVCSto.js +178 -0
  14. package/dist/assertThisInitialized-BUtkG-md.js +13 -0
  15. package/dist/assets/index.css +1 -0
  16. package/dist/assets/index2.css +1 -0
  17. package/dist/chainPropTypes-DtBfUj5o.js +96 -0
  18. package/dist/components/access/helpers.js +32 -0
  19. package/dist/components/access/index.js +15 -0
  20. package/dist/components/card/index.js +159 -469
  21. package/dist/components/card/styled.js +75 -7
  22. package/dist/components/conditional-wrapper/index.js +9 -0
  23. package/dist/components/confirm/dialog.js +151 -0
  24. package/dist/components/confirm/index.js +23 -0
  25. package/dist/components/container/index.js +270 -0
  26. package/dist/components/context-menu/index.js +973 -0
  27. package/dist/components/data-management/instance-form/components/composite-list/index.js +12 -0
  28. package/dist/components/data-management/instance-form/components/composite-list/styled.js +64 -0
  29. package/dist/components/data-management/instance-form/components/policy-list/index.js +86 -0
  30. package/dist/components/data-management/instance-form/components/variable/index.js +15 -0
  31. package/dist/components/data-management/instance-form/components/variables/index.js +39 -0
  32. package/dist/components/data-management/instance-form/index.js +437 -0
  33. package/dist/components/data-security-selectors/dissemination-list/index.js +3201 -0
  34. package/dist/components/data-security-selectors/security-level/index.js +81 -0
  35. package/dist/components/date-time-picker/index.js +103 -0
  36. package/dist/components/geometry-picker/coordinate/index.js +93 -0
  37. package/dist/components/geometry-picker/edit/index.js +71 -0
  38. package/dist/components/geometry-picker/geometry/index.js +160 -0
  39. package/dist/components/geometry-picker/geometry/map-overlay.js +22 -0
  40. package/dist/components/geometry-picker/index.js +140 -0
  41. package/dist/components/geometry-picker/kml/index.js +62 -0
  42. package/dist/components/geometry-picker/kml/select-input-method.js +75 -0
  43. package/dist/components/geometry-picker/logic.js +69 -0
  44. package/dist/components/geometry-picker/map/index.js +42 -0
  45. package/dist/components/geometry-picker/map/logic.js +2360 -0
  46. package/dist/components/geometry-picker/map/style.js +88 -0
  47. package/dist/components/geometry-picker/parser/coordinate-input/index.js +78 -0
  48. package/dist/components/geometry-picker/parser/coordinate-input/logic.js +1305 -0
  49. package/dist/components/geometry-picker/parser/index.js +179 -0
  50. package/dist/components/geometry-picker/parser/logic.js +84 -0
  51. package/dist/components/geometry-picker/parser/styled.js +25 -0
  52. package/dist/components/geometry-picker/styled.js +48 -0
  53. package/dist/components/geometry-picker/wkt/index.js +59 -0
  54. package/dist/components/geometry-picker/wkt/select-input-method.js +75 -0
  55. package/dist/components/icon-button/index.js +18 -0
  56. package/dist/components/icon-button/styled.js +51 -0
  57. package/dist/components/key-protection/index.js +4 -0
  58. package/dist/components/key-protection/menu.js +85 -0
  59. package/dist/components/key-protection/utils.js +10 -0
  60. package/dist/components/loading/index.js +7 -0
  61. package/dist/components/loading/styled.js +16 -0
  62. package/dist/components/map/helpers/kml.js +45 -0
  63. package/dist/components/map/helpers/mapbox.js +48 -0
  64. package/dist/components/map/helpers/ol.js +25 -0
  65. package/dist/components/map/helpers/wkt.js +29 -0
  66. package/dist/components/map/index.js +8 -0
  67. package/dist/components/map/logic.js +140 -0
  68. package/dist/components/map/styled.js +8 -0
  69. package/dist/components/phone-input/index.js +25 -0
  70. package/dist/components/phone-input/styled.js +26 -0
  71. package/dist/components/search-input/index.js +76 -0
  72. package/dist/components/tree-select/index.js +70 -0
  73. package/dist/components/tree-select/styled.js +64 -0
  74. package/dist/components/treeview-filter/index.js +621 -0
  75. package/dist/components/treeview-filter/item/index.js +7 -0
  76. package/dist/components/treeview-filter/item-label/index.js +44 -0
  77. package/dist/createTheme-agWfFD64.js +2392 -0
  78. package/dist/exactProp-CI8dagM-.js +36 -0
  79. package/dist/extends-C3382pL0.js +22 -0
  80. package/dist/has-9_asnBxn.js +688 -0
  81. package/dist/hooks/useMenuLogic.js +21 -0
  82. package/dist/hooks/useToggle.js +23 -0
  83. package/dist/index-Bw_m9ult.js +1105 -0
  84. package/dist/index-IvOfmM1F.js +34 -0
  85. package/dist/index-wW2D1aTG.js +957 -0
  86. package/dist/isHostComponent-kiaBvYVo.js +6 -0
  87. package/dist/isMuiElement-CxT3_ACP.js +13 -0
  88. package/dist/listItemTextClasses-BvXFz-Oc.js +132 -0
  89. package/dist/main.d.ts +1317 -0
  90. package/dist/main.js +41 -2
  91. package/dist/ol-DXmSLlWv.js +15041 -0
  92. package/dist/ownerDocument-CUrv0DIK.js +6 -0
  93. package/dist/ownerWindow-niciwP7I.js +7 -0
  94. package/dist/styled-C43K9x7T.js +229 -0
  95. package/dist/styled-Iq9jsO4F.js +1033 -0
  96. package/dist/useFormControl-CatNKXAi.js +10 -0
  97. package/dist/useId-BHG98T5I.js +26 -0
  98. package/dist/useTheme-C0Dky5rV.js +17 -0
  99. package/dist/useTheme-CeyGVuQP.js +10 -0
  100. package/dist/useThemeProps-CzAjOL6F.js +26 -0
  101. package/dist/utils/ontology.js +37 -0
  102. package/dist/utils-Bq0ye5vf.js +115 -0
  103. package/dist/utils-DLpkeyhZ.js +365 -0
  104. package/package.json +26 -5
  105. package/dist/styled-BG5UIpPU.js +0 -3459
@@ -0,0 +1,2025 @@
1
+ import { a as l, _ as j } from "./extends-C3382pL0.js";
2
+ import * as d from "react";
3
+ import { c as $, P as n } from "./createTheme-agWfFD64.js";
4
+ import { c as _, g as H, r as Vo, u as Y, a as G } from "./chainPropTypes-DtBfUj5o.js";
5
+ import { g as U, s as L, r as Ho, a as eo } from "./styled-Iq9jsO4F.js";
6
+ import { jsx as N, jsxs as co } from "react/jsx-runtime";
7
+ import { a as J, B as Uo, u as ho, s as yo, b as Eo } from "./ButtonBase-BYmh3G5j.js";
8
+ import { u as So } from "./useTheme-CeyGVuQP.js";
9
+ import { T as Ko, r as qo, g as To } from "./utils-DLpkeyhZ.js";
10
+ import { e as po, a as Oo } from "./exactProp-CI8dagM-.js";
11
+ import { o as V } from "./ownerDocument-CUrv0DIK.js";
12
+ import { o as uo } from "./ownerWindow-niciwP7I.js";
13
+ import { c as Co, u as Yo } from "./useId-BHG98T5I.js";
14
+ import { i as Go } from "./isHostComponent-kiaBvYVo.js";
15
+ import * as Xo from "react-dom";
16
+ import { P as Do } from "./Paper-CaiWdndQ.js";
17
+ function Io(o, e, t, r, s) {
18
+ if (process.env.NODE_ENV === "production")
19
+ return null;
20
+ const i = o[e], a = s || e;
21
+ return i == null ? null : i && i.nodeType !== 1 ? new Error(`Invalid ${r} \`${a}\` supplied to \`${t}\`. Expected an HTMLElement.`) : null;
22
+ }
23
+ function Zo(o) {
24
+ const e = o.documentElement.clientWidth;
25
+ return Math.abs(window.innerWidth - e);
26
+ }
27
+ function Jo(o, e, t) {
28
+ return o === void 0 || Go(o) ? e : l({}, e, {
29
+ ownerState: l({}, e.ownerState, t)
30
+ });
31
+ }
32
+ function Bo(o, e = []) {
33
+ if (o === void 0)
34
+ return {};
35
+ const t = {};
36
+ return Object.keys(o).filter((r) => r.match(/^on[A-Z]/) && typeof o[r] == "function" && !e.includes(r)).forEach((r) => {
37
+ t[r] = o[r];
38
+ }), t;
39
+ }
40
+ function ko(o) {
41
+ if (o === void 0)
42
+ return {};
43
+ const e = {};
44
+ return Object.keys(o).filter((t) => !(t.match(/^on[A-Z]/) && typeof o[t] == "function")).forEach((t) => {
45
+ e[t] = o[t];
46
+ }), e;
47
+ }
48
+ function Qo(o) {
49
+ const {
50
+ getSlotProps: e,
51
+ additionalProps: t,
52
+ externalSlotProps: r,
53
+ externalForwardedProps: s,
54
+ className: i
55
+ } = o;
56
+ if (!e) {
57
+ const h = _(t == null ? void 0 : t.className, i, s == null ? void 0 : s.className, r == null ? void 0 : r.className), f = l({}, t == null ? void 0 : t.style, s == null ? void 0 : s.style, r == null ? void 0 : r.style), S = l({}, t, s, r);
58
+ return h.length > 0 && (S.className = h), Object.keys(f).length > 0 && (S.style = f), {
59
+ props: S,
60
+ internalRef: void 0
61
+ };
62
+ }
63
+ const a = Bo(l({}, s, r)), c = ko(r), p = ko(s), b = e(a), m = _(b == null ? void 0 : b.className, t == null ? void 0 : t.className, i, s == null ? void 0 : s.className, r == null ? void 0 : r.className), v = l({}, b == null ? void 0 : b.style, t == null ? void 0 : t.style, s == null ? void 0 : s.style, r == null ? void 0 : r.style), y = l({}, b, t, p, c);
64
+ return m.length > 0 && (y.className = m), Object.keys(v).length > 0 && (y.style = v), {
65
+ props: y,
66
+ internalRef: b.ref
67
+ };
68
+ }
69
+ function oe(o, e, t) {
70
+ return typeof o == "function" ? o(e, t) : o;
71
+ }
72
+ const ee = ["elementType", "externalSlotProps", "ownerState", "skipResolvingSlotProps"];
73
+ function Po(o) {
74
+ var e;
75
+ const {
76
+ elementType: t,
77
+ externalSlotProps: r,
78
+ ownerState: s,
79
+ skipResolvingSlotProps: i = !1
80
+ } = o, a = j(o, ee), c = i ? {} : oe(r, s), {
81
+ props: p,
82
+ internalRef: b
83
+ } = Qo(l({}, a, {
84
+ externalSlotProps: c
85
+ })), m = J(b, c == null ? void 0 : c.ref, (e = o.additionalProps) == null ? void 0 : e.ref);
86
+ return Jo(t, l({}, p, {
87
+ ref: m
88
+ }), s);
89
+ }
90
+ function ne(o) {
91
+ return U("MuiButton", o);
92
+ }
93
+ const no = H("MuiButton", ["root", "text", "textInherit", "textPrimary", "textSecondary", "textSuccess", "textError", "textInfo", "textWarning", "outlined", "outlinedInherit", "outlinedPrimary", "outlinedSecondary", "outlinedSuccess", "outlinedError", "outlinedInfo", "outlinedWarning", "contained", "containedInherit", "containedPrimary", "containedSecondary", "containedSuccess", "containedError", "containedInfo", "containedWarning", "disableElevation", "focusVisible", "disabled", "colorInherit", "colorPrimary", "colorSecondary", "colorSuccess", "colorError", "colorInfo", "colorWarning", "textSizeSmall", "textSizeMedium", "textSizeLarge", "outlinedSizeSmall", "outlinedSizeMedium", "outlinedSizeLarge", "containedSizeSmall", "containedSizeMedium", "containedSizeLarge", "sizeMedium", "sizeSmall", "sizeLarge", "fullWidth", "startIcon", "endIcon", "icon", "iconSizeSmall", "iconSizeMedium", "iconSizeLarge"]), Mo = /* @__PURE__ */ d.createContext({});
94
+ process.env.NODE_ENV !== "production" && (Mo.displayName = "ButtonGroupContext");
95
+ const $o = /* @__PURE__ */ d.createContext(void 0);
96
+ process.env.NODE_ENV !== "production" && ($o.displayName = "ButtonGroupButtonContext");
97
+ const te = ["children", "color", "component", "className", "disabled", "disableElevation", "disableFocusRipple", "endIcon", "focusVisibleClassName", "fullWidth", "size", "startIcon", "type", "variant"], re = (o) => {
98
+ const {
99
+ color: e,
100
+ disableElevation: t,
101
+ fullWidth: r,
102
+ size: s,
103
+ variant: i,
104
+ classes: a
105
+ } = o, c = {
106
+ root: ["root", i, `${i}${$(e)}`, `size${$(s)}`, `${i}Size${$(s)}`, `color${$(e)}`, t && "disableElevation", r && "fullWidth"],
107
+ label: ["label"],
108
+ startIcon: ["icon", "startIcon", `iconSize${$(s)}`],
109
+ endIcon: ["icon", "endIcon", `iconSize${$(s)}`]
110
+ }, p = G(c, ne, a);
111
+ return l({}, a, p);
112
+ }, Wo = (o) => l({}, o.size === "small" && {
113
+ "& > *:nth-of-type(1)": {
114
+ fontSize: 18
115
+ }
116
+ }, o.size === "medium" && {
117
+ "& > *:nth-of-type(1)": {
118
+ fontSize: 20
119
+ }
120
+ }, o.size === "large" && {
121
+ "& > *:nth-of-type(1)": {
122
+ fontSize: 22
123
+ }
124
+ }), ie = L(Uo, {
125
+ shouldForwardProp: (o) => Ho(o) || o === "classes",
126
+ name: "MuiButton",
127
+ slot: "Root",
128
+ overridesResolver: (o, e) => {
129
+ const {
130
+ ownerState: t
131
+ } = o;
132
+ return [e.root, e[t.variant], e[`${t.variant}${$(t.color)}`], e[`size${$(t.size)}`], e[`${t.variant}Size${$(t.size)}`], t.color === "inherit" && e.colorInherit, t.disableElevation && e.disableElevation, t.fullWidth && e.fullWidth];
133
+ }
134
+ })(({
135
+ theme: o,
136
+ ownerState: e
137
+ }) => {
138
+ var t, r;
139
+ const s = o.palette.mode === "light" ? o.palette.grey[300] : o.palette.grey[800], i = o.palette.mode === "light" ? o.palette.grey.A100 : o.palette.grey[700];
140
+ return l({}, o.typography.button, {
141
+ minWidth: 64,
142
+ padding: "6px 16px",
143
+ borderRadius: (o.vars || o).shape.borderRadius,
144
+ transition: o.transitions.create(["background-color", "box-shadow", "border-color", "color"], {
145
+ duration: o.transitions.duration.short
146
+ }),
147
+ "&:hover": l({
148
+ textDecoration: "none",
149
+ backgroundColor: o.vars ? `rgba(${o.vars.palette.text.primaryChannel} / ${o.vars.palette.action.hoverOpacity})` : eo(o.palette.text.primary, o.palette.action.hoverOpacity),
150
+ // Reset on touch devices, it doesn't add specificity
151
+ "@media (hover: none)": {
152
+ backgroundColor: "transparent"
153
+ }
154
+ }, e.variant === "text" && e.color !== "inherit" && {
155
+ backgroundColor: o.vars ? `rgba(${o.vars.palette[e.color].mainChannel} / ${o.vars.palette.action.hoverOpacity})` : eo(o.palette[e.color].main, o.palette.action.hoverOpacity),
156
+ // Reset on touch devices, it doesn't add specificity
157
+ "@media (hover: none)": {
158
+ backgroundColor: "transparent"
159
+ }
160
+ }, e.variant === "outlined" && e.color !== "inherit" && {
161
+ border: `1px solid ${(o.vars || o).palette[e.color].main}`,
162
+ backgroundColor: o.vars ? `rgba(${o.vars.palette[e.color].mainChannel} / ${o.vars.palette.action.hoverOpacity})` : eo(o.palette[e.color].main, o.palette.action.hoverOpacity),
163
+ // Reset on touch devices, it doesn't add specificity
164
+ "@media (hover: none)": {
165
+ backgroundColor: "transparent"
166
+ }
167
+ }, e.variant === "contained" && {
168
+ backgroundColor: o.vars ? o.vars.palette.Button.inheritContainedHoverBg : i,
169
+ boxShadow: (o.vars || o).shadows[4],
170
+ // Reset on touch devices, it doesn't add specificity
171
+ "@media (hover: none)": {
172
+ boxShadow: (o.vars || o).shadows[2],
173
+ backgroundColor: (o.vars || o).palette.grey[300]
174
+ }
175
+ }, e.variant === "contained" && e.color !== "inherit" && {
176
+ backgroundColor: (o.vars || o).palette[e.color].dark,
177
+ // Reset on touch devices, it doesn't add specificity
178
+ "@media (hover: none)": {
179
+ backgroundColor: (o.vars || o).palette[e.color].main
180
+ }
181
+ }),
182
+ "&:active": l({}, e.variant === "contained" && {
183
+ boxShadow: (o.vars || o).shadows[8]
184
+ }),
185
+ [`&.${no.focusVisible}`]: l({}, e.variant === "contained" && {
186
+ boxShadow: (o.vars || o).shadows[6]
187
+ }),
188
+ [`&.${no.disabled}`]: l({
189
+ color: (o.vars || o).palette.action.disabled
190
+ }, e.variant === "outlined" && {
191
+ border: `1px solid ${(o.vars || o).palette.action.disabledBackground}`
192
+ }, e.variant === "contained" && {
193
+ color: (o.vars || o).palette.action.disabled,
194
+ boxShadow: (o.vars || o).shadows[0],
195
+ backgroundColor: (o.vars || o).palette.action.disabledBackground
196
+ })
197
+ }, e.variant === "text" && {
198
+ padding: "6px 8px"
199
+ }, e.variant === "text" && e.color !== "inherit" && {
200
+ color: (o.vars || o).palette[e.color].main
201
+ }, e.variant === "outlined" && {
202
+ padding: "5px 15px",
203
+ border: "1px solid currentColor"
204
+ }, e.variant === "outlined" && e.color !== "inherit" && {
205
+ color: (o.vars || o).palette[e.color].main,
206
+ border: o.vars ? `1px solid rgba(${o.vars.palette[e.color].mainChannel} / 0.5)` : `1px solid ${eo(o.palette[e.color].main, 0.5)}`
207
+ }, e.variant === "contained" && {
208
+ color: o.vars ? (
209
+ // this is safe because grey does not change between default light/dark mode
210
+ o.vars.palette.text.primary
211
+ ) : (t = (r = o.palette).getContrastText) == null ? void 0 : t.call(r, o.palette.grey[300]),
212
+ backgroundColor: o.vars ? o.vars.palette.Button.inheritContainedBg : s,
213
+ boxShadow: (o.vars || o).shadows[2]
214
+ }, e.variant === "contained" && e.color !== "inherit" && {
215
+ color: (o.vars || o).palette[e.color].contrastText,
216
+ backgroundColor: (o.vars || o).palette[e.color].main
217
+ }, e.color === "inherit" && {
218
+ color: "inherit",
219
+ borderColor: "currentColor"
220
+ }, e.size === "small" && e.variant === "text" && {
221
+ padding: "4px 5px",
222
+ fontSize: o.typography.pxToRem(13)
223
+ }, e.size === "large" && e.variant === "text" && {
224
+ padding: "8px 11px",
225
+ fontSize: o.typography.pxToRem(15)
226
+ }, e.size === "small" && e.variant === "outlined" && {
227
+ padding: "3px 9px",
228
+ fontSize: o.typography.pxToRem(13)
229
+ }, e.size === "large" && e.variant === "outlined" && {
230
+ padding: "7px 21px",
231
+ fontSize: o.typography.pxToRem(15)
232
+ }, e.size === "small" && e.variant === "contained" && {
233
+ padding: "4px 10px",
234
+ fontSize: o.typography.pxToRem(13)
235
+ }, e.size === "large" && e.variant === "contained" && {
236
+ padding: "8px 22px",
237
+ fontSize: o.typography.pxToRem(15)
238
+ }, e.fullWidth && {
239
+ width: "100%"
240
+ });
241
+ }, ({
242
+ ownerState: o
243
+ }) => o.disableElevation && {
244
+ boxShadow: "none",
245
+ "&:hover": {
246
+ boxShadow: "none"
247
+ },
248
+ [`&.${no.focusVisible}`]: {
249
+ boxShadow: "none"
250
+ },
251
+ "&:active": {
252
+ boxShadow: "none"
253
+ },
254
+ [`&.${no.disabled}`]: {
255
+ boxShadow: "none"
256
+ }
257
+ }), se = L("span", {
258
+ name: "MuiButton",
259
+ slot: "StartIcon",
260
+ overridesResolver: (o, e) => {
261
+ const {
262
+ ownerState: t
263
+ } = o;
264
+ return [e.startIcon, e[`iconSize${$(t.size)}`]];
265
+ }
266
+ })(({
267
+ ownerState: o
268
+ }) => l({
269
+ display: "inherit",
270
+ marginRight: 8,
271
+ marginLeft: -4
272
+ }, o.size === "small" && {
273
+ marginLeft: -2
274
+ }, Wo(o))), ae = L("span", {
275
+ name: "MuiButton",
276
+ slot: "EndIcon",
277
+ overridesResolver: (o, e) => {
278
+ const {
279
+ ownerState: t
280
+ } = o;
281
+ return [e.endIcon, e[`iconSize${$(t.size)}`]];
282
+ }
283
+ })(({
284
+ ownerState: o
285
+ }) => l({
286
+ display: "inherit",
287
+ marginRight: -4,
288
+ marginLeft: 8
289
+ }, o.size === "small" && {
290
+ marginRight: -2
291
+ }, Wo(o))), le = /* @__PURE__ */ d.forwardRef(function(e, t) {
292
+ const r = d.useContext(Mo), s = d.useContext($o), i = Vo(r, e), a = Y({
293
+ props: i,
294
+ name: "MuiButton"
295
+ }), {
296
+ children: c,
297
+ color: p = "primary",
298
+ component: b = "button",
299
+ className: m,
300
+ disabled: v = !1,
301
+ disableElevation: y = !1,
302
+ disableFocusRipple: h = !1,
303
+ endIcon: f,
304
+ focusVisibleClassName: S,
305
+ fullWidth: O = !1,
306
+ size: D = "medium",
307
+ startIcon: R,
308
+ type: u,
309
+ variant: k = "text"
310
+ } = a, E = j(a, te), P = l({}, a, {
311
+ color: p,
312
+ component: b,
313
+ disabled: v,
314
+ disableElevation: y,
315
+ disableFocusRipple: h,
316
+ fullWidth: O,
317
+ size: D,
318
+ type: u,
319
+ variant: k
320
+ }), T = re(P), I = R && /* @__PURE__ */ N(se, {
321
+ className: T.startIcon,
322
+ ownerState: P,
323
+ children: R
324
+ }), z = f && /* @__PURE__ */ N(ae, {
325
+ className: T.endIcon,
326
+ ownerState: P,
327
+ children: f
328
+ }), B = s || "";
329
+ return /* @__PURE__ */ co(ie, l({
330
+ ownerState: P,
331
+ className: _(r.className, T.root, m, B),
332
+ component: b,
333
+ disabled: v,
334
+ focusRipple: !h,
335
+ focusVisibleClassName: _(T.focusVisible, S),
336
+ ref: t,
337
+ type: u
338
+ }, E, {
339
+ classes: T,
340
+ children: [I, c, z]
341
+ }));
342
+ });
343
+ process.env.NODE_ENV !== "production" && (le.propTypes = {
344
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
345
+ // │ These PropTypes are generated from the TypeScript type definitions. │
346
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
347
+ // └─────────────────────────────────────────────────────────────────────┘
348
+ /**
349
+ * The content of the component.
350
+ */
351
+ children: n.node,
352
+ /**
353
+ * Override or extend the styles applied to the component.
354
+ */
355
+ classes: n.object,
356
+ /**
357
+ * @ignore
358
+ */
359
+ className: n.string,
360
+ /**
361
+ * The color of the component.
362
+ * It supports both default and custom theme colors, which can be added as shown in the
363
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
364
+ * @default 'primary'
365
+ */
366
+ color: n.oneOfType([n.oneOf(["inherit", "primary", "secondary", "success", "error", "info", "warning"]), n.string]),
367
+ /**
368
+ * The component used for the root node.
369
+ * Either a string to use a HTML element or a component.
370
+ */
371
+ component: n.elementType,
372
+ /**
373
+ * If `true`, the component is disabled.
374
+ * @default false
375
+ */
376
+ disabled: n.bool,
377
+ /**
378
+ * If `true`, no elevation is used.
379
+ * @default false
380
+ */
381
+ disableElevation: n.bool,
382
+ /**
383
+ * If `true`, the keyboard focus ripple is disabled.
384
+ * @default false
385
+ */
386
+ disableFocusRipple: n.bool,
387
+ /**
388
+ * If `true`, the ripple effect is disabled.
389
+ *
390
+ * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure
391
+ * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.
392
+ * @default false
393
+ */
394
+ disableRipple: n.bool,
395
+ /**
396
+ * Element placed after the children.
397
+ */
398
+ endIcon: n.node,
399
+ /**
400
+ * @ignore
401
+ */
402
+ focusVisibleClassName: n.string,
403
+ /**
404
+ * If `true`, the button will take up the full width of its container.
405
+ * @default false
406
+ */
407
+ fullWidth: n.bool,
408
+ /**
409
+ * The URL to link to when the button is clicked.
410
+ * If defined, an `a` element will be used as the root node.
411
+ */
412
+ href: n.string,
413
+ /**
414
+ * The size of the component.
415
+ * `small` is equivalent to the dense button styling.
416
+ * @default 'medium'
417
+ */
418
+ size: n.oneOfType([n.oneOf(["small", "medium", "large"]), n.string]),
419
+ /**
420
+ * Element placed before the children.
421
+ */
422
+ startIcon: n.node,
423
+ /**
424
+ * The system prop that allows defining system overrides as well as additional CSS styles.
425
+ */
426
+ sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
427
+ /**
428
+ * @ignore
429
+ */
430
+ type: n.oneOfType([n.oneOf(["button", "reset", "submit"]), n.string]),
431
+ /**
432
+ * The variant to use.
433
+ * @default 'text'
434
+ */
435
+ variant: n.oneOfType([n.oneOf(["contained", "outlined", "text"]), n.string])
436
+ });
437
+ function ce(o) {
438
+ const e = V(o);
439
+ return e.body === o ? uo(o).innerWidth > e.documentElement.clientWidth : o.scrollHeight > o.clientHeight;
440
+ }
441
+ function Z(o, e) {
442
+ e ? o.setAttribute("aria-hidden", "true") : o.removeAttribute("aria-hidden");
443
+ }
444
+ function Ro(o) {
445
+ return parseInt(uo(o).getComputedStyle(o).paddingRight, 10) || 0;
446
+ }
447
+ function de(o) {
448
+ const t = ["TEMPLATE", "SCRIPT", "STYLE", "LINK", "MAP", "META", "NOSCRIPT", "PICTURE", "COL", "COLGROUP", "PARAM", "SLOT", "SOURCE", "TRACK"].indexOf(o.tagName) !== -1, r = o.tagName === "INPUT" && o.getAttribute("type") === "hidden";
449
+ return t || r;
450
+ }
451
+ function No(o, e, t, r, s) {
452
+ const i = [e, t, ...r];
453
+ [].forEach.call(o.children, (a) => {
454
+ const c = i.indexOf(a) === -1, p = !de(a);
455
+ c && p && Z(a, s);
456
+ });
457
+ }
458
+ function ao(o, e) {
459
+ let t = -1;
460
+ return o.some((r, s) => e(r) ? (t = s, !0) : !1), t;
461
+ }
462
+ function pe(o, e) {
463
+ const t = [], r = o.container;
464
+ if (!e.disableScrollLock) {
465
+ if (ce(r)) {
466
+ const a = Zo(V(r));
467
+ t.push({
468
+ value: r.style.paddingRight,
469
+ property: "padding-right",
470
+ el: r
471
+ }), r.style.paddingRight = `${Ro(r) + a}px`;
472
+ const c = V(r).querySelectorAll(".mui-fixed");
473
+ [].forEach.call(c, (p) => {
474
+ t.push({
475
+ value: p.style.paddingRight,
476
+ property: "padding-right",
477
+ el: p
478
+ }), p.style.paddingRight = `${Ro(p) + a}px`;
479
+ });
480
+ }
481
+ let i;
482
+ if (r.parentNode instanceof DocumentFragment)
483
+ i = V(r).body;
484
+ else {
485
+ const a = r.parentElement, c = uo(r);
486
+ i = (a == null ? void 0 : a.nodeName) === "HTML" && c.getComputedStyle(a).overflowY === "scroll" ? a : r;
487
+ }
488
+ t.push({
489
+ value: i.style.overflow,
490
+ property: "overflow",
491
+ el: i
492
+ }, {
493
+ value: i.style.overflowX,
494
+ property: "overflow-x",
495
+ el: i
496
+ }, {
497
+ value: i.style.overflowY,
498
+ property: "overflow-y",
499
+ el: i
500
+ }), i.style.overflow = "hidden";
501
+ }
502
+ return () => {
503
+ t.forEach(({
504
+ value: i,
505
+ el: a,
506
+ property: c
507
+ }) => {
508
+ i ? a.style.setProperty(c, i) : a.style.removeProperty(c);
509
+ });
510
+ };
511
+ }
512
+ function ue(o) {
513
+ const e = [];
514
+ return [].forEach.call(o.children, (t) => {
515
+ t.getAttribute("aria-hidden") === "true" && e.push(t);
516
+ }), e;
517
+ }
518
+ class fe {
519
+ constructor() {
520
+ this.containers = void 0, this.modals = void 0, this.modals = [], this.containers = [];
521
+ }
522
+ add(e, t) {
523
+ let r = this.modals.indexOf(e);
524
+ if (r !== -1)
525
+ return r;
526
+ r = this.modals.length, this.modals.push(e), e.modalRef && Z(e.modalRef, !1);
527
+ const s = ue(t);
528
+ No(t, e.mount, e.modalRef, s, !0);
529
+ const i = ao(this.containers, (a) => a.container === t);
530
+ return i !== -1 ? (this.containers[i].modals.push(e), r) : (this.containers.push({
531
+ modals: [e],
532
+ container: t,
533
+ restore: null,
534
+ hiddenSiblings: s
535
+ }), r);
536
+ }
537
+ mount(e, t) {
538
+ const r = ao(this.containers, (i) => i.modals.indexOf(e) !== -1), s = this.containers[r];
539
+ s.restore || (s.restore = pe(s, t));
540
+ }
541
+ remove(e, t = !0) {
542
+ const r = this.modals.indexOf(e);
543
+ if (r === -1)
544
+ return r;
545
+ const s = ao(this.containers, (a) => a.modals.indexOf(e) !== -1), i = this.containers[s];
546
+ if (i.modals.splice(i.modals.indexOf(e), 1), this.modals.splice(r, 1), i.modals.length === 0)
547
+ i.restore && i.restore(), e.modalRef && Z(e.modalRef, t), No(i.container, e.mount, e.modalRef, i.hiddenSiblings, !1), this.containers.splice(s, 1);
548
+ else {
549
+ const a = i.modals[i.modals.length - 1];
550
+ a.modalRef && Z(a.modalRef, !1);
551
+ }
552
+ return r;
553
+ }
554
+ isTopModal(e) {
555
+ return this.modals.length > 0 && this.modals[this.modals.length - 1] === e;
556
+ }
557
+ }
558
+ const be = ["input", "select", "textarea", "a[href]", "button", "[tabindex]", "audio[controls]", "video[controls]", '[contenteditable]:not([contenteditable="false"])'].join(",");
559
+ function ge(o) {
560
+ const e = parseInt(o.getAttribute("tabindex") || "", 10);
561
+ return Number.isNaN(e) ? o.contentEditable === "true" || (o.nodeName === "AUDIO" || o.nodeName === "VIDEO" || o.nodeName === "DETAILS") && o.getAttribute("tabindex") === null ? 0 : o.tabIndex : e;
562
+ }
563
+ function me(o) {
564
+ if (o.tagName !== "INPUT" || o.type !== "radio" || !o.name)
565
+ return !1;
566
+ const e = (r) => o.ownerDocument.querySelector(`input[type="radio"]${r}`);
567
+ let t = e(`[name="${o.name}"]:checked`);
568
+ return t || (t = e(`[name="${o.name}"]`)), t !== o;
569
+ }
570
+ function ve(o) {
571
+ return !(o.disabled || o.tagName === "INPUT" && o.type === "hidden" || me(o));
572
+ }
573
+ function xe(o) {
574
+ const e = [], t = [];
575
+ return Array.from(o.querySelectorAll(be)).forEach((r, s) => {
576
+ const i = ge(r);
577
+ i === -1 || !ve(r) || (i === 0 ? e.push(r) : t.push({
578
+ documentOrder: s,
579
+ tabIndex: i,
580
+ node: r
581
+ }));
582
+ }), t.sort((r, s) => r.tabIndex === s.tabIndex ? r.documentOrder - s.documentOrder : r.tabIndex - s.tabIndex).map((r) => r.node).concat(e);
583
+ }
584
+ function he() {
585
+ return !0;
586
+ }
587
+ function to(o) {
588
+ const {
589
+ children: e,
590
+ disableAutoFocus: t = !1,
591
+ disableEnforceFocus: r = !1,
592
+ disableRestoreFocus: s = !1,
593
+ getTabbable: i = xe,
594
+ isEnabled: a = he,
595
+ open: c
596
+ } = o, p = d.useRef(!1), b = d.useRef(null), m = d.useRef(null), v = d.useRef(null), y = d.useRef(null), h = d.useRef(!1), f = d.useRef(null), S = J(e.ref, f), O = d.useRef(null);
597
+ d.useEffect(() => {
598
+ !c || !f.current || (h.current = !t);
599
+ }, [t, c]), d.useEffect(() => {
600
+ if (!c || !f.current)
601
+ return;
602
+ const u = V(f.current);
603
+ return f.current.contains(u.activeElement) || (f.current.hasAttribute("tabIndex") || (process.env.NODE_ENV !== "production" && console.error(["MUI: The modal content node does not accept focus.", 'For the benefit of assistive technologies, the tabIndex of the node is being set to "-1".'].join(`
604
+ `)), f.current.setAttribute("tabIndex", "-1")), h.current && f.current.focus()), () => {
605
+ s || (v.current && v.current.focus && (p.current = !0, v.current.focus()), v.current = null);
606
+ };
607
+ }, [c]), d.useEffect(() => {
608
+ if (!c || !f.current)
609
+ return;
610
+ const u = V(f.current), k = (T) => {
611
+ O.current = T, !(r || !a() || T.key !== "Tab") && u.activeElement === f.current && T.shiftKey && (p.current = !0, m.current && m.current.focus());
612
+ }, E = () => {
613
+ const T = f.current;
614
+ if (T === null)
615
+ return;
616
+ if (!u.hasFocus() || !a() || p.current) {
617
+ p.current = !1;
618
+ return;
619
+ }
620
+ if (T.contains(u.activeElement) || r && u.activeElement !== b.current && u.activeElement !== m.current)
621
+ return;
622
+ if (u.activeElement !== y.current)
623
+ y.current = null;
624
+ else if (y.current !== null)
625
+ return;
626
+ if (!h.current)
627
+ return;
628
+ let I = [];
629
+ if ((u.activeElement === b.current || u.activeElement === m.current) && (I = i(f.current)), I.length > 0) {
630
+ var z, B;
631
+ const F = !!((z = O.current) != null && z.shiftKey && ((B = O.current) == null ? void 0 : B.key) === "Tab"), w = I[0], A = I[I.length - 1];
632
+ typeof w != "string" && typeof A != "string" && (F ? A.focus() : w.focus());
633
+ } else
634
+ T.focus();
635
+ };
636
+ u.addEventListener("focusin", E), u.addEventListener("keydown", k, !0);
637
+ const P = setInterval(() => {
638
+ u.activeElement && u.activeElement.tagName === "BODY" && E();
639
+ }, 50);
640
+ return () => {
641
+ clearInterval(P), u.removeEventListener("focusin", E), u.removeEventListener("keydown", k, !0);
642
+ };
643
+ }, [t, r, s, a, c, i]);
644
+ const D = (u) => {
645
+ v.current === null && (v.current = u.relatedTarget), h.current = !0, y.current = u.target;
646
+ const k = e.props.onFocus;
647
+ k && k(u);
648
+ }, R = (u) => {
649
+ v.current === null && (v.current = u.relatedTarget), h.current = !0;
650
+ };
651
+ return /* @__PURE__ */ co(d.Fragment, {
652
+ children: [/* @__PURE__ */ N("div", {
653
+ tabIndex: c ? 0 : -1,
654
+ onFocus: R,
655
+ ref: b,
656
+ "data-testid": "sentinelStart"
657
+ }), /* @__PURE__ */ d.cloneElement(e, {
658
+ ref: S,
659
+ onFocus: D
660
+ }), /* @__PURE__ */ N("div", {
661
+ tabIndex: c ? 0 : -1,
662
+ onFocus: R,
663
+ ref: m,
664
+ "data-testid": "sentinelEnd"
665
+ })]
666
+ });
667
+ }
668
+ process.env.NODE_ENV !== "production" && (to.propTypes = {
669
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
670
+ // │ These PropTypes are generated from the TypeScript type definitions. │
671
+ // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │
672
+ // └─────────────────────────────────────────────────────────────────────┘
673
+ /**
674
+ * A single child content element.
675
+ */
676
+ children: po,
677
+ /**
678
+ * If `true`, the focus trap will not automatically shift focus to itself when it opens, and
679
+ * replace it to the last focused element when it closes.
680
+ * This also works correctly with any focus trap children that have the `disableAutoFocus` prop.
681
+ *
682
+ * Generally this should never be set to `true` as it makes the focus trap less
683
+ * accessible to assistive technologies, like screen readers.
684
+ * @default false
685
+ */
686
+ disableAutoFocus: n.bool,
687
+ /**
688
+ * If `true`, the focus trap will not prevent focus from leaving the focus trap while open.
689
+ *
690
+ * Generally this should never be set to `true` as it makes the focus trap less
691
+ * accessible to assistive technologies, like screen readers.
692
+ * @default false
693
+ */
694
+ disableEnforceFocus: n.bool,
695
+ /**
696
+ * If `true`, the focus trap will not restore focus to previously focused element once
697
+ * focus trap is hidden or unmounted.
698
+ * @default false
699
+ */
700
+ disableRestoreFocus: n.bool,
701
+ /**
702
+ * Returns an array of ordered tabbable nodes (i.e. in tab order) within the root.
703
+ * For instance, you can provide the "tabbable" npm dependency.
704
+ * @param {HTMLElement} root
705
+ */
706
+ getTabbable: n.func,
707
+ /**
708
+ * This prop extends the `open` prop.
709
+ * It allows to toggle the open state without having to wait for a rerender when changing the `open` prop.
710
+ * This prop should be memoized.
711
+ * It can be used to support multiple focus trap mounted at the same time.
712
+ * @default function defaultIsEnabled(): boolean {
713
+ * return true;
714
+ * }
715
+ */
716
+ isEnabled: n.func,
717
+ /**
718
+ * If `true`, focus is locked.
719
+ */
720
+ open: n.bool.isRequired
721
+ });
722
+ process.env.NODE_ENV !== "production" && (to.propTypes = Oo(to.propTypes));
723
+ function ye(o) {
724
+ return typeof o == "function" ? o() : o;
725
+ }
726
+ const ro = /* @__PURE__ */ d.forwardRef(function(e, t) {
727
+ const {
728
+ children: r,
729
+ container: s,
730
+ disablePortal: i = !1
731
+ } = e, [a, c] = d.useState(null), p = J(/* @__PURE__ */ d.isValidElement(r) ? r.ref : null, t);
732
+ if (ho(() => {
733
+ i || c(ye(s) || document.body);
734
+ }, [s, i]), ho(() => {
735
+ if (a && !i)
736
+ return yo(t, a), () => {
737
+ yo(t, null);
738
+ };
739
+ }, [t, a, i]), i) {
740
+ if (/* @__PURE__ */ d.isValidElement(r)) {
741
+ const b = {
742
+ ref: p
743
+ };
744
+ return /* @__PURE__ */ d.cloneElement(r, b);
745
+ }
746
+ return /* @__PURE__ */ N(d.Fragment, {
747
+ children: r
748
+ });
749
+ }
750
+ return /* @__PURE__ */ N(d.Fragment, {
751
+ children: a && /* @__PURE__ */ Xo.createPortal(r, a)
752
+ });
753
+ });
754
+ process.env.NODE_ENV !== "production" && (ro.propTypes = {
755
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
756
+ // │ These PropTypes are generated from the TypeScript type definitions. │
757
+ // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │
758
+ // └─────────────────────────────────────────────────────────────────────┘
759
+ /**
760
+ * The children to render into the `container`.
761
+ */
762
+ children: n.node,
763
+ /**
764
+ * An HTML element or function that returns one.
765
+ * The `container` will have the portal children appended to it.
766
+ *
767
+ * You can also provide a callback, which is called in a React layout effect.
768
+ * This lets you set the container from a ref, and also makes server-side rendering possible.
769
+ *
770
+ * By default, it uses the body of the top-level document object,
771
+ * so it's simply `document.body` most of the time.
772
+ */
773
+ container: n.oneOfType([Io, n.func]),
774
+ /**
775
+ * The `children` will be under the DOM hierarchy of the parent component.
776
+ * @default false
777
+ */
778
+ disablePortal: n.bool
779
+ });
780
+ process.env.NODE_ENV !== "production" && (ro.propTypes = Oo(ro.propTypes));
781
+ const Ee = ["addEndListener", "appear", "children", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"], Te = {
782
+ entering: {
783
+ opacity: 1
784
+ },
785
+ entered: {
786
+ opacity: 1
787
+ }
788
+ }, fo = /* @__PURE__ */ d.forwardRef(function(e, t) {
789
+ const r = So(), s = {
790
+ enter: r.transitions.duration.enteringScreen,
791
+ exit: r.transitions.duration.leavingScreen
792
+ }, {
793
+ addEndListener: i,
794
+ appear: a = !0,
795
+ children: c,
796
+ easing: p,
797
+ in: b,
798
+ onEnter: m,
799
+ onEntered: v,
800
+ onEntering: y,
801
+ onExit: h,
802
+ onExited: f,
803
+ onExiting: S,
804
+ style: O,
805
+ timeout: D = s,
806
+ // eslint-disable-next-line react/prop-types
807
+ TransitionComponent: R = Ko
808
+ } = e, u = j(e, Ee), k = d.useRef(null), E = J(k, c.ref, t), P = (x) => (W) => {
809
+ if (x) {
810
+ const g = k.current;
811
+ W === void 0 ? x(g) : x(g, W);
812
+ }
813
+ }, T = P(y), I = P((x, W) => {
814
+ qo(x);
815
+ const g = To({
816
+ style: O,
817
+ timeout: D,
818
+ easing: p
819
+ }, {
820
+ mode: "enter"
821
+ });
822
+ x.style.webkitTransition = r.transitions.create("opacity", g), x.style.transition = r.transitions.create("opacity", g), m && m(x, W);
823
+ }), z = P(v), B = P(S), F = P((x) => {
824
+ const W = To({
825
+ style: O,
826
+ timeout: D,
827
+ easing: p
828
+ }, {
829
+ mode: "exit"
830
+ });
831
+ x.style.webkitTransition = r.transitions.create("opacity", W), x.style.transition = r.transitions.create("opacity", W), h && h(x);
832
+ }), w = P(f);
833
+ return /* @__PURE__ */ N(R, l({
834
+ appear: a,
835
+ in: b,
836
+ nodeRef: k,
837
+ onEnter: I,
838
+ onEntered: z,
839
+ onEntering: T,
840
+ onExit: F,
841
+ onExited: w,
842
+ onExiting: B,
843
+ addEndListener: (x) => {
844
+ i && i(k.current, x);
845
+ },
846
+ timeout: D
847
+ }, u, {
848
+ children: (x, W) => /* @__PURE__ */ d.cloneElement(c, l({
849
+ style: l({
850
+ opacity: 0,
851
+ visibility: x === "exited" && !b ? "hidden" : void 0
852
+ }, Te[x], O, c.props.style),
853
+ ref: E
854
+ }, W))
855
+ }));
856
+ });
857
+ process.env.NODE_ENV !== "production" && (fo.propTypes = {
858
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
859
+ // │ These PropTypes are generated from the TypeScript type definitions. │
860
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
861
+ // └─────────────────────────────────────────────────────────────────────┘
862
+ /**
863
+ * Add a custom transition end trigger. Called with the transitioning DOM
864
+ * node and a done callback. Allows for more fine grained transition end
865
+ * logic. Note: Timeouts are still used as a fallback if provided.
866
+ */
867
+ addEndListener: n.func,
868
+ /**
869
+ * Perform the enter transition when it first mounts if `in` is also `true`.
870
+ * Set this to `false` to disable this behavior.
871
+ * @default true
872
+ */
873
+ appear: n.bool,
874
+ /**
875
+ * A single child content element.
876
+ */
877
+ children: po.isRequired,
878
+ /**
879
+ * The transition timing function.
880
+ * You may specify a single easing or a object containing enter and exit values.
881
+ */
882
+ easing: n.oneOfType([n.shape({
883
+ enter: n.string,
884
+ exit: n.string
885
+ }), n.string]),
886
+ /**
887
+ * If `true`, the component will transition in.
888
+ */
889
+ in: n.bool,
890
+ /**
891
+ * @ignore
892
+ */
893
+ onEnter: n.func,
894
+ /**
895
+ * @ignore
896
+ */
897
+ onEntered: n.func,
898
+ /**
899
+ * @ignore
900
+ */
901
+ onEntering: n.func,
902
+ /**
903
+ * @ignore
904
+ */
905
+ onExit: n.func,
906
+ /**
907
+ * @ignore
908
+ */
909
+ onExited: n.func,
910
+ /**
911
+ * @ignore
912
+ */
913
+ onExiting: n.func,
914
+ /**
915
+ * @ignore
916
+ */
917
+ style: n.object,
918
+ /**
919
+ * The duration for the transition, in milliseconds.
920
+ * You may specify a single timeout for all transitions, or individually with an object.
921
+ * @default {
922
+ * enter: theme.transitions.duration.enteringScreen,
923
+ * exit: theme.transitions.duration.leavingScreen,
924
+ * }
925
+ */
926
+ timeout: n.oneOfType([n.number, n.shape({
927
+ appear: n.number,
928
+ enter: n.number,
929
+ exit: n.number
930
+ })])
931
+ });
932
+ function Ce(o) {
933
+ return U("MuiBackdrop", o);
934
+ }
935
+ H("MuiBackdrop", ["root", "invisible"]);
936
+ const ke = ["children", "className", "component", "components", "componentsProps", "invisible", "open", "slotProps", "slots", "TransitionComponent", "transitionDuration"], Pe = (o) => {
937
+ const {
938
+ classes: e,
939
+ invisible: t
940
+ } = o;
941
+ return G({
942
+ root: ["root", t && "invisible"]
943
+ }, Ce, e);
944
+ }, Re = L("div", {
945
+ name: "MuiBackdrop",
946
+ slot: "Root",
947
+ overridesResolver: (o, e) => {
948
+ const {
949
+ ownerState: t
950
+ } = o;
951
+ return [e.root, t.invisible && e.invisible];
952
+ }
953
+ })(({
954
+ ownerState: o
955
+ }) => l({
956
+ position: "fixed",
957
+ display: "flex",
958
+ alignItems: "center",
959
+ justifyContent: "center",
960
+ right: 0,
961
+ bottom: 0,
962
+ top: 0,
963
+ left: 0,
964
+ backgroundColor: "rgba(0, 0, 0, 0.5)",
965
+ WebkitTapHighlightColor: "transparent"
966
+ }, o.invisible && {
967
+ backgroundColor: "transparent"
968
+ })), bo = /* @__PURE__ */ d.forwardRef(function(e, t) {
969
+ var r, s, i;
970
+ const a = Y({
971
+ props: e,
972
+ name: "MuiBackdrop"
973
+ }), {
974
+ children: c,
975
+ className: p,
976
+ component: b = "div",
977
+ components: m = {},
978
+ componentsProps: v = {},
979
+ invisible: y = !1,
980
+ open: h,
981
+ slotProps: f = {},
982
+ slots: S = {},
983
+ TransitionComponent: O = fo,
984
+ transitionDuration: D
985
+ } = a, R = j(a, ke), u = l({}, a, {
986
+ component: b,
987
+ invisible: y
988
+ }), k = Pe(u), E = (r = f.root) != null ? r : v.root;
989
+ return /* @__PURE__ */ N(O, l({
990
+ in: h,
991
+ timeout: D
992
+ }, R, {
993
+ children: /* @__PURE__ */ N(Re, l({
994
+ "aria-hidden": !0
995
+ }, E, {
996
+ as: (s = (i = S.root) != null ? i : m.Root) != null ? s : b,
997
+ className: _(k.root, p, E == null ? void 0 : E.className),
998
+ ownerState: l({}, u, E == null ? void 0 : E.ownerState),
999
+ classes: k,
1000
+ ref: t,
1001
+ children: c
1002
+ }))
1003
+ }));
1004
+ });
1005
+ process.env.NODE_ENV !== "production" && (bo.propTypes = {
1006
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
1007
+ // │ These PropTypes are generated from the TypeScript type definitions. │
1008
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
1009
+ // └─────────────────────────────────────────────────────────────────────┘
1010
+ /**
1011
+ * The content of the component.
1012
+ */
1013
+ children: n.node,
1014
+ /**
1015
+ * Override or extend the styles applied to the component.
1016
+ */
1017
+ classes: n.object,
1018
+ /**
1019
+ * @ignore
1020
+ */
1021
+ className: n.string,
1022
+ /**
1023
+ * The component used for the root node.
1024
+ * Either a string to use a HTML element or a component.
1025
+ */
1026
+ component: n.elementType,
1027
+ /**
1028
+ * The components used for each slot inside.
1029
+ *
1030
+ * This prop is an alias for the `slots` prop.
1031
+ * It's recommended to use the `slots` prop instead.
1032
+ *
1033
+ * @default {}
1034
+ */
1035
+ components: n.shape({
1036
+ Root: n.elementType
1037
+ }),
1038
+ /**
1039
+ * The extra props for the slot components.
1040
+ * You can override the existing props or add new ones.
1041
+ *
1042
+ * This prop is an alias for the `slotProps` prop.
1043
+ * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.
1044
+ *
1045
+ * @default {}
1046
+ */
1047
+ componentsProps: n.shape({
1048
+ root: n.object
1049
+ }),
1050
+ /**
1051
+ * If `true`, the backdrop is invisible.
1052
+ * It can be used when rendering a popover or a custom select component.
1053
+ * @default false
1054
+ */
1055
+ invisible: n.bool,
1056
+ /**
1057
+ * If `true`, the component is shown.
1058
+ */
1059
+ open: n.bool.isRequired,
1060
+ /**
1061
+ * The extra props for the slot components.
1062
+ * You can override the existing props or add new ones.
1063
+ *
1064
+ * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.
1065
+ *
1066
+ * @default {}
1067
+ */
1068
+ slotProps: n.shape({
1069
+ root: n.object
1070
+ }),
1071
+ /**
1072
+ * The components used for each slot inside.
1073
+ *
1074
+ * This prop is an alias for the `components` prop, which will be deprecated in the future.
1075
+ *
1076
+ * @default {}
1077
+ */
1078
+ slots: n.shape({
1079
+ root: n.elementType
1080
+ }),
1081
+ /**
1082
+ * The system prop that allows defining system overrides as well as additional CSS styles.
1083
+ */
1084
+ sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
1085
+ /**
1086
+ * The component used for the transition.
1087
+ * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
1088
+ * @default Fade
1089
+ */
1090
+ TransitionComponent: n.elementType,
1091
+ /**
1092
+ * The duration for the transition, in milliseconds.
1093
+ * You may specify a single timeout for all transitions, or individually with an object.
1094
+ */
1095
+ transitionDuration: n.oneOfType([n.number, n.shape({
1096
+ appear: n.number,
1097
+ enter: n.number,
1098
+ exit: n.number
1099
+ })])
1100
+ });
1101
+ function Ne(o) {
1102
+ return typeof o == "function" ? o() : o;
1103
+ }
1104
+ function Se(o) {
1105
+ return o ? o.props.hasOwnProperty("in") : !1;
1106
+ }
1107
+ const Oe = new fe();
1108
+ function De(o) {
1109
+ const {
1110
+ container: e,
1111
+ disableEscapeKeyDown: t = !1,
1112
+ disableScrollLock: r = !1,
1113
+ // @ts-ignore internal logic - Base UI supports the manager as a prop too
1114
+ manager: s = Oe,
1115
+ closeAfterTransition: i = !1,
1116
+ onTransitionEnter: a,
1117
+ onTransitionExited: c,
1118
+ children: p,
1119
+ onClose: b,
1120
+ open: m,
1121
+ rootRef: v
1122
+ } = o, y = d.useRef({}), h = d.useRef(null), f = d.useRef(null), S = J(f, v), [O, D] = d.useState(!m), R = Se(p);
1123
+ let u = !0;
1124
+ (o["aria-hidden"] === "false" || o["aria-hidden"] === !1) && (u = !1);
1125
+ const k = () => V(h.current), E = () => (y.current.modalRef = f.current, y.current.mount = h.current, y.current), P = () => {
1126
+ s.mount(E(), {
1127
+ disableScrollLock: r
1128
+ }), f.current && (f.current.scrollTop = 0);
1129
+ }, T = Eo(() => {
1130
+ const g = Ne(e) || k().body;
1131
+ s.add(E(), g), f.current && P();
1132
+ }), I = d.useCallback(() => s.isTopModal(E()), [s]), z = Eo((g) => {
1133
+ h.current = g, g && (m && I() ? P() : f.current && Z(f.current, u));
1134
+ }), B = d.useCallback(() => {
1135
+ s.remove(E(), u);
1136
+ }, [u, s]);
1137
+ d.useEffect(() => () => {
1138
+ B();
1139
+ }, [B]), d.useEffect(() => {
1140
+ m ? T() : (!R || !i) && B();
1141
+ }, [m, B, R, i, T]);
1142
+ const F = (g) => (C) => {
1143
+ var M;
1144
+ (M = g.onKeyDown) == null || M.call(g, C), !(C.key !== "Escape" || C.which === 229 || // Wait until IME is settled.
1145
+ !I()) && (t || (C.stopPropagation(), b && b(C, "escapeKeyDown")));
1146
+ }, w = (g) => (C) => {
1147
+ var M;
1148
+ (M = g.onClick) == null || M.call(g, C), C.target === C.currentTarget && b && b(C, "backdropClick");
1149
+ };
1150
+ return {
1151
+ getRootProps: (g = {}) => {
1152
+ const C = Bo(o);
1153
+ delete C.onTransitionEnter, delete C.onTransitionExited;
1154
+ const M = l({}, C, g);
1155
+ return l({
1156
+ role: "presentation"
1157
+ }, M, {
1158
+ onKeyDown: F(M),
1159
+ ref: S
1160
+ });
1161
+ },
1162
+ getBackdropProps: (g = {}) => {
1163
+ const C = g;
1164
+ return l({
1165
+ "aria-hidden": !0
1166
+ }, C, {
1167
+ onClick: w(C),
1168
+ open: m
1169
+ });
1170
+ },
1171
+ getTransitionProps: () => {
1172
+ const g = () => {
1173
+ D(!1), a && a();
1174
+ }, C = () => {
1175
+ D(!0), c && c(), i && B();
1176
+ };
1177
+ return {
1178
+ onEnter: Co(g, p == null ? void 0 : p.props.onEnter),
1179
+ onExited: Co(C, p == null ? void 0 : p.props.onExited)
1180
+ };
1181
+ },
1182
+ rootRef: S,
1183
+ portalRef: z,
1184
+ isTopModal: I,
1185
+ exited: O,
1186
+ hasTransition: R
1187
+ };
1188
+ }
1189
+ function Ie(o) {
1190
+ return U("MuiModal", o);
1191
+ }
1192
+ H("MuiModal", ["root", "hidden", "backdrop"]);
1193
+ const Be = ["BackdropComponent", "BackdropProps", "classes", "className", "closeAfterTransition", "children", "container", "component", "components", "componentsProps", "disableAutoFocus", "disableEnforceFocus", "disableEscapeKeyDown", "disablePortal", "disableRestoreFocus", "disableScrollLock", "hideBackdrop", "keepMounted", "onBackdropClick", "onClose", "onTransitionEnter", "onTransitionExited", "open", "slotProps", "slots", "theme"], Me = (o) => {
1194
+ const {
1195
+ open: e,
1196
+ exited: t,
1197
+ classes: r
1198
+ } = o;
1199
+ return G({
1200
+ root: ["root", !e && t && "hidden"],
1201
+ backdrop: ["backdrop"]
1202
+ }, Ie, r);
1203
+ }, $e = L("div", {
1204
+ name: "MuiModal",
1205
+ slot: "Root",
1206
+ overridesResolver: (o, e) => {
1207
+ const {
1208
+ ownerState: t
1209
+ } = o;
1210
+ return [e.root, !t.open && t.exited && e.hidden];
1211
+ }
1212
+ })(({
1213
+ theme: o,
1214
+ ownerState: e
1215
+ }) => l({
1216
+ position: "fixed",
1217
+ zIndex: (o.vars || o).zIndex.modal,
1218
+ right: 0,
1219
+ bottom: 0,
1220
+ top: 0,
1221
+ left: 0
1222
+ }, !e.open && e.exited && {
1223
+ visibility: "hidden"
1224
+ })), We = L(bo, {
1225
+ name: "MuiModal",
1226
+ slot: "Backdrop",
1227
+ overridesResolver: (o, e) => e.backdrop
1228
+ })({
1229
+ zIndex: -1
1230
+ }), zo = /* @__PURE__ */ d.forwardRef(function(e, t) {
1231
+ var r, s, i, a, c, p;
1232
+ const b = Y({
1233
+ name: "MuiModal",
1234
+ props: e
1235
+ }), {
1236
+ BackdropComponent: m = We,
1237
+ BackdropProps: v,
1238
+ className: y,
1239
+ closeAfterTransition: h = !1,
1240
+ children: f,
1241
+ container: S,
1242
+ component: O,
1243
+ components: D = {},
1244
+ componentsProps: R = {},
1245
+ disableAutoFocus: u = !1,
1246
+ disableEnforceFocus: k = !1,
1247
+ disableEscapeKeyDown: E = !1,
1248
+ disablePortal: P = !1,
1249
+ disableRestoreFocus: T = !1,
1250
+ disableScrollLock: I = !1,
1251
+ hideBackdrop: z = !1,
1252
+ keepMounted: B = !1,
1253
+ onBackdropClick: F,
1254
+ open: w,
1255
+ slotProps: A,
1256
+ slots: x
1257
+ // eslint-disable-next-line react/prop-types
1258
+ } = b, W = j(b, Be), g = l({}, b, {
1259
+ closeAfterTransition: h,
1260
+ disableAutoFocus: u,
1261
+ disableEnforceFocus: k,
1262
+ disableEscapeKeyDown: E,
1263
+ disablePortal: P,
1264
+ disableRestoreFocus: T,
1265
+ disableScrollLock: I,
1266
+ hideBackdrop: z,
1267
+ keepMounted: B
1268
+ }), {
1269
+ getRootProps: C,
1270
+ getBackdropProps: M,
1271
+ getTransitionProps: wo,
1272
+ portalRef: Ao,
1273
+ isTopModal: _o,
1274
+ exited: go,
1275
+ hasTransition: mo
1276
+ } = De(l({}, g, {
1277
+ rootRef: t
1278
+ })), X = l({}, g, {
1279
+ exited: go
1280
+ }), K = Me(X), Q = {};
1281
+ if (f.props.tabIndex === void 0 && (Q.tabIndex = "-1"), mo) {
1282
+ const {
1283
+ onEnter: q,
1284
+ onExited: oo
1285
+ } = wo();
1286
+ Q.onEnter = q, Q.onExited = oo;
1287
+ }
1288
+ const vo = (r = (s = x == null ? void 0 : x.root) != null ? s : D.Root) != null ? r : $e, xo = (i = (a = x == null ? void 0 : x.backdrop) != null ? a : D.Backdrop) != null ? i : m, io = (c = A == null ? void 0 : A.root) != null ? c : R.root, so = (p = A == null ? void 0 : A.backdrop) != null ? p : R.backdrop, Lo = Po({
1289
+ elementType: vo,
1290
+ externalSlotProps: io,
1291
+ externalForwardedProps: W,
1292
+ getSlotProps: C,
1293
+ additionalProps: {
1294
+ ref: t,
1295
+ as: O
1296
+ },
1297
+ ownerState: X,
1298
+ className: _(y, io == null ? void 0 : io.className, K == null ? void 0 : K.root, !X.open && X.exited && (K == null ? void 0 : K.hidden))
1299
+ }), jo = Po({
1300
+ elementType: xo,
1301
+ externalSlotProps: so,
1302
+ additionalProps: v,
1303
+ getSlotProps: (q) => M(l({}, q, {
1304
+ onClick: (oo) => {
1305
+ F && F(oo), q != null && q.onClick && q.onClick(oo);
1306
+ }
1307
+ })),
1308
+ className: _(so == null ? void 0 : so.className, v == null ? void 0 : v.className, K == null ? void 0 : K.backdrop),
1309
+ ownerState: X
1310
+ });
1311
+ return !B && !w && (!mo || go) ? null : /* @__PURE__ */ N(ro, {
1312
+ ref: Ao,
1313
+ container: S,
1314
+ disablePortal: P,
1315
+ children: /* @__PURE__ */ co(vo, l({}, Lo, {
1316
+ children: [!z && m ? /* @__PURE__ */ N(xo, l({}, jo)) : null, /* @__PURE__ */ N(to, {
1317
+ disableEnforceFocus: k,
1318
+ disableAutoFocus: u,
1319
+ disableRestoreFocus: T,
1320
+ isEnabled: _o,
1321
+ open: w,
1322
+ children: /* @__PURE__ */ d.cloneElement(f, Q)
1323
+ })]
1324
+ }))
1325
+ });
1326
+ });
1327
+ process.env.NODE_ENV !== "production" && (zo.propTypes = {
1328
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
1329
+ // │ These PropTypes are generated from the TypeScript type definitions. │
1330
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
1331
+ // └─────────────────────────────────────────────────────────────────────┘
1332
+ /**
1333
+ * A backdrop component. This prop enables custom backdrop rendering.
1334
+ * @deprecated Use `slots.backdrop` instead. While this prop currently works, it will be removed in the next major version.
1335
+ * Use the `slots.backdrop` prop to make your application ready for the next version of Material UI.
1336
+ * @default styled(Backdrop, {
1337
+ * name: 'MuiModal',
1338
+ * slot: 'Backdrop',
1339
+ * overridesResolver: (props, styles) => {
1340
+ * return styles.backdrop;
1341
+ * },
1342
+ * })({
1343
+ * zIndex: -1,
1344
+ * })
1345
+ */
1346
+ BackdropComponent: n.elementType,
1347
+ /**
1348
+ * Props applied to the [`Backdrop`](/material-ui/api/backdrop/) element.
1349
+ * @deprecated Use `slotProps.backdrop` instead.
1350
+ */
1351
+ BackdropProps: n.object,
1352
+ /**
1353
+ * A single child content element.
1354
+ */
1355
+ children: po.isRequired,
1356
+ /**
1357
+ * Override or extend the styles applied to the component.
1358
+ */
1359
+ classes: n.object,
1360
+ /**
1361
+ * @ignore
1362
+ */
1363
+ className: n.string,
1364
+ /**
1365
+ * When set to true the Modal waits until a nested Transition is completed before closing.
1366
+ * @default false
1367
+ */
1368
+ closeAfterTransition: n.bool,
1369
+ /**
1370
+ * The component used for the root node.
1371
+ * Either a string to use a HTML element or a component.
1372
+ */
1373
+ component: n.elementType,
1374
+ /**
1375
+ * The components used for each slot inside.
1376
+ *
1377
+ * This prop is an alias for the `slots` prop.
1378
+ * It's recommended to use the `slots` prop instead.
1379
+ *
1380
+ * @default {}
1381
+ */
1382
+ components: n.shape({
1383
+ Backdrop: n.elementType,
1384
+ Root: n.elementType
1385
+ }),
1386
+ /**
1387
+ * The extra props for the slot components.
1388
+ * You can override the existing props or add new ones.
1389
+ *
1390
+ * This prop is an alias for the `slotProps` prop.
1391
+ * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.
1392
+ *
1393
+ * @default {}
1394
+ */
1395
+ componentsProps: n.shape({
1396
+ backdrop: n.oneOfType([n.func, n.object]),
1397
+ root: n.oneOfType([n.func, n.object])
1398
+ }),
1399
+ /**
1400
+ * An HTML element or function that returns one.
1401
+ * The `container` will have the portal children appended to it.
1402
+ *
1403
+ * You can also provide a callback, which is called in a React layout effect.
1404
+ * This lets you set the container from a ref, and also makes server-side rendering possible.
1405
+ *
1406
+ * By default, it uses the body of the top-level document object,
1407
+ * so it's simply `document.body` most of the time.
1408
+ */
1409
+ container: n.oneOfType([Io, n.func]),
1410
+ /**
1411
+ * If `true`, the modal will not automatically shift focus to itself when it opens, and
1412
+ * replace it to the last focused element when it closes.
1413
+ * This also works correctly with any modal children that have the `disableAutoFocus` prop.
1414
+ *
1415
+ * Generally this should never be set to `true` as it makes the modal less
1416
+ * accessible to assistive technologies, like screen readers.
1417
+ * @default false
1418
+ */
1419
+ disableAutoFocus: n.bool,
1420
+ /**
1421
+ * If `true`, the modal will not prevent focus from leaving the modal while open.
1422
+ *
1423
+ * Generally this should never be set to `true` as it makes the modal less
1424
+ * accessible to assistive technologies, like screen readers.
1425
+ * @default false
1426
+ */
1427
+ disableEnforceFocus: n.bool,
1428
+ /**
1429
+ * If `true`, hitting escape will not fire the `onClose` callback.
1430
+ * @default false
1431
+ */
1432
+ disableEscapeKeyDown: n.bool,
1433
+ /**
1434
+ * The `children` will be under the DOM hierarchy of the parent component.
1435
+ * @default false
1436
+ */
1437
+ disablePortal: n.bool,
1438
+ /**
1439
+ * If `true`, the modal will not restore focus to previously focused element once
1440
+ * modal is hidden or unmounted.
1441
+ * @default false
1442
+ */
1443
+ disableRestoreFocus: n.bool,
1444
+ /**
1445
+ * Disable the scroll lock behavior.
1446
+ * @default false
1447
+ */
1448
+ disableScrollLock: n.bool,
1449
+ /**
1450
+ * If `true`, the backdrop is not rendered.
1451
+ * @default false
1452
+ */
1453
+ hideBackdrop: n.bool,
1454
+ /**
1455
+ * Always keep the children in the DOM.
1456
+ * This prop can be useful in SEO situation or
1457
+ * when you want to maximize the responsiveness of the Modal.
1458
+ * @default false
1459
+ */
1460
+ keepMounted: n.bool,
1461
+ /**
1462
+ * Callback fired when the backdrop is clicked.
1463
+ * @deprecated Use the `onClose` prop with the `reason` argument to handle the `backdropClick` events.
1464
+ */
1465
+ onBackdropClick: n.func,
1466
+ /**
1467
+ * Callback fired when the component requests to be closed.
1468
+ * The `reason` parameter can optionally be used to control the response to `onClose`.
1469
+ *
1470
+ * @param {object} event The event source of the callback.
1471
+ * @param {string} reason Can be: `"escapeKeyDown"`, `"backdropClick"`.
1472
+ */
1473
+ onClose: n.func,
1474
+ /**
1475
+ * A function called when a transition enters.
1476
+ */
1477
+ onTransitionEnter: n.func,
1478
+ /**
1479
+ * A function called when a transition has exited.
1480
+ */
1481
+ onTransitionExited: n.func,
1482
+ /**
1483
+ * If `true`, the component is shown.
1484
+ */
1485
+ open: n.bool.isRequired,
1486
+ /**
1487
+ * The props used for each slot inside the Modal.
1488
+ * @default {}
1489
+ */
1490
+ slotProps: n.shape({
1491
+ backdrop: n.oneOfType([n.func, n.object]),
1492
+ root: n.oneOfType([n.func, n.object])
1493
+ }),
1494
+ /**
1495
+ * The components used for each slot inside the Modal.
1496
+ * Either a string to use a HTML element or a component.
1497
+ * @default {}
1498
+ */
1499
+ slots: n.shape({
1500
+ backdrop: n.elementType,
1501
+ root: n.elementType
1502
+ }),
1503
+ /**
1504
+ * The system prop that allows defining system overrides as well as additional CSS styles.
1505
+ */
1506
+ sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object])
1507
+ });
1508
+ function ze(o) {
1509
+ return U("MuiDialog", o);
1510
+ }
1511
+ const lo = H("MuiDialog", ["root", "scrollPaper", "scrollBody", "container", "paper", "paperScrollPaper", "paperScrollBody", "paperWidthFalse", "paperWidthXs", "paperWidthSm", "paperWidthMd", "paperWidthLg", "paperWidthXl", "paperFullWidth", "paperFullScreen"]), Fo = /* @__PURE__ */ d.createContext({});
1512
+ process.env.NODE_ENV !== "production" && (Fo.displayName = "DialogContext");
1513
+ const Fe = ["aria-describedby", "aria-labelledby", "BackdropComponent", "BackdropProps", "children", "className", "disableEscapeKeyDown", "fullScreen", "fullWidth", "maxWidth", "onBackdropClick", "onClick", "onClose", "open", "PaperComponent", "PaperProps", "scroll", "TransitionComponent", "transitionDuration", "TransitionProps"], we = L(bo, {
1514
+ name: "MuiDialog",
1515
+ slot: "Backdrop",
1516
+ overrides: (o, e) => e.backdrop
1517
+ })({
1518
+ // Improve scrollable dialog support.
1519
+ zIndex: -1
1520
+ }), Ae = (o) => {
1521
+ const {
1522
+ classes: e,
1523
+ scroll: t,
1524
+ maxWidth: r,
1525
+ fullWidth: s,
1526
+ fullScreen: i
1527
+ } = o, a = {
1528
+ root: ["root"],
1529
+ container: ["container", `scroll${$(t)}`],
1530
+ paper: ["paper", `paperScroll${$(t)}`, `paperWidth${$(String(r))}`, s && "paperFullWidth", i && "paperFullScreen"]
1531
+ };
1532
+ return G(a, ze, e);
1533
+ }, _e = L(zo, {
1534
+ name: "MuiDialog",
1535
+ slot: "Root",
1536
+ overridesResolver: (o, e) => e.root
1537
+ })({
1538
+ "@media print": {
1539
+ // Use !important to override the Modal inline-style.
1540
+ position: "absolute !important"
1541
+ }
1542
+ }), Le = L("div", {
1543
+ name: "MuiDialog",
1544
+ slot: "Container",
1545
+ overridesResolver: (o, e) => {
1546
+ const {
1547
+ ownerState: t
1548
+ } = o;
1549
+ return [e.container, e[`scroll${$(t.scroll)}`]];
1550
+ }
1551
+ })(({
1552
+ ownerState: o
1553
+ }) => l({
1554
+ height: "100%",
1555
+ "@media print": {
1556
+ height: "auto"
1557
+ },
1558
+ // We disable the focus ring for mouse, touch and keyboard users.
1559
+ outline: 0
1560
+ }, o.scroll === "paper" && {
1561
+ display: "flex",
1562
+ justifyContent: "center",
1563
+ alignItems: "center"
1564
+ }, o.scroll === "body" && {
1565
+ overflowY: "auto",
1566
+ overflowX: "hidden",
1567
+ textAlign: "center",
1568
+ "&::after": {
1569
+ content: '""',
1570
+ display: "inline-block",
1571
+ verticalAlign: "middle",
1572
+ height: "100%",
1573
+ width: "0"
1574
+ }
1575
+ })), je = L(Do, {
1576
+ name: "MuiDialog",
1577
+ slot: "Paper",
1578
+ overridesResolver: (o, e) => {
1579
+ const {
1580
+ ownerState: t
1581
+ } = o;
1582
+ return [e.paper, e[`scrollPaper${$(t.scroll)}`], e[`paperWidth${$(String(t.maxWidth))}`], t.fullWidth && e.paperFullWidth, t.fullScreen && e.paperFullScreen];
1583
+ }
1584
+ })(({
1585
+ theme: o,
1586
+ ownerState: e
1587
+ }) => l({
1588
+ margin: 32,
1589
+ position: "relative",
1590
+ overflowY: "auto",
1591
+ // Fix IE11 issue, to remove at some point.
1592
+ "@media print": {
1593
+ overflowY: "visible",
1594
+ boxShadow: "none"
1595
+ }
1596
+ }, e.scroll === "paper" && {
1597
+ display: "flex",
1598
+ flexDirection: "column",
1599
+ maxHeight: "calc(100% - 64px)"
1600
+ }, e.scroll === "body" && {
1601
+ display: "inline-block",
1602
+ verticalAlign: "middle",
1603
+ textAlign: "left"
1604
+ // 'initial' doesn't work on IE11
1605
+ }, !e.maxWidth && {
1606
+ maxWidth: "calc(100% - 64px)"
1607
+ }, e.maxWidth === "xs" && {
1608
+ maxWidth: o.breakpoints.unit === "px" ? Math.max(o.breakpoints.values.xs, 444) : `max(${o.breakpoints.values.xs}${o.breakpoints.unit}, 444px)`,
1609
+ [`&.${lo.paperScrollBody}`]: {
1610
+ [o.breakpoints.down(Math.max(o.breakpoints.values.xs, 444) + 32 * 2)]: {
1611
+ maxWidth: "calc(100% - 64px)"
1612
+ }
1613
+ }
1614
+ }, e.maxWidth && e.maxWidth !== "xs" && {
1615
+ maxWidth: `${o.breakpoints.values[e.maxWidth]}${o.breakpoints.unit}`,
1616
+ [`&.${lo.paperScrollBody}`]: {
1617
+ [o.breakpoints.down(o.breakpoints.values[e.maxWidth] + 32 * 2)]: {
1618
+ maxWidth: "calc(100% - 64px)"
1619
+ }
1620
+ }
1621
+ }, e.fullWidth && {
1622
+ width: "calc(100% - 64px)"
1623
+ }, e.fullScreen && {
1624
+ margin: 0,
1625
+ width: "100%",
1626
+ maxWidth: "100%",
1627
+ height: "100%",
1628
+ maxHeight: "none",
1629
+ borderRadius: 0,
1630
+ [`&.${lo.paperScrollBody}`]: {
1631
+ margin: 0,
1632
+ maxWidth: "100%"
1633
+ }
1634
+ })), Ve = /* @__PURE__ */ d.forwardRef(function(e, t) {
1635
+ const r = Y({
1636
+ props: e,
1637
+ name: "MuiDialog"
1638
+ }), s = So(), i = {
1639
+ enter: s.transitions.duration.enteringScreen,
1640
+ exit: s.transitions.duration.leavingScreen
1641
+ }, {
1642
+ "aria-describedby": a,
1643
+ "aria-labelledby": c,
1644
+ BackdropComponent: p,
1645
+ BackdropProps: b,
1646
+ children: m,
1647
+ className: v,
1648
+ disableEscapeKeyDown: y = !1,
1649
+ fullScreen: h = !1,
1650
+ fullWidth: f = !1,
1651
+ maxWidth: S = "sm",
1652
+ onBackdropClick: O,
1653
+ onClick: D,
1654
+ onClose: R,
1655
+ open: u,
1656
+ PaperComponent: k = Do,
1657
+ PaperProps: E = {},
1658
+ scroll: P = "paper",
1659
+ TransitionComponent: T = fo,
1660
+ transitionDuration: I = i,
1661
+ TransitionProps: z
1662
+ } = r, B = j(r, Fe), F = l({}, r, {
1663
+ disableEscapeKeyDown: y,
1664
+ fullScreen: h,
1665
+ fullWidth: f,
1666
+ maxWidth: S,
1667
+ scroll: P
1668
+ }), w = Ae(F), A = d.useRef(), x = (M) => {
1669
+ A.current = M.target === M.currentTarget;
1670
+ }, W = (M) => {
1671
+ D && D(M), A.current && (A.current = null, O && O(M), R && R(M, "backdropClick"));
1672
+ }, g = Yo(c), C = d.useMemo(() => ({
1673
+ titleId: g
1674
+ }), [g]);
1675
+ return /* @__PURE__ */ N(_e, l({
1676
+ className: _(w.root, v),
1677
+ closeAfterTransition: !0,
1678
+ components: {
1679
+ Backdrop: we
1680
+ },
1681
+ componentsProps: {
1682
+ backdrop: l({
1683
+ transitionDuration: I,
1684
+ as: p
1685
+ }, b)
1686
+ },
1687
+ disableEscapeKeyDown: y,
1688
+ onClose: R,
1689
+ open: u,
1690
+ ref: t,
1691
+ onClick: W,
1692
+ ownerState: F
1693
+ }, B, {
1694
+ children: /* @__PURE__ */ N(T, l({
1695
+ appear: !0,
1696
+ in: u,
1697
+ timeout: I,
1698
+ role: "presentation"
1699
+ }, z, {
1700
+ children: /* @__PURE__ */ N(Le, {
1701
+ className: _(w.container),
1702
+ onMouseDown: x,
1703
+ ownerState: F,
1704
+ children: /* @__PURE__ */ N(je, l({
1705
+ as: k,
1706
+ elevation: 24,
1707
+ role: "dialog",
1708
+ "aria-describedby": a,
1709
+ "aria-labelledby": g
1710
+ }, E, {
1711
+ className: _(w.paper, E.className),
1712
+ ownerState: F,
1713
+ children: /* @__PURE__ */ N(Fo.Provider, {
1714
+ value: C,
1715
+ children: m
1716
+ })
1717
+ }))
1718
+ })
1719
+ }))
1720
+ }));
1721
+ });
1722
+ process.env.NODE_ENV !== "production" && (Ve.propTypes = {
1723
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
1724
+ // │ These PropTypes are generated from the TypeScript type definitions. │
1725
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
1726
+ // └─────────────────────────────────────────────────────────────────────┘
1727
+ /**
1728
+ * The id(s) of the element(s) that describe the dialog.
1729
+ */
1730
+ "aria-describedby": n.string,
1731
+ /**
1732
+ * The id(s) of the element(s) that label the dialog.
1733
+ */
1734
+ "aria-labelledby": n.string,
1735
+ /**
1736
+ * A backdrop component. This prop enables custom backdrop rendering.
1737
+ * @deprecated Use `slots.backdrop` instead. While this prop currently works, it will be removed in the next major version.
1738
+ * Use the `slots.backdrop` prop to make your application ready for the next version of Material UI.
1739
+ * @default styled(Backdrop, {
1740
+ * name: 'MuiModal',
1741
+ * slot: 'Backdrop',
1742
+ * overridesResolver: (props, styles) => {
1743
+ * return styles.backdrop;
1744
+ * },
1745
+ * })({
1746
+ * zIndex: -1,
1747
+ * })
1748
+ */
1749
+ BackdropComponent: n.elementType,
1750
+ /**
1751
+ * @ignore
1752
+ */
1753
+ BackdropProps: n.object,
1754
+ /**
1755
+ * Dialog children, usually the included sub-components.
1756
+ */
1757
+ children: n.node,
1758
+ /**
1759
+ * Override or extend the styles applied to the component.
1760
+ */
1761
+ classes: n.object,
1762
+ /**
1763
+ * @ignore
1764
+ */
1765
+ className: n.string,
1766
+ /**
1767
+ * If `true`, hitting escape will not fire the `onClose` callback.
1768
+ * @default false
1769
+ */
1770
+ disableEscapeKeyDown: n.bool,
1771
+ /**
1772
+ * If `true`, the dialog is full-screen.
1773
+ * @default false
1774
+ */
1775
+ fullScreen: n.bool,
1776
+ /**
1777
+ * If `true`, the dialog stretches to `maxWidth`.
1778
+ *
1779
+ * Notice that the dialog width grow is limited by the default margin.
1780
+ * @default false
1781
+ */
1782
+ fullWidth: n.bool,
1783
+ /**
1784
+ * Determine the max-width of the dialog.
1785
+ * The dialog width grows with the size of the screen.
1786
+ * Set to `false` to disable `maxWidth`.
1787
+ * @default 'sm'
1788
+ */
1789
+ maxWidth: n.oneOfType([n.oneOf(["xs", "sm", "md", "lg", "xl", !1]), n.string]),
1790
+ /**
1791
+ * Callback fired when the backdrop is clicked.
1792
+ * @deprecated Use the `onClose` prop with the `reason` argument to handle the `backdropClick` events.
1793
+ */
1794
+ onBackdropClick: n.func,
1795
+ /**
1796
+ * @ignore
1797
+ */
1798
+ onClick: n.func,
1799
+ /**
1800
+ * Callback fired when the component requests to be closed.
1801
+ *
1802
+ * @param {object} event The event source of the callback.
1803
+ * @param {string} reason Can be: `"escapeKeyDown"`, `"backdropClick"`.
1804
+ */
1805
+ onClose: n.func,
1806
+ /**
1807
+ * If `true`, the component is shown.
1808
+ */
1809
+ open: n.bool.isRequired,
1810
+ /**
1811
+ * The component used to render the body of the dialog.
1812
+ * @default Paper
1813
+ */
1814
+ PaperComponent: n.elementType,
1815
+ /**
1816
+ * Props applied to the [`Paper`](/material-ui/api/paper/) element.
1817
+ * @default {}
1818
+ */
1819
+ PaperProps: n.object,
1820
+ /**
1821
+ * Determine the container for scrolling the dialog.
1822
+ * @default 'paper'
1823
+ */
1824
+ scroll: n.oneOf(["body", "paper"]),
1825
+ /**
1826
+ * The system prop that allows defining system overrides as well as additional CSS styles.
1827
+ */
1828
+ sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
1829
+ /**
1830
+ * The component used for the transition.
1831
+ * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
1832
+ * @default Fade
1833
+ */
1834
+ TransitionComponent: n.elementType,
1835
+ /**
1836
+ * The duration for the transition, in milliseconds.
1837
+ * You may specify a single timeout for all transitions, or individually with an object.
1838
+ * @default {
1839
+ * enter: theme.transitions.duration.enteringScreen,
1840
+ * exit: theme.transitions.duration.leavingScreen,
1841
+ * }
1842
+ */
1843
+ transitionDuration: n.oneOfType([n.number, n.shape({
1844
+ appear: n.number,
1845
+ enter: n.number,
1846
+ exit: n.number
1847
+ })]),
1848
+ /**
1849
+ * Props applied to the transition element.
1850
+ * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.
1851
+ */
1852
+ TransitionProps: n.object
1853
+ });
1854
+ function He(o) {
1855
+ return U("MuiDialogActions", o);
1856
+ }
1857
+ H("MuiDialogActions", ["root", "spacing"]);
1858
+ const Ue = ["className", "disableSpacing"], Ke = (o) => {
1859
+ const {
1860
+ classes: e,
1861
+ disableSpacing: t
1862
+ } = o;
1863
+ return G({
1864
+ root: ["root", !t && "spacing"]
1865
+ }, He, e);
1866
+ }, qe = L("div", {
1867
+ name: "MuiDialogActions",
1868
+ slot: "Root",
1869
+ overridesResolver: (o, e) => {
1870
+ const {
1871
+ ownerState: t
1872
+ } = o;
1873
+ return [e.root, !t.disableSpacing && e.spacing];
1874
+ }
1875
+ })(({
1876
+ ownerState: o
1877
+ }) => l({
1878
+ display: "flex",
1879
+ alignItems: "center",
1880
+ padding: 8,
1881
+ justifyContent: "flex-end",
1882
+ flex: "0 0 auto"
1883
+ }, !o.disableSpacing && {
1884
+ "& > :not(style) ~ :not(style)": {
1885
+ marginLeft: 8
1886
+ }
1887
+ })), Ye = /* @__PURE__ */ d.forwardRef(function(e, t) {
1888
+ const r = Y({
1889
+ props: e,
1890
+ name: "MuiDialogActions"
1891
+ }), {
1892
+ className: s,
1893
+ disableSpacing: i = !1
1894
+ } = r, a = j(r, Ue), c = l({}, r, {
1895
+ disableSpacing: i
1896
+ }), p = Ke(c);
1897
+ return /* @__PURE__ */ N(qe, l({
1898
+ className: _(p.root, s),
1899
+ ownerState: c,
1900
+ ref: t
1901
+ }, a));
1902
+ });
1903
+ process.env.NODE_ENV !== "production" && (Ye.propTypes = {
1904
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
1905
+ // │ These PropTypes are generated from the TypeScript type definitions. │
1906
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
1907
+ // └─────────────────────────────────────────────────────────────────────┘
1908
+ /**
1909
+ * The content of the component.
1910
+ */
1911
+ children: n.node,
1912
+ /**
1913
+ * Override or extend the styles applied to the component.
1914
+ */
1915
+ classes: n.object,
1916
+ /**
1917
+ * @ignore
1918
+ */
1919
+ className: n.string,
1920
+ /**
1921
+ * If `true`, the actions do not have additional margin.
1922
+ * @default false
1923
+ */
1924
+ disableSpacing: n.bool,
1925
+ /**
1926
+ * The system prop that allows defining system overrides as well as additional CSS styles.
1927
+ */
1928
+ sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object])
1929
+ });
1930
+ function Ge(o) {
1931
+ return U("MuiDialogContent", o);
1932
+ }
1933
+ H("MuiDialogContent", ["root", "dividers"]);
1934
+ function mn(o) {
1935
+ return U("MuiDialogTitle", o);
1936
+ }
1937
+ const Xe = H("MuiDialogTitle", ["root"]), Ze = ["className", "dividers"], Je = (o) => {
1938
+ const {
1939
+ classes: e,
1940
+ dividers: t
1941
+ } = o;
1942
+ return G({
1943
+ root: ["root", t && "dividers"]
1944
+ }, Ge, e);
1945
+ }, Qe = L("div", {
1946
+ name: "MuiDialogContent",
1947
+ slot: "Root",
1948
+ overridesResolver: (o, e) => {
1949
+ const {
1950
+ ownerState: t
1951
+ } = o;
1952
+ return [e.root, t.dividers && e.dividers];
1953
+ }
1954
+ })(({
1955
+ theme: o,
1956
+ ownerState: e
1957
+ }) => l({
1958
+ flex: "1 1 auto",
1959
+ // Add iOS momentum scrolling for iOS < 13.0
1960
+ WebkitOverflowScrolling: "touch",
1961
+ overflowY: "auto",
1962
+ padding: "20px 24px"
1963
+ }, e.dividers ? {
1964
+ padding: "16px 24px",
1965
+ borderTop: `1px solid ${(o.vars || o).palette.divider}`,
1966
+ borderBottom: `1px solid ${(o.vars || o).palette.divider}`
1967
+ } : {
1968
+ [`.${Xe.root} + &`]: {
1969
+ paddingTop: 0
1970
+ }
1971
+ })), on = /* @__PURE__ */ d.forwardRef(function(e, t) {
1972
+ const r = Y({
1973
+ props: e,
1974
+ name: "MuiDialogContent"
1975
+ }), {
1976
+ className: s,
1977
+ dividers: i = !1
1978
+ } = r, a = j(r, Ze), c = l({}, r, {
1979
+ dividers: i
1980
+ }), p = Je(c);
1981
+ return /* @__PURE__ */ N(Qe, l({
1982
+ className: _(p.root, s),
1983
+ ownerState: c,
1984
+ ref: t
1985
+ }, a));
1986
+ });
1987
+ process.env.NODE_ENV !== "production" && (on.propTypes = {
1988
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
1989
+ // │ These PropTypes are generated from the TypeScript type definitions. │
1990
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
1991
+ // └─────────────────────────────────────────────────────────────────────┘
1992
+ /**
1993
+ * The content of the component.
1994
+ */
1995
+ children: n.node,
1996
+ /**
1997
+ * Override or extend the styles applied to the component.
1998
+ */
1999
+ classes: n.object,
2000
+ /**
2001
+ * @ignore
2002
+ */
2003
+ className: n.string,
2004
+ /**
2005
+ * Display the top and bottom dividers.
2006
+ * @default false
2007
+ */
2008
+ dividers: n.bool,
2009
+ /**
2010
+ * The system prop that allows defining system overrides as well as additional CSS styles.
2011
+ */
2012
+ sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object])
2013
+ });
2014
+ export {
2015
+ le as B,
2016
+ Ve as D,
2017
+ Io as H,
2018
+ zo as M,
2019
+ on as a,
2020
+ Ye as b,
2021
+ Fo as c,
2022
+ Zo as d,
2023
+ mn as g,
2024
+ Po as u
2025
+ };