everest-npm-features 0.0.13 → 0.0.15

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