@hybridcore/ui 1.5.89 → 1.6.0

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 (267) hide show
  1. package/dist/{AccordionDetails-DhriPVPP.js → AccordionSummary-DgAwVTk8.js} +81 -82
  2. package/dist/{Add-CMz4N2zT.js → Add-DJLrrVHm.js} +52 -51
  3. package/dist/AnimatedTheme-jnasw6rT.js +11305 -0
  4. package/dist/AxisRenderer-DTyLLA6c.js +3579 -0
  5. package/dist/AxisRendererY-C_ItLPNV.js +445 -0
  6. package/dist/Box-p6OtTUEo.js +30 -0
  7. package/dist/Bullet-DVczI2TD.js +41 -0
  8. package/dist/Button-CcsPEIDh.js +35 -0
  9. package/dist/{Button-eqWvpDuh.js → Button-CvE2gnly.js} +138 -124
  10. package/dist/{ButtonBase-DsX-jMQJ.js → ButtonBase-2bPw77UP.js} +5 -5
  11. package/dist/{CardContent-DsYqqPeJ.js → CardContent-CSHh-ZlM.js} +4 -4
  12. package/dist/CategoryAxis-CwnfaGc8.js +458 -0
  13. package/dist/{Checkbox-CrU2hpWB.js → Checkbox-CWRMFTBp.js} +12 -11
  14. package/dist/Circle-Cy5s-pVc.js +27 -0
  15. package/dist/ColorSet-C7vpNXhM.js +2957 -0
  16. package/dist/{ColumnSeries-BTcqshjB.js → ColumnSeries-CjgdJ2QL.js} +129 -126
  17. package/dist/DataProcessor-CHDO51q4.js +83 -0
  18. package/dist/DateAxis-YX3QNIB-.js +569 -0
  19. package/dist/{Delete-86TO0fMo.js → Delete-CW0UZv1m.js} +1 -1
  20. package/dist/{DialogContent-CqTojymQ.js → DialogContent-B3nbEbuv.js} +10 -11
  21. package/dist/FormControl-BLbrq4C7.js +1636 -0
  22. package/dist/{FormControlLabel-BrdX4R71.js → FormControlLabel-C8SPv14J.js} +8 -8
  23. package/dist/Hierarchy-Bihj0S61.js +925 -0
  24. package/dist/{IconButton-DJ-31-Fd.js → IconButton-CHwRQF-g.js} +20 -19
  25. package/dist/IconPlus-yPkff_Vj.js +19 -0
  26. package/dist/{InputAdornment-B7qEA4kN.js → InputAdornment-DLxWUE6H.js} +6 -6
  27. package/dist/Legend-Dp_MKfS4.js +178 -0
  28. package/dist/LineSeries-Uiv5o56b.js +472 -0
  29. package/dist/{List-DOD5kSk3.js → List-tqElle9C.js} +4 -4
  30. package/dist/{ListItem-r8PbsvCz.js → ListItem-CfjsIg4B.js} +9 -8
  31. package/dist/{MenuItem-C6qlUyV3.js → MenuItem-xZx_w7zA.js} +14 -13
  32. package/dist/{Modal-CkcFEpHa.js → Modal-DhPpOoGB.js} +292 -277
  33. package/dist/{Paper-CjqLScHA.js → Paper-2B03OBmZ.js} +47 -41
  34. package/dist/PieSeries-B2fW3z0s.js +693 -0
  35. package/dist/RoundedRectangle-CWLi2PXn.js +34 -0
  36. package/dist/Scrollbar-D86MJyr2.js +171 -0
  37. package/dist/{Select-t3ewnSdf.js → Select-BgYwkZgI.js} +2066 -1633
  38. package/dist/Slice-B19rbYDZ.js +261 -0
  39. package/dist/{Source-BESIjd9X.js → Source-BSZST_GH.js} +2472 -2445
  40. package/dist/{Text-Cl1H4b0h.js → Text-ChJRuaD8.js} +398 -397
  41. package/dist/{TextField-BQ8a50fA.js → TextField-1yCesIbH.js} +23 -25
  42. package/dist/Tick-2bcLyHpF.js +162 -0
  43. package/dist/{Typography-D1t7XuLN.js → Typography-CxbneZy_.js} +11 -11
  44. package/dist/Vector-BmuhQO4p.js +3606 -0
  45. package/dist/Vector-DfTqQEln.js +1735 -0
  46. package/dist/WKT-2wsDT-nq.js +2310 -0
  47. package/dist/XYCursor-C8WktvKM.js +362 -0
  48. package/dist/ZoomableContainer-DYyqwaMb.js +220 -0
  49. package/dist/_commonjsHelpers-BVfed4GL.js +28 -0
  50. package/dist/capitalize-ciszXJ7R.js +9 -0
  51. package/dist/components/access/helpers.js +1 -1
  52. package/dist/components/access/index.js +1 -1
  53. package/dist/components/card/index.js +6 -6
  54. package/dist/components/card/styled.js +1 -1
  55. package/dist/components/charts/_common/utils.js +20 -0
  56. package/dist/components/charts/candlestick/logic.js +170 -140
  57. package/dist/components/charts/chart-wrapper/helpers.js +27 -0
  58. package/dist/components/charts/chart-wrapper/index.js +44 -0
  59. package/dist/components/charts/chart-wrapper/logic.js +47 -0
  60. package/dist/components/charts/chart-wrapper/styled.js +44 -0
  61. package/dist/components/charts/column-line-mix/index.js +10 -0
  62. package/dist/components/charts/column-line-mix/logic.js +162 -0
  63. package/dist/components/charts/column-line-mix/styled.js +12 -0
  64. package/dist/components/charts/drill-down-treemap/index.js +10 -0
  65. package/dist/components/charts/drill-down-treemap/logic.js +391 -0
  66. package/dist/components/charts/drill-down-treemap/styled.js +12 -0
  67. package/dist/components/charts/drill-down-voronoi-treemap/index.js +10 -0
  68. package/dist/components/charts/drill-down-voronoi-treemap/logic.js +1527 -0
  69. package/dist/components/charts/drill-down-voronoi-treemap/styled.js +12 -0
  70. package/dist/components/charts/heatmap/index.js +10 -0
  71. package/dist/components/charts/heatmap/logic.js +361 -0
  72. package/dist/components/charts/heatmap/styled.js +12 -0
  73. package/dist/components/charts/highlighting-line-data/logic.js +89 -256
  74. package/dist/components/charts/line/index.js +10 -0
  75. package/dist/components/charts/line/logic.js +148 -0
  76. package/dist/components/charts/line/styled.js +12 -0
  77. package/dist/components/charts/logaritmic-scale/index.js +10 -0
  78. package/dist/components/charts/logaritmic-scale/logic.js +119 -0
  79. package/dist/components/charts/logaritmic-scale/styled.js +12 -0
  80. package/dist/components/charts/multiple-value-axes/index.js +10 -0
  81. package/dist/components/charts/multiple-value-axes/logic.js +191 -0
  82. package/dist/components/charts/multiple-value-axes/styled.js +12 -0
  83. package/dist/components/charts/nested-pie/index.js +10 -0
  84. package/dist/components/charts/nested-pie/logic.js +110 -0
  85. package/dist/components/charts/nested-pie/styled.js +12 -0
  86. package/dist/components/charts/packed-circles/index.js +10 -0
  87. package/dist/components/charts/packed-circles/logic.js +423 -0
  88. package/dist/components/charts/packed-circles/styled.js +12 -0
  89. package/dist/components/charts/pie-chart/index.js +10 -0
  90. package/dist/components/charts/pie-chart/logic.js +70 -0
  91. package/dist/components/charts/pie-chart/styled.js +12 -0
  92. package/dist/components/charts/stacked-area-radar/index.js +10 -0
  93. package/dist/components/charts/stacked-area-radar/logic.js +868 -0
  94. package/dist/components/charts/stacked-area-radar/styled.js +12 -0
  95. package/dist/components/charts/stacked-column-chart/index.js +10 -0
  96. package/dist/components/charts/stacked-column-chart/logic.js +148 -0
  97. package/dist/components/charts/stacked-column-chart/styled.js +12 -0
  98. package/dist/components/charts/xy-chart/index.js +10 -0
  99. package/dist/components/charts/xy-chart/logic.js +170 -0
  100. package/dist/components/charts/xy-chart/styled.js +12 -0
  101. package/dist/components/collapsible-card/index.js +58 -32
  102. package/dist/components/collapsible-card/logic.js +20 -0
  103. package/dist/components/collapsible-card/styled.js +52 -0
  104. package/dist/components/confirm/dialog.js +3 -3
  105. package/dist/components/confirm/index.js +1 -1
  106. package/dist/components/container/index.js +7 -7
  107. package/dist/components/context-menu/index.js +153 -253
  108. package/dist/components/data-map/components/controls/index.js +12 -0
  109. package/dist/components/data-map/components/controls/styled.js +34 -0
  110. package/dist/components/data-map/index.js +51 -0
  111. package/dist/components/data-map/logic.js +108 -0
  112. package/dist/components/data-map/styled.js +32 -0
  113. package/dist/components/data-security-selectors/security-level/index.js +5 -5
  114. package/dist/components/date-picker-with-custom-range/index.js +9 -0
  115. package/dist/components/date-picker-with-custom-range/logic.js +66 -0
  116. package/dist/components/date-picker-with-custom-range/styled.js +43 -0
  117. package/dist/components/divider/index.js +18 -0
  118. package/dist/components/divider/logic.js +13 -0
  119. package/dist/components/divider/styled.js +14 -0
  120. package/dist/components/geometry-picker/coordinate/index.js +1 -1
  121. package/dist/components/geometry-picker/edit/index.js +1 -1
  122. package/dist/components/geometry-picker/geometry/index.js +1 -1
  123. package/dist/components/geometry-picker/index.js +7 -8
  124. package/dist/components/geometry-picker/kml/index.js +1 -1
  125. package/dist/components/geometry-picker/map/index.js +1 -1
  126. package/dist/components/geometry-picker/map/logic.js +65 -62
  127. package/dist/components/geometry-picker/map/style.js +1 -1
  128. package/dist/components/heat-map/components/controls/index.js +12 -0
  129. package/dist/components/heat-map/components/controls/styled.js +34 -0
  130. package/dist/components/heat-map/components/legend/index.js +26 -0
  131. package/dist/components/heat-map/components/legend/styled.js +14 -0
  132. package/dist/components/heat-map/index.js +37 -0
  133. package/dist/components/heat-map/logic.js +1945 -0
  134. package/dist/components/heat-map/styled.js +32 -0
  135. package/dist/components/icon-button/index.js +22 -15
  136. package/dist/components/icon-button/logic.js +15 -0
  137. package/dist/components/icon-button/styled.js +22 -10
  138. package/dist/components/instance-form/components/composite-list/index.js +1 -1
  139. package/dist/components/instance-form/components/composite-matrix/components/json-editor/index.js +8 -7
  140. package/dist/components/instance-form/components/variable/index.js +8 -8
  141. package/dist/components/instance-form/components/variables/index.js +1 -1
  142. package/dist/components/instance-hierarchy-table/styled.js +1 -1
  143. package/dist/components/instance-variable-list/index.js +34 -29
  144. package/dist/components/instance-variable-list/styled.js +21 -21
  145. package/dist/components/instance-variable-list/variable.js +44 -74
  146. package/dist/components/linear-indicator/index.js +10 -67
  147. package/dist/components/linear-indicator/logic.js +47 -0
  148. package/dist/components/linear-indicator/styled.js +39 -40
  149. package/dist/components/map/helpers/kml.js +1 -1
  150. package/dist/components/map/helpers/mapbox.js +14 -14
  151. package/dist/components/map/helpers/ol.js +23 -19
  152. package/dist/components/map/helpers/wkt.js +26 -1314
  153. package/dist/components/map/index.js +1 -1
  154. package/dist/components/map/logic.js +113 -101
  155. package/dist/components/map/styled.js +39 -31
  156. package/dist/components/metric-card/MetricChart.js +50 -498
  157. package/dist/components/metric-card/index.js +94 -115
  158. package/dist/components/metric-card/logic.js +70 -131
  159. package/dist/components/object-profile-card/components/avatar/index.js +44 -0
  160. package/dist/components/object-profile-card/components/avatar/logic.js +19 -0
  161. package/dist/components/object-profile-card/components/avatar/styled.js +41 -0
  162. package/dist/components/object-profile-card/index.js +90 -0
  163. package/dist/components/object-profile-card/logic.js +33 -0
  164. package/dist/components/object-profile-card/styled.js +48 -0
  165. package/dist/components/paginated-list/index.js +93 -89
  166. package/dist/components/paginated-list/logic.js +51 -40
  167. package/dist/components/paginated-list/styled.js +25 -21
  168. package/dist/components/property-mapping/index.js +2 -2
  169. package/dist/components/prr-map/components/controls/index.js +12 -0
  170. package/dist/components/prr-map/components/controls/styled.js +34 -0
  171. package/dist/components/prr-map/components/legend/index.js +36 -0
  172. package/dist/components/prr-map/components/legend/styled.js +21 -0
  173. package/dist/components/prr-map/index.js +38 -0
  174. package/dist/components/prr-map/logic.js +104 -0
  175. package/dist/components/prr-map/styled.js +32 -0
  176. package/dist/components/range-selector/components/composite-list-range/index.js +1 -1
  177. package/dist/components/range-selector/components/date-range/index.js +4282 -7
  178. package/dist/components/range-selector/index.js +1 -1
  179. package/dist/components/raster-grid-map/components/controls/index.js +12 -0
  180. package/dist/components/raster-grid-map/components/controls/styled.js +34 -0
  181. package/dist/components/raster-grid-map/components/legend/index.js +14 -0
  182. package/dist/components/raster-grid-map/components/legend/styled.js +21 -0
  183. package/dist/components/raster-grid-map/helpers.js +190 -0
  184. package/dist/components/raster-grid-map/index.js +38 -0
  185. package/dist/components/raster-grid-map/logic.js +172 -0
  186. package/dist/components/raster-grid-map/styled.js +32 -0
  187. package/dist/components/search-input/index.js +62 -140
  188. package/dist/components/search-input/logic.js +43 -0
  189. package/dist/components/search-input/styled.js +33 -0
  190. package/dist/components/simple-pivot-table/index.js +66 -0
  191. package/dist/components/simple-pivot-table/logic.js +51 -0
  192. package/dist/components/simple-pivot-table/styled.js +45 -0
  193. package/dist/components/static-text/index.js +18 -0
  194. package/dist/components/static-text/logic.js +13 -0
  195. package/dist/components/static-text/styled.js +45 -0
  196. package/dist/components/tabs/index.js +56 -2160
  197. package/dist/components/tabs/logic.js +36 -0
  198. package/dist/components/tabs/styled.js +94 -16
  199. package/dist/components/tabs/tab-panel.js +11 -10
  200. package/dist/components/template-filters/components/tab-panel/index.js +1 -1
  201. package/dist/components/template-form/components/property-list/index.js +7 -7
  202. package/dist/components/template-form/components/property-list/property-list-columns.js +3 -3
  203. package/dist/components/template-form/components/property-list/property-list-form.js +9 -9
  204. package/dist/components/template-form/components/recognition-property-list/index.js +6 -6
  205. package/dist/components/template-form/components/recognition-property-list/recognition-property-list-columns.js +2 -2
  206. package/dist/components/template-form/components/recognition-property-list/recognition-property-list-form.js +7 -7
  207. package/dist/components/template-form/index.js +5 -5
  208. package/dist/components/template-property-filters/property.js +5 -5
  209. package/dist/components/timeline/index.js +61 -0
  210. package/dist/components/timeline/logic.js +40 -0
  211. package/dist/components/timeline/styled.js +48 -0
  212. package/dist/components/tree-select/index.js +5 -5
  213. package/dist/components/treeview-filter/item-label/index.js +3 -3
  214. package/dist/constant-BiOGvlZc.js +21 -0
  215. package/dist/createReactComponent-C7L-DMHj.js +60 -0
  216. package/dist/{createSvgIcon-DLPYMuH1.js → createSvgIcon-BjpIhJ30.js} +30 -32
  217. package/dist/{createSvgIcon-OuwzpcaC.js → createSvgIcon-DrtgaibK.js} +5 -5
  218. package/dist/{createTheme-CNnKNxwL.js → createTheme-DYxDnE9u.js} +226 -285
  219. package/dist/{dialog-BE4D6swf.js → dialog-DcwXug9J.js} +6 -6
  220. package/dist/{helpers-DaCoWmi2.js → helpers-B4UL9NMD.js} +3 -3
  221. package/dist/index-BMS1Otro.js +183 -0
  222. package/dist/index-C__OZmYy.js +663 -0
  223. package/dist/{index-CGNxsLVm.js → index-CcdvNlgr.js} +7 -7
  224. package/dist/{index-JrtqxUdI.js → index-kCJ_Zvl8.js} +5 -5
  225. package/dist/index-syTc6m_V.js +1934 -0
  226. package/dist/index.es-CHNMhaMi.js +2067 -0
  227. package/dist/index.esm-BLLrbTzY.js +318 -0
  228. package/dist/{listItemTextClasses-CNjn41Of.js → listItemTextClasses-C3lndiXO.js} +2 -2
  229. package/dist/main.d.ts +1226 -358
  230. package/dist/main.js +141 -443
  231. package/dist/{has-DNclCIDV.js → math-Bvt2Ubuz.js} +220 -222
  232. package/dist/ol-yOE-NV0X.js +7465 -0
  233. package/dist/path-CNVruS--.js +84 -0
  234. package/dist/{property-list-form-C5hcK2y2.js → property-list-form-zZQfpR0X.js} +13 -13
  235. package/dist/styled-eZwjUruw.js +12 -0
  236. package/dist/useId-B4-oF9Mq.js +34 -0
  237. package/dist/useMobilePicker-BLg3Blg8.js +7589 -0
  238. package/dist/useThemeProps-BzzHcQyd.js +58 -0
  239. package/dist/{utils-CsOZUsQj.js → utils-BDNynJcd.js} +2 -2
  240. package/package.json +42 -9
  241. package/dist/AxisRendererY-kADUad00.js +0 -18370
  242. package/dist/Box-B1AVyJ_s.js +0 -71
  243. package/dist/DateAxis-CMum47iz.js +0 -924
  244. package/dist/Input-CoIrGZAh.js +0 -326
  245. package/dist/InputLabel-CBuAYyuT.js +0 -1367
  246. package/dist/LineSeries-CfcpoYla.js +0 -549
  247. package/dist/OutlinedInput-B-iZoc9l.js +0 -450
  248. package/dist/Tabs-Cn42Z5QI.js +0 -789
  249. package/dist/components/collapsible-card/style.js +0 -49
  250. package/dist/components/profile-card/index.js +0 -80
  251. package/dist/components/profile-card/logic.js +0 -33
  252. package/dist/components/profile-card/styled.js +0 -43
  253. package/dist/components/tabs/appleTabs.style.js +0 -55
  254. package/dist/createStyled-BGx1I94c.js +0 -352
  255. package/dist/createTheme-CyC5HawC.js +0 -879
  256. package/dist/exactProp-cjT0t_Pt.js +0 -36
  257. package/dist/extendSxProp-FEpqY5_S.js +0 -30
  258. package/dist/index-DMSHuq6l.js +0 -688
  259. package/dist/index-SpeaLUQD.js +0 -10963
  260. package/dist/ol-lGwSyEIV.js +0 -15050
  261. package/dist/ownerDocument-CUrv0DIK.js +0 -6
  262. package/dist/ownerWindow-niciwP7I.js +0 -7
  263. package/dist/styled-B8ugzvji.js +0 -12
  264. package/dist/useId-BHG98T5I.js +0 -26
  265. package/dist/useTheme-C15Eq8KG.js +0 -18
  266. package/dist/useTheme-D-uii9iX.js +0 -10
  267. package/dist/useThemeProps-DRP1dikX.js +0 -95
@@ -1,280 +1,130 @@
1
- import { _ as X, a as c } from "./objectWithoutPropertiesLoose-DJteAcBH.js";
2
- import * as i from "react";
3
- import { P as e } from "./index-DMSHuq6l.js";
4
- import { g as le, u as Ee, c as oe, b as gn, a as ce } from "./useThemeProps-DRP1dikX.js";
5
- import { r as Ne } from "./createStyled-BGx1I94c.js";
6
- import { s as V, r as Pe, a as vn } from "./styled-B8ugzvji.js";
7
- import { u as Je } from "./useTheme-D-uii9iX.js";
8
- import { g as ue } from "./createTheme-CNnKNxwL.js";
9
- import { jsx as $, jsxs as Qe } from "react/jsx-runtime";
10
- import { g as yn, M as En, H as Me } from "./Modal-CkcFEpHa.js";
11
- import { P as Ze, i as Pn } from "./Paper-CjqLScHA.js";
12
- import { u as On, a as pe, r as Oe, e as Rn } from "./ButtonBase-DsX-jMQJ.js";
13
- import { o as ae } from "./ownerDocument-CUrv0DIK.js";
14
- import { o as Be } from "./ownerWindow-niciwP7I.js";
15
- import { d as Cn } from "./debounce-46wSf_lW.js";
16
- import { T as Tn, r as In, g as Ve } from "./utils-CsOZUsQj.js";
17
- import { e as Sn } from "./exactProp-cjT0t_Pt.js";
18
- import { a as xn } from "./List-DOD5kSk3.js";
19
- import { c as Re, g as Mn, a as en } from "./createTheme-CyC5HawC.js";
20
- import { g as wn, i as Nn, b as Fn, r as Dn, c as $n, d as kn, e as jn, f as Ln } from "./InputLabel-CBuAYyuT.js";
21
- import { u as We } from "./useControlled-BYdyS7Pn.js";
22
- import { u as _n } from "./useFormControl-CatNKXAi.js";
23
- import { c as An } from "./createSvgIcon-OuwzpcaC.js";
24
- import { I as Bn } from "./Input-CoIrGZAh.js";
25
- import { O as Vn } from "./OutlinedInput-B-iZoc9l.js";
26
- const Wn = ["actions", "autoFocus", "autoFocusItem", "children", "className", "disabledItemsFocusable", "disableListWrap", "onKeyDown", "variant"];
27
- function Se(n, t, o) {
28
- return n === t ? n.firstChild : t && t.nextElementSibling ? t.nextElementSibling : o ? null : n.firstChild;
29
- }
30
- function Ue(n, t, o) {
31
- return n === t ? o ? n.firstChild : n.lastChild : t && t.previousElementSibling ? t.previousElementSibling : o ? null : n.lastChild;
32
- }
33
- function nn(n, t) {
34
- if (t === void 0)
35
- return !0;
36
- let o = n.innerText;
37
- return o === void 0 && (o = n.textContent), o = o.trim().toLowerCase(), o.length === 0 ? !1 : t.repeating ? o[0] === t.keys[0] : o.indexOf(t.keys.join("")) === 0;
38
- }
39
- function se(n, t, o, s, b, l) {
40
- let u = !1, d = b(n, t, t ? o : !1);
41
- for (; d; ) {
42
- if (d === n.firstChild) {
43
- if (u)
44
- return !1;
45
- u = !0;
46
- }
47
- const P = s ? !1 : d.disabled || d.getAttribute("aria-disabled") === "true";
48
- if (!d.hasAttribute("tabindex") || !nn(d, l) || P)
49
- d = b(n, d, o);
50
- else
51
- return d.focus(), !0;
52
- }
53
- return !1;
54
- }
55
- const tn = /* @__PURE__ */ i.forwardRef(function(t, o) {
56
- const {
57
- // private
58
- // eslint-disable-next-line react/prop-types
59
- actions: s,
60
- autoFocus: b = !1,
61
- autoFocusItem: l = !1,
62
- children: u,
63
- className: d,
64
- disabledItemsFocusable: P = !1,
65
- disableListWrap: x = !1,
66
- onKeyDown: N,
67
- variant: F = "selectedMenu"
68
- } = t, k = X(t, Wn), f = i.useRef(null), I = i.useRef({
69
- keys: [],
70
- repeating: !0,
71
- previousKeyMatched: !0,
72
- lastTime: null
73
- });
74
- On(() => {
75
- b && f.current.focus();
76
- }, [b]), i.useImperativeHandle(s, () => ({
77
- adjustStyleForScrollbar: (a, p) => {
78
- const R = !f.current.style.width;
79
- if (a.clientHeight < f.current.clientHeight && R) {
80
- const S = `${yn(ae(a))}px`;
81
- f.current.style[p.direction === "rtl" ? "paddingLeft" : "paddingRight"] = S, f.current.style.width = `calc(100% + ${S})`;
82
- }
83
- return f.current;
84
- }
85
- }), []);
86
- const O = (a) => {
87
- const p = f.current, R = a.key, S = ae(p).activeElement;
88
- if (R === "ArrowDown")
89
- a.preventDefault(), se(p, S, x, P, Se);
90
- else if (R === "ArrowUp")
91
- a.preventDefault(), se(p, S, x, P, Ue);
92
- else if (R === "Home")
93
- a.preventDefault(), se(p, null, x, P, Se);
94
- else if (R === "End")
95
- a.preventDefault(), se(p, null, x, P, Ue);
96
- else if (R.length === 1) {
97
- const g = I.current, _ = R.toLowerCase(), L = performance.now();
98
- g.keys.length > 0 && (L - g.lastTime > 500 ? (g.keys = [], g.repeating = !0, g.previousKeyMatched = !0) : g.repeating && _ !== g.keys[0] && (g.repeating = !1)), g.lastTime = L, g.keys.push(_);
99
- const M = S && !g.repeating && nn(S, g);
100
- g.previousKeyMatched && (M || se(p, S, !1, P, Se, g)) ? a.preventDefault() : g.previousKeyMatched = !1;
101
- }
102
- N && N(a);
103
- }, w = pe(f, o);
104
- let E = -1;
105
- i.Children.forEach(u, (a, p) => {
106
- /* @__PURE__ */ i.isValidElement(a) && (process.env.NODE_ENV !== "production" && Ne.isFragment(a) && console.error(["MUI: The Menu component doesn't accept a Fragment as a child.", "Consider providing an array instead."].join(`
107
- `)), a.props.disabled || (F === "selectedMenu" && a.props.selected || E === -1) && (E = p), E === p && (a.props.disabled || a.props.muiSkipListHighlight || a.type.muiSkipListHighlight) && (E += 1, E >= u.length && (E = -1)));
108
- });
109
- const T = i.Children.map(u, (a, p) => {
110
- if (p === E) {
111
- const R = {};
112
- return l && (R.autoFocus = !0), a.props.tabIndex === void 0 && F === "selectedMenu" && (R.tabIndex = 0), /* @__PURE__ */ i.cloneElement(a, R);
113
- }
114
- return a;
115
- });
116
- return /* @__PURE__ */ $(xn, c({
117
- role: "menu",
118
- ref: w,
119
- className: d,
120
- onKeyDown: O,
121
- tabIndex: b ? 0 : -1
122
- }, k, {
123
- children: T
124
- }));
125
- });
126
- process.env.NODE_ENV !== "production" && (tn.propTypes = {
127
- // ----------------------------- Warning --------------------------------
128
- // | These PropTypes are generated from the TypeScript type definitions |
129
- // | To update them edit the d.ts file and run "yarn proptypes" |
130
- // ----------------------------------------------------------------------
131
- /**
132
- * If `true`, will focus the `[role="menu"]` container and move into tab order.
133
- * @default false
134
- */
135
- autoFocus: e.bool,
136
- /**
137
- * If `true`, will focus the first menuitem if `variant="menu"` or selected item
138
- * if `variant="selectedMenu"`.
139
- * @default false
140
- */
141
- autoFocusItem: e.bool,
142
- /**
143
- * MenuList contents, normally `MenuItem`s.
144
- */
145
- children: e.node,
146
- /**
147
- * @ignore
148
- */
149
- className: e.string,
150
- /**
151
- * If `true`, will allow focus on disabled items.
152
- * @default false
153
- */
154
- disabledItemsFocusable: e.bool,
155
- /**
156
- * If `true`, the menu items will not wrap focus.
157
- * @default false
158
- */
159
- disableListWrap: e.bool,
160
- /**
161
- * @ignore
162
- */
163
- onKeyDown: e.func,
164
- /**
165
- * The variant to use. Use `menu` to prevent selected items from impacting the initial focus
166
- * and the vertical alignment relative to the anchor element.
167
- * @default 'selectedMenu'
168
- */
169
- variant: e.oneOf(["menu", "selectedMenu"])
170
- });
171
- const Un = ["addEndListener", "appear", "children", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"];
172
- function we(n) {
1
+ import { _ as z, a as s } from "./objectWithoutPropertiesLoose-DJteAcBH.js";
2
+ import * as r from "react";
3
+ import { P as e } from "./index-C__OZmYy.js";
4
+ import { g as ie, u as pe, a as se, c as re, b as wn } from "./useThemeProps-BzzHcQyd.js";
5
+ import { r as Fe } from "./index-BMS1Otro.js";
6
+ import { s as j, r as fe, a as Mn } from "./styled-eZwjUruw.js";
7
+ import { u as nn, P as tn, i as Nn } from "./Paper-2B03OBmZ.js";
8
+ import { g as ae, a as on, f as Fn } from "./createTheme-DYxDnE9u.js";
9
+ import { jsx as w, jsxs as De } from "react/jsx-runtime";
10
+ import { e as Dn, g as $n, M as kn, H as Me } from "./Modal-DhPpOoGB.js";
11
+ import { a as me, r as be, u as jn, e as Ln } from "./ButtonBase-2bPw77UP.js";
12
+ import { o as de, a as Ue } from "./useId-B4-oF9Mq.js";
13
+ import { d as _n } from "./debounce-46wSf_lW.js";
14
+ import { T as An, r as Wn, g as ze } from "./utils-BDNynJcd.js";
15
+ import { a as Bn } from "./List-tqElle9C.js";
16
+ import { c as Te } from "./capitalize-ciszXJ7R.js";
17
+ import { i as rn, c as sn, r as an, d as ln, e as un, g as cn, f as dn, h as Vn, b as Un } from "./FormControl-BLbrq4C7.js";
18
+ import { u as He } from "./useControlled-BYdyS7Pn.js";
19
+ import { u as pn } from "./useFormControl-CatNKXAi.js";
20
+ import { c as zn } from "./createSvgIcon-DrtgaibK.js";
21
+ const Hn = ["addEndListener", "appear", "children", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"];
22
+ function Ne(n) {
173
23
  return `scale(${n}, ${n ** 2})`;
174
24
  }
175
- const zn = {
25
+ const Kn = {
176
26
  entering: {
177
27
  opacity: 1,
178
- transform: we(1)
28
+ transform: Ne(1)
179
29
  },
180
30
  entered: {
181
31
  opacity: 1,
182
32
  transform: "none"
183
33
  }
184
- }, xe = typeof navigator < "u" && /^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent) && /(os |version\/)15(.|_)4/i.test(navigator.userAgent), Fe = /* @__PURE__ */ i.forwardRef(function(t, o) {
34
+ }, Se = typeof navigator < "u" && /^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent) && /(os |version\/)15(.|_)4/i.test(navigator.userAgent), $e = /* @__PURE__ */ r.forwardRef(function(t, o) {
185
35
  const {
186
- addEndListener: s,
187
- appear: b = !0,
188
- children: l,
189
- easing: u,
190
- in: d,
191
- onEnter: P,
192
- onEntered: x,
193
- onEntering: N,
194
- onExit: F,
195
- onExited: k,
196
- onExiting: f,
36
+ addEndListener: a,
37
+ appear: f = !0,
38
+ children: u,
39
+ easing: c,
40
+ in: p,
41
+ onEnter: b,
42
+ onEntered: P,
43
+ onEntering: F,
44
+ onExit: $,
45
+ onExited: M,
46
+ onExiting: m,
197
47
  style: I,
198
- timeout: O = "auto",
48
+ timeout: v = "auto",
199
49
  // eslint-disable-next-line react/prop-types
200
- TransitionComponent: w = Tn
201
- } = t, E = X(t, Un), T = i.useRef(), a = i.useRef(), p = Je(), R = i.useRef(null), S = pe(R, l.ref, o), g = (h) => (m) => {
202
- if (h) {
203
- const B = R.current;
204
- m === void 0 ? h(B) : h(B, m);
50
+ TransitionComponent: N = An
51
+ } = t, y = z(t, Hn), R = r.useRef(), d = r.useRef(), l = nn(), T = r.useRef(null), S = me(T, u.ref, o), h = (O) => (g) => {
52
+ if (O) {
53
+ const B = T.current;
54
+ g === void 0 ? O(B) : O(B, g);
205
55
  }
206
- }, _ = g(N), L = g((h, m) => {
207
- In(h);
56
+ }, L = h(F), A = h((O, g) => {
57
+ Wn(O);
208
58
  const {
209
59
  duration: B,
210
- delay: H,
211
- easing: W
212
- } = Ve({
60
+ delay: q,
61
+ easing: V
62
+ } = ze({
213
63
  style: I,
214
- timeout: O,
215
- easing: u
64
+ timeout: v,
65
+ easing: c
216
66
  }, {
217
67
  mode: "enter"
218
68
  });
219
- let v;
220
- O === "auto" ? (v = p.transitions.getAutoHeightDuration(h.clientHeight), a.current = v) : v = B, h.style.transition = [p.transitions.create("opacity", {
221
- duration: v,
222
- delay: H
223
- }), p.transitions.create("transform", {
224
- duration: xe ? v : v * 0.666,
225
- delay: H,
226
- easing: W
227
- })].join(","), P && P(h, m);
228
- }), M = g(x), A = g(f), J = g((h) => {
69
+ let E;
70
+ v === "auto" ? (E = l.transitions.getAutoHeightDuration(O.clientHeight), d.current = E) : E = B, O.style.transition = [l.transitions.create("opacity", {
71
+ duration: E,
72
+ delay: q
73
+ }), l.transitions.create("transform", {
74
+ duration: Se ? E : E * 0.666,
75
+ delay: q,
76
+ easing: V
77
+ })].join(","), b && b(O, g);
78
+ }), D = h(P), W = h(m), J = h((O) => {
229
79
  const {
230
- duration: m,
80
+ duration: g,
231
81
  delay: B,
232
- easing: H
233
- } = Ve({
82
+ easing: q
83
+ } = ze({
234
84
  style: I,
235
- timeout: O,
236
- easing: u
85
+ timeout: v,
86
+ easing: c
237
87
  }, {
238
88
  mode: "exit"
239
89
  });
240
- let W;
241
- O === "auto" ? (W = p.transitions.getAutoHeightDuration(h.clientHeight), a.current = W) : W = m, h.style.transition = [p.transitions.create("opacity", {
242
- duration: W,
90
+ let V;
91
+ v === "auto" ? (V = l.transitions.getAutoHeightDuration(O.clientHeight), d.current = V) : V = g, O.style.transition = [l.transitions.create("opacity", {
92
+ duration: V,
243
93
  delay: B
244
- }), p.transitions.create("transform", {
245
- duration: xe ? W : W * 0.666,
246
- delay: xe ? B : B || W * 0.333,
247
- easing: H
248
- })].join(","), h.style.opacity = 0, h.style.transform = we(0.75), F && F(h);
249
- }), z = g(k), K = (h) => {
250
- O === "auto" && (T.current = setTimeout(h, a.current || 0)), s && s(R.current, h);
94
+ }), l.transitions.create("transform", {
95
+ duration: Se ? V : V * 0.666,
96
+ delay: Se ? B : B || V * 0.333,
97
+ easing: q
98
+ })].join(","), O.style.opacity = 0, O.style.transform = Ne(0.75), $ && $(O);
99
+ }), H = h(M), K = (O) => {
100
+ v === "auto" && (R.current = setTimeout(O, d.current || 0)), a && a(T.current, O);
251
101
  };
252
- return i.useEffect(() => () => {
253
- clearTimeout(T.current);
254
- }, []), /* @__PURE__ */ $(w, c({
255
- appear: b,
256
- in: d,
257
- nodeRef: R,
258
- onEnter: L,
259
- onEntered: M,
260
- onEntering: _,
102
+ return r.useEffect(() => () => {
103
+ clearTimeout(R.current);
104
+ }, []), /* @__PURE__ */ w(N, s({
105
+ appear: f,
106
+ in: p,
107
+ nodeRef: T,
108
+ onEnter: A,
109
+ onEntered: D,
110
+ onEntering: L,
261
111
  onExit: J,
262
- onExited: z,
263
- onExiting: A,
112
+ onExited: H,
113
+ onExiting: W,
264
114
  addEndListener: K,
265
- timeout: O === "auto" ? null : O
266
- }, E, {
267
- children: (h, m) => /* @__PURE__ */ i.cloneElement(l, c({
268
- style: c({
115
+ timeout: v === "auto" ? null : v
116
+ }, y, {
117
+ children: (O, g) => /* @__PURE__ */ r.cloneElement(u, s({
118
+ style: s({
269
119
  opacity: 0,
270
- transform: we(0.75),
271
- visibility: h === "exited" && !d ? "hidden" : void 0
272
- }, zn[h], I, l.props.style),
120
+ transform: Ne(0.75),
121
+ visibility: O === "exited" && !p ? "hidden" : void 0
122
+ }, Kn[O], I, u.props.style),
273
123
  ref: S
274
- }, m))
124
+ }, g))
275
125
  }));
276
126
  });
277
- process.env.NODE_ENV !== "production" && (Fe.propTypes = {
127
+ process.env.NODE_ENV !== "production" && ($e.propTypes = {
278
128
  // ----------------------------- Warning --------------------------------
279
129
  // | These PropTypes are generated from the TypeScript type definitions |
280
130
  // | To update them edit the d.ts file and run "yarn proptypes" |
@@ -294,7 +144,7 @@ process.env.NODE_ENV !== "production" && (Fe.propTypes = {
294
144
  /**
295
145
  * A single child content element.
296
146
  */
297
- children: Sn.isRequired,
147
+ children: Dn.isRequired,
298
148
  /**
299
149
  * The transition timing function.
300
150
  * You may specify a single easing or a object containing enter and exit values.
@@ -348,1183 +198,1708 @@ process.env.NODE_ENV !== "production" && (Fe.propTypes = {
348
198
  exit: e.number
349
199
  })])
350
200
  });
351
- Fe.muiSupportAuto = !0;
352
- function Kn(n) {
353
- return ue("MuiPopover", n);
201
+ $e.muiSupportAuto = !0;
202
+ function qn(n) {
203
+ return ae("MuiFilledInput", n);
354
204
  }
355
- le("MuiPopover", ["root", "paper"]);
356
- const Hn = ["onEntering"], qn = ["action", "anchorEl", "anchorOrigin", "anchorPosition", "anchorReference", "children", "className", "container", "elevation", "marginThreshold", "open", "PaperProps", "transformOrigin", "TransitionComponent", "transitionDuration", "TransitionProps"];
357
- function ze(n, t) {
358
- let o = 0;
359
- return typeof t == "number" ? o = t : t === "center" ? o = n.height / 2 : t === "bottom" && (o = n.height), o;
360
- }
361
- function Ke(n, t) {
362
- let o = 0;
363
- return typeof t == "number" ? o = t : t === "center" ? o = n.width / 2 : t === "right" && (o = n.width), o;
364
- }
365
- function He(n) {
366
- return [n.horizontal, n.vertical].map((t) => typeof t == "number" ? `${t}px` : t).join(" ");
367
- }
368
- function ye(n) {
369
- return typeof n == "function" ? n() : n;
370
- }
371
- const Gn = (n) => {
205
+ const te = s({}, rn, ie("MuiFilledInput", ["root", "underline", "input"])), Gn = ["disableUnderline", "components", "componentsProps", "fullWidth", "hiddenLabel", "inputComponent", "multiline", "slotProps", "slots", "type"], Xn = (n) => {
372
206
  const {
373
- classes: t
374
- } = n;
375
- return ce({
376
- root: ["root"],
377
- paper: ["paper"]
378
- }, Kn, t);
379
- }, Xn = V(En, {
380
- name: "MuiPopover",
207
+ classes: t,
208
+ disableUnderline: o
209
+ } = n, f = se({
210
+ root: ["root", !o && "underline"],
211
+ input: ["input"]
212
+ }, qn, t);
213
+ return s({}, t, f);
214
+ }, Yn = j(sn, {
215
+ shouldForwardProp: (n) => fe(n) || n === "classes",
216
+ name: "MuiFilledInput",
381
217
  slot: "Root",
382
- overridesResolver: (n, t) => t.root
383
- })({}), Yn = V(Ze, {
384
- name: "MuiPopover",
385
- slot: "Paper",
386
- overridesResolver: (n, t) => t.paper
387
- })({
388
- position: "absolute",
389
- overflowY: "auto",
390
- overflowX: "hidden",
391
- // So we see the popover when it's empty.
392
- // It's most likely on issue on userland.
393
- minWidth: 16,
394
- minHeight: 16,
395
- maxWidth: "calc(100% - 32px)",
396
- maxHeight: "calc(100% - 32px)",
397
- // We disable the focus ring for mouse, touch and keyboard users.
398
- outline: 0
399
- }), on = /* @__PURE__ */ i.forwardRef(function(t, o) {
400
- const s = Ee({
401
- props: t,
402
- name: "MuiPopover"
403
- }), {
404
- action: b,
405
- anchorEl: l,
406
- anchorOrigin: u = {
407
- vertical: "top",
408
- horizontal: "left"
218
+ overridesResolver: (n, t) => {
219
+ const {
220
+ ownerState: o
221
+ } = n;
222
+ return [...an(n, t), !o.disableUnderline && t.underline];
223
+ }
224
+ })(({
225
+ theme: n,
226
+ ownerState: t
227
+ }) => {
228
+ var o;
229
+ const a = n.palette.mode === "light", f = a ? "rgba(0, 0, 0, 0.42)" : "rgba(255, 255, 255, 0.7)", u = a ? "rgba(0, 0, 0, 0.06)" : "rgba(255, 255, 255, 0.09)", c = a ? "rgba(0, 0, 0, 0.09)" : "rgba(255, 255, 255, 0.13)", p = a ? "rgba(0, 0, 0, 0.12)" : "rgba(255, 255, 255, 0.12)";
230
+ return s({
231
+ position: "relative",
232
+ backgroundColor: n.vars ? n.vars.palette.FilledInput.bg : u,
233
+ borderTopLeftRadius: (n.vars || n).shape.borderRadius,
234
+ borderTopRightRadius: (n.vars || n).shape.borderRadius,
235
+ transition: n.transitions.create("background-color", {
236
+ duration: n.transitions.duration.shorter,
237
+ easing: n.transitions.easing.easeOut
238
+ }),
239
+ "&:hover": {
240
+ backgroundColor: n.vars ? n.vars.palette.FilledInput.hoverBg : c,
241
+ // Reset on touch devices, it doesn't add specificity
242
+ "@media (hover: none)": {
243
+ backgroundColor: n.vars ? n.vars.palette.FilledInput.bg : u
244
+ }
409
245
  },
410
- anchorPosition: d,
411
- anchorReference: P = "anchorEl",
412
- children: x,
413
- className: N,
414
- container: F,
415
- elevation: k = 8,
416
- marginThreshold: f = 16,
417
- open: I,
418
- PaperProps: O = {},
419
- transformOrigin: w = {
420
- vertical: "top",
421
- horizontal: "left"
246
+ [`&.${te.focused}`]: {
247
+ backgroundColor: n.vars ? n.vars.palette.FilledInput.bg : u
422
248
  },
423
- TransitionComponent: E = Fe,
424
- transitionDuration: T = "auto",
425
- TransitionProps: {
426
- onEntering: a
427
- } = {}
428
- } = s, p = X(s.TransitionProps, Hn), R = X(s, qn), S = i.useRef(), g = pe(S, O.ref), _ = c({}, s, {
429
- anchorOrigin: u,
430
- anchorReference: P,
431
- elevation: k,
432
- marginThreshold: f,
433
- PaperProps: O,
434
- transformOrigin: w,
435
- TransitionComponent: E,
436
- transitionDuration: T,
437
- TransitionProps: p
438
- }), L = Gn(_), M = i.useCallback(() => {
439
- if (P === "anchorPosition")
440
- return process.env.NODE_ENV !== "production" && (d || console.error('MUI: You need to provide a `anchorPosition` prop when using <Popover anchorReference="anchorPosition" />.')), d;
441
- const v = ye(l), C = v && v.nodeType === 1 ? v : ae(S.current).body, D = C.getBoundingClientRect();
442
- if (process.env.NODE_ENV !== "production") {
443
- const Y = C.getBoundingClientRect();
444
- process.env.NODE_ENV !== "test" && Y.top === 0 && Y.left === 0 && Y.right === 0 && Y.bottom === 0 && console.warn(["MUI: The `anchorEl` prop provided to the component is invalid.", "The anchor element should be part of the document layout.", "Make sure the element is present in the document or that it's not display none."].join(`
445
- `));
446
- }
447
- return {
448
- top: D.top + ze(D, u.vertical),
449
- left: D.left + Ke(D, u.horizontal)
450
- };
451
- }, [l, u.horizontal, u.vertical, d, P]), A = i.useCallback((v) => ({
452
- vertical: ze(v, w.vertical),
453
- horizontal: Ke(v, w.horizontal)
454
- }), [w.horizontal, w.vertical]), J = i.useCallback((v) => {
455
- const C = {
456
- width: v.offsetWidth,
457
- height: v.offsetHeight
458
- }, D = A(C);
459
- if (P === "none")
460
- return {
461
- top: null,
462
- left: null,
463
- transformOrigin: He(D)
464
- };
465
- const Y = M();
466
- let q = Y.top - D.vertical, Q = Y.left - D.horizontal;
467
- const re = q + C.height, de = Q + C.width, fe = Be(ye(l)), G = fe.innerHeight - f, ee = fe.innerWidth - f;
468
- if (q < f) {
469
- const U = q - f;
470
- q -= U, D.vertical += U;
471
- } else if (re > G) {
472
- const U = re - G;
473
- q -= U, D.vertical += U;
474
- }
475
- if (process.env.NODE_ENV !== "production" && C.height > G && C.height && G && console.error(["MUI: The popover component is too tall.", `Some part of it can not be seen on the screen (${C.height - G}px).`, "Please consider adding a `max-height` to improve the user-experience."].join(`
476
- `)), Q < f) {
477
- const U = Q - f;
478
- Q -= U, D.horizontal += U;
479
- } else if (de > ee) {
480
- const U = de - ee;
481
- Q -= U, D.horizontal += U;
482
- }
483
- return {
484
- top: `${Math.round(q)}px`,
485
- left: `${Math.round(Q)}px`,
486
- transformOrigin: He(D)
487
- };
488
- }, [l, P, M, A, f]), [z, K] = i.useState(I), h = i.useCallback(() => {
489
- const v = S.current;
490
- if (!v)
491
- return;
492
- const C = J(v);
493
- C.top !== null && (v.style.top = C.top), C.left !== null && (v.style.left = C.left), v.style.transformOrigin = C.transformOrigin, K(!0);
494
- }, [J]), m = (v, C) => {
495
- a && a(v, C), h();
496
- }, B = () => {
497
- K(!1);
498
- };
499
- i.useEffect(() => {
500
- I && h();
501
- }), i.useImperativeHandle(b, () => I ? {
502
- updatePosition: () => {
503
- h();
249
+ [`&.${te.disabled}`]: {
250
+ backgroundColor: n.vars ? n.vars.palette.FilledInput.disabledBg : p
504
251
  }
505
- } : null, [I, h]), i.useEffect(() => {
506
- if (!I)
507
- return;
508
- const v = Cn(() => {
509
- h();
510
- }), C = Be(l);
511
- return C.addEventListener("resize", v), () => {
512
- v.clear(), C.removeEventListener("resize", v);
513
- };
514
- }, [l, I, h]);
515
- let H = T;
516
- T === "auto" && !E.muiSupportAuto && (H = void 0);
517
- const W = F || (l ? ae(ye(l)).body : void 0);
518
- return /* @__PURE__ */ $(Xn, c({
519
- BackdropProps: {
520
- invisible: !0
252
+ }, !t.disableUnderline && {
253
+ "&:after": {
254
+ borderBottom: `2px solid ${(o = (n.vars || n).palette[t.color || "primary"]) == null ? void 0 : o.main}`,
255
+ left: 0,
256
+ bottom: 0,
257
+ // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
258
+ content: '""',
259
+ position: "absolute",
260
+ right: 0,
261
+ transform: "scaleX(0)",
262
+ transition: n.transitions.create("transform", {
263
+ duration: n.transitions.duration.shorter,
264
+ easing: n.transitions.easing.easeOut
265
+ }),
266
+ pointerEvents: "none"
267
+ // Transparent to the hover style.
521
268
  },
522
- className: oe(L.root, N),
523
- container: W,
524
- open: I,
525
- ref: o,
526
- ownerState: _
527
- }, R, {
528
- children: /* @__PURE__ */ $(E, c({
529
- appear: !0,
530
- in: I,
531
- onEntering: m,
532
- onExited: B,
533
- timeout: H
534
- }, p, {
535
- children: /* @__PURE__ */ $(Yn, c({
536
- elevation: k
537
- }, O, {
538
- ref: g,
539
- className: oe(L.paper, O.className)
540
- }, z ? void 0 : {
541
- style: c({}, O.style, {
542
- opacity: 0
543
- })
544
- }, {
545
- ownerState: _,
546
- children: x
547
- }))
548
- }))
549
- }));
550
- });
551
- process.env.NODE_ENV !== "production" && (on.propTypes = {
552
- // ----------------------------- Warning --------------------------------
553
- // | These PropTypes are generated from the TypeScript type definitions |
554
- // | To update them edit the d.ts file and run "yarn proptypes" |
555
- // ----------------------------------------------------------------------
556
- /**
557
- * A ref for imperative actions.
558
- * It currently only supports updatePosition() action.
559
- */
560
- action: Oe,
561
- /**
562
- * An HTML element, or a function that returns one.
563
- * It's used to set the position of the popover.
564
- */
565
- anchorEl: gn(e.oneOfType([Me, e.func]), (n) => {
566
- if (n.open && (!n.anchorReference || n.anchorReference === "anchorEl")) {
567
- const t = ye(n.anchorEl);
568
- if (t && t.nodeType === 1) {
569
- const o = t.getBoundingClientRect();
570
- if (process.env.NODE_ENV !== "test" && o.top === 0 && o.left === 0 && o.right === 0 && o.bottom === 0)
571
- 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(`
572
- `));
573
- } else
574
- return new Error(["MUI: The `anchorEl` prop provided to the component is invalid.", `It should be an Element instance but it's \`${t}\` instead.`].join(`
575
- `));
269
+ [`&.${te.focused}:after`]: {
270
+ // translateX(0) is a workaround for Safari transform scale bug
271
+ // See https://github.com/mui/material-ui/issues/31766
272
+ transform: "scaleX(1) translateX(0)"
273
+ },
274
+ [`&.${te.error}`]: {
275
+ "&:before, &:after": {
276
+ borderBottomColor: (n.vars || n).palette.error.main
277
+ }
278
+ },
279
+ "&:before": {
280
+ borderBottom: `1px solid ${n.vars ? `rgba(${n.vars.palette.common.onBackgroundChannel} / ${n.vars.opacity.inputUnderline})` : f}`,
281
+ left: 0,
282
+ bottom: 0,
283
+ // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
284
+ content: '"\\00a0"',
285
+ position: "absolute",
286
+ right: 0,
287
+ transition: n.transitions.create("border-bottom-color", {
288
+ duration: n.transitions.duration.shorter
289
+ }),
290
+ pointerEvents: "none"
291
+ // Transparent to the hover style.
292
+ },
293
+ [`&:hover:not(.${te.disabled}, .${te.error}):before`]: {
294
+ borderBottom: `1px solid ${(n.vars || n).palette.text.primary}`
295
+ },
296
+ [`&.${te.disabled}:before`]: {
297
+ borderBottomStyle: "dotted"
576
298
  }
577
- return null;
578
- }),
579
- /**
580
- * This is the point on the anchor where the popover's
581
- * `anchorEl` will attach to. This is not used when the
582
- * anchorReference is 'anchorPosition'.
583
- *
584
- * Options:
585
- * vertical: [top, center, bottom];
586
- * horizontal: [left, center, right].
587
- * @default {
588
- * vertical: 'top',
589
- * horizontal: 'left',
590
- * }
299
+ }, t.startAdornment && {
300
+ paddingLeft: 12
301
+ }, t.endAdornment && {
302
+ paddingRight: 12
303
+ }, t.multiline && s({
304
+ padding: "25px 12px 8px"
305
+ }, t.size === "small" && {
306
+ paddingTop: 21,
307
+ paddingBottom: 4
308
+ }, t.hiddenLabel && {
309
+ paddingTop: 16,
310
+ paddingBottom: 17
311
+ }));
312
+ }), Jn = j(ln, {
313
+ name: "MuiFilledInput",
314
+ slot: "Input",
315
+ overridesResolver: un
316
+ })(({
317
+ theme: n,
318
+ ownerState: t
319
+ }) => s({
320
+ paddingTop: 25,
321
+ paddingRight: 12,
322
+ paddingBottom: 8,
323
+ paddingLeft: 12
324
+ }, !n.vars && {
325
+ "&:-webkit-autofill": {
326
+ WebkitBoxShadow: n.palette.mode === "light" ? null : "0 0 0 100px #266798 inset",
327
+ WebkitTextFillColor: n.palette.mode === "light" ? null : "#fff",
328
+ caretColor: n.palette.mode === "light" ? null : "#fff",
329
+ borderTopLeftRadius: "inherit",
330
+ borderTopRightRadius: "inherit"
331
+ }
332
+ }, n.vars && {
333
+ "&:-webkit-autofill": {
334
+ borderTopLeftRadius: "inherit",
335
+ borderTopRightRadius: "inherit"
336
+ },
337
+ [n.getColorSchemeSelector("dark")]: {
338
+ "&:-webkit-autofill": {
339
+ WebkitBoxShadow: "0 0 0 100px #266798 inset",
340
+ WebkitTextFillColor: "#fff",
341
+ caretColor: "#fff"
342
+ }
343
+ }
344
+ }, t.size === "small" && {
345
+ paddingTop: 21,
346
+ paddingBottom: 4
347
+ }, t.hiddenLabel && {
348
+ paddingTop: 16,
349
+ paddingBottom: 17
350
+ }, t.multiline && {
351
+ paddingTop: 0,
352
+ paddingBottom: 0,
353
+ paddingLeft: 0,
354
+ paddingRight: 0
355
+ }, t.startAdornment && {
356
+ paddingLeft: 0
357
+ }, t.endAdornment && {
358
+ paddingRight: 0
359
+ }, t.hiddenLabel && t.size === "small" && {
360
+ paddingTop: 8,
361
+ paddingBottom: 9
362
+ })), ke = /* @__PURE__ */ r.forwardRef(function(t, o) {
363
+ var a, f, u, c;
364
+ const p = pe({
365
+ props: t,
366
+ name: "MuiFilledInput"
367
+ }), {
368
+ components: b = {},
369
+ componentsProps: P,
370
+ fullWidth: F = !1,
371
+ // declare here to prevent spreading to DOM
372
+ inputComponent: $ = "input",
373
+ multiline: M = !1,
374
+ slotProps: m,
375
+ slots: I = {},
376
+ type: v = "text"
377
+ } = p, N = z(p, Gn), y = s({}, p, {
378
+ fullWidth: F,
379
+ inputComponent: $,
380
+ multiline: M,
381
+ type: v
382
+ }), R = Xn(p), d = {
383
+ root: {
384
+ ownerState: y
385
+ },
386
+ input: {
387
+ ownerState: y
388
+ }
389
+ }, l = m ?? P ? on(m ?? P, d) : d, T = (a = (f = I.root) != null ? f : b.Root) != null ? a : Yn, S = (u = (c = I.input) != null ? c : b.Input) != null ? u : Jn;
390
+ return /* @__PURE__ */ w(cn, s({
391
+ slots: {
392
+ root: T,
393
+ input: S
394
+ },
395
+ componentsProps: l,
396
+ fullWidth: F,
397
+ inputComponent: $,
398
+ multiline: M,
399
+ ref: o,
400
+ type: v
401
+ }, N, {
402
+ classes: R
403
+ }));
404
+ });
405
+ process.env.NODE_ENV !== "production" && (ke.propTypes = {
406
+ // ----------------------------- Warning --------------------------------
407
+ // | These PropTypes are generated from the TypeScript type definitions |
408
+ // | To update them edit the d.ts file and run "yarn proptypes" |
409
+ // ----------------------------------------------------------------------
410
+ /**
411
+ * This prop helps users to fill forms faster, especially on mobile devices.
412
+ * The name can be confusing, as it's more like an autofill.
413
+ * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).
591
414
  */
592
- anchorOrigin: e.shape({
593
- horizontal: e.oneOfType([e.oneOf(["center", "left", "right"]), e.number]).isRequired,
594
- vertical: e.oneOfType([e.oneOf(["bottom", "center", "top"]), e.number]).isRequired
415
+ autoComplete: e.string,
416
+ /**
417
+ * If `true`, the `input` element is focused during the first mount.
418
+ */
419
+ autoFocus: e.bool,
420
+ /**
421
+ * Override or extend the styles applied to the component.
422
+ */
423
+ classes: e.object,
424
+ /**
425
+ * The color of the component.
426
+ * It supports both default and custom theme colors, which can be added as shown in the
427
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#adding-new-colors).
428
+ * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.
429
+ */
430
+ color: e.oneOfType([e.oneOf(["primary", "secondary"]), e.string]),
431
+ /**
432
+ * The components used for each slot inside.
433
+ *
434
+ * This prop is an alias for the `slots` prop.
435
+ * It's recommended to use the `slots` prop instead.
436
+ *
437
+ * @default {}
438
+ */
439
+ components: e.shape({
440
+ Input: e.elementType,
441
+ Root: e.elementType
595
442
  }),
596
443
  /**
597
- * This is the position that may be used to set the position of the popover.
598
- * The coordinates are relative to the application's client area.
444
+ * The extra props for the slot components.
445
+ * You can override the existing props or add new ones.
446
+ *
447
+ * This prop is an alias for the `slotProps` prop.
448
+ * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.
449
+ *
450
+ * @default {}
599
451
  */
600
- anchorPosition: e.shape({
601
- left: e.number.isRequired,
602
- top: e.number.isRequired
452
+ componentsProps: e.shape({
453
+ input: e.object,
454
+ root: e.object
603
455
  }),
604
456
  /**
605
- * This determines which anchor prop to refer to when setting
606
- * the position of the popover.
607
- * @default 'anchorEl'
457
+ * The default value. Use when the component is not controlled.
608
458
  */
609
- anchorReference: e.oneOf(["anchorEl", "anchorPosition", "none"]),
459
+ defaultValue: e.any,
610
460
  /**
611
- * The content of the component.
461
+ * If `true`, the component is disabled.
462
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
612
463
  */
613
- children: e.node,
464
+ disabled: e.bool,
614
465
  /**
615
- * Override or extend the styles applied to the component.
466
+ * If `true`, the input will not have an underline.
616
467
  */
617
- classes: e.object,
468
+ disableUnderline: e.bool,
618
469
  /**
619
- * @ignore
470
+ * End `InputAdornment` for this component.
620
471
  */
621
- className: e.string,
472
+ endAdornment: e.node,
622
473
  /**
623
- * An HTML element, component instance, or function that returns either.
624
- * The `container` will passed to the Modal component.
625
- *
626
- * By default, it uses the body of the anchorEl's top-level document object,
627
- * so it's simply `document.body` most of the time.
474
+ * If `true`, the `input` will indicate an error.
475
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
628
476
  */
629
- container: e.oneOfType([Me, e.func]),
477
+ error: e.bool,
630
478
  /**
631
- * The elevation of the popover.
632
- * @default 8
479
+ * If `true`, the `input` will take up the full width of its container.
480
+ * @default false
633
481
  */
634
- elevation: Pn,
482
+ fullWidth: e.bool,
635
483
  /**
636
- * Specifies how close to the edge of the window the popover can appear.
637
- * @default 16
484
+ * If `true`, the label is hidden.
485
+ * This is used to increase density for a `FilledInput`.
486
+ * Be sure to add `aria-label` to the `input` element.
487
+ * @default false
638
488
  */
639
- marginThreshold: e.number,
489
+ hiddenLabel: e.bool,
640
490
  /**
641
- * Callback fired when the component requests to be closed.
642
- * The `reason` parameter can optionally be used to control the response to `onClose`.
491
+ * The id of the `input` element.
643
492
  */
644
- onClose: e.func,
493
+ id: e.string,
645
494
  /**
646
- * If `true`, the component is shown.
495
+ * The component used for the `input` element.
496
+ * Either a string to use a HTML element or a component.
497
+ * @default 'input'
647
498
  */
648
- open: e.bool.isRequired,
499
+ inputComponent: e.elementType,
649
500
  /**
650
- * Props applied to the [`Paper`](/material-ui/api/paper/) element.
501
+ * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
651
502
  * @default {}
652
503
  */
653
- PaperProps: e.shape({
654
- component: Rn
655
- }),
504
+ inputProps: e.object,
656
505
  /**
657
- * The system prop that allows defining system overrides as well as additional CSS styles.
506
+ * Pass a ref to the `input` element.
658
507
  */
659
- sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
508
+ inputRef: be,
660
509
  /**
661
- * This is the point on the popover which
662
- * will attach to the anchor's origin.
510
+ * If `dense`, will adjust vertical spacing. This is normally obtained via context from
511
+ * FormControl.
512
+ * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.
513
+ */
514
+ margin: e.oneOf(["dense", "none"]),
515
+ /**
516
+ * Maximum number of rows to display when multiline option is set to true.
517
+ */
518
+ maxRows: e.oneOfType([e.number, e.string]),
519
+ /**
520
+ * Minimum number of rows to display when multiline option is set to true.
521
+ */
522
+ minRows: e.oneOfType([e.number, e.string]),
523
+ /**
524
+ * If `true`, a [TextareaAutosize](/material-ui/react-textarea-autosize/) element is rendered.
525
+ * @default false
526
+ */
527
+ multiline: e.bool,
528
+ /**
529
+ * Name attribute of the `input` element.
530
+ */
531
+ name: e.string,
532
+ /**
533
+ * Callback fired when the value is changed.
663
534
  *
664
- * Options:
665
- * vertical: [top, center, bottom, x(px)];
666
- * horizontal: [left, center, right, x(px)].
667
- * @default {
668
- * vertical: 'top',
669
- * horizontal: 'left',
670
- * }
535
+ * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.
536
+ * You can pull out the new value by accessing `event.target.value` (string).
671
537
  */
672
- transformOrigin: e.shape({
673
- horizontal: e.oneOfType([e.oneOf(["center", "left", "right"]), e.number]).isRequired,
674
- vertical: e.oneOfType([e.oneOf(["bottom", "center", "top"]), e.number]).isRequired
675
- }),
538
+ onChange: e.func,
676
539
  /**
677
- * The component used for the transition.
678
- * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
679
- * @default Grow
540
+ * The short hint displayed in the `input` before the user enters a value.
680
541
  */
681
- TransitionComponent: e.elementType,
542
+ placeholder: e.string,
682
543
  /**
683
- * Set to 'auto' to automatically calculate transition time based on height.
684
- * @default 'auto'
544
+ * It prevents the user from changing the value of the field
545
+ * (not from interacting with the field).
685
546
  */
686
- transitionDuration: e.oneOfType([e.oneOf(["auto"]), e.number, e.shape({
687
- appear: e.number,
688
- enter: e.number,
689
- exit: e.number
690
- })]),
547
+ readOnly: e.bool,
691
548
  /**
692
- * Props applied to the transition element.
693
- * By default, the element is based on this [`Transition`](http://reactcommunity.org/react-transition-group/transition/) component.
694
- * @default {}
549
+ * If `true`, the `input` element is required.
550
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
695
551
  */
696
- TransitionProps: e.object
697
- });
698
- function Jn(n) {
699
- return ue("MuiMenu", n);
700
- }
701
- le("MuiMenu", ["root", "paper", "list"]);
702
- const Qn = ["onEntering"], Zn = ["autoFocus", "children", "disableAutoFocusItem", "MenuListProps", "onClose", "open", "PaperProps", "PopoverClasses", "transitionDuration", "TransitionProps", "variant"], et = {
703
- vertical: "top",
704
- horizontal: "right"
705
- }, nt = {
706
- vertical: "top",
707
- horizontal: "left"
708
- }, tt = (n) => {
552
+ required: e.bool,
553
+ /**
554
+ * Number of rows to display when multiline option is set to true.
555
+ */
556
+ rows: e.oneOfType([e.number, e.string]),
557
+ /**
558
+ * The extra props for the slot components.
559
+ * You can override the existing props or add new ones.
560
+ *
561
+ * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.
562
+ *
563
+ * @default {}
564
+ */
565
+ slotProps: e.shape({
566
+ input: e.object,
567
+ root: e.object
568
+ }),
569
+ /**
570
+ * The components used for each slot inside.
571
+ *
572
+ * This prop is an alias for the `components` prop, which will be deprecated in the future.
573
+ *
574
+ * @default {}
575
+ */
576
+ slots: e.shape({
577
+ input: e.elementType,
578
+ root: e.elementType
579
+ }),
580
+ /**
581
+ * Start `InputAdornment` for this component.
582
+ */
583
+ startAdornment: e.node,
584
+ /**
585
+ * The system prop that allows defining system overrides as well as additional CSS styles.
586
+ */
587
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
588
+ /**
589
+ * 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).
590
+ * @default 'text'
591
+ */
592
+ type: e.string,
593
+ /**
594
+ * The value of the `input` element, required for a controlled component.
595
+ */
596
+ value: e.any
597
+ });
598
+ ke.muiName = "Input";
599
+ var Ke;
600
+ const Qn = ["children", "classes", "className", "label", "notched"], Zn = j("fieldset")({
601
+ textAlign: "left",
602
+ position: "absolute",
603
+ bottom: 0,
604
+ right: 0,
605
+ top: -5,
606
+ left: 0,
607
+ margin: 0,
608
+ padding: "0 8px",
609
+ pointerEvents: "none",
610
+ borderRadius: "inherit",
611
+ borderStyle: "solid",
612
+ borderWidth: 1,
613
+ overflow: "hidden",
614
+ minWidth: "0%"
615
+ }), et = j("legend")(({
616
+ ownerState: n,
617
+ theme: t
618
+ }) => s({
619
+ float: "unset",
620
+ // Fix conflict with bootstrap
621
+ width: "auto",
622
+ // Fix conflict with bootstrap
623
+ overflow: "hidden"
624
+ }, !n.withLabel && {
625
+ padding: 0,
626
+ lineHeight: "11px",
627
+ // sync with `height` in `legend` styles
628
+ transition: t.transitions.create("width", {
629
+ duration: 150,
630
+ easing: t.transitions.easing.easeOut
631
+ })
632
+ }, n.withLabel && s({
633
+ display: "block",
634
+ // Fix conflict with normalize.css and sanitize.css
635
+ padding: 0,
636
+ height: 11,
637
+ // sync with `lineHeight` in `legend` styles
638
+ fontSize: "0.75em",
639
+ visibility: "hidden",
640
+ maxWidth: 0.01,
641
+ transition: t.transitions.create("max-width", {
642
+ duration: 50,
643
+ easing: t.transitions.easing.easeOut
644
+ }),
645
+ whiteSpace: "nowrap",
646
+ "& > span": {
647
+ paddingLeft: 5,
648
+ paddingRight: 5,
649
+ display: "inline-block",
650
+ opacity: 0,
651
+ visibility: "visible"
652
+ }
653
+ }, n.notched && {
654
+ maxWidth: "100%",
655
+ transition: t.transitions.create("max-width", {
656
+ duration: 100,
657
+ easing: t.transitions.easing.easeOut,
658
+ delay: 50
659
+ })
660
+ })));
661
+ function fn(n) {
662
+ const {
663
+ className: t,
664
+ label: o,
665
+ notched: a
666
+ } = n, f = z(n, Qn), u = o != null && o !== "", c = s({}, n, {
667
+ notched: a,
668
+ withLabel: u
669
+ });
670
+ return /* @__PURE__ */ w(Zn, s({
671
+ "aria-hidden": !0,
672
+ className: t,
673
+ ownerState: c
674
+ }, f, {
675
+ children: /* @__PURE__ */ w(et, {
676
+ ownerState: c,
677
+ children: u ? /* @__PURE__ */ w("span", {
678
+ children: o
679
+ }) : (
680
+ // notranslate needed while Google Translate will not fix zero-width space issue
681
+ Ke || (Ke = /* @__PURE__ */ w("span", {
682
+ className: "notranslate",
683
+ children: "​"
684
+ }))
685
+ )
686
+ })
687
+ }));
688
+ }
689
+ process.env.NODE_ENV !== "production" && (fn.propTypes = {
690
+ /**
691
+ * The content of the component.
692
+ */
693
+ children: e.node,
694
+ /**
695
+ * Override or extend the styles applied to the component.
696
+ * See [CSS API](#css) below for more details.
697
+ */
698
+ classes: e.object,
699
+ /**
700
+ * @ignore
701
+ */
702
+ className: e.string,
703
+ /**
704
+ * The label.
705
+ */
706
+ label: e.node,
707
+ /**
708
+ * If `true`, the outline is notched to accommodate the label.
709
+ */
710
+ notched: e.bool.isRequired,
711
+ /**
712
+ * @ignore
713
+ */
714
+ style: e.object
715
+ });
716
+ function nt(n) {
717
+ return ae("MuiOutlinedInput", n);
718
+ }
719
+ const ee = s({}, rn, ie("MuiOutlinedInput", ["root", "notchedOutline", "input"])), tt = ["components", "fullWidth", "inputComponent", "label", "multiline", "notched", "slots", "type"], ot = (n) => {
709
720
  const {
710
721
  classes: t
711
- } = n;
712
- return ce({
722
+ } = n, a = se({
713
723
  root: ["root"],
714
- paper: ["paper"],
715
- list: ["list"]
716
- }, Jn, t);
717
- }, ot = V(on, {
718
- shouldForwardProp: (n) => Pe(n) || n === "classes",
719
- name: "MuiMenu",
724
+ notchedOutline: ["notchedOutline"],
725
+ input: ["input"]
726
+ }, nt, t);
727
+ return s({}, t, a);
728
+ }, rt = j(sn, {
729
+ shouldForwardProp: (n) => fe(n) || n === "classes",
730
+ name: "MuiOutlinedInput",
720
731
  slot: "Root",
721
- overridesResolver: (n, t) => t.root
722
- })({}), rt = V(Ze, {
723
- name: "MuiMenu",
724
- slot: "Paper",
725
- overridesResolver: (n, t) => t.paper
726
- })({
727
- // specZ: The maximum height of a simple menu should be one or more rows less than the view
728
- // height. This ensures a tapable area outside of the simple menu with which to dismiss
729
- // the menu.
730
- maxHeight: "calc(100% - 96px)",
731
- // Add iOS momentum scrolling for iOS < 13.0
732
- WebkitOverflowScrolling: "touch"
733
- }), it = V(tn, {
734
- name: "MuiMenu",
735
- slot: "List",
736
- overridesResolver: (n, t) => t.list
737
- })({
738
- // We disable the focus ring for mouse, touch and keyboard users.
739
- outline: 0
740
- }), rn = /* @__PURE__ */ i.forwardRef(function(t, o) {
741
- const s = Ee({
732
+ overridesResolver: an
733
+ })(({
734
+ theme: n,
735
+ ownerState: t
736
+ }) => {
737
+ const o = n.palette.mode === "light" ? "rgba(0, 0, 0, 0.23)" : "rgba(255, 255, 255, 0.23)";
738
+ return s({
739
+ position: "relative",
740
+ borderRadius: (n.vars || n).shape.borderRadius,
741
+ [`&:hover .${ee.notchedOutline}`]: {
742
+ borderColor: (n.vars || n).palette.text.primary
743
+ },
744
+ // Reset on touch devices, it doesn't add specificity
745
+ "@media (hover: none)": {
746
+ [`&:hover .${ee.notchedOutline}`]: {
747
+ borderColor: n.vars ? `rgba(${n.vars.palette.common.onBackgroundChannel} / 0.23)` : o
748
+ }
749
+ },
750
+ [`&.${ee.focused} .${ee.notchedOutline}`]: {
751
+ borderColor: (n.vars || n).palette[t.color].main,
752
+ borderWidth: 2
753
+ },
754
+ [`&.${ee.error} .${ee.notchedOutline}`]: {
755
+ borderColor: (n.vars || n).palette.error.main
756
+ },
757
+ [`&.${ee.disabled} .${ee.notchedOutline}`]: {
758
+ borderColor: (n.vars || n).palette.action.disabled
759
+ }
760
+ }, t.startAdornment && {
761
+ paddingLeft: 14
762
+ }, t.endAdornment && {
763
+ paddingRight: 14
764
+ }, t.multiline && s({
765
+ padding: "16.5px 14px"
766
+ }, t.size === "small" && {
767
+ padding: "8.5px 14px"
768
+ }));
769
+ }), it = j(fn, {
770
+ name: "MuiOutlinedInput",
771
+ slot: "NotchedOutline",
772
+ overridesResolver: (n, t) => t.notchedOutline
773
+ })(({
774
+ theme: n
775
+ }) => {
776
+ const t = n.palette.mode === "light" ? "rgba(0, 0, 0, 0.23)" : "rgba(255, 255, 255, 0.23)";
777
+ return {
778
+ borderColor: n.vars ? `rgba(${n.vars.palette.common.onBackgroundChannel} / 0.23)` : t
779
+ };
780
+ }), st = j(ln, {
781
+ name: "MuiOutlinedInput",
782
+ slot: "Input",
783
+ overridesResolver: un
784
+ })(({
785
+ theme: n,
786
+ ownerState: t
787
+ }) => s({
788
+ padding: "16.5px 14px"
789
+ }, !n.vars && {
790
+ "&:-webkit-autofill": {
791
+ WebkitBoxShadow: n.palette.mode === "light" ? null : "0 0 0 100px #266798 inset",
792
+ WebkitTextFillColor: n.palette.mode === "light" ? null : "#fff",
793
+ caretColor: n.palette.mode === "light" ? null : "#fff",
794
+ borderRadius: "inherit"
795
+ }
796
+ }, n.vars && {
797
+ "&:-webkit-autofill": {
798
+ borderRadius: "inherit"
799
+ },
800
+ [n.getColorSchemeSelector("dark")]: {
801
+ "&:-webkit-autofill": {
802
+ WebkitBoxShadow: "0 0 0 100px #266798 inset",
803
+ WebkitTextFillColor: "#fff",
804
+ caretColor: "#fff"
805
+ }
806
+ }
807
+ }, t.size === "small" && {
808
+ padding: "8.5px 14px"
809
+ }, t.multiline && {
810
+ padding: 0
811
+ }, t.startAdornment && {
812
+ paddingLeft: 0
813
+ }, t.endAdornment && {
814
+ paddingRight: 0
815
+ })), je = /* @__PURE__ */ r.forwardRef(function(t, o) {
816
+ var a, f, u, c, p;
817
+ const b = pe({
742
818
  props: t,
743
- name: "MuiMenu"
819
+ name: "MuiOutlinedInput"
744
820
  }), {
745
- autoFocus: b = !0,
746
- children: l,
747
- disableAutoFocusItem: u = !1,
748
- MenuListProps: d = {},
749
- onClose: P,
750
- open: x,
751
- PaperProps: N = {},
752
- PopoverClasses: F,
753
- transitionDuration: k = "auto",
754
- TransitionProps: {
755
- onEntering: f
756
- } = {},
757
- variant: I = "selectedMenu"
758
- } = s, O = X(s.TransitionProps, Qn), w = X(s, Zn), E = Je(), T = E.direction === "rtl", a = c({}, s, {
759
- autoFocus: b,
760
- disableAutoFocusItem: u,
761
- MenuListProps: d,
762
- onEntering: f,
763
- PaperProps: N,
764
- transitionDuration: k,
765
- TransitionProps: O,
766
- variant: I
767
- }), p = tt(a), R = b && !u && x, S = i.useRef(null), g = (M, A) => {
768
- S.current && S.current.adjustStyleForScrollbar(M, E), f && f(M, A);
769
- }, _ = (M) => {
770
- M.key === "Tab" && (M.preventDefault(), P && P(M, "tabKeyDown"));
771
- };
772
- let L = -1;
773
- return i.Children.map(l, (M, A) => {
774
- /* @__PURE__ */ i.isValidElement(M) && (process.env.NODE_ENV !== "production" && Ne.isFragment(M) && console.error(["MUI: The Menu component doesn't accept a Fragment as a child.", "Consider providing an array instead."].join(`
775
- `)), M.props.disabled || (I === "selectedMenu" && M.props.selected || L === -1) && (L = A));
776
- }), /* @__PURE__ */ $(ot, c({
777
- onClose: P,
778
- anchorOrigin: {
779
- vertical: "bottom",
780
- horizontal: T ? "right" : "left"
821
+ components: P = {},
822
+ fullWidth: F = !1,
823
+ inputComponent: $ = "input",
824
+ label: M,
825
+ multiline: m = !1,
826
+ notched: I,
827
+ slots: v = {},
828
+ type: N = "text"
829
+ } = b, y = z(b, tt), R = ot(b), d = pn(), l = dn({
830
+ props: b,
831
+ muiFormControl: d,
832
+ states: ["required"]
833
+ }), T = s({}, b, {
834
+ color: l.color || "primary",
835
+ disabled: l.disabled,
836
+ error: l.error,
837
+ focused: l.focused,
838
+ formControl: d,
839
+ fullWidth: F,
840
+ hiddenLabel: l.hiddenLabel,
841
+ multiline: m,
842
+ size: l.size,
843
+ type: N
844
+ }), S = (a = (f = v.root) != null ? f : P.Root) != null ? a : rt, h = (u = (c = v.input) != null ? c : P.Input) != null ? u : st;
845
+ return /* @__PURE__ */ w(cn, s({
846
+ slots: {
847
+ root: S,
848
+ input: h
781
849
  },
782
- transformOrigin: T ? et : nt,
783
- PaperProps: c({
784
- as: rt
785
- }, N, {
786
- classes: c({}, N.classes, {
787
- root: p.paper
788
- })
850
+ renderSuffix: (L) => /* @__PURE__ */ w(it, {
851
+ ownerState: T,
852
+ className: R.notchedOutline,
853
+ label: M != null && M !== "" && l.required ? p || (p = /* @__PURE__ */ De(r.Fragment, {
854
+ children: [M, " ", "*"]
855
+ })) : M,
856
+ notched: typeof I < "u" ? I : !!(L.startAdornment || L.filled || L.focused)
789
857
  }),
790
- className: p.root,
791
- open: x,
858
+ fullWidth: F,
859
+ inputComponent: $,
860
+ multiline: m,
792
861
  ref: o,
793
- transitionDuration: k,
794
- TransitionProps: c({
795
- onEntering: g
796
- }, O),
797
- ownerState: a
798
- }, w, {
799
- classes: F,
800
- children: /* @__PURE__ */ $(it, c({
801
- onKeyDown: _,
802
- actions: S,
803
- autoFocus: b && (L === -1 || u),
804
- autoFocusItem: R,
805
- variant: I
806
- }, d, {
807
- className: oe(p.list, d.className),
808
- children: l
809
- }))
862
+ type: N
863
+ }, y, {
864
+ classes: s({}, R, {
865
+ notchedOutline: null
866
+ })
810
867
  }));
811
868
  });
812
- process.env.NODE_ENV !== "production" && (rn.propTypes = {
869
+ process.env.NODE_ENV !== "production" && (je.propTypes = {
813
870
  // ----------------------------- Warning --------------------------------
814
871
  // | These PropTypes are generated from the TypeScript type definitions |
815
872
  // | To update them edit the d.ts file and run "yarn proptypes" |
816
873
  // ----------------------------------------------------------------------
817
874
  /**
818
- * An HTML element, or a function that returns one.
819
- * It's used to set the position of the menu.
875
+ * This prop helps users to fill forms faster, especially on mobile devices.
876
+ * The name can be confusing, as it's more like an autofill.
877
+ * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).
820
878
  */
821
- anchorEl: e.oneOfType([Me, e.func]),
879
+ autoComplete: e.string,
822
880
  /**
823
- * If `true` (Default) will focus the `[role="menu"]` if no focusable child is found. Disabled
824
- * children are not focusable. If you set this prop to `false` focus will be placed
825
- * on the parent modal container. This has severe accessibility implications
826
- * and should only be considered if you manage focus otherwise.
827
- * @default true
881
+ * If `true`, the `input` element is focused during the first mount.
828
882
  */
829
883
  autoFocus: e.bool,
830
- /**
831
- * Menu contents, normally `MenuItem`s.
832
- */
833
- children: e.node,
834
884
  /**
835
885
  * Override or extend the styles applied to the component.
836
886
  */
837
887
  classes: e.object,
838
888
  /**
839
- * When opening the menu will not focus the active item but the `[role="menu"]`
840
- * unless `autoFocus` is also set to `false`. Not using the default means not
841
- * following WAI-ARIA authoring practices. Please be considerate about possible
842
- * accessibility implications.
843
- * @default false
889
+ * The color of the component.
890
+ * It supports both default and custom theme colors, which can be added as shown in the
891
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#adding-new-colors).
892
+ * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.
844
893
  */
845
- disableAutoFocusItem: e.bool,
894
+ color: e.oneOfType([e.oneOf(["primary", "secondary"]), e.string]),
846
895
  /**
847
- * Props applied to the [`MenuList`](/material-ui/api/menu-list/) element.
896
+ * The components used for each slot inside.
897
+ *
898
+ * This prop is an alias for the `slots` prop.
899
+ * It's recommended to use the `slots` prop instead.
900
+ *
848
901
  * @default {}
849
902
  */
850
- MenuListProps: e.object,
903
+ components: e.shape({
904
+ Input: e.elementType,
905
+ Root: e.elementType
906
+ }),
851
907
  /**
852
- * Callback fired when the component requests to be closed.
853
- *
854
- * @param {object} event The event source of the callback.
855
- * @param {string} reason Can be: `"escapeKeyDown"`, `"backdropClick"`, `"tabKeyDown"`.
908
+ * The default value. Use when the component is not controlled.
856
909
  */
857
- onClose: e.func,
910
+ defaultValue: e.any,
858
911
  /**
859
- * If `true`, the component is shown.
912
+ * If `true`, the component is disabled.
913
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
860
914
  */
861
- open: e.bool.isRequired,
915
+ disabled: e.bool,
862
916
  /**
863
- * @ignore
917
+ * End `InputAdornment` for this component.
864
918
  */
865
- PaperProps: e.object,
919
+ endAdornment: e.node,
866
920
  /**
867
- * `classes` prop applied to the [`Popover`](/material-ui/api/popover/) element.
921
+ * If `true`, the `input` will indicate an error.
922
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
868
923
  */
869
- PopoverClasses: e.object,
924
+ error: e.bool,
870
925
  /**
871
- * The system prop that allows defining system overrides as well as additional CSS styles.
926
+ * If `true`, the `input` will take up the full width of its container.
927
+ * @default false
872
928
  */
873
- sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
929
+ fullWidth: e.bool,
874
930
  /**
875
- * The length of the transition in `ms`, or 'auto'
876
- * @default 'auto'
931
+ * The id of the `input` element.
877
932
  */
878
- transitionDuration: e.oneOfType([e.oneOf(["auto"]), e.number, e.shape({
879
- appear: e.number,
880
- enter: e.number,
881
- exit: e.number
882
- })]),
933
+ id: e.string,
883
934
  /**
884
- * Props applied to the transition element.
885
- * By default, the element is based on this [`Transition`](http://reactcommunity.org/react-transition-group/transition/) component.
935
+ * The component used for the `input` element.
936
+ * Either a string to use a HTML element or a component.
937
+ * @default 'input'
938
+ */
939
+ inputComponent: e.elementType,
940
+ /**
941
+ * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
886
942
  * @default {}
887
943
  */
888
- TransitionProps: e.object,
944
+ inputProps: e.object,
889
945
  /**
890
- * The variant to use. Use `menu` to prevent selected items from impacting the initial focus.
891
- * @default 'selectedMenu'
892
- */
893
- variant: e.oneOf(["menu", "selectedMenu"])
894
- });
895
- function st(n) {
896
- return ue("MuiNativeSelect", n);
897
- }
898
- const De = le("MuiNativeSelect", ["root", "select", "multiple", "filled", "outlined", "standard", "disabled", "icon", "iconOpen", "iconFilled", "iconOutlined", "iconStandard", "nativeInput"]), at = ["className", "disabled", "IconComponent", "inputRef", "variant"], lt = (n) => {
899
- const {
900
- classes: t,
901
- variant: o,
902
- disabled: s,
903
- multiple: b,
904
- open: l
905
- } = n, u = {
906
- select: ["select", o, s && "disabled", b && "multiple"],
907
- icon: ["icon", `icon${Re(o)}`, l && "iconOpen", s && "disabled"]
908
- };
909
- return ce(u, st, t);
910
- }, sn = ({
911
- ownerState: n,
912
- theme: t
913
- }) => c({
914
- MozAppearance: "none",
915
- // Reset
916
- WebkitAppearance: "none",
917
- // Reset
918
- // When interacting quickly, the text can end up selected.
919
- // Native select can't be selected either.
920
- userSelect: "none",
921
- borderRadius: 0,
922
- // Reset
923
- cursor: "pointer",
924
- "&:focus": c({}, t.vars ? {
925
- backgroundColor: `rgba(${t.vars.palette.common.onBackgroundChannel} / 0.05)`
926
- } : {
927
- backgroundColor: t.palette.mode === "light" ? "rgba(0, 0, 0, 0.05)" : "rgba(255, 255, 255, 0.05)"
928
- }, {
929
- borderRadius: 0
930
- // Reset Chrome style
931
- }),
932
- // Remove IE11 arrow
933
- "&::-ms-expand": {
934
- display: "none"
935
- },
936
- [`&.${De.disabled}`]: {
937
- cursor: "default"
938
- },
939
- "&[multiple]": {
940
- height: "auto"
941
- },
942
- "&:not([multiple]) option, &:not([multiple]) optgroup": {
943
- backgroundColor: (t.vars || t).palette.background.paper
944
- },
945
- // Bump specificity to allow extending custom inputs
946
- "&&&": {
947
- paddingRight: 24,
948
- minWidth: 16
949
- // So it doesn't collapse.
950
- }
951
- }, n.variant === "filled" && {
952
- "&&&": {
953
- paddingRight: 32
954
- }
955
- }, n.variant === "outlined" && {
956
- borderRadius: (t.vars || t).shape.borderRadius,
957
- "&:focus": {
958
- borderRadius: (t.vars || t).shape.borderRadius
959
- // Reset the reset for Chrome style
960
- },
961
- "&&&": {
962
- paddingRight: 32
963
- }
964
- }), ct = V("select", {
965
- name: "MuiNativeSelect",
966
- slot: "Select",
967
- shouldForwardProp: Pe,
968
- overridesResolver: (n, t) => {
969
- const {
970
- ownerState: o
971
- } = n;
972
- return [t.select, t[o.variant], {
973
- [`&.${De.multiple}`]: t.multiple
974
- }];
975
- }
976
- })(sn), an = ({
977
- ownerState: n,
978
- theme: t
979
- }) => c({
980
- // We use a position absolute over a flexbox in order to forward the pointer events
981
- // to the input and to support wrapping tags..
982
- position: "absolute",
983
- right: 0,
984
- top: "calc(50% - .5em)",
985
- // Center vertically, height is 1em
986
- pointerEvents: "none",
987
- // Don't block pointer events on the select under the icon.
988
- color: (t.vars || t).palette.action.active,
989
- [`&.${De.disabled}`]: {
990
- color: (t.vars || t).palette.action.disabled
991
- }
992
- }, n.open && {
993
- transform: "rotate(180deg)"
994
- }, n.variant === "filled" && {
995
- right: 7
996
- }, n.variant === "outlined" && {
997
- right: 7
998
- }), ut = V("svg", {
999
- name: "MuiNativeSelect",
1000
- slot: "Icon",
1001
- overridesResolver: (n, t) => {
1002
- const {
1003
- ownerState: o
1004
- } = n;
1005
- return [t.icon, o.variant && t[`icon${Re(o.variant)}`], o.open && t.iconOpen];
1006
- }
1007
- })(an), ln = /* @__PURE__ */ i.forwardRef(function(t, o) {
1008
- const {
1009
- className: s,
1010
- disabled: b,
1011
- IconComponent: l,
1012
- inputRef: u,
1013
- variant: d = "standard"
1014
- } = t, P = X(t, at), x = c({}, t, {
1015
- disabled: b,
1016
- variant: d
1017
- }), N = lt(x);
1018
- return /* @__PURE__ */ Qe(i.Fragment, {
1019
- children: [/* @__PURE__ */ $(ct, c({
1020
- ownerState: x,
1021
- className: oe(N.select, s),
1022
- disabled: b,
1023
- ref: u || o
1024
- }, P)), t.multiple ? null : /* @__PURE__ */ $(ut, {
1025
- as: l,
1026
- ownerState: x,
1027
- className: N.icon
1028
- })]
1029
- });
1030
- });
1031
- process.env.NODE_ENV !== "production" && (ln.propTypes = {
1032
- /**
1033
- * The option elements to populate the select with.
1034
- * Can be some `<option>` elements.
946
+ * Pass a ref to the `input` element.
1035
947
  */
1036
- children: e.node,
948
+ inputRef: be,
1037
949
  /**
1038
- * Override or extend the styles applied to the component.
1039
- * See [CSS API](#css) below for more details.
950
+ * The label of the `input`. It is only used for layout. The actual labelling
951
+ * is handled by `InputLabel`.
1040
952
  */
1041
- classes: e.object,
953
+ label: e.node,
1042
954
  /**
1043
- * The CSS class name of the select element.
955
+ * If `dense`, will adjust vertical spacing. This is normally obtained via context from
956
+ * FormControl.
957
+ * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.
1044
958
  */
1045
- className: e.string,
959
+ margin: e.oneOf(["dense", "none"]),
1046
960
  /**
1047
- * If `true`, the select is disabled.
961
+ * Maximum number of rows to display when multiline option is set to true.
1048
962
  */
1049
- disabled: e.bool,
963
+ maxRows: e.oneOfType([e.number, e.string]),
1050
964
  /**
1051
- * The icon that displays the arrow.
965
+ * Minimum number of rows to display when multiline option is set to true.
1052
966
  */
1053
- IconComponent: e.elementType.isRequired,
967
+ minRows: e.oneOfType([e.number, e.string]),
1054
968
  /**
1055
- * Use that prop to pass a ref to the native select element.
1056
- * @deprecated
969
+ * If `true`, a [TextareaAutosize](/material-ui/react-textarea-autosize/) element is rendered.
970
+ * @default false
1057
971
  */
1058
- inputRef: Oe,
972
+ multiline: e.bool,
1059
973
  /**
1060
- * @ignore
974
+ * Name attribute of the `input` element.
1061
975
  */
1062
- multiple: e.bool,
976
+ name: e.string,
1063
977
  /**
1064
- * Name attribute of the `select` or hidden `input` element.
978
+ * If `true`, the outline is notched to accommodate the label.
1065
979
  */
1066
- name: e.string,
980
+ notched: e.bool,
1067
981
  /**
1068
- * Callback fired when a menu item is selected.
982
+ * Callback fired when the value is changed.
1069
983
  *
1070
- * @param {object} event The event source of the callback.
984
+ * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.
1071
985
  * You can pull out the new value by accessing `event.target.value` (string).
1072
986
  */
1073
987
  onChange: e.func,
1074
988
  /**
1075
- * The input value.
989
+ * The short hint displayed in the `input` before the user enters a value.
1076
990
  */
1077
- value: e.any,
991
+ placeholder: e.string,
1078
992
  /**
1079
- * The variant to use.
993
+ * It prevents the user from changing the value of the field
994
+ * (not from interacting with the field).
1080
995
  */
1081
- variant: e.oneOf(["standard", "outlined", "filled"])
996
+ readOnly: e.bool,
997
+ /**
998
+ * If `true`, the `input` element is required.
999
+ * The prop defaults to the value (`false`) inherited from the parent FormControl component.
1000
+ */
1001
+ required: e.bool,
1002
+ /**
1003
+ * Number of rows to display when multiline option is set to true.
1004
+ */
1005
+ rows: e.oneOfType([e.number, e.string]),
1006
+ /**
1007
+ * The components used for each slot inside.
1008
+ *
1009
+ * This prop is an alias for the `components` prop, which will be deprecated in the future.
1010
+ *
1011
+ * @default {}
1012
+ */
1013
+ slots: e.shape({
1014
+ input: e.elementType,
1015
+ root: e.elementType
1016
+ }),
1017
+ /**
1018
+ * Start `InputAdornment` for this component.
1019
+ */
1020
+ startAdornment: e.node,
1021
+ /**
1022
+ * The system prop that allows defining system overrides as well as additional CSS styles.
1023
+ */
1024
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
1025
+ /**
1026
+ * 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).
1027
+ * @default 'text'
1028
+ */
1029
+ type: e.string,
1030
+ /**
1031
+ * The value of the `input` element, required for a controlled component.
1032
+ */
1033
+ value: e.any
1082
1034
  });
1083
- function pt(n) {
1084
- return ue("MuiSelect", n);
1035
+ je.muiName = "Input";
1036
+ const at = ["actions", "autoFocus", "autoFocusItem", "children", "className", "disabledItemsFocusable", "disableListWrap", "onKeyDown", "variant"];
1037
+ function we(n, t, o) {
1038
+ return n === t ? n.firstChild : t && t.nextElementSibling ? t.nextElementSibling : o ? null : n.firstChild;
1085
1039
  }
1086
- const ve = le("MuiSelect", ["select", "multiple", "filled", "outlined", "standard", "disabled", "focused", "icon", "iconOpen", "iconFilled", "iconOutlined", "iconStandard", "nativeInput"]);
1087
- var qe;
1088
- const dt = ["aria-describedby", "aria-label", "autoFocus", "autoWidth", "children", "className", "defaultOpen", "defaultValue", "disabled", "displayEmpty", "IconComponent", "inputRef", "labelId", "MenuProps", "multiple", "name", "onBlur", "onChange", "onClose", "onFocus", "onOpen", "open", "readOnly", "renderValue", "SelectDisplayProps", "tabIndex", "type", "value", "variant"], ft = V("div", {
1089
- name: "MuiSelect",
1090
- slot: "Select",
1091
- overridesResolver: (n, t) => {
1092
- const {
1093
- ownerState: o
1094
- } = n;
1095
- return [
1096
- // Win specificity over the input base
1097
- {
1098
- [`&.${ve.select}`]: t.select
1099
- },
1100
- {
1101
- [`&.${ve.select}`]: t[o.variant]
1102
- },
1103
- {
1104
- [`&.${ve.multiple}`]: t.multiple
1105
- }
1106
- ];
1107
- }
1108
- })(sn, {
1109
- // Win specificity over the input base
1110
- [`&.${ve.select}`]: {
1111
- height: "auto",
1112
- // Resets for multiple select with chips
1113
- minHeight: "1.4375em",
1114
- // Required for select\text-field height consistency
1115
- textOverflow: "ellipsis",
1116
- whiteSpace: "nowrap",
1117
- overflow: "hidden"
1118
- }
1119
- }), mt = V("svg", {
1120
- name: "MuiSelect",
1121
- slot: "Icon",
1122
- overridesResolver: (n, t) => {
1123
- const {
1124
- ownerState: o
1125
- } = n;
1126
- return [t.icon, o.variant && t[`icon${Re(o.variant)}`], o.open && t.iconOpen];
1127
- }
1128
- })(an), bt = V("input", {
1129
- shouldForwardProp: (n) => vn(n) && n !== "classes",
1130
- name: "MuiSelect",
1131
- slot: "NativeInput",
1132
- overridesResolver: (n, t) => t.nativeInput
1133
- })({
1134
- bottom: 0,
1135
- left: 0,
1136
- position: "absolute",
1137
- opacity: 0,
1138
- pointerEvents: "none",
1139
- width: "100%",
1140
- boxSizing: "border-box"
1141
- });
1142
- function Ge(n, t) {
1143
- return typeof t == "object" && t !== null ? n === t : String(n) === String(t);
1040
+ function qe(n, t, o) {
1041
+ return n === t ? o ? n.firstChild : n.lastChild : t && t.previousElementSibling ? t.previousElementSibling : o ? null : n.lastChild;
1144
1042
  }
1145
- function ht(n) {
1146
- return n == null || typeof n == "string" && !n.trim();
1043
+ function mn(n, t) {
1044
+ if (t === void 0)
1045
+ return !0;
1046
+ let o = n.innerText;
1047
+ return o === void 0 && (o = n.textContent), o = o.trim().toLowerCase(), o.length === 0 ? !1 : t.repeating ? o[0] === t.keys[0] : o.indexOf(t.keys.join("")) === 0;
1147
1048
  }
1148
- const gt = (n) => {
1149
- const {
1150
- classes: t,
1151
- variant: o,
1152
- disabled: s,
1153
- multiple: b,
1154
- open: l
1155
- } = n, u = {
1156
- select: ["select", o, s && "disabled", b && "multiple"],
1157
- icon: ["icon", `icon${Re(o)}`, l && "iconOpen", s && "disabled"],
1158
- nativeInput: ["nativeInput"]
1159
- };
1160
- return ce(u, pt, t);
1161
- }, cn = /* @__PURE__ */ i.forwardRef(function(t, o) {
1162
- const {
1163
- "aria-describedby": s,
1164
- "aria-label": b,
1165
- autoFocus: l,
1166
- autoWidth: u,
1167
- children: d,
1168
- className: P,
1169
- defaultOpen: x,
1170
- defaultValue: N,
1171
- disabled: F,
1172
- displayEmpty: k,
1173
- IconComponent: f,
1174
- inputRef: I,
1175
- labelId: O,
1176
- MenuProps: w = {},
1177
- multiple: E,
1178
- name: T,
1179
- onBlur: a,
1180
- onChange: p,
1181
- onClose: R,
1182
- onFocus: S,
1183
- onOpen: g,
1184
- open: _,
1185
- readOnly: L,
1186
- renderValue: M,
1187
- SelectDisplayProps: A = {},
1188
- tabIndex: J,
1189
- value: z,
1190
- variant: K = "standard"
1191
- } = t, h = X(t, dt), [m, B] = We({
1192
- controlled: z,
1193
- default: N,
1194
- name: "Select"
1195
- }), [H, W] = We({
1196
- controlled: _,
1197
- default: x,
1198
- name: "Select"
1199
- }), v = i.useRef(null), C = i.useRef(null), [D, Y] = i.useState(null), {
1200
- current: q
1201
- } = i.useRef(_ != null), [Q, re] = i.useState(), de = pe(o, I), fe = i.useCallback((r) => {
1202
- C.current = r, r && Y(r);
1203
- }, []), G = D == null ? void 0 : D.parentNode;
1204
- i.useImperativeHandle(de, () => ({
1205
- focus: () => {
1206
- C.current.focus();
1207
- },
1208
- node: v.current,
1209
- value: m
1210
- }), [m]), i.useEffect(() => {
1211
- x && H && D && !q && (re(u ? null : G.clientWidth), C.current.focus());
1212
- }, [D, u]), i.useEffect(() => {
1213
- l && C.current.focus();
1214
- }, [l]), i.useEffect(() => {
1215
- if (!O)
1216
- return;
1217
- const r = ae(C.current).getElementById(O);
1218
- if (r) {
1219
- const y = () => {
1220
- getSelection().isCollapsed && C.current.focus();
1221
- };
1222
- return r.addEventListener("click", y), () => {
1223
- r.removeEventListener("click", y);
1224
- };
1049
+ function ce(n, t, o, a, f, u) {
1050
+ let c = !1, p = f(n, t, t ? o : !1);
1051
+ for (; p; ) {
1052
+ if (p === n.firstChild) {
1053
+ if (c)
1054
+ return !1;
1055
+ c = !0;
1225
1056
  }
1226
- }, [O]);
1227
- const ee = (r, y) => {
1228
- r ? g && g(y) : R && R(y), q || (re(u ? null : G.clientWidth), W(r));
1229
- }, U = (r) => {
1230
- r.button === 0 && (r.preventDefault(), C.current.focus(), ee(!0, r));
1231
- }, pn = (r) => {
1232
- ee(!1, r);
1233
- }, ie = i.Children.toArray(d), dn = (r) => {
1234
- const y = ie.map((Z) => Z.props.value).indexOf(r.target.value);
1235
- if (y === -1)
1236
- return;
1237
- const j = ie[y];
1238
- B(j.props.value), p && p(r, j);
1239
- }, fn = (r) => (y) => {
1240
- let j;
1241
- if (y.currentTarget.hasAttribute("tabindex")) {
1242
- if (E) {
1243
- j = Array.isArray(m) ? m.slice() : [];
1244
- const Z = m.indexOf(r.props.value);
1245
- Z === -1 ? j.push(r.props.value) : j.splice(Z, 1);
1246
- } else
1247
- j = r.props.value;
1248
- if (r.props.onClick && r.props.onClick(y), m !== j && (B(j), p)) {
1249
- const Z = y.nativeEvent || y, Ae = new Z.constructor(Z.type, Z);
1250
- Object.defineProperty(Ae, "target", {
1251
- writable: !0,
1252
- value: {
1253
- value: j,
1254
- name: T
1255
- }
1256
- }), p(Ae, r);
1057
+ const b = a ? !1 : p.disabled || p.getAttribute("aria-disabled") === "true";
1058
+ if (!p.hasAttribute("tabindex") || !mn(p, u) || b)
1059
+ p = f(n, p, o);
1060
+ else
1061
+ return p.focus(), !0;
1062
+ }
1063
+ return !1;
1064
+ }
1065
+ const bn = /* @__PURE__ */ r.forwardRef(function(t, o) {
1066
+ const {
1067
+ // private
1068
+ // eslint-disable-next-line react/prop-types
1069
+ actions: a,
1070
+ autoFocus: f = !1,
1071
+ autoFocusItem: u = !1,
1072
+ children: c,
1073
+ className: p,
1074
+ disabledItemsFocusable: b = !1,
1075
+ disableListWrap: P = !1,
1076
+ onKeyDown: F,
1077
+ variant: $ = "selectedMenu"
1078
+ } = t, M = z(t, at), m = r.useRef(null), I = r.useRef({
1079
+ keys: [],
1080
+ repeating: !0,
1081
+ previousKeyMatched: !0,
1082
+ lastTime: null
1083
+ });
1084
+ jn(() => {
1085
+ f && m.current.focus();
1086
+ }, [f]), r.useImperativeHandle(a, () => ({
1087
+ adjustStyleForScrollbar: (d, l) => {
1088
+ const T = !m.current.style.width;
1089
+ if (d.clientHeight < m.current.clientHeight && T) {
1090
+ const S = `${$n(de(d))}px`;
1091
+ m.current.style[l.direction === "rtl" ? "paddingLeft" : "paddingRight"] = S, m.current.style.width = `calc(100% + ${S})`;
1257
1092
  }
1258
- E || ee(!1, y);
1093
+ return m.current;
1259
1094
  }
1260
- }, mn = (r) => {
1261
- L || [
1262
- " ",
1263
- "ArrowUp",
1264
- "ArrowDown",
1265
- // The native select doesn't respond to enter on macOS, but it's recommended by
1266
- // https://www.w3.org/WAI/ARIA/apg/patterns/combobox/examples/combobox-select-only/
1267
- "Enter"
1268
- ].indexOf(r.key) !== -1 && (r.preventDefault(), ee(!0, r));
1269
- }, me = D !== null && H, bn = (r) => {
1270
- !me && a && (Object.defineProperty(r, "target", {
1271
- writable: !0,
1272
- value: {
1273
- value: m,
1274
- name: T
1275
- }
1276
- }), a(r));
1277
- };
1278
- delete h["aria-invalid"];
1279
- let te, je;
1280
- const be = [];
1281
- let he = !1, Ce = !1;
1282
- (wn({
1283
- value: m
1284
- }) || k) && (M ? te = M(m) : he = !0);
1285
- const hn = ie.map((r) => {
1286
- if (!/* @__PURE__ */ i.isValidElement(r))
1287
- return null;
1288
- process.env.NODE_ENV !== "production" && Ne.isFragment(r) && console.error(["MUI: The Select component doesn't accept a Fragment as a child.", "Consider providing an array instead."].join(`
1289
- `));
1290
- let y;
1291
- if (E) {
1292
- if (!Array.isArray(m))
1293
- throw new Error(process.env.NODE_ENV !== "production" ? "MUI: The `value` prop must be an array when using the `Select` component with `multiple`." : Mn(2));
1294
- y = m.some((j) => Ge(j, r.props.value)), y && he && be.push(r.props.children);
1295
- } else
1296
- y = Ge(m, r.props.value), y && he && (je = r.props.children);
1297
- return y && (Ce = !0), /* @__PURE__ */ i.cloneElement(r, {
1298
- "aria-selected": y ? "true" : "false",
1299
- onClick: fn(r),
1300
- onKeyUp: (j) => {
1301
- j.key === " " && j.preventDefault(), r.props.onKeyUp && r.props.onKeyUp(j);
1302
- },
1303
- role: "option",
1304
- selected: y,
1305
- value: void 0,
1306
- // The value is most likely not a valid HTML attribute.
1307
- "data-value": r.props.value
1308
- // Instead, we provide it as a data attribute.
1309
- });
1095
+ }), []);
1096
+ const v = (d) => {
1097
+ const l = m.current, T = d.key, S = de(l).activeElement;
1098
+ if (T === "ArrowDown")
1099
+ d.preventDefault(), ce(l, S, P, b, we);
1100
+ else if (T === "ArrowUp")
1101
+ d.preventDefault(), ce(l, S, P, b, qe);
1102
+ else if (T === "Home")
1103
+ d.preventDefault(), ce(l, null, P, b, we);
1104
+ else if (T === "End")
1105
+ d.preventDefault(), ce(l, null, P, b, qe);
1106
+ else if (T.length === 1) {
1107
+ const h = I.current, L = T.toLowerCase(), A = performance.now();
1108
+ h.keys.length > 0 && (A - h.lastTime > 500 ? (h.keys = [], h.repeating = !0, h.previousKeyMatched = !0) : h.repeating && L !== h.keys[0] && (h.repeating = !1)), h.lastTime = A, h.keys.push(L);
1109
+ const D = S && !h.repeating && mn(S, h);
1110
+ h.previousKeyMatched && (D || ce(l, S, !1, b, we, h)) ? d.preventDefault() : h.previousKeyMatched = !1;
1111
+ }
1112
+ F && F(d);
1113
+ }, N = me(m, o);
1114
+ let y = -1;
1115
+ r.Children.forEach(c, (d, l) => {
1116
+ /* @__PURE__ */ r.isValidElement(d) && (process.env.NODE_ENV !== "production" && Fe.isFragment(d) && console.error(["MUI: The Menu component doesn't accept a Fragment as a child.", "Consider providing an array instead."].join(`
1117
+ `)), d.props.disabled || ($ === "selectedMenu" && d.props.selected || y === -1) && (y = l), y === l && (d.props.disabled || d.props.muiSkipListHighlight || d.type.muiSkipListHighlight) && (y += 1, y >= c.length && (y = -1)));
1310
1118
  });
1311
- process.env.NODE_ENV !== "production" && i.useEffect(() => {
1312
- if (!Ce && !E && m !== "") {
1313
- const r = ie.map((y) => y.props.value);
1314
- console.warn([`MUI: You have provided an out-of-range value \`${m}\` for the select ${T ? `(name="${T}") ` : ""}component.`, "Consider providing a value that matches one of the available options or ''.", `The available values are ${r.filter((y) => y != null).map((y) => `\`${y}\``).join(", ") || '""'}.`].join(`
1315
- `));
1119
+ const R = r.Children.map(c, (d, l) => {
1120
+ if (l === y) {
1121
+ const T = {};
1122
+ return u && (T.autoFocus = !0), d.props.tabIndex === void 0 && $ === "selectedMenu" && (T.tabIndex = 0), /* @__PURE__ */ r.cloneElement(d, T);
1316
1123
  }
1317
- }, [Ce, ie, E, T, m]), he && (E ? be.length === 0 ? te = null : te = be.reduce((r, y, j) => (r.push(y), j < be.length - 1 && r.push(", "), r), []) : te = je);
1318
- let Le = Q;
1319
- !u && q && D && (Le = G.clientWidth);
1320
- let Te;
1321
- typeof J < "u" ? Te = J : Te = F ? null : 0;
1322
- const _e = A.id || (T ? `mui-component-select-${T}` : void 0), ge = c({}, t, {
1323
- variant: K,
1324
- value: m,
1325
- open: me
1326
- }), Ie = gt(ge);
1327
- return /* @__PURE__ */ Qe(i.Fragment, {
1328
- children: [/* @__PURE__ */ $(ft, c({
1329
- ref: fe,
1330
- tabIndex: Te,
1331
- role: "button",
1332
- "aria-disabled": F ? "true" : void 0,
1333
- "aria-expanded": me ? "true" : "false",
1334
- "aria-haspopup": "listbox",
1335
- "aria-label": b,
1336
- "aria-labelledby": [O, _e].filter(Boolean).join(" ") || void 0,
1337
- "aria-describedby": s,
1338
- onKeyDown: mn,
1339
- onMouseDown: F || L ? null : U,
1340
- onBlur: bn,
1341
- onFocus: S
1342
- }, A, {
1343
- ownerState: ge,
1344
- className: oe(A.className, Ie.select, P),
1345
- id: _e,
1346
- children: ht(te) ? (
1347
- // notranslate needed while Google Translate will not fix zero-width space issue
1348
- qe || (qe = /* @__PURE__ */ $("span", {
1349
- className: "notranslate",
1350
- children: "​"
1351
- }))
1352
- ) : te
1353
- })), /* @__PURE__ */ $(bt, c({
1354
- value: Array.isArray(m) ? m.join(",") : m,
1355
- name: T,
1356
- ref: v,
1357
- "aria-hidden": !0,
1358
- onChange: dn,
1359
- tabIndex: -1,
1360
- disabled: F,
1361
- className: Ie.nativeInput,
1362
- autoFocus: l,
1363
- ownerState: ge
1364
- }, h)), /* @__PURE__ */ $(mt, {
1365
- as: f,
1366
- className: Ie.icon,
1367
- ownerState: ge
1368
- }), /* @__PURE__ */ $(rn, c({
1369
- id: `menu-${T || ""}`,
1370
- anchorEl: G,
1371
- open: me,
1372
- onClose: pn,
1373
- anchorOrigin: {
1374
- vertical: "bottom",
1375
- horizontal: "center"
1376
- },
1377
- transformOrigin: {
1378
- vertical: "top",
1379
- horizontal: "center"
1380
- }
1381
- }, w, {
1382
- MenuListProps: c({
1383
- "aria-labelledby": O,
1384
- role: "listbox",
1385
- disableListWrap: !0
1386
- }, w.MenuListProps),
1387
- PaperProps: c({}, w.PaperProps, {
1388
- style: c({
1389
- minWidth: Le
1390
- }, w.PaperProps != null ? w.PaperProps.style : null)
1391
- }),
1392
- children: hn
1393
- }))]
1124
+ return d;
1394
1125
  });
1126
+ return /* @__PURE__ */ w(Bn, s({
1127
+ role: "menu",
1128
+ ref: N,
1129
+ className: p,
1130
+ onKeyDown: v,
1131
+ tabIndex: f ? 0 : -1
1132
+ }, M, {
1133
+ children: R
1134
+ }));
1395
1135
  });
1396
- process.env.NODE_ENV !== "production" && (cn.propTypes = {
1136
+ process.env.NODE_ENV !== "production" && (bn.propTypes = {
1137
+ // ----------------------------- Warning --------------------------------
1138
+ // | These PropTypes are generated from the TypeScript type definitions |
1139
+ // | To update them edit the d.ts file and run "yarn proptypes" |
1140
+ // ----------------------------------------------------------------------
1141
+ /**
1142
+ * If `true`, will focus the `[role="menu"]` container and move into tab order.
1143
+ * @default false
1144
+ */
1145
+ autoFocus: e.bool,
1146
+ /**
1147
+ * If `true`, will focus the first menuitem if `variant="menu"` or selected item
1148
+ * if `variant="selectedMenu"`.
1149
+ * @default false
1150
+ */
1151
+ autoFocusItem: e.bool,
1152
+ /**
1153
+ * MenuList contents, normally `MenuItem`s.
1154
+ */
1155
+ children: e.node,
1397
1156
  /**
1398
1157
  * @ignore
1399
1158
  */
1400
- "aria-describedby": e.string,
1159
+ className: e.string,
1160
+ /**
1161
+ * If `true`, will allow focus on disabled items.
1162
+ * @default false
1163
+ */
1164
+ disabledItemsFocusable: e.bool,
1165
+ /**
1166
+ * If `true`, the menu items will not wrap focus.
1167
+ * @default false
1168
+ */
1169
+ disableListWrap: e.bool,
1401
1170
  /**
1402
1171
  * @ignore
1403
1172
  */
1404
- "aria-label": e.string,
1173
+ onKeyDown: e.func,
1174
+ /**
1175
+ * The variant to use. Use `menu` to prevent selected items from impacting the initial focus
1176
+ * and the vertical alignment relative to the anchor element.
1177
+ * @default 'selectedMenu'
1178
+ */
1179
+ variant: e.oneOf(["menu", "selectedMenu"])
1180
+ });
1181
+ function lt(n) {
1182
+ return ae("MuiPopover", n);
1183
+ }
1184
+ ie("MuiPopover", ["root", "paper"]);
1185
+ const ut = ["onEntering"], ct = ["action", "anchorEl", "anchorOrigin", "anchorPosition", "anchorReference", "children", "className", "container", "elevation", "marginThreshold", "open", "PaperProps", "transformOrigin", "TransitionComponent", "transitionDuration", "TransitionProps"];
1186
+ function Ge(n, t) {
1187
+ let o = 0;
1188
+ return typeof t == "number" ? o = t : t === "center" ? o = n.height / 2 : t === "bottom" && (o = n.height), o;
1189
+ }
1190
+ function Xe(n, t) {
1191
+ let o = 0;
1192
+ return typeof t == "number" ? o = t : t === "center" ? o = n.width / 2 : t === "right" && (o = n.width), o;
1193
+ }
1194
+ function Ye(n) {
1195
+ return [n.horizontal, n.vertical].map((t) => typeof t == "number" ? `${t}px` : t).join(" ");
1196
+ }
1197
+ function Re(n) {
1198
+ return typeof n == "function" ? n() : n;
1199
+ }
1200
+ const dt = (n) => {
1201
+ const {
1202
+ classes: t
1203
+ } = n;
1204
+ return se({
1205
+ root: ["root"],
1206
+ paper: ["paper"]
1207
+ }, lt, t);
1208
+ }, pt = j(kn, {
1209
+ name: "MuiPopover",
1210
+ slot: "Root",
1211
+ overridesResolver: (n, t) => t.root
1212
+ })({}), ft = j(tn, {
1213
+ name: "MuiPopover",
1214
+ slot: "Paper",
1215
+ overridesResolver: (n, t) => t.paper
1216
+ })({
1217
+ position: "absolute",
1218
+ overflowY: "auto",
1219
+ overflowX: "hidden",
1220
+ // So we see the popover when it's empty.
1221
+ // It's most likely on issue on userland.
1222
+ minWidth: 16,
1223
+ minHeight: 16,
1224
+ maxWidth: "calc(100% - 32px)",
1225
+ maxHeight: "calc(100% - 32px)",
1226
+ // We disable the focus ring for mouse, touch and keyboard users.
1227
+ outline: 0
1228
+ }), hn = /* @__PURE__ */ r.forwardRef(function(t, o) {
1229
+ const a = pe({
1230
+ props: t,
1231
+ name: "MuiPopover"
1232
+ }), {
1233
+ action: f,
1234
+ anchorEl: u,
1235
+ anchorOrigin: c = {
1236
+ vertical: "top",
1237
+ horizontal: "left"
1238
+ },
1239
+ anchorPosition: p,
1240
+ anchorReference: b = "anchorEl",
1241
+ children: P,
1242
+ className: F,
1243
+ container: $,
1244
+ elevation: M = 8,
1245
+ marginThreshold: m = 16,
1246
+ open: I,
1247
+ PaperProps: v = {},
1248
+ transformOrigin: N = {
1249
+ vertical: "top",
1250
+ horizontal: "left"
1251
+ },
1252
+ TransitionComponent: y = $e,
1253
+ transitionDuration: R = "auto",
1254
+ TransitionProps: {
1255
+ onEntering: d
1256
+ } = {}
1257
+ } = a, l = z(a.TransitionProps, ut), T = z(a, ct), S = r.useRef(), h = me(S, v.ref), L = s({}, a, {
1258
+ anchorOrigin: c,
1259
+ anchorReference: b,
1260
+ elevation: M,
1261
+ marginThreshold: m,
1262
+ PaperProps: v,
1263
+ transformOrigin: N,
1264
+ TransitionComponent: y,
1265
+ transitionDuration: R,
1266
+ TransitionProps: l
1267
+ }), A = dt(L), D = r.useCallback(() => {
1268
+ if (b === "anchorPosition")
1269
+ return process.env.NODE_ENV !== "production" && (p || console.error('MUI: You need to provide a `anchorPosition` prop when using <Popover anchorReference="anchorPosition" />.')), p;
1270
+ const E = Re(u), x = E && E.nodeType === 1 ? E : de(S.current).body, k = x.getBoundingClientRect();
1271
+ if (process.env.NODE_ENV !== "production") {
1272
+ const Y = x.getBoundingClientRect();
1273
+ process.env.NODE_ENV !== "test" && Y.top === 0 && Y.left === 0 && Y.right === 0 && Y.bottom === 0 && console.warn(["MUI: The `anchorEl` prop provided to the component is invalid.", "The anchor element should be part of the document layout.", "Make sure the element is present in the document or that it's not display none."].join(`
1274
+ `));
1275
+ }
1276
+ return {
1277
+ top: k.top + Ge(k, c.vertical),
1278
+ left: k.left + Xe(k, c.horizontal)
1279
+ };
1280
+ }, [u, c.horizontal, c.vertical, p, b]), W = r.useCallback((E) => ({
1281
+ vertical: Ge(E, N.vertical),
1282
+ horizontal: Xe(E, N.horizontal)
1283
+ }), [N.horizontal, N.vertical]), J = r.useCallback((E) => {
1284
+ const x = {
1285
+ width: E.offsetWidth,
1286
+ height: E.offsetHeight
1287
+ }, k = W(x);
1288
+ if (b === "none")
1289
+ return {
1290
+ top: null,
1291
+ left: null,
1292
+ transformOrigin: Ye(k)
1293
+ };
1294
+ const Y = D();
1295
+ let G = Y.top - k.vertical, Q = Y.left - k.horizontal;
1296
+ const le = G + x.height, he = Q + x.width, ge = Ue(Re(u)), X = ge.innerHeight - m, ne = ge.innerWidth - m;
1297
+ if (G < m) {
1298
+ const U = G - m;
1299
+ G -= U, k.vertical += U;
1300
+ } else if (le > X) {
1301
+ const U = le - X;
1302
+ G -= U, k.vertical += U;
1303
+ }
1304
+ if (process.env.NODE_ENV !== "production" && x.height > X && x.height && X && console.error(["MUI: The popover component is too tall.", `Some part of it can not be seen on the screen (${x.height - X}px).`, "Please consider adding a `max-height` to improve the user-experience."].join(`
1305
+ `)), Q < m) {
1306
+ const U = Q - m;
1307
+ Q -= U, k.horizontal += U;
1308
+ } else if (he > ne) {
1309
+ const U = he - ne;
1310
+ Q -= U, k.horizontal += U;
1311
+ }
1312
+ return {
1313
+ top: `${Math.round(G)}px`,
1314
+ left: `${Math.round(Q)}px`,
1315
+ transformOrigin: Ye(k)
1316
+ };
1317
+ }, [u, b, D, W, m]), [H, K] = r.useState(I), O = r.useCallback(() => {
1318
+ const E = S.current;
1319
+ if (!E)
1320
+ return;
1321
+ const x = J(E);
1322
+ x.top !== null && (E.style.top = x.top), x.left !== null && (E.style.left = x.left), E.style.transformOrigin = x.transformOrigin, K(!0);
1323
+ }, [J]), g = (E, x) => {
1324
+ d && d(E, x), O();
1325
+ }, B = () => {
1326
+ K(!1);
1327
+ };
1328
+ r.useEffect(() => {
1329
+ I && O();
1330
+ }), r.useImperativeHandle(f, () => I ? {
1331
+ updatePosition: () => {
1332
+ O();
1333
+ }
1334
+ } : null, [I, O]), r.useEffect(() => {
1335
+ if (!I)
1336
+ return;
1337
+ const E = _n(() => {
1338
+ O();
1339
+ }), x = Ue(u);
1340
+ return x.addEventListener("resize", E), () => {
1341
+ E.clear(), x.removeEventListener("resize", E);
1342
+ };
1343
+ }, [u, I, O]);
1344
+ let q = R;
1345
+ R === "auto" && !y.muiSupportAuto && (q = void 0);
1346
+ const V = $ || (u ? de(Re(u)).body : void 0);
1347
+ return /* @__PURE__ */ w(pt, s({
1348
+ BackdropProps: {
1349
+ invisible: !0
1350
+ },
1351
+ className: re(A.root, F),
1352
+ container: V,
1353
+ open: I,
1354
+ ref: o,
1355
+ ownerState: L
1356
+ }, T, {
1357
+ children: /* @__PURE__ */ w(y, s({
1358
+ appear: !0,
1359
+ in: I,
1360
+ onEntering: g,
1361
+ onExited: B,
1362
+ timeout: q
1363
+ }, l, {
1364
+ children: /* @__PURE__ */ w(ft, s({
1365
+ elevation: M
1366
+ }, v, {
1367
+ ref: h,
1368
+ className: re(A.paper, v.className)
1369
+ }, H ? void 0 : {
1370
+ style: s({}, v.style, {
1371
+ opacity: 0
1372
+ })
1373
+ }, {
1374
+ ownerState: L,
1375
+ children: P
1376
+ }))
1377
+ }))
1378
+ }));
1379
+ });
1380
+ process.env.NODE_ENV !== "production" && (hn.propTypes = {
1381
+ // ----------------------------- Warning --------------------------------
1382
+ // | These PropTypes are generated from the TypeScript type definitions |
1383
+ // | To update them edit the d.ts file and run "yarn proptypes" |
1384
+ // ----------------------------------------------------------------------
1385
+ /**
1386
+ * A ref for imperative actions.
1387
+ * It currently only supports updatePosition() action.
1388
+ */
1389
+ action: be,
1390
+ /**
1391
+ * An HTML element, or a function that returns one.
1392
+ * It's used to set the position of the popover.
1393
+ */
1394
+ anchorEl: wn(e.oneOfType([Me, e.func]), (n) => {
1395
+ if (n.open && (!n.anchorReference || n.anchorReference === "anchorEl")) {
1396
+ const t = Re(n.anchorEl);
1397
+ if (t && t.nodeType === 1) {
1398
+ const o = t.getBoundingClientRect();
1399
+ if (process.env.NODE_ENV !== "test" && o.top === 0 && o.left === 0 && o.right === 0 && o.bottom === 0)
1400
+ 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(`
1401
+ `));
1402
+ } else
1403
+ return new Error(["MUI: The `anchorEl` prop provided to the component is invalid.", `It should be an Element instance but it's \`${t}\` instead.`].join(`
1404
+ `));
1405
+ }
1406
+ return null;
1407
+ }),
1408
+ /**
1409
+ * This is the point on the anchor where the popover's
1410
+ * `anchorEl` will attach to. This is not used when the
1411
+ * anchorReference is 'anchorPosition'.
1412
+ *
1413
+ * Options:
1414
+ * vertical: [top, center, bottom];
1415
+ * horizontal: [left, center, right].
1416
+ * @default {
1417
+ * vertical: 'top',
1418
+ * horizontal: 'left',
1419
+ * }
1420
+ */
1421
+ anchorOrigin: e.shape({
1422
+ horizontal: e.oneOfType([e.oneOf(["center", "left", "right"]), e.number]).isRequired,
1423
+ vertical: e.oneOfType([e.oneOf(["bottom", "center", "top"]), e.number]).isRequired
1424
+ }),
1425
+ /**
1426
+ * This is the position that may be used to set the position of the popover.
1427
+ * The coordinates are relative to the application's client area.
1428
+ */
1429
+ anchorPosition: e.shape({
1430
+ left: e.number.isRequired,
1431
+ top: e.number.isRequired
1432
+ }),
1433
+ /**
1434
+ * This determines which anchor prop to refer to when setting
1435
+ * the position of the popover.
1436
+ * @default 'anchorEl'
1437
+ */
1438
+ anchorReference: e.oneOf(["anchorEl", "anchorPosition", "none"]),
1439
+ /**
1440
+ * The content of the component.
1441
+ */
1442
+ children: e.node,
1443
+ /**
1444
+ * Override or extend the styles applied to the component.
1445
+ */
1446
+ classes: e.object,
1447
+ /**
1448
+ * @ignore
1449
+ */
1450
+ className: e.string,
1451
+ /**
1452
+ * An HTML element, component instance, or function that returns either.
1453
+ * The `container` will passed to the Modal component.
1454
+ *
1455
+ * By default, it uses the body of the anchorEl's top-level document object,
1456
+ * so it's simply `document.body` most of the time.
1457
+ */
1458
+ container: e.oneOfType([Me, e.func]),
1459
+ /**
1460
+ * The elevation of the popover.
1461
+ * @default 8
1462
+ */
1463
+ elevation: Nn,
1464
+ /**
1465
+ * Specifies how close to the edge of the window the popover can appear.
1466
+ * @default 16
1467
+ */
1468
+ marginThreshold: e.number,
1469
+ /**
1470
+ * Callback fired when the component requests to be closed.
1471
+ * The `reason` parameter can optionally be used to control the response to `onClose`.
1472
+ */
1473
+ onClose: e.func,
1474
+ /**
1475
+ * If `true`, the component is shown.
1476
+ */
1477
+ open: e.bool.isRequired,
1478
+ /**
1479
+ * Props applied to the [`Paper`](/material-ui/api/paper/) element.
1480
+ * @default {}
1481
+ */
1482
+ PaperProps: e.shape({
1483
+ component: Ln
1484
+ }),
1485
+ /**
1486
+ * The system prop that allows defining system overrides as well as additional CSS styles.
1487
+ */
1488
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
1489
+ /**
1490
+ * This is the point on the popover which
1491
+ * will attach to the anchor's origin.
1492
+ *
1493
+ * Options:
1494
+ * vertical: [top, center, bottom, x(px)];
1495
+ * horizontal: [left, center, right, x(px)].
1496
+ * @default {
1497
+ * vertical: 'top',
1498
+ * horizontal: 'left',
1499
+ * }
1500
+ */
1501
+ transformOrigin: e.shape({
1502
+ horizontal: e.oneOfType([e.oneOf(["center", "left", "right"]), e.number]).isRequired,
1503
+ vertical: e.oneOfType([e.oneOf(["bottom", "center", "top"]), e.number]).isRequired
1504
+ }),
1405
1505
  /**
1406
- * @ignore
1506
+ * The component used for the transition.
1507
+ * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
1508
+ * @default Grow
1407
1509
  */
1408
- autoFocus: e.bool,
1510
+ TransitionComponent: e.elementType,
1409
1511
  /**
1410
- * If `true`, the width of the popover will automatically be set according to the items inside the
1411
- * menu, otherwise it will be at least the width of the select input.
1512
+ * Set to 'auto' to automatically calculate transition time based on height.
1513
+ * @default 'auto'
1412
1514
  */
1413
- autoWidth: e.bool,
1515
+ transitionDuration: e.oneOfType([e.oneOf(["auto"]), e.number, e.shape({
1516
+ appear: e.number,
1517
+ enter: e.number,
1518
+ exit: e.number
1519
+ })]),
1414
1520
  /**
1415
- * The option elements to populate the select with.
1416
- * Can be some `<MenuItem>` elements.
1521
+ * Props applied to the transition element.
1522
+ * By default, the element is based on this [`Transition`](http://reactcommunity.org/react-transition-group/transition/) component.
1523
+ * @default {}
1417
1524
  */
1418
- children: e.node,
1525
+ TransitionProps: e.object
1526
+ });
1527
+ function mt(n) {
1528
+ return ae("MuiMenu", n);
1529
+ }
1530
+ ie("MuiMenu", ["root", "paper", "list"]);
1531
+ const bt = ["onEntering"], ht = ["autoFocus", "children", "disableAutoFocusItem", "MenuListProps", "onClose", "open", "PaperProps", "PopoverClasses", "transitionDuration", "TransitionProps", "variant"], gt = {
1532
+ vertical: "top",
1533
+ horizontal: "right"
1534
+ }, vt = {
1535
+ vertical: "top",
1536
+ horizontal: "left"
1537
+ }, yt = (n) => {
1538
+ const {
1539
+ classes: t
1540
+ } = n;
1541
+ return se({
1542
+ root: ["root"],
1543
+ paper: ["paper"],
1544
+ list: ["list"]
1545
+ }, mt, t);
1546
+ }, Ot = j(hn, {
1547
+ shouldForwardProp: (n) => fe(n) || n === "classes",
1548
+ name: "MuiMenu",
1549
+ slot: "Root",
1550
+ overridesResolver: (n, t) => t.root
1551
+ })({}), Et = j(tn, {
1552
+ name: "MuiMenu",
1553
+ slot: "Paper",
1554
+ overridesResolver: (n, t) => t.paper
1555
+ })({
1556
+ // specZ: The maximum height of a simple menu should be one or more rows less than the view
1557
+ // height. This ensures a tapable area outside of the simple menu with which to dismiss
1558
+ // the menu.
1559
+ maxHeight: "calc(100% - 96px)",
1560
+ // Add iOS momentum scrolling for iOS < 13.0
1561
+ WebkitOverflowScrolling: "touch"
1562
+ }), Ct = j(bn, {
1563
+ name: "MuiMenu",
1564
+ slot: "List",
1565
+ overridesResolver: (n, t) => t.list
1566
+ })({
1567
+ // We disable the focus ring for mouse, touch and keyboard users.
1568
+ outline: 0
1569
+ }), gn = /* @__PURE__ */ r.forwardRef(function(t, o) {
1570
+ const a = pe({
1571
+ props: t,
1572
+ name: "MuiMenu"
1573
+ }), {
1574
+ autoFocus: f = !0,
1575
+ children: u,
1576
+ disableAutoFocusItem: c = !1,
1577
+ MenuListProps: p = {},
1578
+ onClose: b,
1579
+ open: P,
1580
+ PaperProps: F = {},
1581
+ PopoverClasses: $,
1582
+ transitionDuration: M = "auto",
1583
+ TransitionProps: {
1584
+ onEntering: m
1585
+ } = {},
1586
+ variant: I = "selectedMenu"
1587
+ } = a, v = z(a.TransitionProps, bt), N = z(a, ht), y = nn(), R = y.direction === "rtl", d = s({}, a, {
1588
+ autoFocus: f,
1589
+ disableAutoFocusItem: c,
1590
+ MenuListProps: p,
1591
+ onEntering: m,
1592
+ PaperProps: F,
1593
+ transitionDuration: M,
1594
+ TransitionProps: v,
1595
+ variant: I
1596
+ }), l = yt(d), T = f && !c && P, S = r.useRef(null), h = (D, W) => {
1597
+ S.current && S.current.adjustStyleForScrollbar(D, y), m && m(D, W);
1598
+ }, L = (D) => {
1599
+ D.key === "Tab" && (D.preventDefault(), b && b(D, "tabKeyDown"));
1600
+ };
1601
+ let A = -1;
1602
+ return r.Children.map(u, (D, W) => {
1603
+ /* @__PURE__ */ r.isValidElement(D) && (process.env.NODE_ENV !== "production" && Fe.isFragment(D) && console.error(["MUI: The Menu component doesn't accept a Fragment as a child.", "Consider providing an array instead."].join(`
1604
+ `)), D.props.disabled || (I === "selectedMenu" && D.props.selected || A === -1) && (A = W));
1605
+ }), /* @__PURE__ */ w(Ot, s({
1606
+ onClose: b,
1607
+ anchorOrigin: {
1608
+ vertical: "bottom",
1609
+ horizontal: R ? "right" : "left"
1610
+ },
1611
+ transformOrigin: R ? gt : vt,
1612
+ PaperProps: s({
1613
+ as: Et
1614
+ }, F, {
1615
+ classes: s({}, F.classes, {
1616
+ root: l.paper
1617
+ })
1618
+ }),
1619
+ className: l.root,
1620
+ open: P,
1621
+ ref: o,
1622
+ transitionDuration: M,
1623
+ TransitionProps: s({
1624
+ onEntering: h
1625
+ }, v),
1626
+ ownerState: d
1627
+ }, N, {
1628
+ classes: $,
1629
+ children: /* @__PURE__ */ w(Ct, s({
1630
+ onKeyDown: L,
1631
+ actions: S,
1632
+ autoFocus: f && (A === -1 || c),
1633
+ autoFocusItem: T,
1634
+ variant: I
1635
+ }, p, {
1636
+ className: re(l.list, p.className),
1637
+ children: u
1638
+ }))
1639
+ }));
1640
+ });
1641
+ process.env.NODE_ENV !== "production" && (gn.propTypes = {
1642
+ // ----------------------------- Warning --------------------------------
1643
+ // | These PropTypes are generated from the TypeScript type definitions |
1644
+ // | To update them edit the d.ts file and run "yarn proptypes" |
1645
+ // ----------------------------------------------------------------------
1419
1646
  /**
1420
- * Override or extend the styles applied to the component.
1421
- * See [CSS API](#css) below for more details.
1647
+ * An HTML element, or a function that returns one.
1648
+ * It's used to set the position of the menu.
1422
1649
  */
1423
- classes: e.object,
1650
+ anchorEl: e.oneOfType([Me, e.func]),
1424
1651
  /**
1425
- * The CSS class name of the select element.
1652
+ * If `true` (Default) will focus the `[role="menu"]` if no focusable child is found. Disabled
1653
+ * children are not focusable. If you set this prop to `false` focus will be placed
1654
+ * on the parent modal container. This has severe accessibility implications
1655
+ * and should only be considered if you manage focus otherwise.
1656
+ * @default true
1426
1657
  */
1427
- className: e.string,
1658
+ autoFocus: e.bool,
1428
1659
  /**
1429
- * If `true`, the component is toggled on mount. Use when the component open state is not controlled.
1430
- * You can only use it when the `native` prop is `false` (default).
1660
+ * Menu contents, normally `MenuItem`s.
1431
1661
  */
1432
- defaultOpen: e.bool,
1662
+ children: e.node,
1433
1663
  /**
1434
- * The default value. Use when the component is not controlled.
1664
+ * Override or extend the styles applied to the component.
1435
1665
  */
1436
- defaultValue: e.any,
1666
+ classes: e.object,
1437
1667
  /**
1438
- * If `true`, the select is disabled.
1668
+ * When opening the menu will not focus the active item but the `[role="menu"]`
1669
+ * unless `autoFocus` is also set to `false`. Not using the default means not
1670
+ * following WAI-ARIA authoring practices. Please be considerate about possible
1671
+ * accessibility implications.
1672
+ * @default false
1439
1673
  */
1440
- disabled: e.bool,
1674
+ disableAutoFocusItem: e.bool,
1441
1675
  /**
1442
- * If `true`, the selected item is displayed even if its value is empty.
1676
+ * Props applied to the [`MenuList`](/material-ui/api/menu-list/) element.
1677
+ * @default {}
1443
1678
  */
1444
- displayEmpty: e.bool,
1679
+ MenuListProps: e.object,
1445
1680
  /**
1446
- * The icon that displays the arrow.
1681
+ * Callback fired when the component requests to be closed.
1682
+ *
1683
+ * @param {object} event The event source of the callback.
1684
+ * @param {string} reason Can be: `"escapeKeyDown"`, `"backdropClick"`, `"tabKeyDown"`.
1447
1685
  */
1448
- IconComponent: e.elementType.isRequired,
1686
+ onClose: e.func,
1449
1687
  /**
1450
- * Imperative handle implementing `{ value: T, node: HTMLElement, focus(): void }`
1451
- * Equivalent to `ref`
1688
+ * If `true`, the component is shown.
1452
1689
  */
1453
- inputRef: Oe,
1690
+ open: e.bool.isRequired,
1454
1691
  /**
1455
- * The ID of an element that acts as an additional label. The Select will
1456
- * be labelled by the additional label and the selected value.
1692
+ * @ignore
1457
1693
  */
1458
- labelId: e.string,
1694
+ PaperProps: e.object,
1459
1695
  /**
1460
- * Props applied to the [`Menu`](/material-ui/api/menu/) element.
1696
+ * `classes` prop applied to the [`Popover`](/material-ui/api/popover/) element.
1461
1697
  */
1462
- MenuProps: e.object,
1698
+ PopoverClasses: e.object,
1463
1699
  /**
1464
- * If `true`, `value` must be an array and the menu will support multiple selections.
1700
+ * The system prop that allows defining system overrides as well as additional CSS styles.
1465
1701
  */
1466
- multiple: e.bool,
1702
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
1467
1703
  /**
1468
- * Name attribute of the `select` or hidden `input` element.
1704
+ * The length of the transition in `ms`, or 'auto'
1705
+ * @default 'auto'
1469
1706
  */
1470
- name: e.string,
1707
+ transitionDuration: e.oneOfType([e.oneOf(["auto"]), e.number, e.shape({
1708
+ appear: e.number,
1709
+ enter: e.number,
1710
+ exit: e.number
1711
+ })]),
1471
1712
  /**
1472
- * @ignore
1713
+ * Props applied to the transition element.
1714
+ * By default, the element is based on this [`Transition`](http://reactcommunity.org/react-transition-group/transition/) component.
1715
+ * @default {}
1473
1716
  */
1474
- onBlur: e.func,
1717
+ TransitionProps: e.object,
1475
1718
  /**
1476
- * Callback fired when a menu item is selected.
1477
- *
1478
- * @param {object} event The event source of the callback.
1479
- * You can pull out the new value by accessing `event.target.value` (any).
1480
- * @param {object} [child] The react element that was selected.
1719
+ * The variant to use. Use `menu` to prevent selected items from impacting the initial focus.
1720
+ * @default 'selectedMenu'
1481
1721
  */
1482
- onChange: e.func,
1722
+ variant: e.oneOf(["menu", "selectedMenu"])
1723
+ });
1724
+ function Rt(n) {
1725
+ return ae("MuiNativeSelect", n);
1726
+ }
1727
+ const Le = ie("MuiNativeSelect", ["root", "select", "multiple", "filled", "outlined", "standard", "disabled", "icon", "iconOpen", "iconFilled", "iconOutlined", "iconStandard", "nativeInput"]), Tt = ["className", "disabled", "IconComponent", "inputRef", "variant"], It = (n) => {
1728
+ const {
1729
+ classes: t,
1730
+ variant: o,
1731
+ disabled: a,
1732
+ multiple: f,
1733
+ open: u
1734
+ } = n, c = {
1735
+ select: ["select", o, a && "disabled", f && "multiple"],
1736
+ icon: ["icon", `icon${Te(o)}`, u && "iconOpen", a && "disabled"]
1737
+ };
1738
+ return se(c, Rt, t);
1739
+ }, vn = ({
1740
+ ownerState: n,
1741
+ theme: t
1742
+ }) => s({
1743
+ MozAppearance: "none",
1744
+ // Reset
1745
+ WebkitAppearance: "none",
1746
+ // Reset
1747
+ // When interacting quickly, the text can end up selected.
1748
+ // Native select can't be selected either.
1749
+ userSelect: "none",
1750
+ borderRadius: 0,
1751
+ // Reset
1752
+ cursor: "pointer",
1753
+ "&:focus": s({}, t.vars ? {
1754
+ backgroundColor: `rgba(${t.vars.palette.common.onBackgroundChannel} / 0.05)`
1755
+ } : {
1756
+ backgroundColor: t.palette.mode === "light" ? "rgba(0, 0, 0, 0.05)" : "rgba(255, 255, 255, 0.05)"
1757
+ }, {
1758
+ borderRadius: 0
1759
+ // Reset Chrome style
1760
+ }),
1761
+ // Remove IE11 arrow
1762
+ "&::-ms-expand": {
1763
+ display: "none"
1764
+ },
1765
+ [`&.${Le.disabled}`]: {
1766
+ cursor: "default"
1767
+ },
1768
+ "&[multiple]": {
1769
+ height: "auto"
1770
+ },
1771
+ "&:not([multiple]) option, &:not([multiple]) optgroup": {
1772
+ backgroundColor: (t.vars || t).palette.background.paper
1773
+ },
1774
+ // Bump specificity to allow extending custom inputs
1775
+ "&&&": {
1776
+ paddingRight: 24,
1777
+ minWidth: 16
1778
+ // So it doesn't collapse.
1779
+ }
1780
+ }, n.variant === "filled" && {
1781
+ "&&&": {
1782
+ paddingRight: 32
1783
+ }
1784
+ }, n.variant === "outlined" && {
1785
+ borderRadius: (t.vars || t).shape.borderRadius,
1786
+ "&:focus": {
1787
+ borderRadius: (t.vars || t).shape.borderRadius
1788
+ // Reset the reset for Chrome style
1789
+ },
1790
+ "&&&": {
1791
+ paddingRight: 32
1792
+ }
1793
+ }), xt = j("select", {
1794
+ name: "MuiNativeSelect",
1795
+ slot: "Select",
1796
+ shouldForwardProp: fe,
1797
+ overridesResolver: (n, t) => {
1798
+ const {
1799
+ ownerState: o
1800
+ } = n;
1801
+ return [t.select, t[o.variant], {
1802
+ [`&.${Le.multiple}`]: t.multiple
1803
+ }];
1804
+ }
1805
+ })(vn), yn = ({
1806
+ ownerState: n,
1807
+ theme: t
1808
+ }) => s({
1809
+ // We use a position absolute over a flexbox in order to forward the pointer events
1810
+ // to the input and to support wrapping tags..
1811
+ position: "absolute",
1812
+ right: 0,
1813
+ top: "calc(50% - .5em)",
1814
+ // Center vertically, height is 1em
1815
+ pointerEvents: "none",
1816
+ // Don't block pointer events on the select under the icon.
1817
+ color: (t.vars || t).palette.action.active,
1818
+ [`&.${Le.disabled}`]: {
1819
+ color: (t.vars || t).palette.action.disabled
1820
+ }
1821
+ }, n.open && {
1822
+ transform: "rotate(180deg)"
1823
+ }, n.variant === "filled" && {
1824
+ right: 7
1825
+ }, n.variant === "outlined" && {
1826
+ right: 7
1827
+ }), Pt = j("svg", {
1828
+ name: "MuiNativeSelect",
1829
+ slot: "Icon",
1830
+ overridesResolver: (n, t) => {
1831
+ const {
1832
+ ownerState: o
1833
+ } = n;
1834
+ return [t.icon, o.variant && t[`icon${Te(o.variant)}`], o.open && t.iconOpen];
1835
+ }
1836
+ })(yn), On = /* @__PURE__ */ r.forwardRef(function(t, o) {
1837
+ const {
1838
+ className: a,
1839
+ disabled: f,
1840
+ IconComponent: u,
1841
+ inputRef: c,
1842
+ variant: p = "standard"
1843
+ } = t, b = z(t, Tt), P = s({}, t, {
1844
+ disabled: f,
1845
+ variant: p
1846
+ }), F = It(P);
1847
+ return /* @__PURE__ */ De(r.Fragment, {
1848
+ children: [/* @__PURE__ */ w(xt, s({
1849
+ ownerState: P,
1850
+ className: re(F.select, a),
1851
+ disabled: f,
1852
+ ref: c || o
1853
+ }, b)), t.multiple ? null : /* @__PURE__ */ w(Pt, {
1854
+ as: u,
1855
+ ownerState: P,
1856
+ className: F.icon
1857
+ })]
1858
+ });
1859
+ });
1860
+ process.env.NODE_ENV !== "production" && (On.propTypes = {
1483
1861
  /**
1484
- * Callback fired when the component requests to be closed.
1485
- * Use in controlled mode (see open).
1486
- *
1487
- * @param {object} event The event source of the callback.
1862
+ * The option elements to populate the select with.
1863
+ * Can be some `<option>` elements.
1488
1864
  */
1489
- onClose: e.func,
1865
+ children: e.node,
1490
1866
  /**
1491
- * @ignore
1867
+ * Override or extend the styles applied to the component.
1868
+ * See [CSS API](#css) below for more details.
1492
1869
  */
1493
- onFocus: e.func,
1870
+ classes: e.object,
1494
1871
  /**
1495
- * Callback fired when the component requests to be opened.
1496
- * Use in controlled mode (see open).
1497
- *
1498
- * @param {object} event The event source of the callback.
1872
+ * The CSS class name of the select element.
1499
1873
  */
1500
- onOpen: e.func,
1874
+ className: e.string,
1501
1875
  /**
1502
- * If `true`, the component is shown.
1876
+ * If `true`, the select is disabled.
1503
1877
  */
1504
- open: e.bool,
1878
+ disabled: e.bool,
1505
1879
  /**
1506
- * @ignore
1880
+ * The icon that displays the arrow.
1507
1881
  */
1508
- readOnly: e.bool,
1882
+ IconComponent: e.elementType.isRequired,
1509
1883
  /**
1510
- * Render the selected value.
1511
- *
1512
- * @param {any} value The `value` provided to the component.
1513
- * @returns {ReactNode}
1884
+ * Use that prop to pass a ref to the native select element.
1885
+ * @deprecated
1514
1886
  */
1515
- renderValue: e.func,
1887
+ inputRef: be,
1516
1888
  /**
1517
- * Props applied to the clickable div element.
1889
+ * @ignore
1518
1890
  */
1519
- SelectDisplayProps: e.object,
1891
+ multiple: e.bool,
1520
1892
  /**
1521
- * @ignore
1893
+ * Name attribute of the `select` or hidden `input` element.
1522
1894
  */
1523
- tabIndex: e.oneOfType([e.number, e.string]),
1895
+ name: e.string,
1524
1896
  /**
1525
- * @ignore
1897
+ * Callback fired when a menu item is selected.
1898
+ *
1899
+ * @param {object} event The event source of the callback.
1900
+ * You can pull out the new value by accessing `event.target.value` (string).
1526
1901
  */
1527
- type: e.any,
1902
+ onChange: e.func,
1528
1903
  /**
1529
1904
  * The input value.
1530
1905
  */
@@ -1534,498 +1909,555 @@ process.env.NODE_ENV !== "production" && (cn.propTypes = {
1534
1909
  */
1535
1910
  variant: e.oneOf(["standard", "outlined", "filled"])
1536
1911
  });
1537
- const vt = An(/* @__PURE__ */ $("path", {
1538
- d: "M7 10l5 5 5-5z"
1539
- }), "ArrowDropDown");
1540
- function yt(n) {
1541
- return ue("MuiFilledInput", n);
1912
+ function St(n) {
1913
+ return ae("MuiSelect", n);
1542
1914
  }
1543
- const ne = c({}, Nn, le("MuiFilledInput", ["root", "underline", "input"])), Et = ["disableUnderline", "components", "componentsProps", "fullWidth", "hiddenLabel", "inputComponent", "multiline", "slotProps", "slots", "type"], Pt = (n) => {
1544
- const {
1545
- classes: t,
1546
- disableUnderline: o
1547
- } = n, b = ce({
1548
- root: ["root", !o && "underline"],
1549
- input: ["input"]
1550
- }, yt, t);
1551
- return c({}, t, b);
1552
- }, Ot = V(Fn, {
1553
- shouldForwardProp: (n) => Pe(n) || n === "classes",
1554
- name: "MuiFilledInput",
1555
- slot: "Root",
1915
+ const Ce = ie("MuiSelect", ["select", "multiple", "filled", "outlined", "standard", "disabled", "focused", "icon", "iconOpen", "iconFilled", "iconOutlined", "iconStandard", "nativeInput"]);
1916
+ var Je;
1917
+ const wt = ["aria-describedby", "aria-label", "autoFocus", "autoWidth", "children", "className", "defaultOpen", "defaultValue", "disabled", "displayEmpty", "IconComponent", "inputRef", "labelId", "MenuProps", "multiple", "name", "onBlur", "onChange", "onClose", "onFocus", "onOpen", "open", "readOnly", "renderValue", "SelectDisplayProps", "tabIndex", "type", "value", "variant"], Mt = j("div", {
1918
+ name: "MuiSelect",
1919
+ slot: "Select",
1556
1920
  overridesResolver: (n, t) => {
1557
1921
  const {
1558
1922
  ownerState: o
1559
1923
  } = n;
1560
- return [...Dn(n, t), !o.disableUnderline && t.underline];
1561
- }
1562
- })(({
1563
- theme: n,
1564
- ownerState: t
1565
- }) => {
1566
- var o;
1567
- const s = n.palette.mode === "light", b = s ? "rgba(0, 0, 0, 0.42)" : "rgba(255, 255, 255, 0.7)", l = s ? "rgba(0, 0, 0, 0.06)" : "rgba(255, 255, 255, 0.09)", u = s ? "rgba(0, 0, 0, 0.09)" : "rgba(255, 255, 255, 0.13)", d = s ? "rgba(0, 0, 0, 0.12)" : "rgba(255, 255, 255, 0.12)";
1568
- return c({
1569
- position: "relative",
1570
- backgroundColor: n.vars ? n.vars.palette.FilledInput.bg : l,
1571
- borderTopLeftRadius: (n.vars || n).shape.borderRadius,
1572
- borderTopRightRadius: (n.vars || n).shape.borderRadius,
1573
- transition: n.transitions.create("background-color", {
1574
- duration: n.transitions.duration.shorter,
1575
- easing: n.transitions.easing.easeOut
1576
- }),
1577
- "&:hover": {
1578
- backgroundColor: n.vars ? n.vars.palette.FilledInput.hoverBg : u,
1579
- // Reset on touch devices, it doesn't add specificity
1580
- "@media (hover: none)": {
1581
- backgroundColor: n.vars ? n.vars.palette.FilledInput.bg : l
1924
+ return [
1925
+ // Win specificity over the input base
1926
+ {
1927
+ [`&.${Ce.select}`]: t.select
1928
+ },
1929
+ {
1930
+ [`&.${Ce.select}`]: t[o.variant]
1931
+ },
1932
+ {
1933
+ [`&.${Ce.multiple}`]: t.multiple
1582
1934
  }
1935
+ ];
1936
+ }
1937
+ })(vn, {
1938
+ // Win specificity over the input base
1939
+ [`&.${Ce.select}`]: {
1940
+ height: "auto",
1941
+ // Resets for multiple select with chips
1942
+ minHeight: "1.4375em",
1943
+ // Required for select\text-field height consistency
1944
+ textOverflow: "ellipsis",
1945
+ whiteSpace: "nowrap",
1946
+ overflow: "hidden"
1947
+ }
1948
+ }), Nt = j("svg", {
1949
+ name: "MuiSelect",
1950
+ slot: "Icon",
1951
+ overridesResolver: (n, t) => {
1952
+ const {
1953
+ ownerState: o
1954
+ } = n;
1955
+ return [t.icon, o.variant && t[`icon${Te(o.variant)}`], o.open && t.iconOpen];
1956
+ }
1957
+ })(yn), Ft = j("input", {
1958
+ shouldForwardProp: (n) => Mn(n) && n !== "classes",
1959
+ name: "MuiSelect",
1960
+ slot: "NativeInput",
1961
+ overridesResolver: (n, t) => t.nativeInput
1962
+ })({
1963
+ bottom: 0,
1964
+ left: 0,
1965
+ position: "absolute",
1966
+ opacity: 0,
1967
+ pointerEvents: "none",
1968
+ width: "100%",
1969
+ boxSizing: "border-box"
1970
+ });
1971
+ function Qe(n, t) {
1972
+ return typeof t == "object" && t !== null ? n === t : String(n) === String(t);
1973
+ }
1974
+ function Dt(n) {
1975
+ return n == null || typeof n == "string" && !n.trim();
1976
+ }
1977
+ const $t = (n) => {
1978
+ const {
1979
+ classes: t,
1980
+ variant: o,
1981
+ disabled: a,
1982
+ multiple: f,
1983
+ open: u
1984
+ } = n, c = {
1985
+ select: ["select", o, a && "disabled", f && "multiple"],
1986
+ icon: ["icon", `icon${Te(o)}`, u && "iconOpen", a && "disabled"],
1987
+ nativeInput: ["nativeInput"]
1988
+ };
1989
+ return se(c, St, t);
1990
+ }, En = /* @__PURE__ */ r.forwardRef(function(t, o) {
1991
+ const {
1992
+ "aria-describedby": a,
1993
+ "aria-label": f,
1994
+ autoFocus: u,
1995
+ autoWidth: c,
1996
+ children: p,
1997
+ className: b,
1998
+ defaultOpen: P,
1999
+ defaultValue: F,
2000
+ disabled: $,
2001
+ displayEmpty: M,
2002
+ IconComponent: m,
2003
+ inputRef: I,
2004
+ labelId: v,
2005
+ MenuProps: N = {},
2006
+ multiple: y,
2007
+ name: R,
2008
+ onBlur: d,
2009
+ onChange: l,
2010
+ onClose: T,
2011
+ onFocus: S,
2012
+ onOpen: h,
2013
+ open: L,
2014
+ readOnly: A,
2015
+ renderValue: D,
2016
+ SelectDisplayProps: W = {},
2017
+ tabIndex: J,
2018
+ value: H,
2019
+ variant: K = "standard"
2020
+ } = t, O = z(t, wt), [g, B] = He({
2021
+ controlled: H,
2022
+ default: F,
2023
+ name: "Select"
2024
+ }), [q, V] = He({
2025
+ controlled: L,
2026
+ default: P,
2027
+ name: "Select"
2028
+ }), E = r.useRef(null), x = r.useRef(null), [k, Y] = r.useState(null), {
2029
+ current: G
2030
+ } = r.useRef(L != null), [Q, le] = r.useState(), he = me(o, I), ge = r.useCallback((i) => {
2031
+ x.current = i, i && Y(i);
2032
+ }, []), X = k == null ? void 0 : k.parentNode;
2033
+ r.useImperativeHandle(he, () => ({
2034
+ focus: () => {
2035
+ x.current.focus();
1583
2036
  },
1584
- [`&.${ne.focused}`]: {
1585
- backgroundColor: n.vars ? n.vars.palette.FilledInput.bg : l
1586
- },
1587
- [`&.${ne.disabled}`]: {
1588
- backgroundColor: n.vars ? n.vars.palette.FilledInput.disabledBg : d
2037
+ node: E.current,
2038
+ value: g
2039
+ }), [g]), r.useEffect(() => {
2040
+ P && q && k && !G && (le(c ? null : X.clientWidth), x.current.focus());
2041
+ }, [k, c]), r.useEffect(() => {
2042
+ u && x.current.focus();
2043
+ }, [u]), r.useEffect(() => {
2044
+ if (!v)
2045
+ return;
2046
+ const i = de(x.current).getElementById(v);
2047
+ if (i) {
2048
+ const C = () => {
2049
+ getSelection().isCollapsed && x.current.focus();
2050
+ };
2051
+ return i.addEventListener("click", C), () => {
2052
+ i.removeEventListener("click", C);
2053
+ };
1589
2054
  }
1590
- }, !t.disableUnderline && {
1591
- "&:after": {
1592
- borderBottom: `2px solid ${(o = (n.vars || n).palette[t.color || "primary"]) == null ? void 0 : o.main}`,
1593
- left: 0,
1594
- bottom: 0,
1595
- // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
1596
- content: '""',
1597
- position: "absolute",
1598
- right: 0,
1599
- transform: "scaleX(0)",
1600
- transition: n.transitions.create("transform", {
1601
- duration: n.transitions.duration.shorter,
1602
- easing: n.transitions.easing.easeOut
1603
- }),
1604
- pointerEvents: "none"
1605
- // Transparent to the hover style.
1606
- },
1607
- [`&.${ne.focused}:after`]: {
1608
- // translateX(0) is a workaround for Safari transform scale bug
1609
- // See https://github.com/mui/material-ui/issues/31766
1610
- transform: "scaleX(1) translateX(0)"
1611
- },
1612
- [`&.${ne.error}`]: {
1613
- "&:before, &:after": {
1614
- borderBottomColor: (n.vars || n).palette.error.main
2055
+ }, [v]);
2056
+ const ne = (i, C) => {
2057
+ i ? h && h(C) : T && T(C), G || (le(c ? null : X.clientWidth), V(i));
2058
+ }, U = (i) => {
2059
+ i.button === 0 && (i.preventDefault(), x.current.focus(), ne(!0, i));
2060
+ }, Rn = (i) => {
2061
+ ne(!1, i);
2062
+ }, ue = r.Children.toArray(p), Tn = (i) => {
2063
+ const C = ue.map((Z) => Z.props.value).indexOf(i.target.value);
2064
+ if (C === -1)
2065
+ return;
2066
+ const _ = ue[C];
2067
+ B(_.props.value), l && l(i, _);
2068
+ }, In = (i) => (C) => {
2069
+ let _;
2070
+ if (C.currentTarget.hasAttribute("tabindex")) {
2071
+ if (y) {
2072
+ _ = Array.isArray(g) ? g.slice() : [];
2073
+ const Z = g.indexOf(i.props.value);
2074
+ Z === -1 ? _.push(i.props.value) : _.splice(Z, 1);
2075
+ } else
2076
+ _ = i.props.value;
2077
+ if (i.props.onClick && i.props.onClick(C), g !== _ && (B(_), l)) {
2078
+ const Z = C.nativeEvent || C, Ve = new Z.constructor(Z.type, Z);
2079
+ Object.defineProperty(Ve, "target", {
2080
+ writable: !0,
2081
+ value: {
2082
+ value: _,
2083
+ name: R
2084
+ }
2085
+ }), l(Ve, i);
1615
2086
  }
1616
- },
1617
- "&:before": {
1618
- borderBottom: `1px solid ${n.vars ? `rgba(${n.vars.palette.common.onBackgroundChannel} / ${n.vars.opacity.inputUnderline})` : b}`,
1619
- left: 0,
1620
- bottom: 0,
1621
- // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
1622
- content: '"\\00a0"',
1623
- position: "absolute",
1624
- right: 0,
1625
- transition: n.transitions.create("border-bottom-color", {
1626
- duration: n.transitions.duration.shorter
1627
- }),
1628
- pointerEvents: "none"
1629
- // Transparent to the hover style.
1630
- },
1631
- [`&:hover:not(.${ne.disabled}, .${ne.error}):before`]: {
1632
- borderBottom: `1px solid ${(n.vars || n).palette.text.primary}`
1633
- },
1634
- [`&.${ne.disabled}:before`]: {
1635
- borderBottomStyle: "dotted"
1636
- }
1637
- }, t.startAdornment && {
1638
- paddingLeft: 12
1639
- }, t.endAdornment && {
1640
- paddingRight: 12
1641
- }, t.multiline && c({
1642
- padding: "25px 12px 8px"
1643
- }, t.size === "small" && {
1644
- paddingTop: 21,
1645
- paddingBottom: 4
1646
- }, t.hiddenLabel && {
1647
- paddingTop: 16,
1648
- paddingBottom: 17
1649
- }));
1650
- }), Rt = V($n, {
1651
- name: "MuiFilledInput",
1652
- slot: "Input",
1653
- overridesResolver: kn
1654
- })(({
1655
- theme: n,
1656
- ownerState: t
1657
- }) => c({
1658
- paddingTop: 25,
1659
- paddingRight: 12,
1660
- paddingBottom: 8,
1661
- paddingLeft: 12
1662
- }, !n.vars && {
1663
- "&:-webkit-autofill": {
1664
- WebkitBoxShadow: n.palette.mode === "light" ? null : "0 0 0 100px #266798 inset",
1665
- WebkitTextFillColor: n.palette.mode === "light" ? null : "#fff",
1666
- caretColor: n.palette.mode === "light" ? null : "#fff",
1667
- borderTopLeftRadius: "inherit",
1668
- borderTopRightRadius: "inherit"
1669
- }
1670
- }, n.vars && {
1671
- "&:-webkit-autofill": {
1672
- borderTopLeftRadius: "inherit",
1673
- borderTopRightRadius: "inherit"
1674
- },
1675
- [n.getColorSchemeSelector("dark")]: {
1676
- "&:-webkit-autofill": {
1677
- WebkitBoxShadow: "0 0 0 100px #266798 inset",
1678
- WebkitTextFillColor: "#fff",
1679
- caretColor: "#fff"
2087
+ y || ne(!1, C);
1680
2088
  }
1681
- }
1682
- }, t.size === "small" && {
1683
- paddingTop: 21,
1684
- paddingBottom: 4
1685
- }, t.hiddenLabel && {
1686
- paddingTop: 16,
1687
- paddingBottom: 17
1688
- }, t.multiline && {
1689
- paddingTop: 0,
1690
- paddingBottom: 0,
1691
- paddingLeft: 0,
1692
- paddingRight: 0
1693
- }, t.startAdornment && {
1694
- paddingLeft: 0
1695
- }, t.endAdornment && {
1696
- paddingRight: 0
1697
- }, t.hiddenLabel && t.size === "small" && {
1698
- paddingTop: 8,
1699
- paddingBottom: 9
1700
- })), $e = /* @__PURE__ */ i.forwardRef(function(t, o) {
1701
- var s, b, l, u;
1702
- const d = Ee({
1703
- props: t,
1704
- name: "MuiFilledInput"
1705
- }), {
1706
- components: P = {},
1707
- componentsProps: x,
1708
- fullWidth: N = !1,
1709
- // declare here to prevent spreading to DOM
1710
- inputComponent: F = "input",
1711
- multiline: k = !1,
1712
- slotProps: f,
1713
- slots: I = {},
1714
- type: O = "text"
1715
- } = d, w = X(d, Et), E = c({}, d, {
1716
- fullWidth: N,
1717
- inputComponent: F,
1718
- multiline: k,
1719
- type: O
1720
- }), T = Pt(d), a = {
1721
- root: {
1722
- ownerState: E
1723
- },
1724
- input: {
1725
- ownerState: E
2089
+ }, xn = (i) => {
2090
+ A || [
2091
+ " ",
2092
+ "ArrowUp",
2093
+ "ArrowDown",
2094
+ // The native select doesn't respond to enter on macOS, but it's recommended by
2095
+ // https://www.w3.org/WAI/ARIA/apg/patterns/combobox/examples/combobox-select-only/
2096
+ "Enter"
2097
+ ].indexOf(i.key) !== -1 && (i.preventDefault(), ne(!0, i));
2098
+ }, ve = k !== null && q, Pn = (i) => {
2099
+ !ve && d && (Object.defineProperty(i, "target", {
2100
+ writable: !0,
2101
+ value: {
2102
+ value: g,
2103
+ name: R
2104
+ }
2105
+ }), d(i));
2106
+ };
2107
+ delete O["aria-invalid"];
2108
+ let oe, Ae;
2109
+ const ye = [];
2110
+ let Oe = !1, Ie = !1;
2111
+ (Vn({
2112
+ value: g
2113
+ }) || M) && (D ? oe = D(g) : Oe = !0);
2114
+ const Sn = ue.map((i) => {
2115
+ if (!/* @__PURE__ */ r.isValidElement(i))
2116
+ return null;
2117
+ process.env.NODE_ENV !== "production" && Fe.isFragment(i) && console.error(["MUI: The Select component doesn't accept a Fragment as a child.", "Consider providing an array instead."].join(`
2118
+ `));
2119
+ let C;
2120
+ if (y) {
2121
+ if (!Array.isArray(g))
2122
+ throw new Error(process.env.NODE_ENV !== "production" ? "MUI: The `value` prop must be an array when using the `Select` component with `multiple`." : Fn(2));
2123
+ C = g.some((_) => Qe(_, i.props.value)), C && Oe && ye.push(i.props.children);
2124
+ } else
2125
+ C = Qe(g, i.props.value), C && Oe && (Ae = i.props.children);
2126
+ return C && (Ie = !0), /* @__PURE__ */ r.cloneElement(i, {
2127
+ "aria-selected": C ? "true" : "false",
2128
+ onClick: In(i),
2129
+ onKeyUp: (_) => {
2130
+ _.key === " " && _.preventDefault(), i.props.onKeyUp && i.props.onKeyUp(_);
2131
+ },
2132
+ role: "option",
2133
+ selected: C,
2134
+ value: void 0,
2135
+ // The value is most likely not a valid HTML attribute.
2136
+ "data-value": i.props.value
2137
+ // Instead, we provide it as a data attribute.
2138
+ });
2139
+ });
2140
+ process.env.NODE_ENV !== "production" && r.useEffect(() => {
2141
+ if (!Ie && !y && g !== "") {
2142
+ const i = ue.map((C) => C.props.value);
2143
+ console.warn([`MUI: You have provided an out-of-range value \`${g}\` for the select ${R ? `(name="${R}") ` : ""}component.`, "Consider providing a value that matches one of the available options or ''.", `The available values are ${i.filter((C) => C != null).map((C) => `\`${C}\``).join(", ") || '""'}.`].join(`
2144
+ `));
1726
2145
  }
1727
- }, p = f ?? x ? en(f ?? x, a) : a, R = (s = (b = I.root) != null ? b : P.Root) != null ? s : Ot, S = (l = (u = I.input) != null ? u : P.Input) != null ? l : Rt;
1728
- return /* @__PURE__ */ $(jn, c({
1729
- slots: {
1730
- root: R,
1731
- input: S
1732
- },
1733
- componentsProps: p,
1734
- fullWidth: N,
1735
- inputComponent: F,
1736
- multiline: k,
1737
- ref: o,
1738
- type: O
1739
- }, w, {
1740
- classes: T
1741
- }));
2146
+ }, [Ie, ue, y, R, g]), Oe && (y ? ye.length === 0 ? oe = null : oe = ye.reduce((i, C, _) => (i.push(C), _ < ye.length - 1 && i.push(", "), i), []) : oe = Ae);
2147
+ let We = Q;
2148
+ !c && G && k && (We = X.clientWidth);
2149
+ let xe;
2150
+ typeof J < "u" ? xe = J : xe = $ ? null : 0;
2151
+ const Be = W.id || (R ? `mui-component-select-${R}` : void 0), Ee = s({}, t, {
2152
+ variant: K,
2153
+ value: g,
2154
+ open: ve
2155
+ }), Pe = $t(Ee);
2156
+ return /* @__PURE__ */ De(r.Fragment, {
2157
+ children: [/* @__PURE__ */ w(Mt, s({
2158
+ ref: ge,
2159
+ tabIndex: xe,
2160
+ role: "button",
2161
+ "aria-disabled": $ ? "true" : void 0,
2162
+ "aria-expanded": ve ? "true" : "false",
2163
+ "aria-haspopup": "listbox",
2164
+ "aria-label": f,
2165
+ "aria-labelledby": [v, Be].filter(Boolean).join(" ") || void 0,
2166
+ "aria-describedby": a,
2167
+ onKeyDown: xn,
2168
+ onMouseDown: $ || A ? null : U,
2169
+ onBlur: Pn,
2170
+ onFocus: S
2171
+ }, W, {
2172
+ ownerState: Ee,
2173
+ className: re(W.className, Pe.select, b),
2174
+ id: Be,
2175
+ children: Dt(oe) ? (
2176
+ // notranslate needed while Google Translate will not fix zero-width space issue
2177
+ Je || (Je = /* @__PURE__ */ w("span", {
2178
+ className: "notranslate",
2179
+ children: "​"
2180
+ }))
2181
+ ) : oe
2182
+ })), /* @__PURE__ */ w(Ft, s({
2183
+ value: Array.isArray(g) ? g.join(",") : g,
2184
+ name: R,
2185
+ ref: E,
2186
+ "aria-hidden": !0,
2187
+ onChange: Tn,
2188
+ tabIndex: -1,
2189
+ disabled: $,
2190
+ className: Pe.nativeInput,
2191
+ autoFocus: u,
2192
+ ownerState: Ee
2193
+ }, O)), /* @__PURE__ */ w(Nt, {
2194
+ as: m,
2195
+ className: Pe.icon,
2196
+ ownerState: Ee
2197
+ }), /* @__PURE__ */ w(gn, s({
2198
+ id: `menu-${R || ""}`,
2199
+ anchorEl: X,
2200
+ open: ve,
2201
+ onClose: Rn,
2202
+ anchorOrigin: {
2203
+ vertical: "bottom",
2204
+ horizontal: "center"
2205
+ },
2206
+ transformOrigin: {
2207
+ vertical: "top",
2208
+ horizontal: "center"
2209
+ }
2210
+ }, N, {
2211
+ MenuListProps: s({
2212
+ "aria-labelledby": v,
2213
+ role: "listbox",
2214
+ disableListWrap: !0
2215
+ }, N.MenuListProps),
2216
+ PaperProps: s({}, N.PaperProps, {
2217
+ style: s({
2218
+ minWidth: We
2219
+ }, N.PaperProps != null ? N.PaperProps.style : null)
2220
+ }),
2221
+ children: Sn
2222
+ }))]
2223
+ });
1742
2224
  });
1743
- process.env.NODE_ENV !== "production" && ($e.propTypes = {
1744
- // ----------------------------- Warning --------------------------------
1745
- // | These PropTypes are generated from the TypeScript type definitions |
1746
- // | To update them edit the d.ts file and run "yarn proptypes" |
1747
- // ----------------------------------------------------------------------
1748
- /**
1749
- * This prop helps users to fill forms faster, especially on mobile devices.
1750
- * The name can be confusing, as it's more like an autofill.
1751
- * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).
1752
- */
1753
- autoComplete: e.string,
2225
+ process.env.NODE_ENV !== "production" && (En.propTypes = {
1754
2226
  /**
1755
- * If `true`, the `input` element is focused during the first mount.
2227
+ * @ignore
1756
2228
  */
1757
- autoFocus: e.bool,
2229
+ "aria-describedby": e.string,
1758
2230
  /**
1759
- * Override or extend the styles applied to the component.
2231
+ * @ignore
1760
2232
  */
1761
- classes: e.object,
2233
+ "aria-label": e.string,
1762
2234
  /**
1763
- * The color of the component.
1764
- * It supports both default and custom theme colors, which can be added as shown in the
1765
- * [palette customization guide](https://mui.com/material-ui/customization/palette/#adding-new-colors).
1766
- * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.
2235
+ * @ignore
1767
2236
  */
1768
- color: e.oneOfType([e.oneOf(["primary", "secondary"]), e.string]),
2237
+ autoFocus: e.bool,
1769
2238
  /**
1770
- * The components used for each slot inside.
1771
- *
1772
- * This prop is an alias for the `slots` prop.
1773
- * It's recommended to use the `slots` prop instead.
1774
- *
1775
- * @default {}
2239
+ * If `true`, the width of the popover will automatically be set according to the items inside the
2240
+ * menu, otherwise it will be at least the width of the select input.
1776
2241
  */
1777
- components: e.shape({
1778
- Input: e.elementType,
1779
- Root: e.elementType
1780
- }),
2242
+ autoWidth: e.bool,
1781
2243
  /**
1782
- * The extra props for the slot components.
1783
- * You can override the existing props or add new ones.
1784
- *
1785
- * This prop is an alias for the `slotProps` prop.
1786
- * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.
1787
- *
1788
- * @default {}
2244
+ * The option elements to populate the select with.
2245
+ * Can be some `<MenuItem>` elements.
1789
2246
  */
1790
- componentsProps: e.shape({
1791
- input: e.object,
1792
- root: e.object
1793
- }),
2247
+ children: e.node,
1794
2248
  /**
1795
- * The default value. Use when the component is not controlled.
2249
+ * Override or extend the styles applied to the component.
2250
+ * See [CSS API](#css) below for more details.
1796
2251
  */
1797
- defaultValue: e.any,
2252
+ classes: e.object,
1798
2253
  /**
1799
- * If `true`, the component is disabled.
1800
- * The prop defaults to the value (`false`) inherited from the parent FormControl component.
2254
+ * The CSS class name of the select element.
1801
2255
  */
1802
- disabled: e.bool,
2256
+ className: e.string,
1803
2257
  /**
1804
- * If `true`, the input will not have an underline.
2258
+ * If `true`, the component is toggled on mount. Use when the component open state is not controlled.
2259
+ * You can only use it when the `native` prop is `false` (default).
1805
2260
  */
1806
- disableUnderline: e.bool,
2261
+ defaultOpen: e.bool,
1807
2262
  /**
1808
- * End `InputAdornment` for this component.
2263
+ * The default value. Use when the component is not controlled.
1809
2264
  */
1810
- endAdornment: e.node,
2265
+ defaultValue: e.any,
1811
2266
  /**
1812
- * If `true`, the `input` will indicate an error.
1813
- * The prop defaults to the value (`false`) inherited from the parent FormControl component.
2267
+ * If `true`, the select is disabled.
1814
2268
  */
1815
- error: e.bool,
2269
+ disabled: e.bool,
1816
2270
  /**
1817
- * If `true`, the `input` will take up the full width of its container.
1818
- * @default false
2271
+ * If `true`, the selected item is displayed even if its value is empty.
1819
2272
  */
1820
- fullWidth: e.bool,
2273
+ displayEmpty: e.bool,
1821
2274
  /**
1822
- * If `true`, the label is hidden.
1823
- * This is used to increase density for a `FilledInput`.
1824
- * Be sure to add `aria-label` to the `input` element.
1825
- * @default false
2275
+ * The icon that displays the arrow.
1826
2276
  */
1827
- hiddenLabel: e.bool,
2277
+ IconComponent: e.elementType.isRequired,
1828
2278
  /**
1829
- * The id of the `input` element.
2279
+ * Imperative handle implementing `{ value: T, node: HTMLElement, focus(): void }`
2280
+ * Equivalent to `ref`
1830
2281
  */
1831
- id: e.string,
2282
+ inputRef: be,
1832
2283
  /**
1833
- * The component used for the `input` element.
1834
- * Either a string to use a HTML element or a component.
1835
- * @default 'input'
2284
+ * The ID of an element that acts as an additional label. The Select will
2285
+ * be labelled by the additional label and the selected value.
1836
2286
  */
1837
- inputComponent: e.elementType,
2287
+ labelId: e.string,
1838
2288
  /**
1839
- * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
1840
- * @default {}
2289
+ * Props applied to the [`Menu`](/material-ui/api/menu/) element.
1841
2290
  */
1842
- inputProps: e.object,
2291
+ MenuProps: e.object,
1843
2292
  /**
1844
- * Pass a ref to the `input` element.
2293
+ * If `true`, `value` must be an array and the menu will support multiple selections.
1845
2294
  */
1846
- inputRef: Oe,
2295
+ multiple: e.bool,
1847
2296
  /**
1848
- * If `dense`, will adjust vertical spacing. This is normally obtained via context from
1849
- * FormControl.
1850
- * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.
2297
+ * Name attribute of the `select` or hidden `input` element.
1851
2298
  */
1852
- margin: e.oneOf(["dense", "none"]),
2299
+ name: e.string,
1853
2300
  /**
1854
- * Maximum number of rows to display when multiline option is set to true.
2301
+ * @ignore
1855
2302
  */
1856
- maxRows: e.oneOfType([e.number, e.string]),
2303
+ onBlur: e.func,
1857
2304
  /**
1858
- * Minimum number of rows to display when multiline option is set to true.
2305
+ * Callback fired when a menu item is selected.
2306
+ *
2307
+ * @param {object} event The event source of the callback.
2308
+ * You can pull out the new value by accessing `event.target.value` (any).
2309
+ * @param {object} [child] The react element that was selected.
1859
2310
  */
1860
- minRows: e.oneOfType([e.number, e.string]),
2311
+ onChange: e.func,
1861
2312
  /**
1862
- * If `true`, a [TextareaAutosize](/material-ui/react-textarea-autosize/) element is rendered.
1863
- * @default false
2313
+ * Callback fired when the component requests to be closed.
2314
+ * Use in controlled mode (see open).
2315
+ *
2316
+ * @param {object} event The event source of the callback.
1864
2317
  */
1865
- multiline: e.bool,
2318
+ onClose: e.func,
1866
2319
  /**
1867
- * Name attribute of the `input` element.
2320
+ * @ignore
1868
2321
  */
1869
- name: e.string,
2322
+ onFocus: e.func,
1870
2323
  /**
1871
- * Callback fired when the value is changed.
2324
+ * Callback fired when the component requests to be opened.
2325
+ * Use in controlled mode (see open).
1872
2326
  *
1873
- * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.
1874
- * You can pull out the new value by accessing `event.target.value` (string).
2327
+ * @param {object} event The event source of the callback.
1875
2328
  */
1876
- onChange: e.func,
2329
+ onOpen: e.func,
1877
2330
  /**
1878
- * The short hint displayed in the `input` before the user enters a value.
2331
+ * If `true`, the component is shown.
1879
2332
  */
1880
- placeholder: e.string,
2333
+ open: e.bool,
1881
2334
  /**
1882
- * It prevents the user from changing the value of the field
1883
- * (not from interacting with the field).
2335
+ * @ignore
1884
2336
  */
1885
2337
  readOnly: e.bool,
1886
2338
  /**
1887
- * If `true`, the `input` element is required.
1888
- * The prop defaults to the value (`false`) inherited from the parent FormControl component.
1889
- */
1890
- required: e.bool,
1891
- /**
1892
- * Number of rows to display when multiline option is set to true.
1893
- */
1894
- rows: e.oneOfType([e.number, e.string]),
1895
- /**
1896
- * The extra props for the slot components.
1897
- * You can override the existing props or add new ones.
1898
- *
1899
- * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.
2339
+ * Render the selected value.
1900
2340
  *
1901
- * @default {}
2341
+ * @param {any} value The `value` provided to the component.
2342
+ * @returns {ReactNode}
1902
2343
  */
1903
- slotProps: e.shape({
1904
- input: e.object,
1905
- root: e.object
1906
- }),
2344
+ renderValue: e.func,
1907
2345
  /**
1908
- * The components used for each slot inside.
1909
- *
1910
- * This prop is an alias for the `components` prop, which will be deprecated in the future.
1911
- *
1912
- * @default {}
2346
+ * Props applied to the clickable div element.
1913
2347
  */
1914
- slots: e.shape({
1915
- input: e.elementType,
1916
- root: e.elementType
1917
- }),
2348
+ SelectDisplayProps: e.object,
1918
2349
  /**
1919
- * Start `InputAdornment` for this component.
2350
+ * @ignore
1920
2351
  */
1921
- startAdornment: e.node,
2352
+ tabIndex: e.oneOfType([e.number, e.string]),
1922
2353
  /**
1923
- * The system prop that allows defining system overrides as well as additional CSS styles.
2354
+ * @ignore
1924
2355
  */
1925
- sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
2356
+ type: e.any,
1926
2357
  /**
1927
- * 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).
1928
- * @default 'text'
2358
+ * The input value.
1929
2359
  */
1930
- type: e.string,
2360
+ value: e.any,
1931
2361
  /**
1932
- * The value of the `input` element, required for a controlled component.
2362
+ * The variant to use.
1933
2363
  */
1934
- value: e.any
2364
+ variant: e.oneOf(["standard", "outlined", "filled"])
1935
2365
  });
1936
- $e.muiName = "Input";
1937
- var Xe, Ye;
1938
- const Ct = ["autoWidth", "children", "classes", "className", "defaultOpen", "displayEmpty", "IconComponent", "id", "input", "inputProps", "label", "labelId", "MenuProps", "multiple", "native", "onClose", "onOpen", "open", "renderValue", "SelectDisplayProps", "variant"], Tt = (n) => {
2366
+ const kt = zn(/* @__PURE__ */ w("path", {
2367
+ d: "M7 10l5 5 5-5z"
2368
+ }), "ArrowDropDown");
2369
+ var Ze, en;
2370
+ const jt = ["autoWidth", "children", "classes", "className", "defaultOpen", "displayEmpty", "IconComponent", "id", "input", "inputProps", "label", "labelId", "MenuProps", "multiple", "native", "onClose", "onOpen", "open", "renderValue", "SelectDisplayProps", "variant"], Lt = (n) => {
1939
2371
  const {
1940
2372
  classes: t
1941
2373
  } = n;
1942
2374
  return t;
1943
- }, ke = {
2375
+ }, _e = {
1944
2376
  name: "MuiSelect",
1945
2377
  overridesResolver: (n, t) => t.root,
1946
- shouldForwardProp: (n) => Pe(n) && n !== "variant",
2378
+ shouldForwardProp: (n) => fe(n) && n !== "variant",
1947
2379
  slot: "Root"
1948
- }, It = V(Bn, ke)(""), St = V(Vn, ke)(""), xt = V($e, ke)(""), un = /* @__PURE__ */ i.forwardRef(function(t, o) {
1949
- const s = Ee({
2380
+ }, _t = j(Un, _e)(""), At = j(je, _e)(""), Wt = j(ke, _e)(""), Cn = /* @__PURE__ */ r.forwardRef(function(t, o) {
2381
+ const a = pe({
1950
2382
  name: "MuiSelect",
1951
2383
  props: t
1952
2384
  }), {
1953
- autoWidth: b = !1,
1954
- children: l,
1955
- classes: u = {},
1956
- className: d,
1957
- defaultOpen: P = !1,
1958
- displayEmpty: x = !1,
1959
- IconComponent: N = vt,
1960
- id: F,
1961
- input: k,
1962
- inputProps: f,
2385
+ autoWidth: f = !1,
2386
+ children: u,
2387
+ classes: c = {},
2388
+ className: p,
2389
+ defaultOpen: b = !1,
2390
+ displayEmpty: P = !1,
2391
+ IconComponent: F = kt,
2392
+ id: $,
2393
+ input: M,
2394
+ inputProps: m,
1963
2395
  label: I,
1964
- labelId: O,
1965
- MenuProps: w,
1966
- multiple: E = !1,
1967
- native: T = !1,
1968
- onClose: a,
1969
- onOpen: p,
1970
- open: R,
2396
+ labelId: v,
2397
+ MenuProps: N,
2398
+ multiple: y = !1,
2399
+ native: R = !1,
2400
+ onClose: d,
2401
+ onOpen: l,
2402
+ open: T,
1971
2403
  renderValue: S,
1972
- SelectDisplayProps: g,
1973
- variant: _ = "outlined"
1974
- } = s, L = X(s, Ct), M = T ? ln : cn, A = _n(), z = Ln({
1975
- props: s,
1976
- muiFormControl: A,
2404
+ SelectDisplayProps: h,
2405
+ variant: L = "outlined"
2406
+ } = a, A = z(a, jt), D = R ? On : En, W = pn(), H = dn({
2407
+ props: a,
2408
+ muiFormControl: W,
1977
2409
  states: ["variant"]
1978
- }).variant || _, K = k || {
1979
- standard: Xe || (Xe = /* @__PURE__ */ $(It, {})),
1980
- outlined: /* @__PURE__ */ $(St, {
2410
+ }).variant || L, K = M || {
2411
+ standard: Ze || (Ze = /* @__PURE__ */ w(_t, {})),
2412
+ outlined: /* @__PURE__ */ w(At, {
1981
2413
  label: I
1982
2414
  }),
1983
- filled: Ye || (Ye = /* @__PURE__ */ $(xt, {}))
1984
- }[z], h = c({}, s, {
1985
- variant: z,
1986
- classes: u
1987
- }), m = Tt(h), B = pe(o, K.ref);
1988
- return /* @__PURE__ */ $(i.Fragment, {
1989
- children: /* @__PURE__ */ i.cloneElement(K, c({
2415
+ filled: en || (en = /* @__PURE__ */ w(Wt, {}))
2416
+ }[H], O = s({}, a, {
2417
+ variant: H,
2418
+ classes: c
2419
+ }), g = Lt(O), B = me(o, K.ref);
2420
+ return /* @__PURE__ */ w(r.Fragment, {
2421
+ children: /* @__PURE__ */ r.cloneElement(K, s({
1990
2422
  // Most of the logic is implemented in `SelectInput`.
1991
2423
  // The `Select` component is a simple API wrapper to expose something better to play with.
1992
- inputComponent: M,
1993
- inputProps: c({
1994
- children: l,
1995
- IconComponent: N,
1996
- variant: z,
2424
+ inputComponent: D,
2425
+ inputProps: s({
2426
+ children: u,
2427
+ IconComponent: F,
2428
+ variant: H,
1997
2429
  type: void 0,
1998
2430
  // We render a select. We can ignore the type provided by the `Input`.
1999
- multiple: E
2000
- }, T ? {
2001
- id: F
2431
+ multiple: y
2432
+ }, R ? {
2433
+ id: $
2002
2434
  } : {
2003
- autoWidth: b,
2004
- defaultOpen: P,
2005
- displayEmpty: x,
2006
- labelId: O,
2007
- MenuProps: w,
2008
- onClose: a,
2009
- onOpen: p,
2010
- open: R,
2435
+ autoWidth: f,
2436
+ defaultOpen: b,
2437
+ displayEmpty: P,
2438
+ labelId: v,
2439
+ MenuProps: N,
2440
+ onClose: d,
2441
+ onOpen: l,
2442
+ open: T,
2011
2443
  renderValue: S,
2012
- SelectDisplayProps: c({
2013
- id: F
2014
- }, g)
2015
- }, f, {
2016
- classes: f ? en(m, f.classes) : m
2017
- }, k ? k.props.inputProps : {})
2018
- }, E && T && z === "outlined" ? {
2444
+ SelectDisplayProps: s({
2445
+ id: $
2446
+ }, h)
2447
+ }, m, {
2448
+ classes: m ? on(g, m.classes) : g
2449
+ }, M ? M.props.inputProps : {})
2450
+ }, y && R && H === "outlined" ? {
2019
2451
  notched: !0
2020
2452
  } : {}, {
2021
2453
  ref: B,
2022
- className: oe(K.props.className, d)
2023
- }, !k && {
2024
- variant: z
2025
- }, L))
2454
+ className: re(K.props.className, p)
2455
+ }, !M && {
2456
+ variant: H
2457
+ }, A))
2026
2458
  });
2027
2459
  });
2028
- process.env.NODE_ENV !== "production" && (un.propTypes = {
2460
+ process.env.NODE_ENV !== "production" && (Cn.propTypes = {
2029
2461
  // ----------------------------- Warning --------------------------------
2030
2462
  // | These PropTypes are generated from the TypeScript type definitions |
2031
2463
  // | To update them edit the d.ts file and run "yarn proptypes" |
@@ -2172,9 +2604,10 @@ process.env.NODE_ENV !== "production" && (un.propTypes = {
2172
2604
  */
2173
2605
  variant: e.oneOf(["filled", "outlined", "standard"])
2174
2606
  });
2175
- un.muiName = "Select";
2607
+ Cn.muiName = "Select";
2176
2608
  export {
2177
- $e as F,
2178
- Fe as G,
2179
- un as S
2609
+ ke as F,
2610
+ $e as G,
2611
+ je as O,
2612
+ Cn as S
2180
2613
  };