@cgi-learning-hub/ui 1.3.3 → 1.3.4-dev.1733150814

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