@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
@@ -0,0 +1,2602 @@
1
+ import * as u from "react";
2
+ import { H as U, I as D, W as Oe, P as e, G as fe, L as z, Z as fo } from "./identifier-Bn0tF6ls.js";
3
+ import { f as Ce } from "./formControlState-vgaj2ksH.js";
4
+ import { u as Ie } from "./useFormControl-CatNKXAi.js";
5
+ import { s as h, r as k, u as H, c as V, f as bo, e as mo } from "./DefaultPropsProvider-xJkZOrdv.js";
6
+ import { m as E } from "./memoTheme-CMJVTZEg.js";
7
+ import { jsx as v, jsxs as Se } from "react/jsx-runtime";
8
+ import { a as go, b as vo } from "./FormLabel-CoLJ9tA8.js";
9
+ import { M as yo } from "./Menu-4U27Dst1.js";
10
+ import { r as G } from "./refType-BmrOFNz6.js";
11
+ import { i as ho } from "./utils-DWqc1kRF.js";
12
+ import { u as Ve } from "./useControlled-BYdyS7Pn.js";
13
+ import { u as Xe } from "./useForkRef-C_4o__cU.js";
14
+ import { o as Oo } from "./ownerDocument-CUrv0DIK.js";
15
+ import { u as Co } from "./useId-CK6Kn3Tn.js";
16
+ import { c as Io } from "./createSvgIcon-CVd3Lo1D.js";
17
+ import { c as Re } from "./createSimplePaletteValueFilter-B7--0ryQ.js";
18
+ import { i as xe, a as we, r as Te, b as Ne, c as Pe, I as $e } from "./InputBase-CvU0-Zg6.js";
19
+ import { g as So } from "./utils-CE_a8glN.js";
20
+ function Ro(o) {
21
+ return U("MuiInput", o);
22
+ }
23
+ const K = {
24
+ ...xe,
25
+ ...D("MuiInput", ["root", "underline", "input"])
26
+ }, xo = (o) => {
27
+ const {
28
+ classes: t,
29
+ disableUnderline: n
30
+ } = o, i = V({
31
+ root: ["root", !n && "underline"],
32
+ input: ["input"]
33
+ }, Ro, t);
34
+ return {
35
+ ...t,
36
+ // forward classes to the InputBase
37
+ ...i
38
+ };
39
+ }, wo = h(we, {
40
+ shouldForwardProp: (o) => k(o) || o === "classes",
41
+ name: "MuiInput",
42
+ slot: "Root",
43
+ overridesResolver: (o, t) => {
44
+ const {
45
+ ownerState: n
46
+ } = o;
47
+ return [...Te(o, t), !n.disableUnderline && t.underline];
48
+ }
49
+ })(E(({
50
+ theme: o
51
+ }) => {
52
+ let n = o.palette.mode === "light" ? "rgba(0, 0, 0, 0.42)" : "rgba(255, 255, 255, 0.7)";
53
+ return o.vars && (n = `rgba(${o.vars.palette.common.onBackgroundChannel} / ${o.vars.opacity.inputUnderline})`), {
54
+ position: "relative",
55
+ variants: [{
56
+ props: ({
57
+ ownerState: r
58
+ }) => r.formControl,
59
+ style: {
60
+ "label + &": {
61
+ marginTop: 16
62
+ }
63
+ }
64
+ }, {
65
+ props: ({
66
+ ownerState: r
67
+ }) => !r.disableUnderline,
68
+ style: {
69
+ "&::after": {
70
+ left: 0,
71
+ bottom: 0,
72
+ content: '""',
73
+ position: "absolute",
74
+ right: 0,
75
+ transform: "scaleX(0)",
76
+ transition: o.transitions.create("transform", {
77
+ duration: o.transitions.duration.shorter,
78
+ easing: o.transitions.easing.easeOut
79
+ }),
80
+ pointerEvents: "none"
81
+ // Transparent to the hover style.
82
+ },
83
+ [`&.${K.focused}:after`]: {
84
+ // translateX(0) is a workaround for Safari transform scale bug
85
+ // See https://github.com/mui/material-ui/issues/31766
86
+ transform: "scaleX(1) translateX(0)"
87
+ },
88
+ [`&.${K.error}`]: {
89
+ "&::before, &::after": {
90
+ borderBottomColor: (o.vars || o).palette.error.main
91
+ }
92
+ },
93
+ "&::before": {
94
+ borderBottom: `1px solid ${n}`,
95
+ left: 0,
96
+ bottom: 0,
97
+ content: '"\\00a0"',
98
+ position: "absolute",
99
+ right: 0,
100
+ transition: o.transitions.create("border-bottom-color", {
101
+ duration: o.transitions.duration.shorter
102
+ }),
103
+ pointerEvents: "none"
104
+ // Transparent to the hover style.
105
+ },
106
+ [`&:hover:not(.${K.disabled}, .${K.error}):before`]: {
107
+ borderBottom: `2px solid ${(o.vars || o).palette.text.primary}`,
108
+ // Reset on touch devices, it doesn't add specificity
109
+ "@media (hover: none)": {
110
+ borderBottom: `1px solid ${n}`
111
+ }
112
+ },
113
+ [`&.${K.disabled}:before`]: {
114
+ borderBottomStyle: "dotted"
115
+ }
116
+ }
117
+ }, ...Object.entries(o.palette).filter(Re()).map(([r]) => ({
118
+ props: {
119
+ color: r,
120
+ disableUnderline: !1
121
+ },
122
+ style: {
123
+ "&::after": {
124
+ borderBottom: `2px solid ${(o.vars || o).palette[r].main}`
125
+ }
126
+ }
127
+ }))]
128
+ };
129
+ })), To = h(Ne, {
130
+ name: "MuiInput",
131
+ slot: "Input",
132
+ overridesResolver: Pe
133
+ })({}), de = /* @__PURE__ */ u.forwardRef(function(t, n) {
134
+ const r = H({
135
+ props: t,
136
+ name: "MuiInput"
137
+ }), {
138
+ disableUnderline: i = !1,
139
+ components: p = {},
140
+ componentsProps: a,
141
+ fullWidth: d = !1,
142
+ inputComponent: m = "input",
143
+ multiline: g = !1,
144
+ slotProps: f,
145
+ slots: c = {},
146
+ type: O = "text",
147
+ ...R
148
+ } = r, w = xo(r), y = {
149
+ root: {
150
+ ownerState: {
151
+ disableUnderline: i
152
+ }
153
+ }
154
+ }, x = f ?? a ? Oe(f ?? a, y) : y, C = c.root ?? p.Root ?? wo, I = c.input ?? p.Input ?? To;
155
+ return /* @__PURE__ */ v($e, {
156
+ slots: {
157
+ root: C,
158
+ input: I
159
+ },
160
+ slotProps: x,
161
+ fullWidth: d,
162
+ inputComponent: m,
163
+ multiline: g,
164
+ ref: n,
165
+ type: O,
166
+ ...R,
167
+ classes: w
168
+ });
169
+ });
170
+ process.env.NODE_ENV !== "production" && (de.propTypes = {
171
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
172
+ // │ These PropTypes are generated from the TypeScript type definitions. │
173
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
174
+ // └─────────────────────────────────────────────────────────────────────┘
175
+ /**
176
+ * This prop helps users to fill forms faster, especially on mobile devices.
177
+ * The name can be confusing, as it's more like an autofill.
178
+ * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).
179
+ */
180
+ autoComplete: e.string,
181
+ /**
182
+ * If `true`, the `input` element is focused during the first mount.
183
+ */
184
+ autoFocus: e.bool,
185
+ /**
186
+ * Override or extend the styles applied to the component.
187
+ */
188
+ classes: e.object,
189
+ /**
190
+ * The color of the component.
191
+ * It supports both default and custom theme colors, which can be added as shown in the
192
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
193
+ * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.
194
+ */
195
+ color: e.oneOfType([e.oneOf(["primary", "secondary"]), e.string]),
196
+ /**
197
+ * The components used for each slot inside.
198
+ *
199
+ * @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.
200
+ *
201
+ * @default {}
202
+ */
203
+ components: e.shape({
204
+ Input: e.elementType,
205
+ Root: e.elementType
206
+ }),
207
+ /**
208
+ * The extra props for the slot components.
209
+ * You can override the existing props or add new ones.
210
+ *
211
+ * @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.
212
+ *
213
+ * @default {}
214
+ */
215
+ componentsProps: e.shape({
216
+ input: e.object,
217
+ root: e.object
218
+ }),
219
+ /**
220
+ * The default value. Use when the component is not controlled.
221
+ */
222
+ defaultValue: e.any,
223
+ /**
224
+ * If `true`, the component is disabled.
225
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
226
+ */
227
+ disabled: e.bool,
228
+ /**
229
+ * If `true`, the `input` will not have an underline.
230
+ * @default false
231
+ */
232
+ disableUnderline: e.bool,
233
+ /**
234
+ * End `InputAdornment` for this component.
235
+ */
236
+ endAdornment: e.node,
237
+ /**
238
+ * If `true`, the `input` will indicate an error.
239
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
240
+ */
241
+ error: e.bool,
242
+ /**
243
+ * If `true`, the `input` will take up the full width of its container.
244
+ * @default false
245
+ */
246
+ fullWidth: e.bool,
247
+ /**
248
+ * The id of the `input` element.
249
+ */
250
+ id: e.string,
251
+ /**
252
+ * The component used for the `input` element.
253
+ * Either a string to use a HTML element or a component.
254
+ * @default 'input'
255
+ */
256
+ inputComponent: e.elementType,
257
+ /**
258
+ * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
259
+ * @default {}
260
+ */
261
+ inputProps: e.object,
262
+ /**
263
+ * Pass a ref to the `input` element.
264
+ */
265
+ inputRef: G,
266
+ /**
267
+ * If `dense`, will adjust vertical spacing. This is normally obtained via context from
268
+ * FormControl.
269
+ * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.
270
+ */
271
+ margin: e.oneOf(["dense", "none"]),
272
+ /**
273
+ * Maximum number of rows to display when multiline option is set to true.
274
+ */
275
+ maxRows: e.oneOfType([e.number, e.string]),
276
+ /**
277
+ * Minimum number of rows to display when multiline option is set to true.
278
+ */
279
+ minRows: e.oneOfType([e.number, e.string]),
280
+ /**
281
+ * If `true`, a [TextareaAutosize](https://mui.com/material-ui/react-textarea-autosize/) element is rendered.
282
+ * @default false
283
+ */
284
+ multiline: e.bool,
285
+ /**
286
+ * Name attribute of the `input` element.
287
+ */
288
+ name: e.string,
289
+ /**
290
+ * Callback fired when the value is changed.
291
+ *
292
+ * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.
293
+ * You can pull out the new value by accessing `event.target.value` (string).
294
+ */
295
+ onChange: e.func,
296
+ /**
297
+ * The short hint displayed in the `input` before the user enters a value.
298
+ */
299
+ placeholder: e.string,
300
+ /**
301
+ * It prevents the user from changing the value of the field
302
+ * (not from interacting with the field).
303
+ */
304
+ readOnly: e.bool,
305
+ /**
306
+ * If `true`, the `input` element is required.
307
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
308
+ */
309
+ required: e.bool,
310
+ /**
311
+ * Number of rows to display when multiline option is set to true.
312
+ */
313
+ rows: e.oneOfType([e.number, e.string]),
314
+ /**
315
+ * The extra props for the slot components.
316
+ * You can override the existing props or add new ones.
317
+ *
318
+ * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.
319
+ *
320
+ * @default {}
321
+ */
322
+ slotProps: e.shape({
323
+ input: e.object,
324
+ root: e.object
325
+ }),
326
+ /**
327
+ * The components used for each slot inside.
328
+ *
329
+ * This prop is an alias for the `components` prop, which will be deprecated in the future.
330
+ *
331
+ * @default {}
332
+ */
333
+ slots: e.shape({
334
+ input: e.elementType,
335
+ root: e.elementType
336
+ }),
337
+ /**
338
+ * Start `InputAdornment` for this component.
339
+ */
340
+ startAdornment: e.node,
341
+ /**
342
+ * The system prop that allows defining system overrides as well as additional CSS styles.
343
+ */
344
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
345
+ /**
346
+ * 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).
347
+ * @default 'text'
348
+ */
349
+ type: e.string,
350
+ /**
351
+ * The value of the `input` element, required for a controlled component.
352
+ */
353
+ value: e.any
354
+ });
355
+ de && (de.muiName = "Input");
356
+ function No(o) {
357
+ return U("MuiInputLabel", o);
358
+ }
359
+ const It = D("MuiInputLabel", ["root", "focused", "disabled", "error", "required", "asterisk", "formControl", "sizeSmall", "shrink", "animated", "standard", "filled", "outlined"]), Po = (o) => {
360
+ const {
361
+ classes: t,
362
+ formControl: n,
363
+ size: r,
364
+ shrink: i,
365
+ disableAnimation: p,
366
+ variant: a,
367
+ required: d
368
+ } = o, m = {
369
+ root: ["root", n && "formControl", !p && "animated", i && "shrink", r && r !== "normal" && `size${z(r)}`, a],
370
+ asterisk: [d && "asterisk"]
371
+ }, g = V(m, No, t);
372
+ return {
373
+ ...t,
374
+ // forward the focused, disabled, etc. classes to the FormLabel
375
+ ...g
376
+ };
377
+ }, $o = h(go, {
378
+ shouldForwardProp: (o) => k(o) || o === "classes",
379
+ name: "MuiInputLabel",
380
+ slot: "Root",
381
+ overridesResolver: (o, t) => {
382
+ const {
383
+ ownerState: n
384
+ } = o;
385
+ return [{
386
+ [`& .${vo.asterisk}`]: t.asterisk
387
+ }, t.root, n.formControl && t.formControl, n.size === "small" && t.sizeSmall, n.shrink && t.shrink, !n.disableAnimation && t.animated, n.focused && t.focused, t[n.variant]];
388
+ }
389
+ })(E(({
390
+ theme: o
391
+ }) => ({
392
+ display: "block",
393
+ transformOrigin: "top left",
394
+ whiteSpace: "nowrap",
395
+ overflow: "hidden",
396
+ textOverflow: "ellipsis",
397
+ maxWidth: "100%",
398
+ variants: [{
399
+ props: ({
400
+ ownerState: t
401
+ }) => t.formControl,
402
+ style: {
403
+ position: "absolute",
404
+ left: 0,
405
+ top: 0,
406
+ // slight alteration to spec spacing to match visual spec result
407
+ transform: "translate(0, 20px) scale(1)"
408
+ }
409
+ }, {
410
+ props: {
411
+ size: "small"
412
+ },
413
+ style: {
414
+ // Compensation for the `Input.inputSizeSmall` style.
415
+ transform: "translate(0, 17px) scale(1)"
416
+ }
417
+ }, {
418
+ props: ({
419
+ ownerState: t
420
+ }) => t.shrink,
421
+ style: {
422
+ transform: "translate(0, -1.5px) scale(0.75)",
423
+ transformOrigin: "top left",
424
+ maxWidth: "133%"
425
+ }
426
+ }, {
427
+ props: ({
428
+ ownerState: t
429
+ }) => !t.disableAnimation,
430
+ style: {
431
+ transition: o.transitions.create(["color", "transform", "max-width"], {
432
+ duration: o.transitions.duration.shorter,
433
+ easing: o.transitions.easing.easeOut
434
+ })
435
+ }
436
+ }, {
437
+ props: {
438
+ variant: "filled"
439
+ },
440
+ style: {
441
+ // Chrome's autofill feature gives the input field a yellow background.
442
+ // Since the input field is behind the label in the HTML tree,
443
+ // the input field is drawn last and hides the label with an opaque background color.
444
+ // zIndex: 1 will raise the label above opaque background-colors of input.
445
+ zIndex: 1,
446
+ pointerEvents: "none",
447
+ transform: "translate(12px, 16px) scale(1)",
448
+ maxWidth: "calc(100% - 24px)"
449
+ }
450
+ }, {
451
+ props: {
452
+ variant: "filled",
453
+ size: "small"
454
+ },
455
+ style: {
456
+ transform: "translate(12px, 13px) scale(1)"
457
+ }
458
+ }, {
459
+ props: ({
460
+ variant: t,
461
+ ownerState: n
462
+ }) => t === "filled" && n.shrink,
463
+ style: {
464
+ userSelect: "none",
465
+ pointerEvents: "auto",
466
+ transform: "translate(12px, 7px) scale(0.75)",
467
+ maxWidth: "calc(133% - 24px)"
468
+ }
469
+ }, {
470
+ props: ({
471
+ variant: t,
472
+ ownerState: n,
473
+ size: r
474
+ }) => t === "filled" && n.shrink && r === "small",
475
+ style: {
476
+ transform: "translate(12px, 4px) scale(0.75)"
477
+ }
478
+ }, {
479
+ props: {
480
+ variant: "outlined"
481
+ },
482
+ style: {
483
+ // see comment above on filled.zIndex
484
+ zIndex: 1,
485
+ pointerEvents: "none",
486
+ transform: "translate(14px, 16px) scale(1)",
487
+ maxWidth: "calc(100% - 24px)"
488
+ }
489
+ }, {
490
+ props: {
491
+ variant: "outlined",
492
+ size: "small"
493
+ },
494
+ style: {
495
+ transform: "translate(14px, 9px) scale(1)"
496
+ }
497
+ }, {
498
+ props: ({
499
+ variant: t,
500
+ ownerState: n
501
+ }) => t === "outlined" && n.shrink,
502
+ style: {
503
+ userSelect: "none",
504
+ pointerEvents: "auto",
505
+ // Theoretically, we should have (8+5)*2/0.75 = 34px
506
+ // but it feels a better when it bleeds a bit on the left, so 32px.
507
+ maxWidth: "calc(133% - 32px)",
508
+ transform: "translate(14px, -9px) scale(0.75)"
509
+ }
510
+ }]
511
+ }))), ko = /* @__PURE__ */ u.forwardRef(function(t, n) {
512
+ const r = H({
513
+ name: "MuiInputLabel",
514
+ props: t
515
+ }), {
516
+ disableAnimation: i = !1,
517
+ margin: p,
518
+ shrink: a,
519
+ variant: d,
520
+ className: m,
521
+ ...g
522
+ } = r, f = Ie();
523
+ let c = a;
524
+ typeof c > "u" && f && (c = f.filled || f.focused || f.adornedStart);
525
+ const O = Ce({
526
+ props: r,
527
+ muiFormControl: f,
528
+ states: ["size", "variant", "required", "focused"]
529
+ }), R = {
530
+ ...r,
531
+ disableAnimation: i,
532
+ formControl: f,
533
+ shrink: c,
534
+ size: O.size,
535
+ variant: O.variant,
536
+ required: O.required,
537
+ focused: O.focused
538
+ }, w = Po(R);
539
+ return /* @__PURE__ */ v($o, {
540
+ "data-shrink": c,
541
+ ref: n,
542
+ className: fe(w.root, m),
543
+ ...g,
544
+ ownerState: R,
545
+ classes: w
546
+ });
547
+ });
548
+ process.env.NODE_ENV !== "production" && (ko.propTypes = {
549
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
550
+ // │ These PropTypes are generated from the TypeScript type definitions. │
551
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
552
+ // └─────────────────────────────────────────────────────────────────────┘
553
+ /**
554
+ * The content of the component.
555
+ */
556
+ children: e.node,
557
+ /**
558
+ * Override or extend the styles applied to the component.
559
+ */
560
+ classes: e.object,
561
+ /**
562
+ * @ignore
563
+ */
564
+ className: e.string,
565
+ /**
566
+ * The color of the component.
567
+ * It supports both default and custom theme colors, which can be added as shown in the
568
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
569
+ */
570
+ color: e.oneOfType([e.oneOf(["error", "info", "primary", "secondary", "success", "warning"]), e.string]),
571
+ /**
572
+ * If `true`, the transition animation is disabled.
573
+ * @default false
574
+ */
575
+ disableAnimation: e.bool,
576
+ /**
577
+ * If `true`, the component is disabled.
578
+ */
579
+ disabled: e.bool,
580
+ /**
581
+ * If `true`, the label is displayed in an error state.
582
+ */
583
+ error: e.bool,
584
+ /**
585
+ * If `true`, the `input` of this label is focused.
586
+ */
587
+ focused: e.bool,
588
+ /**
589
+ * If `dense`, will adjust vertical spacing. This is normally obtained via context from
590
+ * FormControl.
591
+ */
592
+ margin: e.oneOf(["dense"]),
593
+ /**
594
+ * if `true`, the label will indicate that the `input` is required.
595
+ */
596
+ required: e.bool,
597
+ /**
598
+ * If `true`, the label is shrunk.
599
+ */
600
+ shrink: e.bool,
601
+ /**
602
+ * The size of the component.
603
+ * @default 'normal'
604
+ */
605
+ size: e.oneOfType([e.oneOf(["normal", "small"]), e.string]),
606
+ /**
607
+ * The system prop that allows defining system overrides as well as additional CSS styles.
608
+ */
609
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
610
+ /**
611
+ * The variant to use.
612
+ */
613
+ variant: e.oneOf(["filled", "outlined", "standard"])
614
+ });
615
+ function Eo(o) {
616
+ return U("MuiNativeSelect", o);
617
+ }
618
+ const ke = D("MuiNativeSelect", ["root", "select", "multiple", "filled", "outlined", "standard", "disabled", "icon", "iconOpen", "iconFilled", "iconOutlined", "iconStandard", "nativeInput", "error"]), Fo = (o) => {
619
+ const {
620
+ classes: t,
621
+ variant: n,
622
+ disabled: r,
623
+ multiple: i,
624
+ open: p,
625
+ error: a
626
+ } = o, d = {
627
+ select: ["select", n, r && "disabled", i && "multiple", a && "error"],
628
+ icon: ["icon", `icon${z(n)}`, p && "iconOpen", r && "disabled"]
629
+ };
630
+ return V(d, Eo, t);
631
+ }, He = h("select")(({
632
+ theme: o
633
+ }) => ({
634
+ // Reset
635
+ MozAppearance: "none",
636
+ // Reset
637
+ WebkitAppearance: "none",
638
+ // When interacting quickly, the text can end up selected.
639
+ // Native select can't be selected either.
640
+ userSelect: "none",
641
+ // Reset
642
+ borderRadius: 0,
643
+ cursor: "pointer",
644
+ "&:focus": {
645
+ // Reset Chrome style
646
+ borderRadius: 0
647
+ },
648
+ [`&.${ke.disabled}`]: {
649
+ cursor: "default"
650
+ },
651
+ "&[multiple]": {
652
+ height: "auto"
653
+ },
654
+ "&:not([multiple]) option, &:not([multiple]) optgroup": {
655
+ backgroundColor: (o.vars || o).palette.background.paper
656
+ },
657
+ variants: [{
658
+ props: ({
659
+ ownerState: t
660
+ }) => t.variant !== "filled" && t.variant !== "outlined",
661
+ style: {
662
+ // Bump specificity to allow extending custom inputs
663
+ "&&&": {
664
+ paddingRight: 24,
665
+ minWidth: 16
666
+ // So it doesn't collapse.
667
+ }
668
+ }
669
+ }, {
670
+ props: {
671
+ variant: "filled"
672
+ },
673
+ style: {
674
+ "&&&": {
675
+ paddingRight: 32
676
+ }
677
+ }
678
+ }, {
679
+ props: {
680
+ variant: "outlined"
681
+ },
682
+ style: {
683
+ borderRadius: (o.vars || o).shape.borderRadius,
684
+ "&:focus": {
685
+ borderRadius: (o.vars || o).shape.borderRadius
686
+ // Reset the reset for Chrome style
687
+ },
688
+ "&&&": {
689
+ paddingRight: 32
690
+ }
691
+ }
692
+ }]
693
+ })), Mo = h(He, {
694
+ name: "MuiNativeSelect",
695
+ slot: "Select",
696
+ shouldForwardProp: k,
697
+ overridesResolver: (o, t) => {
698
+ const {
699
+ ownerState: n
700
+ } = o;
701
+ return [t.select, t[n.variant], n.error && t.error, {
702
+ [`&.${ke.multiple}`]: t.multiple
703
+ }];
704
+ }
705
+ })({}), Ge = h("svg")(({
706
+ theme: o
707
+ }) => ({
708
+ // We use a position absolute over a flexbox in order to forward the pointer events
709
+ // to the input and to support wrapping tags..
710
+ position: "absolute",
711
+ right: 0,
712
+ // Center vertically, height is 1em
713
+ top: "calc(50% - .5em)",
714
+ // Don't block pointer events on the select under the icon.
715
+ pointerEvents: "none",
716
+ color: (o.vars || o).palette.action.active,
717
+ [`&.${ke.disabled}`]: {
718
+ color: (o.vars || o).palette.action.disabled
719
+ },
720
+ variants: [{
721
+ props: ({
722
+ ownerState: t
723
+ }) => t.open,
724
+ style: {
725
+ transform: "rotate(180deg)"
726
+ }
727
+ }, {
728
+ props: {
729
+ variant: "filled"
730
+ },
731
+ style: {
732
+ right: 7
733
+ }
734
+ }, {
735
+ props: {
736
+ variant: "outlined"
737
+ },
738
+ style: {
739
+ right: 7
740
+ }
741
+ }]
742
+ })), jo = h(Ge, {
743
+ name: "MuiNativeSelect",
744
+ slot: "Icon",
745
+ overridesResolver: (o, t) => {
746
+ const {
747
+ ownerState: n
748
+ } = o;
749
+ return [t.icon, n.variant && t[`icon${z(n.variant)}`], n.open && t.iconOpen];
750
+ }
751
+ })({}), Ye = /* @__PURE__ */ u.forwardRef(function(t, n) {
752
+ const {
753
+ className: r,
754
+ disabled: i,
755
+ error: p,
756
+ IconComponent: a,
757
+ inputRef: d,
758
+ variant: m = "standard",
759
+ ...g
760
+ } = t, f = {
761
+ ...t,
762
+ disabled: i,
763
+ variant: m,
764
+ error: p
765
+ }, c = Fo(f);
766
+ return /* @__PURE__ */ Se(u.Fragment, {
767
+ children: [/* @__PURE__ */ v(Mo, {
768
+ ownerState: f,
769
+ className: fe(c.select, r),
770
+ disabled: i,
771
+ ref: d || n,
772
+ ...g
773
+ }), t.multiple ? null : /* @__PURE__ */ v(jo, {
774
+ as: a,
775
+ ownerState: f,
776
+ className: c.icon
777
+ })]
778
+ });
779
+ });
780
+ process.env.NODE_ENV !== "production" && (Ye.propTypes = {
781
+ /**
782
+ * The option elements to populate the select with.
783
+ * Can be some `<option>` elements.
784
+ */
785
+ children: e.node,
786
+ /**
787
+ * Override or extend the styles applied to the component.
788
+ */
789
+ classes: e.object,
790
+ /**
791
+ * The CSS class name of the select element.
792
+ */
793
+ className: e.string,
794
+ /**
795
+ * If `true`, the select is disabled.
796
+ */
797
+ disabled: e.bool,
798
+ /**
799
+ * If `true`, the `select input` will indicate an error.
800
+ */
801
+ error: e.bool,
802
+ /**
803
+ * The icon that displays the arrow.
804
+ */
805
+ IconComponent: e.elementType.isRequired,
806
+ /**
807
+ * Use that prop to pass a ref to the native select element.
808
+ * @deprecated
809
+ */
810
+ inputRef: G,
811
+ /**
812
+ * @ignore
813
+ */
814
+ multiple: e.bool,
815
+ /**
816
+ * Name attribute of the `select` or hidden `input` element.
817
+ */
818
+ name: e.string,
819
+ /**
820
+ * Callback fired when a menu item is selected.
821
+ *
822
+ * @param {object} event The event source of the callback.
823
+ * You can pull out the new value by accessing `event.target.value` (string).
824
+ */
825
+ onChange: e.func,
826
+ /**
827
+ * The input value.
828
+ */
829
+ value: e.any,
830
+ /**
831
+ * The variant to use.
832
+ */
833
+ variant: e.oneOf(["standard", "outlined", "filled"])
834
+ });
835
+ function Lo(o) {
836
+ return U("MuiSelect", o);
837
+ }
838
+ const X = D("MuiSelect", ["root", "select", "multiple", "filled", "outlined", "standard", "disabled", "focused", "icon", "iconOpen", "iconFilled", "iconOutlined", "iconStandard", "nativeInput", "error"]);
839
+ var qe;
840
+ const Bo = h(He, {
841
+ name: "MuiSelect",
842
+ slot: "Select",
843
+ overridesResolver: (o, t) => {
844
+ const {
845
+ ownerState: n
846
+ } = o;
847
+ return [
848
+ // Win specificity over the input base
849
+ {
850
+ [`&.${X.select}`]: t.select
851
+ },
852
+ {
853
+ [`&.${X.select}`]: t[n.variant]
854
+ },
855
+ {
856
+ [`&.${X.error}`]: t.error
857
+ },
858
+ {
859
+ [`&.${X.multiple}`]: t.multiple
860
+ }
861
+ ];
862
+ }
863
+ })({
864
+ // Win specificity over the input base
865
+ [`&.${X.select}`]: {
866
+ height: "auto",
867
+ // Resets for multiple select with chips
868
+ minHeight: "1.4375em",
869
+ // Required for select\text-field height consistency
870
+ textOverflow: "ellipsis",
871
+ whiteSpace: "nowrap",
872
+ overflow: "hidden"
873
+ }
874
+ }), Wo = h(Ge, {
875
+ name: "MuiSelect",
876
+ slot: "Icon",
877
+ overridesResolver: (o, t) => {
878
+ const {
879
+ ownerState: n
880
+ } = o;
881
+ return [t.icon, n.variant && t[`icon${z(n.variant)}`], n.open && t.iconOpen];
882
+ }
883
+ })({}), Ao = h("input", {
884
+ shouldForwardProp: (o) => bo(o) && o !== "classes",
885
+ name: "MuiSelect",
886
+ slot: "NativeInput",
887
+ overridesResolver: (o, t) => t.nativeInput
888
+ })({
889
+ bottom: 0,
890
+ left: 0,
891
+ position: "absolute",
892
+ opacity: 0,
893
+ pointerEvents: "none",
894
+ width: "100%",
895
+ boxSizing: "border-box"
896
+ });
897
+ function _e(o, t) {
898
+ return typeof t == "object" && t !== null ? o === t : String(o) === String(t);
899
+ }
900
+ function Uo(o) {
901
+ return o == null || typeof o == "string" && !o.trim();
902
+ }
903
+ const Do = (o) => {
904
+ const {
905
+ classes: t,
906
+ variant: n,
907
+ disabled: r,
908
+ multiple: i,
909
+ open: p,
910
+ error: a
911
+ } = o, d = {
912
+ select: ["select", n, r && "disabled", i && "multiple", a && "error"],
913
+ icon: ["icon", `icon${z(n)}`, p && "iconOpen", r && "disabled"],
914
+ nativeInput: ["nativeInput"]
915
+ };
916
+ return V(d, Lo, t);
917
+ }, Ze = /* @__PURE__ */ u.forwardRef(function(t, n) {
918
+ var De;
919
+ const {
920
+ "aria-describedby": r,
921
+ "aria-label": i,
922
+ autoFocus: p,
923
+ autoWidth: a,
924
+ children: d,
925
+ className: m,
926
+ defaultOpen: g,
927
+ defaultValue: f,
928
+ disabled: c,
929
+ displayEmpty: O,
930
+ error: R = !1,
931
+ IconComponent: w,
932
+ inputRef: T,
933
+ labelId: y,
934
+ MenuProps: x = {},
935
+ multiple: C,
936
+ name: I,
937
+ onBlur: N,
938
+ onChange: L,
939
+ onClose: Y,
940
+ onFocus: be,
941
+ onOpen: Z,
942
+ open: J,
943
+ readOnly: Q,
944
+ renderValue: ee,
945
+ SelectDisplayProps: B = {},
946
+ tabIndex: $,
947
+ // catching `type` from Input which makes no sense for SelectInput
948
+ type: q,
949
+ value: oe,
950
+ variant: Fe = "standard",
951
+ ..._
952
+ } = t, [b, te] = Ve({
953
+ controlled: oe,
954
+ default: f,
955
+ name: "Select"
956
+ }), [Me, eo] = Ve({
957
+ controlled: J,
958
+ default: g,
959
+ name: "Select"
960
+ }), je = u.useRef(null), F = u.useRef(null), [M, oo] = u.useState(null), {
961
+ current: me
962
+ } = u.useRef(J != null), [to, Le] = u.useState(), no = Xe(n, T), ro = u.useCallback((s) => {
963
+ F.current = s, s && oo(s);
964
+ }, []), ne = M == null ? void 0 : M.parentNode;
965
+ u.useImperativeHandle(no, () => ({
966
+ focus: () => {
967
+ F.current.focus();
968
+ },
969
+ node: je.current,
970
+ value: b
971
+ }), [b]), u.useEffect(() => {
972
+ g && Me && M && !me && (Le(a ? null : ne.clientWidth), F.current.focus());
973
+ }, [M, a]), u.useEffect(() => {
974
+ p && F.current.focus();
975
+ }, [p]), u.useEffect(() => {
976
+ if (!y)
977
+ return;
978
+ const s = Oo(F.current).getElementById(y);
979
+ if (s) {
980
+ const l = () => {
981
+ getSelection().isCollapsed && F.current.focus();
982
+ };
983
+ return s.addEventListener("click", l), () => {
984
+ s.removeEventListener("click", l);
985
+ };
986
+ }
987
+ }, [y]);
988
+ const re = (s, l) => {
989
+ s ? Z && Z(l) : Y && Y(l), me || (Le(a ? null : ne.clientWidth), eo(s));
990
+ }, so = (s) => {
991
+ s.button === 0 && (s.preventDefault(), F.current.focus(), re(!0, s));
992
+ }, ao = (s) => {
993
+ re(!1, s);
994
+ }, se = u.Children.toArray(d), io = (s) => {
995
+ const l = se.find((S) => S.props.value === s.target.value);
996
+ l !== void 0 && (te(l.props.value), L && L(s, l));
997
+ }, lo = (s) => (l) => {
998
+ let S;
999
+ if (l.currentTarget.hasAttribute("tabindex")) {
1000
+ if (C) {
1001
+ S = Array.isArray(b) ? b.slice() : [];
1002
+ const A = b.indexOf(s.props.value);
1003
+ A === -1 ? S.push(s.props.value) : S.splice(A, 1);
1004
+ } else
1005
+ S = s.props.value;
1006
+ if (s.props.onClick && s.props.onClick(l), b !== S && (te(S), L)) {
1007
+ const A = l.nativeEvent || l, ze = new A.constructor(A.type, A);
1008
+ Object.defineProperty(ze, "target", {
1009
+ writable: !0,
1010
+ value: {
1011
+ value: S,
1012
+ name: I
1013
+ }
1014
+ }), L(ze, s);
1015
+ }
1016
+ C || re(!1, l);
1017
+ }
1018
+ }, po = (s) => {
1019
+ Q || [
1020
+ " ",
1021
+ "ArrowUp",
1022
+ "ArrowDown",
1023
+ // The native select doesn't respond to enter on macOS, but it's recommended by
1024
+ // https://www.w3.org/WAI/ARIA/apg/patterns/combobox/examples/combobox-select-only/
1025
+ "Enter"
1026
+ ].includes(s.key) && (s.preventDefault(), re(!0, s));
1027
+ }, ae = M !== null && Me, uo = (s) => {
1028
+ !ae && N && (Object.defineProperty(s, "target", {
1029
+ writable: !0,
1030
+ value: {
1031
+ value: b,
1032
+ name: I
1033
+ }
1034
+ }), N(s));
1035
+ };
1036
+ delete _["aria-invalid"];
1037
+ let W, Be;
1038
+ const ie = [];
1039
+ let le = !1, ge = !1;
1040
+ (ho({
1041
+ value: b
1042
+ }) || O) && (ee ? W = ee(b) : le = !0);
1043
+ const co = se.map((s) => {
1044
+ if (!/* @__PURE__ */ u.isValidElement(s))
1045
+ return null;
1046
+ process.env.NODE_ENV !== "production" && mo.isFragment(s) && console.error(["MUI: The Select component doesn't accept a Fragment as a child.", "Consider providing an array instead."].join(`
1047
+ `));
1048
+ let l;
1049
+ if (C) {
1050
+ if (!Array.isArray(b))
1051
+ throw new Error(process.env.NODE_ENV !== "production" ? "MUI: The `value` prop must be an array when using the `Select` component with `multiple`." : fo(2));
1052
+ l = b.some((S) => _e(S, s.props.value)), l && le && ie.push(s.props.children);
1053
+ } else
1054
+ l = _e(b, s.props.value), l && le && (Be = s.props.children);
1055
+ return l && (ge = !0), /* @__PURE__ */ u.cloneElement(s, {
1056
+ "aria-selected": l ? "true" : "false",
1057
+ onClick: lo(s),
1058
+ onKeyUp: (S) => {
1059
+ S.key === " " && S.preventDefault(), s.props.onKeyUp && s.props.onKeyUp(S);
1060
+ },
1061
+ role: "option",
1062
+ selected: l,
1063
+ value: void 0,
1064
+ // The value is most likely not a valid HTML attribute.
1065
+ "data-value": s.props.value
1066
+ // Instead, we provide it as a data attribute.
1067
+ });
1068
+ });
1069
+ process.env.NODE_ENV !== "production" && u.useEffect(() => {
1070
+ if (!ge && !C && b !== "") {
1071
+ const s = se.map((l) => l.props.value);
1072
+ console.warn([`MUI: You have provided an out-of-range value \`${b}\` for the select ${I ? `(name="${I}") ` : ""}component.`, "Consider providing a value that matches one of the available options or ''.", `The available values are ${s.filter((l) => l != null).map((l) => `\`${l}\``).join(", ") || '""'}.`].join(`
1073
+ `));
1074
+ }
1075
+ }, [ge, se, C, I, b]), le && (C ? ie.length === 0 ? W = null : W = ie.reduce((s, l, S) => (s.push(l), S < ie.length - 1 && s.push(", "), s), []) : W = Be);
1076
+ let We = to;
1077
+ !a && me && M && (We = ne.clientWidth);
1078
+ let ve;
1079
+ typeof $ < "u" ? ve = $ : ve = c ? null : 0;
1080
+ const Ae = B.id || (I ? `mui-component-select-${I}` : void 0), pe = {
1081
+ ...t,
1082
+ variant: Fe,
1083
+ value: b,
1084
+ open: ae,
1085
+ error: R
1086
+ }, ye = Do(pe), he = {
1087
+ ...x.PaperProps,
1088
+ ...(De = x.slotProps) == null ? void 0 : De.paper
1089
+ }, Ue = Co();
1090
+ return /* @__PURE__ */ Se(u.Fragment, {
1091
+ children: [/* @__PURE__ */ v(Bo, {
1092
+ as: "div",
1093
+ ref: ro,
1094
+ tabIndex: ve,
1095
+ role: "combobox",
1096
+ "aria-controls": Ue,
1097
+ "aria-disabled": c ? "true" : void 0,
1098
+ "aria-expanded": ae ? "true" : "false",
1099
+ "aria-haspopup": "listbox",
1100
+ "aria-label": i,
1101
+ "aria-labelledby": [y, Ae].filter(Boolean).join(" ") || void 0,
1102
+ "aria-describedby": r,
1103
+ onKeyDown: po,
1104
+ onMouseDown: c || Q ? null : so,
1105
+ onBlur: uo,
1106
+ onFocus: be,
1107
+ ...B,
1108
+ ownerState: pe,
1109
+ className: fe(B.className, ye.select, m),
1110
+ id: Ae,
1111
+ children: Uo(W) ? (
1112
+ // notranslate needed while Google Translate will not fix zero-width space issue
1113
+ qe || (qe = /* @__PURE__ */ v("span", {
1114
+ className: "notranslate",
1115
+ children: "​"
1116
+ }))
1117
+ ) : W
1118
+ }), /* @__PURE__ */ v(Ao, {
1119
+ "aria-invalid": R,
1120
+ value: Array.isArray(b) ? b.join(",") : b,
1121
+ name: I,
1122
+ ref: je,
1123
+ "aria-hidden": !0,
1124
+ onChange: io,
1125
+ tabIndex: -1,
1126
+ disabled: c,
1127
+ className: ye.nativeInput,
1128
+ autoFocus: p,
1129
+ ..._,
1130
+ ownerState: pe
1131
+ }), /* @__PURE__ */ v(Wo, {
1132
+ as: w,
1133
+ className: ye.icon,
1134
+ ownerState: pe
1135
+ }), /* @__PURE__ */ v(yo, {
1136
+ id: `menu-${I || ""}`,
1137
+ anchorEl: ne,
1138
+ open: ae,
1139
+ onClose: ao,
1140
+ anchorOrigin: {
1141
+ vertical: "bottom",
1142
+ horizontal: "center"
1143
+ },
1144
+ transformOrigin: {
1145
+ vertical: "top",
1146
+ horizontal: "center"
1147
+ },
1148
+ ...x,
1149
+ MenuListProps: {
1150
+ "aria-labelledby": y,
1151
+ role: "listbox",
1152
+ "aria-multiselectable": C ? "true" : void 0,
1153
+ disableListWrap: !0,
1154
+ id: Ue,
1155
+ ...x.MenuListProps
1156
+ },
1157
+ slotProps: {
1158
+ ...x.slotProps,
1159
+ paper: {
1160
+ ...he,
1161
+ style: {
1162
+ minWidth: We,
1163
+ ...he != null ? he.style : null
1164
+ }
1165
+ }
1166
+ },
1167
+ children: co
1168
+ })]
1169
+ });
1170
+ });
1171
+ process.env.NODE_ENV !== "production" && (Ze.propTypes = {
1172
+ /**
1173
+ * @ignore
1174
+ */
1175
+ "aria-describedby": e.string,
1176
+ /**
1177
+ * @ignore
1178
+ */
1179
+ "aria-label": e.string,
1180
+ /**
1181
+ * @ignore
1182
+ */
1183
+ autoFocus: e.bool,
1184
+ /**
1185
+ * If `true`, the width of the popover will automatically be set according to the items inside the
1186
+ * menu, otherwise it will be at least the width of the select input.
1187
+ */
1188
+ autoWidth: e.bool,
1189
+ /**
1190
+ * The option elements to populate the select with.
1191
+ * Can be some `<MenuItem>` elements.
1192
+ */
1193
+ children: e.node,
1194
+ /**
1195
+ * Override or extend the styles applied to the component.
1196
+ */
1197
+ classes: e.object,
1198
+ /**
1199
+ * The CSS class name of the select element.
1200
+ */
1201
+ className: e.string,
1202
+ /**
1203
+ * If `true`, the component is toggled on mount. Use when the component open state is not controlled.
1204
+ * You can only use it when the `native` prop is `false` (default).
1205
+ */
1206
+ defaultOpen: e.bool,
1207
+ /**
1208
+ * The default value. Use when the component is not controlled.
1209
+ */
1210
+ defaultValue: e.any,
1211
+ /**
1212
+ * If `true`, the select is disabled.
1213
+ */
1214
+ disabled: e.bool,
1215
+ /**
1216
+ * If `true`, the selected item is displayed even if its value is empty.
1217
+ */
1218
+ displayEmpty: e.bool,
1219
+ /**
1220
+ * If `true`, the `select input` will indicate an error.
1221
+ */
1222
+ error: e.bool,
1223
+ /**
1224
+ * The icon that displays the arrow.
1225
+ */
1226
+ IconComponent: e.elementType.isRequired,
1227
+ /**
1228
+ * Imperative handle implementing `{ value: T, node: HTMLElement, focus(): void }`
1229
+ * Equivalent to `ref`
1230
+ */
1231
+ inputRef: G,
1232
+ /**
1233
+ * The ID of an element that acts as an additional label. The Select will
1234
+ * be labelled by the additional label and the selected value.
1235
+ */
1236
+ labelId: e.string,
1237
+ /**
1238
+ * Props applied to the [`Menu`](/material-ui/api/menu/) element.
1239
+ */
1240
+ MenuProps: e.object,
1241
+ /**
1242
+ * If `true`, `value` must be an array and the menu will support multiple selections.
1243
+ */
1244
+ multiple: e.bool,
1245
+ /**
1246
+ * Name attribute of the `select` or hidden `input` element.
1247
+ */
1248
+ name: e.string,
1249
+ /**
1250
+ * @ignore
1251
+ */
1252
+ onBlur: e.func,
1253
+ /**
1254
+ * Callback fired when a menu item is selected.
1255
+ *
1256
+ * @param {object} event The event source of the callback.
1257
+ * You can pull out the new value by accessing `event.target.value` (any).
1258
+ * @param {object} [child] The react element that was selected.
1259
+ */
1260
+ onChange: e.func,
1261
+ /**
1262
+ * Callback fired when the component requests to be closed.
1263
+ * Use in controlled mode (see open).
1264
+ *
1265
+ * @param {object} event The event source of the callback.
1266
+ */
1267
+ onClose: e.func,
1268
+ /**
1269
+ * @ignore
1270
+ */
1271
+ onFocus: e.func,
1272
+ /**
1273
+ * Callback fired when the component requests to be opened.
1274
+ * Use in controlled mode (see open).
1275
+ *
1276
+ * @param {object} event The event source of the callback.
1277
+ */
1278
+ onOpen: e.func,
1279
+ /**
1280
+ * If `true`, the component is shown.
1281
+ */
1282
+ open: e.bool,
1283
+ /**
1284
+ * @ignore
1285
+ */
1286
+ readOnly: e.bool,
1287
+ /**
1288
+ * Render the selected value.
1289
+ *
1290
+ * @param {any} value The `value` provided to the component.
1291
+ * @returns {ReactNode}
1292
+ */
1293
+ renderValue: e.func,
1294
+ /**
1295
+ * Props applied to the clickable div element.
1296
+ */
1297
+ SelectDisplayProps: e.object,
1298
+ /**
1299
+ * @ignore
1300
+ */
1301
+ tabIndex: e.oneOfType([e.number, e.string]),
1302
+ /**
1303
+ * @ignore
1304
+ */
1305
+ type: e.any,
1306
+ /**
1307
+ * The input value.
1308
+ */
1309
+ value: e.any,
1310
+ /**
1311
+ * The variant to use.
1312
+ */
1313
+ variant: e.oneOf(["standard", "outlined", "filled"])
1314
+ });
1315
+ const zo = Io(/* @__PURE__ */ v("path", {
1316
+ d: "M7 10l5 5 5-5z"
1317
+ }), "ArrowDropDown");
1318
+ function Vo(o) {
1319
+ return U("MuiFilledInput", o);
1320
+ }
1321
+ const j = {
1322
+ ...xe,
1323
+ ...D("MuiFilledInput", ["root", "underline", "input", "adornedStart", "adornedEnd", "sizeSmall", "multiline", "hiddenLabel"])
1324
+ }, qo = (o) => {
1325
+ const {
1326
+ classes: t,
1327
+ disableUnderline: n,
1328
+ startAdornment: r,
1329
+ endAdornment: i,
1330
+ size: p,
1331
+ hiddenLabel: a,
1332
+ multiline: d
1333
+ } = o, m = {
1334
+ root: ["root", !n && "underline", r && "adornedStart", i && "adornedEnd", p === "small" && `size${z(p)}`, a && "hiddenLabel", d && "multiline"],
1335
+ input: ["input"]
1336
+ }, g = V(m, Vo, t);
1337
+ return {
1338
+ ...t,
1339
+ // forward classes to the InputBase
1340
+ ...g
1341
+ };
1342
+ }, _o = h(we, {
1343
+ shouldForwardProp: (o) => k(o) || o === "classes",
1344
+ name: "MuiFilledInput",
1345
+ slot: "Root",
1346
+ overridesResolver: (o, t) => {
1347
+ const {
1348
+ ownerState: n
1349
+ } = o;
1350
+ return [...Te(o, t), !n.disableUnderline && t.underline];
1351
+ }
1352
+ })(E(({
1353
+ theme: o
1354
+ }) => {
1355
+ const t = o.palette.mode === "light", n = t ? "rgba(0, 0, 0, 0.42)" : "rgba(255, 255, 255, 0.7)", r = t ? "rgba(0, 0, 0, 0.06)" : "rgba(255, 255, 255, 0.09)", i = t ? "rgba(0, 0, 0, 0.09)" : "rgba(255, 255, 255, 0.13)", p = t ? "rgba(0, 0, 0, 0.12)" : "rgba(255, 255, 255, 0.12)";
1356
+ return {
1357
+ position: "relative",
1358
+ backgroundColor: o.vars ? o.vars.palette.FilledInput.bg : r,
1359
+ borderTopLeftRadius: (o.vars || o).shape.borderRadius,
1360
+ borderTopRightRadius: (o.vars || o).shape.borderRadius,
1361
+ transition: o.transitions.create("background-color", {
1362
+ duration: o.transitions.duration.shorter,
1363
+ easing: o.transitions.easing.easeOut
1364
+ }),
1365
+ "&:hover": {
1366
+ backgroundColor: o.vars ? o.vars.palette.FilledInput.hoverBg : i,
1367
+ // Reset on touch devices, it doesn't add specificity
1368
+ "@media (hover: none)": {
1369
+ backgroundColor: o.vars ? o.vars.palette.FilledInput.bg : r
1370
+ }
1371
+ },
1372
+ [`&.${j.focused}`]: {
1373
+ backgroundColor: o.vars ? o.vars.palette.FilledInput.bg : r
1374
+ },
1375
+ [`&.${j.disabled}`]: {
1376
+ backgroundColor: o.vars ? o.vars.palette.FilledInput.disabledBg : p
1377
+ },
1378
+ variants: [{
1379
+ props: ({
1380
+ ownerState: a
1381
+ }) => !a.disableUnderline,
1382
+ style: {
1383
+ "&::after": {
1384
+ left: 0,
1385
+ bottom: 0,
1386
+ content: '""',
1387
+ position: "absolute",
1388
+ right: 0,
1389
+ transform: "scaleX(0)",
1390
+ transition: o.transitions.create("transform", {
1391
+ duration: o.transitions.duration.shorter,
1392
+ easing: o.transitions.easing.easeOut
1393
+ }),
1394
+ pointerEvents: "none"
1395
+ // Transparent to the hover style.
1396
+ },
1397
+ [`&.${j.focused}:after`]: {
1398
+ // translateX(0) is a workaround for Safari transform scale bug
1399
+ // See https://github.com/mui/material-ui/issues/31766
1400
+ transform: "scaleX(1) translateX(0)"
1401
+ },
1402
+ [`&.${j.error}`]: {
1403
+ "&::before, &::after": {
1404
+ borderBottomColor: (o.vars || o).palette.error.main
1405
+ }
1406
+ },
1407
+ "&::before": {
1408
+ borderBottom: `1px solid ${o.vars ? `rgba(${o.vars.palette.common.onBackgroundChannel} / ${o.vars.opacity.inputUnderline})` : n}`,
1409
+ left: 0,
1410
+ bottom: 0,
1411
+ content: '"\\00a0"',
1412
+ position: "absolute",
1413
+ right: 0,
1414
+ transition: o.transitions.create("border-bottom-color", {
1415
+ duration: o.transitions.duration.shorter
1416
+ }),
1417
+ pointerEvents: "none"
1418
+ // Transparent to the hover style.
1419
+ },
1420
+ [`&:hover:not(.${j.disabled}, .${j.error}):before`]: {
1421
+ borderBottom: `1px solid ${(o.vars || o).palette.text.primary}`
1422
+ },
1423
+ [`&.${j.disabled}:before`]: {
1424
+ borderBottomStyle: "dotted"
1425
+ }
1426
+ }
1427
+ }, ...Object.entries(o.palette).filter(Re()).map(([a]) => {
1428
+ var d;
1429
+ return {
1430
+ props: {
1431
+ disableUnderline: !1,
1432
+ color: a
1433
+ },
1434
+ style: {
1435
+ "&::after": {
1436
+ borderBottom: `2px solid ${(d = (o.vars || o).palette[a]) == null ? void 0 : d.main}`
1437
+ }
1438
+ }
1439
+ };
1440
+ }), {
1441
+ props: ({
1442
+ ownerState: a
1443
+ }) => a.startAdornment,
1444
+ style: {
1445
+ paddingLeft: 12
1446
+ }
1447
+ }, {
1448
+ props: ({
1449
+ ownerState: a
1450
+ }) => a.endAdornment,
1451
+ style: {
1452
+ paddingRight: 12
1453
+ }
1454
+ }, {
1455
+ props: ({
1456
+ ownerState: a
1457
+ }) => a.multiline,
1458
+ style: {
1459
+ padding: "25px 12px 8px"
1460
+ }
1461
+ }, {
1462
+ props: ({
1463
+ ownerState: a,
1464
+ size: d
1465
+ }) => a.multiline && d === "small",
1466
+ style: {
1467
+ paddingTop: 21,
1468
+ paddingBottom: 4
1469
+ }
1470
+ }, {
1471
+ props: ({
1472
+ ownerState: a
1473
+ }) => a.multiline && a.hiddenLabel,
1474
+ style: {
1475
+ paddingTop: 16,
1476
+ paddingBottom: 17
1477
+ }
1478
+ }, {
1479
+ props: ({
1480
+ ownerState: a
1481
+ }) => a.multiline && a.hiddenLabel && a.size === "small",
1482
+ style: {
1483
+ paddingTop: 8,
1484
+ paddingBottom: 9
1485
+ }
1486
+ }]
1487
+ };
1488
+ })), Ko = h(Ne, {
1489
+ name: "MuiFilledInput",
1490
+ slot: "Input",
1491
+ overridesResolver: Pe
1492
+ })(E(({
1493
+ theme: o
1494
+ }) => ({
1495
+ paddingTop: 25,
1496
+ paddingRight: 12,
1497
+ paddingBottom: 8,
1498
+ paddingLeft: 12,
1499
+ ...!o.vars && {
1500
+ "&:-webkit-autofill": {
1501
+ WebkitBoxShadow: o.palette.mode === "light" ? null : "0 0 0 100px #266798 inset",
1502
+ WebkitTextFillColor: o.palette.mode === "light" ? null : "#fff",
1503
+ caretColor: o.palette.mode === "light" ? null : "#fff",
1504
+ borderTopLeftRadius: "inherit",
1505
+ borderTopRightRadius: "inherit"
1506
+ }
1507
+ },
1508
+ ...o.vars && {
1509
+ "&:-webkit-autofill": {
1510
+ borderTopLeftRadius: "inherit",
1511
+ borderTopRightRadius: "inherit"
1512
+ },
1513
+ [o.getColorSchemeSelector("dark")]: {
1514
+ "&:-webkit-autofill": {
1515
+ WebkitBoxShadow: "0 0 0 100px #266798 inset",
1516
+ WebkitTextFillColor: "#fff",
1517
+ caretColor: "#fff"
1518
+ }
1519
+ }
1520
+ },
1521
+ variants: [{
1522
+ props: {
1523
+ size: "small"
1524
+ },
1525
+ style: {
1526
+ paddingTop: 21,
1527
+ paddingBottom: 4
1528
+ }
1529
+ }, {
1530
+ props: ({
1531
+ ownerState: t
1532
+ }) => t.hiddenLabel,
1533
+ style: {
1534
+ paddingTop: 16,
1535
+ paddingBottom: 17
1536
+ }
1537
+ }, {
1538
+ props: ({
1539
+ ownerState: t
1540
+ }) => t.startAdornment,
1541
+ style: {
1542
+ paddingLeft: 0
1543
+ }
1544
+ }, {
1545
+ props: ({
1546
+ ownerState: t
1547
+ }) => t.endAdornment,
1548
+ style: {
1549
+ paddingRight: 0
1550
+ }
1551
+ }, {
1552
+ props: ({
1553
+ ownerState: t
1554
+ }) => t.hiddenLabel && t.size === "small",
1555
+ style: {
1556
+ paddingTop: 8,
1557
+ paddingBottom: 9
1558
+ }
1559
+ }, {
1560
+ props: ({
1561
+ ownerState: t
1562
+ }) => t.multiline,
1563
+ style: {
1564
+ paddingTop: 0,
1565
+ paddingBottom: 0,
1566
+ paddingLeft: 0,
1567
+ paddingRight: 0
1568
+ }
1569
+ }]
1570
+ }))), ue = /* @__PURE__ */ u.forwardRef(function(t, n) {
1571
+ const r = H({
1572
+ props: t,
1573
+ name: "MuiFilledInput"
1574
+ }), {
1575
+ disableUnderline: i = !1,
1576
+ components: p = {},
1577
+ componentsProps: a,
1578
+ fullWidth: d = !1,
1579
+ hiddenLabel: m,
1580
+ // declare here to prevent spreading to DOM
1581
+ inputComponent: g = "input",
1582
+ multiline: f = !1,
1583
+ slotProps: c,
1584
+ slots: O = {},
1585
+ type: R = "text",
1586
+ ...w
1587
+ } = r, T = {
1588
+ ...r,
1589
+ disableUnderline: i,
1590
+ fullWidth: d,
1591
+ inputComponent: g,
1592
+ multiline: f,
1593
+ type: R
1594
+ }, y = qo(r), x = {
1595
+ root: {
1596
+ ownerState: T
1597
+ },
1598
+ input: {
1599
+ ownerState: T
1600
+ }
1601
+ }, C = c ?? a ? Oe(x, c ?? a) : x, I = O.root ?? p.Root ?? _o, N = O.input ?? p.Input ?? Ko;
1602
+ return /* @__PURE__ */ v($e, {
1603
+ slots: {
1604
+ root: I,
1605
+ input: N
1606
+ },
1607
+ componentsProps: C,
1608
+ fullWidth: d,
1609
+ inputComponent: g,
1610
+ multiline: f,
1611
+ ref: n,
1612
+ type: R,
1613
+ ...w,
1614
+ classes: y
1615
+ });
1616
+ });
1617
+ process.env.NODE_ENV !== "production" && (ue.propTypes = {
1618
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
1619
+ // │ These PropTypes are generated from the TypeScript type definitions. │
1620
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
1621
+ // └─────────────────────────────────────────────────────────────────────┘
1622
+ /**
1623
+ * This prop helps users to fill forms faster, especially on mobile devices.
1624
+ * The name can be confusing, as it's more like an autofill.
1625
+ * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).
1626
+ */
1627
+ autoComplete: e.string,
1628
+ /**
1629
+ * If `true`, the `input` element is focused during the first mount.
1630
+ */
1631
+ autoFocus: e.bool,
1632
+ /**
1633
+ * Override or extend the styles applied to the component.
1634
+ */
1635
+ classes: e.object,
1636
+ /**
1637
+ * The color of the component.
1638
+ * It supports both default and custom theme colors, which can be added as shown in the
1639
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
1640
+ * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.
1641
+ */
1642
+ color: e.oneOfType([e.oneOf(["primary", "secondary"]), e.string]),
1643
+ /**
1644
+ * The components used for each slot inside.
1645
+ *
1646
+ * @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.
1647
+ *
1648
+ * @default {}
1649
+ */
1650
+ components: e.shape({
1651
+ Input: e.elementType,
1652
+ Root: e.elementType
1653
+ }),
1654
+ /**
1655
+ * The extra props for the slot components.
1656
+ * You can override the existing props or add new ones.
1657
+ *
1658
+ * @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.
1659
+ *
1660
+ * @default {}
1661
+ */
1662
+ componentsProps: e.shape({
1663
+ input: e.object,
1664
+ root: e.object
1665
+ }),
1666
+ /**
1667
+ * The default value. Use when the component is not controlled.
1668
+ */
1669
+ defaultValue: e.any,
1670
+ /**
1671
+ * If `true`, the component is disabled.
1672
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
1673
+ */
1674
+ disabled: e.bool,
1675
+ /**
1676
+ * If `true`, the input will not have an underline.
1677
+ * @default false
1678
+ */
1679
+ disableUnderline: e.bool,
1680
+ /**
1681
+ * End `InputAdornment` for this component.
1682
+ */
1683
+ endAdornment: e.node,
1684
+ /**
1685
+ * If `true`, the `input` will indicate an error.
1686
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
1687
+ */
1688
+ error: e.bool,
1689
+ /**
1690
+ * If `true`, the `input` will take up the full width of its container.
1691
+ * @default false
1692
+ */
1693
+ fullWidth: e.bool,
1694
+ /**
1695
+ * If `true`, the label is hidden.
1696
+ * This is used to increase density for a `FilledInput`.
1697
+ * Be sure to add `aria-label` to the `input` element.
1698
+ * @default false
1699
+ */
1700
+ hiddenLabel: e.bool,
1701
+ /**
1702
+ * The id of the `input` element.
1703
+ */
1704
+ id: e.string,
1705
+ /**
1706
+ * The component used for the `input` element.
1707
+ * Either a string to use a HTML element or a component.
1708
+ * @default 'input'
1709
+ */
1710
+ inputComponent: e.elementType,
1711
+ /**
1712
+ * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
1713
+ * @default {}
1714
+ */
1715
+ inputProps: e.object,
1716
+ /**
1717
+ * Pass a ref to the `input` element.
1718
+ */
1719
+ inputRef: G,
1720
+ /**
1721
+ * If `dense`, will adjust vertical spacing. This is normally obtained via context from
1722
+ * FormControl.
1723
+ * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.
1724
+ */
1725
+ margin: e.oneOf(["dense", "none"]),
1726
+ /**
1727
+ * Maximum number of rows to display when multiline option is set to true.
1728
+ */
1729
+ maxRows: e.oneOfType([e.number, e.string]),
1730
+ /**
1731
+ * Minimum number of rows to display when multiline option is set to true.
1732
+ */
1733
+ minRows: e.oneOfType([e.number, e.string]),
1734
+ /**
1735
+ * If `true`, a [TextareaAutosize](https://mui.com/material-ui/react-textarea-autosize/) element is rendered.
1736
+ * @default false
1737
+ */
1738
+ multiline: e.bool,
1739
+ /**
1740
+ * Name attribute of the `input` element.
1741
+ */
1742
+ name: e.string,
1743
+ /**
1744
+ * Callback fired when the value is changed.
1745
+ *
1746
+ * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.
1747
+ * You can pull out the new value by accessing `event.target.value` (string).
1748
+ */
1749
+ onChange: e.func,
1750
+ /**
1751
+ * The short hint displayed in the `input` before the user enters a value.
1752
+ */
1753
+ placeholder: e.string,
1754
+ /**
1755
+ * It prevents the user from changing the value of the field
1756
+ * (not from interacting with the field).
1757
+ */
1758
+ readOnly: e.bool,
1759
+ /**
1760
+ * If `true`, the `input` element is required.
1761
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
1762
+ */
1763
+ required: e.bool,
1764
+ /**
1765
+ * Number of rows to display when multiline option is set to true.
1766
+ */
1767
+ rows: e.oneOfType([e.number, e.string]),
1768
+ /**
1769
+ * The extra props for the slot components.
1770
+ * You can override the existing props or add new ones.
1771
+ *
1772
+ * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.
1773
+ *
1774
+ * @default {}
1775
+ */
1776
+ slotProps: e.shape({
1777
+ input: e.object,
1778
+ root: e.object
1779
+ }),
1780
+ /**
1781
+ * The components used for each slot inside.
1782
+ *
1783
+ * This prop is an alias for the `components` prop, which will be deprecated in the future.
1784
+ *
1785
+ * @default {}
1786
+ */
1787
+ slots: e.shape({
1788
+ input: e.elementType,
1789
+ root: e.elementType
1790
+ }),
1791
+ /**
1792
+ * Start `InputAdornment` for this component.
1793
+ */
1794
+ startAdornment: e.node,
1795
+ /**
1796
+ * The system prop that allows defining system overrides as well as additional CSS styles.
1797
+ */
1798
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
1799
+ /**
1800
+ * 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).
1801
+ * @default 'text'
1802
+ */
1803
+ type: e.string,
1804
+ /**
1805
+ * The value of the `input` element, required for a controlled component.
1806
+ */
1807
+ value: e.any
1808
+ });
1809
+ ue && (ue.muiName = "Input");
1810
+ var Ke;
1811
+ const Xo = h("fieldset", {
1812
+ shouldForwardProp: k
1813
+ })({
1814
+ textAlign: "left",
1815
+ position: "absolute",
1816
+ bottom: 0,
1817
+ right: 0,
1818
+ top: -5,
1819
+ left: 0,
1820
+ margin: 0,
1821
+ padding: "0 8px",
1822
+ pointerEvents: "none",
1823
+ borderRadius: "inherit",
1824
+ borderStyle: "solid",
1825
+ borderWidth: 1,
1826
+ overflow: "hidden",
1827
+ minWidth: "0%"
1828
+ }), Ho = h("legend", {
1829
+ shouldForwardProp: k
1830
+ })(E(({
1831
+ theme: o
1832
+ }) => ({
1833
+ float: "unset",
1834
+ // Fix conflict with bootstrap
1835
+ width: "auto",
1836
+ // Fix conflict with bootstrap
1837
+ overflow: "hidden",
1838
+ // Fix Horizontal scroll when label too long
1839
+ variants: [{
1840
+ props: ({
1841
+ ownerState: t
1842
+ }) => !t.withLabel,
1843
+ style: {
1844
+ padding: 0,
1845
+ lineHeight: "11px",
1846
+ // sync with `height` in `legend` styles
1847
+ transition: o.transitions.create("width", {
1848
+ duration: 150,
1849
+ easing: o.transitions.easing.easeOut
1850
+ })
1851
+ }
1852
+ }, {
1853
+ props: ({
1854
+ ownerState: t
1855
+ }) => t.withLabel,
1856
+ style: {
1857
+ display: "block",
1858
+ // Fix conflict with normalize.css and sanitize.css
1859
+ padding: 0,
1860
+ height: 11,
1861
+ // sync with `lineHeight` in `legend` styles
1862
+ fontSize: "0.75em",
1863
+ visibility: "hidden",
1864
+ maxWidth: 0.01,
1865
+ transition: o.transitions.create("max-width", {
1866
+ duration: 50,
1867
+ easing: o.transitions.easing.easeOut
1868
+ }),
1869
+ whiteSpace: "nowrap",
1870
+ "& > span": {
1871
+ paddingLeft: 5,
1872
+ paddingRight: 5,
1873
+ display: "inline-block",
1874
+ opacity: 0,
1875
+ visibility: "visible"
1876
+ }
1877
+ }
1878
+ }, {
1879
+ props: ({
1880
+ ownerState: t
1881
+ }) => t.withLabel && t.notched,
1882
+ style: {
1883
+ maxWidth: "100%",
1884
+ transition: o.transitions.create("max-width", {
1885
+ duration: 100,
1886
+ easing: o.transitions.easing.easeOut,
1887
+ delay: 50
1888
+ })
1889
+ }
1890
+ }]
1891
+ })));
1892
+ function Je(o) {
1893
+ const {
1894
+ children: t,
1895
+ classes: n,
1896
+ className: r,
1897
+ label: i,
1898
+ notched: p,
1899
+ ...a
1900
+ } = o, d = i != null && i !== "", m = {
1901
+ ...o,
1902
+ notched: p,
1903
+ withLabel: d
1904
+ };
1905
+ return /* @__PURE__ */ v(Xo, {
1906
+ "aria-hidden": !0,
1907
+ className: r,
1908
+ ownerState: m,
1909
+ ...a,
1910
+ children: /* @__PURE__ */ v(Ho, {
1911
+ ownerState: m,
1912
+ children: d ? /* @__PURE__ */ v("span", {
1913
+ children: i
1914
+ }) : (
1915
+ // notranslate needed while Google Translate will not fix zero-width space issue
1916
+ Ke || (Ke = /* @__PURE__ */ v("span", {
1917
+ className: "notranslate",
1918
+ children: "​"
1919
+ }))
1920
+ )
1921
+ })
1922
+ });
1923
+ }
1924
+ process.env.NODE_ENV !== "production" && (Je.propTypes = {
1925
+ /**
1926
+ * The content of the component.
1927
+ */
1928
+ children: e.node,
1929
+ /**
1930
+ * Override or extend the styles applied to the component.
1931
+ */
1932
+ classes: e.object,
1933
+ /**
1934
+ * @ignore
1935
+ */
1936
+ className: e.string,
1937
+ /**
1938
+ * The label.
1939
+ */
1940
+ label: e.node,
1941
+ /**
1942
+ * If `true`, the outline is notched to accommodate the label.
1943
+ */
1944
+ notched: e.bool.isRequired,
1945
+ /**
1946
+ * @ignore
1947
+ */
1948
+ style: e.object
1949
+ });
1950
+ function Go(o) {
1951
+ return U("MuiOutlinedInput", o);
1952
+ }
1953
+ const P = {
1954
+ ...xe,
1955
+ ...D("MuiOutlinedInput", ["root", "notchedOutline", "input"])
1956
+ }, Yo = (o) => {
1957
+ const {
1958
+ classes: t
1959
+ } = o, r = V({
1960
+ root: ["root"],
1961
+ notchedOutline: ["notchedOutline"],
1962
+ input: ["input"]
1963
+ }, Go, t);
1964
+ return {
1965
+ ...t,
1966
+ // forward classes to the InputBase
1967
+ ...r
1968
+ };
1969
+ }, Zo = h(we, {
1970
+ shouldForwardProp: (o) => k(o) || o === "classes",
1971
+ name: "MuiOutlinedInput",
1972
+ slot: "Root",
1973
+ overridesResolver: Te
1974
+ })(E(({
1975
+ theme: o
1976
+ }) => {
1977
+ const t = o.palette.mode === "light" ? "rgba(0, 0, 0, 0.23)" : "rgba(255, 255, 255, 0.23)";
1978
+ return {
1979
+ position: "relative",
1980
+ borderRadius: (o.vars || o).shape.borderRadius,
1981
+ [`&:hover .${P.notchedOutline}`]: {
1982
+ borderColor: (o.vars || o).palette.text.primary
1983
+ },
1984
+ // Reset on touch devices, it doesn't add specificity
1985
+ "@media (hover: none)": {
1986
+ [`&:hover .${P.notchedOutline}`]: {
1987
+ borderColor: o.vars ? `rgba(${o.vars.palette.common.onBackgroundChannel} / 0.23)` : t
1988
+ }
1989
+ },
1990
+ [`&.${P.focused} .${P.notchedOutline}`]: {
1991
+ borderWidth: 2
1992
+ },
1993
+ variants: [...Object.entries(o.palette).filter(Re()).map(([n]) => ({
1994
+ props: {
1995
+ color: n
1996
+ },
1997
+ style: {
1998
+ [`&.${P.focused} .${P.notchedOutline}`]: {
1999
+ borderColor: (o.vars || o).palette[n].main
2000
+ }
2001
+ }
2002
+ })), {
2003
+ props: {},
2004
+ // to overide the above style
2005
+ style: {
2006
+ [`&.${P.error} .${P.notchedOutline}`]: {
2007
+ borderColor: (o.vars || o).palette.error.main
2008
+ },
2009
+ [`&.${P.disabled} .${P.notchedOutline}`]: {
2010
+ borderColor: (o.vars || o).palette.action.disabled
2011
+ }
2012
+ }
2013
+ }, {
2014
+ props: ({
2015
+ ownerState: n
2016
+ }) => n.startAdornment,
2017
+ style: {
2018
+ paddingLeft: 14
2019
+ }
2020
+ }, {
2021
+ props: ({
2022
+ ownerState: n
2023
+ }) => n.endAdornment,
2024
+ style: {
2025
+ paddingRight: 14
2026
+ }
2027
+ }, {
2028
+ props: ({
2029
+ ownerState: n
2030
+ }) => n.multiline,
2031
+ style: {
2032
+ padding: "16.5px 14px"
2033
+ }
2034
+ }, {
2035
+ props: ({
2036
+ ownerState: n,
2037
+ size: r
2038
+ }) => n.multiline && r === "small",
2039
+ style: {
2040
+ padding: "8.5px 14px"
2041
+ }
2042
+ }]
2043
+ };
2044
+ })), Jo = h(Je, {
2045
+ name: "MuiOutlinedInput",
2046
+ slot: "NotchedOutline",
2047
+ overridesResolver: (o, t) => t.notchedOutline
2048
+ })(E(({
2049
+ theme: o
2050
+ }) => {
2051
+ const t = o.palette.mode === "light" ? "rgba(0, 0, 0, 0.23)" : "rgba(255, 255, 255, 0.23)";
2052
+ return {
2053
+ borderColor: o.vars ? `rgba(${o.vars.palette.common.onBackgroundChannel} / 0.23)` : t
2054
+ };
2055
+ })), Qo = h(Ne, {
2056
+ name: "MuiOutlinedInput",
2057
+ slot: "Input",
2058
+ overridesResolver: Pe
2059
+ })(E(({
2060
+ theme: o
2061
+ }) => ({
2062
+ padding: "16.5px 14px",
2063
+ ...!o.vars && {
2064
+ "&:-webkit-autofill": {
2065
+ WebkitBoxShadow: o.palette.mode === "light" ? null : "0 0 0 100px #266798 inset",
2066
+ WebkitTextFillColor: o.palette.mode === "light" ? null : "#fff",
2067
+ caretColor: o.palette.mode === "light" ? null : "#fff",
2068
+ borderRadius: "inherit"
2069
+ }
2070
+ },
2071
+ ...o.vars && {
2072
+ "&:-webkit-autofill": {
2073
+ borderRadius: "inherit"
2074
+ },
2075
+ [o.getColorSchemeSelector("dark")]: {
2076
+ "&:-webkit-autofill": {
2077
+ WebkitBoxShadow: "0 0 0 100px #266798 inset",
2078
+ WebkitTextFillColor: "#fff",
2079
+ caretColor: "#fff"
2080
+ }
2081
+ }
2082
+ },
2083
+ variants: [{
2084
+ props: {
2085
+ size: "small"
2086
+ },
2087
+ style: {
2088
+ padding: "8.5px 14px"
2089
+ }
2090
+ }, {
2091
+ props: ({
2092
+ ownerState: t
2093
+ }) => t.multiline,
2094
+ style: {
2095
+ padding: 0
2096
+ }
2097
+ }, {
2098
+ props: ({
2099
+ ownerState: t
2100
+ }) => t.startAdornment,
2101
+ style: {
2102
+ paddingLeft: 0
2103
+ }
2104
+ }, {
2105
+ props: ({
2106
+ ownerState: t
2107
+ }) => t.endAdornment,
2108
+ style: {
2109
+ paddingRight: 0
2110
+ }
2111
+ }]
2112
+ }))), ce = /* @__PURE__ */ u.forwardRef(function(t, n) {
2113
+ var r;
2114
+ const i = H({
2115
+ props: t,
2116
+ name: "MuiOutlinedInput"
2117
+ }), {
2118
+ components: p = {},
2119
+ fullWidth: a = !1,
2120
+ inputComponent: d = "input",
2121
+ label: m,
2122
+ multiline: g = !1,
2123
+ notched: f,
2124
+ slots: c = {},
2125
+ type: O = "text",
2126
+ ...R
2127
+ } = i, w = Yo(i), T = Ie(), y = Ce({
2128
+ props: i,
2129
+ muiFormControl: T,
2130
+ states: ["color", "disabled", "error", "focused", "hiddenLabel", "size", "required"]
2131
+ }), x = {
2132
+ ...i,
2133
+ color: y.color || "primary",
2134
+ disabled: y.disabled,
2135
+ error: y.error,
2136
+ focused: y.focused,
2137
+ formControl: T,
2138
+ fullWidth: a,
2139
+ hiddenLabel: y.hiddenLabel,
2140
+ multiline: g,
2141
+ size: y.size,
2142
+ type: O
2143
+ }, C = c.root ?? p.Root ?? Zo, I = c.input ?? p.Input ?? Qo;
2144
+ return /* @__PURE__ */ v($e, {
2145
+ slots: {
2146
+ root: C,
2147
+ input: I
2148
+ },
2149
+ renderSuffix: (N) => /* @__PURE__ */ v(Jo, {
2150
+ ownerState: x,
2151
+ className: w.notchedOutline,
2152
+ label: m != null && m !== "" && y.required ? r || (r = /* @__PURE__ */ Se(u.Fragment, {
2153
+ children: [m, " ", "*"]
2154
+ })) : m,
2155
+ notched: typeof f < "u" ? f : !!(N.startAdornment || N.filled || N.focused)
2156
+ }),
2157
+ fullWidth: a,
2158
+ inputComponent: d,
2159
+ multiline: g,
2160
+ ref: n,
2161
+ type: O,
2162
+ ...R,
2163
+ classes: {
2164
+ ...w,
2165
+ notchedOutline: null
2166
+ }
2167
+ });
2168
+ });
2169
+ process.env.NODE_ENV !== "production" && (ce.propTypes = {
2170
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
2171
+ // │ These PropTypes are generated from the TypeScript type definitions. │
2172
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
2173
+ // └─────────────────────────────────────────────────────────────────────┘
2174
+ /**
2175
+ * This prop helps users to fill forms faster, especially on mobile devices.
2176
+ * The name can be confusing, as it's more like an autofill.
2177
+ * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).
2178
+ */
2179
+ autoComplete: e.string,
2180
+ /**
2181
+ * If `true`, the `input` element is focused during the first mount.
2182
+ */
2183
+ autoFocus: e.bool,
2184
+ /**
2185
+ * Override or extend the styles applied to the component.
2186
+ */
2187
+ classes: e.object,
2188
+ /**
2189
+ * The color of the component.
2190
+ * It supports both default and custom theme colors, which can be added as shown in the
2191
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
2192
+ * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.
2193
+ */
2194
+ color: e.oneOfType([e.oneOf(["primary", "secondary"]), e.string]),
2195
+ /**
2196
+ * The components used for each slot inside.
2197
+ *
2198
+ * @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.
2199
+ *
2200
+ * @default {}
2201
+ */
2202
+ components: e.shape({
2203
+ Input: e.elementType,
2204
+ Root: e.elementType
2205
+ }),
2206
+ /**
2207
+ * The default value. Use when the component is not controlled.
2208
+ */
2209
+ defaultValue: e.any,
2210
+ /**
2211
+ * If `true`, the component is disabled.
2212
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
2213
+ */
2214
+ disabled: e.bool,
2215
+ /**
2216
+ * End `InputAdornment` for this component.
2217
+ */
2218
+ endAdornment: e.node,
2219
+ /**
2220
+ * If `true`, the `input` will indicate an error.
2221
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
2222
+ */
2223
+ error: e.bool,
2224
+ /**
2225
+ * If `true`, the `input` will take up the full width of its container.
2226
+ * @default false
2227
+ */
2228
+ fullWidth: e.bool,
2229
+ /**
2230
+ * The id of the `input` element.
2231
+ */
2232
+ id: e.string,
2233
+ /**
2234
+ * The component used for the `input` element.
2235
+ * Either a string to use a HTML element or a component.
2236
+ * @default 'input'
2237
+ */
2238
+ inputComponent: e.elementType,
2239
+ /**
2240
+ * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
2241
+ * @default {}
2242
+ */
2243
+ inputProps: e.object,
2244
+ /**
2245
+ * Pass a ref to the `input` element.
2246
+ */
2247
+ inputRef: G,
2248
+ /**
2249
+ * The label of the `input`. It is only used for layout. The actual labelling
2250
+ * is handled by `InputLabel`.
2251
+ */
2252
+ label: e.node,
2253
+ /**
2254
+ * If `dense`, will adjust vertical spacing. This is normally obtained via context from
2255
+ * FormControl.
2256
+ * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.
2257
+ */
2258
+ margin: e.oneOf(["dense", "none"]),
2259
+ /**
2260
+ * Maximum number of rows to display when multiline option is set to true.
2261
+ */
2262
+ maxRows: e.oneOfType([e.number, e.string]),
2263
+ /**
2264
+ * Minimum number of rows to display when multiline option is set to true.
2265
+ */
2266
+ minRows: e.oneOfType([e.number, e.string]),
2267
+ /**
2268
+ * If `true`, a [TextareaAutosize](https://mui.com/material-ui/react-textarea-autosize/) element is rendered.
2269
+ * @default false
2270
+ */
2271
+ multiline: e.bool,
2272
+ /**
2273
+ * Name attribute of the `input` element.
2274
+ */
2275
+ name: e.string,
2276
+ /**
2277
+ * If `true`, the outline is notched to accommodate the label.
2278
+ */
2279
+ notched: e.bool,
2280
+ /**
2281
+ * Callback fired when the value is changed.
2282
+ *
2283
+ * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.
2284
+ * You can pull out the new value by accessing `event.target.value` (string).
2285
+ */
2286
+ onChange: e.func,
2287
+ /**
2288
+ * The short hint displayed in the `input` before the user enters a value.
2289
+ */
2290
+ placeholder: e.string,
2291
+ /**
2292
+ * It prevents the user from changing the value of the field
2293
+ * (not from interacting with the field).
2294
+ */
2295
+ readOnly: e.bool,
2296
+ /**
2297
+ * If `true`, the `input` element is required.
2298
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
2299
+ */
2300
+ required: e.bool,
2301
+ /**
2302
+ * Number of rows to display when multiline option is set to true.
2303
+ */
2304
+ rows: e.oneOfType([e.number, e.string]),
2305
+ /**
2306
+ * The components used for each slot inside.
2307
+ *
2308
+ * This prop is an alias for the `components` prop, which will be deprecated in the future.
2309
+ *
2310
+ * @default {}
2311
+ */
2312
+ slots: e.shape({
2313
+ input: e.elementType,
2314
+ root: e.elementType
2315
+ }),
2316
+ /**
2317
+ * Start `InputAdornment` for this component.
2318
+ */
2319
+ startAdornment: e.node,
2320
+ /**
2321
+ * The system prop that allows defining system overrides as well as additional CSS styles.
2322
+ */
2323
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
2324
+ /**
2325
+ * 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).
2326
+ * @default 'text'
2327
+ */
2328
+ type: e.string,
2329
+ /**
2330
+ * The value of the `input` element, required for a controlled component.
2331
+ */
2332
+ value: e.any
2333
+ });
2334
+ ce && (ce.muiName = "Input");
2335
+ const et = (o) => {
2336
+ const {
2337
+ classes: t
2338
+ } = o;
2339
+ return t;
2340
+ }, Ee = {
2341
+ name: "MuiSelect",
2342
+ overridesResolver: (o, t) => t.root,
2343
+ shouldForwardProp: (o) => k(o) && o !== "variant",
2344
+ slot: "Root"
2345
+ }, ot = h(de, Ee)(""), tt = h(ce, Ee)(""), nt = h(ue, Ee)(""), Qe = /* @__PURE__ */ u.forwardRef(function(t, n) {
2346
+ const r = H({
2347
+ name: "MuiSelect",
2348
+ props: t
2349
+ }), {
2350
+ autoWidth: i = !1,
2351
+ children: p,
2352
+ classes: a = {},
2353
+ className: d,
2354
+ defaultOpen: m = !1,
2355
+ displayEmpty: g = !1,
2356
+ IconComponent: f = zo,
2357
+ id: c,
2358
+ input: O,
2359
+ inputProps: R,
2360
+ label: w,
2361
+ labelId: T,
2362
+ MenuProps: y,
2363
+ multiple: x = !1,
2364
+ native: C = !1,
2365
+ onClose: I,
2366
+ onOpen: N,
2367
+ open: L,
2368
+ renderValue: Y,
2369
+ SelectDisplayProps: be,
2370
+ variant: Z = "outlined",
2371
+ ...J
2372
+ } = r, Q = C ? Ye : Ze, ee = Ie(), B = Ce({
2373
+ props: r,
2374
+ muiFormControl: ee,
2375
+ states: ["variant", "error"]
2376
+ }), $ = B.variant || Z, q = {
2377
+ ...r,
2378
+ variant: $,
2379
+ classes: a
2380
+ }, oe = et(q), {
2381
+ root: Fe,
2382
+ ..._
2383
+ } = oe, b = O || {
2384
+ standard: /* @__PURE__ */ v(ot, {
2385
+ ownerState: q
2386
+ }),
2387
+ outlined: /* @__PURE__ */ v(tt, {
2388
+ label: w,
2389
+ ownerState: q
2390
+ }),
2391
+ filled: /* @__PURE__ */ v(nt, {
2392
+ ownerState: q
2393
+ })
2394
+ }[$], te = Xe(n, So(b));
2395
+ return /* @__PURE__ */ v(u.Fragment, {
2396
+ children: /* @__PURE__ */ u.cloneElement(b, {
2397
+ // Most of the logic is implemented in `SelectInput`.
2398
+ // The `Select` component is a simple API wrapper to expose something better to play with.
2399
+ inputComponent: Q,
2400
+ inputProps: {
2401
+ children: p,
2402
+ error: B.error,
2403
+ IconComponent: f,
2404
+ variant: $,
2405
+ type: void 0,
2406
+ // We render a select. We can ignore the type provided by the `Input`.
2407
+ multiple: x,
2408
+ ...C ? {
2409
+ id: c
2410
+ } : {
2411
+ autoWidth: i,
2412
+ defaultOpen: m,
2413
+ displayEmpty: g,
2414
+ labelId: T,
2415
+ MenuProps: y,
2416
+ onClose: I,
2417
+ onOpen: N,
2418
+ open: L,
2419
+ renderValue: Y,
2420
+ SelectDisplayProps: {
2421
+ id: c,
2422
+ ...be
2423
+ }
2424
+ },
2425
+ ...R,
2426
+ classes: R ? Oe(_, R.classes) : _,
2427
+ ...O ? O.props.inputProps : {}
2428
+ },
2429
+ ...(x && C || g) && $ === "outlined" ? {
2430
+ notched: !0
2431
+ } : {},
2432
+ ref: te,
2433
+ className: fe(b.props.className, d, oe.root),
2434
+ // 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.
2435
+ ...!O && {
2436
+ variant: $
2437
+ },
2438
+ ...J
2439
+ })
2440
+ });
2441
+ });
2442
+ process.env.NODE_ENV !== "production" && (Qe.propTypes = {
2443
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
2444
+ // │ These PropTypes are generated from the TypeScript type definitions. │
2445
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
2446
+ // └─────────────────────────────────────────────────────────────────────┘
2447
+ /**
2448
+ * If `true`, the width of the popover will automatically be set according to the items inside the
2449
+ * menu, otherwise it will be at least the width of the select input.
2450
+ * @default false
2451
+ */
2452
+ autoWidth: e.bool,
2453
+ /**
2454
+ * The option elements to populate the select with.
2455
+ * Can be some `MenuItem` when `native` is false and `option` when `native` is true.
2456
+ *
2457
+ * ⚠️The `MenuItem` elements **must** be direct descendants when `native` is false.
2458
+ */
2459
+ children: e.node,
2460
+ /**
2461
+ * Override or extend the styles applied to the component.
2462
+ * @default {}
2463
+ */
2464
+ classes: e.object,
2465
+ /**
2466
+ * @ignore
2467
+ */
2468
+ className: e.string,
2469
+ /**
2470
+ * If `true`, the component is initially open. Use when the component open state is not controlled (i.e. the `open` prop is not defined).
2471
+ * You can only use it when the `native` prop is `false` (default).
2472
+ * @default false
2473
+ */
2474
+ defaultOpen: e.bool,
2475
+ /**
2476
+ * The default value. Use when the component is not controlled.
2477
+ */
2478
+ defaultValue: e.any,
2479
+ /**
2480
+ * If `true`, a value is displayed even if no items are selected.
2481
+ *
2482
+ * In order to display a meaningful value, a function can be passed to the `renderValue` prop which
2483
+ * returns the value to be displayed when no items are selected.
2484
+ *
2485
+ * ⚠️ When using this prop, make sure the label doesn't overlap with the empty displayed value.
2486
+ * The label should either be hidden or forced to a shrunk state.
2487
+ * @default false
2488
+ */
2489
+ displayEmpty: e.bool,
2490
+ /**
2491
+ * The icon that displays the arrow.
2492
+ * @default ArrowDropDownIcon
2493
+ */
2494
+ IconComponent: e.elementType,
2495
+ /**
2496
+ * The `id` of the wrapper element or the `select` element when `native`.
2497
+ */
2498
+ id: e.string,
2499
+ /**
2500
+ * An `Input` element; does not have to be a material-ui specific `Input`.
2501
+ */
2502
+ input: e.element,
2503
+ /**
2504
+ * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
2505
+ * When `native` is `true`, the attributes are applied on the `select` element.
2506
+ */
2507
+ inputProps: e.object,
2508
+ /**
2509
+ * See [OutlinedInput#label](https://mui.com/material-ui/api/outlined-input/#props)
2510
+ */
2511
+ label: e.node,
2512
+ /**
2513
+ * The ID of an element that acts as an additional label. The Select will
2514
+ * be labelled by the additional label and the selected value.
2515
+ */
2516
+ labelId: e.string,
2517
+ /**
2518
+ * Props applied to the [`Menu`](https://mui.com/material-ui/api/menu/) element.
2519
+ */
2520
+ MenuProps: e.object,
2521
+ /**
2522
+ * If `true`, `value` must be an array and the menu will support multiple selections.
2523
+ * @default false
2524
+ */
2525
+ multiple: e.bool,
2526
+ /**
2527
+ * If `true`, the component uses a native `select` element.
2528
+ * @default false
2529
+ */
2530
+ native: e.bool,
2531
+ /**
2532
+ * Callback fired when a menu item is selected.
2533
+ *
2534
+ * @param {SelectChangeEvent<Value>} event The event source of the callback.
2535
+ * You can pull out the new value by accessing `event.target.value` (any).
2536
+ * **Warning**: This is a generic event, not a change event, unless the change event is caused by browser autofill.
2537
+ * @param {object} [child] The react element that was selected when `native` is `false` (default).
2538
+ */
2539
+ onChange: e.func,
2540
+ /**
2541
+ * Callback fired when the component requests to be closed.
2542
+ * Use it in either controlled (see the `open` prop), or uncontrolled mode (to detect when the Select collapses).
2543
+ *
2544
+ * @param {object} event The event source of the callback.
2545
+ */
2546
+ onClose: e.func,
2547
+ /**
2548
+ * Callback fired when the component requests to be opened.
2549
+ * Use it in either controlled (see the `open` prop), or uncontrolled mode (to detect when the Select expands).
2550
+ *
2551
+ * @param {object} event The event source of the callback.
2552
+ */
2553
+ onOpen: e.func,
2554
+ /**
2555
+ * If `true`, the component is shown.
2556
+ * You can only use it when the `native` prop is `false` (default).
2557
+ */
2558
+ open: e.bool,
2559
+ /**
2560
+ * Render the selected value.
2561
+ * You can only use it when the `native` prop is `false` (default).
2562
+ *
2563
+ * @param {any} value The `value` provided to the component.
2564
+ * @returns {ReactNode}
2565
+ */
2566
+ renderValue: e.func,
2567
+ /**
2568
+ * Props applied to the clickable div element.
2569
+ */
2570
+ SelectDisplayProps: e.object,
2571
+ /**
2572
+ * The system prop that allows defining system overrides as well as additional CSS styles.
2573
+ */
2574
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
2575
+ /**
2576
+ * The `input` value. Providing an empty string will select no options.
2577
+ * Set to an empty string `''` if you don't want any of the available options to be selected.
2578
+ *
2579
+ * If the value is an object it must have reference equality with the option in order to be selected.
2580
+ * If the value is not an object, the string representation must match with the string representation of the option in order to be selected.
2581
+ */
2582
+ value: e.oneOfType([e.oneOf([""]), e.any]),
2583
+ /**
2584
+ * The variant to use.
2585
+ * @default 'outlined'
2586
+ */
2587
+ variant: e.oneOf(["filled", "outlined", "standard"])
2588
+ });
2589
+ Qe.muiName = "Select";
2590
+ export {
2591
+ ue as F,
2592
+ de as I,
2593
+ ce as O,
2594
+ Qe as S,
2595
+ ko as a,
2596
+ It as b,
2597
+ No as c,
2598
+ Lo as d,
2599
+ Ro as g,
2600
+ K as i,
2601
+ X as s
2602
+ };