@hybridcore/ui 1.3.3 → 1.3.5

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 (67) hide show
  1. package/dist/{ButtonBase-DE8d_U2E.js → ButtonBase-D6qhsxB0.js} +201 -210
  2. package/dist/{CardContent-Du2i427Y.js → CardContent-B8hqgH-I.js} +15 -15
  3. package/dist/{Checkbox-BGNAqLl0.js → Checkbox-BFWhj3s-.js} +154 -144
  4. package/dist/{Collapse-FRd0_2Pt.js → Collapse-D_TjnyE5.js} +96 -87
  5. package/dist/DialogContent-BCYm_d1s.js +864 -0
  6. package/dist/{FormControl-ChTmxscy.js → FormControl-BMRUQKHh.js} +479 -449
  7. package/dist/FormControlLabel-DENNVXWL.js +639 -0
  8. package/dist/{IconButton-Cu_XEJB2.js → IconButton-D8bwME9t.js} +22 -22
  9. package/dist/{Input-DU22-Zbo.js → Input-Dxzguyp5.js} +34 -34
  10. package/dist/{InputAdornment-6aeADcPO.js → InputAdornment-B8ERE7Zv.js} +12 -12
  11. package/dist/{List-nOXr-cFJ.js → List-DEWyK9IO.js} +12 -12
  12. package/dist/{MenuItem-DF45rx2m.js → MenuItem-DstAFfik.js} +26 -26
  13. package/dist/Modal-DNGEQJ1M.js +1267 -0
  14. package/dist/{OutlinedInput-DJCHjkR3.js → OutlinedInput-w2Cj9STF.js} +75 -78
  15. package/dist/{Paper-CD_ma6NJ.js → Paper-BseeergJ.js} +15 -15
  16. package/dist/Select-NDq3WyLt.js +2175 -0
  17. package/dist/Typography-Dg-ROiTA.js +201 -0
  18. package/dist/components/card/index.js +17 -17
  19. package/dist/components/card/styled.js +1 -1
  20. package/dist/components/collapsible-card/style.js +222 -302
  21. package/dist/components/confirm/dialog.js +13 -13
  22. package/dist/components/container/index.js +19 -19
  23. package/dist/components/context-menu/index.js +616 -203
  24. package/dist/components/data-management/instance-form/components/composite-list/index.js +1 -1
  25. package/dist/components/data-management/instance-form/components/variable/index.js +6 -6
  26. package/dist/components/data-management/instance-form/components/variables/index.js +1 -1
  27. package/dist/components/geometry-picker/index.js +3 -3
  28. package/dist/components/icon-button/index.js +1 -1
  29. package/dist/components/map/styled.js +14 -14
  30. package/dist/components/search-input/index.js +4 -4
  31. package/dist/components/template-property-filters/index.js +1 -1
  32. package/dist/components/template-property-filters/property.js +209 -10
  33. package/dist/components/tree-select/index.js +4 -4
  34. package/dist/components/treeview-filter/index.js +29 -30
  35. package/dist/components/treeview-filter/item/index.js +1 -1
  36. package/dist/components/treeview-filter/item-label/index.js +2 -2
  37. package/dist/createStyled-B96gjom1.js +1887 -0
  38. package/dist/createSvgIcon-B2WT0K4k.js +87 -0
  39. package/dist/{createSvgIcon-DPZ7UbxM.js → createSvgIcon-BNrb7rDY.js} +82 -85
  40. package/dist/{exactProp--3vlJ9a9.js → exactProp-CI_rjX83.js} +2 -2
  41. package/dist/{index-CtuBGOmk.js → index-B3Oj04nl.js} +5 -5
  42. package/dist/{index-DzFccwzL.js → index-CSfSVkKj.js} +204 -218
  43. package/dist/{listItemTextClasses-2BAu-hye.js → listItemTextClasses-CFiI_U7B.js} +2 -2
  44. package/dist/main.js +150 -144
  45. package/dist/styled-cPJbqF0E.js +677 -0
  46. package/dist/useTheme-C-T6Qisa.js +10 -0
  47. package/dist/useThemeProps-DeftUmqJ.js +107 -0
  48. package/dist/{utils-qcu0RzdN.js → utils-CCkxV0lZ.js} +15 -15
  49. package/package.json +3 -3
  50. package/dist/DialogContent-CKeAZ3Ts.js +0 -1982
  51. package/dist/FormControlLabel-Df7csguX.js +0 -827
  52. package/dist/ListItem-RJvRMwkZ.js +0 -428
  53. package/dist/Select-C1jD_gBQ.js +0 -2305
  54. package/dist/Typography-C2BkMNk-.js +0 -178
  55. package/dist/chainPropTypes-GRMJ22CO.js +0 -96
  56. package/dist/createSvgIcon-6wv0RQr3.js +0 -63
  57. package/dist/createTheme-C3DKplhE.js +0 -2395
  58. package/dist/property-BSufYw1E.js +0 -6888
  59. package/dist/requirePropFactory-BItwGLRQ.js +0 -18
  60. package/dist/resolveComponentProps-DozbaB8e.js +0 -54
  61. package/dist/styled-CVWGE9ik.js +0 -142
  62. package/dist/styled-iyoioZCr.js +0 -1033
  63. package/dist/unsupportedProp-BuVD30Gh.js +0 -9
  64. package/dist/useTheme--x3BjP9A.js +0 -17
  65. package/dist/useTheme-pWltVFb2.js +0 -10
  66. package/dist/useThemeProps-C90JF0Qc.js +0 -62
  67. package/dist/useThemeProps-DNZoozBw.js +0 -26
@@ -0,0 +1,1267 @@
1
+ import { _ as b, a as z } from "./extends-Cyw62AD_.js";
2
+ import * as a from "react";
3
+ import { P as e } from "./createStyled-B96gjom1.js";
4
+ import { c as q, g as ge, a as Te, u as ve } from "./useThemeProps-DeftUmqJ.js";
5
+ import { g as xe, s as se } from "./styled-cPJbqF0E.js";
6
+ import { jsxs as ke, jsx as M } from "react/jsx-runtime";
7
+ import { u as Be } from "./useTheme-C-T6Qisa.js";
8
+ import { T as Le, r as _e, g as de } from "./utils-CCkxV0lZ.js";
9
+ import { e as Q, a as Re } from "./exactProp-CI_rjX83.js";
10
+ import { a as Y, u as ue, s as fe, b as pe } from "./ButtonBase-D6qhsxB0.js";
11
+ import { o as H } from "./ownerDocument-CUrv0DIK.js";
12
+ import { o as ie } from "./ownerWindow-niciwP7I.js";
13
+ import { c as me } from "./useId-BHG98T5I.js";
14
+ import { i as Pe } from "./isHostComponent-kiaBvYVo.js";
15
+ import * as je from "react-dom";
16
+ function He(o, n, r) {
17
+ return o === void 0 || Pe(o) ? n : b({}, n, {
18
+ ownerState: b({}, n.ownerState, r)
19
+ });
20
+ }
21
+ const $e = {
22
+ disableDefaultClasses: !1
23
+ }, Ue = /* @__PURE__ */ a.createContext($e);
24
+ function Ke(o) {
25
+ const {
26
+ disableDefaultClasses: n
27
+ } = a.useContext(Ue);
28
+ return (r) => n ? "" : o(r);
29
+ }
30
+ function Ve(o, n = []) {
31
+ if (o === void 0)
32
+ return {};
33
+ const r = {};
34
+ return Object.keys(o).filter((t) => t.match(/^on[A-Z]/) && typeof o[t] == "function" && !n.includes(t)).forEach((t) => {
35
+ r[t] = o[t];
36
+ }), r;
37
+ }
38
+ function re(o, n) {
39
+ return typeof o == "function" ? o(n) : o;
40
+ }
41
+ function le(o, n, r, t, i) {
42
+ if (process.env.NODE_ENV === "production")
43
+ return null;
44
+ const s = o[n], l = i || n;
45
+ return s == null ? null : s && s.nodeType !== 1 ? new Error(`Invalid ${t} \`${l}\` supplied to \`${r}\`. Expected an HTMLElement.`) : null;
46
+ }
47
+ function We(o) {
48
+ const n = o.documentElement.clientWidth;
49
+ return Math.abs(window.innerWidth - n);
50
+ }
51
+ function be(o) {
52
+ if (o === void 0)
53
+ return {};
54
+ const n = {};
55
+ return Object.keys(o).filter((r) => !(r.match(/^on[A-Z]/) && typeof o[r] == "function")).forEach((r) => {
56
+ n[r] = o[r];
57
+ }), n;
58
+ }
59
+ function qe(o) {
60
+ const {
61
+ getSlotProps: n,
62
+ additionalProps: r,
63
+ externalSlotProps: t,
64
+ externalForwardedProps: i,
65
+ className: s
66
+ } = o;
67
+ if (!n) {
68
+ const x = q(i == null ? void 0 : i.className, t == null ? void 0 : t.className, s, r == null ? void 0 : r.className), m = b({}, r == null ? void 0 : r.style, i == null ? void 0 : i.style, t == null ? void 0 : t.style), P = b({}, r, i, t);
69
+ return x.length > 0 && (P.className = x), Object.keys(m).length > 0 && (P.style = m), {
70
+ props: P,
71
+ internalRef: void 0
72
+ };
73
+ }
74
+ const l = Ve(b({}, i, t)), c = be(t), u = be(i), f = n(l), v = q(f == null ? void 0 : f.className, r == null ? void 0 : r.className, s, i == null ? void 0 : i.className, t == null ? void 0 : t.className), E = b({}, f == null ? void 0 : f.style, r == null ? void 0 : r.style, i == null ? void 0 : i.style, t == null ? void 0 : t.style), h = b({}, f, r, u, c);
75
+ return v.length > 0 && (h.className = v), Object.keys(E).length > 0 && (h.style = E), {
76
+ props: h,
77
+ internalRef: f.ref
78
+ };
79
+ }
80
+ const ze = ["elementType", "externalSlotProps", "ownerState"];
81
+ function he(o) {
82
+ var n;
83
+ const {
84
+ elementType: r,
85
+ externalSlotProps: t,
86
+ ownerState: i
87
+ } = o, s = z(o, ze), l = re(t, i), {
88
+ props: c,
89
+ internalRef: u
90
+ } = qe(b({}, s, {
91
+ externalSlotProps: l
92
+ })), f = Y(u, l == null ? void 0 : l.ref, (n = o.additionalProps) == null ? void 0 : n.ref);
93
+ return He(r, b({}, c, {
94
+ ref: f
95
+ }), i);
96
+ }
97
+ const Ye = ["input", "select", "textarea", "a[href]", "button", "[tabindex]", "audio[controls]", "video[controls]", '[contenteditable]:not([contenteditable="false"])'].join(",");
98
+ function Ge(o) {
99
+ const n = parseInt(o.getAttribute("tabindex") || "", 10);
100
+ return Number.isNaN(n) ? o.contentEditable === "true" || (o.nodeName === "AUDIO" || o.nodeName === "VIDEO" || o.nodeName === "DETAILS") && o.getAttribute("tabindex") === null ? 0 : o.tabIndex : n;
101
+ }
102
+ function Ze(o) {
103
+ if (o.tagName !== "INPUT" || o.type !== "radio" || !o.name)
104
+ return !1;
105
+ const n = (t) => o.ownerDocument.querySelector(`input[type="radio"]${t}`);
106
+ let r = n(`[name="${o.name}"]:checked`);
107
+ return r || (r = n(`[name="${o.name}"]`)), r !== o;
108
+ }
109
+ function Xe(o) {
110
+ return !(o.disabled || o.tagName === "INPUT" && o.type === "hidden" || Ze(o));
111
+ }
112
+ function Je(o) {
113
+ const n = [], r = [];
114
+ return Array.from(o.querySelectorAll(Ye)).forEach((t, i) => {
115
+ const s = Ge(t);
116
+ s === -1 || !Xe(t) || (s === 0 ? n.push(t) : r.push({
117
+ documentOrder: i,
118
+ tabIndex: s,
119
+ node: t
120
+ }));
121
+ }), r.sort((t, i) => t.tabIndex === i.tabIndex ? t.documentOrder - i.documentOrder : t.tabIndex - i.tabIndex).map((t) => t.node).concat(n);
122
+ }
123
+ function Qe() {
124
+ return !0;
125
+ }
126
+ function X(o) {
127
+ const {
128
+ children: n,
129
+ disableAutoFocus: r = !1,
130
+ disableEnforceFocus: t = !1,
131
+ disableRestoreFocus: i = !1,
132
+ getTabbable: s = Je,
133
+ isEnabled: l = Qe,
134
+ open: c
135
+ } = o, u = a.useRef(!1), f = a.useRef(null), v = a.useRef(null), E = a.useRef(null), h = a.useRef(null), x = a.useRef(!1), m = a.useRef(null), P = Y(n.ref, m), N = a.useRef(null);
136
+ a.useEffect(() => {
137
+ !c || !m.current || (x.current = !r);
138
+ }, [r, c]), a.useEffect(() => {
139
+ if (!c || !m.current)
140
+ return;
141
+ const d = H(m.current);
142
+ return m.current.contains(d.activeElement) || (m.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(`
143
+ `)), m.current.setAttribute("tabIndex", "-1")), x.current && m.current.focus()), () => {
144
+ i || (E.current && E.current.focus && (u.current = !0, E.current.focus()), E.current = null);
145
+ };
146
+ }, [c]), a.useEffect(() => {
147
+ if (!c || !m.current)
148
+ return;
149
+ const d = H(m.current), g = (O) => {
150
+ const {
151
+ current: I
152
+ } = m;
153
+ if (I !== null) {
154
+ if (!d.hasFocus() || t || !l() || u.current) {
155
+ u.current = !1;
156
+ return;
157
+ }
158
+ if (!I.contains(d.activeElement)) {
159
+ if (O && h.current !== O.target || d.activeElement !== h.current)
160
+ h.current = null;
161
+ else if (h.current !== null)
162
+ return;
163
+ if (!x.current)
164
+ return;
165
+ let R = [];
166
+ if ((d.activeElement === f.current || d.activeElement === v.current) && (R = s(m.current)), R.length > 0) {
167
+ var D, L;
168
+ const F = !!((D = N.current) != null && D.shiftKey && ((L = N.current) == null ? void 0 : L.key) === "Tab"), B = R[0], p = R[R.length - 1];
169
+ typeof B != "string" && typeof p != "string" && (F ? p.focus() : B.focus());
170
+ } else
171
+ I.focus();
172
+ }
173
+ }
174
+ }, y = (O) => {
175
+ N.current = O, !(t || !l() || O.key !== "Tab") && d.activeElement === m.current && O.shiftKey && (u.current = !0, v.current && v.current.focus());
176
+ };
177
+ d.addEventListener("focusin", g), d.addEventListener("keydown", y, !0);
178
+ const C = setInterval(() => {
179
+ d.activeElement && d.activeElement.tagName === "BODY" && g(null);
180
+ }, 50);
181
+ return () => {
182
+ clearInterval(C), d.removeEventListener("focusin", g), d.removeEventListener("keydown", y, !0);
183
+ };
184
+ }, [r, t, i, l, c, s]);
185
+ const k = (d) => {
186
+ E.current === null && (E.current = d.relatedTarget), x.current = !0, h.current = d.target;
187
+ const g = n.props.onFocus;
188
+ g && g(d);
189
+ }, w = (d) => {
190
+ E.current === null && (E.current = d.relatedTarget), x.current = !0;
191
+ };
192
+ return /* @__PURE__ */ ke(a.Fragment, {
193
+ children: [/* @__PURE__ */ M("div", {
194
+ tabIndex: c ? 0 : -1,
195
+ onFocus: w,
196
+ ref: f,
197
+ "data-testid": "sentinelStart"
198
+ }), /* @__PURE__ */ a.cloneElement(n, {
199
+ ref: P,
200
+ onFocus: k
201
+ }), /* @__PURE__ */ M("div", {
202
+ tabIndex: c ? 0 : -1,
203
+ onFocus: w,
204
+ ref: v,
205
+ "data-testid": "sentinelEnd"
206
+ })]
207
+ });
208
+ }
209
+ process.env.NODE_ENV !== "production" && (X.propTypes = {
210
+ // ----------------------------- Warning --------------------------------
211
+ // | These PropTypes are generated from the TypeScript type definitions |
212
+ // | To update them edit TypeScript types and run "yarn proptypes" |
213
+ // ----------------------------------------------------------------------
214
+ /**
215
+ * A single child content element.
216
+ */
217
+ children: Q,
218
+ /**
219
+ * If `true`, the focus trap will not automatically shift focus to itself when it opens, and
220
+ * replace it to the last focused element when it closes.
221
+ * This also works correctly with any focus trap children that have the `disableAutoFocus` prop.
222
+ *
223
+ * Generally this should never be set to `true` as it makes the focus trap less
224
+ * accessible to assistive technologies, like screen readers.
225
+ * @default false
226
+ */
227
+ disableAutoFocus: e.bool,
228
+ /**
229
+ * If `true`, the focus trap will not prevent focus from leaving the focus trap while open.
230
+ *
231
+ * Generally this should never be set to `true` as it makes the focus trap less
232
+ * accessible to assistive technologies, like screen readers.
233
+ * @default false
234
+ */
235
+ disableEnforceFocus: e.bool,
236
+ /**
237
+ * If `true`, the focus trap will not restore focus to previously focused element once
238
+ * focus trap is hidden or unmounted.
239
+ * @default false
240
+ */
241
+ disableRestoreFocus: e.bool,
242
+ /**
243
+ * Returns an array of ordered tabbable nodes (i.e. in tab order) within the root.
244
+ * For instance, you can provide the "tabbable" npm dependency.
245
+ * @param {HTMLElement} root
246
+ */
247
+ getTabbable: e.func,
248
+ /**
249
+ * This prop extends the `open` prop.
250
+ * It allows to toggle the open state without having to wait for a rerender when changing the `open` prop.
251
+ * This prop should be memoized.
252
+ * It can be used to support multiple focus trap mounted at the same time.
253
+ * @default function defaultIsEnabled(): boolean {
254
+ * return true;
255
+ * }
256
+ */
257
+ isEnabled: e.func,
258
+ /**
259
+ * If `true`, focus is locked.
260
+ */
261
+ open: e.bool.isRequired
262
+ });
263
+ process.env.NODE_ENV !== "production" && (X.propTypes = Re(X.propTypes));
264
+ function eo(o) {
265
+ return typeof o == "function" ? o() : o;
266
+ }
267
+ const J = /* @__PURE__ */ a.forwardRef(function(n, r) {
268
+ const {
269
+ children: t,
270
+ container: i,
271
+ disablePortal: s = !1
272
+ } = n, [l, c] = a.useState(null), u = Y(/* @__PURE__ */ a.isValidElement(t) ? t.ref : null, r);
273
+ if (ue(() => {
274
+ s || c(eo(i) || document.body);
275
+ }, [i, s]), ue(() => {
276
+ if (l && !s)
277
+ return fe(r, l), () => {
278
+ fe(r, null);
279
+ };
280
+ }, [r, l, s]), s) {
281
+ if (/* @__PURE__ */ a.isValidElement(t)) {
282
+ const f = {
283
+ ref: u
284
+ };
285
+ return /* @__PURE__ */ a.cloneElement(t, f);
286
+ }
287
+ return /* @__PURE__ */ M(a.Fragment, {
288
+ children: t
289
+ });
290
+ }
291
+ return /* @__PURE__ */ M(a.Fragment, {
292
+ children: l && /* @__PURE__ */ je.createPortal(t, l)
293
+ });
294
+ });
295
+ process.env.NODE_ENV !== "production" && (J.propTypes = {
296
+ // ----------------------------- Warning --------------------------------
297
+ // | These PropTypes are generated from the TypeScript type definitions |
298
+ // | To update them edit TypeScript types and run "yarn proptypes" |
299
+ // ----------------------------------------------------------------------
300
+ /**
301
+ * The children to render into the `container`.
302
+ */
303
+ children: e.node,
304
+ /**
305
+ * An HTML element or function that returns one.
306
+ * The `container` will have the portal children appended to it.
307
+ *
308
+ * By default, it uses the body of the top-level document object,
309
+ * so it's simply `document.body` most of the time.
310
+ */
311
+ container: e.oneOfType([le, e.func]),
312
+ /**
313
+ * The `children` will be under the DOM hierarchy of the parent component.
314
+ * @default false
315
+ */
316
+ disablePortal: e.bool
317
+ });
318
+ process.env.NODE_ENV !== "production" && (J.propTypes = Re(J.propTypes));
319
+ function oo(o) {
320
+ const n = H(o);
321
+ return n.body === o ? ie(o).innerWidth > n.documentElement.clientWidth : o.scrollHeight > o.clientHeight;
322
+ }
323
+ function W(o, n) {
324
+ n ? o.setAttribute("aria-hidden", "true") : o.removeAttribute("aria-hidden");
325
+ }
326
+ function Ee(o) {
327
+ return parseInt(ie(o).getComputedStyle(o).paddingRight, 10) || 0;
328
+ }
329
+ function no(o) {
330
+ const r = ["TEMPLATE", "SCRIPT", "STYLE", "LINK", "MAP", "META", "NOSCRIPT", "PICTURE", "COL", "COLGROUP", "PARAM", "SLOT", "SOURCE", "TRACK"].indexOf(o.tagName) !== -1, t = o.tagName === "INPUT" && o.getAttribute("type") === "hidden";
331
+ return r || t;
332
+ }
333
+ function ye(o, n, r, t, i) {
334
+ const s = [n, r, ...t];
335
+ [].forEach.call(o.children, (l) => {
336
+ const c = s.indexOf(l) === -1, u = !no(l);
337
+ c && u && W(l, i);
338
+ });
339
+ }
340
+ function te(o, n) {
341
+ let r = -1;
342
+ return o.some((t, i) => n(t) ? (r = i, !0) : !1), r;
343
+ }
344
+ function to(o, n) {
345
+ const r = [], t = o.container;
346
+ if (!n.disableScrollLock) {
347
+ if (oo(t)) {
348
+ const l = We(H(t));
349
+ r.push({
350
+ value: t.style.paddingRight,
351
+ property: "padding-right",
352
+ el: t
353
+ }), t.style.paddingRight = `${Ee(t) + l}px`;
354
+ const c = H(t).querySelectorAll(".mui-fixed");
355
+ [].forEach.call(c, (u) => {
356
+ r.push({
357
+ value: u.style.paddingRight,
358
+ property: "padding-right",
359
+ el: u
360
+ }), u.style.paddingRight = `${Ee(u) + l}px`;
361
+ });
362
+ }
363
+ let s;
364
+ if (t.parentNode instanceof DocumentFragment)
365
+ s = H(t).body;
366
+ else {
367
+ const l = t.parentElement, c = ie(t);
368
+ s = (l == null ? void 0 : l.nodeName) === "HTML" && c.getComputedStyle(l).overflowY === "scroll" ? l : t;
369
+ }
370
+ r.push({
371
+ value: s.style.overflow,
372
+ property: "overflow",
373
+ el: s
374
+ }, {
375
+ value: s.style.overflowX,
376
+ property: "overflow-x",
377
+ el: s
378
+ }, {
379
+ value: s.style.overflowY,
380
+ property: "overflow-y",
381
+ el: s
382
+ }), s.style.overflow = "hidden";
383
+ }
384
+ return () => {
385
+ r.forEach(({
386
+ value: s,
387
+ el: l,
388
+ property: c
389
+ }) => {
390
+ s ? l.style.setProperty(c, s) : l.style.removeProperty(c);
391
+ });
392
+ };
393
+ }
394
+ function ro(o) {
395
+ const n = [];
396
+ return [].forEach.call(o.children, (r) => {
397
+ r.getAttribute("aria-hidden") === "true" && n.push(r);
398
+ }), n;
399
+ }
400
+ class so {
401
+ constructor() {
402
+ this.containers = void 0, this.modals = void 0, this.modals = [], this.containers = [];
403
+ }
404
+ add(n, r) {
405
+ let t = this.modals.indexOf(n);
406
+ if (t !== -1)
407
+ return t;
408
+ t = this.modals.length, this.modals.push(n), n.modalRef && W(n.modalRef, !1);
409
+ const i = ro(r);
410
+ ye(r, n.mount, n.modalRef, i, !0);
411
+ const s = te(this.containers, (l) => l.container === r);
412
+ return s !== -1 ? (this.containers[s].modals.push(n), t) : (this.containers.push({
413
+ modals: [n],
414
+ container: r,
415
+ restore: null,
416
+ hiddenSiblings: i
417
+ }), t);
418
+ }
419
+ mount(n, r) {
420
+ const t = te(this.containers, (s) => s.modals.indexOf(n) !== -1), i = this.containers[t];
421
+ i.restore || (i.restore = to(i, r));
422
+ }
423
+ remove(n, r = !0) {
424
+ const t = this.modals.indexOf(n);
425
+ if (t === -1)
426
+ return t;
427
+ const i = te(this.containers, (l) => l.modals.indexOf(n) !== -1), s = this.containers[i];
428
+ if (s.modals.splice(s.modals.indexOf(n), 1), this.modals.splice(t, 1), s.modals.length === 0)
429
+ s.restore && s.restore(), n.modalRef && W(n.modalRef, r), ye(s.container, n.mount, n.modalRef, s.hiddenSiblings, !1), this.containers.splice(i, 1);
430
+ else {
431
+ const l = s.modals[s.modals.length - 1];
432
+ l.modalRef && W(l.modalRef, !1);
433
+ }
434
+ return t;
435
+ }
436
+ isTopModal(n) {
437
+ return this.modals.length > 0 && this.modals[this.modals.length - 1] === n;
438
+ }
439
+ }
440
+ function io(o) {
441
+ return xe("MuiModal", o);
442
+ }
443
+ ge("MuiModal", ["root", "hidden", "backdrop"]);
444
+ const lo = ["children", "closeAfterTransition", "component", "container", "disableAutoFocus", "disableEnforceFocus", "disableEscapeKeyDown", "disablePortal", "disableRestoreFocus", "disableScrollLock", "hideBackdrop", "keepMounted", "manager", "onBackdropClick", "onClose", "onKeyDown", "open", "onTransitionEnter", "onTransitionExited", "slotProps", "slots"], ao = (o) => {
445
+ const {
446
+ open: n,
447
+ exited: r
448
+ } = o;
449
+ return Te({
450
+ root: ["root", !n && r && "hidden"],
451
+ backdrop: ["backdrop"]
452
+ }, Ke(io));
453
+ };
454
+ function co(o) {
455
+ return typeof o == "function" ? o() : o;
456
+ }
457
+ function uo(o) {
458
+ return o ? o.props.hasOwnProperty("in") : !1;
459
+ }
460
+ const fo = new so(), Ne = /* @__PURE__ */ a.forwardRef(function(n, r) {
461
+ var t, i;
462
+ const {
463
+ children: s,
464
+ closeAfterTransition: l = !1,
465
+ component: c,
466
+ container: u,
467
+ disableAutoFocus: f = !1,
468
+ disableEnforceFocus: v = !1,
469
+ disableEscapeKeyDown: E = !1,
470
+ disablePortal: h = !1,
471
+ disableRestoreFocus: x = !1,
472
+ disableScrollLock: m = !1,
473
+ hideBackdrop: P = !1,
474
+ keepMounted: N = !1,
475
+ // private
476
+ manager: k = fo,
477
+ onBackdropClick: w,
478
+ onClose: d,
479
+ onKeyDown: g,
480
+ open: y,
481
+ onTransitionEnter: C,
482
+ onTransitionExited: O,
483
+ slotProps: I = {},
484
+ slots: D = {}
485
+ } = n, L = z(n, lo), [R, F] = a.useState(!y), B = a.useRef({}), p = a.useRef(null), T = a.useRef(null), A = Y(T, r), j = uo(s), _ = (t = n["aria-hidden"]) != null ? t : !0, G = () => H(p.current), $ = () => (B.current.modalRef = T.current, B.current.mountNode = p.current, B.current), U = () => {
486
+ k.mount($(), {
487
+ disableScrollLock: m
488
+ }), T.current && (T.current.scrollTop = 0);
489
+ }, K = pe(() => {
490
+ const S = co(u) || G().body;
491
+ k.add($(), S), T.current && U();
492
+ }), ee = a.useCallback(() => k.isTopModal($()), [k]), Oe = pe((S) => {
493
+ p.current = S, !(!S || !T.current) && (y && ee() ? U() : W(T.current, _));
494
+ }), V = a.useCallback(() => {
495
+ k.remove($(), _);
496
+ }, [k, _]);
497
+ a.useEffect(() => () => {
498
+ V();
499
+ }, [V]), a.useEffect(() => {
500
+ y ? K() : (!j || !l) && V();
501
+ }, [y, V, j, l, K]);
502
+ const oe = b({}, n, {
503
+ closeAfterTransition: l,
504
+ disableAutoFocus: f,
505
+ disableEnforceFocus: v,
506
+ disableEscapeKeyDown: E,
507
+ disablePortal: h,
508
+ disableRestoreFocus: x,
509
+ disableScrollLock: m,
510
+ exited: R,
511
+ hideBackdrop: P,
512
+ keepMounted: N
513
+ }), ae = ao(oe), we = () => {
514
+ F(!1), C && C();
515
+ }, Fe = () => {
516
+ F(!0), O && O(), l && V();
517
+ }, Me = (S) => {
518
+ S.target === S.currentTarget && (w && w(S), d && d(S, "backdropClick"));
519
+ }, Ie = (S) => {
520
+ g && g(S), !(S.key !== "Escape" || !ee()) && (E || (S.stopPropagation(), d && d(S, "escapeKeyDown")));
521
+ }, Z = {};
522
+ s.props.tabIndex === void 0 && (Z.tabIndex = "-1"), j && (Z.onEnter = me(we, s.props.onEnter), Z.onExited = me(Fe, s.props.onExited));
523
+ const ce = (i = c ?? D.root) != null ? i : "div", Ae = he({
524
+ elementType: ce,
525
+ externalSlotProps: I.root,
526
+ externalForwardedProps: L,
527
+ additionalProps: {
528
+ ref: A,
529
+ role: "presentation",
530
+ onKeyDown: Ie
531
+ },
532
+ className: ae.root,
533
+ ownerState: oe
534
+ }), ne = D.backdrop, De = he({
535
+ elementType: ne,
536
+ externalSlotProps: I.backdrop,
537
+ additionalProps: {
538
+ "aria-hidden": !0,
539
+ onClick: Me,
540
+ open: y
541
+ },
542
+ className: ae.backdrop,
543
+ ownerState: oe
544
+ });
545
+ return !N && !y && (!j || R) ? null : /* @__PURE__ */ M(
546
+ J,
547
+ {
548
+ ref: Oe,
549
+ container: u,
550
+ disablePortal: h,
551
+ children: /* @__PURE__ */ ke(ce, b({}, Ae, {
552
+ children: [!P && ne ? /* @__PURE__ */ M(ne, b({}, De)) : null, /* @__PURE__ */ M(X, {
553
+ disableEnforceFocus: v,
554
+ disableAutoFocus: f,
555
+ disableRestoreFocus: x,
556
+ isEnabled: ee,
557
+ open: y,
558
+ children: /* @__PURE__ */ a.cloneElement(s, Z)
559
+ })]
560
+ }))
561
+ }
562
+ );
563
+ });
564
+ process.env.NODE_ENV !== "production" && (Ne.propTypes = {
565
+ // ----------------------------- Warning --------------------------------
566
+ // | These PropTypes are generated from the TypeScript type definitions |
567
+ // | To update them edit TypeScript types and run "yarn proptypes" |
568
+ // ----------------------------------------------------------------------
569
+ /**
570
+ * A single child content element.
571
+ */
572
+ children: Q.isRequired,
573
+ /**
574
+ * When set to true the Modal waits until a nested Transition is completed before closing.
575
+ * @default false
576
+ */
577
+ closeAfterTransition: e.bool,
578
+ /**
579
+ * The component used for the root node.
580
+ * Either a string to use a HTML element or a component.
581
+ */
582
+ component: e.elementType,
583
+ /**
584
+ * An HTML element or function that returns one.
585
+ * The `container` will have the portal children appended to it.
586
+ *
587
+ * By default, it uses the body of the top-level document object,
588
+ * so it's simply `document.body` most of the time.
589
+ */
590
+ container: e.oneOfType([le, e.func]),
591
+ /**
592
+ * If `true`, the modal will not automatically shift focus to itself when it opens, and
593
+ * replace it to the last focused element when it closes.
594
+ * This also works correctly with any modal children that have the `disableAutoFocus` prop.
595
+ *
596
+ * Generally this should never be set to `true` as it makes the modal less
597
+ * accessible to assistive technologies, like screen readers.
598
+ * @default false
599
+ */
600
+ disableAutoFocus: e.bool,
601
+ /**
602
+ * If `true`, the modal will not prevent focus from leaving the modal while open.
603
+ *
604
+ * Generally this should never be set to `true` as it makes the modal less
605
+ * accessible to assistive technologies, like screen readers.
606
+ * @default false
607
+ */
608
+ disableEnforceFocus: e.bool,
609
+ /**
610
+ * If `true`, hitting escape will not fire the `onClose` callback.
611
+ * @default false
612
+ */
613
+ disableEscapeKeyDown: e.bool,
614
+ /**
615
+ * The `children` will be under the DOM hierarchy of the parent component.
616
+ * @default false
617
+ */
618
+ disablePortal: e.bool,
619
+ /**
620
+ * If `true`, the modal will not restore focus to previously focused element once
621
+ * modal is hidden or unmounted.
622
+ * @default false
623
+ */
624
+ disableRestoreFocus: e.bool,
625
+ /**
626
+ * Disable the scroll lock behavior.
627
+ * @default false
628
+ */
629
+ disableScrollLock: e.bool,
630
+ /**
631
+ * If `true`, the backdrop is not rendered.
632
+ * @default false
633
+ */
634
+ hideBackdrop: e.bool,
635
+ /**
636
+ * Always keep the children in the DOM.
637
+ * This prop can be useful in SEO situation or
638
+ * when you want to maximize the responsiveness of the Modal.
639
+ * @default false
640
+ */
641
+ keepMounted: e.bool,
642
+ /**
643
+ * Callback fired when the backdrop is clicked.
644
+ * @deprecated Use the `onClose` prop with the `reason` argument to handle the `backdropClick` events.
645
+ */
646
+ onBackdropClick: e.func,
647
+ /**
648
+ * Callback fired when the component requests to be closed.
649
+ * The `reason` parameter can optionally be used to control the response to `onClose`.
650
+ *
651
+ * @param {object} event The event source of the callback.
652
+ * @param {string} reason Can be: `"escapeKeyDown"`, `"backdropClick"`.
653
+ */
654
+ onClose: e.func,
655
+ /**
656
+ * @ignore
657
+ */
658
+ onKeyDown: e.func,
659
+ /**
660
+ * If `true`, the component is shown.
661
+ */
662
+ open: e.bool.isRequired,
663
+ /**
664
+ * The props used for each slot inside the Modal.
665
+ * @default {}
666
+ */
667
+ slotProps: e.shape({
668
+ backdrop: e.oneOfType([e.func, e.object]),
669
+ root: e.oneOfType([e.func, e.object])
670
+ }),
671
+ /**
672
+ * The components used for each slot inside the Modal.
673
+ * Either a string to use a HTML element or a component.
674
+ * @default {}
675
+ */
676
+ slots: e.shape({
677
+ backdrop: e.elementType,
678
+ root: e.elementType
679
+ })
680
+ });
681
+ const po = ["addEndListener", "appear", "children", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"], mo = {
682
+ entering: {
683
+ opacity: 1
684
+ },
685
+ entered: {
686
+ opacity: 1
687
+ }
688
+ }, Se = /* @__PURE__ */ a.forwardRef(function(n, r) {
689
+ const t = Be(), i = {
690
+ enter: t.transitions.duration.enteringScreen,
691
+ exit: t.transitions.duration.leavingScreen
692
+ }, {
693
+ addEndListener: s,
694
+ appear: l = !0,
695
+ children: c,
696
+ easing: u,
697
+ in: f,
698
+ onEnter: v,
699
+ onEntered: E,
700
+ onEntering: h,
701
+ onExit: x,
702
+ onExited: m,
703
+ onExiting: P,
704
+ style: N,
705
+ timeout: k = i,
706
+ // eslint-disable-next-line react/prop-types
707
+ TransitionComponent: w = Le
708
+ } = n, d = z(n, po), g = a.useRef(null), y = Y(g, c.ref, r), C = (p) => (T) => {
709
+ if (p) {
710
+ const A = g.current;
711
+ T === void 0 ? p(A) : p(A, T);
712
+ }
713
+ }, O = C(h), I = C((p, T) => {
714
+ _e(p);
715
+ const A = de({
716
+ style: N,
717
+ timeout: k,
718
+ easing: u
719
+ }, {
720
+ mode: "enter"
721
+ });
722
+ p.style.webkitTransition = t.transitions.create("opacity", A), p.style.transition = t.transitions.create("opacity", A), v && v(p, T);
723
+ }), D = C(E), L = C(P), R = C((p) => {
724
+ const T = de({
725
+ style: N,
726
+ timeout: k,
727
+ easing: u
728
+ }, {
729
+ mode: "exit"
730
+ });
731
+ p.style.webkitTransition = t.transitions.create("opacity", T), p.style.transition = t.transitions.create("opacity", T), x && x(p);
732
+ }), F = C(m);
733
+ return /* @__PURE__ */ M(w, b({
734
+ appear: l,
735
+ in: f,
736
+ nodeRef: g,
737
+ onEnter: I,
738
+ onEntered: D,
739
+ onEntering: O,
740
+ onExit: R,
741
+ onExited: F,
742
+ onExiting: L,
743
+ addEndListener: (p) => {
744
+ s && s(g.current, p);
745
+ },
746
+ timeout: k
747
+ }, d, {
748
+ children: (p, T) => /* @__PURE__ */ a.cloneElement(c, b({
749
+ style: b({
750
+ opacity: 0,
751
+ visibility: p === "exited" && !f ? "hidden" : void 0
752
+ }, mo[p], N, c.props.style),
753
+ ref: y
754
+ }, T))
755
+ }));
756
+ });
757
+ process.env.NODE_ENV !== "production" && (Se.propTypes = {
758
+ // ----------------------------- Warning --------------------------------
759
+ // | These PropTypes are generated from the TypeScript type definitions |
760
+ // | To update them edit the d.ts file and run "yarn proptypes" |
761
+ // ----------------------------------------------------------------------
762
+ /**
763
+ * Add a custom transition end trigger. Called with the transitioning DOM
764
+ * node and a done callback. Allows for more fine grained transition end
765
+ * logic. Note: Timeouts are still used as a fallback if provided.
766
+ */
767
+ addEndListener: e.func,
768
+ /**
769
+ * Perform the enter transition when it first mounts if `in` is also `true`.
770
+ * Set this to `false` to disable this behavior.
771
+ * @default true
772
+ */
773
+ appear: e.bool,
774
+ /**
775
+ * A single child content element.
776
+ */
777
+ children: Q.isRequired,
778
+ /**
779
+ * The transition timing function.
780
+ * You may specify a single easing or a object containing enter and exit values.
781
+ */
782
+ easing: e.oneOfType([e.shape({
783
+ enter: e.string,
784
+ exit: e.string
785
+ }), e.string]),
786
+ /**
787
+ * If `true`, the component will transition in.
788
+ */
789
+ in: e.bool,
790
+ /**
791
+ * @ignore
792
+ */
793
+ onEnter: e.func,
794
+ /**
795
+ * @ignore
796
+ */
797
+ onEntered: e.func,
798
+ /**
799
+ * @ignore
800
+ */
801
+ onEntering: e.func,
802
+ /**
803
+ * @ignore
804
+ */
805
+ onExit: e.func,
806
+ /**
807
+ * @ignore
808
+ */
809
+ onExited: e.func,
810
+ /**
811
+ * @ignore
812
+ */
813
+ onExiting: e.func,
814
+ /**
815
+ * @ignore
816
+ */
817
+ style: e.object,
818
+ /**
819
+ * The duration for the transition, in milliseconds.
820
+ * You may specify a single timeout for all transitions, or individually with an object.
821
+ * @default {
822
+ * enter: theme.transitions.duration.enteringScreen,
823
+ * exit: theme.transitions.duration.leavingScreen,
824
+ * }
825
+ */
826
+ timeout: e.oneOfType([e.number, e.shape({
827
+ appear: e.number,
828
+ enter: e.number,
829
+ exit: e.number
830
+ })])
831
+ });
832
+ function bo(o) {
833
+ return xe("MuiBackdrop", o);
834
+ }
835
+ ge("MuiBackdrop", ["root", "invisible"]);
836
+ const ho = ["children", "className", "component", "components", "componentsProps", "invisible", "open", "slotProps", "slots", "TransitionComponent", "transitionDuration"], Eo = (o) => {
837
+ const {
838
+ classes: n,
839
+ invisible: r
840
+ } = o;
841
+ return Te({
842
+ root: ["root", r && "invisible"]
843
+ }, bo, n);
844
+ }, yo = se("div", {
845
+ name: "MuiBackdrop",
846
+ slot: "Root",
847
+ overridesResolver: (o, n) => {
848
+ const {
849
+ ownerState: r
850
+ } = o;
851
+ return [n.root, r.invisible && n.invisible];
852
+ }
853
+ })(({
854
+ ownerState: o
855
+ }) => b({
856
+ position: "fixed",
857
+ display: "flex",
858
+ alignItems: "center",
859
+ justifyContent: "center",
860
+ right: 0,
861
+ bottom: 0,
862
+ top: 0,
863
+ left: 0,
864
+ backgroundColor: "rgba(0, 0, 0, 0.5)",
865
+ WebkitTapHighlightColor: "transparent"
866
+ }, o.invisible && {
867
+ backgroundColor: "transparent"
868
+ })), Ce = /* @__PURE__ */ a.forwardRef(function(n, r) {
869
+ var t, i, s;
870
+ const l = ve({
871
+ props: n,
872
+ name: "MuiBackdrop"
873
+ }), {
874
+ children: c,
875
+ className: u,
876
+ component: f = "div",
877
+ components: v = {},
878
+ componentsProps: E = {},
879
+ invisible: h = !1,
880
+ open: x,
881
+ slotProps: m = {},
882
+ slots: P = {},
883
+ TransitionComponent: N = Se,
884
+ transitionDuration: k
885
+ } = l, w = z(l, ho), d = b({}, l, {
886
+ component: f,
887
+ invisible: h
888
+ }), g = Eo(d), y = (t = m.root) != null ? t : E.root;
889
+ return /* @__PURE__ */ M(N, b({
890
+ in: x,
891
+ timeout: k
892
+ }, w, {
893
+ children: /* @__PURE__ */ M(yo, b({
894
+ "aria-hidden": !0
895
+ }, y, {
896
+ as: (i = (s = P.root) != null ? s : v.Root) != null ? i : f,
897
+ className: q(g.root, u, y == null ? void 0 : y.className),
898
+ ownerState: b({}, d, y == null ? void 0 : y.ownerState),
899
+ classes: g,
900
+ ref: r,
901
+ children: c
902
+ }))
903
+ }));
904
+ });
905
+ process.env.NODE_ENV !== "production" && (Ce.propTypes = {
906
+ // ----------------------------- Warning --------------------------------
907
+ // | These PropTypes are generated from the TypeScript type definitions |
908
+ // | To update them edit the d.ts file and run "yarn proptypes" |
909
+ // ----------------------------------------------------------------------
910
+ /**
911
+ * The content of the component.
912
+ */
913
+ children: e.node,
914
+ /**
915
+ * Override or extend the styles applied to the component.
916
+ */
917
+ classes: e.object,
918
+ /**
919
+ * @ignore
920
+ */
921
+ className: e.string,
922
+ /**
923
+ * The component used for the root node.
924
+ * Either a string to use a HTML element or a component.
925
+ */
926
+ component: e.elementType,
927
+ /**
928
+ * The components used for each slot inside.
929
+ *
930
+ * This prop is an alias for the `slots` prop.
931
+ * It's recommended to use the `slots` prop instead.
932
+ *
933
+ * @default {}
934
+ */
935
+ components: e.shape({
936
+ Root: e.elementType
937
+ }),
938
+ /**
939
+ * The extra props for the slot components.
940
+ * You can override the existing props or add new ones.
941
+ *
942
+ * This prop is an alias for the `slotProps` prop.
943
+ * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.
944
+ *
945
+ * @default {}
946
+ */
947
+ componentsProps: e.shape({
948
+ root: e.object
949
+ }),
950
+ /**
951
+ * If `true`, the backdrop is invisible.
952
+ * It can be used when rendering a popover or a custom select component.
953
+ * @default false
954
+ */
955
+ invisible: e.bool,
956
+ /**
957
+ * If `true`, the component is shown.
958
+ */
959
+ open: e.bool.isRequired,
960
+ /**
961
+ * The extra props for the slot components.
962
+ * You can override the existing props or add new ones.
963
+ *
964
+ * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.
965
+ *
966
+ * @default {}
967
+ */
968
+ slotProps: e.shape({
969
+ root: e.object
970
+ }),
971
+ /**
972
+ * The components used for each slot inside.
973
+ *
974
+ * This prop is an alias for the `components` prop, which will be deprecated in the future.
975
+ *
976
+ * @default {}
977
+ */
978
+ slots: e.shape({
979
+ root: e.elementType
980
+ }),
981
+ /**
982
+ * The system prop that allows defining system overrides as well as additional CSS styles.
983
+ */
984
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
985
+ /**
986
+ * The component used for the transition.
987
+ * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
988
+ * @default Fade
989
+ */
990
+ TransitionComponent: e.elementType,
991
+ /**
992
+ * The duration for the transition, in milliseconds.
993
+ * You may specify a single timeout for all transitions, or individually with an object.
994
+ */
995
+ transitionDuration: e.oneOfType([e.number, e.shape({
996
+ appear: e.number,
997
+ enter: e.number,
998
+ exit: e.number
999
+ })])
1000
+ });
1001
+ const go = ["BackdropComponent", "BackdropProps", "classes", "className", "closeAfterTransition", "children", "component", "components", "componentsProps", "disableAutoFocus", "disableEnforceFocus", "disableEscapeKeyDown", "disablePortal", "disableRestoreFocus", "disableScrollLock", "hideBackdrop", "keepMounted", "slotProps", "slots", "theme"], To = se("div", {
1002
+ name: "MuiModal",
1003
+ slot: "Root",
1004
+ overridesResolver: (o, n) => {
1005
+ const {
1006
+ ownerState: r
1007
+ } = o;
1008
+ return [n.root, !r.open && r.exited && n.hidden];
1009
+ }
1010
+ })(({
1011
+ theme: o,
1012
+ ownerState: n
1013
+ }) => b({
1014
+ position: "fixed",
1015
+ zIndex: (o.vars || o).zIndex.modal,
1016
+ right: 0,
1017
+ bottom: 0,
1018
+ top: 0,
1019
+ left: 0
1020
+ }, !n.open && n.exited && {
1021
+ visibility: "hidden"
1022
+ })), vo = se(Ce, {
1023
+ name: "MuiModal",
1024
+ slot: "Backdrop",
1025
+ overridesResolver: (o, n) => n.backdrop
1026
+ })({
1027
+ zIndex: -1
1028
+ }), xo = /* @__PURE__ */ a.forwardRef(function(n, r) {
1029
+ var t, i, s, l, c, u;
1030
+ const f = ve({
1031
+ name: "MuiModal",
1032
+ props: n
1033
+ }), {
1034
+ BackdropComponent: v = vo,
1035
+ BackdropProps: E,
1036
+ classes: h,
1037
+ className: x,
1038
+ closeAfterTransition: m = !1,
1039
+ children: P,
1040
+ component: N,
1041
+ components: k = {},
1042
+ componentsProps: w = {},
1043
+ disableAutoFocus: d = !1,
1044
+ disableEnforceFocus: g = !1,
1045
+ disableEscapeKeyDown: y = !1,
1046
+ disablePortal: C = !1,
1047
+ disableRestoreFocus: O = !1,
1048
+ disableScrollLock: I = !1,
1049
+ hideBackdrop: D = !1,
1050
+ keepMounted: L = !1,
1051
+ slotProps: R,
1052
+ slots: F,
1053
+ // eslint-disable-next-line react/prop-types
1054
+ theme: B
1055
+ } = f, p = z(f, go), [T, A] = a.useState(!0), j = {
1056
+ closeAfterTransition: m,
1057
+ disableAutoFocus: d,
1058
+ disableEnforceFocus: g,
1059
+ disableEscapeKeyDown: y,
1060
+ disablePortal: C,
1061
+ disableRestoreFocus: O,
1062
+ disableScrollLock: I,
1063
+ hideBackdrop: D,
1064
+ keepMounted: L
1065
+ }, _ = b({}, f, j, {
1066
+ exited: T
1067
+ }), G = (t = (i = F == null ? void 0 : F.root) != null ? i : k.Root) != null ? t : To, $ = (s = (l = F == null ? void 0 : F.backdrop) != null ? l : k.Backdrop) != null ? s : v, U = (c = R == null ? void 0 : R.root) != null ? c : w.root, K = (u = R == null ? void 0 : R.backdrop) != null ? u : w.backdrop;
1068
+ return /* @__PURE__ */ M(Ne, b({
1069
+ slots: {
1070
+ root: G,
1071
+ backdrop: $
1072
+ },
1073
+ slotProps: {
1074
+ root: () => b({}, re(U, _), !Pe(G) && {
1075
+ as: N,
1076
+ theme: B
1077
+ }, {
1078
+ className: q(x, U == null ? void 0 : U.className, h == null ? void 0 : h.root, !_.open && _.exited && (h == null ? void 0 : h.hidden))
1079
+ }),
1080
+ backdrop: () => b({}, E, re(K, _), {
1081
+ className: q(K == null ? void 0 : K.className, h == null ? void 0 : h.backdrop)
1082
+ })
1083
+ },
1084
+ onTransitionEnter: () => A(!1),
1085
+ onTransitionExited: () => A(!0),
1086
+ ref: r
1087
+ }, p, j, {
1088
+ children: P
1089
+ }));
1090
+ });
1091
+ process.env.NODE_ENV !== "production" && (xo.propTypes = {
1092
+ // ----------------------------- Warning --------------------------------
1093
+ // | These PropTypes are generated from the TypeScript type definitions |
1094
+ // | To update them edit the d.ts file and run "yarn proptypes" |
1095
+ // ----------------------------------------------------------------------
1096
+ /**
1097
+ * A backdrop component. This prop enables custom backdrop rendering.
1098
+ * @deprecated Use `slots.backdrop` instead. While this prop currently works, it will be removed in the next major version.
1099
+ * Use the `slots.backdrop` prop to make your application ready for the next version of Material UI.
1100
+ * @default styled(Backdrop, {
1101
+ * name: 'MuiModal',
1102
+ * slot: 'Backdrop',
1103
+ * overridesResolver: (props, styles) => {
1104
+ * return styles.backdrop;
1105
+ * },
1106
+ * })({
1107
+ * zIndex: -1,
1108
+ * })
1109
+ */
1110
+ BackdropComponent: e.elementType,
1111
+ /**
1112
+ * Props applied to the [`Backdrop`](/material-ui/api/backdrop/) element.
1113
+ * @deprecated Use `slotProps.backdrop` instead.
1114
+ */
1115
+ BackdropProps: e.object,
1116
+ /**
1117
+ * A single child content element.
1118
+ */
1119
+ children: Q.isRequired,
1120
+ /**
1121
+ * Override or extend the styles applied to the component.
1122
+ */
1123
+ classes: e.object,
1124
+ /**
1125
+ * @ignore
1126
+ */
1127
+ className: e.string,
1128
+ /**
1129
+ * When set to true the Modal waits until a nested Transition is completed before closing.
1130
+ * @default false
1131
+ */
1132
+ closeAfterTransition: e.bool,
1133
+ /**
1134
+ * The component used for the root node.
1135
+ * Either a string to use a HTML element or a component.
1136
+ */
1137
+ component: e.elementType,
1138
+ /**
1139
+ * The components used for each slot inside.
1140
+ *
1141
+ * This prop is an alias for the `slots` prop.
1142
+ * It's recommended to use the `slots` prop instead.
1143
+ *
1144
+ * @default {}
1145
+ */
1146
+ components: e.shape({
1147
+ Backdrop: e.elementType,
1148
+ Root: e.elementType
1149
+ }),
1150
+ /**
1151
+ * The extra props for the slot components.
1152
+ * You can override the existing props or add new ones.
1153
+ *
1154
+ * This prop is an alias for the `slotProps` prop.
1155
+ * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.
1156
+ *
1157
+ * @default {}
1158
+ */
1159
+ componentsProps: e.shape({
1160
+ backdrop: e.oneOfType([e.func, e.object]),
1161
+ root: e.oneOfType([e.func, e.object])
1162
+ }),
1163
+ /**
1164
+ * An HTML element or function that returns one.
1165
+ * The `container` will have the portal children appended to it.
1166
+ *
1167
+ * By default, it uses the body of the top-level document object,
1168
+ * so it's simply `document.body` most of the time.
1169
+ */
1170
+ container: e.oneOfType([le, e.func]),
1171
+ /**
1172
+ * If `true`, the modal will not automatically shift focus to itself when it opens, and
1173
+ * replace it to the last focused element when it closes.
1174
+ * This also works correctly with any modal children that have the `disableAutoFocus` prop.
1175
+ *
1176
+ * Generally this should never be set to `true` as it makes the modal less
1177
+ * accessible to assistive technologies, like screen readers.
1178
+ * @default false
1179
+ */
1180
+ disableAutoFocus: e.bool,
1181
+ /**
1182
+ * If `true`, the modal will not prevent focus from leaving the modal while open.
1183
+ *
1184
+ * Generally this should never be set to `true` as it makes the modal less
1185
+ * accessible to assistive technologies, like screen readers.
1186
+ * @default false
1187
+ */
1188
+ disableEnforceFocus: e.bool,
1189
+ /**
1190
+ * If `true`, hitting escape will not fire the `onClose` callback.
1191
+ * @default false
1192
+ */
1193
+ disableEscapeKeyDown: e.bool,
1194
+ /**
1195
+ * The `children` will be under the DOM hierarchy of the parent component.
1196
+ * @default false
1197
+ */
1198
+ disablePortal: e.bool,
1199
+ /**
1200
+ * If `true`, the modal will not restore focus to previously focused element once
1201
+ * modal is hidden or unmounted.
1202
+ * @default false
1203
+ */
1204
+ disableRestoreFocus: e.bool,
1205
+ /**
1206
+ * Disable the scroll lock behavior.
1207
+ * @default false
1208
+ */
1209
+ disableScrollLock: e.bool,
1210
+ /**
1211
+ * If `true`, the backdrop is not rendered.
1212
+ * @default false
1213
+ */
1214
+ hideBackdrop: e.bool,
1215
+ /**
1216
+ * Always keep the children in the DOM.
1217
+ * This prop can be useful in SEO situation or
1218
+ * when you want to maximize the responsiveness of the Modal.
1219
+ * @default false
1220
+ */
1221
+ keepMounted: e.bool,
1222
+ /**
1223
+ * Callback fired when the backdrop is clicked.
1224
+ * @deprecated Use the `onClose` prop with the `reason` argument to handle the `backdropClick` events.
1225
+ */
1226
+ onBackdropClick: e.func,
1227
+ /**
1228
+ * Callback fired when the component requests to be closed.
1229
+ * The `reason` parameter can optionally be used to control the response to `onClose`.
1230
+ *
1231
+ * @param {object} event The event source of the callback.
1232
+ * @param {string} reason Can be: `"escapeKeyDown"`, `"backdropClick"`.
1233
+ */
1234
+ onClose: e.func,
1235
+ /**
1236
+ * If `true`, the component is shown.
1237
+ */
1238
+ open: e.bool.isRequired,
1239
+ /**
1240
+ * The props used for each slot inside the Modal.
1241
+ * @default {}
1242
+ */
1243
+ slotProps: e.shape({
1244
+ backdrop: e.oneOfType([e.func, e.object]),
1245
+ root: e.oneOfType([e.func, e.object])
1246
+ }),
1247
+ /**
1248
+ * The components used for each slot inside the Modal.
1249
+ * Either a string to use a HTML element or a component.
1250
+ * @default {}
1251
+ */
1252
+ slots: e.shape({
1253
+ backdrop: e.elementType,
1254
+ root: e.elementType
1255
+ }),
1256
+ /**
1257
+ * The system prop that allows defining system overrides as well as additional CSS styles.
1258
+ */
1259
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object])
1260
+ });
1261
+ export {
1262
+ Ce as B,
1263
+ Se as F,
1264
+ le as H,
1265
+ xo as M,
1266
+ We as g
1267
+ };