@blockend/widget 1.0.61 → 1.0.62

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