@banzamel/mineralui 2.4.3 → 2.5.2

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 (545) hide show
  1. package/README.md +1 -1
  2. package/dist/MAvatar-CvQuiGvT.cjs +2 -0
  3. package/dist/MAvatar-CvQuiGvT.cjs.map +1 -0
  4. package/dist/MAvatar-EkOBrEtS.js +73 -0
  5. package/dist/MAvatar-EkOBrEtS.js.map +1 -0
  6. package/dist/MButton-BxEky3xQ.cjs +2 -0
  7. package/dist/MButton-BxEky3xQ.cjs.map +1 -0
  8. package/dist/MButton-KELyyBw1.js +123 -0
  9. package/dist/MButton-KELyyBw1.js.map +1 -0
  10. package/dist/{MButtonGroup-BEJxXZ8u.js → MButtonGroup-DDnn8Wfy.js} +3 -3
  11. package/dist/{MButtonGroup-BEJxXZ8u.js.map → MButtonGroup-DDnn8Wfy.js.map} +1 -1
  12. package/dist/{MButtonGroup-DO1Tq3Za.cjs → MButtonGroup-Dz8Fm-oA.cjs} +2 -2
  13. package/dist/{MButtonGroup-DO1Tq3Za.cjs.map → MButtonGroup-Dz8Fm-oA.cjs.map} +1 -1
  14. package/dist/{MCard-P8OoswWM.cjs → MCard-Bqm4BjK_.cjs} +2 -2
  15. package/dist/MCard-Bqm4BjK_.cjs.map +1 -0
  16. package/dist/{MCard-BqSkGAgf.js → MCard-CqZYGaS2.js} +4 -4
  17. package/dist/MCard-CqZYGaS2.js.map +1 -0
  18. package/dist/MCheckbox-CaWgyUn5.js +72 -0
  19. package/dist/MCheckbox-CaWgyUn5.js.map +1 -0
  20. package/dist/MCheckbox-DpKJpnFF.cjs +2 -0
  21. package/dist/MCheckbox-DpKJpnFF.cjs.map +1 -0
  22. package/dist/{MConflictIllustration-znC7ijmP.js → MConflictIllustration-dwZS44ye.js} +1517 -1515
  23. package/dist/MConflictIllustration-dwZS44ye.js.map +1 -0
  24. package/dist/MConflictIllustration-vfHs-jad.cjs +2 -0
  25. package/dist/MConflictIllustration-vfHs-jad.cjs.map +1 -0
  26. package/dist/MDetailList-C3othNs3.js +127 -0
  27. package/dist/MDetailList-C3othNs3.js.map +1 -0
  28. package/dist/MDetailList-DkDHLdJ8.cjs +2 -0
  29. package/dist/MDetailList-DkDHLdJ8.cjs.map +1 -0
  30. package/dist/MDropdownMenu-C4-r7UZM.cjs +2 -0
  31. package/dist/MDropdownMenu-C4-r7UZM.cjs.map +1 -0
  32. package/dist/MDropdownMenu-Dvg9UsHB.js +219 -0
  33. package/dist/MDropdownMenu-Dvg9UsHB.js.map +1 -0
  34. package/dist/MGrid-CQqT8nHi.js +271 -0
  35. package/dist/MGrid-CQqT8nHi.js.map +1 -0
  36. package/dist/MGrid-tBsqShLG.cjs +2 -0
  37. package/dist/MGrid-tBsqShLG.cjs.map +1 -0
  38. package/dist/MHeading-DQSQ8c7L.js +21 -0
  39. package/dist/MHeading-DQSQ8c7L.js.map +1 -0
  40. package/dist/MHeading-DiGYs1FJ.cjs +2 -0
  41. package/dist/MHeading-DiGYs1FJ.cjs.map +1 -0
  42. package/dist/MInput-BeEGufZG.cjs +2 -0
  43. package/dist/MInput-BeEGufZG.cjs.map +1 -0
  44. package/dist/MInput-QnQV9L8U.js +190 -0
  45. package/dist/MInput-QnQV9L8U.js.map +1 -0
  46. package/dist/MInputCVC-CCNRAqHw.cjs +2 -0
  47. package/dist/MInputCVC-CCNRAqHw.cjs.map +1 -0
  48. package/dist/MInputCVC-IXIYZwex.js +410 -0
  49. package/dist/MInputCVC-IXIYZwex.js.map +1 -0
  50. package/dist/MInputSearch-BSIc6m2P.cjs +2 -0
  51. package/dist/MInputSearch-BSIc6m2P.cjs.map +1 -0
  52. package/dist/MInputSearch-CNuTAbYs.js +44 -0
  53. package/dist/MInputSearch-CNuTAbYs.js.map +1 -0
  54. package/dist/{MKbd-BR1GX5oK.cjs → MKbd-CnW3NUIu.cjs} +2 -2
  55. package/dist/{MKbd-BR1GX5oK.cjs.map → MKbd-CnW3NUIu.cjs.map} +1 -1
  56. package/dist/{MKbd-COb7oh_k.js → MKbd-DjfGyajR.js} +2 -2
  57. package/dist/{MKbd-COb7oh_k.js.map → MKbd-DjfGyajR.js.map} +1 -1
  58. package/dist/MLink-C6uwA6db.cjs +2 -0
  59. package/dist/MLink-C6uwA6db.cjs.map +1 -0
  60. package/dist/MLink-ixg0xFFI.js +31 -0
  61. package/dist/MLink-ixg0xFFI.js.map +1 -0
  62. package/dist/MLoader-CViA3zBo.js +44 -0
  63. package/dist/MLoader-CViA3zBo.js.map +1 -0
  64. package/dist/MLoader-DUOoOoNE.cjs +2 -0
  65. package/dist/MLoader-DUOoOoNE.cjs.map +1 -0
  66. package/dist/MPagination-BTGenxWW.js +122 -0
  67. package/dist/MPagination-BTGenxWW.js.map +1 -0
  68. package/dist/MPagination-DitmdtCc.cjs +2 -0
  69. package/dist/MPagination-DitmdtCc.cjs.map +1 -0
  70. package/dist/MPopover-CBDbUOW6.js +183 -0
  71. package/dist/MPopover-CBDbUOW6.js.map +1 -0
  72. package/dist/MPopover-ZeoU9hb5.cjs +2 -0
  73. package/dist/MPopover-ZeoU9hb5.cjs.map +1 -0
  74. package/dist/{MSimpleGrid-Ui8cI0ho.js → MSimpleGrid-C_QvLmck.js} +3 -3
  75. package/dist/MSimpleGrid-C_QvLmck.js.map +1 -0
  76. package/dist/MSimpleGrid-wgvjnxwM.cjs +2 -0
  77. package/dist/MSimpleGrid-wgvjnxwM.cjs.map +1 -0
  78. package/dist/{MSkeleton-Dhu-loDO.js → MSkeleton-BpcpBBJq.js} +12 -10
  79. package/dist/MSkeleton-BpcpBBJq.js.map +1 -0
  80. package/dist/MSkeleton-DuAN8Vcv.cjs +2 -0
  81. package/dist/MSkeleton-DuAN8Vcv.cjs.map +1 -0
  82. package/dist/MSlider-CLASUc2H.js +134 -0
  83. package/dist/MSlider-CLASUc2H.js.map +1 -0
  84. package/dist/MSlider-hONQBulE.cjs +2 -0
  85. package/dist/MSlider-hONQBulE.cjs.map +1 -0
  86. package/dist/MStack-BwAFeGGg.js +39 -0
  87. package/dist/MStack-BwAFeGGg.js.map +1 -0
  88. package/dist/MStack-CGII4A-q.cjs +2 -0
  89. package/dist/MStack-CGII4A-q.cjs.map +1 -0
  90. package/dist/MSubText-BeZk-fhz.js +17 -0
  91. package/dist/MSubText-BeZk-fhz.js.map +1 -0
  92. package/dist/MSubText-Dl1PfToZ.cjs +2 -0
  93. package/dist/MSubText-Dl1PfToZ.cjs.map +1 -0
  94. package/dist/MSurface-B_QnRLr5.js +74 -0
  95. package/dist/MSurface-B_QnRLr5.js.map +1 -0
  96. package/dist/MSurface-BrFo-JMJ.cjs +2 -0
  97. package/dist/MSurface-BrFo-JMJ.cjs.map +1 -0
  98. package/dist/MTag-BZrKN_DS.js +41 -0
  99. package/dist/MTag-BZrKN_DS.js.map +1 -0
  100. package/dist/MTag-DCE1vRJM.cjs +2 -0
  101. package/dist/MTag-DCE1vRJM.cjs.map +1 -0
  102. package/dist/MText-BUWQPoBM.js +45 -0
  103. package/dist/MText-BUWQPoBM.js.map +1 -0
  104. package/dist/MText-nsvLFsSv.cjs +2 -0
  105. package/dist/MText-nsvLFsSv.cjs.map +1 -0
  106. package/dist/MTooltip-BRSPJ3RY.js +100 -0
  107. package/dist/MTooltip-BRSPJ3RY.js.map +1 -0
  108. package/dist/MTooltip-Cj2Fxmzc.cjs +2 -0
  109. package/dist/MTooltip-Cj2Fxmzc.cjs.map +1 -0
  110. package/dist/MTreeView-BWCTlsU-.cjs +2 -0
  111. package/dist/MTreeView-BWCTlsU-.cjs.map +1 -0
  112. package/dist/MTreeView-CWcMwE-Z.js +554 -0
  113. package/dist/MTreeView-CWcMwE-Z.js.map +1 -0
  114. package/dist/calendar-2yhnCkGW.cjs +2 -0
  115. package/dist/calendar-2yhnCkGW.cjs.map +1 -0
  116. package/dist/calendar-DcNYDTVb.js +195 -0
  117. package/dist/calendar-DcNYDTVb.js.map +1 -0
  118. package/dist/calendar.cjs +1 -1
  119. package/dist/calendar.js +1 -1
  120. package/dist/{calendarDates-M_Dawj0j.js → calendarDates-Bpw_G_QR.js} +30 -19
  121. package/dist/calendarDates-Bpw_G_QR.js.map +1 -0
  122. package/dist/calendarDates-Cg0nm69Y.cjs +2 -0
  123. package/dist/calendarDates-Cg0nm69Y.cjs.map +1 -0
  124. package/dist/cards-Bp886TRb.cjs +2 -0
  125. package/dist/cards-Bp886TRb.cjs.map +1 -0
  126. package/dist/cards-BvER6Gx0.js +1277 -0
  127. package/dist/cards-BvER6Gx0.js.map +1 -0
  128. package/dist/cards.cjs +1 -1
  129. package/dist/cards.js +2 -2
  130. package/dist/{cn-YER3QsV1.js → cn-CUSXNnjF.js} +1 -1
  131. package/dist/{cn-YER3QsV1.js.map → cn-CUSXNnjF.js.map} +1 -1
  132. package/dist/{cn-CU5TNITO.cjs → cn-DYFxgzi2.cjs} +1 -1
  133. package/dist/{cn-CU5TNITO.cjs.map → cn-DYFxgzi2.cjs.map} +1 -1
  134. package/dist/components/cards/MCardDaySchedule/MCardDaySchedule.d.ts +1 -1
  135. package/dist/components/cards/MCardDocumentTree/MCardDocumentTree.d.ts +1 -1
  136. package/dist/components/cards/MCardGrid/MCardGrid.d.ts +1 -1
  137. package/dist/components/cards/MCardPayment/MCardPayment.d.ts +1 -1
  138. package/dist/components/cards/MCardPayment/MCardPayment.types.d.ts +4 -0
  139. package/dist/components/cards/MCardPaymentMethod/MCardPaymentMethod.d.ts +1 -1
  140. package/dist/components/cards/MStatCard/MStatCard.d.ts +1 -1
  141. package/dist/components/controls/MCheckbox/MCheckbox.types.d.ts +6 -0
  142. package/dist/components/controls/MLoadMore/MLoadMore.d.ts +1 -1
  143. package/dist/components/controls/MSlider/MSlider.d.ts +1 -1
  144. package/dist/components/controls/MSlider/MSlider.types.d.ts +5 -0
  145. package/dist/components/data/MTreeView/MTreeView.d.ts +1 -1
  146. package/dist/components/data/MTreeView/MTreeView.types.d.ts +6 -0
  147. package/dist/components/data/MWeekGrid/MWeekGrid.d.ts +1 -1
  148. package/dist/components/data/MWeekGrid/MWeekGrid.types.d.ts +9 -3
  149. package/dist/components/display/MCodeBlock/MCodeBlock.d.ts +1 -1
  150. package/dist/components/dropdowns/MAutocomplete/MAutocomplete.d.ts +1 -1
  151. package/dist/components/dropdowns/MAutocomplete/MAutocomplete.types.d.ts +8 -2
  152. package/dist/components/dropdowns/MSelect/MSelect.d.ts +1 -1
  153. package/dist/components/dropdowns/shared/TimeColumnListbox.d.ts +20 -0
  154. package/dist/components/feedback/MAlert/MAlert.d.ts +1 -1
  155. package/dist/components/feedback/MBadge/MBadge.d.ts +1 -1
  156. package/dist/components/feedback/MBanner/MBanner.d.ts +1 -1
  157. package/dist/components/feedback/MLoader/MLoader.d.ts +1 -1
  158. package/dist/components/feedback/MSpinner/MSpinner.d.ts +1 -1
  159. package/dist/components/feedback/MTag/MTag.d.ts +1 -1
  160. package/dist/components/inputs/MInput/MInput.types.d.ts +6 -1
  161. package/dist/components/inputs/MInput/useFormatCaret.d.ts +8 -0
  162. package/dist/components/layout/MCanvasGrid/MCanvasGrid.types.d.ts +5 -0
  163. package/dist/components/layout/MContainer/MContainer.d.ts +1 -1
  164. package/dist/components/layout/MDivider/MDivider.d.ts +1 -1
  165. package/dist/components/layout/MFooter/MFooter.d.ts +1 -1
  166. package/dist/components/layout/MHeader/MHeader.d.ts +1 -1
  167. package/dist/components/layout/MInline/MInline.d.ts +1 -1
  168. package/dist/components/layout/MNavbar/MNavbar.d.ts +1 -1
  169. package/dist/components/layout/MNavbar/MNavbar.types.d.ts +2 -0
  170. package/dist/components/layout/MSection/MSection.d.ts +1 -1
  171. package/dist/components/layout/MStack/MStack.d.ts +1 -1
  172. package/dist/components/layout/MStickyPanel/MStickyPanel.types.d.ts +4 -0
  173. package/dist/components/layout/MSurface/MSurface.d.ts +1 -1
  174. package/dist/components/media/MAvatar/MAvatar.d.ts +1 -1
  175. package/dist/components/media/MAvatar/MAvatar.types.d.ts +10 -0
  176. package/dist/components/media/MCarousel/MCarousel.d.ts +1 -1
  177. package/dist/components/media/MImage/MImage.d.ts +1 -1
  178. package/dist/components/media/carouselA11y.d.ts +9 -0
  179. package/dist/components/overlays/MCommandPalette/MCommandPalette.d.ts +1 -1
  180. package/dist/components/overlays/MDropdownMenu/MDropdownMenu.d.ts +4 -2
  181. package/dist/components/overlays/MDropdownMenu/MDropdownMenu.types.d.ts +3 -1
  182. package/dist/components/overlays/MPopconfirm/MPopconfirm.d.ts +1 -1
  183. package/dist/components/overlays/scrollLock.d.ts +14 -0
  184. package/dist/components/primitives/MPopover/MPopover.d.ts +1 -1
  185. package/dist/components/primitives/MPopover/MPopover.types.d.ts +32 -1
  186. package/dist/components/primitives/MPopover/popoverStack.d.ts +6 -0
  187. package/dist/components/typography/MHeading/MHeading.d.ts +2 -3
  188. package/dist/components/typography/MSubText/MSubText.d.ts +1 -1
  189. package/dist/components/typography/MText/MText.d.ts +1 -1
  190. package/dist/controls-B4Dxaab4.js +491 -0
  191. package/dist/controls-B4Dxaab4.js.map +1 -0
  192. package/dist/controls-CyXEIOXD.cjs +2 -0
  193. package/dist/controls-CyXEIOXD.cjs.map +1 -0
  194. package/dist/controls.cjs +1 -1
  195. package/dist/controls.js +5 -5
  196. package/dist/creditCards-Bo2mrc53.cjs +2 -0
  197. package/dist/creditCards-Bo2mrc53.cjs.map +1 -0
  198. package/dist/{creditCards-D_iWmtG6.js → creditCards-DmDOyvcw.js} +20 -31
  199. package/dist/creditCards-DmDOyvcw.js.map +1 -0
  200. package/dist/data-BM3KG8oN.cjs +2 -0
  201. package/dist/data-BM3KG8oN.cjs.map +1 -0
  202. package/dist/data-qnR8OBmj.js +808 -0
  203. package/dist/data-qnR8OBmj.js.map +1 -0
  204. package/dist/data.cjs +1 -1
  205. package/dist/data.js +2 -2
  206. package/dist/{dateUtils-CUY6CRCf.js → dateUtils-B-ToNZq_.js} +5 -6
  207. package/dist/dateUtils-B-ToNZq_.js.map +1 -0
  208. package/dist/dateUtils-z2L7ZaxA.cjs +2 -0
  209. package/dist/dateUtils-z2L7ZaxA.cjs.map +1 -0
  210. package/dist/display-BLMOBofj.cjs +3 -0
  211. package/dist/display-BLMOBofj.cjs.map +1 -0
  212. package/dist/display-Dlb79lkA.js +968 -0
  213. package/dist/display-Dlb79lkA.js.map +1 -0
  214. package/dist/display.cjs +1 -1
  215. package/dist/display.js +2 -2
  216. package/dist/dropdowns-2_7VMEDo.js +2009 -0
  217. package/dist/dropdowns-2_7VMEDo.js.map +1 -0
  218. package/dist/dropdowns-DN7j8J-V.cjs +2 -0
  219. package/dist/dropdowns-DN7j8J-V.cjs.map +1 -0
  220. package/dist/dropdowns.cjs +1 -1
  221. package/dist/dropdowns.js +1 -1
  222. package/dist/feedback-CECayytY.js +335 -0
  223. package/dist/feedback-CECayytY.js.map +1 -0
  224. package/dist/feedback-paV8Ls-h.cjs +2 -0
  225. package/dist/feedback-paV8Ls-h.cjs.map +1 -0
  226. package/dist/feedback.cjs +1 -1
  227. package/dist/feedback.js +5 -5
  228. package/dist/form-Br56h5EF.cjs +2 -0
  229. package/dist/form-Br56h5EF.cjs.map +1 -0
  230. package/dist/form-CJmMZgsH.js +165 -0
  231. package/dist/form-CJmMZgsH.js.map +1 -0
  232. package/dist/form.cjs +1 -1
  233. package/dist/form.js +1 -1
  234. package/dist/{formatters-CNjg_h7-.cjs → formatters-CauWlsnM.cjs} +1 -1
  235. package/dist/{formatters-CNjg_h7-.cjs.map → formatters-CauWlsnM.cjs.map} +1 -1
  236. package/dist/{formatters-T0vvjMtB.js → formatters-Doqdu_w1.js} +1 -1
  237. package/dist/{formatters-T0vvjMtB.js.map → formatters-Doqdu_w1.js.map} +1 -1
  238. package/dist/frameworkTexts-CaqdiKHW.cjs +2 -0
  239. package/dist/frameworkTexts-CaqdiKHW.cjs.map +1 -0
  240. package/dist/frameworkTexts-o43FqY1A.js +505 -0
  241. package/dist/frameworkTexts-o43FqY1A.js.map +1 -0
  242. package/dist/i18n/MI18nProvider.d.ts +6 -1
  243. package/dist/i18n/frameworkTexts.d.ts +511 -0
  244. package/dist/i18n/index.d.ts +1 -0
  245. package/dist/i18n.cjs +1 -1
  246. package/dist/i18n.js +2 -2
  247. package/dist/icons-Bp8bB9TP.cjs +2 -0
  248. package/dist/icons-Bp8bB9TP.cjs.map +1 -0
  249. package/dist/{icons-CBMl-kOM.js → icons-IqEBmGh3.js} +1223 -1220
  250. package/dist/icons-IqEBmGh3.js.map +1 -0
  251. package/dist/icons.cjs +1 -1
  252. package/dist/icons.js +1 -1
  253. package/dist/illustrations.cjs +1 -1
  254. package/dist/illustrations.js +1 -1
  255. package/dist/index.cjs +1 -1
  256. package/dist/index.d.ts +4 -2
  257. package/dist/index.js +56 -56
  258. package/dist/inputs-C0BJzlA-.js +1923 -0
  259. package/dist/inputs-C0BJzlA-.js.map +1 -0
  260. package/dist/inputs-CvNBBLFA.cjs +2 -0
  261. package/dist/inputs-CvNBBLFA.cjs.map +1 -0
  262. package/dist/inputs.cjs +1 -1
  263. package/dist/inputs.js +4 -4
  264. package/dist/layout-BSFqGXLZ.js +1101 -0
  265. package/dist/layout-BSFqGXLZ.js.map +1 -0
  266. package/dist/layout-MKqvUkPv.cjs +2 -0
  267. package/dist/layout-MKqvUkPv.cjs.map +1 -0
  268. package/dist/layout.cjs +1 -1
  269. package/dist/layout.js +6 -6
  270. package/dist/{layoutProps-Ck4VtGm9.cjs → layoutProps-B8y2XwHy.cjs} +1 -1
  271. package/dist/{layoutProps-Ck4VtGm9.cjs.map → layoutProps-B8y2XwHy.cjs.map} +1 -1
  272. package/dist/{layoutProps-Cl6d1KmH.js → layoutProps-CE5-ghKw.js} +1 -1
  273. package/dist/{layoutProps-Cl6d1KmH.js.map → layoutProps-CE5-ghKw.js.map} +1 -1
  274. package/dist/{licensing-f5KYVz7D.js → licensing-BKmoAdfr.js} +5 -4
  275. package/dist/licensing-BKmoAdfr.js.map +1 -0
  276. package/dist/licensing-DVgjkw-s.cjs +2 -0
  277. package/dist/licensing-DVgjkw-s.cjs.map +1 -0
  278. package/dist/media-fiasAbBv.js +485 -0
  279. package/dist/media-fiasAbBv.js.map +1 -0
  280. package/dist/media-tr1s386v.cjs +2 -0
  281. package/dist/media-tr1s386v.cjs.map +1 -0
  282. package/dist/media.cjs +1 -1
  283. package/dist/media.js +2 -2
  284. package/dist/overlays-Df-NpmkW.cjs +2 -0
  285. package/dist/overlays-Df-NpmkW.cjs.map +1 -0
  286. package/dist/overlays-W0WW3fn7.js +607 -0
  287. package/dist/overlays-W0WW3fn7.js.map +1 -0
  288. package/dist/overlays.cjs +1 -1
  289. package/dist/overlays.js +3 -3
  290. package/dist/primitives.cjs +1 -1
  291. package/dist/primitives.js +2 -2
  292. package/dist/radioGroupKeys-Bm-Qeh8G.js +28 -0
  293. package/dist/radioGroupKeys-Bm-Qeh8G.js.map +1 -0
  294. package/dist/radioGroupKeys-COL8uXbH.cjs +2 -0
  295. package/dist/radioGroupKeys-COL8uXbH.cjs.map +1 -0
  296. package/dist/{relativeTime-Cr-NVzij.js → relativeTime-BqCuaBqb.js} +1 -1
  297. package/dist/{relativeTime-Cr-NVzij.js.map → relativeTime-BqCuaBqb.js.map} +1 -1
  298. package/dist/{relativeTime-DgYBUaVm.cjs → relativeTime-DUbW4O44.cjs} +1 -1
  299. package/dist/{relativeTime-DgYBUaVm.cjs.map → relativeTime-DUbW4O44.cjs.map} +1 -1
  300. package/dist/scrollLock-C9P9o6wH.cjs +2 -0
  301. package/dist/scrollLock-C9P9o6wH.cjs.map +1 -0
  302. package/dist/scrollLock-D27VmgPV.js +14 -0
  303. package/dist/scrollLock-D27VmgPV.js.map +1 -0
  304. package/dist/style-runtime.cjs +1 -1
  305. package/dist/style-runtime.js +1 -1
  306. package/dist/styles.css +1 -1
  307. package/dist/theme/MThemeProvider.d.ts +18 -1
  308. package/dist/theme/index.d.ts +2 -2
  309. package/dist/{theme-DAOU1aPs.js → theme-B_juOenJ.js} +71 -61
  310. package/dist/theme-B_juOenJ.js.map +1 -0
  311. package/dist/theme-ByPZH0dh.cjs +2 -0
  312. package/dist/theme-ByPZH0dh.cjs.map +1 -0
  313. package/dist/theme.cjs +1 -1
  314. package/dist/theme.js +2 -2
  315. package/dist/{typography-C806GYT4.js → typography-DNcB8dOy.js} +3 -3
  316. package/dist/{typography-C806GYT4.js.map → typography-DNcB8dOy.js.map} +1 -1
  317. package/dist/{typography-4v01oNWx.cjs → typography-I7aeG8pH.cjs} +2 -2
  318. package/dist/{typography-4v01oNWx.cjs.map → typography-I7aeG8pH.cjs.map} +1 -1
  319. package/dist/typography.cjs +1 -1
  320. package/dist/typography.js +6 -6
  321. package/dist/useGhostText-CKsb8Ufa.js +240 -0
  322. package/dist/useGhostText-CKsb8Ufa.js.map +1 -0
  323. package/dist/useGhostText-DO-tfxS0.cjs +2 -0
  324. package/dist/useGhostText-DO-tfxS0.cjs.map +1 -0
  325. package/dist/useModalLayer-CpOPSDbf.js +128 -0
  326. package/dist/useModalLayer-CpOPSDbf.js.map +1 -0
  327. package/dist/useModalLayer-Cyt93Prs.cjs +2 -0
  328. package/dist/useModalLayer-Cyt93Prs.cjs.map +1 -0
  329. package/dist/utils/calendarDates.d.ts +5 -0
  330. package/dist/utils/radioGroupKeys.d.ts +9 -0
  331. package/dist/utils/useDateGridNav.d.ts +39 -0
  332. package/dist/utils/useGhostText.d.ts +2 -1
  333. package/dist/utils/useKeyboardNav.d.ts +51 -5
  334. package/dist/utils/useModalLayer.d.ts +4 -0
  335. package/dist/utils/useRovingToolbar.d.ts +26 -0
  336. package/dist/utils/validationMessages.d.ts +15 -0
  337. package/dist/utils.cjs +1 -1
  338. package/dist/utils.entry.d.ts +3 -1
  339. package/dist/utils.js +11 -11
  340. package/dist/validationMessages-BFimXxlT.js +23 -0
  341. package/dist/validationMessages-BFimXxlT.js.map +1 -0
  342. package/dist/validationMessages-iHu7apWr.cjs +2 -0
  343. package/dist/validationMessages-iHu7apWr.cjs.map +1 -0
  344. package/dist/validators-SZmLxnir.cjs +2 -0
  345. package/dist/validators-SZmLxnir.cjs.map +1 -0
  346. package/dist/{validators-DVYOtFnw.js → validators-ULebNme2.js} +107 -106
  347. package/dist/validators-ULebNme2.js.map +1 -0
  348. package/package.json +1 -1
  349. package/dist/MAvatar-DHNB3829.cjs +0 -2
  350. package/dist/MAvatar-DHNB3829.cjs.map +0 -1
  351. package/dist/MAvatar-GeRL-CNO.js +0 -63
  352. package/dist/MAvatar-GeRL-CNO.js.map +0 -1
  353. package/dist/MButton-CEwo8lUB.js +0 -115
  354. package/dist/MButton-CEwo8lUB.js.map +0 -1
  355. package/dist/MButton-CnAr77Za.cjs +0 -2
  356. package/dist/MButton-CnAr77Za.cjs.map +0 -1
  357. package/dist/MCard-BqSkGAgf.js.map +0 -1
  358. package/dist/MCard-P8OoswWM.cjs.map +0 -1
  359. package/dist/MCheckbox-BxFBADcE.js +0 -59
  360. package/dist/MCheckbox-BxFBADcE.js.map +0 -1
  361. package/dist/MCheckbox-DozwF2ai.cjs +0 -2
  362. package/dist/MCheckbox-DozwF2ai.cjs.map +0 -1
  363. package/dist/MConflictIllustration-2QL-BHYv.cjs +0 -2
  364. package/dist/MConflictIllustration-2QL-BHYv.cjs.map +0 -1
  365. package/dist/MConflictIllustration-znC7ijmP.js.map +0 -1
  366. package/dist/MDetailList-CThQvoyf.cjs +0 -2
  367. package/dist/MDetailList-CThQvoyf.cjs.map +0 -1
  368. package/dist/MDetailList-Cx9H81xT.js +0 -98
  369. package/dist/MDetailList-Cx9H81xT.js.map +0 -1
  370. package/dist/MDropdownMenu-DnKcCyW6.cjs +0 -2
  371. package/dist/MDropdownMenu-DnKcCyW6.cjs.map +0 -1
  372. package/dist/MDropdownMenu-DxbKN7Ui.js +0 -172
  373. package/dist/MDropdownMenu-DxbKN7Ui.js.map +0 -1
  374. package/dist/MGrid-BkRSGN2t.cjs +0 -2
  375. package/dist/MGrid-BkRSGN2t.cjs.map +0 -1
  376. package/dist/MGrid-CIz-2i6X.js +0 -265
  377. package/dist/MGrid-CIz-2i6X.js.map +0 -1
  378. package/dist/MHeading-AYQ8_GFP.cjs +0 -2
  379. package/dist/MHeading-AYQ8_GFP.cjs.map +0 -1
  380. package/dist/MHeading-DcGxUMwC.js +0 -21
  381. package/dist/MHeading-DcGxUMwC.js.map +0 -1
  382. package/dist/MI18nProvider-CqAwaswx.cjs +0 -2
  383. package/dist/MI18nProvider-CqAwaswx.cjs.map +0 -1
  384. package/dist/MI18nProvider-VH14CI8u.js +0 -72
  385. package/dist/MI18nProvider-VH14CI8u.js.map +0 -1
  386. package/dist/MInput-BYj2BdUe.cjs +0 -2
  387. package/dist/MInput-BYj2BdUe.cjs.map +0 -1
  388. package/dist/MInput-nodE-CZF.js +0 -188
  389. package/dist/MInput-nodE-CZF.js.map +0 -1
  390. package/dist/MInputCVC-9XWryaTz.cjs +0 -2
  391. package/dist/MInputCVC-9XWryaTz.cjs.map +0 -1
  392. package/dist/MInputCVC-CrDTaUXm.js +0 -321
  393. package/dist/MInputCVC-CrDTaUXm.js.map +0 -1
  394. package/dist/MInputSearch-BMgCHjFk.js +0 -43
  395. package/dist/MInputSearch-BMgCHjFk.js.map +0 -1
  396. package/dist/MInputSearch-BiVI1jNc.cjs +0 -2
  397. package/dist/MInputSearch-BiVI1jNc.cjs.map +0 -1
  398. package/dist/MLink-CAl6N6_z.js +0 -31
  399. package/dist/MLink-CAl6N6_z.js.map +0 -1
  400. package/dist/MLink-Dk_ReE6i.cjs +0 -2
  401. package/dist/MLink-Dk_ReE6i.cjs.map +0 -1
  402. package/dist/MLoader-CYp0OJU_.js +0 -41
  403. package/dist/MLoader-CYp0OJU_.js.map +0 -1
  404. package/dist/MLoader-DvmFle31.cjs +0 -2
  405. package/dist/MLoader-DvmFle31.cjs.map +0 -1
  406. package/dist/MPagination-E7IixIeo.js +0 -113
  407. package/dist/MPagination-E7IixIeo.js.map +0 -1
  408. package/dist/MPagination-reDU9xTW.cjs +0 -2
  409. package/dist/MPagination-reDU9xTW.cjs.map +0 -1
  410. package/dist/MPopover-8gYD3Ogq.js +0 -118
  411. package/dist/MPopover-8gYD3Ogq.js.map +0 -1
  412. package/dist/MPopover-B3npyAkL.cjs +0 -2
  413. package/dist/MPopover-B3npyAkL.cjs.map +0 -1
  414. package/dist/MPortal-Ba2Sxset.js +0 -10
  415. package/dist/MPortal-Ba2Sxset.js.map +0 -1
  416. package/dist/MPortal-CuBXhhl_.cjs +0 -2
  417. package/dist/MPortal-CuBXhhl_.cjs.map +0 -1
  418. package/dist/MSimpleGrid-BchGYPMi.cjs +0 -2
  419. package/dist/MSimpleGrid-BchGYPMi.cjs.map +0 -1
  420. package/dist/MSimpleGrid-Ui8cI0ho.js.map +0 -1
  421. package/dist/MSkeleton-DPa_G_2X.cjs +0 -2
  422. package/dist/MSkeleton-DPa_G_2X.cjs.map +0 -1
  423. package/dist/MSkeleton-Dhu-loDO.js.map +0 -1
  424. package/dist/MSlider-BRjhyBSc.js +0 -75
  425. package/dist/MSlider-BRjhyBSc.js.map +0 -1
  426. package/dist/MSlider-w5214a-W.cjs +0 -2
  427. package/dist/MSlider-w5214a-W.cjs.map +0 -1
  428. package/dist/MStack-Dt-rWvg3.js +0 -39
  429. package/dist/MStack-Dt-rWvg3.js.map +0 -1
  430. package/dist/MStack-nc6Y_9K3.cjs +0 -2
  431. package/dist/MStack-nc6Y_9K3.cjs.map +0 -1
  432. package/dist/MSubText-B0tXiuAp.js +0 -17
  433. package/dist/MSubText-B0tXiuAp.js.map +0 -1
  434. package/dist/MSubText-C6v6Exa2.cjs +0 -2
  435. package/dist/MSubText-C6v6Exa2.cjs.map +0 -1
  436. package/dist/MSurface-BjE-mL1L.cjs +0 -2
  437. package/dist/MSurface-BjE-mL1L.cjs.map +0 -1
  438. package/dist/MSurface-CpDJCdb5.js +0 -74
  439. package/dist/MSurface-CpDJCdb5.js.map +0 -1
  440. package/dist/MTag-BgOxiahL.cjs +0 -2
  441. package/dist/MTag-BgOxiahL.cjs.map +0 -1
  442. package/dist/MTag-cw3cIGHX.js +0 -41
  443. package/dist/MTag-cw3cIGHX.js.map +0 -1
  444. package/dist/MText-BDI4mdw8.cjs +0 -2
  445. package/dist/MText-BDI4mdw8.cjs.map +0 -1
  446. package/dist/MText-DhbAjtUE.js +0 -45
  447. package/dist/MText-DhbAjtUE.js.map +0 -1
  448. package/dist/MTooltip-BAgHlv5I.cjs +0 -2
  449. package/dist/MTooltip-BAgHlv5I.cjs.map +0 -1
  450. package/dist/MTooltip-CJxvlkOX.js +0 -92
  451. package/dist/MTooltip-CJxvlkOX.js.map +0 -1
  452. package/dist/MTreeView-DsBnYQMT.js +0 -315
  453. package/dist/MTreeView-DsBnYQMT.js.map +0 -1
  454. package/dist/MTreeView-LiJ5o-zy.cjs +0 -2
  455. package/dist/MTreeView-LiJ5o-zy.cjs.map +0 -1
  456. package/dist/calendar-Bq6NMNnS.js +0 -193
  457. package/dist/calendar-Bq6NMNnS.js.map +0 -1
  458. package/dist/calendar-C57BH8Nd.cjs +0 -2
  459. package/dist/calendar-C57BH8Nd.cjs.map +0 -1
  460. package/dist/calendarDates-M_Dawj0j.js.map +0 -1
  461. package/dist/calendarDates-qm047RW2.cjs +0 -2
  462. package/dist/calendarDates-qm047RW2.cjs.map +0 -1
  463. package/dist/cards-D4xJVd4q.js +0 -1227
  464. package/dist/cards-D4xJVd4q.js.map +0 -1
  465. package/dist/cards-Du6dbZSQ.cjs +0 -2
  466. package/dist/cards-Du6dbZSQ.cjs.map +0 -1
  467. package/dist/controls-BKoc_yel.js +0 -475
  468. package/dist/controls-BKoc_yel.js.map +0 -1
  469. package/dist/controls-Ck-PMt__.cjs +0 -2
  470. package/dist/controls-Ck-PMt__.cjs.map +0 -1
  471. package/dist/creditCards-D_HwRUBz.cjs +0 -2
  472. package/dist/creditCards-D_HwRUBz.cjs.map +0 -1
  473. package/dist/creditCards-D_iWmtG6.js.map +0 -1
  474. package/dist/data-CdQximqm.js +0 -689
  475. package/dist/data-CdQximqm.js.map +0 -1
  476. package/dist/data-PS4ygCyj.cjs +0 -2
  477. package/dist/data-PS4ygCyj.cjs.map +0 -1
  478. package/dist/dateUtils-CUY6CRCf.js.map +0 -1
  479. package/dist/dateUtils-Dq1vaA-D.cjs +0 -2
  480. package/dist/dateUtils-Dq1vaA-D.cjs.map +0 -1
  481. package/dist/display-YC1fVpXA.js +0 -782
  482. package/dist/display-YC1fVpXA.js.map +0 -1
  483. package/dist/display-slIo1bQI.cjs +0 -3
  484. package/dist/display-slIo1bQI.cjs.map +0 -1
  485. package/dist/dropdowns-DFbUoZ8Q.cjs +0 -2
  486. package/dist/dropdowns-DFbUoZ8Q.cjs.map +0 -1
  487. package/dist/dropdowns-nW3MY5XG.js +0 -1715
  488. package/dist/dropdowns-nW3MY5XG.js.map +0 -1
  489. package/dist/feedback-6MNb2Xyk.cjs +0 -2
  490. package/dist/feedback-6MNb2Xyk.cjs.map +0 -1
  491. package/dist/feedback-CPwJaQHY.js +0 -259
  492. package/dist/feedback-CPwJaQHY.js.map +0 -1
  493. package/dist/form-CMsZo6Dm.cjs +0 -2
  494. package/dist/form-CMsZo6Dm.cjs.map +0 -1
  495. package/dist/form-WU6DcQGD.js +0 -164
  496. package/dist/form-WU6DcQGD.js.map +0 -1
  497. package/dist/frameworkTexts-BSXUtXOp.cjs +0 -2
  498. package/dist/frameworkTexts-BSXUtXOp.cjs.map +0 -1
  499. package/dist/frameworkTexts-DP5RUl19.js +0 -131
  500. package/dist/frameworkTexts-DP5RUl19.js.map +0 -1
  501. package/dist/icons-CBMl-kOM.js.map +0 -1
  502. package/dist/icons-D3n9-919.cjs +0 -2
  503. package/dist/icons-D3n9-919.cjs.map +0 -1
  504. package/dist/inputs-B7rGMLMr.js +0 -1753
  505. package/dist/inputs-B7rGMLMr.js.map +0 -1
  506. package/dist/inputs-BiN62hgH.cjs +0 -2
  507. package/dist/inputs-BiN62hgH.cjs.map +0 -1
  508. package/dist/layout-BMggJ_qO.cjs +0 -2
  509. package/dist/layout-BMggJ_qO.cjs.map +0 -1
  510. package/dist/layout-DBYHyCTr.js +0 -883
  511. package/dist/layout-DBYHyCTr.js.map +0 -1
  512. package/dist/licensing-Be3g-PJt.cjs +0 -2
  513. package/dist/licensing-Be3g-PJt.cjs.map +0 -1
  514. package/dist/licensing-f5KYVz7D.js.map +0 -1
  515. package/dist/media-BPzMgzqE.js +0 -405
  516. package/dist/media-BPzMgzqE.js.map +0 -1
  517. package/dist/media-D63hxCAJ.cjs +0 -2
  518. package/dist/media-D63hxCAJ.cjs.map +0 -1
  519. package/dist/overlays-CCeYD6hT.js +0 -555
  520. package/dist/overlays-CCeYD6hT.js.map +0 -1
  521. package/dist/overlays-CsRN5OG8.cjs +0 -2
  522. package/dist/overlays-CsRN5OG8.cjs.map +0 -1
  523. package/dist/popoverStack--0r2oJCD.js +0 -44
  524. package/dist/popoverStack--0r2oJCD.js.map +0 -1
  525. package/dist/popoverStack-BmMk-VZJ.cjs +0 -2
  526. package/dist/popoverStack-BmMk-VZJ.cjs.map +0 -1
  527. package/dist/theme-CJuqObWL.cjs +0 -2
  528. package/dist/theme-CJuqObWL.cjs.map +0 -1
  529. package/dist/theme-DAOU1aPs.js.map +0 -1
  530. package/dist/useGhostText-DG0bzcao.js +0 -68
  531. package/dist/useGhostText-DG0bzcao.js.map +0 -1
  532. package/dist/useGhostText-mibV4s1-.cjs +0 -2
  533. package/dist/useGhostText-mibV4s1-.cjs.map +0 -1
  534. package/dist/useKeyboardNav-CCUoRMgm.cjs +0 -2
  535. package/dist/useKeyboardNav-CCUoRMgm.cjs.map +0 -1
  536. package/dist/useKeyboardNav-iEXOdEMB.js +0 -43
  537. package/dist/useKeyboardNav-iEXOdEMB.js.map +0 -1
  538. package/dist/useModalLayer-Bf4TcEz-.js +0 -58
  539. package/dist/useModalLayer-Bf4TcEz-.js.map +0 -1
  540. package/dist/useModalLayer-DxYhhgRO.cjs +0 -2
  541. package/dist/useModalLayer-DxYhhgRO.cjs.map +0 -1
  542. package/dist/utils/proActivationWarning.d.ts +0 -7
  543. package/dist/validators-B6yWdsu2.cjs +0 -2
  544. package/dist/validators-B6yWdsu2.cjs.map +0 -1
  545. package/dist/validators-DVYOtFnw.js.map +0 -1
@@ -1,265 +0,0 @@
1
- import { r as e } from "./theme-DAOU1aPs.js";
2
- import { t } from "./cn-YER3QsV1.js";
3
- import { t as n } from "./useInteractionEffect-DtpbVd77.js";
4
- import { n as r, t as i } from "./layoutProps-Cl6d1KmH.js";
5
- import { Children as a, cloneElement as o, isValidElement as s, useId as c, useMemo as l, useState as u } from "react";
6
- import { jsx as d, jsxs as f } from "react/jsx-runtime";
7
- //#region src/components/layout/MTabs/MTabs.tsx
8
- function p({ item: e, isActive: r, tabId: i, panelId: a, clickEffect: o, rippleColor: s, onSelect: c }) {
9
- let { effectClassName: l, effectLayer: u, handlePointerDown: p, triggerEffect: m } = n({
10
- effect: o,
11
- disabled: e.disabled,
12
- centered: !0,
13
- color: s
14
- });
15
- return /* @__PURE__ */ f("button", {
16
- type: "button",
17
- id: i,
18
- role: "tab",
19
- "aria-selected": r,
20
- "aria-controls": a,
21
- tabIndex: r ? 0 : -1,
22
- disabled: e.disabled,
23
- className: t("tabs-trigger", r && "active", e.disabled && "disabled", l),
24
- onPointerDown: p,
25
- onKeyDown: (e) => {
26
- (e.key === " " || e.key === "Enter") && m(e.currentTarget);
27
- },
28
- onClick: () => c(e.value),
29
- children: [
30
- u,
31
- e.icon && /* @__PURE__ */ d("span", {
32
- className: "tabs-icon",
33
- children: e.icon
34
- }),
35
- /* @__PURE__ */ d("span", {
36
- className: "tabs-label",
37
- children: e.label
38
- })
39
- ]
40
- });
41
- }
42
- function m({ items: e, value: n, defaultValue: r, onValueChange: i, variant: a = "underline", orientation: o = "horizontal", size: s = "md", fullWidth: m = !1, showPanels: h = !0, panelClassName: g, clickEffect: _ = "ripple", rippleColor: v, className: y, ...b }) {
43
- let [x, S] = u(l(() => r ?? e.find((e) => !e.disabled)?.value ?? "", [r, e])), C = n ?? x, w = e.find((e) => e.value === C) ?? e[0], T = c();
44
- function E(e) {
45
- n === void 0 && S(e), i?.(e);
46
- }
47
- function D(t) {
48
- let n = e.filter((e) => !e.disabled), r = n.findIndex((e) => e.value === w?.value);
49
- if (r === -1) return;
50
- let i = o === "vertical" ? ["ArrowDown"] : ["ArrowRight", "ArrowDown"], a = o === "vertical" ? ["ArrowUp"] : ["ArrowLeft", "ArrowUp"];
51
- if (i.includes(t.key)) {
52
- t.preventDefault();
53
- let e = n[(r + 1) % n.length];
54
- E(e.value);
55
- }
56
- if (a.includes(t.key)) {
57
- t.preventDefault();
58
- let e = n[(r - 1 + n.length) % n.length];
59
- E(e.value);
60
- }
61
- }
62
- return /* @__PURE__ */ f("div", {
63
- className: t("tabs", a, o, s, m && "full-width", y),
64
- ...b,
65
- children: [/* @__PURE__ */ d("div", {
66
- className: "tabs-list",
67
- role: "tablist",
68
- "aria-orientation": o,
69
- onKeyDown: D,
70
- children: e.map((e) => /* @__PURE__ */ d(p, {
71
- item: e,
72
- isActive: e.value === w?.value,
73
- tabId: `${T}-${e.value}-tab`,
74
- panelId: `${T}-${e.value}-panel`,
75
- clickEffect: _,
76
- rippleColor: v,
77
- onSelect: E
78
- }, e.value))
79
- }), h && w?.content !== void 0 && /* @__PURE__ */ d("div", {
80
- id: `${T}-${w.value}-panel`,
81
- role: "tabpanel",
82
- "aria-labelledby": `${T}-${w.value}-tab`,
83
- className: t("tabs-panel", g),
84
- children: w.content
85
- }, w.value)]
86
- });
87
- }
88
- //#endregion
89
- //#region src/components/layout/MGrid/MGrid.tsx
90
- var h = [
91
- "base",
92
- "xxl",
93
- "xl",
94
- "lg",
95
- "md",
96
- "sm"
97
- ], g = {
98
- sm: ["sm"],
99
- md: ["md", "sm"],
100
- lg: [
101
- "lg",
102
- "md",
103
- "sm"
104
- ],
105
- xl: [
106
- "xl",
107
- "lg",
108
- "md",
109
- "sm"
110
- ],
111
- "2xl": [
112
- "xxl",
113
- "xl",
114
- "lg",
115
- "md",
116
- "sm"
117
- ]
118
- };
119
- function _(e) {
120
- return s(e) ? e.type === C ? !0 : e.type === S && e.props.type === "col" : !1;
121
- }
122
- function v(e) {
123
- let t = e.sm, n = e.md ?? t, r = e.lg ?? n, i = e.xl ?? r, a = e.xxl ?? i;
124
- return {
125
- base: a,
126
- xxl: a,
127
- xl: i,
128
- lg: r,
129
- md: n,
130
- sm: t
131
- };
132
- }
133
- function y(e, t) {
134
- return e === !0 ? !0 : e === void 0 || e === !1 || t === "base" ? !1 : g[e]?.includes(t) ?? !1;
135
- }
136
- function b(e, t) {
137
- if (t <= 0) return [];
138
- if (e <= 0) return Array.from({ length: t }, () => 12);
139
- let n = Math.floor(e / t), r = e % t;
140
- return Array.from({ length: t }, (e, t) => {
141
- let i = n + +(t < r);
142
- return i >= 1 ? i : 12;
143
- });
144
- }
145
- function x(e) {
146
- let t = e.map((e) => v(e)), n = t.map((e) => ({ ...e }));
147
- for (let r of h) {
148
- let i = [], a = 0;
149
- t.forEach((t, o) => {
150
- if (y(e[o].hidden, r)) {
151
- n[o][r] = void 0;
152
- return;
153
- }
154
- let s = t[r];
155
- if (s) {
156
- a += s;
157
- return;
158
- }
159
- i.push(o);
160
- });
161
- let o = b(Math.max(12 - a, 0), i.length);
162
- i.forEach((e, t) => {
163
- n[e][r] = o[t];
164
- });
165
- }
166
- return n;
167
- }
168
- function S({ type: n = "row", sm: s, md: c, lg: l, xl: u, xxl: f, resolvedBase: p, hidden: m, hiddenAbove: h, align: g, spacing: y, padding: b, fsize: S, mt: C, mb: w, ml: T, mr: E, mx: D, my: O, pt: k, pb: A, pl: j, pr: M, px: N, py: P, fullWidth: F, className: I, style: L, children: R, ...z }) {
169
- let B = r({ fsize: S }), V = v({
170
- sm: s,
171
- md: c,
172
- lg: l,
173
- xl: u,
174
- xxl: f
175
- }), H = p ?? V.base;
176
- if (n === "col") return /* @__PURE__ */ d("div", {
177
- className: t("grid", "col", H ? `span-${H}` : "span-auto", f && `xxl-${f}`, u && `xl-${u}`, l && `lg-${l}`, c && `md-${c}`, s && `sm-${s}`, g && `self-${g}`, ...i({
178
- spacing: y,
179
- padding: b,
180
- fsize: S,
181
- mt: C,
182
- mb: w,
183
- ml: T,
184
- mr: E,
185
- mx: D,
186
- my: O,
187
- pt: k,
188
- pb: A,
189
- pl: j,
190
- pr: M,
191
- px: N,
192
- py: P,
193
- fullWidth: F
194
- }), I),
195
- style: {
196
- ...B,
197
- ...L
198
- },
199
- ...e(m, h),
200
- ...z,
201
- children: R
202
- });
203
- let U = a.toArray(R), W = U.flatMap((e, t) => _(e) ? [{
204
- child: e,
205
- index: t
206
- }] : []), G = Math.min(Math.max(W.length || U.length, 1), 12), K = W.some(({ child: e }) => {
207
- let t = e.props;
208
- return !!(t.hidden || t.xxl || t.xl || t.lg || t.md || t.sm);
209
- }), q = K ? x(W.map(({ child: e }) => e.props)) : null, J = K && q ? U.map((e, t) => {
210
- let n = W.findIndex((e) => e.index === t);
211
- if (n === -1 || !_(e)) return e;
212
- let r = q[n];
213
- return o(e, {
214
- resolvedBase: r.base,
215
- xxl: r.xxl,
216
- xl: r.xl,
217
- lg: r.lg,
218
- md: r.md,
219
- sm: r.sm
220
- });
221
- }) : U;
222
- return /* @__PURE__ */ d("div", {
223
- className: t("grid", "row", K ? "tracked" : `auto-cols-${G}`, g && `align-${g}`, ...i({
224
- spacing: y,
225
- padding: b,
226
- fsize: S,
227
- mt: C,
228
- mb: w,
229
- ml: T,
230
- mr: E,
231
- mx: D,
232
- my: O,
233
- pt: k,
234
- pb: A,
235
- pl: j,
236
- pr: M,
237
- px: N,
238
- py: P,
239
- fullWidth: F ?? !0
240
- }), I),
241
- style: {
242
- ...B,
243
- ...L
244
- },
245
- ...e(m),
246
- ...z,
247
- children: J
248
- });
249
- }
250
- function C({ sm: e, md: t, lg: n, xl: r, xxl: i, align: a, ...o }) {
251
- return /* @__PURE__ */ d(S, {
252
- type: "col",
253
- sm: e,
254
- md: t,
255
- lg: n,
256
- xl: r,
257
- xxl: i,
258
- align: a,
259
- ...o
260
- });
261
- }
262
- //#endregion
263
- export { C as n, m as r, S as t };
264
-
265
- //# sourceMappingURL=MGrid-CIz-2i6X.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MGrid-CIz-2i6X.js","names":[],"sources":["../src/components/layout/MTabs/MTabs.tsx","../src/components/layout/MGrid/MGrid.tsx"],"sourcesContent":["import {useId, useMemo, useState} from 'react'\nimport type {KeyboardEvent} from 'react'\nimport type {MTabsItem, MTabsProps} from './MTabs.types'\nimport {cn} from '../../../utils/cn'\nimport {useInteractionEffect} from '../../../utils/useInteractionEffect'\nimport './MTabs.css'\n\ninterface MTabsTriggerProps {\n item: MTabsItem\n isActive: boolean\n tabId: string\n panelId: string\n clickEffect: MTabsProps['clickEffect']\n rippleColor: string | undefined\n onSelect: (value: string) => void\n}\n\n// Keep the tab trigger behavior isolated from the list and panel rendering.\nfunction MTabsTrigger({item, isActive, tabId, panelId, clickEffect, rippleColor, onSelect}: MTabsTriggerProps) {\n const {effectClassName, effectLayer, handlePointerDown, triggerEffect} = useInteractionEffect<HTMLButtonElement>({\n effect: clickEffect,\n disabled: item.disabled,\n centered: true,\n color: rippleColor,\n })\n\n return (\n <button\n type=\"button\"\n id={tabId}\n role=\"tab\"\n aria-selected={isActive}\n aria-controls={panelId}\n tabIndex={isActive ? 0 : -1}\n disabled={item.disabled}\n className={cn('tabs-trigger', isActive && 'active', item.disabled && 'disabled', effectClassName)}\n onPointerDown={handlePointerDown}\n onKeyDown={(event) => {\n if (event.key === ' ' || event.key === 'Enter') {\n triggerEffect(event.currentTarget)\n }\n }}\n onClick={() => onSelect(item.value)}\n >\n {effectLayer}\n {item.icon && <span className=\"tabs-icon\">{item.icon}</span>}\n <span className=\"tabs-label\">{item.label}</span>\n </button>\n )\n}\n\nexport function MTabs({\n items,\n value,\n defaultValue,\n onValueChange,\n variant = 'underline',\n orientation = 'horizontal',\n size = 'md',\n fullWidth = false,\n showPanels = true,\n panelClassName,\n clickEffect = 'ripple',\n rippleColor,\n className,\n ...rest\n}: MTabsProps) {\n // Pick the first enabled item when the caller does not control the active tab.\n const fallbackValue = useMemo(\n () => defaultValue ?? items.find((item) => !item.disabled)?.value ?? '',\n [defaultValue, items]\n )\n const [internalValue, setInternalValue] = useState(fallbackValue)\n const activeValue = value ?? internalValue\n const activeItem = items.find((item) => item.value === activeValue) ?? items[0]\n const baseId = useId()\n\n // Support both controlled and uncontrolled tab state.\n function selectTab(nextValue: string) {\n if (value === undefined) {\n setInternalValue(nextValue)\n }\n onValueChange?.(nextValue)\n }\n\n // Re-map keyboard navigation depending on the rendered orientation.\n function handleKeyDown(event: KeyboardEvent<HTMLDivElement>) {\n const enabledItems = items.filter((item) => !item.disabled)\n const currentIndex = enabledItems.findIndex((item) => item.value === activeItem?.value)\n\n if (currentIndex === -1) {\n return\n }\n\n const nextKeys = orientation === 'vertical' ? ['ArrowDown'] : ['ArrowRight', 'ArrowDown']\n const previousKeys = orientation === 'vertical' ? ['ArrowUp'] : ['ArrowLeft', 'ArrowUp']\n\n if (nextKeys.includes(event.key)) {\n event.preventDefault()\n const nextItem = enabledItems[(currentIndex + 1) % enabledItems.length]\n selectTab(nextItem.value)\n }\n\n if (previousKeys.includes(event.key)) {\n event.preventDefault()\n const nextItem = enabledItems[(currentIndex - 1 + enabledItems.length) % enabledItems.length]\n selectTab(nextItem.value)\n }\n }\n\n return (\n <div className={cn('tabs', variant, orientation, size, fullWidth && 'full-width', className)} {...rest}>\n <div className=\"tabs-list\" role=\"tablist\" aria-orientation={orientation} onKeyDown={handleKeyDown}>\n {items.map((item) => {\n const isActive = item.value === activeItem?.value\n const tabId = `${baseId}-${item.value}-tab`\n const panelId = `${baseId}-${item.value}-panel`\n\n return (\n <MTabsTrigger\n key={item.value}\n item={item}\n isActive={isActive}\n tabId={tabId}\n panelId={panelId}\n clickEffect={clickEffect}\n rippleColor={rippleColor}\n onSelect={selectTab}\n />\n )\n })}\n </div>\n\n {showPanels && activeItem?.content !== undefined && (\n <div\n key={activeItem.value}\n id={`${baseId}-${activeItem.value}-panel`}\n role=\"tabpanel\"\n aria-labelledby={`${baseId}-${activeItem.value}-tab`}\n className={cn('tabs-panel', panelClassName)}\n >\n {activeItem.content}\n </div>\n )}\n </div>\n )\n}\n","import {Children, cloneElement, isValidElement} from 'react'\nimport type {ReactElement} from 'react'\nimport type {MGridColumns, MGridItemProps, MGridProps} from './MGrid.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {getLayoutUtilityClassNames, getLayoutUtilityStyles} from '../../../utils/layoutProps'\nimport './MGrid.css'\n\ntype GridBreakpoint = 'base' | 'xxl' | 'xl' | 'lg' | 'md' | 'sm'\ntype GridBreakpointSpans = Record<GridBreakpoint, MGridColumns | undefined>\ntype MGridInternalProps = MGridProps & {\n resolvedBase?: MGridColumns\n}\n\nconst gridBreakpointOrder: GridBreakpoint[] = ['base', 'xxl', 'xl', 'lg', 'md', 'sm']\n\nconst hiddenBreakpointMap: Record<string, GridBreakpoint[]> = {\n sm: ['sm'],\n md: ['md', 'sm'],\n lg: ['lg', 'md', 'sm'],\n xl: ['xl', 'lg', 'md', 'sm'],\n '2xl': ['xxl', 'xl', 'lg', 'md', 'sm'],\n}\n\nfunction isGridColumnElement(child: unknown): child is ReactElement<MGridProps | MGridItemProps> {\n if (!isValidElement(child)) {\n return false\n }\n\n if (child.type === MGridItem) {\n return true\n }\n\n return child.type === MGrid && (child.props as MGridProps).type === 'col'\n}\n\nfunction getInheritedSpans(props: Partial<MGridProps>): GridBreakpointSpans {\n const sm = props.sm\n const md = props.md ?? sm\n const lg = props.lg ?? md\n const xl = props.xl ?? lg\n const xxl = props.xxl ?? xl\n\n return {\n base: xxl,\n xxl,\n xl,\n lg,\n md,\n sm,\n }\n}\n\nfunction isHiddenAtBreakpoint(hidden: MGridProps['hidden'], breakpoint: GridBreakpoint) {\n if (hidden === true) {\n return true\n }\n\n if (hidden === undefined || hidden === false || breakpoint === 'base') {\n return false\n }\n\n return hiddenBreakpointMap[hidden]?.includes(breakpoint) ?? false\n}\n\nfunction distributeRemainingColumns(remaining: number, count: number): Array<MGridColumns | undefined> {\n if (count <= 0) {\n return []\n }\n\n if (remaining <= 0) {\n return Array.from({length: count}, () => 12 as MGridColumns)\n }\n\n const base = Math.floor(remaining / count)\n const extra = remaining % count\n\n return Array.from({length: count}, (_, index) => {\n const value = base + (index < extra ? 1 : 0)\n return value >= 1 ? (value as MGridColumns) : (12 as MGridColumns)\n })\n}\n\nfunction resolveAutoSpans(columnProps: Array<Partial<MGridProps>>) {\n const normalized = columnProps.map((props) => getInheritedSpans(props))\n const resolved = normalized.map((spans) => ({...spans}))\n\n for (const breakpoint of gridBreakpointOrder) {\n const autoIndexes: number[] = []\n let usedColumns = 0\n\n normalized.forEach((spans, index) => {\n if (isHiddenAtBreakpoint(columnProps[index].hidden, breakpoint)) {\n resolved[index][breakpoint] = undefined\n return\n }\n\n const value = spans[breakpoint]\n\n if (value) {\n usedColumns += value\n return\n }\n\n autoIndexes.push(index)\n })\n\n const distributed = distributeRemainingColumns(Math.max(12 - usedColumns, 0), autoIndexes.length)\n\n autoIndexes.forEach((columnIndex, autoIndex) => {\n resolved[columnIndex][breakpoint] = distributed[autoIndex]\n })\n }\n\n return resolved\n}\n\n// Render either a responsive row or a responsive column using one shared grid API.\nexport function MGrid({\n type = 'row',\n sm,\n md,\n lg,\n xl,\n xxl,\n resolvedBase,\n hidden,\n hiddenAbove,\n align,\n spacing,\n padding,\n fsize,\n mt,\n mb,\n ml,\n mr,\n mx,\n my,\n pt,\n pb,\n pl,\n pr,\n px,\n py,\n fullWidth,\n className,\n style,\n children,\n ...rest\n}: MGridInternalProps) {\n const utilityStyle = getLayoutUtilityStyles({fsize})\n const inheritedSpans = getInheritedSpans({sm, md, lg, xl, xxl})\n const baseSpan = resolvedBase ?? inheritedSpans.base\n\n if (type === 'col') {\n return (\n <div\n className={cn(\n 'grid',\n 'col',\n baseSpan ? `span-${baseSpan}` : 'span-auto',\n xxl && `xxl-${xxl}`,\n xl && `xl-${xl}`,\n lg && `lg-${lg}`,\n md && `md-${md}`,\n sm && `sm-${sm}`,\n align && `self-${align}`,\n ...getLayoutUtilityClassNames({\n spacing,\n padding,\n fsize,\n mt,\n mb,\n ml,\n mr,\n mx,\n my,\n pt,\n pb,\n pl,\n pr,\n px,\n py,\n fullWidth,\n }),\n className\n )}\n style={{...utilityStyle, ...style}}\n {...getHiddenProps(hidden, hiddenAbove)}\n {...rest}\n >\n {children}\n </div>\n )\n }\n\n const childArray = Children.toArray(children)\n const columnEntries = childArray.flatMap((child, index) => (isGridColumnElement(child) ? [{child, index}] : []))\n const autoColumns = Math.min(Math.max(columnEntries.length || childArray.length, 1), 12)\n const needsResponsiveResolution = columnEntries.some(({child}) => {\n const p = child.props as MGridProps\n return Boolean(p.hidden || p.xxl || p.xl || p.lg || p.md || p.sm)\n })\n const resolvedSpans = needsResponsiveResolution\n ? resolveAutoSpans(columnEntries.map(({child}) => child.props as Partial<MGridProps>))\n : null\n const resolvedChildren =\n needsResponsiveResolution && resolvedSpans\n ? childArray.map((child, childIndex) => {\n const columnIndex = columnEntries.findIndex((entry) => entry.index === childIndex)\n\n if (columnIndex === -1 || !isGridColumnElement(child)) {\n return child\n }\n\n const spans = resolvedSpans[columnIndex]\n\n return cloneElement(child as ReactElement<MGridInternalProps>, {\n resolvedBase: spans.base,\n xxl: spans.xxl,\n xl: spans.xl,\n lg: spans.lg,\n md: spans.md,\n sm: spans.sm,\n })\n })\n : childArray\n\n return (\n <div\n className={cn(\n 'grid',\n 'row',\n needsResponsiveResolution ? 'tracked' : `auto-cols-${autoColumns}`,\n align && `align-${align}`,\n ...getLayoutUtilityClassNames({\n spacing,\n padding,\n fsize,\n mt,\n mb,\n ml,\n mr,\n mx,\n my,\n pt,\n pb,\n pl,\n pr,\n px,\n py,\n fullWidth: fullWidth ?? true,\n }),\n className\n )}\n style={{...utilityStyle, ...style}}\n {...getHiddenProps(hidden)}\n {...rest}\n >\n {resolvedChildren}\n </div>\n )\n}\n\n// Keep MGridItem as a compatibility alias for explicit column declarations.\nexport function MGridItem({sm, md, lg, xl, xxl, align, ...rest}: MGridItemProps) {\n return <MGrid type=\"col\" sm={sm} md={md} lg={lg} xl={xl} xxl={xxl} align={align} {...rest} />\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- const e=require(`./theme-CJuqObWL.cjs`),t=require(`./cn-CU5TNITO.cjs`),n=require(`./MText-BDI4mdw8.cjs`);require(`./core-w629c4ND.cjs`);let r=require(`react`);function i({level:i=2,tone:a=`default`,hidden:o,color:s,truncate:c,className:l,style:u,children:d,...f}){let p=typeof c==`number`?c:void 0;return(0,r.createElement)(`h${i}`,{className:t.t(`heading`,`h${i}`,!s&&a,c===!0&&`truncate`,p!=null&&`line-clamp`,...n.n({color:s}),l),style:p?{"--line-clamp":p,...u}:u,...e.r(o),...f},d)}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
2
- //# sourceMappingURL=MHeading-AYQ8_GFP.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MHeading-AYQ8_GFP.cjs","names":[],"sources":["../src/components/typography/MHeading/MHeading.tsx"],"sourcesContent":["import {createElement} from 'react'\nimport type {CSSProperties} from 'react'\nimport type {MHeadingProps} from './MHeading.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {getAppearanceClassNames} from '../../../utils/appearanceProps'\nimport './MHeading.css'\n\n// Render semantic heading levels with shared MineralUI typography tokens.\nexport function MHeading({\n level = 2,\n tone = 'default',\n hidden,\n color,\n truncate,\n className,\n style,\n children,\n ...rest\n}: MHeadingProps) {\n const lines = typeof truncate === 'number' ? truncate : undefined\n\n return createElement(\n `h${level}`,\n {\n className: cn(\n 'heading',\n `h${level}`,\n !color && tone,\n truncate === true && 'truncate',\n lines != null && 'line-clamp',\n ...getAppearanceClassNames({color}),\n className\n ),\n style: lines ? ({'--line-clamp': lines, ...style} as CSSProperties) : style,\n ...getHiddenProps(hidden),\n ...rest,\n },\n children\n )\n}\n"],"mappings":"+JASA,SAAgB,EAAS,CACrB,QAAQ,EACR,OAAO,UACP,SACA,QACA,WACA,YACA,QACA,WACA,GAAG,GACW,CACd,IAAM,EAAQ,OAAO,GAAa,SAAW,EAAW,IAAA,GAExD,OAAA,EAAA,EAAA,eACI,IAAI,IACJ,CACI,UAAW,EAAA,EACP,UACA,IAAI,IACJ,CAAC,GAAS,EACV,IAAa,IAAQ,WACrB,GAAS,MAAQ,aACjB,GAAG,EAAA,EAAwB,CAAC,QAAM,CAAC,CACnC,EACH,CACD,MAAO,EAAS,CAAC,eAAgB,EAAO,GAAG,EAAM,CAAqB,EACtE,GAAG,EAAA,EAAe,EAAO,CACzB,GAAG,EACN,CACD,EACH"}
@@ -1,21 +0,0 @@
1
- import { r as e } from "./theme-DAOU1aPs.js";
2
- import { t } from "./cn-YER3QsV1.js";
3
- import { n } from "./MText-DhbAjtUE.js";
4
- import { createElement as r } from "react";
5
- //#region src/components/typography/MHeading/MHeading.tsx
6
- function i({ level: i = 2, tone: a = "default", hidden: o, color: s, truncate: c, className: l, style: u, children: d, ...f }) {
7
- let p = typeof c == "number" ? c : void 0;
8
- return r(`h${i}`, {
9
- className: t("heading", `h${i}`, !s && a, c === !0 && "truncate", p != null && "line-clamp", ...n({ color: s }), l),
10
- style: p ? {
11
- "--line-clamp": p,
12
- ...u
13
- } : u,
14
- ...e(o),
15
- ...f
16
- }, d);
17
- }
18
- //#endregion
19
- export { i as t };
20
-
21
- //# sourceMappingURL=MHeading-DcGxUMwC.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MHeading-DcGxUMwC.js","names":[],"sources":["../src/components/typography/MHeading/MHeading.tsx"],"sourcesContent":["import {createElement} from 'react'\nimport type {CSSProperties} from 'react'\nimport type {MHeadingProps} from './MHeading.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {getAppearanceClassNames} from '../../../utils/appearanceProps'\nimport './MHeading.css'\n\n// Render semantic heading levels with shared MineralUI typography tokens.\nexport function MHeading({\n level = 2,\n tone = 'default',\n hidden,\n color,\n truncate,\n className,\n style,\n children,\n ...rest\n}: MHeadingProps) {\n const lines = typeof truncate === 'number' ? truncate : undefined\n\n return createElement(\n `h${level}`,\n {\n className: cn(\n 'heading',\n `h${level}`,\n !color && tone,\n truncate === true && 'truncate',\n lines != null && 'line-clamp',\n ...getAppearanceClassNames({color}),\n className\n ),\n style: lines ? ({'--line-clamp': lines, ...style} as CSSProperties) : style,\n ...getHiddenProps(hidden),\n ...rest,\n },\n children\n )\n}\n"],"mappings":";;;;;AASA,SAAgB,EAAS,EACrB,WAAQ,GACR,UAAO,WACP,WACA,UACA,aACA,cACA,UACA,aACA,GAAG,KACW;CACd,IAAM,IAAQ,OAAO,KAAa,WAAW,IAAW,KAAA;AAExD,QAAO,EACH,IAAI,KACJ;EACI,WAAW,EACP,WACA,IAAI,KACJ,CAAC,KAAS,GACV,MAAa,MAAQ,YACrB,KAAS,QAAQ,cACjB,GAAG,EAAwB,EAAC,UAAM,CAAC,EACnC,EACH;EACD,OAAO,IAAS;GAAC,gBAAgB;GAAO,GAAG;GAAM,GAAqB;EACtE,GAAG,EAAe,EAAO;EACzB,GAAG;EACN,EACD,EACH"}
@@ -1,2 +0,0 @@
1
- require(`./core-w629c4ND.cjs`);let e=require(`react`),t=require(`react/jsx-runtime`);var n=`mineralui-locale`;function r(e){try{return localStorage.getItem(n)??e}catch{return e}}function i(e,t){return t.split(`.`).reduce((e,t)=>typeof e==`object`&&e?e[t]:void 0,e)}var a=(0,e.createContext)(null);function o({locales:o,defaultLocale:s,persist:c=!0,children:l}){let u=(0,e.useMemo)(()=>Object.keys(o),[o]),d=s??u[0]??`en`,[f,p]=(0,e.useState)(()=>{if(c){let e=r(d);if(e in o)return e}return d}),m=(0,e.useCallback)(e=>{if(p(e),c)try{localStorage.setItem(n,e)}catch{}},[c]),h=(0,e.useCallback)(()=>{let e=u[(u.indexOf(f)+1)%u.length];m(e)},[u,f,m]);(0,e.useEffect)(()=>{document.documentElement.lang=f},[f]);let g=o[f]??o[d]??{},_=(0,e.useCallback)((e,t)=>{let n=i(g,e);if(typeof n==`string`)return n;let r=typeof g==`object`&&g&&typeof g.docsTranslations==`object`?g.docsTranslations[e]:void 0;return typeof r==`string`?r:t??e},[g]),v=(0,e.useMemo)(()=>({locale:f,setLocale:m,toggleLocale:h,dict:g,t:_}),[f,m,h,g,_]);return(0,t.jsx)(a.Provider,{value:v,children:l})}function s(){let t=(0,e.useContext)(a);if(!t)throw Error(`useMI18n must be used within MI18nProvider`);return t}function c(){return(0,e.useContext)(a)}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return o}});
2
- //# sourceMappingURL=MI18nProvider-CqAwaswx.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MI18nProvider-CqAwaswx.cjs","names":[],"sources":["../src/i18n/MI18nProvider.tsx"],"sourcesContent":["import {createContext, useCallback, useContext, useEffect, useMemo, useState, type ReactNode} from 'react'\n\nconst STORAGE_KEY = 'mineralui-locale'\n\ntype Dict = Record<string, unknown>\n\n// Read the saved locale, but fall back cleanly in SSR or blocked storage.\nfunction readStored(fallback: string): string {\n try {\n return localStorage.getItem(STORAGE_KEY) ?? fallback\n } catch {\n return fallback\n }\n}\n\n// Resolve nested translation keys like \"ui.actions.save\".\nfunction getByPath(obj: unknown, path: string): unknown {\n return path\n .split('.')\n .reduce<unknown>((cur, key) => (cur != null && typeof cur === 'object' ? (cur as Dict)[key] : undefined), obj)\n}\n\nexport interface MI18nContextValue<T extends Dict = Dict> {\n locale: string\n setLocale: (next: string) => void\n toggleLocale: () => void\n dict: T\n t: (key: string, fallback?: string) => string\n}\n\nconst I18nContext = createContext<MI18nContextValue | null>(null)\n\nexport interface MI18nProviderProps<T extends Dict = Dict> {\n locales: Record<string, T>\n defaultLocale?: string\n persist?: boolean\n children: ReactNode\n}\n\n// Provide the active locale, dictionary and a tiny dot-path translator.\nexport function MI18nProvider<T extends Dict = Dict>({\n locales,\n defaultLocale,\n persist = true,\n children,\n}: MI18nProviderProps<T>) {\n const keys = useMemo(() => Object.keys(locales), [locales])\n const fallback = defaultLocale ?? keys[0] ?? 'en'\n\n const [locale, setLocaleState] = useState<string>(() => {\n if (persist) {\n const stored = readStored(fallback)\n if (stored in locales) return stored\n }\n return fallback\n })\n\n const setLocale = useCallback(\n (next: string) => {\n setLocaleState(next)\n if (persist) {\n try {\n localStorage.setItem(STORAGE_KEY, next)\n } catch {\n /* noop */\n }\n }\n },\n [persist]\n )\n\n const toggleLocale = useCallback(() => {\n const idx = keys.indexOf(locale)\n const next = keys[(idx + 1) % keys.length]\n setLocale(next)\n }, [keys, locale, setLocale])\n\n useEffect(() => {\n document.documentElement.lang = locale\n }, [locale])\n\n const dict = (locales[locale] ?? locales[fallback] ?? {}) as T\n\n const t = useCallback(\n (key: string, fb?: string): string => {\n const val = getByPath(dict, key)\n if (typeof val === 'string') return val\n\n const docsVal =\n dict != null && typeof dict === 'object' && typeof (dict as Dict).docsTranslations === 'object'\n ? ((dict as Dict).docsTranslations as Dict)[key]\n : undefined\n\n if (typeof docsVal === 'string') return docsVal\n\n return fb ?? key\n },\n [dict]\n )\n\n const ctx = useMemo<MI18nContextValue<T>>(\n () => ({\n locale,\n setLocale,\n toggleLocale,\n dict,\n t,\n }),\n [locale, setLocale, toggleLocale, dict, t]\n )\n\n return <I18nContext.Provider value={ctx as MI18nContextValue}>{children}</I18nContext.Provider>\n}\n\nexport function useMI18n<T extends Dict = Dict>(): MI18nContextValue<T> {\n const ctx = useContext(I18nContext)\n if (!ctx) throw new Error('useMI18n must be used within MI18nProvider')\n return ctx as MI18nContextValue<T>\n}\n\nexport function useOptionalMI18n<T extends Dict = Dict>(): MI18nContextValue<T> | null {\n const ctx = useContext(I18nContext)\n return ctx as MI18nContextValue<T> | null\n}\n"],"mappings":"qFAEA,IAAM,EAAc,mBAKpB,SAAS,EAAW,EAA0B,CAC1C,GAAI,CACA,OAAO,aAAa,QAAQ,EAAY,EAAI,OACxC,CACJ,OAAO,GAKf,SAAS,EAAU,EAAc,EAAuB,CACpD,OAAO,EACF,MAAM,IAAI,CACV,QAAiB,EAAK,IAAwB,OAAO,GAAQ,UAA9B,EAA0C,EAAa,GAAO,IAAA,GAAY,EAAI,CAWtH,IAAM,GAAA,EAAA,EAAA,eAAsD,KAAK,CAUjE,SAAgB,EAAqC,CACjD,UACA,gBACA,UAAU,GACV,YACsB,CACtB,IAAM,GAAA,EAAA,EAAA,aAAqB,OAAO,KAAK,EAAQ,CAAE,CAAC,EAAQ,CAAC,CACrD,EAAW,GAAiB,EAAK,IAAM,KAEvC,CAAC,EAAQ,IAAA,EAAA,EAAA,cAAyC,CACpD,GAAI,EAAS,CACT,IAAM,EAAS,EAAW,EAAS,CACnC,GAAI,KAAU,EAAS,OAAO,EAElC,OAAO,GACT,CAEI,GAAA,EAAA,EAAA,aACD,GAAiB,CAEd,GADA,EAAe,EAAK,CAChB,EACA,GAAI,CACA,aAAa,QAAQ,EAAa,EAAK,MACnC,IAKhB,CAAC,EAAQ,CACZ,CAEK,GAAA,EAAA,EAAA,iBAAiC,CAEnC,IAAM,EAAO,GADD,EAAK,QAAQ,EAAO,CACP,GAAK,EAAK,QACnC,EAAU,EAAK,EAChB,CAAC,EAAM,EAAQ,EAAU,CAAC,EAE7B,EAAA,EAAA,eAAgB,CACZ,SAAS,gBAAgB,KAAO,GACjC,CAAC,EAAO,CAAC,CAEZ,IAAM,EAAQ,EAAQ,IAAW,EAAQ,IAAa,EAAE,CAElD,GAAA,EAAA,EAAA,cACD,EAAa,IAAwB,CAClC,IAAM,EAAM,EAAU,EAAM,EAAI,CAChC,GAAI,OAAO,GAAQ,SAAU,OAAO,EAEpC,IAAM,EACc,OAAO,GAAS,UAAhC,GAA4C,OAAQ,EAAc,kBAAqB,SAC/E,EAAc,iBAA0B,GAC1C,IAAA,GAIV,OAFI,OAAO,GAAY,SAAiB,EAEjC,GAAM,GAEjB,CAAC,EAAK,CACT,CAEK,GAAA,EAAA,EAAA,cACK,CACH,SACA,YACA,eACA,OACA,IACH,EACD,CAAC,EAAQ,EAAW,EAAc,EAAM,EAAE,CAC7C,CAED,OAAO,EAAA,EAAA,KAAC,EAAY,SAAb,CAAsB,MAAO,EAA2B,WAAgC,CAAA,CAGnG,SAAgB,GAAwD,CACpE,IAAM,GAAA,EAAA,EAAA,YAAiB,EAAY,CACnC,GAAI,CAAC,EAAK,MAAU,MAAM,6CAA6C,CACvE,OAAO,EAGX,SAAgB,GAAuE,CAEnF,OAAA,EAAA,EAAA,YADuB,EAAY"}
@@ -1,72 +0,0 @@
1
- import { createContext as e, useCallback as t, useContext as n, useEffect as r, useMemo as i, useState as a } from "react";
2
- import { jsx as o } from "react/jsx-runtime";
3
- //#region src/i18n/MI18nProvider.tsx
4
- var s = "mineralui-locale";
5
- function c(e) {
6
- try {
7
- return localStorage.getItem(s) ?? e;
8
- } catch {
9
- return e;
10
- }
11
- }
12
- function l(e, t) {
13
- return t.split(".").reduce((e, t) => typeof e == "object" && e ? e[t] : void 0, e);
14
- }
15
- var u = e(null);
16
- function d({ locales: e, defaultLocale: n, persist: d = !0, children: f }) {
17
- let p = i(() => Object.keys(e), [e]), m = n ?? p[0] ?? "en", [h, g] = a(() => {
18
- if (d) {
19
- let t = c(m);
20
- if (t in e) return t;
21
- }
22
- return m;
23
- }), _ = t((e) => {
24
- if (g(e), d) try {
25
- localStorage.setItem(s, e);
26
- } catch {}
27
- }, [d]), v = t(() => {
28
- let e = p[(p.indexOf(h) + 1) % p.length];
29
- _(e);
30
- }, [
31
- p,
32
- h,
33
- _
34
- ]);
35
- r(() => {
36
- document.documentElement.lang = h;
37
- }, [h]);
38
- let y = e[h] ?? e[m] ?? {}, b = t((e, t) => {
39
- let n = l(y, e);
40
- if (typeof n == "string") return n;
41
- let r = typeof y == "object" && y && typeof y.docsTranslations == "object" ? y.docsTranslations[e] : void 0;
42
- return typeof r == "string" ? r : t ?? e;
43
- }, [y]), x = i(() => ({
44
- locale: h,
45
- setLocale: _,
46
- toggleLocale: v,
47
- dict: y,
48
- t: b
49
- }), [
50
- h,
51
- _,
52
- v,
53
- y,
54
- b
55
- ]);
56
- return /* @__PURE__ */ o(u.Provider, {
57
- value: x,
58
- children: f
59
- });
60
- }
61
- function f() {
62
- let e = n(u);
63
- if (!e) throw Error("useMI18n must be used within MI18nProvider");
64
- return e;
65
- }
66
- function p() {
67
- return n(u);
68
- }
69
- //#endregion
70
- export { f as n, p as r, d as t };
71
-
72
- //# sourceMappingURL=MI18nProvider-VH14CI8u.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MI18nProvider-VH14CI8u.js","names":[],"sources":["../src/i18n/MI18nProvider.tsx"],"sourcesContent":["import {createContext, useCallback, useContext, useEffect, useMemo, useState, type ReactNode} from 'react'\n\nconst STORAGE_KEY = 'mineralui-locale'\n\ntype Dict = Record<string, unknown>\n\n// Read the saved locale, but fall back cleanly in SSR or blocked storage.\nfunction readStored(fallback: string): string {\n try {\n return localStorage.getItem(STORAGE_KEY) ?? fallback\n } catch {\n return fallback\n }\n}\n\n// Resolve nested translation keys like \"ui.actions.save\".\nfunction getByPath(obj: unknown, path: string): unknown {\n return path\n .split('.')\n .reduce<unknown>((cur, key) => (cur != null && typeof cur === 'object' ? (cur as Dict)[key] : undefined), obj)\n}\n\nexport interface MI18nContextValue<T extends Dict = Dict> {\n locale: string\n setLocale: (next: string) => void\n toggleLocale: () => void\n dict: T\n t: (key: string, fallback?: string) => string\n}\n\nconst I18nContext = createContext<MI18nContextValue | null>(null)\n\nexport interface MI18nProviderProps<T extends Dict = Dict> {\n locales: Record<string, T>\n defaultLocale?: string\n persist?: boolean\n children: ReactNode\n}\n\n// Provide the active locale, dictionary and a tiny dot-path translator.\nexport function MI18nProvider<T extends Dict = Dict>({\n locales,\n defaultLocale,\n persist = true,\n children,\n}: MI18nProviderProps<T>) {\n const keys = useMemo(() => Object.keys(locales), [locales])\n const fallback = defaultLocale ?? keys[0] ?? 'en'\n\n const [locale, setLocaleState] = useState<string>(() => {\n if (persist) {\n const stored = readStored(fallback)\n if (stored in locales) return stored\n }\n return fallback\n })\n\n const setLocale = useCallback(\n (next: string) => {\n setLocaleState(next)\n if (persist) {\n try {\n localStorage.setItem(STORAGE_KEY, next)\n } catch {\n /* noop */\n }\n }\n },\n [persist]\n )\n\n const toggleLocale = useCallback(() => {\n const idx = keys.indexOf(locale)\n const next = keys[(idx + 1) % keys.length]\n setLocale(next)\n }, [keys, locale, setLocale])\n\n useEffect(() => {\n document.documentElement.lang = locale\n }, [locale])\n\n const dict = (locales[locale] ?? locales[fallback] ?? {}) as T\n\n const t = useCallback(\n (key: string, fb?: string): string => {\n const val = getByPath(dict, key)\n if (typeof val === 'string') return val\n\n const docsVal =\n dict != null && typeof dict === 'object' && typeof (dict as Dict).docsTranslations === 'object'\n ? ((dict as Dict).docsTranslations as Dict)[key]\n : undefined\n\n if (typeof docsVal === 'string') return docsVal\n\n return fb ?? key\n },\n [dict]\n )\n\n const ctx = useMemo<MI18nContextValue<T>>(\n () => ({\n locale,\n setLocale,\n toggleLocale,\n dict,\n t,\n }),\n [locale, setLocale, toggleLocale, dict, t]\n )\n\n return <I18nContext.Provider value={ctx as MI18nContextValue}>{children}</I18nContext.Provider>\n}\n\nexport function useMI18n<T extends Dict = Dict>(): MI18nContextValue<T> {\n const ctx = useContext(I18nContext)\n if (!ctx) throw new Error('useMI18n must be used within MI18nProvider')\n return ctx as MI18nContextValue<T>\n}\n\nexport function useOptionalMI18n<T extends Dict = Dict>(): MI18nContextValue<T> | null {\n const ctx = useContext(I18nContext)\n return ctx as MI18nContextValue<T> | null\n}\n"],"mappings":";;;AAEA,IAAM,IAAc;AAKpB,SAAS,EAAW,GAA0B;AAC1C,KAAI;AACA,SAAO,aAAa,QAAQ,EAAY,IAAI;SACxC;AACJ,SAAO;;;AAKf,SAAS,EAAU,GAAc,GAAuB;AACpD,QAAO,EACF,MAAM,IAAI,CACV,QAAiB,GAAK,MAAwB,OAAO,KAAQ,YAA9B,IAA0C,EAAa,KAAO,KAAA,GAAY,EAAI;;AAWtH,IAAM,IAAc,EAAwC,KAAK;AAUjE,SAAgB,EAAqC,EACjD,YACA,kBACA,aAAU,IACV,eACsB;CACtB,IAAM,IAAO,QAAc,OAAO,KAAK,EAAQ,EAAE,CAAC,EAAQ,CAAC,EACrD,IAAW,KAAiB,EAAK,MAAM,MAEvC,CAAC,GAAQ,KAAkB,QAAuB;AACpD,MAAI,GAAS;GACT,IAAM,IAAS,EAAW,EAAS;AACnC,OAAI,KAAU,EAAS,QAAO;;AAElC,SAAO;GACT,EAEI,IAAY,GACb,MAAiB;AAEd,MADA,EAAe,EAAK,EAChB,EACA,KAAI;AACA,gBAAa,QAAQ,GAAa,EAAK;UACnC;IAKhB,CAAC,EAAQ,CACZ,EAEK,IAAe,QAAkB;EAEnC,IAAM,IAAO,GADD,EAAK,QAAQ,EAAO,GACP,KAAK,EAAK;AACnC,IAAU,EAAK;IAChB;EAAC;EAAM;EAAQ;EAAU,CAAC;AAE7B,SAAgB;AACZ,WAAS,gBAAgB,OAAO;IACjC,CAAC,EAAO,CAAC;CAEZ,IAAM,IAAQ,EAAQ,MAAW,EAAQ,MAAa,EAAE,EAElD,IAAI,GACL,GAAa,MAAwB;EAClC,IAAM,IAAM,EAAU,GAAM,EAAI;AAChC,MAAI,OAAO,KAAQ,SAAU,QAAO;EAEpC,IAAM,IACc,OAAO,KAAS,YAAhC,KAA4C,OAAQ,EAAc,oBAAqB,WAC/E,EAAc,iBAA0B,KAC1C,KAAA;AAIV,SAFI,OAAO,KAAY,WAAiB,IAEjC,KAAM;IAEjB,CAAC,EAAK,CACT,EAEK,IAAM,SACD;EACH;EACA;EACA;EACA;EACA;EACH,GACD;EAAC;EAAQ;EAAW;EAAc;EAAM;EAAE,CAC7C;AAED,QAAO,kBAAC,EAAY,UAAb;EAAsB,OAAO;EAA2B;EAAgC,CAAA;;AAGnG,SAAgB,IAAwD;CACpE,IAAM,IAAM,EAAW,EAAY;AACnC,KAAI,CAAC,EAAK,OAAU,MAAM,6CAA6C;AACvE,QAAO;;AAGX,SAAgB,IAAuE;AAEnF,QADY,EAAW,EAAY"}
@@ -1,2 +0,0 @@
1
- const e=require(`./icons-D3n9-919.cjs`),t=require(`./cn-CU5TNITO.cjs`),n=require(`./useGhostText-mibV4s1-.cjs`),r=require(`./useInteractionEffect-CtXlbjhC.cjs`),i=require(`./MButton-CnAr77Za.cjs`),ee=require(`./frameworkTexts-BSXUtXOp.cjs`);require(`./core-w629c4ND.cjs`);let a=require(`react`),o=require(`react/jsx-runtime`);function s(e){return e==null?``:e.toString()}function c(e,t){let[n,r]=(0,a.useState)(()=>s(t)),i=e!==void 0;return{isControlled:i,currentValue:i?s(e):n,setCurrentValue:(0,a.useCallback)(e=>{i||r(e)},[i])}}var l=(0,a.forwardRef)(function({type:s=`text`,value:l,defaultValue:te,name:u,id:d,placeholder:f,disabled:p=!1,readOnly:m=!1,required:h=!1,autoFocus:g=!1,autoComplete:_,inputMode:v,variant:ne=`outlined`,size:re=`md`,color:y,fullWidth:ie=!1,rounded:ae=!1,label:b,helperText:x,errorText:S,startIcon:C,endIcon:w,clearable:oe=!1,error:T=!1,success:E=!1,maxLength:D,showCharCount:O=!1,onChange:k,onFocus:A,onBlur:j,onKeyDown:M,onClear:N,ghostOptions:P,ghostMinChars:F=2,onGhostAccept:I,loading:L=!1,clickEffect:R=`ripple`,rippleColor:se,className:ce,style:le,inputClassName:z,labelClassName:B},V){let H=ee.n(),[U,W]=(0,a.useState)(!1),G=(0,a.useRef)(null),{effectClassName:ue,effectLayer:de,handlePointerDown:fe}=r.t({effect:R,disabled:p||m,color:se}),{isControlled:pe,currentValue:K,setCurrentValue:q}=c(l,te),J=n.t({options:P??[],value:K,minChars:F}),Y=T||!!S,me=K.length>0,X=Y?`color-error`:y?`color-${y}`:void 0,Z=(0,a.useCallback)(e=>{W(!0),A?.(e)},[A]),Q=(0,a.useCallback)(e=>{W(!1),j?.(e)},[j]),$=(0,a.useCallback)(e=>{q(e.target.value),k?.(e),J.reset()},[k,q,J.reset]),he=(0,a.useCallback)(e=>{if(P&&J.hint&&J.onKeyDown(e)){let e=J.accept();q(e.value),I?.(e.value);let t=V?.current??G.current;t&&((Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,`value`)?.set)?.call(t,e.value),t.dispatchEvent(new Event(`input`,{bubbles:!0})));return}M?.(e)},[P,J,q,I,M,V]),ge=(0,a.useCallback)(()=>{q(``);let e=V?.current??G.current;e&&((Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,`value`)?.set)?.call(e,``),e.dispatchEvent(new Event(`input`,{bubbles:!0}))),N?.(),e?.focus()},[N,V,q]),_e=t.t(`container`,`field-${ne}`,`field-${re}`,U&&`focused`,Y&&`input-error`,E&&!Y&&`input-success`,X,p&&`disabled`,ae&&`rounded`,ue);return(0,o.jsxs)(`div`,{className:t.t(`input`,X,ie&&`full-width`,ce),style:le,children:[b&&(0,o.jsx)(`label`,{htmlFor:d,className:t.t(`field-label`,U&&`focused`,Y&&`error`,E&&!Y&&`success`,h&&`required`,B),children:b}),(0,o.jsxs)(`div`,{className:_e,onPointerDown:fe,children:[de,C&&(0,o.jsx)(`span`,{className:`start-icon`,children:C}),P?(0,o.jsxs)(`div`,{className:`ghost-text-field`,children:[(0,o.jsx)(`input`,{ref:V??G,type:s,value:K,name:u,id:d,placeholder:f,disabled:p,readOnly:m,required:h,autoFocus:g,autoComplete:_??`off`,inputMode:v,maxLength:D,className:t.t(`field`,z),onChange:$,onFocus:Z,onBlur:Q,onKeyDown:he,"aria-invalid":Y||void 0,"aria-describedby":S?`${d}-error`:x?`${d}-helper`:void 0}),U&&J.hint&&(0,o.jsxs)(`span`,{className:`ghost-text-overlay`,"aria-hidden":`true`,children:[(0,o.jsx)(`span`,{className:`ghost-text-typed`,children:K}),(0,o.jsx)(`span`,{className:`ghost-text-hint`,children:J.hint})]})]}):(0,o.jsx)(`input`,{ref:V??G,type:s,value:K,name:u,id:d,placeholder:f,disabled:p,readOnly:m,required:h,autoFocus:g,autoComplete:_,inputMode:v,maxLength:D,className:t.t(`field`,z),onChange:$,onFocus:Z,onBlur:Q,onKeyDown:M,"aria-invalid":Y||void 0,"aria-describedby":S?`${d}-error`:x?`${d}-helper`:void 0}),L&&(0,o.jsx)(i.r,{size:`sm`,color:y}),oe&&me&&!L&&!p&&(0,o.jsx)(`button`,{type:`button`,className:`clear-btn clear-btn-base`,onMouseDown:e=>e.preventDefault(),onClick:ge,tabIndex:-1,"aria-label":H.clearInput,children:(0,o.jsx)(e.Xi,{})}),w&&!L&&(0,o.jsx)(`span`,{className:`end-icon`,children:w})]}),(S||x||O)&&(0,o.jsxs)(`div`,{className:`bottom-row`,children:[(0,o.jsxs)(`span`,{children:[S&&(0,o.jsx)(`span`,{id:d?`${d}-error`:void 0,className:`field-error`,role:`alert`,children:S}),!S&&x&&(0,o.jsx)(`span`,{id:d?`${d}-helper`:void 0,className:`field-helper`,children:x})]}),O&&D&&(0,o.jsxs)(`span`,{className:t.t(`char-count`,K.length>D&&`over`),children:[K.length,`/`,D]})]})]})});Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return l}});
2
- //# sourceMappingURL=MInput-BYj2BdUe.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MInput-BYj2BdUe.cjs","names":[],"sources":["../src/utils/useControllableString.ts","../src/components/inputs/MInput/MInput.tsx"],"sourcesContent":["import {useCallback, useState} from 'react'\n\ntype ControllableStringLike = string | number | readonly string[] | null | undefined\n\n// Normalize mixed input values so text-like controls always work with strings.\nfunction normalizeStringValue(value: ControllableStringLike) {\n if (value === null || value === undefined) {\n return ''\n }\n\n return value.toString()\n}\n\n// Share controlled and uncontrolled string state logic between text-like primitives.\nexport function useControllableString(value: ControllableStringLike, defaultValue?: ControllableStringLike) {\n const [internalValue, setInternalValue] = useState(() => normalizeStringValue(defaultValue))\n const isControlled = value !== undefined\n const currentValue = isControlled ? normalizeStringValue(value) : internalValue\n\n const setCurrentValue = useCallback(\n (nextValue: string) => {\n if (!isControlled) {\n setInternalValue(nextValue)\n }\n },\n [isControlled]\n )\n\n return {\n isControlled,\n currentValue,\n setCurrentValue,\n }\n}\n","import {forwardRef, useCallback, useRef, useState} from 'react'\nimport type * as React from 'react'\nimport type {MInputProps} from './MInput.types'\nimport {cn} from '../../../utils/cn'\nimport {useControllableString} from '../../../utils/useControllableString'\nimport {useInteractionEffect} from '../../../utils/useInteractionEffect'\nimport {useGhostText} from '../../../utils/useGhostText'\nimport {MSpinner} from '../../feedback'\nimport {MCloseIcon} from '../../../icons'\nimport './MInput.css'\nimport {useMCommonTexts} from '../../../i18n/frameworkTexts'\n\n// Render the base text input used by all specialized input wrappers.\nexport const MInput = forwardRef<HTMLInputElement, MInputProps>(function MInput(\n {\n type = 'text',\n value,\n defaultValue,\n name,\n id,\n placeholder,\n disabled = false,\n readOnly = false,\n required = false,\n autoFocus = false,\n autoComplete,\n inputMode,\n variant = 'outlined',\n size = 'md',\n color,\n fullWidth = false,\n rounded = false,\n label,\n helperText,\n errorText,\n startIcon,\n endIcon,\n clearable = false,\n error = false,\n success = false,\n maxLength,\n showCharCount = false,\n onChange,\n onFocus,\n onBlur,\n onKeyDown,\n onClear,\n ghostOptions,\n ghostMinChars = 2,\n onGhostAccept,\n loading = false,\n clickEffect = 'ripple',\n rippleColor,\n className,\n style,\n inputClassName,\n labelClassName,\n },\n ref\n) {\n const texts = useMCommonTexts()\n const [focused, setFocused] = useState(false)\n const inputRef = useRef<HTMLInputElement>(null)\n const {effectClassName, effectLayer, handlePointerDown} = useInteractionEffect<HTMLDivElement>({\n effect: clickEffect,\n disabled: disabled || readOnly,\n color: rippleColor,\n })\n\n const {isControlled, currentValue, setCurrentValue} = useControllableString(value, defaultValue)\n const ghost = useGhostText({\n options: ghostOptions ?? [],\n value: currentValue,\n minChars: ghostMinChars,\n })\n const hasError = error || !!errorText\n const hasContent = currentValue.length > 0\n const resolvedColorClass = hasError ? 'color-error' : color ? `color-${color}` : undefined\n\n // Mirror focus state so the wrapper can style the input consistently.\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLInputElement>) => {\n setFocused(true)\n onFocus?.(event)\n },\n [onFocus]\n )\n\n // Clear focus styles before delegating to the caller.\n const handleBlur = useCallback(\n (event: React.FocusEvent<HTMLInputElement>) => {\n setFocused(false)\n onBlur?.(event)\n },\n [onBlur]\n )\n\n // Keep uncontrolled usage working without blocking controlled integrations.\n const handleChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n setCurrentValue(event.target.value)\n onChange?.(event)\n ghost.reset()\n },\n [onChange, setCurrentValue, ghost.reset]\n )\n\n // Intercept keyboard events for ghost text acceptance before delegating.\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (ghostOptions && ghost.hint) {\n const accepted = ghost.onKeyDown(event)\n if (accepted) {\n const result = ghost.accept()\n setCurrentValue(result.value)\n onGhostAccept?.(result.value)\n // Fire synthetic change so controlled parents stay in sync.\n const input = (ref as React.RefObject<HTMLInputElement>)?.current ?? inputRef.current\n if (input) {\n const nativeSet = Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, 'value')?.set\n nativeSet?.call(input, result.value)\n input.dispatchEvent(new Event('input', {bubbles: true}))\n }\n return\n }\n }\n onKeyDown?.(event)\n },\n [ghostOptions, ghost, setCurrentValue, onGhostAccept, onKeyDown, ref]\n )\n\n // Reset the visible value while preserving focus for quick repeated input.\n const handleClear = useCallback(() => {\n setCurrentValue('')\n\n const input = (ref as React.RefObject<HTMLInputElement>)?.current ?? inputRef.current\n if (input) {\n const nativeSet = Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, 'value')?.set\n nativeSet?.call(input, '')\n input.dispatchEvent(new Event('input', {bubbles: true}))\n }\n\n onClear?.()\n input?.focus()\n }, [onClear, ref, setCurrentValue])\n\n const containerClasses = cn(\n 'container',\n `field-${variant}`,\n `field-${size}`,\n focused && 'focused',\n hasError && 'input-error',\n success && !hasError && 'input-success',\n resolvedColorClass,\n disabled && 'disabled',\n rounded && 'rounded',\n effectClassName\n )\n\n return (\n <div className={cn('input', resolvedColorClass, fullWidth && 'full-width', className)} style={style}>\n {label && (\n <label\n htmlFor={id}\n className={cn(\n 'field-label',\n focused && 'focused',\n hasError && 'error',\n success && !hasError && 'success',\n required && 'required',\n labelClassName\n )}\n >\n {label}\n </label>\n )}\n\n <div className={containerClasses} onPointerDown={handlePointerDown}>\n {effectLayer}\n {startIcon && <span className=\"start-icon\">{startIcon}</span>}\n\n {ghostOptions ? (\n <div className=\"ghost-text-field\">\n <input\n ref={ref ?? inputRef}\n type={type}\n value={currentValue}\n name={name}\n id={id}\n placeholder={placeholder}\n disabled={disabled}\n readOnly={readOnly}\n required={required}\n autoFocus={autoFocus}\n autoComplete={autoComplete ?? 'off'}\n inputMode={inputMode}\n maxLength={maxLength}\n className={cn('field', inputClassName)}\n onChange={handleChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n aria-invalid={hasError || undefined}\n aria-describedby={errorText ? `${id}-error` : helperText ? `${id}-helper` : undefined}\n />\n {focused && ghost.hint && (\n <span className=\"ghost-text-overlay\" aria-hidden=\"true\">\n <span className=\"ghost-text-typed\">{currentValue}</span>\n <span className=\"ghost-text-hint\">{ghost.hint}</span>\n </span>\n )}\n </div>\n ) : (\n <input\n ref={ref ?? inputRef}\n type={type}\n value={currentValue}\n name={name}\n id={id}\n placeholder={placeholder}\n disabled={disabled}\n readOnly={readOnly}\n required={required}\n autoFocus={autoFocus}\n autoComplete={autoComplete}\n inputMode={inputMode}\n maxLength={maxLength}\n className={cn('field', inputClassName)}\n onChange={handleChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={onKeyDown}\n aria-invalid={hasError || undefined}\n aria-describedby={errorText ? `${id}-error` : helperText ? `${id}-helper` : undefined}\n />\n )}\n\n {loading && <MSpinner size=\"sm\" color={color} />}\n\n {clearable && hasContent && !loading && !disabled && (\n <button\n type=\"button\"\n className=\"clear-btn clear-btn-base\"\n onMouseDown={(event) => event.preventDefault()}\n onClick={handleClear}\n tabIndex={-1}\n aria-label={texts.clearInput}\n >\n <MCloseIcon />\n </button>\n )}\n\n {endIcon && !loading && <span className=\"end-icon\">{endIcon}</span>}\n </div>\n\n {(errorText || helperText || showCharCount) && (\n <div className=\"bottom-row\">\n <span>\n {errorText && (\n <span id={id ? `${id}-error` : undefined} className=\"field-error\" role=\"alert\">\n {errorText}\n </span>\n )}\n {!errorText && helperText && (\n <span id={id ? `${id}-helper` : undefined} className=\"field-helper\">\n {helperText}\n </span>\n )}\n </span>\n {showCharCount && maxLength && (\n <span className={cn('char-count', currentValue.length > maxLength && 'over')}>\n {currentValue.length}/{maxLength}\n </span>\n )}\n </div>\n )}\n </div>\n )\n})\n"],"mappings":"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"}