@cgi-learning-hub/ui 1.3.2 → 1.3.3-dev.1732123246

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 (275) hide show
  1. package/dist/Backdrop-DorR8O-b.js +359 -0
  2. package/dist/Backdrop-cE8nccLi.cjs +1 -0
  3. package/dist/{Box-a6v7fn61.js → Box-BTNw-FYi.js} +8 -8
  4. package/dist/{Box-D61CmHcZ.cjs → Box-Y_dUbq3W.cjs} +1 -1
  5. package/dist/{Button-B8Vr_qVd.js → Button--paERYBc.js} +4 -4
  6. package/dist/{Button-elp97nQ8.cjs → Button-TBA8S65S.cjs} +1 -1
  7. package/dist/{ButtonBase-Y5TK5SRu.js → ButtonBase-B0gJT_ti.js} +228 -236
  8. package/dist/ButtonBase-DKxpvXo7.cjs +74 -0
  9. package/dist/Card-BVJgnURR.js +74 -0
  10. package/dist/Card-DBGYwd3H.cjs +1 -0
  11. package/dist/Checkbox-OTMaikud.cjs +1 -0
  12. package/dist/Checkbox-aBoDjdQG.js +241 -0
  13. package/dist/{CircularProgress-DU3DJQfF.js → CircularProgress-CIqTwP6H.js} +4 -4
  14. package/dist/{CircularProgress-DDIZxeFH.cjs → CircularProgress-DjNvPtUm.cjs} +7 -7
  15. package/dist/DatePicker-DGRD-CdO.cjs +14 -0
  16. package/dist/DatePicker-DXgVCuAd.js +10814 -0
  17. package/dist/{DefaultPropsProvider-7QnSWHxy.js → DefaultPropsProvider-StV_SUuk.js} +25 -25
  18. package/dist/{DefaultPropsProvider-eEVEiLDf.cjs → DefaultPropsProvider-eVMpAUQg.cjs} +1 -1
  19. package/dist/DialogContent-C0L4r0-p.cjs +1 -0
  20. package/dist/DialogContent-CP2NOfUr.js +602 -0
  21. package/dist/DialogTitle-Couh2TzJ.js +134 -0
  22. package/dist/DialogTitle-DemSKN6H.cjs +1 -0
  23. package/dist/FormGroup-CcM69JIS.js +348 -0
  24. package/dist/FormGroup-KOLND6rE.cjs +1 -0
  25. package/dist/FormLabel-C506NT5o.cjs +2 -0
  26. package/dist/FormLabel-wDh-AEMQ.js +417 -0
  27. package/dist/Grow-4QU1bnXQ.js +193 -0
  28. package/dist/Grow-C_nN9VuE.cjs +1 -0
  29. package/dist/IconButton-5LMERRPL.cjs +2 -0
  30. package/dist/{IconButton-C7H_G1LX.js → IconButton-CsqR1453.js} +5 -5
  31. package/dist/InputAdornment-DgT008NI.cjs +1 -0
  32. package/dist/{InputAdornment-CPJFY_m_.js → InputAdornment-bXTpzNQ2.js} +5 -5
  33. package/dist/InputBase-Cpx39cny.cjs +3 -0
  34. package/dist/{InputBase-5GB2c2J6.js → InputBase-VKt_ajuq.js} +185 -207
  35. package/dist/Link-6UH3Aljp.cjs +1 -0
  36. package/dist/Link-CPyeYGpa.js +266 -0
  37. package/dist/MenuItem-BFkBwBkN.js +277 -0
  38. package/dist/MenuItem-BxXCEc8h.cjs +1 -0
  39. package/dist/Modal-BDx2_UzP.js +750 -0
  40. package/dist/Modal-BLMnkdGb.cjs +2 -0
  41. package/dist/Paper-CMUbp6SX.js +185 -0
  42. package/dist/Paper-n4KgM09K.cjs +2 -0
  43. package/dist/Popper-D_UryU8v.js +1407 -0
  44. package/dist/Popper-DzQZEFYT.cjs +4 -0
  45. package/dist/Portal-C4QgaMKl.cjs +1 -0
  46. package/dist/Portal-DVy9JFBN.js +86 -0
  47. package/dist/Select-CcnCBhBN.js +3555 -0
  48. package/dist/Select-CnFa2_je.cjs +9 -0
  49. package/dist/{Stack-CutIWKkG.js → Stack-CKjrTRJB.js} +12 -12
  50. package/dist/{Stack-656bqKiW.cjs → Stack-elRjtOGk.cjs} +1 -1
  51. package/dist/SwitchBase-DWfUIgEW.cjs +1 -0
  52. package/dist/SwitchBase-DYa1wGSu.js +261 -0
  53. package/dist/{Tooltip-DqLAZimE.js → TableSortLabel-Czgy_sW5.js} +2998 -5191
  54. package/dist/TableSortLabel-Ppl9Q-SZ.cjs +98 -0
  55. package/dist/Tabs-CUpcnsPl.cjs +4 -0
  56. package/dist/{Tabs-CKic46Op.js → Tabs-RxcUgknI.js} +284 -282
  57. package/dist/TextField-DorMAtUh.js +547 -0
  58. package/dist/TextField-DvGLmvG1.cjs +1 -0
  59. package/dist/Tooltip-B4e9QdHI.js +697 -0
  60. package/dist/Tooltip-CPAH20AZ.cjs +4 -0
  61. package/dist/{Typography-DsJC595c.js → Typography-B29dnCv3.js} +4 -4
  62. package/dist/{Typography-CreZW2v6.cjs → Typography-DyMSnhvs.cjs} +1 -1
  63. package/dist/assets/styles.css +1 -1
  64. package/dist/assets/styles2.css +1 -1
  65. package/dist/chainPropTypes-CEUi6Jb4.cjs +1 -0
  66. package/dist/chainPropTypes-D9lkm76m.js +8 -0
  67. package/dist/components/Button/Button.cjs.js +1 -1
  68. package/dist/components/Button/Button.es.js +6 -6
  69. package/dist/components/DatePicker/DatePicker.cjs.js +1 -1
  70. package/dist/components/DatePicker/DatePicker.es.js +2 -2
  71. package/dist/components/DatePicker/index.cjs.js +1 -1
  72. package/dist/components/DatePicker/index.es.js +1 -1
  73. package/dist/components/Dropzone/Dropzone.cjs.js +1 -1
  74. package/dist/components/Dropzone/Dropzone.es.js +4 -4
  75. package/dist/components/EmptyState/EmptyState.cjs.js +1 -1
  76. package/dist/components/EmptyState/EmptyState.es.js +2 -2
  77. package/dist/components/FileList/FileList.cjs.js +1 -1
  78. package/dist/components/FileList/FileList.es.js +1 -1
  79. package/dist/components/FileList/FileListItem.cjs.js +1 -1
  80. package/dist/components/FileList/FileListItem.es.js +6 -6
  81. package/dist/components/Heading/Heading.cjs.js +1 -1
  82. package/dist/components/Heading/Heading.es.js +2 -2
  83. package/dist/components/Loader/Loader.cjs.js +1 -1
  84. package/dist/components/Loader/Loader.es.js +2 -2
  85. package/dist/components/LoaderBackdrop/LoaderBackdrop.cjs.js +1 -1
  86. package/dist/components/LoaderBackdrop/LoaderBackdrop.es.js +3 -3
  87. package/dist/components/PasswordInput/PasswordInput.cjs.js +1 -1
  88. package/dist/components/PasswordInput/PasswordInput.es.js +5 -5
  89. package/dist/components/SearchInput/SearchInput.cjs.js +1 -1
  90. package/dist/components/SearchInput/SearchInput.es.js +4 -4
  91. package/dist/components/TextInput/TextInput.cjs.js +1 -1
  92. package/dist/components/TextInput/TextInput.es.js +1 -1
  93. package/dist/components/index.cjs.js +1 -1
  94. package/dist/components/index.es.js +280 -269
  95. package/dist/components/stories/Alert.stories.cjs.js +1 -0
  96. package/dist/components/stories/Alert.stories.d.ts +9 -0
  97. package/dist/components/stories/Alert.stories.es.js +32 -0
  98. package/dist/components/stories/Button.stories.cjs.js +1 -0
  99. package/dist/components/stories/Button.stories.d.ts +8 -0
  100. package/dist/components/stories/Button.stories.es.js +43 -0
  101. package/dist/components/stories/Card.stories.cjs.js +1 -0
  102. package/dist/components/stories/Card.stories.d.ts +7 -0
  103. package/dist/components/stories/Card.stories.es.js +193 -0
  104. package/dist/components/stories/Checkbox.stories.cjs.js +1 -0
  105. package/dist/components/stories/Checkbox.stories.d.ts +10 -0
  106. package/dist/components/stories/Checkbox.stories.es.js +28 -0
  107. package/dist/components/stories/DatePicker.stories.cjs.js +1 -0
  108. package/dist/components/stories/DatePicker.stories.d.ts +6 -0
  109. package/dist/components/stories/DatePicker.stories.es.js +13 -0
  110. package/dist/components/stories/Dialog.stories.cjs.js +1 -0
  111. package/dist/components/stories/Dialog.stories.d.ts +7 -0
  112. package/dist/components/stories/Dialog.stories.es.js +33 -0
  113. package/dist/components/stories/Dropzone.stories.cjs.js +1 -0
  114. package/dist/components/stories/Dropzone.stories.d.ts +6 -0
  115. package/dist/components/stories/Dropzone.stories.es.js +14 -0
  116. package/dist/components/stories/EmptyState.stories.cjs.js +1 -0
  117. package/dist/components/stories/EmptyState.stories.d.ts +6 -0
  118. package/dist/components/stories/EmptyState.stories.es.js +14 -0
  119. package/dist/components/stories/FileList.stories.cjs.js +1 -0
  120. package/dist/components/stories/FileList.stories.d.ts +6 -0
  121. package/dist/components/stories/FileList.stories.es.js +26 -0
  122. package/dist/components/stories/Heading.stories.cjs.js +1 -0
  123. package/dist/components/stories/Heading.stories.d.ts +6 -0
  124. package/dist/components/stories/Heading.stories.es.js +20 -0
  125. package/dist/components/stories/IconButton.stories.cjs.js +1 -0
  126. package/dist/components/stories/IconButton.stories.d.ts +6 -0
  127. package/dist/components/{IconButton.stories.es.js → stories/IconButton.stories.es.js} +12 -14
  128. package/dist/components/stories/Link.stories.cjs.js +1 -0
  129. package/dist/components/stories/Link.stories.d.ts +7 -0
  130. package/dist/components/stories/Link.stories.es.js +43 -0
  131. package/dist/components/stories/Loader.stories.cjs.js +1 -0
  132. package/dist/components/stories/Loader.stories.d.ts +6 -0
  133. package/dist/components/stories/Loader.stories.es.js +11 -0
  134. package/dist/components/stories/LoaderBackdrop.stories.cjs.js +1 -0
  135. package/dist/components/stories/LoaderBackdrop.stories.d.ts +6 -0
  136. package/dist/components/stories/LoaderBackdrop.stories.es.js +11 -0
  137. package/dist/components/stories/Paper.stories.cjs.js +1 -0
  138. package/dist/components/stories/Paper.stories.d.ts +7 -0
  139. package/dist/components/stories/Paper.stories.es.js +28 -0
  140. package/dist/components/stories/PasswordInput.stories.cjs.js +1 -0
  141. package/dist/components/stories/PasswordInput.stories.d.ts +6 -0
  142. package/dist/components/stories/PasswordInput.stories.es.js +13 -0
  143. package/dist/components/stories/RadioGroup.stories.cjs.js +1 -0
  144. package/dist/components/stories/RadioGroup.stories.d.ts +8 -0
  145. package/dist/components/stories/RadioGroup.stories.es.js +435 -0
  146. package/dist/components/stories/SearchInput.stories.cjs.js +1 -0
  147. package/dist/components/stories/SearchInput.stories.d.ts +6 -0
  148. package/dist/components/stories/SearchInput.stories.es.js +13 -0
  149. package/dist/components/stories/Select.stories.cjs.js +1 -0
  150. package/dist/components/stories/Select.stories.d.ts +10 -0
  151. package/dist/components/stories/Select.stories.es.js +52 -0
  152. package/dist/components/stories/TabList.stories.cjs.js +1 -0
  153. package/dist/components/stories/TabList.stories.d.ts +7 -0
  154. package/dist/components/{TabList.stories.es.js → stories/TabList.stories.es.js} +45 -52
  155. package/dist/components/stories/TextField.stories.cjs.js +1 -0
  156. package/dist/components/stories/TextField.stories.d.ts +10 -0
  157. package/dist/components/stories/TextField.stories.es.js +69 -0
  158. package/dist/components/stories/Tooltip.stories.cjs.js +1 -0
  159. package/dist/components/stories/Tooltip.stories.d.ts +7 -0
  160. package/dist/components/stories/Tooltip.stories.es.js +46 -0
  161. package/dist/createChainedFunction-C0nujS3O.js +9 -0
  162. package/dist/createChainedFunction-CJmlQuW8.cjs +1 -0
  163. package/dist/{createSvgIcon-PXjVOXDY.cjs → createSvgIcon-DQqazotA.cjs} +1 -1
  164. package/dist/{createSvgIcon-Ae1vF9Lv.js → createSvgIcon-VByplk-r.js} +3 -3
  165. package/dist/debounce-46wSf_lW.js +15 -0
  166. package/dist/debounce-DpCj7ugL.cjs +1 -0
  167. package/dist/elementTypeAcceptingRef-BPhL72td.js +23 -0
  168. package/dist/elementTypeAcceptingRef-DiSL8-Ea.cjs +1 -0
  169. package/dist/{extendSxProp-BzTGWWcy.js → extendSxProp-BYB-kybW.js} +1 -1
  170. package/dist/{extendSxProp-DLhbnNxc.cjs → extendSxProp-BZ8P8fbI.cjs} +1 -1
  171. package/dist/formControlState-DCkDUdfO.cjs +1 -0
  172. package/dist/formControlState-DdQP43Uo.js +21 -0
  173. package/dist/{fr-B0c4Eu-I.js → fr-B4aeA9th.js} +23 -23
  174. package/dist/{fr-BtINyNRC.cjs → fr-CSCQhSqi.cjs} +1 -1
  175. package/dist/{identifier-Bu3vgTzE.js → identifier-BewKgEhI.js} +487 -486
  176. package/dist/{identifier-B_IiMbpZ.cjs → identifier-DTh6b5Gz.cjs} +17 -17
  177. package/dist/{index-D4YvqRSh.js → index-BAjSgP8k.js} +3 -3
  178. package/dist/{index-BDy6VH40.cjs → index-B_acx8gh.cjs} +1 -1
  179. package/dist/{index-DNmEgr4X.js → index-_oi9ph20.js} +4 -4
  180. package/dist/index-oINGa1MV.cjs +1 -0
  181. package/dist/index.cjs.js +1 -1
  182. package/dist/index.es.js +280 -269
  183. package/dist/isFocusVisible-CPZqtjv2.js +12 -0
  184. package/dist/isFocusVisible-DlSijby6.cjs +2 -0
  185. package/dist/{memoTheme-C4_nd-x4.js → memoTheme-B9kDhX1-.js} +1 -1
  186. package/dist/{memoTheme-DvW891YJ.cjs → memoTheme-DJBS0nbO.cjs} +1 -1
  187. package/dist/ownerDocument-4MViGo3k.cjs +1 -0
  188. package/dist/ownerDocument-CUrv0DIK.js +6 -0
  189. package/dist/ownerWindow-DDHucZi0.cjs +1 -0
  190. package/dist/ownerWindow-niciwP7I.js +7 -0
  191. package/dist/refType-3o3c-kYx.js +7 -0
  192. package/dist/refType-DNB-r0Bp.cjs +1 -0
  193. package/dist/{useTheme-B_3HWqyi.js → resolveComponentProps-BQQ-uUKZ.js} +18 -26
  194. package/dist/resolveComponentProps-R_l8gy3y.cjs +1 -0
  195. package/dist/useControlled-BYdyS7Pn.js +31 -0
  196. package/dist/useControlled-Ysk4KqoX.cjs +3 -0
  197. package/dist/useForkRef-CTI33h-3.cjs +1 -0
  198. package/dist/useForkRef-C_4o__cU.js +15 -0
  199. package/dist/useFormControl-CatNKXAi.js +10 -0
  200. package/dist/useFormControl-haP0iPhl.cjs +1 -0
  201. package/dist/useSlot-B2hCpx8C.js +50 -0
  202. package/dist/useSlot-i7AZwCRV.cjs +1 -0
  203. package/dist/useTheme-0u9_WhjM.js +11 -0
  204. package/dist/{useTheme-DhYab2-0.js → useTheme-BrFhq4dW.js} +1 -1
  205. package/dist/useTheme-DfN3sBzg.cjs +1 -0
  206. package/dist/{useTheme-vN32oV1t.cjs → useTheme-w4BoR6ol.cjs} +1 -1
  207. package/dist/{useThemeProps-5hp2m3Xl.cjs → useThemeProps-BoO3MMZc.cjs} +1 -1
  208. package/dist/{useThemeProps-D_gKWuk1.cjs → useThemeProps-CkGODfms.cjs} +1 -1
  209. package/dist/{useThemeProps-Bmkt_XOR.js → useThemeProps-CwWORfXn.js} +4 -4
  210. package/dist/{useThemeProps-DftpgVZ0.js → useThemeProps-cERu5xHk.js} +3 -3
  211. package/dist/{useTimeout-Bx22KOcH.js → useTimeout-Br8oWWYt.js} +4 -4
  212. package/dist/{useTimeout-gEG15bRo.cjs → useTimeout-DnTtyB2y.cjs} +1 -1
  213. package/dist/utils-CH0HZgJe.js +391 -0
  214. package/dist/utils-D2bhwE7x.cjs +1 -0
  215. package/package.json +1 -1
  216. package/dist/Backdrop-CxHwPsCX.js +0 -789
  217. package/dist/Backdrop-ZCTs-Ws8.cjs +0 -1
  218. package/dist/ButtonBase-S0mFlojL.cjs +0 -75
  219. package/dist/DatePicker-BigDV0IN.cjs +0 -17
  220. package/dist/DatePicker-ZdjLD9eR.js +0 -12779
  221. package/dist/IconButton-DfmbM9nO.cjs +0 -2
  222. package/dist/InputAdornment-C-EbfNtT.cjs +0 -1
  223. package/dist/InputBase-CPtGhJye.cjs +0 -3
  224. package/dist/Tabs-DzrxYlm-.cjs +0 -4
  225. package/dist/TextField-BLEvZwPH.cjs +0 -14
  226. package/dist/TextField-CGMPbx_J.js +0 -5686
  227. package/dist/Tooltip-BJefPCe7.cjs +0 -100
  228. package/dist/components/Alert/Alert.stories.cjs.js +0 -1
  229. package/dist/components/Alert/Alert.stories.d.ts +0 -4
  230. package/dist/components/Alert/Alert.stories.es.js +0 -17
  231. package/dist/components/Button/Button.stories.cjs.js +0 -1
  232. package/dist/components/Button/Button.stories.d.ts +0 -6
  233. package/dist/components/Button/Button.stories.es.js +0 -45
  234. package/dist/components/DatePicker/DatePicker.stories.cjs.js +0 -1
  235. package/dist/components/DatePicker/DatePicker.stories.d.ts +0 -4
  236. package/dist/components/DatePicker/DatePicker.stories.es.js +0 -16
  237. package/dist/components/Dropzone/Dropzone.stories.cjs.js +0 -1
  238. package/dist/components/Dropzone/Dropzone.stories.d.ts +0 -4
  239. package/dist/components/Dropzone/Dropzone.stories.es.js +0 -17
  240. package/dist/components/EmptyState/EmptyState.stories.cjs.js +0 -1
  241. package/dist/components/EmptyState/EmptyState.stories.d.ts +0 -4
  242. package/dist/components/EmptyState/EmptyState.stories.es.js +0 -17
  243. package/dist/components/FileList/FileList.stories.cjs.js +0 -1
  244. package/dist/components/FileList/FileList.stories.d.ts +0 -4
  245. package/dist/components/FileList/FileList.stories.es.js +0 -28
  246. package/dist/components/Heading/Heading.stories.cjs.js +0 -1
  247. package/dist/components/Heading/Heading.stories.d.ts +0 -4
  248. package/dist/components/Heading/Heading.stories.es.js +0 -22
  249. package/dist/components/IconButton.stories.cjs.js +0 -1
  250. package/dist/components/IconButton.stories.d.ts +0 -4
  251. package/dist/components/Loader/Loader.stories.cjs.js +0 -1
  252. package/dist/components/Loader/Loader.stories.d.ts +0 -4
  253. package/dist/components/Loader/Loader.stories.es.js +0 -14
  254. package/dist/components/LoaderBackdrop/LoaderBackdrop.stories.cjs.js +0 -1
  255. package/dist/components/LoaderBackdrop/LoaderBackdrop.stories.d.ts +0 -4
  256. package/dist/components/LoaderBackdrop/LoaderBackdrop.stories.es.js +0 -14
  257. package/dist/components/PasswordInput/PasswordInput.stories.cjs.js +0 -1
  258. package/dist/components/PasswordInput/PasswordInput.stories.d.ts +0 -4
  259. package/dist/components/PasswordInput/PasswordInput.stories.es.js +0 -16
  260. package/dist/components/SearchInput/SearchInput.stories.cjs.js +0 -1
  261. package/dist/components/SearchInput/SearchInput.stories.d.ts +0 -4
  262. package/dist/components/SearchInput/SearchInput.stories.es.js +0 -16
  263. package/dist/components/TabList.stories.cjs.js +0 -1
  264. package/dist/components/TabList.stories.d.ts +0 -4
  265. package/dist/components/TextInput/TextInput.stories.cjs.js +0 -1
  266. package/dist/components/TextInput/TextInput.stories.d.ts +0 -7
  267. package/dist/components/TextInput/TextInput.stories.es.js +0 -43
  268. package/dist/index-Dl4BXU0b.cjs +0 -1
  269. package/dist/ownerWindow-BoRkeomM.js +0 -23
  270. package/dist/ownerWindow-Dk_4aaak.cjs +0 -1
  271. package/dist/refType-DYRsy3ld.cjs +0 -1
  272. package/dist/refType-DvOnKTmB.js +0 -27
  273. package/dist/useForkRef-D-DyzOXj.js +0 -21
  274. package/dist/useForkRef-D81w5oMb.cjs +0 -1
  275. package/dist/useTheme-BvsnROiB.cjs +0 -1
@@ -0,0 +1,3555 @@
1
+ import * as a from "react";
2
+ import { I as Z, J as Q, W as Ve, P as e, L as ne, K as de, Z as Fo } from "./identifier-BewKgEhI.js";
3
+ import { f as _e, i as Lo } from "./formControlState-DdQP43Uo.js";
4
+ import { u as Ke } from "./useFormControl-CatNKXAi.js";
5
+ import { s as x, r as ee, u as re, c as oe, e as qe, f as jo } from "./DefaultPropsProvider-StV_SUuk.js";
6
+ import { m as se } from "./memoTheme-B9kDhX1-.js";
7
+ import { jsx as w, jsxs as ke } from "react/jsx-runtime";
8
+ import { a as $o, b as Do } from "./FormLabel-wDh-AEMQ.js";
9
+ import { u as Wo, a as lo } from "./index-BAjSgP8k.js";
10
+ import { i as He, a as Xe, r as Ge, b as Ye, c as Je, I as Ze, d as Ao } from "./InputBase-VKt_ajuq.js";
11
+ import { u as po } from "./useSlot-B2hCpx8C.js";
12
+ import { g as Bo, M as Uo } from "./Modal-BDx2_UzP.js";
13
+ import { P as zo, i as Vo } from "./Paper-CMUbp6SX.js";
14
+ import { o as xe } from "./ownerDocument-CUrv0DIK.js";
15
+ import { o as Ue } from "./ownerWindow-niciwP7I.js";
16
+ import { d as _o } from "./debounce-46wSf_lW.js";
17
+ import { u as Fe } from "./useForkRef-C_4o__cU.js";
18
+ import { r as ce, u as Ko } from "./refType-3o3c-kYx.js";
19
+ import { c as qo } from "./chainPropTypes-D9lkm76m.js";
20
+ import { H as ze } from "./Portal-DVy9JFBN.js";
21
+ import { e as Ho } from "./elementTypeAcceptingRef-BPhL72td.js";
22
+ import { G as Xo } from "./Grow-4QU1bnXQ.js";
23
+ import { u as co } from "./useControlled-BYdyS7Pn.js";
24
+ import { u as Go } from "./useId-CK6Kn3Tn.js";
25
+ import { c as Yo } from "./createSvgIcon-VByplk-r.js";
26
+ import { c as Qe } from "./createSimplePaletteValueFilter-B7--0ryQ.js";
27
+ import { g as Jo } from "./utils-CH0HZgJe.js";
28
+ function Zo(o) {
29
+ return Z("MuiInput", o);
30
+ }
31
+ const ue = {
32
+ ...He,
33
+ ...Q("MuiInput", ["root", "underline", "input"])
34
+ }, Qo = (o) => {
35
+ const {
36
+ classes: t,
37
+ disableUnderline: n
38
+ } = o, p = oe({
39
+ root: ["root", !n && "underline"],
40
+ input: ["input"]
41
+ }, Zo, t);
42
+ return {
43
+ ...t,
44
+ // forward classes to the InputBase
45
+ ...p
46
+ };
47
+ }, et = x(Xe, {
48
+ shouldForwardProp: (o) => ee(o) || o === "classes",
49
+ name: "MuiInput",
50
+ slot: "Root",
51
+ overridesResolver: (o, t) => {
52
+ const {
53
+ ownerState: n
54
+ } = o;
55
+ return [...Ge(o, t), !n.disableUnderline && t.underline];
56
+ }
57
+ })(se(({
58
+ theme: o
59
+ }) => {
60
+ let n = o.palette.mode === "light" ? "rgba(0, 0, 0, 0.42)" : "rgba(255, 255, 255, 0.7)";
61
+ return o.vars && (n = `rgba(${o.vars.palette.common.onBackgroundChannel} / ${o.vars.opacity.inputUnderline})`), {
62
+ position: "relative",
63
+ variants: [{
64
+ props: ({
65
+ ownerState: r
66
+ }) => r.formControl,
67
+ style: {
68
+ "label + &": {
69
+ marginTop: 16
70
+ }
71
+ }
72
+ }, {
73
+ props: ({
74
+ ownerState: r
75
+ }) => !r.disableUnderline,
76
+ style: {
77
+ "&::after": {
78
+ left: 0,
79
+ bottom: 0,
80
+ content: '""',
81
+ position: "absolute",
82
+ right: 0,
83
+ transform: "scaleX(0)",
84
+ transition: o.transitions.create("transform", {
85
+ duration: o.transitions.duration.shorter,
86
+ easing: o.transitions.easing.easeOut
87
+ }),
88
+ pointerEvents: "none"
89
+ // Transparent to the hover style.
90
+ },
91
+ [`&.${ue.focused}:after`]: {
92
+ // translateX(0) is a workaround for Safari transform scale bug
93
+ // See https://github.com/mui/material-ui/issues/31766
94
+ transform: "scaleX(1) translateX(0)"
95
+ },
96
+ [`&.${ue.error}`]: {
97
+ "&::before, &::after": {
98
+ borderBottomColor: (o.vars || o).palette.error.main
99
+ }
100
+ },
101
+ "&::before": {
102
+ borderBottom: `1px solid ${n}`,
103
+ left: 0,
104
+ bottom: 0,
105
+ content: '"\\00a0"',
106
+ position: "absolute",
107
+ right: 0,
108
+ transition: o.transitions.create("border-bottom-color", {
109
+ duration: o.transitions.duration.shorter
110
+ }),
111
+ pointerEvents: "none"
112
+ // Transparent to the hover style.
113
+ },
114
+ [`&:hover:not(.${ue.disabled}, .${ue.error}):before`]: {
115
+ borderBottom: `2px solid ${(o.vars || o).palette.text.primary}`,
116
+ // Reset on touch devices, it doesn't add specificity
117
+ "@media (hover: none)": {
118
+ borderBottom: `1px solid ${n}`
119
+ }
120
+ },
121
+ [`&.${ue.disabled}:before`]: {
122
+ borderBottomStyle: "dotted"
123
+ }
124
+ }
125
+ }, ...Object.entries(o.palette).filter(Qe()).map(([r]) => ({
126
+ props: {
127
+ color: r,
128
+ disableUnderline: !1
129
+ },
130
+ style: {
131
+ "&::after": {
132
+ borderBottom: `2px solid ${(o.vars || o).palette[r].main}`
133
+ }
134
+ }
135
+ }))]
136
+ };
137
+ })), ot = x(Ye, {
138
+ name: "MuiInput",
139
+ slot: "Input",
140
+ overridesResolver: Je
141
+ })({}), Ee = /* @__PURE__ */ a.forwardRef(function(t, n) {
142
+ const r = re({
143
+ props: t,
144
+ name: "MuiInput"
145
+ }), {
146
+ disableUnderline: p = !1,
147
+ components: d = {},
148
+ componentsProps: s,
149
+ fullWidth: i = !1,
150
+ inputComponent: u = "input",
151
+ multiline: h = !1,
152
+ slotProps: b,
153
+ slots: g = {},
154
+ type: C = "text",
155
+ ...f
156
+ } = r, R = Qo(r), S = {
157
+ root: {
158
+ ownerState: {
159
+ disableUnderline: p
160
+ }
161
+ }
162
+ }, m = b ?? s ? Ve(b ?? s, S) : S, I = g.root ?? d.Root ?? et, c = g.input ?? d.Input ?? ot;
163
+ return /* @__PURE__ */ w(Ze, {
164
+ slots: {
165
+ root: I,
166
+ input: c
167
+ },
168
+ slotProps: m,
169
+ fullWidth: i,
170
+ inputComponent: u,
171
+ multiline: h,
172
+ ref: n,
173
+ type: C,
174
+ ...f,
175
+ classes: R
176
+ });
177
+ });
178
+ process.env.NODE_ENV !== "production" && (Ee.propTypes = {
179
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
180
+ // │ These PropTypes are generated from the TypeScript type definitions. │
181
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
182
+ // └─────────────────────────────────────────────────────────────────────┘
183
+ /**
184
+ * This prop helps users to fill forms faster, especially on mobile devices.
185
+ * The name can be confusing, as it's more like an autofill.
186
+ * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).
187
+ */
188
+ autoComplete: e.string,
189
+ /**
190
+ * If `true`, the `input` element is focused during the first mount.
191
+ */
192
+ autoFocus: e.bool,
193
+ /**
194
+ * Override or extend the styles applied to the component.
195
+ */
196
+ classes: e.object,
197
+ /**
198
+ * The color of the component.
199
+ * It supports both default and custom theme colors, which can be added as shown in the
200
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
201
+ * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.
202
+ */
203
+ color: e.oneOfType([e.oneOf(["primary", "secondary"]), e.string]),
204
+ /**
205
+ * The components used for each slot inside.
206
+ *
207
+ * @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.
208
+ *
209
+ * @default {}
210
+ */
211
+ components: e.shape({
212
+ Input: e.elementType,
213
+ Root: e.elementType
214
+ }),
215
+ /**
216
+ * The extra props for the slot components.
217
+ * You can override the existing props or add new ones.
218
+ *
219
+ * @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.
220
+ *
221
+ * @default {}
222
+ */
223
+ componentsProps: e.shape({
224
+ input: e.object,
225
+ root: e.object
226
+ }),
227
+ /**
228
+ * The default value. Use when the component is not controlled.
229
+ */
230
+ defaultValue: e.any,
231
+ /**
232
+ * If `true`, the component is disabled.
233
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
234
+ */
235
+ disabled: e.bool,
236
+ /**
237
+ * If `true`, the `input` will not have an underline.
238
+ * @default false
239
+ */
240
+ disableUnderline: e.bool,
241
+ /**
242
+ * End `InputAdornment` for this component.
243
+ */
244
+ endAdornment: e.node,
245
+ /**
246
+ * If `true`, the `input` will indicate an error.
247
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
248
+ */
249
+ error: e.bool,
250
+ /**
251
+ * If `true`, the `input` will take up the full width of its container.
252
+ * @default false
253
+ */
254
+ fullWidth: e.bool,
255
+ /**
256
+ * The id of the `input` element.
257
+ */
258
+ id: e.string,
259
+ /**
260
+ * The component used for the `input` element.
261
+ * Either a string to use a HTML element or a component.
262
+ * @default 'input'
263
+ */
264
+ inputComponent: e.elementType,
265
+ /**
266
+ * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
267
+ * @default {}
268
+ */
269
+ inputProps: e.object,
270
+ /**
271
+ * Pass a ref to the `input` element.
272
+ */
273
+ inputRef: ce,
274
+ /**
275
+ * If `dense`, will adjust vertical spacing. This is normally obtained via context from
276
+ * FormControl.
277
+ * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.
278
+ */
279
+ margin: e.oneOf(["dense", "none"]),
280
+ /**
281
+ * Maximum number of rows to display when multiline option is set to true.
282
+ */
283
+ maxRows: e.oneOfType([e.number, e.string]),
284
+ /**
285
+ * Minimum number of rows to display when multiline option is set to true.
286
+ */
287
+ minRows: e.oneOfType([e.number, e.string]),
288
+ /**
289
+ * If `true`, a [TextareaAutosize](https://mui.com/material-ui/react-textarea-autosize/) element is rendered.
290
+ * @default false
291
+ */
292
+ multiline: e.bool,
293
+ /**
294
+ * Name attribute of the `input` element.
295
+ */
296
+ name: e.string,
297
+ /**
298
+ * Callback fired when the value is changed.
299
+ *
300
+ * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.
301
+ * You can pull out the new value by accessing `event.target.value` (string).
302
+ */
303
+ onChange: e.func,
304
+ /**
305
+ * The short hint displayed in the `input` before the user enters a value.
306
+ */
307
+ placeholder: e.string,
308
+ /**
309
+ * It prevents the user from changing the value of the field
310
+ * (not from interacting with the field).
311
+ */
312
+ readOnly: e.bool,
313
+ /**
314
+ * If `true`, the `input` element is required.
315
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
316
+ */
317
+ required: e.bool,
318
+ /**
319
+ * Number of rows to display when multiline option is set to true.
320
+ */
321
+ rows: e.oneOfType([e.number, e.string]),
322
+ /**
323
+ * The extra props for the slot components.
324
+ * You can override the existing props or add new ones.
325
+ *
326
+ * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.
327
+ *
328
+ * @default {}
329
+ */
330
+ slotProps: e.shape({
331
+ input: e.object,
332
+ root: e.object
333
+ }),
334
+ /**
335
+ * The components used for each slot inside.
336
+ *
337
+ * This prop is an alias for the `components` prop, which will be deprecated in the future.
338
+ *
339
+ * @default {}
340
+ */
341
+ slots: e.shape({
342
+ input: e.elementType,
343
+ root: e.elementType
344
+ }),
345
+ /**
346
+ * Start `InputAdornment` for this component.
347
+ */
348
+ startAdornment: e.node,
349
+ /**
350
+ * The system prop that allows defining system overrides as well as additional CSS styles.
351
+ */
352
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
353
+ /**
354
+ * 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).
355
+ * @default 'text'
356
+ */
357
+ type: e.string,
358
+ /**
359
+ * The value of the `input` element, required for a controlled component.
360
+ */
361
+ value: e.any
362
+ });
363
+ Ee && (Ee.muiName = "Input");
364
+ function tt(o) {
365
+ return Z("MuiInputLabel", o);
366
+ }
367
+ const vn = Q("MuiInputLabel", ["root", "focused", "disabled", "error", "required", "asterisk", "formControl", "sizeSmall", "shrink", "animated", "standard", "filled", "outlined"]), nt = (o) => {
368
+ const {
369
+ classes: t,
370
+ formControl: n,
371
+ size: r,
372
+ shrink: p,
373
+ disableAnimation: d,
374
+ variant: s,
375
+ required: i
376
+ } = o, u = {
377
+ root: ["root", n && "formControl", !d && "animated", p && "shrink", r && r !== "normal" && `size${de(r)}`, s],
378
+ asterisk: [i && "asterisk"]
379
+ }, h = oe(u, tt, t);
380
+ return {
381
+ ...t,
382
+ // forward the focused, disabled, etc. classes to the FormLabel
383
+ ...h
384
+ };
385
+ }, rt = x($o, {
386
+ shouldForwardProp: (o) => ee(o) || o === "classes",
387
+ name: "MuiInputLabel",
388
+ slot: "Root",
389
+ overridesResolver: (o, t) => {
390
+ const {
391
+ ownerState: n
392
+ } = o;
393
+ return [{
394
+ [`& .${Do.asterisk}`]: t.asterisk
395
+ }, 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]];
396
+ }
397
+ })(se(({
398
+ theme: o
399
+ }) => ({
400
+ display: "block",
401
+ transformOrigin: "top left",
402
+ whiteSpace: "nowrap",
403
+ overflow: "hidden",
404
+ textOverflow: "ellipsis",
405
+ maxWidth: "100%",
406
+ variants: [{
407
+ props: ({
408
+ ownerState: t
409
+ }) => t.formControl,
410
+ style: {
411
+ position: "absolute",
412
+ left: 0,
413
+ top: 0,
414
+ // slight alteration to spec spacing to match visual spec result
415
+ transform: "translate(0, 20px) scale(1)"
416
+ }
417
+ }, {
418
+ props: {
419
+ size: "small"
420
+ },
421
+ style: {
422
+ // Compensation for the `Input.inputSizeSmall` style.
423
+ transform: "translate(0, 17px) scale(1)"
424
+ }
425
+ }, {
426
+ props: ({
427
+ ownerState: t
428
+ }) => t.shrink,
429
+ style: {
430
+ transform: "translate(0, -1.5px) scale(0.75)",
431
+ transformOrigin: "top left",
432
+ maxWidth: "133%"
433
+ }
434
+ }, {
435
+ props: ({
436
+ ownerState: t
437
+ }) => !t.disableAnimation,
438
+ style: {
439
+ transition: o.transitions.create(["color", "transform", "max-width"], {
440
+ duration: o.transitions.duration.shorter,
441
+ easing: o.transitions.easing.easeOut
442
+ })
443
+ }
444
+ }, {
445
+ props: {
446
+ variant: "filled"
447
+ },
448
+ style: {
449
+ // Chrome's autofill feature gives the input field a yellow background.
450
+ // Since the input field is behind the label in the HTML tree,
451
+ // the input field is drawn last and hides the label with an opaque background color.
452
+ // zIndex: 1 will raise the label above opaque background-colors of input.
453
+ zIndex: 1,
454
+ pointerEvents: "none",
455
+ transform: "translate(12px, 16px) scale(1)",
456
+ maxWidth: "calc(100% - 24px)"
457
+ }
458
+ }, {
459
+ props: {
460
+ variant: "filled",
461
+ size: "small"
462
+ },
463
+ style: {
464
+ transform: "translate(12px, 13px) scale(1)"
465
+ }
466
+ }, {
467
+ props: ({
468
+ variant: t,
469
+ ownerState: n
470
+ }) => t === "filled" && n.shrink,
471
+ style: {
472
+ userSelect: "none",
473
+ pointerEvents: "auto",
474
+ transform: "translate(12px, 7px) scale(0.75)",
475
+ maxWidth: "calc(133% - 24px)"
476
+ }
477
+ }, {
478
+ props: ({
479
+ variant: t,
480
+ ownerState: n,
481
+ size: r
482
+ }) => t === "filled" && n.shrink && r === "small",
483
+ style: {
484
+ transform: "translate(12px, 4px) scale(0.75)"
485
+ }
486
+ }, {
487
+ props: {
488
+ variant: "outlined"
489
+ },
490
+ style: {
491
+ // see comment above on filled.zIndex
492
+ zIndex: 1,
493
+ pointerEvents: "none",
494
+ transform: "translate(14px, 16px) scale(1)",
495
+ maxWidth: "calc(100% - 24px)"
496
+ }
497
+ }, {
498
+ props: {
499
+ variant: "outlined",
500
+ size: "small"
501
+ },
502
+ style: {
503
+ transform: "translate(14px, 9px) scale(1)"
504
+ }
505
+ }, {
506
+ props: ({
507
+ variant: t,
508
+ ownerState: n
509
+ }) => t === "outlined" && n.shrink,
510
+ style: {
511
+ userSelect: "none",
512
+ pointerEvents: "auto",
513
+ // Theoretically, we should have (8+5)*2/0.75 = 34px
514
+ // but it feels a better when it bleeds a bit on the left, so 32px.
515
+ maxWidth: "calc(133% - 32px)",
516
+ transform: "translate(14px, -9px) scale(0.75)"
517
+ }
518
+ }]
519
+ }))), st = /* @__PURE__ */ a.forwardRef(function(t, n) {
520
+ const r = re({
521
+ name: "MuiInputLabel",
522
+ props: t
523
+ }), {
524
+ disableAnimation: p = !1,
525
+ margin: d,
526
+ shrink: s,
527
+ variant: i,
528
+ className: u,
529
+ ...h
530
+ } = r, b = Ke();
531
+ let g = s;
532
+ typeof g > "u" && b && (g = b.filled || b.focused || b.adornedStart);
533
+ const C = _e({
534
+ props: r,
535
+ muiFormControl: b,
536
+ states: ["size", "variant", "required", "focused"]
537
+ }), f = {
538
+ ...r,
539
+ disableAnimation: p,
540
+ formControl: b,
541
+ shrink: g,
542
+ size: C.size,
543
+ variant: C.variant,
544
+ required: C.required,
545
+ focused: C.focused
546
+ }, R = nt(f);
547
+ return /* @__PURE__ */ w(rt, {
548
+ "data-shrink": g,
549
+ ref: n,
550
+ className: ne(R.root, u),
551
+ ...h,
552
+ ownerState: f,
553
+ classes: R
554
+ });
555
+ });
556
+ process.env.NODE_ENV !== "production" && (st.propTypes = {
557
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
558
+ // │ These PropTypes are generated from the TypeScript type definitions. │
559
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
560
+ // └─────────────────────────────────────────────────────────────────────┘
561
+ /**
562
+ * The content of the component.
563
+ */
564
+ children: e.node,
565
+ /**
566
+ * Override or extend the styles applied to the component.
567
+ */
568
+ classes: e.object,
569
+ /**
570
+ * @ignore
571
+ */
572
+ className: e.string,
573
+ /**
574
+ * The color of the component.
575
+ * It supports both default and custom theme colors, which can be added as shown in the
576
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
577
+ */
578
+ color: e.oneOfType([e.oneOf(["error", "info", "primary", "secondary", "success", "warning"]), e.string]),
579
+ /**
580
+ * If `true`, the transition animation is disabled.
581
+ * @default false
582
+ */
583
+ disableAnimation: e.bool,
584
+ /**
585
+ * If `true`, the component is disabled.
586
+ */
587
+ disabled: e.bool,
588
+ /**
589
+ * If `true`, the label is displayed in an error state.
590
+ */
591
+ error: e.bool,
592
+ /**
593
+ * If `true`, the `input` of this label is focused.
594
+ */
595
+ focused: e.bool,
596
+ /**
597
+ * If `dense`, will adjust vertical spacing. This is normally obtained via context from
598
+ * FormControl.
599
+ */
600
+ margin: e.oneOf(["dense"]),
601
+ /**
602
+ * if `true`, the label will indicate that the `input` is required.
603
+ */
604
+ required: e.bool,
605
+ /**
606
+ * If `true`, the label is shrunk.
607
+ */
608
+ shrink: e.bool,
609
+ /**
610
+ * The size of the component.
611
+ * @default 'normal'
612
+ */
613
+ size: e.oneOfType([e.oneOf(["normal", "small"]), e.string]),
614
+ /**
615
+ * The system prop that allows defining system overrides as well as additional CSS styles.
616
+ */
617
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
618
+ /**
619
+ * The variant to use.
620
+ */
621
+ variant: e.oneOf(["filled", "outlined", "standard"])
622
+ });
623
+ const yo = /* @__PURE__ */ a.createContext({});
624
+ process.env.NODE_ENV !== "production" && (yo.displayName = "ListContext");
625
+ function it(o) {
626
+ return Z("MuiList", o);
627
+ }
628
+ const yn = Q("MuiList", ["root", "padding", "dense", "subheader"]), at = (o) => {
629
+ const {
630
+ classes: t,
631
+ disablePadding: n,
632
+ dense: r,
633
+ subheader: p
634
+ } = o;
635
+ return oe({
636
+ root: ["root", !n && "padding", r && "dense", p && "subheader"]
637
+ }, it, t);
638
+ }, lt = x("ul", {
639
+ name: "MuiList",
640
+ slot: "Root",
641
+ overridesResolver: (o, t) => {
642
+ const {
643
+ ownerState: n
644
+ } = o;
645
+ return [t.root, !n.disablePadding && t.padding, n.dense && t.dense, n.subheader && t.subheader];
646
+ }
647
+ })({
648
+ listStyle: "none",
649
+ margin: 0,
650
+ padding: 0,
651
+ position: "relative",
652
+ variants: [{
653
+ props: ({
654
+ ownerState: o
655
+ }) => !o.disablePadding,
656
+ style: {
657
+ paddingTop: 8,
658
+ paddingBottom: 8
659
+ }
660
+ }, {
661
+ props: ({
662
+ ownerState: o
663
+ }) => o.subheader,
664
+ style: {
665
+ paddingTop: 0
666
+ }
667
+ }]
668
+ }), Oo = /* @__PURE__ */ a.forwardRef(function(t, n) {
669
+ const r = re({
670
+ props: t,
671
+ name: "MuiList"
672
+ }), {
673
+ children: p,
674
+ className: d,
675
+ component: s = "ul",
676
+ dense: i = !1,
677
+ disablePadding: u = !1,
678
+ subheader: h,
679
+ ...b
680
+ } = r, g = a.useMemo(() => ({
681
+ dense: i
682
+ }), [i]), C = {
683
+ ...r,
684
+ component: s,
685
+ dense: i,
686
+ disablePadding: u
687
+ }, f = at(C);
688
+ return /* @__PURE__ */ w(yo.Provider, {
689
+ value: g,
690
+ children: /* @__PURE__ */ ke(lt, {
691
+ as: s,
692
+ className: ne(f.root, d),
693
+ ref: n,
694
+ ownerState: C,
695
+ ...b,
696
+ children: [h, p]
697
+ })
698
+ });
699
+ });
700
+ process.env.NODE_ENV !== "production" && (Oo.propTypes = {
701
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
702
+ // │ These PropTypes are generated from the TypeScript type definitions. │
703
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
704
+ // └─────────────────────────────────────────────────────────────────────┘
705
+ /**
706
+ * The content of the component.
707
+ */
708
+ children: e.node,
709
+ /**
710
+ * Override or extend the styles applied to the component.
711
+ */
712
+ classes: e.object,
713
+ /**
714
+ * @ignore
715
+ */
716
+ className: e.string,
717
+ /**
718
+ * The component used for the root node.
719
+ * Either a string to use a HTML element or a component.
720
+ */
721
+ component: e.elementType,
722
+ /**
723
+ * If `true`, compact vertical padding designed for keyboard and mouse input is used for
724
+ * the list and list items.
725
+ * The prop is available to descendant components as the `dense` context.
726
+ * @default false
727
+ */
728
+ dense: e.bool,
729
+ /**
730
+ * If `true`, vertical padding is removed from the list.
731
+ * @default false
732
+ */
733
+ disablePadding: e.bool,
734
+ /**
735
+ * The content of the subheader, normally `ListSubheader`.
736
+ */
737
+ subheader: e.node,
738
+ /**
739
+ * The system prop that allows defining system overrides as well as additional CSS styles.
740
+ */
741
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object])
742
+ });
743
+ function Be(o, t, n) {
744
+ return o === t ? o.firstChild : t && t.nextElementSibling ? t.nextElementSibling : n ? null : o.firstChild;
745
+ }
746
+ function uo(o, t, n) {
747
+ return o === t ? n ? o.firstChild : o.lastChild : t && t.previousElementSibling ? t.previousElementSibling : n ? null : o.lastChild;
748
+ }
749
+ function Co(o, t) {
750
+ if (t === void 0)
751
+ return !0;
752
+ let n = o.innerText;
753
+ return n === void 0 && (n = o.textContent), n = n.trim().toLowerCase(), n.length === 0 ? !1 : t.repeating ? n[0] === t.keys[0] : n.startsWith(t.keys.join(""));
754
+ }
755
+ function fe(o, t, n, r, p, d) {
756
+ let s = !1, i = p(o, t, t ? n : !1);
757
+ for (; i; ) {
758
+ if (i === o.firstChild) {
759
+ if (s)
760
+ return !1;
761
+ s = !0;
762
+ }
763
+ const u = r ? !1 : i.disabled || i.getAttribute("aria-disabled") === "true";
764
+ if (!i.hasAttribute("tabindex") || !Co(i, d) || u)
765
+ i = p(o, i, n);
766
+ else
767
+ return i.focus(), !0;
768
+ }
769
+ return !1;
770
+ }
771
+ const Ro = /* @__PURE__ */ a.forwardRef(function(t, n) {
772
+ const {
773
+ // private
774
+ // eslint-disable-next-line react/prop-types
775
+ actions: r,
776
+ autoFocus: p = !1,
777
+ autoFocusItem: d = !1,
778
+ children: s,
779
+ className: i,
780
+ disabledItemsFocusable: u = !1,
781
+ disableListWrap: h = !1,
782
+ onKeyDown: b,
783
+ variant: g = "selectedMenu",
784
+ ...C
785
+ } = t, f = a.useRef(null), R = a.useRef({
786
+ keys: [],
787
+ repeating: !0,
788
+ previousKeyMatched: !0,
789
+ lastTime: null
790
+ });
791
+ Ko(() => {
792
+ p && f.current.focus();
793
+ }, [p]), a.useImperativeHandle(r, () => ({
794
+ adjustStyleForScrollbar: (c, {
795
+ direction: v
796
+ }) => {
797
+ const P = !f.current.style.width;
798
+ if (c.clientHeight < f.current.clientHeight && P) {
799
+ const D = `${Bo(Ue(c))}px`;
800
+ f.current.style[v === "rtl" ? "paddingLeft" : "paddingRight"] = D, f.current.style.width = `calc(100% + ${D})`;
801
+ }
802
+ return f.current;
803
+ }
804
+ }), []);
805
+ const F = (c) => {
806
+ const v = f.current, P = c.key;
807
+ if (c.ctrlKey || c.metaKey || c.altKey) {
808
+ b && b(c);
809
+ return;
810
+ }
811
+ const W = xe(v).activeElement;
812
+ if (P === "ArrowDown")
813
+ c.preventDefault(), fe(v, W, h, u, Be);
814
+ else if (P === "ArrowUp")
815
+ c.preventDefault(), fe(v, W, h, u, uo);
816
+ else if (P === "Home")
817
+ c.preventDefault(), fe(v, null, h, u, Be);
818
+ else if (P === "End")
819
+ c.preventDefault(), fe(v, null, h, u, uo);
820
+ else if (P.length === 1) {
821
+ const T = R.current, L = P.toLowerCase(), B = performance.now();
822
+ T.keys.length > 0 && (B - T.lastTime > 500 ? (T.keys = [], T.repeating = !0, T.previousKeyMatched = !0) : T.repeating && L !== T.keys[0] && (T.repeating = !1)), T.lastTime = B, T.keys.push(L);
823
+ const A = W && !T.repeating && Co(W, T);
824
+ T.previousKeyMatched && (A || fe(v, W, !1, u, Be, T)) ? c.preventDefault() : T.previousKeyMatched = !1;
825
+ }
826
+ b && b(c);
827
+ }, S = Fe(f, n);
828
+ let m = -1;
829
+ a.Children.forEach(s, (c, v) => {
830
+ if (!/* @__PURE__ */ a.isValidElement(c)) {
831
+ m === v && (m += 1, m >= s.length && (m = -1));
832
+ return;
833
+ }
834
+ process.env.NODE_ENV !== "production" && qe.isFragment(c) && console.error(["MUI: The Menu component doesn't accept a Fragment as a child.", "Consider providing an array instead."].join(`
835
+ `)), c.props.disabled || (g === "selectedMenu" && c.props.selected || m === -1) && (m = v), m === v && (c.props.disabled || c.props.muiSkipListHighlight || c.type.muiSkipListHighlight) && (m += 1, m >= s.length && (m = -1));
836
+ });
837
+ const I = a.Children.map(s, (c, v) => {
838
+ if (v === m) {
839
+ const P = {};
840
+ return d && (P.autoFocus = !0), c.props.tabIndex === void 0 && g === "selectedMenu" && (P.tabIndex = 0), /* @__PURE__ */ a.cloneElement(c, P);
841
+ }
842
+ return c;
843
+ });
844
+ return /* @__PURE__ */ w(Oo, {
845
+ role: "menu",
846
+ ref: S,
847
+ className: i,
848
+ onKeyDown: F,
849
+ tabIndex: p ? 0 : -1,
850
+ ...C,
851
+ children: I
852
+ });
853
+ });
854
+ process.env.NODE_ENV !== "production" && (Ro.propTypes = {
855
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
856
+ // │ These PropTypes are generated from the TypeScript type definitions. │
857
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
858
+ // └─────────────────────────────────────────────────────────────────────┘
859
+ /**
860
+ * If `true`, will focus the `[role="menu"]` container and move into tab order.
861
+ * @default false
862
+ */
863
+ autoFocus: e.bool,
864
+ /**
865
+ * If `true`, will focus the first menuitem if `variant="menu"` or selected item
866
+ * if `variant="selectedMenu"`.
867
+ * @default false
868
+ */
869
+ autoFocusItem: e.bool,
870
+ /**
871
+ * MenuList contents, normally `MenuItem`s.
872
+ */
873
+ children: e.node,
874
+ /**
875
+ * @ignore
876
+ */
877
+ className: e.string,
878
+ /**
879
+ * If `true`, will allow focus on disabled items.
880
+ * @default false
881
+ */
882
+ disabledItemsFocusable: e.bool,
883
+ /**
884
+ * If `true`, the menu items will not wrap focus.
885
+ * @default false
886
+ */
887
+ disableListWrap: e.bool,
888
+ /**
889
+ * @ignore
890
+ */
891
+ onKeyDown: e.func,
892
+ /**
893
+ * The variant to use. Use `menu` to prevent selected items from impacting the initial focus
894
+ * and the vertical alignment relative to the anchor element.
895
+ * @default 'selectedMenu'
896
+ */
897
+ variant: e.oneOf(["menu", "selectedMenu"])
898
+ });
899
+ function pt(o) {
900
+ return Z("MuiPopover", o);
901
+ }
902
+ Q("MuiPopover", ["root", "paper"]);
903
+ function fo(o, t) {
904
+ let n = 0;
905
+ return typeof t == "number" ? n = t : t === "center" ? n = o.height / 2 : t === "bottom" && (n = o.height), n;
906
+ }
907
+ function mo(o, t) {
908
+ let n = 0;
909
+ return typeof t == "number" ? n = t : t === "center" ? n = o.width / 2 : t === "right" && (n = o.width), n;
910
+ }
911
+ function bo(o) {
912
+ return [o.horizontal, o.vertical].map((t) => typeof t == "number" ? `${t}px` : t).join(" ");
913
+ }
914
+ function Te(o) {
915
+ return typeof o == "function" ? o() : o;
916
+ }
917
+ const dt = (o) => {
918
+ const {
919
+ classes: t
920
+ } = o;
921
+ return oe({
922
+ root: ["root"],
923
+ paper: ["paper"]
924
+ }, pt, t);
925
+ }, ct = x(Uo, {
926
+ name: "MuiPopover",
927
+ slot: "Root",
928
+ overridesResolver: (o, t) => t.root
929
+ })({}), So = x(zo, {
930
+ name: "MuiPopover",
931
+ slot: "Paper",
932
+ overridesResolver: (o, t) => t.paper
933
+ })({
934
+ position: "absolute",
935
+ overflowY: "auto",
936
+ overflowX: "hidden",
937
+ // So we see the popover when it's empty.
938
+ // It's most likely on issue on userland.
939
+ minWidth: 16,
940
+ minHeight: 16,
941
+ maxWidth: "calc(100% - 32px)",
942
+ maxHeight: "calc(100% - 32px)",
943
+ // We disable the focus ring for mouse, touch and keyboard users.
944
+ outline: 0
945
+ }), Io = /* @__PURE__ */ a.forwardRef(function(t, n) {
946
+ const r = re({
947
+ props: t,
948
+ name: "MuiPopover"
949
+ }), {
950
+ action: p,
951
+ anchorEl: d,
952
+ anchorOrigin: s = {
953
+ vertical: "top",
954
+ horizontal: "left"
955
+ },
956
+ anchorPosition: i,
957
+ anchorReference: u = "anchorEl",
958
+ children: h,
959
+ className: b,
960
+ container: g,
961
+ elevation: C = 8,
962
+ marginThreshold: f = 16,
963
+ open: R,
964
+ PaperProps: F = {},
965
+ slots: S = {},
966
+ slotProps: m = {},
967
+ transformOrigin: I = {
968
+ vertical: "top",
969
+ horizontal: "left"
970
+ },
971
+ TransitionComponent: c = Xo,
972
+ transitionDuration: v = "auto",
973
+ TransitionProps: {
974
+ onEntering: P,
975
+ ...D
976
+ } = {},
977
+ disableScrollLock: W = !1,
978
+ ...T
979
+ } = r, L = (m == null ? void 0 : m.paper) ?? F, B = a.useRef(), A = {
980
+ ...r,
981
+ anchorOrigin: s,
982
+ anchorReference: u,
983
+ elevation: C,
984
+ marginThreshold: f,
985
+ externalPaperSlotProps: L,
986
+ transformOrigin: I,
987
+ TransitionComponent: c,
988
+ transitionDuration: v,
989
+ TransitionProps: D
990
+ }, V = dt(A), U = a.useCallback(() => {
991
+ if (u === "anchorPosition")
992
+ return process.env.NODE_ENV !== "production" && (i || console.error('MUI: You need to provide a `anchorPosition` prop when using <Popover anchorReference="anchorPosition" />.')), i;
993
+ const M = Te(d), E = M && M.nodeType === 1 ? M : xe(B.current).body, N = E.getBoundingClientRect();
994
+ if (process.env.NODE_ENV !== "production") {
995
+ const J = E.getBoundingClientRect();
996
+ process.env.NODE_ENV !== "test" && J.top === 0 && J.left === 0 && J.right === 0 && J.bottom === 0 && console.warn(["MUI: The `anchorEl` prop provided to the component is invalid.", "The anchor element should be part of the document layout.", "Make sure the element is present in the document or that it's not display none."].join(`
997
+ `));
998
+ }
999
+ return {
1000
+ top: N.top + fo(N, s.vertical),
1001
+ left: N.left + mo(N, s.horizontal)
1002
+ };
1003
+ }, [d, s.horizontal, s.vertical, i, u]), K = a.useCallback((M) => ({
1004
+ vertical: fo(M, I.vertical),
1005
+ horizontal: mo(M, I.horizontal)
1006
+ }), [I.horizontal, I.vertical]), G = a.useCallback((M) => {
1007
+ const E = {
1008
+ width: M.offsetWidth,
1009
+ height: M.offsetHeight
1010
+ }, N = K(E);
1011
+ if (u === "none")
1012
+ return {
1013
+ top: null,
1014
+ left: null,
1015
+ transformOrigin: bo(N)
1016
+ };
1017
+ const J = U();
1018
+ let te = J.top - N.vertical, _ = J.left - N.horizontal;
1019
+ const Oe = te + E.height, Ce = _ + E.width, Re = Ue(Te(d)), H = Re.innerHeight - f, Se = Re.innerWidth - f;
1020
+ if (f !== null && te < f) {
1021
+ const k = te - f;
1022
+ te -= k, N.vertical += k;
1023
+ } else if (f !== null && Oe > H) {
1024
+ const k = Oe - H;
1025
+ te -= k, N.vertical += k;
1026
+ }
1027
+ if (process.env.NODE_ENV !== "production" && E.height > H && E.height && H && console.error(["MUI: The popover component is too tall.", `Some part of it can not be seen on the screen (${E.height - H}px).`, "Please consider adding a `max-height` to improve the user-experience."].join(`
1028
+ `)), f !== null && _ < f) {
1029
+ const k = _ - f;
1030
+ _ -= k, N.horizontal += k;
1031
+ } else if (Ce > Se) {
1032
+ const k = Ce - Se;
1033
+ _ -= k, N.horizontal += k;
1034
+ }
1035
+ return {
1036
+ top: `${Math.round(te)}px`,
1037
+ left: `${Math.round(_)}px`,
1038
+ transformOrigin: bo(N)
1039
+ };
1040
+ }, [d, u, U, K, f]), [$, z] = a.useState(R), y = a.useCallback(() => {
1041
+ const M = B.current;
1042
+ if (!M)
1043
+ return;
1044
+ const E = G(M);
1045
+ E.top !== null && M.style.setProperty("top", E.top), E.left !== null && (M.style.left = E.left), M.style.transformOrigin = E.transformOrigin, z(!0);
1046
+ }, [G]);
1047
+ a.useEffect(() => (W && window.addEventListener("scroll", y), () => window.removeEventListener("scroll", y)), [d, W, y]);
1048
+ const ae = (M, E) => {
1049
+ P && P(M, E), y();
1050
+ }, be = () => {
1051
+ z(!1);
1052
+ };
1053
+ a.useEffect(() => {
1054
+ R && y();
1055
+ }), a.useImperativeHandle(p, () => R ? {
1056
+ updatePosition: () => {
1057
+ y();
1058
+ }
1059
+ } : null, [R, y]), a.useEffect(() => {
1060
+ if (!R)
1061
+ return;
1062
+ const M = _o(() => {
1063
+ y();
1064
+ }), E = Ue(d);
1065
+ return E.addEventListener("resize", M), () => {
1066
+ M.clear(), E.removeEventListener("resize", M);
1067
+ };
1068
+ }, [d, R, y]);
1069
+ let he = v;
1070
+ v === "auto" && !c.muiSupportAuto && (he = void 0);
1071
+ const ge = g || (d ? xe(Te(d)).body : void 0), q = {
1072
+ slots: S,
1073
+ slotProps: {
1074
+ ...m,
1075
+ paper: L
1076
+ }
1077
+ }, [Y, ve] = po("paper", {
1078
+ elementType: So,
1079
+ externalForwardedProps: q,
1080
+ additionalProps: {
1081
+ elevation: C,
1082
+ className: ne(V.paper, L == null ? void 0 : L.className),
1083
+ style: $ ? L.style : {
1084
+ ...L.style,
1085
+ opacity: 0
1086
+ }
1087
+ },
1088
+ ownerState: A
1089
+ }), [le, {
1090
+ slotProps: Le,
1091
+ ...ye
1092
+ }] = po("root", {
1093
+ elementType: ct,
1094
+ externalForwardedProps: q,
1095
+ additionalProps: {
1096
+ slotProps: {
1097
+ backdrop: {
1098
+ invisible: !0
1099
+ }
1100
+ },
1101
+ container: ge,
1102
+ open: R
1103
+ },
1104
+ ownerState: A,
1105
+ className: ne(V.root, b)
1106
+ }), je = Fe(B, ve.ref);
1107
+ return /* @__PURE__ */ w(le, {
1108
+ ...ye,
1109
+ ...!Ao(le) && {
1110
+ slotProps: Le,
1111
+ disableScrollLock: W
1112
+ },
1113
+ ...T,
1114
+ ref: n,
1115
+ children: /* @__PURE__ */ w(c, {
1116
+ appear: !0,
1117
+ in: R,
1118
+ onEntering: ae,
1119
+ onExited: be,
1120
+ timeout: he,
1121
+ ...D,
1122
+ children: /* @__PURE__ */ w(Y, {
1123
+ ...ve,
1124
+ ref: je,
1125
+ children: h
1126
+ })
1127
+ })
1128
+ });
1129
+ });
1130
+ process.env.NODE_ENV !== "production" && (Io.propTypes = {
1131
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
1132
+ // │ These PropTypes are generated from the TypeScript type definitions. │
1133
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
1134
+ // └─────────────────────────────────────────────────────────────────────┘
1135
+ /**
1136
+ * A ref for imperative actions.
1137
+ * It currently only supports updatePosition() action.
1138
+ */
1139
+ action: ce,
1140
+ /**
1141
+ * An HTML element, [PopoverVirtualElement](https://mui.com/material-ui/react-popover/#virtual-element),
1142
+ * or a function that returns either.
1143
+ * It's used to set the position of the popover.
1144
+ */
1145
+ anchorEl: qo(e.oneOfType([ze, e.func]), (o) => {
1146
+ if (o.open && (!o.anchorReference || o.anchorReference === "anchorEl")) {
1147
+ const t = Te(o.anchorEl);
1148
+ if (t && t.nodeType === 1) {
1149
+ const n = t.getBoundingClientRect();
1150
+ if (process.env.NODE_ENV !== "test" && n.top === 0 && n.left === 0 && n.right === 0 && n.bottom === 0)
1151
+ return new Error(["MUI: The `anchorEl` prop provided to the component is invalid.", "The anchor element should be part of the document layout.", "Make sure the element is present in the document or that it's not display none."].join(`
1152
+ `));
1153
+ } else
1154
+ return new Error(["MUI: The `anchorEl` prop provided to the component is invalid.", `It should be an Element or PopoverVirtualElement instance but it's \`${t}\` instead.`].join(`
1155
+ `));
1156
+ }
1157
+ return null;
1158
+ }),
1159
+ /**
1160
+ * This is the point on the anchor where the popover's
1161
+ * `anchorEl` will attach to. This is not used when the
1162
+ * anchorReference is 'anchorPosition'.
1163
+ *
1164
+ * Options:
1165
+ * vertical: [top, center, bottom];
1166
+ * horizontal: [left, center, right].
1167
+ * @default {
1168
+ * vertical: 'top',
1169
+ * horizontal: 'left',
1170
+ * }
1171
+ */
1172
+ anchorOrigin: e.shape({
1173
+ horizontal: e.oneOfType([e.oneOf(["center", "left", "right"]), e.number]).isRequired,
1174
+ vertical: e.oneOfType([e.oneOf(["bottom", "center", "top"]), e.number]).isRequired
1175
+ }),
1176
+ /**
1177
+ * This is the position that may be used to set the position of the popover.
1178
+ * The coordinates are relative to the application's client area.
1179
+ */
1180
+ anchorPosition: e.shape({
1181
+ left: e.number.isRequired,
1182
+ top: e.number.isRequired
1183
+ }),
1184
+ /**
1185
+ * This determines which anchor prop to refer to when setting
1186
+ * the position of the popover.
1187
+ * @default 'anchorEl'
1188
+ */
1189
+ anchorReference: e.oneOf(["anchorEl", "anchorPosition", "none"]),
1190
+ /**
1191
+ * A backdrop component. This prop enables custom backdrop rendering.
1192
+ * @deprecated Use `slotProps.root.slots.backdrop` instead. While this prop currently works, it will be removed in the next major version.
1193
+ * Use the `slotProps.root.slots.backdrop` prop to make your application ready for the next version of Material UI.
1194
+ * @default styled(Backdrop, {
1195
+ * name: 'MuiModal',
1196
+ * slot: 'Backdrop',
1197
+ * overridesResolver: (props, styles) => {
1198
+ * return styles.backdrop;
1199
+ * },
1200
+ * })({
1201
+ * zIndex: -1,
1202
+ * })
1203
+ */
1204
+ BackdropComponent: e.elementType,
1205
+ /**
1206
+ * Props applied to the [`Backdrop`](/material-ui/api/backdrop/) element.
1207
+ * @deprecated Use `slotProps.root.slotProps.backdrop` instead.
1208
+ */
1209
+ BackdropProps: e.object,
1210
+ /**
1211
+ * The content of the component.
1212
+ */
1213
+ children: e.node,
1214
+ /**
1215
+ * Override or extend the styles applied to the component.
1216
+ */
1217
+ classes: e.object,
1218
+ /**
1219
+ * @ignore
1220
+ */
1221
+ className: e.string,
1222
+ /**
1223
+ * An HTML element, component instance, or function that returns either.
1224
+ * The `container` will passed to the Modal component.
1225
+ *
1226
+ * By default, it uses the body of the anchorEl's top-level document object,
1227
+ * so it's simply `document.body` most of the time.
1228
+ */
1229
+ container: e.oneOfType([ze, e.func]),
1230
+ /**
1231
+ * Disable the scroll lock behavior.
1232
+ * @default false
1233
+ */
1234
+ disableScrollLock: e.bool,
1235
+ /**
1236
+ * The elevation of the popover.
1237
+ * @default 8
1238
+ */
1239
+ elevation: Vo,
1240
+ /**
1241
+ * Specifies how close to the edge of the window the popover can appear.
1242
+ * If null, the popover will not be constrained by the window.
1243
+ * @default 16
1244
+ */
1245
+ marginThreshold: e.number,
1246
+ /**
1247
+ * Callback fired when the component requests to be closed.
1248
+ * The `reason` parameter can optionally be used to control the response to `onClose`.
1249
+ */
1250
+ onClose: e.func,
1251
+ /**
1252
+ * If `true`, the component is shown.
1253
+ */
1254
+ open: e.bool.isRequired,
1255
+ /**
1256
+ * Props applied to the [`Paper`](https://mui.com/material-ui/api/paper/) element.
1257
+ *
1258
+ * This prop is an alias for `slotProps.paper` and will be overriden by it if both are used.
1259
+ * @deprecated Use `slotProps.paper` instead.
1260
+ *
1261
+ * @default {}
1262
+ */
1263
+ PaperProps: e.shape({
1264
+ component: Ho
1265
+ }),
1266
+ /**
1267
+ * The props used for each slot inside.
1268
+ * @default {}
1269
+ */
1270
+ slotProps: e.shape({
1271
+ paper: e.oneOfType([e.func, e.object]),
1272
+ root: e.oneOfType([e.func, e.object])
1273
+ }),
1274
+ /**
1275
+ * The components used for each slot inside.
1276
+ * @default {}
1277
+ */
1278
+ slots: e.shape({
1279
+ paper: e.elementType,
1280
+ root: e.elementType
1281
+ }),
1282
+ /**
1283
+ * The system prop that allows defining system overrides as well as additional CSS styles.
1284
+ */
1285
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
1286
+ /**
1287
+ * This is the point on the popover which
1288
+ * will attach to the anchor's origin.
1289
+ *
1290
+ * Options:
1291
+ * vertical: [top, center, bottom, x(px)];
1292
+ * horizontal: [left, center, right, x(px)].
1293
+ * @default {
1294
+ * vertical: 'top',
1295
+ * horizontal: 'left',
1296
+ * }
1297
+ */
1298
+ transformOrigin: e.shape({
1299
+ horizontal: e.oneOfType([e.oneOf(["center", "left", "right"]), e.number]).isRequired,
1300
+ vertical: e.oneOfType([e.oneOf(["bottom", "center", "top"]), e.number]).isRequired
1301
+ }),
1302
+ /**
1303
+ * The component used for the transition.
1304
+ * [Follow this guide](https://mui.com/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
1305
+ * @default Grow
1306
+ */
1307
+ TransitionComponent: e.elementType,
1308
+ /**
1309
+ * Set to 'auto' to automatically calculate transition time based on height.
1310
+ * @default 'auto'
1311
+ */
1312
+ transitionDuration: e.oneOfType([e.oneOf(["auto"]), e.number, e.shape({
1313
+ appear: e.number,
1314
+ enter: e.number,
1315
+ exit: e.number
1316
+ })]),
1317
+ /**
1318
+ * Props applied to the transition element.
1319
+ * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.
1320
+ * @default {}
1321
+ */
1322
+ TransitionProps: e.object
1323
+ });
1324
+ function ut(o) {
1325
+ return Z("MuiMenu", o);
1326
+ }
1327
+ const On = Q("MuiMenu", ["root", "paper", "list"]), ft = {
1328
+ vertical: "top",
1329
+ horizontal: "right"
1330
+ }, mt = {
1331
+ vertical: "top",
1332
+ horizontal: "left"
1333
+ }, bt = (o) => {
1334
+ const {
1335
+ classes: t
1336
+ } = o;
1337
+ return oe({
1338
+ root: ["root"],
1339
+ paper: ["paper"],
1340
+ list: ["list"]
1341
+ }, ut, t);
1342
+ }, ht = x(Io, {
1343
+ shouldForwardProp: (o) => ee(o) || o === "classes",
1344
+ name: "MuiMenu",
1345
+ slot: "Root",
1346
+ overridesResolver: (o, t) => t.root
1347
+ })({}), gt = x(So, {
1348
+ name: "MuiMenu",
1349
+ slot: "Paper",
1350
+ overridesResolver: (o, t) => t.paper
1351
+ })({
1352
+ // specZ: The maximum height of a simple menu should be one or more rows less than the view
1353
+ // height. This ensures a tappable area outside of the simple menu with which to dismiss
1354
+ // the menu.
1355
+ maxHeight: "calc(100% - 96px)",
1356
+ // Add iOS momentum scrolling for iOS < 13.0
1357
+ WebkitOverflowScrolling: "touch"
1358
+ }), vt = x(Ro, {
1359
+ name: "MuiMenu",
1360
+ slot: "List",
1361
+ overridesResolver: (o, t) => t.list
1362
+ })({
1363
+ // We disable the focus ring for mouse, touch and keyboard users.
1364
+ outline: 0
1365
+ }), wo = /* @__PURE__ */ a.forwardRef(function(t, n) {
1366
+ const r = re({
1367
+ props: t,
1368
+ name: "MuiMenu"
1369
+ }), {
1370
+ autoFocus: p = !0,
1371
+ children: d,
1372
+ className: s,
1373
+ disableAutoFocusItem: i = !1,
1374
+ MenuListProps: u = {},
1375
+ onClose: h,
1376
+ open: b,
1377
+ PaperProps: g = {},
1378
+ PopoverClasses: C,
1379
+ transitionDuration: f = "auto",
1380
+ TransitionProps: {
1381
+ onEntering: R,
1382
+ ...F
1383
+ } = {},
1384
+ variant: S = "selectedMenu",
1385
+ slots: m = {},
1386
+ slotProps: I = {},
1387
+ ...c
1388
+ } = r, v = Wo(), P = {
1389
+ ...r,
1390
+ autoFocus: p,
1391
+ disableAutoFocusItem: i,
1392
+ MenuListProps: u,
1393
+ onEntering: R,
1394
+ PaperProps: g,
1395
+ transitionDuration: f,
1396
+ TransitionProps: F,
1397
+ variant: S
1398
+ }, D = bt(P), W = p && !i && b, T = a.useRef(null), L = ($, z) => {
1399
+ T.current && T.current.adjustStyleForScrollbar($, {
1400
+ direction: v ? "rtl" : "ltr"
1401
+ }), R && R($, z);
1402
+ }, B = ($) => {
1403
+ $.key === "Tab" && ($.preventDefault(), h && h($, "tabKeyDown"));
1404
+ };
1405
+ let A = -1;
1406
+ a.Children.map(d, ($, z) => {
1407
+ /* @__PURE__ */ a.isValidElement($) && (process.env.NODE_ENV !== "production" && qe.isFragment($) && console.error(["MUI: The Menu component doesn't accept a Fragment as a child.", "Consider providing an array instead."].join(`
1408
+ `)), $.props.disabled || (S === "selectedMenu" && $.props.selected || A === -1) && (A = z));
1409
+ });
1410
+ const V = m.paper ?? gt, U = I.paper ?? g, K = lo({
1411
+ elementType: m.root,
1412
+ externalSlotProps: I.root,
1413
+ ownerState: P,
1414
+ className: [D.root, s]
1415
+ }), G = lo({
1416
+ elementType: V,
1417
+ externalSlotProps: U,
1418
+ ownerState: P,
1419
+ className: D.paper
1420
+ });
1421
+ return /* @__PURE__ */ w(ht, {
1422
+ onClose: h,
1423
+ anchorOrigin: {
1424
+ vertical: "bottom",
1425
+ horizontal: v ? "right" : "left"
1426
+ },
1427
+ transformOrigin: v ? ft : mt,
1428
+ slots: {
1429
+ paper: V,
1430
+ root: m.root
1431
+ },
1432
+ slotProps: {
1433
+ root: K,
1434
+ paper: G
1435
+ },
1436
+ open: b,
1437
+ ref: n,
1438
+ transitionDuration: f,
1439
+ TransitionProps: {
1440
+ onEntering: L,
1441
+ ...F
1442
+ },
1443
+ ownerState: P,
1444
+ ...c,
1445
+ classes: C,
1446
+ children: /* @__PURE__ */ w(vt, {
1447
+ onKeyDown: B,
1448
+ actions: T,
1449
+ autoFocus: p && (A === -1 || i),
1450
+ autoFocusItem: W,
1451
+ variant: S,
1452
+ ...u,
1453
+ className: ne(D.list, u.className),
1454
+ children: d
1455
+ })
1456
+ });
1457
+ });
1458
+ process.env.NODE_ENV !== "production" && (wo.propTypes = {
1459
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
1460
+ // │ These PropTypes are generated from the TypeScript type definitions. │
1461
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
1462
+ // └─────────────────────────────────────────────────────────────────────┘
1463
+ /**
1464
+ * An HTML element, or a function that returns one.
1465
+ * It's used to set the position of the menu.
1466
+ */
1467
+ anchorEl: e.oneOfType([ze, e.func]),
1468
+ /**
1469
+ * If `true` (Default) will focus the `[role="menu"]` if no focusable child is found. Disabled
1470
+ * children are not focusable. If you set this prop to `false` focus will be placed
1471
+ * on the parent modal container. This has severe accessibility implications
1472
+ * and should only be considered if you manage focus otherwise.
1473
+ * @default true
1474
+ */
1475
+ autoFocus: e.bool,
1476
+ /**
1477
+ * Menu contents, normally `MenuItem`s.
1478
+ */
1479
+ children: e.node,
1480
+ /**
1481
+ * Override or extend the styles applied to the component.
1482
+ */
1483
+ classes: e.object,
1484
+ /**
1485
+ * @ignore
1486
+ */
1487
+ className: e.string,
1488
+ /**
1489
+ * When opening the menu will not focus the active item but the `[role="menu"]`
1490
+ * unless `autoFocus` is also set to `false`. Not using the default means not
1491
+ * following WAI-ARIA authoring practices. Please be considerate about possible
1492
+ * accessibility implications.
1493
+ * @default false
1494
+ */
1495
+ disableAutoFocusItem: e.bool,
1496
+ /**
1497
+ * Props applied to the [`MenuList`](https://mui.com/material-ui/api/menu-list/) element.
1498
+ * @default {}
1499
+ */
1500
+ MenuListProps: e.object,
1501
+ /**
1502
+ * Callback fired when the component requests to be closed.
1503
+ *
1504
+ * @param {object} event The event source of the callback.
1505
+ * @param {string} reason Can be: `"escapeKeyDown"`, `"backdropClick"`, `"tabKeyDown"`.
1506
+ */
1507
+ onClose: e.func,
1508
+ /**
1509
+ * If `true`, the component is shown.
1510
+ */
1511
+ open: e.bool.isRequired,
1512
+ /**
1513
+ * @ignore
1514
+ */
1515
+ PaperProps: e.object,
1516
+ /**
1517
+ * `classes` prop applied to the [`Popover`](https://mui.com/material-ui/api/popover/) element.
1518
+ */
1519
+ PopoverClasses: e.object,
1520
+ /**
1521
+ * The props used for each slot inside.
1522
+ * @default {}
1523
+ */
1524
+ slotProps: e.shape({
1525
+ paper: e.oneOfType([e.func, e.object]),
1526
+ root: e.oneOfType([e.func, e.object])
1527
+ }),
1528
+ /**
1529
+ * The components used for each slot inside.
1530
+ * @default {}
1531
+ */
1532
+ slots: e.shape({
1533
+ paper: e.elementType,
1534
+ root: e.elementType
1535
+ }),
1536
+ /**
1537
+ * The system prop that allows defining system overrides as well as additional CSS styles.
1538
+ */
1539
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
1540
+ /**
1541
+ * The length of the transition in `ms`, or 'auto'
1542
+ * @default 'auto'
1543
+ */
1544
+ transitionDuration: e.oneOfType([e.oneOf(["auto"]), e.number, e.shape({
1545
+ appear: e.number,
1546
+ enter: e.number,
1547
+ exit: e.number
1548
+ })]),
1549
+ /**
1550
+ * Props applied to the transition element.
1551
+ * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.
1552
+ * @default {}
1553
+ */
1554
+ TransitionProps: e.object,
1555
+ /**
1556
+ * The variant to use. Use `menu` to prevent selected items from impacting the initial focus.
1557
+ * @default 'selectedMenu'
1558
+ */
1559
+ variant: e.oneOf(["menu", "selectedMenu"])
1560
+ });
1561
+ function yt(o) {
1562
+ return Z("MuiNativeSelect", o);
1563
+ }
1564
+ const eo = Q("MuiNativeSelect", ["root", "select", "multiple", "filled", "outlined", "standard", "disabled", "icon", "iconOpen", "iconFilled", "iconOutlined", "iconStandard", "nativeInput", "error"]), Ot = (o) => {
1565
+ const {
1566
+ classes: t,
1567
+ variant: n,
1568
+ disabled: r,
1569
+ multiple: p,
1570
+ open: d,
1571
+ error: s
1572
+ } = o, i = {
1573
+ select: ["select", n, r && "disabled", p && "multiple", s && "error"],
1574
+ icon: ["icon", `icon${de(n)}`, d && "iconOpen", r && "disabled"]
1575
+ };
1576
+ return oe(i, yt, t);
1577
+ }, Po = x("select")(({
1578
+ theme: o
1579
+ }) => ({
1580
+ // Reset
1581
+ MozAppearance: "none",
1582
+ // Reset
1583
+ WebkitAppearance: "none",
1584
+ // When interacting quickly, the text can end up selected.
1585
+ // Native select can't be selected either.
1586
+ userSelect: "none",
1587
+ // Reset
1588
+ borderRadius: 0,
1589
+ cursor: "pointer",
1590
+ "&:focus": {
1591
+ // Reset Chrome style
1592
+ borderRadius: 0
1593
+ },
1594
+ [`&.${eo.disabled}`]: {
1595
+ cursor: "default"
1596
+ },
1597
+ "&[multiple]": {
1598
+ height: "auto"
1599
+ },
1600
+ "&:not([multiple]) option, &:not([multiple]) optgroup": {
1601
+ backgroundColor: (o.vars || o).palette.background.paper
1602
+ },
1603
+ variants: [{
1604
+ props: ({
1605
+ ownerState: t
1606
+ }) => t.variant !== "filled" && t.variant !== "outlined",
1607
+ style: {
1608
+ // Bump specificity to allow extending custom inputs
1609
+ "&&&": {
1610
+ paddingRight: 24,
1611
+ minWidth: 16
1612
+ // So it doesn't collapse.
1613
+ }
1614
+ }
1615
+ }, {
1616
+ props: {
1617
+ variant: "filled"
1618
+ },
1619
+ style: {
1620
+ "&&&": {
1621
+ paddingRight: 32
1622
+ }
1623
+ }
1624
+ }, {
1625
+ props: {
1626
+ variant: "outlined"
1627
+ },
1628
+ style: {
1629
+ borderRadius: (o.vars || o).shape.borderRadius,
1630
+ "&:focus": {
1631
+ borderRadius: (o.vars || o).shape.borderRadius
1632
+ // Reset the reset for Chrome style
1633
+ },
1634
+ "&&&": {
1635
+ paddingRight: 32
1636
+ }
1637
+ }
1638
+ }]
1639
+ })), Ct = x(Po, {
1640
+ name: "MuiNativeSelect",
1641
+ slot: "Select",
1642
+ shouldForwardProp: ee,
1643
+ overridesResolver: (o, t) => {
1644
+ const {
1645
+ ownerState: n
1646
+ } = o;
1647
+ return [t.select, t[n.variant], n.error && t.error, {
1648
+ [`&.${eo.multiple}`]: t.multiple
1649
+ }];
1650
+ }
1651
+ })({}), To = x("svg")(({
1652
+ theme: o
1653
+ }) => ({
1654
+ // We use a position absolute over a flexbox in order to forward the pointer events
1655
+ // to the input and to support wrapping tags..
1656
+ position: "absolute",
1657
+ right: 0,
1658
+ // Center vertically, height is 1em
1659
+ top: "calc(50% - .5em)",
1660
+ // Don't block pointer events on the select under the icon.
1661
+ pointerEvents: "none",
1662
+ color: (o.vars || o).palette.action.active,
1663
+ [`&.${eo.disabled}`]: {
1664
+ color: (o.vars || o).palette.action.disabled
1665
+ },
1666
+ variants: [{
1667
+ props: ({
1668
+ ownerState: t
1669
+ }) => t.open,
1670
+ style: {
1671
+ transform: "rotate(180deg)"
1672
+ }
1673
+ }, {
1674
+ props: {
1675
+ variant: "filled"
1676
+ },
1677
+ style: {
1678
+ right: 7
1679
+ }
1680
+ }, {
1681
+ props: {
1682
+ variant: "outlined"
1683
+ },
1684
+ style: {
1685
+ right: 7
1686
+ }
1687
+ }]
1688
+ })), Rt = x(To, {
1689
+ name: "MuiNativeSelect",
1690
+ slot: "Icon",
1691
+ overridesResolver: (o, t) => {
1692
+ const {
1693
+ ownerState: n
1694
+ } = o;
1695
+ return [t.icon, n.variant && t[`icon${de(n.variant)}`], n.open && t.iconOpen];
1696
+ }
1697
+ })({}), xo = /* @__PURE__ */ a.forwardRef(function(t, n) {
1698
+ const {
1699
+ className: r,
1700
+ disabled: p,
1701
+ error: d,
1702
+ IconComponent: s,
1703
+ inputRef: i,
1704
+ variant: u = "standard",
1705
+ ...h
1706
+ } = t, b = {
1707
+ ...t,
1708
+ disabled: p,
1709
+ variant: u,
1710
+ error: d
1711
+ }, g = Ot(b);
1712
+ return /* @__PURE__ */ ke(a.Fragment, {
1713
+ children: [/* @__PURE__ */ w(Ct, {
1714
+ ownerState: b,
1715
+ className: ne(g.select, r),
1716
+ disabled: p,
1717
+ ref: i || n,
1718
+ ...h
1719
+ }), t.multiple ? null : /* @__PURE__ */ w(Rt, {
1720
+ as: s,
1721
+ ownerState: b,
1722
+ className: g.icon
1723
+ })]
1724
+ });
1725
+ });
1726
+ process.env.NODE_ENV !== "production" && (xo.propTypes = {
1727
+ /**
1728
+ * The option elements to populate the select with.
1729
+ * Can be some `<option>` elements.
1730
+ */
1731
+ children: e.node,
1732
+ /**
1733
+ * Override or extend the styles applied to the component.
1734
+ */
1735
+ classes: e.object,
1736
+ /**
1737
+ * The CSS class name of the select element.
1738
+ */
1739
+ className: e.string,
1740
+ /**
1741
+ * If `true`, the select is disabled.
1742
+ */
1743
+ disabled: e.bool,
1744
+ /**
1745
+ * If `true`, the `select input` will indicate an error.
1746
+ */
1747
+ error: e.bool,
1748
+ /**
1749
+ * The icon that displays the arrow.
1750
+ */
1751
+ IconComponent: e.elementType.isRequired,
1752
+ /**
1753
+ * Use that prop to pass a ref to the native select element.
1754
+ * @deprecated
1755
+ */
1756
+ inputRef: ce,
1757
+ /**
1758
+ * @ignore
1759
+ */
1760
+ multiple: e.bool,
1761
+ /**
1762
+ * Name attribute of the `select` or hidden `input` element.
1763
+ */
1764
+ name: e.string,
1765
+ /**
1766
+ * Callback fired when a menu item is selected.
1767
+ *
1768
+ * @param {object} event The event source of the callback.
1769
+ * You can pull out the new value by accessing `event.target.value` (string).
1770
+ */
1771
+ onChange: e.func,
1772
+ /**
1773
+ * The input value.
1774
+ */
1775
+ value: e.any,
1776
+ /**
1777
+ * The variant to use.
1778
+ */
1779
+ variant: e.oneOf(["standard", "outlined", "filled"])
1780
+ });
1781
+ function St(o) {
1782
+ return Z("MuiSelect", o);
1783
+ }
1784
+ const me = Q("MuiSelect", ["root", "select", "multiple", "filled", "outlined", "standard", "disabled", "focused", "icon", "iconOpen", "iconFilled", "iconOutlined", "iconStandard", "nativeInput", "error"]);
1785
+ var ho;
1786
+ const It = x(Po, {
1787
+ name: "MuiSelect",
1788
+ slot: "Select",
1789
+ overridesResolver: (o, t) => {
1790
+ const {
1791
+ ownerState: n
1792
+ } = o;
1793
+ return [
1794
+ // Win specificity over the input base
1795
+ {
1796
+ [`&.${me.select}`]: t.select
1797
+ },
1798
+ {
1799
+ [`&.${me.select}`]: t[n.variant]
1800
+ },
1801
+ {
1802
+ [`&.${me.error}`]: t.error
1803
+ },
1804
+ {
1805
+ [`&.${me.multiple}`]: t.multiple
1806
+ }
1807
+ ];
1808
+ }
1809
+ })({
1810
+ // Win specificity over the input base
1811
+ [`&.${me.select}`]: {
1812
+ height: "auto",
1813
+ // Resets for multiple select with chips
1814
+ minHeight: "1.4375em",
1815
+ // Required for select\text-field height consistency
1816
+ textOverflow: "ellipsis",
1817
+ whiteSpace: "nowrap",
1818
+ overflow: "hidden"
1819
+ }
1820
+ }), wt = x(To, {
1821
+ name: "MuiSelect",
1822
+ slot: "Icon",
1823
+ overridesResolver: (o, t) => {
1824
+ const {
1825
+ ownerState: n
1826
+ } = o;
1827
+ return [t.icon, n.variant && t[`icon${de(n.variant)}`], n.open && t.iconOpen];
1828
+ }
1829
+ })({}), Pt = x("input", {
1830
+ shouldForwardProp: (o) => jo(o) && o !== "classes",
1831
+ name: "MuiSelect",
1832
+ slot: "NativeInput",
1833
+ overridesResolver: (o, t) => t.nativeInput
1834
+ })({
1835
+ bottom: 0,
1836
+ left: 0,
1837
+ position: "absolute",
1838
+ opacity: 0,
1839
+ pointerEvents: "none",
1840
+ width: "100%",
1841
+ boxSizing: "border-box"
1842
+ });
1843
+ function go(o, t) {
1844
+ return typeof t == "object" && t !== null ? o === t : String(o) === String(t);
1845
+ }
1846
+ function Tt(o) {
1847
+ return o == null || typeof o == "string" && !o.trim();
1848
+ }
1849
+ const xt = (o) => {
1850
+ const {
1851
+ classes: t,
1852
+ variant: n,
1853
+ disabled: r,
1854
+ multiple: p,
1855
+ open: d,
1856
+ error: s
1857
+ } = o, i = {
1858
+ select: ["select", n, r && "disabled", p && "multiple", s && "error"],
1859
+ icon: ["icon", `icon${de(n)}`, d && "iconOpen", r && "disabled"],
1860
+ nativeInput: ["nativeInput"]
1861
+ };
1862
+ return oe(i, St, t);
1863
+ }, Eo = /* @__PURE__ */ a.forwardRef(function(t, n) {
1864
+ var io;
1865
+ const {
1866
+ "aria-describedby": r,
1867
+ "aria-label": p,
1868
+ autoFocus: d,
1869
+ autoWidth: s,
1870
+ children: i,
1871
+ className: u,
1872
+ defaultOpen: h,
1873
+ defaultValue: b,
1874
+ disabled: g,
1875
+ displayEmpty: C,
1876
+ error: f = !1,
1877
+ IconComponent: R,
1878
+ inputRef: F,
1879
+ labelId: S,
1880
+ MenuProps: m = {},
1881
+ multiple: I,
1882
+ name: c,
1883
+ onBlur: v,
1884
+ onChange: P,
1885
+ onClose: D,
1886
+ onFocus: W,
1887
+ onOpen: T,
1888
+ open: L,
1889
+ readOnly: B,
1890
+ renderValue: A,
1891
+ SelectDisplayProps: V = {},
1892
+ tabIndex: U,
1893
+ // catching `type` from Input which makes no sense for SelectInput
1894
+ type: K,
1895
+ value: G,
1896
+ variant: $ = "standard",
1897
+ ...z
1898
+ } = t, [y, ae] = co({
1899
+ controlled: G,
1900
+ default: b,
1901
+ name: "Select"
1902
+ }), [be, he] = co({
1903
+ controlled: L,
1904
+ default: h,
1905
+ name: "Select"
1906
+ }), ge = a.useRef(null), q = a.useRef(null), [Y, ve] = a.useState(null), {
1907
+ current: le
1908
+ } = a.useRef(L != null), [Le, ye] = a.useState(), je = Fe(n, F), M = a.useCallback((l) => {
1909
+ q.current = l, l && ve(l);
1910
+ }, []), E = Y == null ? void 0 : Y.parentNode;
1911
+ a.useImperativeHandle(je, () => ({
1912
+ focus: () => {
1913
+ q.current.focus();
1914
+ },
1915
+ node: ge.current,
1916
+ value: y
1917
+ }), [y]), a.useEffect(() => {
1918
+ h && be && Y && !le && (ye(s ? null : E.clientWidth), q.current.focus());
1919
+ }, [Y, s]), a.useEffect(() => {
1920
+ d && q.current.focus();
1921
+ }, [d]), a.useEffect(() => {
1922
+ if (!S)
1923
+ return;
1924
+ const l = xe(q.current).getElementById(S);
1925
+ if (l) {
1926
+ const O = () => {
1927
+ getSelection().isCollapsed && q.current.focus();
1928
+ };
1929
+ return l.addEventListener("click", O), () => {
1930
+ l.removeEventListener("click", O);
1931
+ };
1932
+ }
1933
+ }, [S]);
1934
+ const N = (l, O) => {
1935
+ l ? T && T(O) : D && D(O), le || (ye(s ? null : E.clientWidth), he(l));
1936
+ }, J = (l) => {
1937
+ l.button === 0 && (l.preventDefault(), q.current.focus(), N(!0, l));
1938
+ }, te = (l) => {
1939
+ N(!1, l);
1940
+ }, _ = a.Children.toArray(i), Oe = (l) => {
1941
+ const O = _.find((j) => j.props.value === l.target.value);
1942
+ O !== void 0 && (ae(O.props.value), P && P(l, O));
1943
+ }, Ce = (l) => (O) => {
1944
+ let j;
1945
+ if (O.currentTarget.hasAttribute("tabindex")) {
1946
+ if (I) {
1947
+ j = Array.isArray(y) ? y.slice() : [];
1948
+ const pe = y.indexOf(l.props.value);
1949
+ pe === -1 ? j.push(l.props.value) : j.splice(pe, 1);
1950
+ } else
1951
+ j = l.props.value;
1952
+ if (l.props.onClick && l.props.onClick(O), y !== j && (ae(j), P)) {
1953
+ const pe = O.nativeEvent || O, ao = new pe.constructor(pe.type, pe);
1954
+ Object.defineProperty(ao, "target", {
1955
+ writable: !0,
1956
+ value: {
1957
+ value: j,
1958
+ name: c
1959
+ }
1960
+ }), P(ao, l);
1961
+ }
1962
+ I || N(!1, O);
1963
+ }
1964
+ }, Re = (l) => {
1965
+ B || [
1966
+ " ",
1967
+ "ArrowUp",
1968
+ "ArrowDown",
1969
+ // The native select doesn't respond to enter on macOS, but it's recommended by
1970
+ // https://www.w3.org/WAI/ARIA/apg/patterns/combobox/examples/combobox-select-only/
1971
+ "Enter"
1972
+ ].includes(l.key) && (l.preventDefault(), N(!0, l));
1973
+ }, H = Y !== null && be, Se = (l) => {
1974
+ !H && v && (Object.defineProperty(l, "target", {
1975
+ writable: !0,
1976
+ value: {
1977
+ value: y,
1978
+ name: c
1979
+ }
1980
+ }), v(l));
1981
+ };
1982
+ delete z["aria-invalid"];
1983
+ let k, to;
1984
+ const Ie = [];
1985
+ let we = !1, $e = !1;
1986
+ (Lo({
1987
+ value: y
1988
+ }) || C) && (A ? k = A(y) : we = !0);
1989
+ const ko = _.map((l) => {
1990
+ if (!/* @__PURE__ */ a.isValidElement(l))
1991
+ return null;
1992
+ process.env.NODE_ENV !== "production" && qe.isFragment(l) && console.error(["MUI: The Select component doesn't accept a Fragment as a child.", "Consider providing an array instead."].join(`
1993
+ `));
1994
+ let O;
1995
+ if (I) {
1996
+ if (!Array.isArray(y))
1997
+ 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));
1998
+ O = y.some((j) => go(j, l.props.value)), O && we && Ie.push(l.props.children);
1999
+ } else
2000
+ O = go(y, l.props.value), O && we && (to = l.props.children);
2001
+ return O && ($e = !0), /* @__PURE__ */ a.cloneElement(l, {
2002
+ "aria-selected": O ? "true" : "false",
2003
+ onClick: Ce(l),
2004
+ onKeyUp: (j) => {
2005
+ j.key === " " && j.preventDefault(), l.props.onKeyUp && l.props.onKeyUp(j);
2006
+ },
2007
+ role: "option",
2008
+ selected: O,
2009
+ value: void 0,
2010
+ // The value is most likely not a valid HTML attribute.
2011
+ "data-value": l.props.value
2012
+ // Instead, we provide it as a data attribute.
2013
+ });
2014
+ });
2015
+ process.env.NODE_ENV !== "production" && a.useEffect(() => {
2016
+ if (!$e && !I && y !== "") {
2017
+ const l = _.map((O) => O.props.value);
2018
+ console.warn([`MUI: You have provided an out-of-range value \`${y}\` for the select ${c ? `(name="${c}") ` : ""}component.`, "Consider providing a value that matches one of the available options or ''.", `The available values are ${l.filter((O) => O != null).map((O) => `\`${O}\``).join(", ") || '""'}.`].join(`
2019
+ `));
2020
+ }
2021
+ }, [$e, _, I, c, y]), we && (I ? Ie.length === 0 ? k = null : k = Ie.reduce((l, O, j) => (l.push(O), j < Ie.length - 1 && l.push(", "), l), []) : k = to);
2022
+ let no = Le;
2023
+ !s && le && Y && (no = E.clientWidth);
2024
+ let De;
2025
+ typeof U < "u" ? De = U : De = g ? null : 0;
2026
+ const ro = V.id || (c ? `mui-component-select-${c}` : void 0), Pe = {
2027
+ ...t,
2028
+ variant: $,
2029
+ value: y,
2030
+ open: H,
2031
+ error: f
2032
+ }, We = xt(Pe), Ae = {
2033
+ ...m.PaperProps,
2034
+ ...(io = m.slotProps) == null ? void 0 : io.paper
2035
+ }, so = Go();
2036
+ return /* @__PURE__ */ ke(a.Fragment, {
2037
+ children: [/* @__PURE__ */ w(It, {
2038
+ as: "div",
2039
+ ref: M,
2040
+ tabIndex: De,
2041
+ role: "combobox",
2042
+ "aria-controls": so,
2043
+ "aria-disabled": g ? "true" : void 0,
2044
+ "aria-expanded": H ? "true" : "false",
2045
+ "aria-haspopup": "listbox",
2046
+ "aria-label": p,
2047
+ "aria-labelledby": [S, ro].filter(Boolean).join(" ") || void 0,
2048
+ "aria-describedby": r,
2049
+ onKeyDown: Re,
2050
+ onMouseDown: g || B ? null : J,
2051
+ onBlur: Se,
2052
+ onFocus: W,
2053
+ ...V,
2054
+ ownerState: Pe,
2055
+ className: ne(V.className, We.select, u),
2056
+ id: ro,
2057
+ children: Tt(k) ? (
2058
+ // notranslate needed while Google Translate will not fix zero-width space issue
2059
+ ho || (ho = /* @__PURE__ */ w("span", {
2060
+ className: "notranslate",
2061
+ children: "​"
2062
+ }))
2063
+ ) : k
2064
+ }), /* @__PURE__ */ w(Pt, {
2065
+ "aria-invalid": f,
2066
+ value: Array.isArray(y) ? y.join(",") : y,
2067
+ name: c,
2068
+ ref: ge,
2069
+ "aria-hidden": !0,
2070
+ onChange: Oe,
2071
+ tabIndex: -1,
2072
+ disabled: g,
2073
+ className: We.nativeInput,
2074
+ autoFocus: d,
2075
+ ...z,
2076
+ ownerState: Pe
2077
+ }), /* @__PURE__ */ w(wt, {
2078
+ as: R,
2079
+ className: We.icon,
2080
+ ownerState: Pe
2081
+ }), /* @__PURE__ */ w(wo, {
2082
+ id: `menu-${c || ""}`,
2083
+ anchorEl: E,
2084
+ open: H,
2085
+ onClose: te,
2086
+ anchorOrigin: {
2087
+ vertical: "bottom",
2088
+ horizontal: "center"
2089
+ },
2090
+ transformOrigin: {
2091
+ vertical: "top",
2092
+ horizontal: "center"
2093
+ },
2094
+ ...m,
2095
+ MenuListProps: {
2096
+ "aria-labelledby": S,
2097
+ role: "listbox",
2098
+ "aria-multiselectable": I ? "true" : void 0,
2099
+ disableListWrap: !0,
2100
+ id: so,
2101
+ ...m.MenuListProps
2102
+ },
2103
+ slotProps: {
2104
+ ...m.slotProps,
2105
+ paper: {
2106
+ ...Ae,
2107
+ style: {
2108
+ minWidth: no,
2109
+ ...Ae != null ? Ae.style : null
2110
+ }
2111
+ }
2112
+ },
2113
+ children: ko
2114
+ })]
2115
+ });
2116
+ });
2117
+ process.env.NODE_ENV !== "production" && (Eo.propTypes = {
2118
+ /**
2119
+ * @ignore
2120
+ */
2121
+ "aria-describedby": e.string,
2122
+ /**
2123
+ * @ignore
2124
+ */
2125
+ "aria-label": e.string,
2126
+ /**
2127
+ * @ignore
2128
+ */
2129
+ autoFocus: e.bool,
2130
+ /**
2131
+ * If `true`, the width of the popover will automatically be set according to the items inside the
2132
+ * menu, otherwise it will be at least the width of the select input.
2133
+ */
2134
+ autoWidth: e.bool,
2135
+ /**
2136
+ * The option elements to populate the select with.
2137
+ * Can be some `<MenuItem>` elements.
2138
+ */
2139
+ children: e.node,
2140
+ /**
2141
+ * Override or extend the styles applied to the component.
2142
+ */
2143
+ classes: e.object,
2144
+ /**
2145
+ * The CSS class name of the select element.
2146
+ */
2147
+ className: e.string,
2148
+ /**
2149
+ * If `true`, the component is toggled on mount. Use when the component open state is not controlled.
2150
+ * You can only use it when the `native` prop is `false` (default).
2151
+ */
2152
+ defaultOpen: e.bool,
2153
+ /**
2154
+ * The default value. Use when the component is not controlled.
2155
+ */
2156
+ defaultValue: e.any,
2157
+ /**
2158
+ * If `true`, the select is disabled.
2159
+ */
2160
+ disabled: e.bool,
2161
+ /**
2162
+ * If `true`, the selected item is displayed even if its value is empty.
2163
+ */
2164
+ displayEmpty: e.bool,
2165
+ /**
2166
+ * If `true`, the `select input` will indicate an error.
2167
+ */
2168
+ error: e.bool,
2169
+ /**
2170
+ * The icon that displays the arrow.
2171
+ */
2172
+ IconComponent: e.elementType.isRequired,
2173
+ /**
2174
+ * Imperative handle implementing `{ value: T, node: HTMLElement, focus(): void }`
2175
+ * Equivalent to `ref`
2176
+ */
2177
+ inputRef: ce,
2178
+ /**
2179
+ * The ID of an element that acts as an additional label. The Select will
2180
+ * be labelled by the additional label and the selected value.
2181
+ */
2182
+ labelId: e.string,
2183
+ /**
2184
+ * Props applied to the [`Menu`](/material-ui/api/menu/) element.
2185
+ */
2186
+ MenuProps: e.object,
2187
+ /**
2188
+ * If `true`, `value` must be an array and the menu will support multiple selections.
2189
+ */
2190
+ multiple: e.bool,
2191
+ /**
2192
+ * Name attribute of the `select` or hidden `input` element.
2193
+ */
2194
+ name: e.string,
2195
+ /**
2196
+ * @ignore
2197
+ */
2198
+ onBlur: e.func,
2199
+ /**
2200
+ * Callback fired when a menu item is selected.
2201
+ *
2202
+ * @param {object} event The event source of the callback.
2203
+ * You can pull out the new value by accessing `event.target.value` (any).
2204
+ * @param {object} [child] The react element that was selected.
2205
+ */
2206
+ onChange: e.func,
2207
+ /**
2208
+ * Callback fired when the component requests to be closed.
2209
+ * Use in controlled mode (see open).
2210
+ *
2211
+ * @param {object} event The event source of the callback.
2212
+ */
2213
+ onClose: e.func,
2214
+ /**
2215
+ * @ignore
2216
+ */
2217
+ onFocus: e.func,
2218
+ /**
2219
+ * Callback fired when the component requests to be opened.
2220
+ * Use in controlled mode (see open).
2221
+ *
2222
+ * @param {object} event The event source of the callback.
2223
+ */
2224
+ onOpen: e.func,
2225
+ /**
2226
+ * If `true`, the component is shown.
2227
+ */
2228
+ open: e.bool,
2229
+ /**
2230
+ * @ignore
2231
+ */
2232
+ readOnly: e.bool,
2233
+ /**
2234
+ * Render the selected value.
2235
+ *
2236
+ * @param {any} value The `value` provided to the component.
2237
+ * @returns {ReactNode}
2238
+ */
2239
+ renderValue: e.func,
2240
+ /**
2241
+ * Props applied to the clickable div element.
2242
+ */
2243
+ SelectDisplayProps: e.object,
2244
+ /**
2245
+ * @ignore
2246
+ */
2247
+ tabIndex: e.oneOfType([e.number, e.string]),
2248
+ /**
2249
+ * @ignore
2250
+ */
2251
+ type: e.any,
2252
+ /**
2253
+ * The input value.
2254
+ */
2255
+ value: e.any,
2256
+ /**
2257
+ * The variant to use.
2258
+ */
2259
+ variant: e.oneOf(["standard", "outlined", "filled"])
2260
+ });
2261
+ const Et = Yo(/* @__PURE__ */ w("path", {
2262
+ d: "M7 10l5 5 5-5z"
2263
+ }), "ArrowDropDown");
2264
+ function Mt(o) {
2265
+ return Z("MuiFilledInput", o);
2266
+ }
2267
+ const ie = {
2268
+ ...He,
2269
+ ...Q("MuiFilledInput", ["root", "underline", "input", "adornedStart", "adornedEnd", "sizeSmall", "multiline", "hiddenLabel"])
2270
+ }, Nt = (o) => {
2271
+ const {
2272
+ classes: t,
2273
+ disableUnderline: n,
2274
+ startAdornment: r,
2275
+ endAdornment: p,
2276
+ size: d,
2277
+ hiddenLabel: s,
2278
+ multiline: i
2279
+ } = o, u = {
2280
+ root: ["root", !n && "underline", r && "adornedStart", p && "adornedEnd", d === "small" && `size${de(d)}`, s && "hiddenLabel", i && "multiline"],
2281
+ input: ["input"]
2282
+ }, h = oe(u, Mt, t);
2283
+ return {
2284
+ ...t,
2285
+ // forward classes to the InputBase
2286
+ ...h
2287
+ };
2288
+ }, kt = x(Xe, {
2289
+ shouldForwardProp: (o) => ee(o) || o === "classes",
2290
+ name: "MuiFilledInput",
2291
+ slot: "Root",
2292
+ overridesResolver: (o, t) => {
2293
+ const {
2294
+ ownerState: n
2295
+ } = o;
2296
+ return [...Ge(o, t), !n.disableUnderline && t.underline];
2297
+ }
2298
+ })(se(({
2299
+ theme: o
2300
+ }) => {
2301
+ 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)", p = t ? "rgba(0, 0, 0, 0.09)" : "rgba(255, 255, 255, 0.13)", d = t ? "rgba(0, 0, 0, 0.12)" : "rgba(255, 255, 255, 0.12)";
2302
+ return {
2303
+ position: "relative",
2304
+ backgroundColor: o.vars ? o.vars.palette.FilledInput.bg : r,
2305
+ borderTopLeftRadius: (o.vars || o).shape.borderRadius,
2306
+ borderTopRightRadius: (o.vars || o).shape.borderRadius,
2307
+ transition: o.transitions.create("background-color", {
2308
+ duration: o.transitions.duration.shorter,
2309
+ easing: o.transitions.easing.easeOut
2310
+ }),
2311
+ "&:hover": {
2312
+ backgroundColor: o.vars ? o.vars.palette.FilledInput.hoverBg : p,
2313
+ // Reset on touch devices, it doesn't add specificity
2314
+ "@media (hover: none)": {
2315
+ backgroundColor: o.vars ? o.vars.palette.FilledInput.bg : r
2316
+ }
2317
+ },
2318
+ [`&.${ie.focused}`]: {
2319
+ backgroundColor: o.vars ? o.vars.palette.FilledInput.bg : r
2320
+ },
2321
+ [`&.${ie.disabled}`]: {
2322
+ backgroundColor: o.vars ? o.vars.palette.FilledInput.disabledBg : d
2323
+ },
2324
+ variants: [{
2325
+ props: ({
2326
+ ownerState: s
2327
+ }) => !s.disableUnderline,
2328
+ style: {
2329
+ "&::after": {
2330
+ left: 0,
2331
+ bottom: 0,
2332
+ content: '""',
2333
+ position: "absolute",
2334
+ right: 0,
2335
+ transform: "scaleX(0)",
2336
+ transition: o.transitions.create("transform", {
2337
+ duration: o.transitions.duration.shorter,
2338
+ easing: o.transitions.easing.easeOut
2339
+ }),
2340
+ pointerEvents: "none"
2341
+ // Transparent to the hover style.
2342
+ },
2343
+ [`&.${ie.focused}:after`]: {
2344
+ // translateX(0) is a workaround for Safari transform scale bug
2345
+ // See https://github.com/mui/material-ui/issues/31766
2346
+ transform: "scaleX(1) translateX(0)"
2347
+ },
2348
+ [`&.${ie.error}`]: {
2349
+ "&::before, &::after": {
2350
+ borderBottomColor: (o.vars || o).palette.error.main
2351
+ }
2352
+ },
2353
+ "&::before": {
2354
+ borderBottom: `1px solid ${o.vars ? `rgba(${o.vars.palette.common.onBackgroundChannel} / ${o.vars.opacity.inputUnderline})` : n}`,
2355
+ left: 0,
2356
+ bottom: 0,
2357
+ content: '"\\00a0"',
2358
+ position: "absolute",
2359
+ right: 0,
2360
+ transition: o.transitions.create("border-bottom-color", {
2361
+ duration: o.transitions.duration.shorter
2362
+ }),
2363
+ pointerEvents: "none"
2364
+ // Transparent to the hover style.
2365
+ },
2366
+ [`&:hover:not(.${ie.disabled}, .${ie.error}):before`]: {
2367
+ borderBottom: `1px solid ${(o.vars || o).palette.text.primary}`
2368
+ },
2369
+ [`&.${ie.disabled}:before`]: {
2370
+ borderBottomStyle: "dotted"
2371
+ }
2372
+ }
2373
+ }, ...Object.entries(o.palette).filter(Qe()).map(([s]) => {
2374
+ var i;
2375
+ return {
2376
+ props: {
2377
+ disableUnderline: !1,
2378
+ color: s
2379
+ },
2380
+ style: {
2381
+ "&::after": {
2382
+ borderBottom: `2px solid ${(i = (o.vars || o).palette[s]) == null ? void 0 : i.main}`
2383
+ }
2384
+ }
2385
+ };
2386
+ }), {
2387
+ props: ({
2388
+ ownerState: s
2389
+ }) => s.startAdornment,
2390
+ style: {
2391
+ paddingLeft: 12
2392
+ }
2393
+ }, {
2394
+ props: ({
2395
+ ownerState: s
2396
+ }) => s.endAdornment,
2397
+ style: {
2398
+ paddingRight: 12
2399
+ }
2400
+ }, {
2401
+ props: ({
2402
+ ownerState: s
2403
+ }) => s.multiline,
2404
+ style: {
2405
+ padding: "25px 12px 8px"
2406
+ }
2407
+ }, {
2408
+ props: ({
2409
+ ownerState: s,
2410
+ size: i
2411
+ }) => s.multiline && i === "small",
2412
+ style: {
2413
+ paddingTop: 21,
2414
+ paddingBottom: 4
2415
+ }
2416
+ }, {
2417
+ props: ({
2418
+ ownerState: s
2419
+ }) => s.multiline && s.hiddenLabel,
2420
+ style: {
2421
+ paddingTop: 16,
2422
+ paddingBottom: 17
2423
+ }
2424
+ }, {
2425
+ props: ({
2426
+ ownerState: s
2427
+ }) => s.multiline && s.hiddenLabel && s.size === "small",
2428
+ style: {
2429
+ paddingTop: 8,
2430
+ paddingBottom: 9
2431
+ }
2432
+ }]
2433
+ };
2434
+ })), Ft = x(Ye, {
2435
+ name: "MuiFilledInput",
2436
+ slot: "Input",
2437
+ overridesResolver: Je
2438
+ })(se(({
2439
+ theme: o
2440
+ }) => ({
2441
+ paddingTop: 25,
2442
+ paddingRight: 12,
2443
+ paddingBottom: 8,
2444
+ paddingLeft: 12,
2445
+ ...!o.vars && {
2446
+ "&:-webkit-autofill": {
2447
+ WebkitBoxShadow: o.palette.mode === "light" ? null : "0 0 0 100px #266798 inset",
2448
+ WebkitTextFillColor: o.palette.mode === "light" ? null : "#fff",
2449
+ caretColor: o.palette.mode === "light" ? null : "#fff",
2450
+ borderTopLeftRadius: "inherit",
2451
+ borderTopRightRadius: "inherit"
2452
+ }
2453
+ },
2454
+ ...o.vars && {
2455
+ "&:-webkit-autofill": {
2456
+ borderTopLeftRadius: "inherit",
2457
+ borderTopRightRadius: "inherit"
2458
+ },
2459
+ [o.getColorSchemeSelector("dark")]: {
2460
+ "&:-webkit-autofill": {
2461
+ WebkitBoxShadow: "0 0 0 100px #266798 inset",
2462
+ WebkitTextFillColor: "#fff",
2463
+ caretColor: "#fff"
2464
+ }
2465
+ }
2466
+ },
2467
+ variants: [{
2468
+ props: {
2469
+ size: "small"
2470
+ },
2471
+ style: {
2472
+ paddingTop: 21,
2473
+ paddingBottom: 4
2474
+ }
2475
+ }, {
2476
+ props: ({
2477
+ ownerState: t
2478
+ }) => t.hiddenLabel,
2479
+ style: {
2480
+ paddingTop: 16,
2481
+ paddingBottom: 17
2482
+ }
2483
+ }, {
2484
+ props: ({
2485
+ ownerState: t
2486
+ }) => t.startAdornment,
2487
+ style: {
2488
+ paddingLeft: 0
2489
+ }
2490
+ }, {
2491
+ props: ({
2492
+ ownerState: t
2493
+ }) => t.endAdornment,
2494
+ style: {
2495
+ paddingRight: 0
2496
+ }
2497
+ }, {
2498
+ props: ({
2499
+ ownerState: t
2500
+ }) => t.hiddenLabel && t.size === "small",
2501
+ style: {
2502
+ paddingTop: 8,
2503
+ paddingBottom: 9
2504
+ }
2505
+ }, {
2506
+ props: ({
2507
+ ownerState: t
2508
+ }) => t.multiline,
2509
+ style: {
2510
+ paddingTop: 0,
2511
+ paddingBottom: 0,
2512
+ paddingLeft: 0,
2513
+ paddingRight: 0
2514
+ }
2515
+ }]
2516
+ }))), Me = /* @__PURE__ */ a.forwardRef(function(t, n) {
2517
+ const r = re({
2518
+ props: t,
2519
+ name: "MuiFilledInput"
2520
+ }), {
2521
+ disableUnderline: p = !1,
2522
+ components: d = {},
2523
+ componentsProps: s,
2524
+ fullWidth: i = !1,
2525
+ hiddenLabel: u,
2526
+ // declare here to prevent spreading to DOM
2527
+ inputComponent: h = "input",
2528
+ multiline: b = !1,
2529
+ slotProps: g,
2530
+ slots: C = {},
2531
+ type: f = "text",
2532
+ ...R
2533
+ } = r, F = {
2534
+ ...r,
2535
+ disableUnderline: p,
2536
+ fullWidth: i,
2537
+ inputComponent: h,
2538
+ multiline: b,
2539
+ type: f
2540
+ }, S = Nt(r), m = {
2541
+ root: {
2542
+ ownerState: F
2543
+ },
2544
+ input: {
2545
+ ownerState: F
2546
+ }
2547
+ }, I = g ?? s ? Ve(m, g ?? s) : m, c = C.root ?? d.Root ?? kt, v = C.input ?? d.Input ?? Ft;
2548
+ return /* @__PURE__ */ w(Ze, {
2549
+ slots: {
2550
+ root: c,
2551
+ input: v
2552
+ },
2553
+ componentsProps: I,
2554
+ fullWidth: i,
2555
+ inputComponent: h,
2556
+ multiline: b,
2557
+ ref: n,
2558
+ type: f,
2559
+ ...R,
2560
+ classes: S
2561
+ });
2562
+ });
2563
+ process.env.NODE_ENV !== "production" && (Me.propTypes = {
2564
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
2565
+ // │ These PropTypes are generated from the TypeScript type definitions. │
2566
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
2567
+ // └─────────────────────────────────────────────────────────────────────┘
2568
+ /**
2569
+ * This prop helps users to fill forms faster, especially on mobile devices.
2570
+ * The name can be confusing, as it's more like an autofill.
2571
+ * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).
2572
+ */
2573
+ autoComplete: e.string,
2574
+ /**
2575
+ * If `true`, the `input` element is focused during the first mount.
2576
+ */
2577
+ autoFocus: e.bool,
2578
+ /**
2579
+ * Override or extend the styles applied to the component.
2580
+ */
2581
+ classes: e.object,
2582
+ /**
2583
+ * The color of the component.
2584
+ * It supports both default and custom theme colors, which can be added as shown in the
2585
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
2586
+ * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.
2587
+ */
2588
+ color: e.oneOfType([e.oneOf(["primary", "secondary"]), e.string]),
2589
+ /**
2590
+ * The components used for each slot inside.
2591
+ *
2592
+ * @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.
2593
+ *
2594
+ * @default {}
2595
+ */
2596
+ components: e.shape({
2597
+ Input: e.elementType,
2598
+ Root: e.elementType
2599
+ }),
2600
+ /**
2601
+ * The extra props for the slot components.
2602
+ * You can override the existing props or add new ones.
2603
+ *
2604
+ * @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.
2605
+ *
2606
+ * @default {}
2607
+ */
2608
+ componentsProps: e.shape({
2609
+ input: e.object,
2610
+ root: e.object
2611
+ }),
2612
+ /**
2613
+ * The default value. Use when the component is not controlled.
2614
+ */
2615
+ defaultValue: e.any,
2616
+ /**
2617
+ * If `true`, the component is disabled.
2618
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
2619
+ */
2620
+ disabled: e.bool,
2621
+ /**
2622
+ * If `true`, the input will not have an underline.
2623
+ * @default false
2624
+ */
2625
+ disableUnderline: e.bool,
2626
+ /**
2627
+ * End `InputAdornment` for this component.
2628
+ */
2629
+ endAdornment: e.node,
2630
+ /**
2631
+ * If `true`, the `input` will indicate an error.
2632
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
2633
+ */
2634
+ error: e.bool,
2635
+ /**
2636
+ * If `true`, the `input` will take up the full width of its container.
2637
+ * @default false
2638
+ */
2639
+ fullWidth: e.bool,
2640
+ /**
2641
+ * If `true`, the label is hidden.
2642
+ * This is used to increase density for a `FilledInput`.
2643
+ * Be sure to add `aria-label` to the `input` element.
2644
+ * @default false
2645
+ */
2646
+ hiddenLabel: e.bool,
2647
+ /**
2648
+ * The id of the `input` element.
2649
+ */
2650
+ id: e.string,
2651
+ /**
2652
+ * The component used for the `input` element.
2653
+ * Either a string to use a HTML element or a component.
2654
+ * @default 'input'
2655
+ */
2656
+ inputComponent: e.elementType,
2657
+ /**
2658
+ * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
2659
+ * @default {}
2660
+ */
2661
+ inputProps: e.object,
2662
+ /**
2663
+ * Pass a ref to the `input` element.
2664
+ */
2665
+ inputRef: ce,
2666
+ /**
2667
+ * If `dense`, will adjust vertical spacing. This is normally obtained via context from
2668
+ * FormControl.
2669
+ * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.
2670
+ */
2671
+ margin: e.oneOf(["dense", "none"]),
2672
+ /**
2673
+ * Maximum number of rows to display when multiline option is set to true.
2674
+ */
2675
+ maxRows: e.oneOfType([e.number, e.string]),
2676
+ /**
2677
+ * Minimum number of rows to display when multiline option is set to true.
2678
+ */
2679
+ minRows: e.oneOfType([e.number, e.string]),
2680
+ /**
2681
+ * If `true`, a [TextareaAutosize](https://mui.com/material-ui/react-textarea-autosize/) element is rendered.
2682
+ * @default false
2683
+ */
2684
+ multiline: e.bool,
2685
+ /**
2686
+ * Name attribute of the `input` element.
2687
+ */
2688
+ name: e.string,
2689
+ /**
2690
+ * Callback fired when the value is changed.
2691
+ *
2692
+ * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.
2693
+ * You can pull out the new value by accessing `event.target.value` (string).
2694
+ */
2695
+ onChange: e.func,
2696
+ /**
2697
+ * The short hint displayed in the `input` before the user enters a value.
2698
+ */
2699
+ placeholder: e.string,
2700
+ /**
2701
+ * It prevents the user from changing the value of the field
2702
+ * (not from interacting with the field).
2703
+ */
2704
+ readOnly: e.bool,
2705
+ /**
2706
+ * If `true`, the `input` element is required.
2707
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
2708
+ */
2709
+ required: e.bool,
2710
+ /**
2711
+ * Number of rows to display when multiline option is set to true.
2712
+ */
2713
+ rows: e.oneOfType([e.number, e.string]),
2714
+ /**
2715
+ * The extra props for the slot components.
2716
+ * You can override the existing props or add new ones.
2717
+ *
2718
+ * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.
2719
+ *
2720
+ * @default {}
2721
+ */
2722
+ slotProps: e.shape({
2723
+ input: e.object,
2724
+ root: e.object
2725
+ }),
2726
+ /**
2727
+ * The components used for each slot inside.
2728
+ *
2729
+ * This prop is an alias for the `components` prop, which will be deprecated in the future.
2730
+ *
2731
+ * @default {}
2732
+ */
2733
+ slots: e.shape({
2734
+ input: e.elementType,
2735
+ root: e.elementType
2736
+ }),
2737
+ /**
2738
+ * Start `InputAdornment` for this component.
2739
+ */
2740
+ startAdornment: e.node,
2741
+ /**
2742
+ * The system prop that allows defining system overrides as well as additional CSS styles.
2743
+ */
2744
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
2745
+ /**
2746
+ * 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).
2747
+ * @default 'text'
2748
+ */
2749
+ type: e.string,
2750
+ /**
2751
+ * The value of the `input` element, required for a controlled component.
2752
+ */
2753
+ value: e.any
2754
+ });
2755
+ Me && (Me.muiName = "Input");
2756
+ var vo;
2757
+ const Lt = x("fieldset", {
2758
+ shouldForwardProp: ee
2759
+ })({
2760
+ textAlign: "left",
2761
+ position: "absolute",
2762
+ bottom: 0,
2763
+ right: 0,
2764
+ top: -5,
2765
+ left: 0,
2766
+ margin: 0,
2767
+ padding: "0 8px",
2768
+ pointerEvents: "none",
2769
+ borderRadius: "inherit",
2770
+ borderStyle: "solid",
2771
+ borderWidth: 1,
2772
+ overflow: "hidden",
2773
+ minWidth: "0%"
2774
+ }), jt = x("legend", {
2775
+ shouldForwardProp: ee
2776
+ })(se(({
2777
+ theme: o
2778
+ }) => ({
2779
+ float: "unset",
2780
+ // Fix conflict with bootstrap
2781
+ width: "auto",
2782
+ // Fix conflict with bootstrap
2783
+ overflow: "hidden",
2784
+ // Fix Horizontal scroll when label too long
2785
+ variants: [{
2786
+ props: ({
2787
+ ownerState: t
2788
+ }) => !t.withLabel,
2789
+ style: {
2790
+ padding: 0,
2791
+ lineHeight: "11px",
2792
+ // sync with `height` in `legend` styles
2793
+ transition: o.transitions.create("width", {
2794
+ duration: 150,
2795
+ easing: o.transitions.easing.easeOut
2796
+ })
2797
+ }
2798
+ }, {
2799
+ props: ({
2800
+ ownerState: t
2801
+ }) => t.withLabel,
2802
+ style: {
2803
+ display: "block",
2804
+ // Fix conflict with normalize.css and sanitize.css
2805
+ padding: 0,
2806
+ height: 11,
2807
+ // sync with `lineHeight` in `legend` styles
2808
+ fontSize: "0.75em",
2809
+ visibility: "hidden",
2810
+ maxWidth: 0.01,
2811
+ transition: o.transitions.create("max-width", {
2812
+ duration: 50,
2813
+ easing: o.transitions.easing.easeOut
2814
+ }),
2815
+ whiteSpace: "nowrap",
2816
+ "& > span": {
2817
+ paddingLeft: 5,
2818
+ paddingRight: 5,
2819
+ display: "inline-block",
2820
+ opacity: 0,
2821
+ visibility: "visible"
2822
+ }
2823
+ }
2824
+ }, {
2825
+ props: ({
2826
+ ownerState: t
2827
+ }) => t.withLabel && t.notched,
2828
+ style: {
2829
+ maxWidth: "100%",
2830
+ transition: o.transitions.create("max-width", {
2831
+ duration: 100,
2832
+ easing: o.transitions.easing.easeOut,
2833
+ delay: 50
2834
+ })
2835
+ }
2836
+ }]
2837
+ })));
2838
+ function Mo(o) {
2839
+ const {
2840
+ children: t,
2841
+ classes: n,
2842
+ className: r,
2843
+ label: p,
2844
+ notched: d,
2845
+ ...s
2846
+ } = o, i = p != null && p !== "", u = {
2847
+ ...o,
2848
+ notched: d,
2849
+ withLabel: i
2850
+ };
2851
+ return /* @__PURE__ */ w(Lt, {
2852
+ "aria-hidden": !0,
2853
+ className: r,
2854
+ ownerState: u,
2855
+ ...s,
2856
+ children: /* @__PURE__ */ w(jt, {
2857
+ ownerState: u,
2858
+ children: i ? /* @__PURE__ */ w("span", {
2859
+ children: p
2860
+ }) : (
2861
+ // notranslate needed while Google Translate will not fix zero-width space issue
2862
+ vo || (vo = /* @__PURE__ */ w("span", {
2863
+ className: "notranslate",
2864
+ children: "​"
2865
+ }))
2866
+ )
2867
+ })
2868
+ });
2869
+ }
2870
+ process.env.NODE_ENV !== "production" && (Mo.propTypes = {
2871
+ /**
2872
+ * The content of the component.
2873
+ */
2874
+ children: e.node,
2875
+ /**
2876
+ * Override or extend the styles applied to the component.
2877
+ */
2878
+ classes: e.object,
2879
+ /**
2880
+ * @ignore
2881
+ */
2882
+ className: e.string,
2883
+ /**
2884
+ * The label.
2885
+ */
2886
+ label: e.node,
2887
+ /**
2888
+ * If `true`, the outline is notched to accommodate the label.
2889
+ */
2890
+ notched: e.bool.isRequired,
2891
+ /**
2892
+ * @ignore
2893
+ */
2894
+ style: e.object
2895
+ });
2896
+ function $t(o) {
2897
+ return Z("MuiOutlinedInput", o);
2898
+ }
2899
+ const X = {
2900
+ ...He,
2901
+ ...Q("MuiOutlinedInput", ["root", "notchedOutline", "input"])
2902
+ }, Dt = (o) => {
2903
+ const {
2904
+ classes: t
2905
+ } = o, r = oe({
2906
+ root: ["root"],
2907
+ notchedOutline: ["notchedOutline"],
2908
+ input: ["input"]
2909
+ }, $t, t);
2910
+ return {
2911
+ ...t,
2912
+ // forward classes to the InputBase
2913
+ ...r
2914
+ };
2915
+ }, Wt = x(Xe, {
2916
+ shouldForwardProp: (o) => ee(o) || o === "classes",
2917
+ name: "MuiOutlinedInput",
2918
+ slot: "Root",
2919
+ overridesResolver: Ge
2920
+ })(se(({
2921
+ theme: o
2922
+ }) => {
2923
+ const t = o.palette.mode === "light" ? "rgba(0, 0, 0, 0.23)" : "rgba(255, 255, 255, 0.23)";
2924
+ return {
2925
+ position: "relative",
2926
+ borderRadius: (o.vars || o).shape.borderRadius,
2927
+ [`&:hover .${X.notchedOutline}`]: {
2928
+ borderColor: (o.vars || o).palette.text.primary
2929
+ },
2930
+ // Reset on touch devices, it doesn't add specificity
2931
+ "@media (hover: none)": {
2932
+ [`&:hover .${X.notchedOutline}`]: {
2933
+ borderColor: o.vars ? `rgba(${o.vars.palette.common.onBackgroundChannel} / 0.23)` : t
2934
+ }
2935
+ },
2936
+ [`&.${X.focused} .${X.notchedOutline}`]: {
2937
+ borderWidth: 2
2938
+ },
2939
+ variants: [...Object.entries(o.palette).filter(Qe()).map(([n]) => ({
2940
+ props: {
2941
+ color: n
2942
+ },
2943
+ style: {
2944
+ [`&.${X.focused} .${X.notchedOutline}`]: {
2945
+ borderColor: (o.vars || o).palette[n].main
2946
+ }
2947
+ }
2948
+ })), {
2949
+ props: {},
2950
+ // to overide the above style
2951
+ style: {
2952
+ [`&.${X.error} .${X.notchedOutline}`]: {
2953
+ borderColor: (o.vars || o).palette.error.main
2954
+ },
2955
+ [`&.${X.disabled} .${X.notchedOutline}`]: {
2956
+ borderColor: (o.vars || o).palette.action.disabled
2957
+ }
2958
+ }
2959
+ }, {
2960
+ props: ({
2961
+ ownerState: n
2962
+ }) => n.startAdornment,
2963
+ style: {
2964
+ paddingLeft: 14
2965
+ }
2966
+ }, {
2967
+ props: ({
2968
+ ownerState: n
2969
+ }) => n.endAdornment,
2970
+ style: {
2971
+ paddingRight: 14
2972
+ }
2973
+ }, {
2974
+ props: ({
2975
+ ownerState: n
2976
+ }) => n.multiline,
2977
+ style: {
2978
+ padding: "16.5px 14px"
2979
+ }
2980
+ }, {
2981
+ props: ({
2982
+ ownerState: n,
2983
+ size: r
2984
+ }) => n.multiline && r === "small",
2985
+ style: {
2986
+ padding: "8.5px 14px"
2987
+ }
2988
+ }]
2989
+ };
2990
+ })), At = x(Mo, {
2991
+ name: "MuiOutlinedInput",
2992
+ slot: "NotchedOutline",
2993
+ overridesResolver: (o, t) => t.notchedOutline
2994
+ })(se(({
2995
+ theme: o
2996
+ }) => {
2997
+ const t = o.palette.mode === "light" ? "rgba(0, 0, 0, 0.23)" : "rgba(255, 255, 255, 0.23)";
2998
+ return {
2999
+ borderColor: o.vars ? `rgba(${o.vars.palette.common.onBackgroundChannel} / 0.23)` : t
3000
+ };
3001
+ })), Bt = x(Ye, {
3002
+ name: "MuiOutlinedInput",
3003
+ slot: "Input",
3004
+ overridesResolver: Je
3005
+ })(se(({
3006
+ theme: o
3007
+ }) => ({
3008
+ padding: "16.5px 14px",
3009
+ ...!o.vars && {
3010
+ "&:-webkit-autofill": {
3011
+ WebkitBoxShadow: o.palette.mode === "light" ? null : "0 0 0 100px #266798 inset",
3012
+ WebkitTextFillColor: o.palette.mode === "light" ? null : "#fff",
3013
+ caretColor: o.palette.mode === "light" ? null : "#fff",
3014
+ borderRadius: "inherit"
3015
+ }
3016
+ },
3017
+ ...o.vars && {
3018
+ "&:-webkit-autofill": {
3019
+ borderRadius: "inherit"
3020
+ },
3021
+ [o.getColorSchemeSelector("dark")]: {
3022
+ "&:-webkit-autofill": {
3023
+ WebkitBoxShadow: "0 0 0 100px #266798 inset",
3024
+ WebkitTextFillColor: "#fff",
3025
+ caretColor: "#fff"
3026
+ }
3027
+ }
3028
+ },
3029
+ variants: [{
3030
+ props: {
3031
+ size: "small"
3032
+ },
3033
+ style: {
3034
+ padding: "8.5px 14px"
3035
+ }
3036
+ }, {
3037
+ props: ({
3038
+ ownerState: t
3039
+ }) => t.multiline,
3040
+ style: {
3041
+ padding: 0
3042
+ }
3043
+ }, {
3044
+ props: ({
3045
+ ownerState: t
3046
+ }) => t.startAdornment,
3047
+ style: {
3048
+ paddingLeft: 0
3049
+ }
3050
+ }, {
3051
+ props: ({
3052
+ ownerState: t
3053
+ }) => t.endAdornment,
3054
+ style: {
3055
+ paddingRight: 0
3056
+ }
3057
+ }]
3058
+ }))), Ne = /* @__PURE__ */ a.forwardRef(function(t, n) {
3059
+ var r;
3060
+ const p = re({
3061
+ props: t,
3062
+ name: "MuiOutlinedInput"
3063
+ }), {
3064
+ components: d = {},
3065
+ fullWidth: s = !1,
3066
+ inputComponent: i = "input",
3067
+ label: u,
3068
+ multiline: h = !1,
3069
+ notched: b,
3070
+ slots: g = {},
3071
+ type: C = "text",
3072
+ ...f
3073
+ } = p, R = Dt(p), F = Ke(), S = _e({
3074
+ props: p,
3075
+ muiFormControl: F,
3076
+ states: ["color", "disabled", "error", "focused", "hiddenLabel", "size", "required"]
3077
+ }), m = {
3078
+ ...p,
3079
+ color: S.color || "primary",
3080
+ disabled: S.disabled,
3081
+ error: S.error,
3082
+ focused: S.focused,
3083
+ formControl: F,
3084
+ fullWidth: s,
3085
+ hiddenLabel: S.hiddenLabel,
3086
+ multiline: h,
3087
+ size: S.size,
3088
+ type: C
3089
+ }, I = g.root ?? d.Root ?? Wt, c = g.input ?? d.Input ?? Bt;
3090
+ return /* @__PURE__ */ w(Ze, {
3091
+ slots: {
3092
+ root: I,
3093
+ input: c
3094
+ },
3095
+ renderSuffix: (v) => /* @__PURE__ */ w(At, {
3096
+ ownerState: m,
3097
+ className: R.notchedOutline,
3098
+ label: u != null && u !== "" && S.required ? r || (r = /* @__PURE__ */ ke(a.Fragment, {
3099
+ children: [u, " ", "*"]
3100
+ })) : u,
3101
+ notched: typeof b < "u" ? b : !!(v.startAdornment || v.filled || v.focused)
3102
+ }),
3103
+ fullWidth: s,
3104
+ inputComponent: i,
3105
+ multiline: h,
3106
+ ref: n,
3107
+ type: C,
3108
+ ...f,
3109
+ classes: {
3110
+ ...R,
3111
+ notchedOutline: null
3112
+ }
3113
+ });
3114
+ });
3115
+ process.env.NODE_ENV !== "production" && (Ne.propTypes = {
3116
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
3117
+ // │ These PropTypes are generated from the TypeScript type definitions. │
3118
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
3119
+ // └─────────────────────────────────────────────────────────────────────┘
3120
+ /**
3121
+ * This prop helps users to fill forms faster, especially on mobile devices.
3122
+ * The name can be confusing, as it's more like an autofill.
3123
+ * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).
3124
+ */
3125
+ autoComplete: e.string,
3126
+ /**
3127
+ * If `true`, the `input` element is focused during the first mount.
3128
+ */
3129
+ autoFocus: e.bool,
3130
+ /**
3131
+ * Override or extend the styles applied to the component.
3132
+ */
3133
+ classes: e.object,
3134
+ /**
3135
+ * The color of the component.
3136
+ * It supports both default and custom theme colors, which can be added as shown in the
3137
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
3138
+ * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.
3139
+ */
3140
+ color: e.oneOfType([e.oneOf(["primary", "secondary"]), e.string]),
3141
+ /**
3142
+ * The components used for each slot inside.
3143
+ *
3144
+ * @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.
3145
+ *
3146
+ * @default {}
3147
+ */
3148
+ components: e.shape({
3149
+ Input: e.elementType,
3150
+ Root: e.elementType
3151
+ }),
3152
+ /**
3153
+ * The default value. Use when the component is not controlled.
3154
+ */
3155
+ defaultValue: e.any,
3156
+ /**
3157
+ * If `true`, the component is disabled.
3158
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
3159
+ */
3160
+ disabled: e.bool,
3161
+ /**
3162
+ * End `InputAdornment` for this component.
3163
+ */
3164
+ endAdornment: e.node,
3165
+ /**
3166
+ * If `true`, the `input` will indicate an error.
3167
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
3168
+ */
3169
+ error: e.bool,
3170
+ /**
3171
+ * If `true`, the `input` will take up the full width of its container.
3172
+ * @default false
3173
+ */
3174
+ fullWidth: e.bool,
3175
+ /**
3176
+ * The id of the `input` element.
3177
+ */
3178
+ id: e.string,
3179
+ /**
3180
+ * The component used for the `input` element.
3181
+ * Either a string to use a HTML element or a component.
3182
+ * @default 'input'
3183
+ */
3184
+ inputComponent: e.elementType,
3185
+ /**
3186
+ * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
3187
+ * @default {}
3188
+ */
3189
+ inputProps: e.object,
3190
+ /**
3191
+ * Pass a ref to the `input` element.
3192
+ */
3193
+ inputRef: ce,
3194
+ /**
3195
+ * The label of the `input`. It is only used for layout. The actual labelling
3196
+ * is handled by `InputLabel`.
3197
+ */
3198
+ label: e.node,
3199
+ /**
3200
+ * If `dense`, will adjust vertical spacing. This is normally obtained via context from
3201
+ * FormControl.
3202
+ * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.
3203
+ */
3204
+ margin: e.oneOf(["dense", "none"]),
3205
+ /**
3206
+ * Maximum number of rows to display when multiline option is set to true.
3207
+ */
3208
+ maxRows: e.oneOfType([e.number, e.string]),
3209
+ /**
3210
+ * Minimum number of rows to display when multiline option is set to true.
3211
+ */
3212
+ minRows: e.oneOfType([e.number, e.string]),
3213
+ /**
3214
+ * If `true`, a [TextareaAutosize](https://mui.com/material-ui/react-textarea-autosize/) element is rendered.
3215
+ * @default false
3216
+ */
3217
+ multiline: e.bool,
3218
+ /**
3219
+ * Name attribute of the `input` element.
3220
+ */
3221
+ name: e.string,
3222
+ /**
3223
+ * If `true`, the outline is notched to accommodate the label.
3224
+ */
3225
+ notched: e.bool,
3226
+ /**
3227
+ * Callback fired when the value is changed.
3228
+ *
3229
+ * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.
3230
+ * You can pull out the new value by accessing `event.target.value` (string).
3231
+ */
3232
+ onChange: e.func,
3233
+ /**
3234
+ * The short hint displayed in the `input` before the user enters a value.
3235
+ */
3236
+ placeholder: e.string,
3237
+ /**
3238
+ * It prevents the user from changing the value of the field
3239
+ * (not from interacting with the field).
3240
+ */
3241
+ readOnly: e.bool,
3242
+ /**
3243
+ * If `true`, the `input` element is required.
3244
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
3245
+ */
3246
+ required: e.bool,
3247
+ /**
3248
+ * Number of rows to display when multiline option is set to true.
3249
+ */
3250
+ rows: e.oneOfType([e.number, e.string]),
3251
+ /**
3252
+ * The components used for each slot inside.
3253
+ *
3254
+ * This prop is an alias for the `components` prop, which will be deprecated in the future.
3255
+ *
3256
+ * @default {}
3257
+ */
3258
+ slots: e.shape({
3259
+ input: e.elementType,
3260
+ root: e.elementType
3261
+ }),
3262
+ /**
3263
+ * Start `InputAdornment` for this component.
3264
+ */
3265
+ startAdornment: e.node,
3266
+ /**
3267
+ * The system prop that allows defining system overrides as well as additional CSS styles.
3268
+ */
3269
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
3270
+ /**
3271
+ * 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).
3272
+ * @default 'text'
3273
+ */
3274
+ type: e.string,
3275
+ /**
3276
+ * The value of the `input` element, required for a controlled component.
3277
+ */
3278
+ value: e.any
3279
+ });
3280
+ Ne && (Ne.muiName = "Input");
3281
+ const Ut = (o) => {
3282
+ const {
3283
+ classes: t
3284
+ } = o;
3285
+ return t;
3286
+ }, oo = {
3287
+ name: "MuiSelect",
3288
+ overridesResolver: (o, t) => t.root,
3289
+ shouldForwardProp: (o) => ee(o) && o !== "variant",
3290
+ slot: "Root"
3291
+ }, zt = x(Ee, oo)(""), Vt = x(Ne, oo)(""), _t = x(Me, oo)(""), No = /* @__PURE__ */ a.forwardRef(function(t, n) {
3292
+ const r = re({
3293
+ name: "MuiSelect",
3294
+ props: t
3295
+ }), {
3296
+ autoWidth: p = !1,
3297
+ children: d,
3298
+ classes: s = {},
3299
+ className: i,
3300
+ defaultOpen: u = !1,
3301
+ displayEmpty: h = !1,
3302
+ IconComponent: b = Et,
3303
+ id: g,
3304
+ input: C,
3305
+ inputProps: f,
3306
+ label: R,
3307
+ labelId: F,
3308
+ MenuProps: S,
3309
+ multiple: m = !1,
3310
+ native: I = !1,
3311
+ onClose: c,
3312
+ onOpen: v,
3313
+ open: P,
3314
+ renderValue: D,
3315
+ SelectDisplayProps: W,
3316
+ variant: T = "outlined",
3317
+ ...L
3318
+ } = r, B = I ? xo : Eo, A = Ke(), V = _e({
3319
+ props: r,
3320
+ muiFormControl: A,
3321
+ states: ["variant", "error"]
3322
+ }), U = V.variant || T, K = {
3323
+ ...r,
3324
+ variant: U,
3325
+ classes: s
3326
+ }, G = Ut(K), {
3327
+ root: $,
3328
+ ...z
3329
+ } = G, y = C || {
3330
+ standard: /* @__PURE__ */ w(zt, {
3331
+ ownerState: K
3332
+ }),
3333
+ outlined: /* @__PURE__ */ w(Vt, {
3334
+ label: R,
3335
+ ownerState: K
3336
+ }),
3337
+ filled: /* @__PURE__ */ w(_t, {
3338
+ ownerState: K
3339
+ })
3340
+ }[U], ae = Fe(n, Jo(y));
3341
+ return /* @__PURE__ */ w(a.Fragment, {
3342
+ children: /* @__PURE__ */ a.cloneElement(y, {
3343
+ // Most of the logic is implemented in `SelectInput`.
3344
+ // The `Select` component is a simple API wrapper to expose something better to play with.
3345
+ inputComponent: B,
3346
+ inputProps: {
3347
+ children: d,
3348
+ error: V.error,
3349
+ IconComponent: b,
3350
+ variant: U,
3351
+ type: void 0,
3352
+ // We render a select. We can ignore the type provided by the `Input`.
3353
+ multiple: m,
3354
+ ...I ? {
3355
+ id: g
3356
+ } : {
3357
+ autoWidth: p,
3358
+ defaultOpen: u,
3359
+ displayEmpty: h,
3360
+ labelId: F,
3361
+ MenuProps: S,
3362
+ onClose: c,
3363
+ onOpen: v,
3364
+ open: P,
3365
+ renderValue: D,
3366
+ SelectDisplayProps: {
3367
+ id: g,
3368
+ ...W
3369
+ }
3370
+ },
3371
+ ...f,
3372
+ classes: f ? Ve(z, f.classes) : z,
3373
+ ...C ? C.props.inputProps : {}
3374
+ },
3375
+ ...(m && I || h) && U === "outlined" ? {
3376
+ notched: !0
3377
+ } : {},
3378
+ ref: ae,
3379
+ className: ne(y.props.className, i, G.root),
3380
+ // 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.
3381
+ ...!C && {
3382
+ variant: U
3383
+ },
3384
+ ...L
3385
+ })
3386
+ });
3387
+ });
3388
+ process.env.NODE_ENV !== "production" && (No.propTypes = {
3389
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
3390
+ // │ These PropTypes are generated from the TypeScript type definitions. │
3391
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
3392
+ // └─────────────────────────────────────────────────────────────────────┘
3393
+ /**
3394
+ * If `true`, the width of the popover will automatically be set according to the items inside the
3395
+ * menu, otherwise it will be at least the width of the select input.
3396
+ * @default false
3397
+ */
3398
+ autoWidth: e.bool,
3399
+ /**
3400
+ * The option elements to populate the select with.
3401
+ * Can be some `MenuItem` when `native` is false and `option` when `native` is true.
3402
+ *
3403
+ * ⚠️The `MenuItem` elements **must** be direct descendants when `native` is false.
3404
+ */
3405
+ children: e.node,
3406
+ /**
3407
+ * Override or extend the styles applied to the component.
3408
+ * @default {}
3409
+ */
3410
+ classes: e.object,
3411
+ /**
3412
+ * @ignore
3413
+ */
3414
+ className: e.string,
3415
+ /**
3416
+ * If `true`, the component is initially open. Use when the component open state is not controlled (i.e. the `open` prop is not defined).
3417
+ * You can only use it when the `native` prop is `false` (default).
3418
+ * @default false
3419
+ */
3420
+ defaultOpen: e.bool,
3421
+ /**
3422
+ * The default value. Use when the component is not controlled.
3423
+ */
3424
+ defaultValue: e.any,
3425
+ /**
3426
+ * If `true`, a value is displayed even if no items are selected.
3427
+ *
3428
+ * In order to display a meaningful value, a function can be passed to the `renderValue` prop which
3429
+ * returns the value to be displayed when no items are selected.
3430
+ *
3431
+ * ⚠️ When using this prop, make sure the label doesn't overlap with the empty displayed value.
3432
+ * The label should either be hidden or forced to a shrunk state.
3433
+ * @default false
3434
+ */
3435
+ displayEmpty: e.bool,
3436
+ /**
3437
+ * The icon that displays the arrow.
3438
+ * @default ArrowDropDownIcon
3439
+ */
3440
+ IconComponent: e.elementType,
3441
+ /**
3442
+ * The `id` of the wrapper element or the `select` element when `native`.
3443
+ */
3444
+ id: e.string,
3445
+ /**
3446
+ * An `Input` element; does not have to be a material-ui specific `Input`.
3447
+ */
3448
+ input: e.element,
3449
+ /**
3450
+ * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
3451
+ * When `native` is `true`, the attributes are applied on the `select` element.
3452
+ */
3453
+ inputProps: e.object,
3454
+ /**
3455
+ * See [OutlinedInput#label](https://mui.com/material-ui/api/outlined-input/#props)
3456
+ */
3457
+ label: e.node,
3458
+ /**
3459
+ * The ID of an element that acts as an additional label. The Select will
3460
+ * be labelled by the additional label and the selected value.
3461
+ */
3462
+ labelId: e.string,
3463
+ /**
3464
+ * Props applied to the [`Menu`](https://mui.com/material-ui/api/menu/) element.
3465
+ */
3466
+ MenuProps: e.object,
3467
+ /**
3468
+ * If `true`, `value` must be an array and the menu will support multiple selections.
3469
+ * @default false
3470
+ */
3471
+ multiple: e.bool,
3472
+ /**
3473
+ * If `true`, the component uses a native `select` element.
3474
+ * @default false
3475
+ */
3476
+ native: e.bool,
3477
+ /**
3478
+ * Callback fired when a menu item is selected.
3479
+ *
3480
+ * @param {SelectChangeEvent<Value>} event The event source of the callback.
3481
+ * You can pull out the new value by accessing `event.target.value` (any).
3482
+ * **Warning**: This is a generic event, not a change event, unless the change event is caused by browser autofill.
3483
+ * @param {object} [child] The react element that was selected when `native` is `false` (default).
3484
+ */
3485
+ onChange: e.func,
3486
+ /**
3487
+ * Callback fired when the component requests to be closed.
3488
+ * Use it in either controlled (see the `open` prop), or uncontrolled mode (to detect when the Select collapses).
3489
+ *
3490
+ * @param {object} event The event source of the callback.
3491
+ */
3492
+ onClose: e.func,
3493
+ /**
3494
+ * Callback fired when the component requests to be opened.
3495
+ * Use it in either controlled (see the `open` prop), or uncontrolled mode (to detect when the Select expands).
3496
+ *
3497
+ * @param {object} event The event source of the callback.
3498
+ */
3499
+ onOpen: e.func,
3500
+ /**
3501
+ * If `true`, the component is shown.
3502
+ * You can only use it when the `native` prop is `false` (default).
3503
+ */
3504
+ open: e.bool,
3505
+ /**
3506
+ * Render the selected value.
3507
+ * You can only use it when the `native` prop is `false` (default).
3508
+ *
3509
+ * @param {any} value The `value` provided to the component.
3510
+ * @returns {ReactNode}
3511
+ */
3512
+ renderValue: e.func,
3513
+ /**
3514
+ * Props applied to the clickable div element.
3515
+ */
3516
+ SelectDisplayProps: e.object,
3517
+ /**
3518
+ * The system prop that allows defining system overrides as well as additional CSS styles.
3519
+ */
3520
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
3521
+ /**
3522
+ * The `input` value. Providing an empty string will select no options.
3523
+ * Set to an empty string `''` if you don't want any of the available options to be selected.
3524
+ *
3525
+ * If the value is an object it must have reference equality with the option in order to be selected.
3526
+ * If the value is not an object, the string representation must match with the string representation of the option in order to be selected.
3527
+ */
3528
+ value: e.oneOfType([e.oneOf([""]), e.any]),
3529
+ /**
3530
+ * The variant to use.
3531
+ * @default 'outlined'
3532
+ */
3533
+ variant: e.oneOf(["filled", "outlined", "standard"])
3534
+ });
3535
+ No.muiName = "Select";
3536
+ export {
3537
+ Me as F,
3538
+ Ee as I,
3539
+ Oo as L,
3540
+ wo as M,
3541
+ Ne as O,
3542
+ No as S,
3543
+ st as a,
3544
+ vn as b,
3545
+ tt as c,
3546
+ it as d,
3547
+ ut as e,
3548
+ St as f,
3549
+ Zo as g,
3550
+ yo as h,
3551
+ ue as i,
3552
+ yn as l,
3553
+ On as m,
3554
+ me as s
3555
+ };