@smart-factor/gem-ui-components 0.0.90 → 0.0.92

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 (189) hide show
  1. package/dist/Drawer-Q3D0v6B2.js +2028 -0
  2. package/dist/SignEditor.js +14323 -14351
  3. package/dist/Stack-CdVfRhco.js +7503 -0
  4. package/dist/Tree-xeWEfulP.js +3135 -0
  5. package/dist/components/AccordionSummary/AccordionSummary.d.ts +0 -1
  6. package/dist/components/AccordionSummary/AccordionSummary.stories.d.ts +0 -1
  7. package/dist/components/AccordionSummary/AccordionSummary.styles.d.ts +4 -5
  8. package/dist/components/Button/Button.d.ts +0 -2
  9. package/dist/components/Button/Button.stories.d.ts +0 -1
  10. package/dist/components/Button/Button.styles.d.ts +3 -4
  11. package/dist/components/Button/ButtonAdd.d.ts +0 -1
  12. package/dist/components/ButtonPreviewAttachment/ButtonPreviewAttachment.d.ts +0 -1
  13. package/dist/components/ButtonPreviewAttachment/ButtonPreviewAttachment.stories.d.ts +0 -1
  14. package/dist/components/ButtonWithIcon/ButtonWithIcon.d.ts +0 -1
  15. package/dist/components/ButtonWithIcon/ButtonWithIcon.stories.d.ts +0 -1
  16. package/dist/components/Dialog/Dialog.d.ts +0 -1
  17. package/dist/components/Dialog/Dialog.stories.d.ts +34 -4
  18. package/dist/components/Dialog/Dialog.styles.d.ts +5 -6
  19. package/dist/components/Dialog/types.d.ts +0 -1
  20. package/dist/components/Dialogs/ConfirmDialog/ConfirmDialog.d.ts +0 -1
  21. package/dist/components/Dialogs/ConfirmDialog/ConfirmDialog.styles.d.ts +0 -1
  22. package/dist/components/Dialogs/EditDialog/EditDialog.d.ts +0 -1
  23. package/dist/components/Dialogs/EditDialog/EditDialog.styles.d.ts +0 -1
  24. package/dist/components/Drawer/Drawer.d.ts +0 -1
  25. package/dist/components/Drawer/Drawer.stories.d.ts +0 -1
  26. package/dist/components/Drawer/DrawerContent.d.ts +0 -1
  27. package/dist/components/Drawer/DrawerFooter.d.ts +0 -1
  28. package/dist/components/Drawer/DrawerHeader.d.ts +0 -1
  29. package/dist/components/Drawer/index.js +1 -1
  30. package/dist/components/Dropzone/Dropzone.stories.d.ts +0 -1
  31. package/dist/components/Dropzone/Dropzone.styles.d.ts +4 -5
  32. package/dist/components/Dropzone/DropzoneField.d.ts +0 -1
  33. package/dist/components/ElementsPicker/ElementsPicker.d.ts +0 -1
  34. package/dist/components/ElementsPicker/ElementsPicker.stories.d.ts +21 -4
  35. package/dist/components/ElementsPicker/ElementsPickerElement.d.ts +0 -1
  36. package/dist/components/FixedActionsBottomPanel/FixedActionsBottomPanel.d.ts +0 -1
  37. package/dist/components/FixedActionsBottomPanel/FixedActionsBottomPanel.stories.d.ts +0 -1
  38. package/dist/components/FixedActionsBottomPanel/FixedActionsBottomPanel.styles.d.ts +1 -2
  39. package/dist/components/FormComponents/Autocomplete/Autocomplete.d.ts +0 -1
  40. package/dist/components/FormComponents/Autocomplete/Autocomplete.stories.d.ts +0 -1
  41. package/dist/components/FormComponents/Autocomplete/Autocomplete.styles.d.ts +0 -1
  42. package/dist/components/FormComponents/Autocomplete/types.d.ts +0 -1
  43. package/dist/components/FormComponents/ContextualSearch/ContextualSearch.d.ts +0 -1
  44. package/dist/components/FormComponents/ContextualSearch/ContextualSearch.stories.d.ts +0 -1
  45. package/dist/components/FormComponents/ContextualSearch/ContextualSearch.styles.d.ts +1 -2
  46. package/dist/components/FormComponents/ContextualSearch/ContextualSearchControlled.d.ts +0 -1
  47. package/dist/components/FormComponents/ContextualSearch/ContextualSearchListListbox.d.ts +0 -1
  48. package/dist/components/FormComponents/ContextualSearch/mock.d.ts +0 -1
  49. package/dist/components/FormComponents/DatePicker/DatePicker.d.ts +0 -1
  50. package/dist/components/FormComponents/DatePicker/DatePicker.stories.d.ts +22 -4
  51. package/dist/components/FormComponents/DatePicker/DatePicker.styles.d.ts +2 -3
  52. package/dist/components/FormComponents/DateTimePicker/DateTimePicker.d.ts +0 -1
  53. package/dist/components/FormComponents/DateTimePicker/DateTimePicker.stories.d.ts +22 -4
  54. package/dist/components/FormComponents/DateTimePicker/DateTimePicker.styles.d.ts +2 -3
  55. package/dist/components/FormComponents/Input/Input.d.ts +0 -1
  56. package/dist/components/FormComponents/Input/Input.stories.d.ts +0 -1
  57. package/dist/components/FormComponents/RadioChips/RadioChips.d.ts +1 -3
  58. package/dist/components/FormComponents/RadioChips/RadioChips.stories.d.ts +22 -4
  59. package/dist/components/FormComponents/RadioChips/RadioChips.styles.d.ts +3 -4
  60. package/dist/components/FormComponents/SearchInput/SearchInput.d.ts +0 -1
  61. package/dist/components/FormComponents/SearchInput/SearchInput.stories.d.ts +20 -3
  62. package/dist/components/FormComponents/Select/Select.d.ts +1 -2
  63. package/dist/components/FormComponents/Select/Select.stories.d.ts +26 -4
  64. package/dist/components/FormComponents/Select/Select.styles.d.ts +1 -2
  65. package/dist/components/FormComponents/TimePicker/TimePicker.d.ts +0 -1
  66. package/dist/components/FormComponents/TimePicker/TimePicker.stories.d.ts +22 -4
  67. package/dist/components/FormComponents/TimePicker/TimePicker.styles.d.ts +3 -4
  68. package/dist/components/Grid/Grid.d.ts +0 -1
  69. package/dist/components/Grid/types.d.ts +0 -1
  70. package/dist/components/Grid/useGridInitialState.d.ts +3 -5
  71. package/dist/components/GridCell/GridCell.d.ts +0 -1
  72. package/dist/components/LoadingBackdrop/LoadingBackdrop.d.ts +0 -1
  73. package/dist/components/LoadingBackdrop/LoadingBackdrop.stories.d.ts +0 -1
  74. package/dist/components/MuiLikeWrapper/MuiLikeWrapper.d.ts +0 -1
  75. package/dist/components/MuiLikeWrapper/MuiLikeWrapper.stories.d.ts +0 -1
  76. package/dist/components/MuiLikeWrapper/MuiLikeWrapper.styles.d.ts +3 -4
  77. package/dist/components/PaginatedPopover/PaginatedPopover.d.ts +0 -1
  78. package/dist/components/PaginatedPopover/PaginatedPopover.stories.d.ts +0 -1
  79. package/dist/components/PaginatedPopover/PaginatedPopover.styles.d.ts +8 -9
  80. package/dist/components/PaginatedPopover/PaginatedPopoverContent.d.ts +2 -3
  81. package/dist/components/PaginatedPopover/PaginatedPopoverHeader.d.ts +0 -1
  82. package/dist/components/PaginatedPopover/types.d.ts +0 -1
  83. package/dist/components/ResizableWrapper/ResizableWrapper.d.ts +0 -1
  84. package/dist/components/ResizableWrapper/ResizableWrapper.stories.d.ts +0 -1
  85. package/dist/components/ResizableWrapper/ResizableWrapper.styles.d.ts +2 -3
  86. package/dist/components/SignEditor/SignEditor.d.ts +0 -1
  87. package/dist/components/SignEditor/SignEditor.stories.d.ts +0 -1
  88. package/dist/components/SignEditor/SignEditor.styles.d.ts +12 -11
  89. package/dist/components/SignEditor/SignEditorCanvas.d.ts +0 -1
  90. package/dist/components/SignEditor/SignEditorCanvasHeader.d.ts +0 -1
  91. package/dist/components/SignEditor/SignEditorContext.d.ts +0 -1
  92. package/dist/components/SignEditor/SignEditorContextProvider.d.ts +0 -1
  93. package/dist/components/SignEditor/SignEditorEditDialog.d.ts +0 -1
  94. package/dist/components/SignEditor/SignEditorImage.d.ts +0 -1
  95. package/dist/components/SignEditor/SignEditorImagesList.d.ts +0 -1
  96. package/dist/components/SignEditor/SignEditorSaveDialog.d.ts +0 -1
  97. package/dist/components/SignEditor/useOnSvgSelected.d.ts +0 -1
  98. package/dist/components/SignEditor/useSaveStencil.d.ts +0 -1
  99. package/dist/components/SignEditor/useSvgMount.d.ts +0 -1
  100. package/dist/components/SimpleAutocomplete/SimpleAutocomplete.d.ts +0 -1
  101. package/dist/components/SimpleAutocomplete/SimpleAutocomplete.stories.d.ts +0 -1
  102. package/dist/components/SimpleInput/SimpleInput.d.ts +0 -1
  103. package/dist/components/SimpleInput/SimpleInput.stories.d.ts +0 -1
  104. package/dist/components/SimpleSelect/SimpleSelect.d.ts +3 -4
  105. package/dist/components/SimpleSelect/SimpleSelect.stories.d.ts +0 -1
  106. package/dist/components/Stepper/Stepper.d.ts +0 -1
  107. package/dist/components/Stepper/Stepper.stories.d.ts +25 -5
  108. package/dist/components/Stepper/Stepper.styles.d.ts +3 -4
  109. package/dist/components/StickyContainer/StickyContainer.d.ts +0 -1
  110. package/dist/components/StickyContainer/StickyContainer.stories.d.ts +0 -1
  111. package/dist/components/StickyContainer/StickyContainer.styles.d.ts +2 -3
  112. package/dist/components/SvgImage/SvgImage.d.ts +0 -1
  113. package/dist/components/SvgImage/SvgImage.styles.d.ts +1 -2
  114. package/dist/components/TableComponents/ContextMenu/ContextMenu.d.ts +0 -1
  115. package/dist/components/TableComponents/ContextMenu/ContextMenu.stories.d.ts +0 -1
  116. package/dist/components/TableComponents/ContextMenu/ContextMenuContext.d.ts +0 -1
  117. package/dist/components/TableComponents/ContextMenu/ContextMenuItem.d.ts +0 -1
  118. package/dist/components/TableComponents/ContextMenu/ContextMenuPropsContext/ContextMenuPropsContext.d.ts +0 -1
  119. package/dist/components/TableComponents/TableActions/TableActions.d.ts +0 -1
  120. package/dist/components/TableComponents/TableActions/TableActions.stories.d.ts +0 -1
  121. package/dist/components/TableComponents/TableCustomToolbar/TableCustomToolbar.d.ts +0 -1
  122. package/dist/components/TableComponents/TableExportButton/TableExportButton.d.ts +0 -1
  123. package/dist/components/TableComponents/TableRecord/TableRecord.d.ts +0 -1
  124. package/dist/components/TableComponents/TableWithPagination/TableWithPagination.d.ts +0 -1
  125. package/dist/components/TableComponents/TableWithPagination/TableWithPagination.stories.d.ts +0 -1
  126. package/dist/components/TableComponents/TableWithPagination/TableWrapper.d.ts +0 -1
  127. package/dist/components/TableComponents/TableWithPagination/types.d.ts +0 -1
  128. package/dist/components/TabsPanel/TabsPanel.d.ts +0 -1
  129. package/dist/components/TabsPanel/TabsPanel.stories.d.ts +27 -4
  130. package/dist/components/TabsPanel/TabsPanel.styles.d.ts +7 -8
  131. package/dist/components/Toast/Toast.stories.d.ts +0 -1
  132. package/dist/components/Toast/Toast.styles.d.ts +4 -5
  133. package/dist/components/Toast/ToastContent.d.ts +0 -1
  134. package/dist/components/Toast/errorToast.d.ts +0 -1
  135. package/dist/components/Toast/infoToast.d.ts +0 -1
  136. package/dist/components/Toast/successToast.d.ts +0 -1
  137. package/dist/components/Tree/Tree.d.ts +0 -1
  138. package/dist/components/Tree/Tree.stories.d.ts +0 -1
  139. package/dist/components/Tree/index.js +1 -1
  140. package/dist/consts/data-grid.d.ts +32 -27
  141. package/dist/helpers/columns/getBooleanColumn.d.ts +0 -1
  142. package/dist/helpers/columns/getDateColumn.d.ts +0 -1
  143. package/dist/helpers/columns/getDateTimeColumn.d.ts +0 -1
  144. package/dist/helpers/columns/getNumericColumn.d.ts +0 -1
  145. package/dist/helpers/columns/getStaticColumn.d.ts +0 -1
  146. package/dist/helpers/columns/getStringColumn.d.ts +0 -1
  147. package/dist/helpers/date/formatDate.d.ts +0 -1
  148. package/dist/helpers/date/formatDateTime.d.ts +0 -1
  149. package/dist/helpers/sortColumns.d.ts +0 -1
  150. package/dist/helpers/zodTransforms.d.ts +0 -1
  151. package/dist/hooks/useContextMenu.d.ts +0 -1
  152. package/dist/hooks/useDataGridInitialState.d.ts +3 -5
  153. package/dist/hooks/useDataGridState.d.ts +2 -4
  154. package/dist/hooks/useDebounce.d.ts +1 -1
  155. package/dist/hooks/useGetFileUrl.d.ts +0 -1
  156. package/dist/hooks/useTableQuery/getLogicOperator.d.ts +0 -1
  157. package/dist/hooks/useTableQuery/normalizeFilterModel.d.ts +0 -1
  158. package/dist/hooks/useTableQuery/useDataGridQueryState.d.ts +0 -1
  159. package/dist/hooks/useTableQuery/useExportGridAsExcel.d.ts +0 -1
  160. package/dist/hooks/useTableQuery/useExportToExcel.d.ts +0 -1
  161. package/dist/hooks/useTableQuery/usePaginationAndSort.d.ts +0 -1
  162. package/dist/hooks/useTableQuery/useTableFilter.d.ts +0 -1
  163. package/dist/hooks/useTableQuery/useTableQuery.d.ts +2 -3
  164. package/dist/licenses.txt +376 -295
  165. package/dist/main.js +2574 -1949
  166. package/dist/providers/QueryClientProvider.d.ts +0 -1
  167. package/dist/services/api.d.ts +0 -1
  168. package/dist/services/generated/api.d.ts +4 -4
  169. package/dist/services/mutations/roadSigns/useCreateRoadSignFile.d.ts +0 -1
  170. package/dist/services/mutations/roadSigns/useCreateRoadSignTemplate.d.ts +0 -1
  171. package/dist/services/mutations/stencils/useCreateStencil.d.ts +0 -1
  172. package/dist/services/mutations/stencils/useCreateStencilFile.d.ts +0 -1
  173. package/dist/services/mutations/stencils/useDeleteStencil.d.ts +0 -1
  174. package/dist/services/mutations/stencils/useUpdateStencil.d.ts +0 -1
  175. package/dist/services/mutations/stencils/useUpdateStencilFile.d.ts +0 -1
  176. package/dist/services/queries/roadSigns/useGetRoadSignNameUnique.d.ts +1 -2
  177. package/dist/services/queries/roadSigns/useGetRoadSignsByGroupName.d.ts +1 -2
  178. package/dist/services/queries/roadSigns/useGetRoadSignsGroups.d.ts +1 -2
  179. package/dist/services/queries/stencils/useGetStencilGroups.d.ts +1 -2
  180. package/dist/services/queries/stencils/useGetStencils.d.ts +1 -2
  181. package/dist/theme-Da36hI_g.js +259278 -0
  182. package/dist/warning-VmSVedfJ.js +88 -0
  183. package/package.json +60 -55
  184. package/dist/Drawer-CldXrceX.js +0 -2112
  185. package/dist/Stack-CU3sSZaK.js +0 -6619
  186. package/dist/Tree-zB7xEw6c.js +0 -2895
  187. package/dist/services/generated/api-candidate.d.ts +0 -22942
  188. package/dist/theme-BwMNxR51.js +0 -262511
  189. package/dist/useFormControl-v82Vw7n0.js +0 -68
@@ -0,0 +1,2028 @@
1
+ import { jsx as R, jsxs as se } from "react/jsx-runtime";
2
+ import * as d from "react";
3
+ import { c as ie, P as e, o as W, g as ae, e as ce, f as le, h as de, s as K, i as xe, j as H, k as Pe, l as ue, n as pe, u as J, p as Re, q as De, t as ne, v as Ie, w as U, x as we, y as Ge, z as Je, A as Qe, B as X, C as Ze, D as et, E as tt, F as nt, S as ye, G as ot, I as rt } from "./Stack-CdVfRhco.js";
4
+ import * as st from "react-dom";
5
+ function it(t) {
6
+ const {
7
+ prototype: n = {}
8
+ } = t;
9
+ return !!n.isReactComponent;
10
+ }
11
+ function Me(t, n, r, o, s) {
12
+ const i = t[n], a = s || n;
13
+ if (i == null || // When server-side rendering React doesn't warn either.
14
+ // This is not an accurate check for SSR.
15
+ // This is only in place for Emotion compat.
16
+ // TODO: Revisit once https://github.com/facebook/react/issues/20047 is resolved.
17
+ typeof window > "u")
18
+ return null;
19
+ let c;
20
+ const l = i.type;
21
+ return typeof l == "function" && !it(l) && (c = "Did you accidentally use a plain function component for an element instead?"), c !== void 0 ? new Error(`Invalid ${o} \`${a}\` supplied to \`${r}\`. Expected an element that can hold a ref. ${c} For more information see https://mui.com/r/caveat-with-refs-guide`) : null;
22
+ }
23
+ const Q = ie(e.element, Me);
24
+ Q.isRequired = ie(e.element.isRequired, Me);
25
+ const at = "exact-prop: ​";
26
+ function Fe(t) {
27
+ return process.env.NODE_ENV === "production" ? t : {
28
+ ...t,
29
+ [at]: (n) => {
30
+ const r = Object.keys(n).filter((o) => !t.hasOwnProperty(o));
31
+ return r.length > 0 ? new Error(`The following props are not supported: ${r.map((o) => `\`${o}\``).join(", ")}. Please remove them.`) : null;
32
+ }
33
+ };
34
+ }
35
+ function ge(t, n, r, o, s) {
36
+ if (process.env.NODE_ENV === "production")
37
+ return null;
38
+ const i = t[n], a = s || n;
39
+ return i == null ? null : i && i.nodeType !== 1 ? new Error(`Invalid ${o} \`${a}\` supplied to \`${r}\`. Expected an HTMLElement.`) : null;
40
+ }
41
+ function ke(...t) {
42
+ return t.reduce((n, r) => r == null ? n : function(...s) {
43
+ n.apply(this, s), r.apply(this, s);
44
+ }, () => {
45
+ });
46
+ }
47
+ function ct(t, n = 166) {
48
+ let r;
49
+ function o(...s) {
50
+ const i = () => {
51
+ t.apply(this, s);
52
+ };
53
+ clearTimeout(r), r = setTimeout(i, n);
54
+ }
55
+ return o.clear = () => {
56
+ clearTimeout(r);
57
+ }, o;
58
+ }
59
+ function Y(t) {
60
+ return W(t).defaultView || window;
61
+ }
62
+ function Ne(t, n) {
63
+ typeof t == "function" ? t(n) : t && (t.current = n);
64
+ }
65
+ function lt(t = window) {
66
+ const n = t.document.documentElement.clientWidth;
67
+ return t.innerWidth - n;
68
+ }
69
+ function dt(t) {
70
+ const n = typeof t;
71
+ switch (n) {
72
+ case "number":
73
+ return Number.isNaN(t) ? "NaN" : Number.isFinite(t) ? t !== Math.floor(t) ? "float" : "number" : "Infinity";
74
+ case "object":
75
+ return t === null ? "null" : t.constructor.name;
76
+ default:
77
+ return n;
78
+ }
79
+ }
80
+ function $e(t, n, r, o) {
81
+ const s = t[n];
82
+ if (s == null || !Number.isInteger(s)) {
83
+ const i = dt(s);
84
+ return new RangeError(`Invalid ${o} \`${n}\` of type \`${i}\` supplied to \`${r}\`, expected \`integer\`.`);
85
+ }
86
+ return null;
87
+ }
88
+ function je(t, n, ...r) {
89
+ return t[n] === void 0 ? null : $e(t, n, ...r);
90
+ }
91
+ function be() {
92
+ return null;
93
+ }
94
+ je.isRequired = $e;
95
+ be.isRequired = be;
96
+ const Ae = process.env.NODE_ENV === "production" ? be : je;
97
+ function fe(t) {
98
+ var n;
99
+ return parseInt(d.version, 10) >= 19 ? ((n = t == null ? void 0 : t.props) == null ? void 0 : n.ref) || null : (t == null ? void 0 : t.ref) || null;
100
+ }
101
+ function ut(t) {
102
+ return ae("MuiPaper", t);
103
+ }
104
+ ce("MuiPaper", ["root", "rounded", "outlined", "elevation", "elevation0", "elevation1", "elevation2", "elevation3", "elevation4", "elevation5", "elevation6", "elevation7", "elevation8", "elevation9", "elevation10", "elevation11", "elevation12", "elevation13", "elevation14", "elevation15", "elevation16", "elevation17", "elevation18", "elevation19", "elevation20", "elevation21", "elevation22", "elevation23", "elevation24"]);
105
+ const pt = (t) => {
106
+ const {
107
+ square: n,
108
+ elevation: r,
109
+ variant: o,
110
+ classes: s
111
+ } = t, i = {
112
+ root: ["root", o, !n && "rounded", o === "elevation" && `elevation${r}`]
113
+ };
114
+ return ue(i, ut, s);
115
+ }, ft = K("div", {
116
+ name: "MuiPaper",
117
+ slot: "Root",
118
+ overridesResolver: (t, n) => {
119
+ const {
120
+ ownerState: r
121
+ } = t;
122
+ return [n.root, n[r.variant], !r.square && n.rounded, r.variant === "elevation" && n[`elevation${r.elevation}`]];
123
+ }
124
+ })(pe(({
125
+ theme: t
126
+ }) => ({
127
+ backgroundColor: (t.vars || t).palette.background.paper,
128
+ color: (t.vars || t).palette.text.primary,
129
+ transition: t.transitions.create("box-shadow"),
130
+ variants: [{
131
+ props: ({
132
+ ownerState: n
133
+ }) => !n.square,
134
+ style: {
135
+ borderRadius: t.shape.borderRadius
136
+ }
137
+ }, {
138
+ props: {
139
+ variant: "outlined"
140
+ },
141
+ style: {
142
+ border: `1px solid ${(t.vars || t).palette.divider}`
143
+ }
144
+ }, {
145
+ props: {
146
+ variant: "elevation"
147
+ },
148
+ style: {
149
+ boxShadow: "var(--Paper-shadow)",
150
+ backgroundImage: "var(--Paper-overlay)"
151
+ }
152
+ }]
153
+ }))), Be = /* @__PURE__ */ d.forwardRef(function(n, r) {
154
+ var v;
155
+ const o = le({
156
+ props: n,
157
+ name: "MuiPaper"
158
+ }), s = de(), {
159
+ className: i,
160
+ component: a = "div",
161
+ elevation: c = 1,
162
+ square: l = !1,
163
+ variant: u = "elevation",
164
+ ...g
165
+ } = o, T = {
166
+ ...o,
167
+ component: a,
168
+ elevation: c,
169
+ square: l,
170
+ variant: u
171
+ }, P = pt(T);
172
+ return process.env.NODE_ENV !== "production" && s.shadows[c] === void 0 && console.error([`MUI: The elevation provided <Paper elevation={${c}}> is not available in the theme.`, `Please make sure that \`theme.shadows[${c}]\` is defined.`].join(`
173
+ `)), /* @__PURE__ */ R(ft, {
174
+ as: a,
175
+ ownerState: T,
176
+ className: H(P.root, i),
177
+ ref: r,
178
+ ...g,
179
+ style: {
180
+ ...u === "elevation" && {
181
+ "--Paper-shadow": (s.vars || s).shadows[c],
182
+ ...s.vars && {
183
+ "--Paper-overlay": (v = s.vars.overlays) == null ? void 0 : v[c]
184
+ },
185
+ ...!s.vars && s.palette.mode === "dark" && {
186
+ "--Paper-overlay": `linear-gradient(${xe("#fff", Pe(c))}, ${xe("#fff", Pe(c))})`
187
+ }
188
+ },
189
+ ...g.style
190
+ }
191
+ });
192
+ });
193
+ process.env.NODE_ENV !== "production" && (Be.propTypes = {
194
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
195
+ // │ These PropTypes are generated from the TypeScript type definitions. │
196
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
197
+ // └─────────────────────────────────────────────────────────────────────┘
198
+ /**
199
+ * The content of the component.
200
+ */
201
+ children: e.node,
202
+ /**
203
+ * Override or extend the styles applied to the component.
204
+ */
205
+ classes: e.object,
206
+ /**
207
+ * @ignore
208
+ */
209
+ className: e.string,
210
+ /**
211
+ * The component used for the root node.
212
+ * Either a string to use a HTML element or a component.
213
+ */
214
+ component: e.elementType,
215
+ /**
216
+ * Shadow depth, corresponds to `dp` in the spec.
217
+ * It accepts values between 0 and 24 inclusive.
218
+ * @default 1
219
+ */
220
+ elevation: ie(Ae, (t) => {
221
+ const {
222
+ elevation: n,
223
+ variant: r
224
+ } = t;
225
+ return n > 0 && r === "outlined" ? new Error(`MUI: Combining \`elevation={${n}}\` with \`variant="${r}"\` has no effect. Either use \`elevation={0}\` or use a different \`variant\`.`) : null;
226
+ }),
227
+ /**
228
+ * If `true`, rounded corners are disabled.
229
+ * @default false
230
+ */
231
+ square: e.bool,
232
+ /**
233
+ * @ignore
234
+ */
235
+ style: e.object,
236
+ /**
237
+ * The system prop that allows defining system overrides as well as additional CSS styles.
238
+ */
239
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
240
+ /**
241
+ * The variant to use.
242
+ * @default 'elevation'
243
+ */
244
+ variant: e.oneOfType([e.oneOf(["elevation", "outlined"]), e.string])
245
+ });
246
+ function ht(t) {
247
+ return typeof t == "function" ? t() : t;
248
+ }
249
+ const oe = /* @__PURE__ */ d.forwardRef(function(n, r) {
250
+ const {
251
+ children: o,
252
+ container: s,
253
+ disablePortal: i = !1
254
+ } = n, [a, c] = d.useState(null), l = J(/* @__PURE__ */ d.isValidElement(o) ? fe(o) : null, r);
255
+ if (Re(() => {
256
+ i || c(ht(s) || document.body);
257
+ }, [s, i]), Re(() => {
258
+ if (a && !i)
259
+ return Ne(r, a), () => {
260
+ Ne(r, null);
261
+ };
262
+ }, [r, a, i]), i) {
263
+ if (/* @__PURE__ */ d.isValidElement(o)) {
264
+ const u = {
265
+ ref: l
266
+ };
267
+ return /* @__PURE__ */ d.cloneElement(o, u);
268
+ }
269
+ return o;
270
+ }
271
+ return a && /* @__PURE__ */ st.createPortal(o, a);
272
+ });
273
+ process.env.NODE_ENV !== "production" && (oe.propTypes = {
274
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
275
+ // │ These PropTypes are generated from the TypeScript type definitions. │
276
+ // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │
277
+ // └─────────────────────────────────────────────────────────────────────┘
278
+ /**
279
+ * The children to render into the `container`.
280
+ */
281
+ children: e.node,
282
+ /**
283
+ * An HTML element or function that returns one.
284
+ * The `container` will have the portal children appended to it.
285
+ *
286
+ * You can also provide a callback, which is called in a React layout effect.
287
+ * This lets you set the container from a ref, and also makes server-side rendering possible.
288
+ *
289
+ * By default, it uses the body of the top-level document object,
290
+ * so it's simply `document.body` most of the time.
291
+ */
292
+ container: e.oneOfType([ge, e.func]),
293
+ /**
294
+ * The `children` will be under the DOM hierarchy of the parent component.
295
+ * @default false
296
+ */
297
+ disablePortal: e.bool
298
+ });
299
+ process.env.NODE_ENV !== "production" && (oe.propTypes = Fe(oe.propTypes));
300
+ const mt = {
301
+ entering: {
302
+ opacity: 1
303
+ },
304
+ entered: {
305
+ opacity: 1
306
+ }
307
+ }, Le = /* @__PURE__ */ d.forwardRef(function(n, r) {
308
+ const o = de(), s = {
309
+ enter: o.transitions.duration.enteringScreen,
310
+ exit: o.transitions.duration.leavingScreen
311
+ }, {
312
+ addEndListener: i,
313
+ appear: a = !0,
314
+ children: c,
315
+ easing: l,
316
+ in: u,
317
+ onEnter: g,
318
+ onEntered: T,
319
+ onEntering: P,
320
+ onExit: v,
321
+ onExited: x,
322
+ onExiting: M,
323
+ style: w,
324
+ timeout: N = s,
325
+ // eslint-disable-next-line react/prop-types
326
+ TransitionComponent: O = De,
327
+ ...p
328
+ } = n, E = d.useRef(null), C = J(E, fe(c), r), S = (y) => (h) => {
329
+ if (y) {
330
+ const m = E.current;
331
+ h === void 0 ? y(m) : y(m, h);
332
+ }
333
+ }, b = S(P), D = S((y, h) => {
334
+ Ie(y);
335
+ const m = ne({
336
+ style: w,
337
+ timeout: N,
338
+ easing: l
339
+ }, {
340
+ mode: "enter"
341
+ });
342
+ y.style.webkitTransition = o.transitions.create("opacity", m), y.style.transition = o.transitions.create("opacity", m), g && g(y, h);
343
+ }), k = S(T), A = S(M), L = S((y) => {
344
+ const h = ne({
345
+ style: w,
346
+ timeout: N,
347
+ easing: l
348
+ }, {
349
+ mode: "exit"
350
+ });
351
+ y.style.webkitTransition = o.transitions.create("opacity", h), y.style.transition = o.transitions.create("opacity", h), v && v(y);
352
+ }), $ = S(x);
353
+ return /* @__PURE__ */ R(O, {
354
+ appear: a,
355
+ in: u,
356
+ nodeRef: E,
357
+ onEnter: D,
358
+ onEntered: k,
359
+ onEntering: b,
360
+ onExit: L,
361
+ onExited: $,
362
+ onExiting: A,
363
+ addEndListener: (y) => {
364
+ i && i(E.current, y);
365
+ },
366
+ timeout: N,
367
+ ...p,
368
+ children: (y, {
369
+ ownerState: h,
370
+ ...m
371
+ }) => /* @__PURE__ */ d.cloneElement(c, {
372
+ style: {
373
+ opacity: 0,
374
+ visibility: y === "exited" && !u ? "hidden" : void 0,
375
+ ...mt[y],
376
+ ...w,
377
+ ...c.props.style
378
+ },
379
+ ref: C,
380
+ ...m
381
+ })
382
+ });
383
+ });
384
+ process.env.NODE_ENV !== "production" && (Le.propTypes = {
385
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
386
+ // │ These PropTypes are generated from the TypeScript type definitions. │
387
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
388
+ // └─────────────────────────────────────────────────────────────────────┘
389
+ /**
390
+ * Add a custom transition end trigger. Called with the transitioning DOM
391
+ * node and a done callback. Allows for more fine grained transition end
392
+ * logic. Note: Timeouts are still used as a fallback if provided.
393
+ */
394
+ addEndListener: e.func,
395
+ /**
396
+ * Perform the enter transition when it first mounts if `in` is also `true`.
397
+ * Set this to `false` to disable this behavior.
398
+ * @default true
399
+ */
400
+ appear: e.bool,
401
+ /**
402
+ * A single child content element.
403
+ */
404
+ children: Q.isRequired,
405
+ /**
406
+ * The transition timing function.
407
+ * You may specify a single easing or a object containing enter and exit values.
408
+ */
409
+ easing: e.oneOfType([e.shape({
410
+ enter: e.string,
411
+ exit: e.string
412
+ }), e.string]),
413
+ /**
414
+ * If `true`, the component will transition in.
415
+ */
416
+ in: e.bool,
417
+ /**
418
+ * @ignore
419
+ */
420
+ onEnter: e.func,
421
+ /**
422
+ * @ignore
423
+ */
424
+ onEntered: e.func,
425
+ /**
426
+ * @ignore
427
+ */
428
+ onEntering: e.func,
429
+ /**
430
+ * @ignore
431
+ */
432
+ onExit: e.func,
433
+ /**
434
+ * @ignore
435
+ */
436
+ onExited: e.func,
437
+ /**
438
+ * @ignore
439
+ */
440
+ onExiting: e.func,
441
+ /**
442
+ * @ignore
443
+ */
444
+ style: e.object,
445
+ /**
446
+ * The duration for the transition, in milliseconds.
447
+ * You may specify a single timeout for all transitions, or individually with an object.
448
+ * @default {
449
+ * enter: theme.transitions.duration.enteringScreen,
450
+ * exit: theme.transitions.duration.leavingScreen,
451
+ * }
452
+ */
453
+ timeout: e.oneOfType([e.number, e.shape({
454
+ appear: e.number,
455
+ enter: e.number,
456
+ exit: e.number
457
+ })])
458
+ });
459
+ function bt(t) {
460
+ return ae("MuiBackdrop", t);
461
+ }
462
+ ce("MuiBackdrop", ["root", "invisible"]);
463
+ const yt = (t) => {
464
+ const {
465
+ classes: n,
466
+ invisible: r
467
+ } = t;
468
+ return ue({
469
+ root: ["root", r && "invisible"]
470
+ }, bt, n);
471
+ }, gt = K("div", {
472
+ name: "MuiBackdrop",
473
+ slot: "Root",
474
+ overridesResolver: (t, n) => {
475
+ const {
476
+ ownerState: r
477
+ } = t;
478
+ return [n.root, r.invisible && n.invisible];
479
+ }
480
+ })({
481
+ position: "fixed",
482
+ display: "flex",
483
+ alignItems: "center",
484
+ justifyContent: "center",
485
+ right: 0,
486
+ bottom: 0,
487
+ top: 0,
488
+ left: 0,
489
+ backgroundColor: "rgba(0, 0, 0, 0.5)",
490
+ WebkitTapHighlightColor: "transparent",
491
+ variants: [{
492
+ props: {
493
+ invisible: !0
494
+ },
495
+ style: {
496
+ backgroundColor: "transparent"
497
+ }
498
+ }]
499
+ }), ve = /* @__PURE__ */ d.forwardRef(function(n, r) {
500
+ const o = le({
501
+ props: n,
502
+ name: "MuiBackdrop"
503
+ }), {
504
+ children: s,
505
+ className: i,
506
+ component: a = "div",
507
+ invisible: c = !1,
508
+ open: l,
509
+ components: u = {},
510
+ componentsProps: g = {},
511
+ slotProps: T = {},
512
+ slots: P = {},
513
+ TransitionComponent: v,
514
+ transitionDuration: x,
515
+ ...M
516
+ } = o, w = {
517
+ ...o,
518
+ component: a,
519
+ invisible: c
520
+ }, N = yt(w), O = {
521
+ transition: v,
522
+ root: u.Root,
523
+ ...P
524
+ }, p = {
525
+ ...g,
526
+ ...T
527
+ }, E = {
528
+ slots: O,
529
+ slotProps: p
530
+ }, [C, S] = U("root", {
531
+ elementType: gt,
532
+ externalForwardedProps: E,
533
+ className: H(N.root, i),
534
+ ownerState: w
535
+ }), [b, D] = U("transition", {
536
+ elementType: Le,
537
+ externalForwardedProps: E,
538
+ ownerState: w
539
+ });
540
+ return /* @__PURE__ */ R(b, {
541
+ in: l,
542
+ timeout: x,
543
+ ...M,
544
+ ...D,
545
+ children: /* @__PURE__ */ R(C, {
546
+ "aria-hidden": !0,
547
+ ...S,
548
+ classes: N,
549
+ ref: r,
550
+ children: s
551
+ })
552
+ });
553
+ });
554
+ process.env.NODE_ENV !== "production" && (ve.propTypes = {
555
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
556
+ // │ These PropTypes are generated from the TypeScript type definitions. │
557
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
558
+ // └─────────────────────────────────────────────────────────────────────┘
559
+ /**
560
+ * The content of the component.
561
+ */
562
+ children: e.node,
563
+ /**
564
+ * Override or extend the styles applied to the component.
565
+ */
566
+ classes: e.object,
567
+ /**
568
+ * @ignore
569
+ */
570
+ className: e.string,
571
+ /**
572
+ * The component used for the root node.
573
+ * Either a string to use a HTML element or a component.
574
+ */
575
+ component: e.elementType,
576
+ /**
577
+ * The components used for each slot inside.
578
+ *
579
+ * @deprecated Use the `slots` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
580
+ *
581
+ * @default {}
582
+ */
583
+ components: e.shape({
584
+ Root: e.elementType
585
+ }),
586
+ /**
587
+ * The extra props for the slot components.
588
+ * You can override the existing props or add new ones.
589
+ *
590
+ * @deprecated Use the `slotProps` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
591
+ *
592
+ * @default {}
593
+ */
594
+ componentsProps: e.shape({
595
+ root: e.object
596
+ }),
597
+ /**
598
+ * If `true`, the backdrop is invisible.
599
+ * It can be used when rendering a popover or a custom select component.
600
+ * @default false
601
+ */
602
+ invisible: e.bool,
603
+ /**
604
+ * If `true`, the component is shown.
605
+ */
606
+ open: e.bool.isRequired,
607
+ /**
608
+ * The props used for each slot inside.
609
+ * @default {}
610
+ */
611
+ slotProps: e.shape({
612
+ root: e.oneOfType([e.func, e.object]),
613
+ transition: e.oneOfType([e.func, e.object])
614
+ }),
615
+ /**
616
+ * The components used for each slot inside.
617
+ * @default {}
618
+ */
619
+ slots: e.shape({
620
+ root: e.elementType,
621
+ transition: e.elementType
622
+ }),
623
+ /**
624
+ * The system prop that allows defining system overrides as well as additional CSS styles.
625
+ */
626
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
627
+ /**
628
+ * The component used for the transition.
629
+ * [Follow this guide](https://mui.com/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
630
+ * @default Fade
631
+ * @deprecated Use `slots.transition` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
632
+ */
633
+ TransitionComponent: e.elementType,
634
+ /**
635
+ * The duration for the transition, in milliseconds.
636
+ * You may specify a single timeout for all transitions, or individually with an object.
637
+ */
638
+ transitionDuration: e.oneOfType([e.number, e.shape({
639
+ appear: e.number,
640
+ enter: e.number,
641
+ exit: e.number
642
+ })])
643
+ });
644
+ function vt(t) {
645
+ const n = W(t);
646
+ return n.body === t ? Y(t).innerWidth > n.documentElement.clientWidth : t.scrollHeight > t.clientHeight;
647
+ }
648
+ function G(t, n) {
649
+ n ? t.setAttribute("aria-hidden", "true") : t.removeAttribute("aria-hidden");
650
+ }
651
+ function Ce(t) {
652
+ return parseInt(Y(t).getComputedStyle(t).paddingRight, 10) || 0;
653
+ }
654
+ function Et(t) {
655
+ const r = ["TEMPLATE", "SCRIPT", "STYLE", "LINK", "MAP", "META", "NOSCRIPT", "PICTURE", "COL", "COLGROUP", "PARAM", "SLOT", "SOURCE", "TRACK"].includes(t.tagName), o = t.tagName === "INPUT" && t.getAttribute("type") === "hidden";
656
+ return r || o;
657
+ }
658
+ function Oe(t, n, r, o, s) {
659
+ const i = [n, r, ...o];
660
+ [].forEach.call(t.children, (a) => {
661
+ const c = !i.includes(a), l = !Et(a);
662
+ c && l && G(a, s);
663
+ });
664
+ }
665
+ function me(t, n) {
666
+ let r = -1;
667
+ return t.some((o, s) => n(o) ? (r = s, !0) : !1), r;
668
+ }
669
+ function Tt(t, n) {
670
+ const r = [], o = t.container;
671
+ if (!n.disableScrollLock) {
672
+ if (vt(o)) {
673
+ const a = lt(Y(o));
674
+ r.push({
675
+ value: o.style.paddingRight,
676
+ property: "padding-right",
677
+ el: o
678
+ }), o.style.paddingRight = `${Ce(o) + a}px`;
679
+ const c = W(o).querySelectorAll(".mui-fixed");
680
+ [].forEach.call(c, (l) => {
681
+ r.push({
682
+ value: l.style.paddingRight,
683
+ property: "padding-right",
684
+ el: l
685
+ }), l.style.paddingRight = `${Ce(l) + a}px`;
686
+ });
687
+ }
688
+ let i;
689
+ if (o.parentNode instanceof DocumentFragment)
690
+ i = W(o).body;
691
+ else {
692
+ const a = o.parentElement, c = Y(o);
693
+ i = (a == null ? void 0 : a.nodeName) === "HTML" && c.getComputedStyle(a).overflowY === "scroll" ? a : o;
694
+ }
695
+ r.push({
696
+ value: i.style.overflow,
697
+ property: "overflow",
698
+ el: i
699
+ }, {
700
+ value: i.style.overflowX,
701
+ property: "overflow-x",
702
+ el: i
703
+ }, {
704
+ value: i.style.overflowY,
705
+ property: "overflow-y",
706
+ el: i
707
+ }), i.style.overflow = "hidden";
708
+ }
709
+ return () => {
710
+ r.forEach(({
711
+ value: i,
712
+ el: a,
713
+ property: c
714
+ }) => {
715
+ i ? a.style.setProperty(c, i) : a.style.removeProperty(c);
716
+ });
717
+ };
718
+ }
719
+ function xt(t) {
720
+ const n = [];
721
+ return [].forEach.call(t.children, (r) => {
722
+ r.getAttribute("aria-hidden") === "true" && n.push(r);
723
+ }), n;
724
+ }
725
+ class Pt {
726
+ constructor() {
727
+ this.modals = [], this.containers = [];
728
+ }
729
+ add(n, r) {
730
+ let o = this.modals.indexOf(n);
731
+ if (o !== -1)
732
+ return o;
733
+ o = this.modals.length, this.modals.push(n), n.modalRef && G(n.modalRef, !1);
734
+ const s = xt(r);
735
+ Oe(r, n.mount, n.modalRef, s, !0);
736
+ const i = me(this.containers, (a) => a.container === r);
737
+ return i !== -1 ? (this.containers[i].modals.push(n), o) : (this.containers.push({
738
+ modals: [n],
739
+ container: r,
740
+ restore: null,
741
+ hiddenSiblings: s
742
+ }), o);
743
+ }
744
+ mount(n, r) {
745
+ const o = me(this.containers, (i) => i.modals.includes(n)), s = this.containers[o];
746
+ s.restore || (s.restore = Tt(s, r));
747
+ }
748
+ remove(n, r = !0) {
749
+ const o = this.modals.indexOf(n);
750
+ if (o === -1)
751
+ return o;
752
+ const s = me(this.containers, (a) => a.modals.includes(n)), i = this.containers[s];
753
+ if (i.modals.splice(i.modals.indexOf(n), 1), this.modals.splice(o, 1), i.modals.length === 0)
754
+ i.restore && i.restore(), n.modalRef && G(n.modalRef, r), Oe(i.container, n.mount, n.modalRef, i.hiddenSiblings, !1), this.containers.splice(s, 1);
755
+ else {
756
+ const a = i.modals[i.modals.length - 1];
757
+ a.modalRef && G(a.modalRef, !1);
758
+ }
759
+ return o;
760
+ }
761
+ isTopModal(n) {
762
+ return this.modals.length > 0 && this.modals[this.modals.length - 1] === n;
763
+ }
764
+ }
765
+ const Rt = ["input", "select", "textarea", "a[href]", "button", "[tabindex]", "audio[controls]", "video[controls]", '[contenteditable]:not([contenteditable="false"])'].join(",");
766
+ function wt(t) {
767
+ const n = parseInt(t.getAttribute("tabindex") || "", 10);
768
+ return Number.isNaN(n) ? t.contentEditable === "true" || (t.nodeName === "AUDIO" || t.nodeName === "VIDEO" || t.nodeName === "DETAILS") && t.getAttribute("tabindex") === null ? 0 : t.tabIndex : n;
769
+ }
770
+ function kt(t) {
771
+ if (t.tagName !== "INPUT" || t.type !== "radio" || !t.name)
772
+ return !1;
773
+ const n = (o) => t.ownerDocument.querySelector(`input[type="radio"]${o}`);
774
+ let r = n(`[name="${t.name}"]:checked`);
775
+ return r || (r = n(`[name="${t.name}"]`)), r !== t;
776
+ }
777
+ function Nt(t) {
778
+ return !(t.disabled || t.tagName === "INPUT" && t.type === "hidden" || kt(t));
779
+ }
780
+ function Ct(t) {
781
+ const n = [], r = [];
782
+ return Array.from(t.querySelectorAll(Rt)).forEach((o, s) => {
783
+ const i = wt(o);
784
+ i === -1 || !Nt(o) || (i === 0 ? n.push(o) : r.push({
785
+ documentOrder: s,
786
+ tabIndex: i,
787
+ node: o
788
+ }));
789
+ }), r.sort((o, s) => o.tabIndex === s.tabIndex ? o.documentOrder - s.documentOrder : o.tabIndex - s.tabIndex).map((o) => o.node).concat(n);
790
+ }
791
+ function Ot() {
792
+ return !0;
793
+ }
794
+ function re(t) {
795
+ const {
796
+ children: n,
797
+ disableAutoFocus: r = !1,
798
+ disableEnforceFocus: o = !1,
799
+ disableRestoreFocus: s = !1,
800
+ getTabbable: i = Ct,
801
+ isEnabled: a = Ot,
802
+ open: c
803
+ } = t, l = d.useRef(!1), u = d.useRef(null), g = d.useRef(null), T = d.useRef(null), P = d.useRef(null), v = d.useRef(!1), x = d.useRef(null), M = J(fe(n), x), w = d.useRef(null);
804
+ d.useEffect(() => {
805
+ !c || !x.current || (v.current = !r);
806
+ }, [r, c]), d.useEffect(() => {
807
+ if (!c || !x.current)
808
+ return;
809
+ const p = W(x.current);
810
+ return x.current.contains(p.activeElement) || (x.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(`
811
+ `)), x.current.setAttribute("tabIndex", "-1")), v.current && x.current.focus()), () => {
812
+ s || (T.current && T.current.focus && (l.current = !0, T.current.focus()), T.current = null);
813
+ };
814
+ }, [c]), d.useEffect(() => {
815
+ if (!c || !x.current)
816
+ return;
817
+ const p = W(x.current), E = (b) => {
818
+ w.current = b, !(o || !a() || b.key !== "Tab") && p.activeElement === x.current && b.shiftKey && (l.current = !0, g.current && g.current.focus());
819
+ }, C = () => {
820
+ var k, A;
821
+ const b = x.current;
822
+ if (b === null)
823
+ return;
824
+ if (!p.hasFocus() || !a() || l.current) {
825
+ l.current = !1;
826
+ return;
827
+ }
828
+ if (b.contains(p.activeElement) || o && p.activeElement !== u.current && p.activeElement !== g.current)
829
+ return;
830
+ if (p.activeElement !== P.current)
831
+ P.current = null;
832
+ else if (P.current !== null)
833
+ return;
834
+ if (!v.current)
835
+ return;
836
+ let D = [];
837
+ if ((p.activeElement === u.current || p.activeElement === g.current) && (D = i(x.current)), D.length > 0) {
838
+ const L = !!((k = w.current) != null && k.shiftKey && ((A = w.current) == null ? void 0 : A.key) === "Tab"), $ = D[0], j = D[D.length - 1];
839
+ typeof $ != "string" && typeof j != "string" && (L ? j.focus() : $.focus());
840
+ } else
841
+ b.focus();
842
+ };
843
+ p.addEventListener("focusin", C), p.addEventListener("keydown", E, !0);
844
+ const S = setInterval(() => {
845
+ p.activeElement && p.activeElement.tagName === "BODY" && C();
846
+ }, 50);
847
+ return () => {
848
+ clearInterval(S), p.removeEventListener("focusin", C), p.removeEventListener("keydown", E, !0);
849
+ };
850
+ }, [r, o, s, a, c, i]);
851
+ const N = (p) => {
852
+ T.current === null && (T.current = p.relatedTarget), v.current = !0, P.current = p.target;
853
+ const E = n.props.onFocus;
854
+ E && E(p);
855
+ }, O = (p) => {
856
+ T.current === null && (T.current = p.relatedTarget), v.current = !0;
857
+ };
858
+ return /* @__PURE__ */ se(d.Fragment, {
859
+ children: [/* @__PURE__ */ R("div", {
860
+ tabIndex: c ? 0 : -1,
861
+ onFocus: O,
862
+ ref: u,
863
+ "data-testid": "sentinelStart"
864
+ }), /* @__PURE__ */ d.cloneElement(n, {
865
+ ref: M,
866
+ onFocus: N
867
+ }), /* @__PURE__ */ R("div", {
868
+ tabIndex: c ? 0 : -1,
869
+ onFocus: O,
870
+ ref: g,
871
+ "data-testid": "sentinelEnd"
872
+ })]
873
+ });
874
+ }
875
+ process.env.NODE_ENV !== "production" && (re.propTypes = {
876
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
877
+ // │ These PropTypes are generated from the TypeScript type definitions. │
878
+ // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │
879
+ // └─────────────────────────────────────────────────────────────────────┘
880
+ /**
881
+ * A single child content element.
882
+ */
883
+ children: Q,
884
+ /**
885
+ * If `true`, the focus trap will not automatically shift focus to itself when it opens, and
886
+ * replace it to the last focused element when it closes.
887
+ * This also works correctly with any focus trap children that have the `disableAutoFocus` prop.
888
+ *
889
+ * Generally this should never be set to `true` as it makes the focus trap less
890
+ * accessible to assistive technologies, like screen readers.
891
+ * @default false
892
+ */
893
+ disableAutoFocus: e.bool,
894
+ /**
895
+ * If `true`, the focus trap will not prevent focus from leaving the focus trap while open.
896
+ *
897
+ * Generally this should never be set to `true` as it makes the focus trap less
898
+ * accessible to assistive technologies, like screen readers.
899
+ * @default false
900
+ */
901
+ disableEnforceFocus: e.bool,
902
+ /**
903
+ * If `true`, the focus trap will not restore focus to previously focused element once
904
+ * focus trap is hidden or unmounted.
905
+ * @default false
906
+ */
907
+ disableRestoreFocus: e.bool,
908
+ /**
909
+ * Returns an array of ordered tabbable nodes (i.e. in tab order) within the root.
910
+ * For instance, you can provide the "tabbable" npm dependency.
911
+ * @param {HTMLElement} root
912
+ */
913
+ getTabbable: e.func,
914
+ /**
915
+ * This prop extends the `open` prop.
916
+ * It allows to toggle the open state without having to wait for a rerender when changing the `open` prop.
917
+ * This prop should be memoized.
918
+ * It can be used to support multiple focus trap mounted at the same time.
919
+ * @default function defaultIsEnabled(): boolean {
920
+ * return true;
921
+ * }
922
+ */
923
+ isEnabled: e.func,
924
+ /**
925
+ * If `true`, focus is locked.
926
+ */
927
+ open: e.bool.isRequired
928
+ });
929
+ process.env.NODE_ENV !== "production" && (re.propTypes = Fe(re.propTypes));
930
+ function St(t) {
931
+ return typeof t == "function" ? t() : t;
932
+ }
933
+ function Dt(t) {
934
+ return t ? t.props.hasOwnProperty("in") : !1;
935
+ }
936
+ const Se = () => {
937
+ }, ee = new Pt();
938
+ function It(t) {
939
+ const {
940
+ container: n,
941
+ disableEscapeKeyDown: r = !1,
942
+ disableScrollLock: o = !1,
943
+ closeAfterTransition: s = !1,
944
+ onTransitionEnter: i,
945
+ onTransitionExited: a,
946
+ children: c,
947
+ onClose: l,
948
+ open: u,
949
+ rootRef: g
950
+ } = t, T = d.useRef({}), P = d.useRef(null), v = d.useRef(null), x = J(v, g), [M, w] = d.useState(!u), N = Dt(c);
951
+ let O = !0;
952
+ (t["aria-hidden"] === "false" || t["aria-hidden"] === !1) && (O = !1);
953
+ const p = () => W(P.current), E = () => (T.current.modalRef = v.current, T.current.mount = P.current, T.current), C = () => {
954
+ ee.mount(E(), {
955
+ disableScrollLock: o
956
+ }), v.current && (v.current.scrollTop = 0);
957
+ }, S = we(() => {
958
+ const h = St(n) || p().body;
959
+ ee.add(E(), h), v.current && C();
960
+ }), b = () => ee.isTopModal(E()), D = we((h) => {
961
+ P.current = h, h && (u && b() ? C() : v.current && G(v.current, O));
962
+ }), k = d.useCallback(() => {
963
+ ee.remove(E(), O);
964
+ }, [O]);
965
+ d.useEffect(() => () => {
966
+ k();
967
+ }, [k]), d.useEffect(() => {
968
+ u ? S() : (!N || !s) && k();
969
+ }, [u, k, N, s, S]);
970
+ const A = (h) => (m) => {
971
+ var F;
972
+ (F = h.onKeyDown) == null || F.call(h, m), !(m.key !== "Escape" || m.which === 229 || // Wait until IME is settled.
973
+ !b()) && (r || (m.stopPropagation(), l && l(m, "escapeKeyDown")));
974
+ }, L = (h) => (m) => {
975
+ var F;
976
+ (F = h.onClick) == null || F.call(h, m), m.target === m.currentTarget && l && l(m, "backdropClick");
977
+ };
978
+ return {
979
+ getRootProps: (h = {}) => {
980
+ const m = Ge(t);
981
+ delete m.onTransitionEnter, delete m.onTransitionExited;
982
+ const F = {
983
+ ...m,
984
+ ...h
985
+ };
986
+ return {
987
+ /*
988
+ * Marking an element with the role presentation indicates to assistive technology
989
+ * that this element should be ignored; it exists to support the web application and
990
+ * is not meant for humans to interact with directly.
991
+ * https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/no-static-element-interactions.md
992
+ */
993
+ role: "presentation",
994
+ ...F,
995
+ onKeyDown: A(F),
996
+ ref: x
997
+ };
998
+ },
999
+ getBackdropProps: (h = {}) => {
1000
+ const m = h;
1001
+ return {
1002
+ "aria-hidden": !0,
1003
+ ...m,
1004
+ onClick: L(m),
1005
+ open: u
1006
+ };
1007
+ },
1008
+ getTransitionProps: () => {
1009
+ const h = () => {
1010
+ w(!1), i && i();
1011
+ }, m = () => {
1012
+ w(!0), a && a(), s && k();
1013
+ };
1014
+ return {
1015
+ onEnter: ke(h, (c == null ? void 0 : c.props.onEnter) ?? Se),
1016
+ onExited: ke(m, (c == null ? void 0 : c.props.onExited) ?? Se)
1017
+ };
1018
+ },
1019
+ rootRef: x,
1020
+ portalRef: D,
1021
+ isTopModal: b,
1022
+ exited: M,
1023
+ hasTransition: N
1024
+ };
1025
+ }
1026
+ function Mt(t) {
1027
+ return ae("MuiModal", t);
1028
+ }
1029
+ ce("MuiModal", ["root", "hidden", "backdrop"]);
1030
+ const Ft = (t) => {
1031
+ const {
1032
+ open: n,
1033
+ exited: r,
1034
+ classes: o
1035
+ } = t;
1036
+ return ue({
1037
+ root: ["root", !n && r && "hidden"],
1038
+ backdrop: ["backdrop"]
1039
+ }, Mt, o);
1040
+ }, $t = K("div", {
1041
+ name: "MuiModal",
1042
+ slot: "Root",
1043
+ overridesResolver: (t, n) => {
1044
+ const {
1045
+ ownerState: r
1046
+ } = t;
1047
+ return [n.root, !r.open && r.exited && n.hidden];
1048
+ }
1049
+ })(pe(({
1050
+ theme: t
1051
+ }) => ({
1052
+ position: "fixed",
1053
+ zIndex: (t.vars || t).zIndex.modal,
1054
+ right: 0,
1055
+ bottom: 0,
1056
+ top: 0,
1057
+ left: 0,
1058
+ variants: [{
1059
+ props: ({
1060
+ ownerState: n
1061
+ }) => !n.open && n.exited,
1062
+ style: {
1063
+ visibility: "hidden"
1064
+ }
1065
+ }]
1066
+ }))), jt = K(ve, {
1067
+ name: "MuiModal",
1068
+ slot: "Backdrop",
1069
+ overridesResolver: (t, n) => n.backdrop
1070
+ })({
1071
+ zIndex: -1
1072
+ }), Ve = /* @__PURE__ */ d.forwardRef(function(n, r) {
1073
+ const o = le({
1074
+ name: "MuiModal",
1075
+ props: n
1076
+ }), {
1077
+ BackdropComponent: s = jt,
1078
+ BackdropProps: i,
1079
+ classes: a,
1080
+ className: c,
1081
+ closeAfterTransition: l = !1,
1082
+ children: u,
1083
+ container: g,
1084
+ component: T,
1085
+ components: P = {},
1086
+ componentsProps: v = {},
1087
+ disableAutoFocus: x = !1,
1088
+ disableEnforceFocus: M = !1,
1089
+ disableEscapeKeyDown: w = !1,
1090
+ disablePortal: N = !1,
1091
+ disableRestoreFocus: O = !1,
1092
+ disableScrollLock: p = !1,
1093
+ hideBackdrop: E = !1,
1094
+ keepMounted: C = !1,
1095
+ onClose: S,
1096
+ onTransitionEnter: b,
1097
+ onTransitionExited: D,
1098
+ open: k,
1099
+ slotProps: A = {},
1100
+ slots: L = {},
1101
+ // eslint-disable-next-line react/prop-types
1102
+ theme: $,
1103
+ ...j
1104
+ } = o, y = {
1105
+ ...o,
1106
+ closeAfterTransition: l,
1107
+ disableAutoFocus: x,
1108
+ disableEnforceFocus: M,
1109
+ disableEscapeKeyDown: w,
1110
+ disablePortal: N,
1111
+ disableRestoreFocus: O,
1112
+ disableScrollLock: p,
1113
+ hideBackdrop: E,
1114
+ keepMounted: C
1115
+ }, {
1116
+ getRootProps: h,
1117
+ getBackdropProps: m,
1118
+ getTransitionProps: F,
1119
+ portalRef: f,
1120
+ isTopModal: I,
1121
+ exited: V,
1122
+ hasTransition: Z
1123
+ } = It({
1124
+ ...y,
1125
+ rootRef: r
1126
+ }), q = {
1127
+ ...y,
1128
+ exited: V
1129
+ }, B = Ft(q), z = {};
1130
+ if (u.props.tabIndex === void 0 && (z.tabIndex = "-1"), Z) {
1131
+ const {
1132
+ onEnter: _,
1133
+ onExited: he
1134
+ } = F();
1135
+ z.onEnter = _, z.onExited = he;
1136
+ }
1137
+ const Te = {
1138
+ slots: {
1139
+ root: P.Root,
1140
+ backdrop: P.Backdrop,
1141
+ ...L
1142
+ },
1143
+ slotProps: {
1144
+ ...v,
1145
+ ...A
1146
+ }
1147
+ }, [We, Ke] = U("root", {
1148
+ ref: r,
1149
+ elementType: $t,
1150
+ externalForwardedProps: {
1151
+ ...Te,
1152
+ ...j,
1153
+ component: T
1154
+ },
1155
+ getSlotProps: h,
1156
+ ownerState: q,
1157
+ className: H(c, B == null ? void 0 : B.root, !q.open && q.exited && (B == null ? void 0 : B.hidden))
1158
+ }), [Ye, Xe] = U("backdrop", {
1159
+ ref: i == null ? void 0 : i.ref,
1160
+ elementType: s,
1161
+ externalForwardedProps: Te,
1162
+ shouldForwardComponentProp: !0,
1163
+ additionalProps: i,
1164
+ getSlotProps: (_) => m({
1165
+ ..._,
1166
+ onClick: (he) => {
1167
+ _ != null && _.onClick && _.onClick(he);
1168
+ }
1169
+ }),
1170
+ className: H(i == null ? void 0 : i.className, B == null ? void 0 : B.backdrop),
1171
+ ownerState: q
1172
+ });
1173
+ return !C && !k && (!Z || V) ? null : /* @__PURE__ */ R(oe, {
1174
+ ref: f,
1175
+ container: g,
1176
+ disablePortal: N,
1177
+ children: /* @__PURE__ */ se(We, {
1178
+ ...Ke,
1179
+ children: [!E && s ? /* @__PURE__ */ R(Ye, {
1180
+ ...Xe
1181
+ }) : null, /* @__PURE__ */ R(re, {
1182
+ disableEnforceFocus: M,
1183
+ disableAutoFocus: x,
1184
+ disableRestoreFocus: O,
1185
+ isEnabled: I,
1186
+ open: k,
1187
+ children: /* @__PURE__ */ d.cloneElement(u, z)
1188
+ })]
1189
+ })
1190
+ });
1191
+ });
1192
+ process.env.NODE_ENV !== "production" && (Ve.propTypes = {
1193
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
1194
+ // │ These PropTypes are generated from the TypeScript type definitions. │
1195
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
1196
+ // └─────────────────────────────────────────────────────────────────────┘
1197
+ /**
1198
+ * A backdrop component. This prop enables custom backdrop rendering.
1199
+ * @deprecated Use `slots.backdrop` instead. While this prop currently works, it will be removed in the next major version.
1200
+ * Use the `slots.backdrop` prop to make your application ready for the next version of Material UI.
1201
+ * @default styled(Backdrop, {
1202
+ * name: 'MuiModal',
1203
+ * slot: 'Backdrop',
1204
+ * overridesResolver: (props, styles) => {
1205
+ * return styles.backdrop;
1206
+ * },
1207
+ * })({
1208
+ * zIndex: -1,
1209
+ * })
1210
+ */
1211
+ BackdropComponent: e.elementType,
1212
+ /**
1213
+ * Props applied to the [`Backdrop`](https://mui.com/material-ui/api/backdrop/) element.
1214
+ * @deprecated Use `slotProps.backdrop` instead.
1215
+ */
1216
+ BackdropProps: e.object,
1217
+ /**
1218
+ * A single child content element.
1219
+ */
1220
+ children: Q.isRequired,
1221
+ /**
1222
+ * Override or extend the styles applied to the component.
1223
+ */
1224
+ classes: e.object,
1225
+ /**
1226
+ * @ignore
1227
+ */
1228
+ className: e.string,
1229
+ /**
1230
+ * When set to true the Modal waits until a nested Transition is completed before closing.
1231
+ * @default false
1232
+ */
1233
+ closeAfterTransition: e.bool,
1234
+ /**
1235
+ * The component used for the root node.
1236
+ * Either a string to use a HTML element or a component.
1237
+ */
1238
+ component: e.elementType,
1239
+ /**
1240
+ * The components used for each slot inside.
1241
+ *
1242
+ * @deprecated Use the `slots` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
1243
+ *
1244
+ * @default {}
1245
+ */
1246
+ components: e.shape({
1247
+ Backdrop: e.elementType,
1248
+ Root: e.elementType
1249
+ }),
1250
+ /**
1251
+ * The extra props for the slot components.
1252
+ * You can override the existing props or add new ones.
1253
+ *
1254
+ * @deprecated Use the `slotProps` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
1255
+ *
1256
+ * @default {}
1257
+ */
1258
+ componentsProps: e.shape({
1259
+ backdrop: e.oneOfType([e.func, e.object]),
1260
+ root: e.oneOfType([e.func, e.object])
1261
+ }),
1262
+ /**
1263
+ * An HTML element or function that returns one.
1264
+ * The `container` will have the portal children appended to it.
1265
+ *
1266
+ * You can also provide a callback, which is called in a React layout effect.
1267
+ * This lets you set the container from a ref, and also makes server-side rendering possible.
1268
+ *
1269
+ * By default, it uses the body of the top-level document object,
1270
+ * so it's simply `document.body` most of the time.
1271
+ */
1272
+ container: e.oneOfType([ge, e.func]),
1273
+ /**
1274
+ * If `true`, the modal will not automatically shift focus to itself when it opens, and
1275
+ * replace it to the last focused element when it closes.
1276
+ * This also works correctly with any modal children that have the `disableAutoFocus` prop.
1277
+ *
1278
+ * Generally this should never be set to `true` as it makes the modal less
1279
+ * accessible to assistive technologies, like screen readers.
1280
+ * @default false
1281
+ */
1282
+ disableAutoFocus: e.bool,
1283
+ /**
1284
+ * If `true`, the modal will not prevent focus from leaving the modal while open.
1285
+ *
1286
+ * Generally this should never be set to `true` as it makes the modal less
1287
+ * accessible to assistive technologies, like screen readers.
1288
+ * @default false
1289
+ */
1290
+ disableEnforceFocus: e.bool,
1291
+ /**
1292
+ * If `true`, hitting escape will not fire the `onClose` callback.
1293
+ * @default false
1294
+ */
1295
+ disableEscapeKeyDown: e.bool,
1296
+ /**
1297
+ * The `children` will be under the DOM hierarchy of the parent component.
1298
+ * @default false
1299
+ */
1300
+ disablePortal: e.bool,
1301
+ /**
1302
+ * If `true`, the modal will not restore focus to previously focused element once
1303
+ * modal is hidden or unmounted.
1304
+ * @default false
1305
+ */
1306
+ disableRestoreFocus: e.bool,
1307
+ /**
1308
+ * Disable the scroll lock behavior.
1309
+ * @default false
1310
+ */
1311
+ disableScrollLock: e.bool,
1312
+ /**
1313
+ * If `true`, the backdrop is not rendered.
1314
+ * @default false
1315
+ */
1316
+ hideBackdrop: e.bool,
1317
+ /**
1318
+ * Always keep the children in the DOM.
1319
+ * This prop can be useful in SEO situation or
1320
+ * when you want to maximize the responsiveness of the Modal.
1321
+ * @default false
1322
+ */
1323
+ keepMounted: e.bool,
1324
+ /**
1325
+ * Callback fired when the component requests to be closed.
1326
+ * The `reason` parameter can optionally be used to control the response to `onClose`.
1327
+ *
1328
+ * @param {object} event The event source of the callback.
1329
+ * @param {string} reason Can be: `"escapeKeyDown"`, `"backdropClick"`.
1330
+ */
1331
+ onClose: e.func,
1332
+ /**
1333
+ * A function called when a transition enters.
1334
+ */
1335
+ onTransitionEnter: e.func,
1336
+ /**
1337
+ * A function called when a transition has exited.
1338
+ */
1339
+ onTransitionExited: e.func,
1340
+ /**
1341
+ * If `true`, the component is shown.
1342
+ */
1343
+ open: e.bool.isRequired,
1344
+ /**
1345
+ * The props used for each slot inside the Modal.
1346
+ * @default {}
1347
+ */
1348
+ slotProps: e.shape({
1349
+ backdrop: e.oneOfType([e.func, e.object]),
1350
+ root: e.oneOfType([e.func, e.object])
1351
+ }),
1352
+ /**
1353
+ * The components used for each slot inside the Modal.
1354
+ * Either a string to use a HTML element or a component.
1355
+ * @default {}
1356
+ */
1357
+ slots: e.shape({
1358
+ backdrop: e.elementType,
1359
+ root: e.elementType
1360
+ }),
1361
+ /**
1362
+ * The system prop that allows defining system overrides as well as additional CSS styles.
1363
+ */
1364
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object])
1365
+ });
1366
+ function At(t, n, r) {
1367
+ const o = n.getBoundingClientRect(), s = r && r.getBoundingClientRect(), i = Y(n);
1368
+ let a;
1369
+ if (n.fakeTransform)
1370
+ a = n.fakeTransform;
1371
+ else {
1372
+ const u = i.getComputedStyle(n);
1373
+ a = u.getPropertyValue("-webkit-transform") || u.getPropertyValue("transform");
1374
+ }
1375
+ let c = 0, l = 0;
1376
+ if (a && a !== "none" && typeof a == "string") {
1377
+ const u = a.split("(")[1].split(")")[0].split(",");
1378
+ c = parseInt(u[4], 10), l = parseInt(u[5], 10);
1379
+ }
1380
+ return t === "left" ? s ? `translateX(${s.right + c - o.left}px)` : `translateX(${i.innerWidth + c - o.left}px)` : t === "right" ? s ? `translateX(-${o.right - s.left - c}px)` : `translateX(-${o.left + o.width - c}px)` : t === "up" ? s ? `translateY(${s.bottom + l - o.top}px)` : `translateY(${i.innerHeight + l - o.top}px)` : s ? `translateY(-${o.top - s.top + o.height - l}px)` : `translateY(-${o.top + o.height - l}px)`;
1381
+ }
1382
+ function Ue(t) {
1383
+ return typeof t == "function" ? t() : t;
1384
+ }
1385
+ function te(t, n, r) {
1386
+ const o = Ue(r), s = At(t, n, o);
1387
+ s && (n.style.webkitTransform = s, n.style.transform = s);
1388
+ }
1389
+ const qe = /* @__PURE__ */ d.forwardRef(function(n, r) {
1390
+ const o = de(), s = {
1391
+ enter: o.transitions.easing.easeOut,
1392
+ exit: o.transitions.easing.sharp
1393
+ }, i = {
1394
+ enter: o.transitions.duration.enteringScreen,
1395
+ exit: o.transitions.duration.leavingScreen
1396
+ }, {
1397
+ addEndListener: a,
1398
+ appear: c = !0,
1399
+ children: l,
1400
+ container: u,
1401
+ direction: g = "down",
1402
+ easing: T = s,
1403
+ in: P,
1404
+ onEnter: v,
1405
+ onEntered: x,
1406
+ onEntering: M,
1407
+ onExit: w,
1408
+ onExited: N,
1409
+ onExiting: O,
1410
+ style: p,
1411
+ timeout: E = i,
1412
+ // eslint-disable-next-line react/prop-types
1413
+ TransitionComponent: C = De,
1414
+ ...S
1415
+ } = n, b = d.useRef(null), D = J(fe(l), b, r), k = (f) => (I) => {
1416
+ f && (I === void 0 ? f(b.current) : f(b.current, I));
1417
+ }, A = k((f, I) => {
1418
+ te(g, f, u), Ie(f), v && v(f, I);
1419
+ }), L = k((f, I) => {
1420
+ const V = ne({
1421
+ timeout: E,
1422
+ style: p,
1423
+ easing: T
1424
+ }, {
1425
+ mode: "enter"
1426
+ });
1427
+ f.style.webkitTransition = o.transitions.create("-webkit-transform", {
1428
+ ...V
1429
+ }), f.style.transition = o.transitions.create("transform", {
1430
+ ...V
1431
+ }), f.style.webkitTransform = "none", f.style.transform = "none", M && M(f, I);
1432
+ }), $ = k(x), j = k(O), y = k((f) => {
1433
+ const I = ne({
1434
+ timeout: E,
1435
+ style: p,
1436
+ easing: T
1437
+ }, {
1438
+ mode: "exit"
1439
+ });
1440
+ f.style.webkitTransition = o.transitions.create("-webkit-transform", I), f.style.transition = o.transitions.create("transform", I), te(g, f, u), w && w(f);
1441
+ }), h = k((f) => {
1442
+ f.style.webkitTransition = "", f.style.transition = "", N && N(f);
1443
+ }), m = (f) => {
1444
+ a && a(b.current, f);
1445
+ }, F = d.useCallback(() => {
1446
+ b.current && te(g, b.current, u);
1447
+ }, [g, u]);
1448
+ return d.useEffect(() => {
1449
+ if (P || g === "down" || g === "right")
1450
+ return;
1451
+ const f = ct(() => {
1452
+ b.current && te(g, b.current, u);
1453
+ }), I = Y(b.current);
1454
+ return I.addEventListener("resize", f), () => {
1455
+ f.clear(), I.removeEventListener("resize", f);
1456
+ };
1457
+ }, [g, P, u]), d.useEffect(() => {
1458
+ P || F();
1459
+ }, [P, F]), /* @__PURE__ */ R(C, {
1460
+ nodeRef: b,
1461
+ onEnter: A,
1462
+ onEntered: $,
1463
+ onEntering: L,
1464
+ onExit: y,
1465
+ onExited: h,
1466
+ onExiting: j,
1467
+ addEndListener: m,
1468
+ appear: c,
1469
+ in: P,
1470
+ timeout: E,
1471
+ ...S,
1472
+ children: (f, {
1473
+ ownerState: I,
1474
+ ...V
1475
+ }) => /* @__PURE__ */ d.cloneElement(l, {
1476
+ ref: D,
1477
+ style: {
1478
+ visibility: f === "exited" && !P ? "hidden" : void 0,
1479
+ ...p,
1480
+ ...l.props.style
1481
+ },
1482
+ ...V
1483
+ })
1484
+ });
1485
+ });
1486
+ process.env.NODE_ENV !== "production" && (qe.propTypes = {
1487
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
1488
+ // │ These PropTypes are generated from the TypeScript type definitions. │
1489
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
1490
+ // └─────────────────────────────────────────────────────────────────────┘
1491
+ /**
1492
+ * Add a custom transition end trigger. Called with the transitioning DOM
1493
+ * node and a done callback. Allows for more fine grained transition end
1494
+ * logic. Note: Timeouts are still used as a fallback if provided.
1495
+ */
1496
+ addEndListener: e.func,
1497
+ /**
1498
+ * Perform the enter transition when it first mounts if `in` is also `true`.
1499
+ * Set this to `false` to disable this behavior.
1500
+ * @default true
1501
+ */
1502
+ appear: e.bool,
1503
+ /**
1504
+ * A single child content element.
1505
+ */
1506
+ children: Q.isRequired,
1507
+ /**
1508
+ * An HTML element, or a function that returns one.
1509
+ * It's used to set the container the Slide is transitioning from.
1510
+ */
1511
+ container: ie(e.oneOfType([ge, e.func]), (t) => {
1512
+ if (t.open) {
1513
+ const n = Ue(t.container);
1514
+ if (n && n.nodeType === 1) {
1515
+ const r = n.getBoundingClientRect();
1516
+ if (process.env.NODE_ENV !== "test" && r.top === 0 && r.left === 0 && r.right === 0 && r.bottom === 0)
1517
+ return new Error(["MUI: The `container` prop provided to the component is invalid.", "The anchor element should be part of the document layout.", "Make sure the element is present in the document or that it's not display none."].join(`
1518
+ `));
1519
+ } else if (!n || typeof n.getBoundingClientRect != "function" || n.contextElement != null && n.contextElement.nodeType !== 1)
1520
+ return new Error(["MUI: The `container` prop provided to the component is invalid.", "It should be an HTML element instance."].join(`
1521
+ `));
1522
+ }
1523
+ return null;
1524
+ }),
1525
+ /**
1526
+ * Direction the child node will enter from.
1527
+ * @default 'down'
1528
+ */
1529
+ direction: e.oneOf(["down", "left", "right", "up"]),
1530
+ /**
1531
+ * The transition timing function.
1532
+ * You may specify a single easing or a object containing enter and exit values.
1533
+ * @default {
1534
+ * enter: theme.transitions.easing.easeOut,
1535
+ * exit: theme.transitions.easing.sharp,
1536
+ * }
1537
+ */
1538
+ easing: e.oneOfType([e.shape({
1539
+ enter: e.string,
1540
+ exit: e.string
1541
+ }), e.string]),
1542
+ /**
1543
+ * If `true`, the component will transition in.
1544
+ */
1545
+ in: e.bool,
1546
+ /**
1547
+ * @ignore
1548
+ */
1549
+ onEnter: e.func,
1550
+ /**
1551
+ * @ignore
1552
+ */
1553
+ onEntered: e.func,
1554
+ /**
1555
+ * @ignore
1556
+ */
1557
+ onEntering: e.func,
1558
+ /**
1559
+ * @ignore
1560
+ */
1561
+ onExit: e.func,
1562
+ /**
1563
+ * @ignore
1564
+ */
1565
+ onExited: e.func,
1566
+ /**
1567
+ * @ignore
1568
+ */
1569
+ onExiting: e.func,
1570
+ /**
1571
+ * @ignore
1572
+ */
1573
+ style: e.object,
1574
+ /**
1575
+ * The duration for the transition, in milliseconds.
1576
+ * You may specify a single timeout for all transitions, or individually with an object.
1577
+ * @default {
1578
+ * enter: theme.transitions.duration.enteringScreen,
1579
+ * exit: theme.transitions.duration.leavingScreen,
1580
+ * }
1581
+ */
1582
+ timeout: e.oneOfType([e.number, e.shape({
1583
+ appear: e.number,
1584
+ enter: e.number,
1585
+ exit: e.number
1586
+ })])
1587
+ });
1588
+ function Bt(t) {
1589
+ return ae("MuiDrawer", t);
1590
+ }
1591
+ ce("MuiDrawer", ["root", "docked", "paper", "anchorLeft", "anchorRight", "anchorTop", "anchorBottom", "paperAnchorLeft", "paperAnchorRight", "paperAnchorTop", "paperAnchorBottom", "paperAnchorDockedLeft", "paperAnchorDockedRight", "paperAnchorDockedTop", "paperAnchorDockedBottom", "modal"]);
1592
+ const ze = (t, n) => {
1593
+ const {
1594
+ ownerState: r
1595
+ } = t;
1596
+ return [n.root, (r.variant === "permanent" || r.variant === "persistent") && n.docked, n.modal];
1597
+ }, Lt = (t) => {
1598
+ const {
1599
+ classes: n,
1600
+ anchor: r,
1601
+ variant: o
1602
+ } = t, s = {
1603
+ root: ["root", `anchor${X(r)}`],
1604
+ docked: [(o === "permanent" || o === "persistent") && "docked"],
1605
+ modal: ["modal"],
1606
+ paper: ["paper", `paperAnchor${X(r)}`, o !== "temporary" && `paperAnchorDocked${X(r)}`]
1607
+ };
1608
+ return ue(s, Bt, n);
1609
+ }, Vt = K(Ve, {
1610
+ name: "MuiDrawer",
1611
+ slot: "Root",
1612
+ overridesResolver: ze
1613
+ })(pe(({
1614
+ theme: t
1615
+ }) => ({
1616
+ zIndex: (t.vars || t).zIndex.drawer
1617
+ }))), Ut = K("div", {
1618
+ shouldForwardProp: Ze,
1619
+ name: "MuiDrawer",
1620
+ slot: "Docked",
1621
+ skipVariantsResolver: !1,
1622
+ overridesResolver: ze
1623
+ })({
1624
+ flex: "0 0 auto"
1625
+ }), qt = K(Be, {
1626
+ name: "MuiDrawer",
1627
+ slot: "Paper",
1628
+ overridesResolver: (t, n) => {
1629
+ const {
1630
+ ownerState: r
1631
+ } = t;
1632
+ return [n.paper, n[`paperAnchor${X(r.anchor)}`], r.variant !== "temporary" && n[`paperAnchorDocked${X(r.anchor)}`]];
1633
+ }
1634
+ })(pe(({
1635
+ theme: t
1636
+ }) => ({
1637
+ overflowY: "auto",
1638
+ display: "flex",
1639
+ flexDirection: "column",
1640
+ height: "100%",
1641
+ flex: "1 0 auto",
1642
+ zIndex: (t.vars || t).zIndex.drawer,
1643
+ // Add iOS momentum scrolling for iOS < 13.0
1644
+ WebkitOverflowScrolling: "touch",
1645
+ // temporary style
1646
+ position: "fixed",
1647
+ top: 0,
1648
+ // We disable the focus ring for mouse, touch and keyboard users.
1649
+ // At some point, it would be better to keep it for keyboard users.
1650
+ // :focus-ring CSS pseudo-class will help.
1651
+ outline: 0,
1652
+ variants: [{
1653
+ props: {
1654
+ anchor: "left"
1655
+ },
1656
+ style: {
1657
+ left: 0
1658
+ }
1659
+ }, {
1660
+ props: {
1661
+ anchor: "top"
1662
+ },
1663
+ style: {
1664
+ top: 0,
1665
+ left: 0,
1666
+ right: 0,
1667
+ height: "auto",
1668
+ maxHeight: "100%"
1669
+ }
1670
+ }, {
1671
+ props: {
1672
+ anchor: "right"
1673
+ },
1674
+ style: {
1675
+ right: 0
1676
+ }
1677
+ }, {
1678
+ props: {
1679
+ anchor: "bottom"
1680
+ },
1681
+ style: {
1682
+ top: "auto",
1683
+ left: 0,
1684
+ bottom: 0,
1685
+ right: 0,
1686
+ height: "auto",
1687
+ maxHeight: "100%"
1688
+ }
1689
+ }, {
1690
+ props: ({
1691
+ ownerState: n
1692
+ }) => n.anchor === "left" && n.variant !== "temporary",
1693
+ style: {
1694
+ borderRight: `1px solid ${(t.vars || t).palette.divider}`
1695
+ }
1696
+ }, {
1697
+ props: ({
1698
+ ownerState: n
1699
+ }) => n.anchor === "top" && n.variant !== "temporary",
1700
+ style: {
1701
+ borderBottom: `1px solid ${(t.vars || t).palette.divider}`
1702
+ }
1703
+ }, {
1704
+ props: ({
1705
+ ownerState: n
1706
+ }) => n.anchor === "right" && n.variant !== "temporary",
1707
+ style: {
1708
+ borderLeft: `1px solid ${(t.vars || t).palette.divider}`
1709
+ }
1710
+ }, {
1711
+ props: ({
1712
+ ownerState: n
1713
+ }) => n.anchor === "bottom" && n.variant !== "temporary",
1714
+ style: {
1715
+ borderTop: `1px solid ${(t.vars || t).palette.divider}`
1716
+ }
1717
+ }]
1718
+ }))), _e = {
1719
+ left: "right",
1720
+ right: "left",
1721
+ top: "down",
1722
+ bottom: "up"
1723
+ };
1724
+ function zt(t) {
1725
+ return ["left", "right"].includes(t);
1726
+ }
1727
+ function _t({
1728
+ direction: t
1729
+ }, n) {
1730
+ return t === "rtl" && zt(n) ? _e[n] : n;
1731
+ }
1732
+ const He = /* @__PURE__ */ d.forwardRef(function(n, r) {
1733
+ const o = le({
1734
+ props: n,
1735
+ name: "MuiDrawer"
1736
+ }), s = de(), i = Je(), a = {
1737
+ enter: s.transitions.duration.enteringScreen,
1738
+ exit: s.transitions.duration.leavingScreen
1739
+ }, {
1740
+ anchor: c = "left",
1741
+ BackdropProps: l,
1742
+ children: u,
1743
+ className: g,
1744
+ elevation: T = 16,
1745
+ hideBackdrop: P = !1,
1746
+ ModalProps: {
1747
+ BackdropProps: v,
1748
+ ...x
1749
+ } = {},
1750
+ onClose: M,
1751
+ open: w = !1,
1752
+ PaperProps: N = {},
1753
+ SlideProps: O,
1754
+ // eslint-disable-next-line react/prop-types
1755
+ TransitionComponent: p,
1756
+ transitionDuration: E = a,
1757
+ variant: C = "temporary",
1758
+ slots: S = {},
1759
+ slotProps: b = {},
1760
+ ...D
1761
+ } = o, k = d.useRef(!1);
1762
+ d.useEffect(() => {
1763
+ k.current = !0;
1764
+ }, []);
1765
+ const A = _t({
1766
+ direction: i ? "rtl" : "ltr"
1767
+ }, c), $ = {
1768
+ ...o,
1769
+ anchor: c,
1770
+ elevation: T,
1771
+ open: w,
1772
+ variant: C,
1773
+ ...D
1774
+ }, j = Lt($), y = {
1775
+ slots: {
1776
+ transition: p,
1777
+ ...S
1778
+ },
1779
+ slotProps: {
1780
+ paper: N,
1781
+ transition: O,
1782
+ ...b,
1783
+ backdrop: Qe(b.backdrop || {
1784
+ ...l,
1785
+ ...v
1786
+ }, {
1787
+ transitionDuration: E
1788
+ })
1789
+ }
1790
+ }, [h, m] = U("root", {
1791
+ ref: r,
1792
+ elementType: Vt,
1793
+ className: H(j.root, j.modal, g),
1794
+ shouldForwardComponentProp: !0,
1795
+ ownerState: $,
1796
+ externalForwardedProps: {
1797
+ ...y,
1798
+ ...D,
1799
+ ...x
1800
+ },
1801
+ additionalProps: {
1802
+ open: w,
1803
+ onClose: M,
1804
+ hideBackdrop: P,
1805
+ slots: {
1806
+ backdrop: y.slots.backdrop
1807
+ },
1808
+ slotProps: {
1809
+ backdrop: y.slotProps.backdrop
1810
+ }
1811
+ }
1812
+ }), [F, f] = U("paper", {
1813
+ elementType: qt,
1814
+ shouldForwardComponentProp: !0,
1815
+ className: H(j.paper, N.className),
1816
+ ownerState: $,
1817
+ externalForwardedProps: y,
1818
+ additionalProps: {
1819
+ elevation: C === "temporary" ? T : 0,
1820
+ square: !0
1821
+ }
1822
+ }), [I, V] = U("docked", {
1823
+ elementType: Ut,
1824
+ ref: r,
1825
+ className: H(j.root, j.docked, g),
1826
+ ownerState: $,
1827
+ externalForwardedProps: y,
1828
+ additionalProps: D
1829
+ // pass `other` here because `DockedSlot` is also a root slot for some variants
1830
+ }), [Z, q] = U("transition", {
1831
+ elementType: qe,
1832
+ ownerState: $,
1833
+ externalForwardedProps: y,
1834
+ additionalProps: {
1835
+ in: w,
1836
+ direction: _e[A],
1837
+ timeout: E,
1838
+ appear: k.current
1839
+ }
1840
+ }), B = /* @__PURE__ */ R(F, {
1841
+ ...f,
1842
+ children: u
1843
+ });
1844
+ if (C === "permanent")
1845
+ return /* @__PURE__ */ R(I, {
1846
+ ...V,
1847
+ children: B
1848
+ });
1849
+ const z = /* @__PURE__ */ R(Z, {
1850
+ ...q,
1851
+ children: B
1852
+ });
1853
+ return C === "persistent" ? /* @__PURE__ */ R(I, {
1854
+ ...V,
1855
+ children: z
1856
+ }) : /* @__PURE__ */ R(h, {
1857
+ ...m,
1858
+ children: z
1859
+ });
1860
+ });
1861
+ process.env.NODE_ENV !== "production" && (He.propTypes = {
1862
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
1863
+ // │ These PropTypes are generated from the TypeScript type definitions. │
1864
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
1865
+ // └─────────────────────────────────────────────────────────────────────┘
1866
+ /**
1867
+ * Side from which the drawer will appear.
1868
+ * @default 'left'
1869
+ */
1870
+ anchor: e.oneOf(["bottom", "left", "right", "top"]),
1871
+ /**
1872
+ * @ignore
1873
+ */
1874
+ BackdropProps: e.object,
1875
+ /**
1876
+ * The content of the component.
1877
+ */
1878
+ children: e.node,
1879
+ /**
1880
+ * Override or extend the styles applied to the component.
1881
+ */
1882
+ classes: e.object,
1883
+ /**
1884
+ * @ignore
1885
+ */
1886
+ className: e.string,
1887
+ /**
1888
+ * The elevation of the drawer.
1889
+ * @default 16
1890
+ */
1891
+ elevation: Ae,
1892
+ /**
1893
+ * If `true`, the backdrop is not rendered.
1894
+ * @default false
1895
+ */
1896
+ hideBackdrop: e.bool,
1897
+ /**
1898
+ * Props applied to the [`Modal`](https://mui.com/material-ui/api/modal/) element.
1899
+ * @default {}
1900
+ */
1901
+ ModalProps: e.object,
1902
+ /**
1903
+ * Callback fired when the component requests to be closed.
1904
+ * The `reason` parameter can optionally be used to control the response to `onClose`.
1905
+ *
1906
+ * @param {object} event The event source of the callback.
1907
+ * @param {string} reason Can be: `"escapeKeyDown"`, `"backdropClick"`.
1908
+ */
1909
+ onClose: e.func,
1910
+ /**
1911
+ * If `true`, the component is shown.
1912
+ * @default false
1913
+ */
1914
+ open: e.bool,
1915
+ /**
1916
+ * Props applied to the [`Paper`](https://mui.com/material-ui/api/paper/) element.
1917
+ * @deprecated use the `slotProps.paper` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
1918
+ * @default {}
1919
+ */
1920
+ PaperProps: e.object,
1921
+ /**
1922
+ * Props applied to the [`Slide`](https://mui.com/material-ui/api/slide/) element.
1923
+ * @deprecated use the `slotProps.transition` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
1924
+ */
1925
+ SlideProps: e.object,
1926
+ /**
1927
+ * The props used for each slot inside.
1928
+ * @default {}
1929
+ */
1930
+ slotProps: e.shape({
1931
+ backdrop: e.oneOfType([e.func, e.object]),
1932
+ docked: e.oneOfType([e.func, e.object]),
1933
+ paper: e.oneOfType([e.func, e.object]),
1934
+ root: e.oneOfType([e.func, e.object]),
1935
+ transition: e.oneOfType([e.func, e.object])
1936
+ }),
1937
+ /**
1938
+ * The components used for each slot inside.
1939
+ * @default {}
1940
+ */
1941
+ slots: e.shape({
1942
+ backdrop: e.elementType,
1943
+ docked: e.elementType,
1944
+ paper: e.elementType,
1945
+ root: e.elementType,
1946
+ transition: e.elementType
1947
+ }),
1948
+ /**
1949
+ * The system prop that allows defining system overrides as well as additional CSS styles.
1950
+ */
1951
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
1952
+ /**
1953
+ * The duration for the transition, in milliseconds.
1954
+ * You may specify a single timeout for all transitions, or individually with an object.
1955
+ * @default {
1956
+ * enter: theme.transitions.duration.enteringScreen,
1957
+ * exit: theme.transitions.duration.leavingScreen,
1958
+ * }
1959
+ */
1960
+ transitionDuration: e.oneOfType([e.number, e.shape({
1961
+ appear: e.number,
1962
+ enter: e.number,
1963
+ exit: e.number
1964
+ })]),
1965
+ /**
1966
+ * The variant to use.
1967
+ * @default 'temporary'
1968
+ */
1969
+ variant: e.oneOf(["permanent", "persistent", "temporary"])
1970
+ });
1971
+ const Ht = et(/* @__PURE__ */ R("path", {
1972
+ d: "M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"
1973
+ }), "Close"), Wt = ({
1974
+ size: t = 36,
1975
+ ...n
1976
+ }) => /* @__PURE__ */ R(
1977
+ ve,
1978
+ {
1979
+ ...n,
1980
+ sx: { position: "absolute", backgroundColor: "rgba(0, 0, 0, 0.3)" },
1981
+ "data-testid": "loading-backdrop",
1982
+ children: /* @__PURE__ */ R(tt, { color: "secondary", size: t })
1983
+ }
1984
+ ), Kt = ({ children: t }) => /* @__PURE__ */ R(nt, { flex: 1, children: t }), Yt = ({ children: t }) => /* @__PURE__ */ R(ye, { direction: "row", justifyContent: "end", columnGap: 1, pb: 2, children: t }), Xt = ({ children: t, onClose: n }) => /* @__PURE__ */ se(
1985
+ ye,
1986
+ {
1987
+ direction: "row",
1988
+ justifyContent: "space-between",
1989
+ alignItems: "center",
1990
+ pb: 2,
1991
+ children: [
1992
+ /* @__PURE__ */ R(ot, { fontSize: 16, fontWeight: "bold", children: t }),
1993
+ /* @__PURE__ */ R(rt, { size: "small", onClick: n, "data-testid": "drawer-close", children: /* @__PURE__ */ R(Ht, { fontSize: "inherit" }) })
1994
+ ]
1995
+ }
1996
+ ), Ee = ({
1997
+ anchor: t = "right",
1998
+ children: n,
1999
+ width: r,
2000
+ loading: o = !1,
2001
+ ...s
2002
+ }) => /* @__PURE__ */ R(He, { anchor: t, "data-testid": "drawer", ...s, children: /* @__PURE__ */ se(ye, { height: "100%", p: 2, width: r, position: "relative", children: [
2003
+ n,
2004
+ /* @__PURE__ */ R(Wt, { open: o })
2005
+ ] }) });
2006
+ Ee.Header = Xt;
2007
+ Ee.Content = Kt;
2008
+ Ee.Footer = Yt;
2009
+ export {
2010
+ ve as B,
2011
+ Ht as C,
2012
+ Ee as D,
2013
+ Le as F,
2014
+ ge as H,
2015
+ Wt as L,
2016
+ Ve as M,
2017
+ Be as P,
2018
+ oe as a,
2019
+ Q as b,
2020
+ lt as c,
2021
+ ct as d,
2022
+ Fe as e,
2023
+ re as f,
2024
+ fe as g,
2025
+ Ae as i,
2026
+ Y as o,
2027
+ Ne as s
2028
+ };