@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,5 +1,20 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { MTheme, MMode, MModePreference } from './MTheme.types';
3
+ export interface MThemeInitScriptOptions {
4
+ /** Mode used when nothing is persisted. Matches the `mode` prop of `MThemeProvider`. Default `'dark'`. */
5
+ defaultMode?: MModePreference;
6
+ /** Read the persisted mode (`localStorage['mineralui-theme']`). Default `true`. */
7
+ persist?: boolean;
8
+ }
9
+ /**
10
+ * Inline script that sets the `theme-light` class on `<html>` before the first paint, so SSR / static
11
+ * pages do not flash the dark theme. Render it in `<head>`, e.g.
12
+ * `<script dangerouslySetInnerHTML={{__html: getMThemeInitScript({defaultMode: 'light'})}} />`.
13
+ * `MThemeProvider scope="body"` keeps the `<html>` class in sync afterwards.
14
+ */
15
+ export declare function getMThemeInitScript({ defaultMode, persist }?: MThemeInitScriptOptions): string;
16
+ /** `getMThemeInitScript()` with the defaults (dark, persisted). */
17
+ export declare const M_THEME_INIT_SCRIPT: string;
3
18
  export interface MThemeContextValue {
4
19
  theme: MTheme;
5
20
  mode: MModePreference;
@@ -11,9 +26,11 @@ export type MThemeScope = 'body' | 'wrapper';
11
26
  export interface MThemeProviderProps {
12
27
  theme?: MTheme;
13
28
  mode?: MModePreference;
29
+ /** Read and write the persisted mode. Defaults to `true` for `scope="body"` and `false` for
30
+ * `scope="wrapper"`, so a local preview never overrides the user's global choice. */
14
31
  persist?: boolean;
15
32
  scope?: MThemeScope;
16
33
  children: ReactNode;
17
34
  }
18
- export declare function MThemeProvider({ theme, mode: modeProp, persist, scope, children, }: MThemeProviderProps): import("react/jsx-runtime").JSX.Element;
35
+ export declare function MThemeProvider({ theme, mode: modeProp, persist: persistProp, scope, children, }: MThemeProviderProps): import("react/jsx-runtime").JSX.Element;
19
36
  export declare function useMTheme(): MThemeContextValue;
@@ -1,4 +1,4 @@
1
- export { MThemeProvider, useMTheme } from './MThemeProvider';
2
- export type { MThemeScope, MThemeProviderProps, MThemeContextValue } from './MThemeProvider';
1
+ export { MThemeProvider, useMTheme, getMThemeInitScript, M_THEME_INIT_SCRIPT } from './MThemeProvider';
2
+ export type { MThemeScope, MThemeProviderProps, MThemeContextValue, MThemeInitScriptOptions } from './MThemeProvider';
3
3
  export type { MTheme, MMode, MModePreference, MColor, MSize, MBreakpoint, MHidden, MHiddenProps, MShellBreakpoint, } from './MTheme.types';
4
4
  export { MBreakpoints, MShellBreakpoints, getHiddenProps, useMaxWidth } from './responsive';
@@ -1,24 +1,29 @@
1
- import { createContext as e, useCallback as t, useContext as n, useEffect as r, useMemo as i, useRef as a, useState as o } from "react";
2
- import { jsx as s } from "react/jsx-runtime";
1
+ import { createContext as e, useCallback as t, useContext as n, useEffect as r, useLayoutEffect as i, useMemo as a, useReducer as o, useRef as s, useState as c } from "react";
2
+ import { jsx as l } from "react/jsx-runtime";
3
3
  //#region src/theme/MThemeProvider.tsx
4
- var c = "mineralui-theme";
5
- function l(e) {
4
+ var u = "mineralui-theme", d = typeof window < "u" ? i : r;
5
+ function f({ defaultMode: e = "dark", persist: t = !0 } = {}) {
6
+ let n = JSON.stringify(e === "light" || e === "system" ? e : "dark");
7
+ return `(function(){try{var m=null;${t ? `try{m=localStorage.getItem(${JSON.stringify(u)})}catch(e){}` : ""}if(m!=='dark'&&m!=='light'&&m!=='system')m=${n};if(m==='system')m=window.matchMedia('(prefers-color-scheme: dark)').matches?'dark':'light';document.documentElement.classList.toggle('theme-light',m==='light')}catch(e){}})()`;
8
+ }
9
+ var p = f();
10
+ function m(e) {
6
11
  return e === "system" ? typeof window > "u" || window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light" : e;
7
12
  }
8
- function u() {
13
+ function h() {
9
14
  try {
10
- let e = localStorage.getItem(c);
15
+ let e = localStorage.getItem(u);
11
16
  if (e === "dark" || e === "light" || e === "system") return e;
12
17
  } catch {}
13
18
  return null;
14
19
  }
15
- var d = e({
20
+ var g = e({
16
21
  theme: {},
17
22
  mode: "dark",
18
23
  resolvedMode: "dark",
19
24
  setMode: () => {},
20
25
  toggleMode: () => {}
21
- }), f = {
26
+ }), _ = {
22
27
  primaryRgb: "--mineral-primary-rgb",
23
28
  primary: "--mineral-primary",
24
29
  primaryDark: "--mineral-primary-dark",
@@ -63,94 +68,99 @@ var d = e({
63
68
  radiusMd: "--mineral-radius-md",
64
69
  radiusLg: "--mineral-radius-lg"
65
70
  };
66
- function p({ theme: e, mode: n = "dark", persist: p = !0, scope: m = "body", children: h }) {
67
- let g = a(null), _ = i(() => e ?? {}, [e]), [v, y] = o(() => {
68
- if (p) {
69
- let e = u();
71
+ function v({ theme: e, mode: n = "dark", persist: i, scope: f = "body", children: p }) {
72
+ let v = i ?? f === "body", y = s(null), b = a(() => e ?? {}, [e]), [x, S] = c(() => {
73
+ if (v) {
74
+ let e = h();
70
75
  if (e) return e;
71
76
  }
72
77
  return n;
73
- }), b = l(v), x = t((e) => {
74
- if (y(e), p) try {
75
- localStorage.setItem(c, e);
78
+ }), C = s(n);
79
+ r(() => {
80
+ C.current !== n && (C.current = n, S(n));
81
+ }, [n]);
82
+ let [, w] = o((e) => e + 1, 0), T = m(x), E = t((e) => {
83
+ if (S(e), v) try {
84
+ localStorage.setItem(u, e);
76
85
  } catch {}
77
- }, [p]), S = t(() => {
78
- x(b === "dark" ? "light" : "dark");
79
- }, [b, x]);
86
+ }, [v]), D = t(() => {
87
+ E(T === "dark" ? "light" : "dark");
88
+ }, [T, E]);
80
89
  r(() => {
81
- if (v !== "system") return;
82
- let e = window.matchMedia("(prefers-color-scheme: dark)"), t = () => y("system");
90
+ if (x !== "system") return;
91
+ let e = window.matchMedia("(prefers-color-scheme: dark)"), t = () => w();
83
92
  return e.addEventListener("change", t), () => e.removeEventListener("change", t);
84
- }, [v]), r(() => {
85
- let e = m === "body" ? document.body : g.current;
86
- if (e) {
87
- for (let [t, n] of Object.entries(_)) {
88
- let r = f[t];
89
- r && n && (e.style.setProperty(r, n), r === "--mineral-font-family-sans" && e.style.setProperty("--mineral-font-family", n));
90
- }
91
- return e.classList.toggle("theme-light", b === "light"), () => {
92
- for (let t of Object.keys(_)) {
93
- let n = f[t];
94
- n && (e.style.removeProperty(n), n === "--mineral-font-family-sans" && e.style.removeProperty("--mineral-font-family"));
95
- }
96
- e.classList.remove("theme-light");
97
- };
93
+ }, [x]), d(() => {
94
+ let e = f === "body" ? document.body : y.current;
95
+ if (!e) return;
96
+ let t = f === "body" ? [e, document.documentElement] : [];
97
+ for (let e of t) e.classList.toggle("theme-light", T === "light");
98
+ for (let [t, n] of Object.entries(b)) {
99
+ let r = _[t];
100
+ r && n && (e.style.setProperty(r, n), r === "--mineral-font-family-sans" && e.style.setProperty("--mineral-font-family", n));
98
101
  }
102
+ return () => {
103
+ for (let t of Object.keys(b)) {
104
+ let n = _[t];
105
+ n && (e.style.removeProperty(n), n === "--mineral-font-family-sans" && e.style.removeProperty("--mineral-font-family"));
106
+ }
107
+ for (let e of t) e.classList.remove("theme-light");
108
+ };
99
109
  }, [
110
+ T,
100
111
  b,
101
- _,
102
- m
112
+ f
103
113
  ]);
104
- let C = i(() => ({
105
- theme: _,
106
- mode: v,
107
- resolvedMode: b,
108
- setMode: x,
109
- toggleMode: S
114
+ let O = a(() => ({
115
+ theme: b,
116
+ mode: x,
117
+ resolvedMode: T,
118
+ setMode: E,
119
+ toggleMode: D
110
120
  }), [
111
- _,
112
- v,
113
121
  b,
114
122
  x,
115
- S
123
+ T,
124
+ E,
125
+ D
116
126
  ]);
117
- return /* @__PURE__ */ s(d.Provider, {
118
- value: C,
119
- children: m === "wrapper" ? /* @__PURE__ */ s("div", {
120
- ref: g,
121
- className: b === "light" ? "theme-light" : void 0,
122
- children: h
123
- }) : h
127
+ return /* @__PURE__ */ l(g.Provider, {
128
+ value: O,
129
+ children: f === "wrapper" ? /* @__PURE__ */ l("div", {
130
+ ref: y,
131
+ className: T === "light" ? "theme-light" : "theme-dark",
132
+ children: p
133
+ }) : p
124
134
  });
125
135
  }
126
- function m() {
127
- return n(d);
136
+ function y() {
137
+ return n(g);
128
138
  }
129
139
  //#endregion
130
140
  //#region src/theme/responsive.ts
131
- var h = {
141
+ var b = {
132
142
  sm: 640,
133
143
  md: 768,
134
144
  lg: 1024,
135
145
  xl: 1280,
136
146
  "2xl": 1536
137
- }, g = {
147
+ }, x = {
138
148
  mobile: 768,
139
149
  compact: 1024
140
150
  };
141
- function _(e) {
142
- let [t, n] = o(() => typeof window < "u" ? window.innerWidth <= e : !1);
151
+ function S(e) {
152
+ let [t, n] = c(() => typeof window < "u" ? window.innerWidth <= e : !1);
143
153
  return r(() => {
144
154
  if (typeof window > "u") return;
145
155
  let t = window.matchMedia(`(max-width: ${e}px)`), r = () => n(t.matches);
146
156
  return r(), typeof t.addEventListener == "function" ? (t.addEventListener("change", r), () => t.removeEventListener("change", r)) : (t.addListener(r), () => t.removeListener(r));
147
157
  }, [e]), t;
148
158
  }
149
- function v(e, t) {
159
+ function C(e, t) {
150
160
  let n = {};
151
161
  return e === !0 ? n.hidden = !0 : e !== void 0 && e !== !1 && (n["data-m-hidden"] = e), t && (n["data-m-hidden-above"] = t), n;
152
162
  }
153
163
  //#endregion
154
- export { p as a, _ as i, g as n, m as o, v as r, h as t };
164
+ export { v as a, y as c, S as i, x as n, p as o, C as r, f as s, b as t };
155
165
 
156
- //# sourceMappingURL=theme-DAOU1aPs.js.map
166
+ //# sourceMappingURL=theme-B_juOenJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-B_juOenJ.js","names":[],"sources":["../src/theme/MThemeProvider.tsx","../src/theme/responsive.ts"],"sourcesContent":["import {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useLayoutEffect,\n useMemo,\n useReducer,\n useRef,\n useState,\n type ReactNode,\n} from 'react'\nimport type {MTheme, MMode, MModePreference} from './MTheme.types'\n\nconst STORAGE_KEY = 'mineralui-theme'\n\n// Apply DOM classes before paint on the client; no-op during SSR.\nconst useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect\n\nexport interface MThemeInitScriptOptions {\n /** Mode used when nothing is persisted. Matches the `mode` prop of `MThemeProvider`. Default `'dark'`. */\n defaultMode?: MModePreference\n /** Read the persisted mode (`localStorage['mineralui-theme']`). Default `true`. */\n persist?: boolean\n}\n\n/**\n * Inline script that sets the `theme-light` class on `<html>` before the first paint, so SSR / static\n * pages do not flash the dark theme. Render it in `<head>`, e.g.\n * `<script dangerouslySetInnerHTML={{__html: getMThemeInitScript({defaultMode: 'light'})}} />`.\n * `MThemeProvider scope=\"body\"` keeps the `<html>` class in sync afterwards.\n */\nexport function getMThemeInitScript({defaultMode = 'dark', persist = true}: MThemeInitScriptOptions = {}): string {\n const fallback = JSON.stringify(defaultMode === 'light' || defaultMode === 'system' ? defaultMode : 'dark')\n const read = persist ? `try{m=localStorage.getItem(${JSON.stringify(STORAGE_KEY)})}catch(e){}` : ''\n return (\n `(function(){try{var m=null;${read}` +\n `if(m!=='dark'&&m!=='light'&&m!=='system')m=${fallback};` +\n `if(m==='system')m=window.matchMedia('(prefers-color-scheme: dark)').matches?'dark':'light';` +\n `document.documentElement.classList.toggle('theme-light',m==='light')}catch(e){}})()`\n )\n}\n\n/** `getMThemeInitScript()` with the defaults (dark, persisted). */\nexport const M_THEME_INIT_SCRIPT = getMThemeInitScript()\n\n// Resolve the final mode once 'system' is allowed.\nfunction resolveMode(pref: MModePreference): MMode {\n if (pref !== 'system') return pref\n if (typeof window === 'undefined') return 'dark'\n return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'\n}\n\n// Read a persisted mode safely when storage is available.\nfunction readStored(): MModePreference | null {\n try {\n const v = localStorage.getItem(STORAGE_KEY)\n if (v === 'dark' || v === 'light' || v === 'system') return v\n } catch {\n /* SSR / blocked storage */\n }\n return null\n}\n\nexport interface MThemeContextValue {\n theme: MTheme\n mode: MModePreference\n resolvedMode: MMode\n setMode: (next: MModePreference) => void\n toggleMode: () => void\n}\n\nconst ThemeContext = createContext<MThemeContextValue>({\n theme: {},\n mode: 'dark',\n resolvedMode: 'dark',\n setMode: () => {},\n toggleMode: () => {},\n})\n\n// Map JS theme keys to CSS custom properties.\nconst varMap: Record<keyof MTheme, string> = {\n primaryRgb: '--mineral-primary-rgb',\n primary: '--mineral-primary',\n primaryDark: '--mineral-primary-dark',\n primaryLight: '--mineral-primary-light',\n neutralRgb: '--mineral-neutral-rgb',\n neutral: '--mineral-neutral',\n dark: '--mineral-dark',\n darkLight: '--mineral-dark-light',\n surface: '--mineral-surface',\n surfaceContrast: '--mineral-surface-contrast',\n pageBg: '--mineral-page-bg',\n pageText: '--mineral-page-text',\n text: '--mineral-text',\n textSecondary: '--mineral-text-secondary',\n textHeading: '--mineral-text-heading',\n border: '--mineral-border',\n borderHover: '--mineral-border-hover',\n borderFocus: '--mineral-border-focus',\n successRgb: '--mineral-success-rgb',\n success: '--mineral-success',\n errorRgb: '--mineral-error-rgb',\n error: '--mineral-error',\n warningRgb: '--mineral-warning-rgb',\n warning: '--mineral-warning',\n infoRgb: '--mineral-info-rgb',\n info: '--mineral-info',\n fontFamily: '--mineral-font-family-sans',\n fontFamilySans: '--mineral-font-family-sans',\n fontFamilyMono: '--mineral-font-family-mono',\n fontFamilyHeading: '--mineral-font-family-heading',\n fontColorDefault: '--mineral-fcolor-default',\n fontColorMuted: '--mineral-fcolor-muted',\n fontColorHeading: '--mineral-fcolor-heading',\n fontColorInverted: '--mineral-fcolor-inverted',\n fontColorPrimary: '--mineral-fcolor-primary',\n fontColorNeutral: '--mineral-fcolor-neutral',\n fontColorSuccess: '--mineral-fcolor-success',\n fontColorError: '--mineral-fcolor-error',\n fontColorWarning: '--mineral-fcolor-warning',\n fontColorInfo: '--mineral-fcolor-info',\n radiusSm: '--mineral-radius-sm',\n radiusMd: '--mineral-radius-md',\n radiusLg: '--mineral-radius-lg',\n}\n\nexport type MThemeScope = 'body' | 'wrapper'\n\nexport interface MThemeProviderProps {\n theme?: MTheme\n mode?: MModePreference\n /** Read and write the persisted mode. Defaults to `true` for `scope=\"body\"` and `false` for\n * `scope=\"wrapper\"`, so a local preview never overrides the user's global choice. */\n persist?: boolean\n scope?: MThemeScope\n children: ReactNode\n}\n\n// Sync theme tokens and mode classes with either the body or a local wrapper.\nexport function MThemeProvider({\n theme,\n mode: modeProp = 'dark',\n persist: persistProp,\n scope = 'body',\n children,\n}: MThemeProviderProps) {\n const persist = persistProp ?? scope === 'body'\n const ref = useRef<HTMLDivElement>(null)\n const safeTheme = useMemo(() => theme ?? {}, [theme])\n\n const [mode, setModeState] = useState<MModePreference>(() => {\n if (persist) {\n const stored = readStored()\n if (stored) return stored\n }\n return modeProp\n })\n\n // Follow later changes of the `mode` prop (the persisted value only wins on mount).\n const lastModeProp = useRef(modeProp)\n useEffect(() => {\n if (lastModeProp.current === modeProp) return\n lastModeProp.current = modeProp\n setModeState(modeProp)\n }, [modeProp])\n\n // Re-render on OS colour-scheme changes; resolveMode reads matchMedia during render.\n const [, refreshSystemMode] = useReducer((tick: number) => tick + 1, 0)\n\n const resolved = resolveMode(mode)\n\n const setMode = useCallback(\n (next: MModePreference) => {\n setModeState(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 toggleMode = useCallback(() => {\n setMode(resolved === 'dark' ? 'light' : 'dark')\n }, [resolved, setMode])\n\n // Listen for system theme changes when mode is 'system'.\n useEffect(() => {\n if (mode !== 'system') return\n const mq = window.matchMedia('(prefers-color-scheme: dark)')\n const handler = () => refreshSystemMode()\n mq.addEventListener('change', handler)\n return () => mq.removeEventListener('change', handler)\n }, [mode])\n\n // Apply token overrides and light/dark class before paint.\n useIsomorphicLayoutEffect(() => {\n const target = scope === 'body' ? document.body : ref.current\n if (!target) return\n\n // Body scope: keep <html> in sync too, so the class set by getMThemeInitScript() never goes stale.\n // Wrapper scope: the wrapper's className (theme-light / theme-dark) is rendered by React.\n const classTargets = scope === 'body' ? [target, document.documentElement] : []\n for (const node of classTargets) node.classList.toggle('theme-light', resolved === 'light')\n\n for (const [key, value] of Object.entries(safeTheme)) {\n const cssVar = varMap[key as keyof MTheme]\n if (cssVar && value) {\n target.style.setProperty(cssVar, value)\n if (cssVar === '--mineral-font-family-sans') {\n target.style.setProperty('--mineral-font-family', value)\n }\n }\n }\n\n return () => {\n for (const key of Object.keys(safeTheme)) {\n const cssVar = varMap[key as keyof MTheme]\n if (cssVar) {\n target.style.removeProperty(cssVar)\n if (cssVar === '--mineral-font-family-sans') {\n target.style.removeProperty('--mineral-font-family')\n }\n }\n }\n for (const node of classTargets) node.classList.remove('theme-light')\n }\n }, [resolved, safeTheme, scope])\n\n const ctx = useMemo<MThemeContextValue>(\n () => ({\n theme: safeTheme,\n mode,\n resolvedMode: resolved,\n setMode,\n toggleMode,\n }),\n [safeTheme, mode, resolved, setMode, toggleMode]\n )\n\n return (\n <ThemeContext.Provider value={ctx}>\n {scope === 'wrapper' ? (\n <div ref={ref} className={resolved === 'light' ? 'theme-light' : 'theme-dark'}>\n {children}\n </div>\n ) : (\n children\n )}\n </ThemeContext.Provider>\n )\n}\n\nexport function useMTheme(): MThemeContextValue {\n return useContext(ThemeContext)\n}\n","import {useEffect, useState} from 'react'\nimport type {MHiddenProps} from './MTheme.types'\n\nexport const MBreakpoints = {\n sm: 640,\n md: 768,\n lg: 1024,\n xl: 1280,\n '2xl': 1536,\n} as const\n\nexport const MShellBreakpoints = {\n mobile: 768,\n compact: 1024,\n} as const\n\nexport function useMaxWidth(breakpoint: number): boolean {\n const [matches, setMatches] = useState(() =>\n typeof window !== 'undefined' ? window.innerWidth <= breakpoint : false\n )\n\n useEffect(() => {\n if (typeof window === 'undefined') {\n return\n }\n\n const media = window.matchMedia(`(max-width: ${breakpoint}px)`)\n const sync = () => setMatches(media.matches)\n\n sync()\n\n if (typeof media.addEventListener === 'function') {\n media.addEventListener('change', sync)\n return () => media.removeEventListener('change', sync)\n }\n\n media.addListener(sync)\n return () => media.removeListener(sync)\n }, [breakpoint])\n\n return matches\n}\n\nexport function getHiddenProps(\n hidden?: MHiddenProps['hidden'],\n hiddenAbove?: MHiddenProps['hiddenAbove']\n) {\n const result: Record<string, unknown> = {}\n if (hidden === true) {\n result.hidden = true\n } else if (hidden !== undefined && hidden !== false) {\n result['data-m-hidden'] = hidden\n }\n if (hiddenAbove) {\n result['data-m-hidden-above'] = hiddenAbove\n }\n return result\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ require(`./core-w629c4ND.cjs`);let e=require(`react`),t=require(`react/jsx-runtime`);var n=`mineralui-theme`,r=typeof window<`u`?e.useLayoutEffect:e.useEffect;function i({defaultMode:e=`dark`,persist:t=!0}={}){let r=JSON.stringify(e===`light`||e===`system`?e:`dark`);return`(function(){try{var m=null;${t?`try{m=localStorage.getItem(${JSON.stringify(n)})}catch(e){}`:``}if(m!=='dark'&&m!=='light'&&m!=='system')m=${r};if(m==='system')m=window.matchMedia('(prefers-color-scheme: dark)').matches?'dark':'light';document.documentElement.classList.toggle('theme-light',m==='light')}catch(e){}})()`}var a=i();function o(e){return e===`system`?typeof window>`u`||window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:e}function s(){try{let e=localStorage.getItem(n);if(e===`dark`||e===`light`||e===`system`)return e}catch{}return null}var c=(0,e.createContext)({theme:{},mode:`dark`,resolvedMode:`dark`,setMode:()=>{},toggleMode:()=>{}}),l={primaryRgb:`--mineral-primary-rgb`,primary:`--mineral-primary`,primaryDark:`--mineral-primary-dark`,primaryLight:`--mineral-primary-light`,neutralRgb:`--mineral-neutral-rgb`,neutral:`--mineral-neutral`,dark:`--mineral-dark`,darkLight:`--mineral-dark-light`,surface:`--mineral-surface`,surfaceContrast:`--mineral-surface-contrast`,pageBg:`--mineral-page-bg`,pageText:`--mineral-page-text`,text:`--mineral-text`,textSecondary:`--mineral-text-secondary`,textHeading:`--mineral-text-heading`,border:`--mineral-border`,borderHover:`--mineral-border-hover`,borderFocus:`--mineral-border-focus`,successRgb:`--mineral-success-rgb`,success:`--mineral-success`,errorRgb:`--mineral-error-rgb`,error:`--mineral-error`,warningRgb:`--mineral-warning-rgb`,warning:`--mineral-warning`,infoRgb:`--mineral-info-rgb`,info:`--mineral-info`,fontFamily:`--mineral-font-family-sans`,fontFamilySans:`--mineral-font-family-sans`,fontFamilyMono:`--mineral-font-family-mono`,fontFamilyHeading:`--mineral-font-family-heading`,fontColorDefault:`--mineral-fcolor-default`,fontColorMuted:`--mineral-fcolor-muted`,fontColorHeading:`--mineral-fcolor-heading`,fontColorInverted:`--mineral-fcolor-inverted`,fontColorPrimary:`--mineral-fcolor-primary`,fontColorNeutral:`--mineral-fcolor-neutral`,fontColorSuccess:`--mineral-fcolor-success`,fontColorError:`--mineral-fcolor-error`,fontColorWarning:`--mineral-fcolor-warning`,fontColorInfo:`--mineral-fcolor-info`,radiusSm:`--mineral-radius-sm`,radiusMd:`--mineral-radius-md`,radiusLg:`--mineral-radius-lg`};function u({theme:i,mode:a=`dark`,persist:u,scope:d=`body`,children:f}){let p=u??d===`body`,m=(0,e.useRef)(null),h=(0,e.useMemo)(()=>i??{},[i]),[g,_]=(0,e.useState)(()=>{if(p){let e=s();if(e)return e}return a}),v=(0,e.useRef)(a);(0,e.useEffect)(()=>{v.current!==a&&(v.current=a,_(a))},[a]);let[,y]=(0,e.useReducer)(e=>e+1,0),b=o(g),x=(0,e.useCallback)(e=>{if(_(e),p)try{localStorage.setItem(n,e)}catch{}},[p]),S=(0,e.useCallback)(()=>{x(b===`dark`?`light`:`dark`)},[b,x]);(0,e.useEffect)(()=>{if(g!==`system`)return;let e=window.matchMedia(`(prefers-color-scheme: dark)`),t=()=>y();return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[g]),r(()=>{let e=d===`body`?document.body:m.current;if(!e)return;let t=d===`body`?[e,document.documentElement]:[];for(let e of t)e.classList.toggle(`theme-light`,b===`light`);for(let[t,n]of Object.entries(h)){let r=l[t];r&&n&&(e.style.setProperty(r,n),r===`--mineral-font-family-sans`&&e.style.setProperty(`--mineral-font-family`,n))}return()=>{for(let t of Object.keys(h)){let n=l[t];n&&(e.style.removeProperty(n),n===`--mineral-font-family-sans`&&e.style.removeProperty(`--mineral-font-family`))}for(let e of t)e.classList.remove(`theme-light`)}},[b,h,d]);let C=(0,e.useMemo)(()=>({theme:h,mode:g,resolvedMode:b,setMode:x,toggleMode:S}),[h,g,b,x,S]);return(0,t.jsx)(c.Provider,{value:C,children:d===`wrapper`?(0,t.jsx)(`div`,{ref:m,className:b===`light`?`theme-light`:`theme-dark`,children:f}):f})}function d(){return(0,e.useContext)(c)}var f={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},p={mobile:768,compact:1024};function m(t){let[n,r]=(0,e.useState)(()=>typeof window<`u`?window.innerWidth<=t:!1);return(0,e.useEffect)(()=>{if(typeof window>`u`)return;let e=window.matchMedia(`(max-width: ${t}px)`),n=()=>r(e.matches);return n(),typeof e.addEventListener==`function`?(e.addEventListener(`change`,n),()=>e.removeEventListener(`change`,n)):(e.addListener(n),()=>e.removeListener(n))},[t]),n}function h(e,t){let n={};return e===!0?n.hidden=!0:e!==void 0&&e!==!1&&(n[`data-m-hidden`]=e),t&&(n[`data-m-hidden-above`]=t),n}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return f}});
2
+ //# sourceMappingURL=theme-ByPZH0dh.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-ByPZH0dh.cjs","names":[],"sources":["../src/theme/MThemeProvider.tsx","../src/theme/responsive.ts"],"sourcesContent":["import {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useLayoutEffect,\n useMemo,\n useReducer,\n useRef,\n useState,\n type ReactNode,\n} from 'react'\nimport type {MTheme, MMode, MModePreference} from './MTheme.types'\n\nconst STORAGE_KEY = 'mineralui-theme'\n\n// Apply DOM classes before paint on the client; no-op during SSR.\nconst useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect\n\nexport interface MThemeInitScriptOptions {\n /** Mode used when nothing is persisted. Matches the `mode` prop of `MThemeProvider`. Default `'dark'`. */\n defaultMode?: MModePreference\n /** Read the persisted mode (`localStorage['mineralui-theme']`). Default `true`. */\n persist?: boolean\n}\n\n/**\n * Inline script that sets the `theme-light` class on `<html>` before the first paint, so SSR / static\n * pages do not flash the dark theme. Render it in `<head>`, e.g.\n * `<script dangerouslySetInnerHTML={{__html: getMThemeInitScript({defaultMode: 'light'})}} />`.\n * `MThemeProvider scope=\"body\"` keeps the `<html>` class in sync afterwards.\n */\nexport function getMThemeInitScript({defaultMode = 'dark', persist = true}: MThemeInitScriptOptions = {}): string {\n const fallback = JSON.stringify(defaultMode === 'light' || defaultMode === 'system' ? defaultMode : 'dark')\n const read = persist ? `try{m=localStorage.getItem(${JSON.stringify(STORAGE_KEY)})}catch(e){}` : ''\n return (\n `(function(){try{var m=null;${read}` +\n `if(m!=='dark'&&m!=='light'&&m!=='system')m=${fallback};` +\n `if(m==='system')m=window.matchMedia('(prefers-color-scheme: dark)').matches?'dark':'light';` +\n `document.documentElement.classList.toggle('theme-light',m==='light')}catch(e){}})()`\n )\n}\n\n/** `getMThemeInitScript()` with the defaults (dark, persisted). */\nexport const M_THEME_INIT_SCRIPT = getMThemeInitScript()\n\n// Resolve the final mode once 'system' is allowed.\nfunction resolveMode(pref: MModePreference): MMode {\n if (pref !== 'system') return pref\n if (typeof window === 'undefined') return 'dark'\n return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'\n}\n\n// Read a persisted mode safely when storage is available.\nfunction readStored(): MModePreference | null {\n try {\n const v = localStorage.getItem(STORAGE_KEY)\n if (v === 'dark' || v === 'light' || v === 'system') return v\n } catch {\n /* SSR / blocked storage */\n }\n return null\n}\n\nexport interface MThemeContextValue {\n theme: MTheme\n mode: MModePreference\n resolvedMode: MMode\n setMode: (next: MModePreference) => void\n toggleMode: () => void\n}\n\nconst ThemeContext = createContext<MThemeContextValue>({\n theme: {},\n mode: 'dark',\n resolvedMode: 'dark',\n setMode: () => {},\n toggleMode: () => {},\n})\n\n// Map JS theme keys to CSS custom properties.\nconst varMap: Record<keyof MTheme, string> = {\n primaryRgb: '--mineral-primary-rgb',\n primary: '--mineral-primary',\n primaryDark: '--mineral-primary-dark',\n primaryLight: '--mineral-primary-light',\n neutralRgb: '--mineral-neutral-rgb',\n neutral: '--mineral-neutral',\n dark: '--mineral-dark',\n darkLight: '--mineral-dark-light',\n surface: '--mineral-surface',\n surfaceContrast: '--mineral-surface-contrast',\n pageBg: '--mineral-page-bg',\n pageText: '--mineral-page-text',\n text: '--mineral-text',\n textSecondary: '--mineral-text-secondary',\n textHeading: '--mineral-text-heading',\n border: '--mineral-border',\n borderHover: '--mineral-border-hover',\n borderFocus: '--mineral-border-focus',\n successRgb: '--mineral-success-rgb',\n success: '--mineral-success',\n errorRgb: '--mineral-error-rgb',\n error: '--mineral-error',\n warningRgb: '--mineral-warning-rgb',\n warning: '--mineral-warning',\n infoRgb: '--mineral-info-rgb',\n info: '--mineral-info',\n fontFamily: '--mineral-font-family-sans',\n fontFamilySans: '--mineral-font-family-sans',\n fontFamilyMono: '--mineral-font-family-mono',\n fontFamilyHeading: '--mineral-font-family-heading',\n fontColorDefault: '--mineral-fcolor-default',\n fontColorMuted: '--mineral-fcolor-muted',\n fontColorHeading: '--mineral-fcolor-heading',\n fontColorInverted: '--mineral-fcolor-inverted',\n fontColorPrimary: '--mineral-fcolor-primary',\n fontColorNeutral: '--mineral-fcolor-neutral',\n fontColorSuccess: '--mineral-fcolor-success',\n fontColorError: '--mineral-fcolor-error',\n fontColorWarning: '--mineral-fcolor-warning',\n fontColorInfo: '--mineral-fcolor-info',\n radiusSm: '--mineral-radius-sm',\n radiusMd: '--mineral-radius-md',\n radiusLg: '--mineral-radius-lg',\n}\n\nexport type MThemeScope = 'body' | 'wrapper'\n\nexport interface MThemeProviderProps {\n theme?: MTheme\n mode?: MModePreference\n /** Read and write the persisted mode. Defaults to `true` for `scope=\"body\"` and `false` for\n * `scope=\"wrapper\"`, so a local preview never overrides the user's global choice. */\n persist?: boolean\n scope?: MThemeScope\n children: ReactNode\n}\n\n// Sync theme tokens and mode classes with either the body or a local wrapper.\nexport function MThemeProvider({\n theme,\n mode: modeProp = 'dark',\n persist: persistProp,\n scope = 'body',\n children,\n}: MThemeProviderProps) {\n const persist = persistProp ?? scope === 'body'\n const ref = useRef<HTMLDivElement>(null)\n const safeTheme = useMemo(() => theme ?? {}, [theme])\n\n const [mode, setModeState] = useState<MModePreference>(() => {\n if (persist) {\n const stored = readStored()\n if (stored) return stored\n }\n return modeProp\n })\n\n // Follow later changes of the `mode` prop (the persisted value only wins on mount).\n const lastModeProp = useRef(modeProp)\n useEffect(() => {\n if (lastModeProp.current === modeProp) return\n lastModeProp.current = modeProp\n setModeState(modeProp)\n }, [modeProp])\n\n // Re-render on OS colour-scheme changes; resolveMode reads matchMedia during render.\n const [, refreshSystemMode] = useReducer((tick: number) => tick + 1, 0)\n\n const resolved = resolveMode(mode)\n\n const setMode = useCallback(\n (next: MModePreference) => {\n setModeState(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 toggleMode = useCallback(() => {\n setMode(resolved === 'dark' ? 'light' : 'dark')\n }, [resolved, setMode])\n\n // Listen for system theme changes when mode is 'system'.\n useEffect(() => {\n if (mode !== 'system') return\n const mq = window.matchMedia('(prefers-color-scheme: dark)')\n const handler = () => refreshSystemMode()\n mq.addEventListener('change', handler)\n return () => mq.removeEventListener('change', handler)\n }, [mode])\n\n // Apply token overrides and light/dark class before paint.\n useIsomorphicLayoutEffect(() => {\n const target = scope === 'body' ? document.body : ref.current\n if (!target) return\n\n // Body scope: keep <html> in sync too, so the class set by getMThemeInitScript() never goes stale.\n // Wrapper scope: the wrapper's className (theme-light / theme-dark) is rendered by React.\n const classTargets = scope === 'body' ? [target, document.documentElement] : []\n for (const node of classTargets) node.classList.toggle('theme-light', resolved === 'light')\n\n for (const [key, value] of Object.entries(safeTheme)) {\n const cssVar = varMap[key as keyof MTheme]\n if (cssVar && value) {\n target.style.setProperty(cssVar, value)\n if (cssVar === '--mineral-font-family-sans') {\n target.style.setProperty('--mineral-font-family', value)\n }\n }\n }\n\n return () => {\n for (const key of Object.keys(safeTheme)) {\n const cssVar = varMap[key as keyof MTheme]\n if (cssVar) {\n target.style.removeProperty(cssVar)\n if (cssVar === '--mineral-font-family-sans') {\n target.style.removeProperty('--mineral-font-family')\n }\n }\n }\n for (const node of classTargets) node.classList.remove('theme-light')\n }\n }, [resolved, safeTheme, scope])\n\n const ctx = useMemo<MThemeContextValue>(\n () => ({\n theme: safeTheme,\n mode,\n resolvedMode: resolved,\n setMode,\n toggleMode,\n }),\n [safeTheme, mode, resolved, setMode, toggleMode]\n )\n\n return (\n <ThemeContext.Provider value={ctx}>\n {scope === 'wrapper' ? (\n <div ref={ref} className={resolved === 'light' ? 'theme-light' : 'theme-dark'}>\n {children}\n </div>\n ) : (\n children\n )}\n </ThemeContext.Provider>\n )\n}\n\nexport function useMTheme(): MThemeContextValue {\n return useContext(ThemeContext)\n}\n","import {useEffect, useState} from 'react'\nimport type {MHiddenProps} from './MTheme.types'\n\nexport const MBreakpoints = {\n sm: 640,\n md: 768,\n lg: 1024,\n xl: 1280,\n '2xl': 1536,\n} as const\n\nexport const MShellBreakpoints = {\n mobile: 768,\n compact: 1024,\n} as const\n\nexport function useMaxWidth(breakpoint: number): boolean {\n const [matches, setMatches] = useState(() =>\n typeof window !== 'undefined' ? window.innerWidth <= breakpoint : false\n )\n\n useEffect(() => {\n if (typeof window === 'undefined') {\n return\n }\n\n const media = window.matchMedia(`(max-width: ${breakpoint}px)`)\n const sync = () => setMatches(media.matches)\n\n sync()\n\n if (typeof media.addEventListener === 'function') {\n media.addEventListener('change', sync)\n return () => media.removeEventListener('change', sync)\n }\n\n media.addListener(sync)\n return () => media.removeListener(sync)\n }, [breakpoint])\n\n return matches\n}\n\nexport function getHiddenProps(\n hidden?: MHiddenProps['hidden'],\n hiddenAbove?: MHiddenProps['hiddenAbove']\n) {\n const result: Record<string, unknown> = {}\n if (hidden === true) {\n result.hidden = true\n } else if (hidden !== undefined && hidden !== false) {\n result['data-m-hidden'] = hidden\n }\n if (hiddenAbove) {\n result['data-m-hidden-above'] = hiddenAbove\n }\n return result\n}\n"],"mappings":"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"}
package/dist/theme.cjs CHANGED
@@ -1,3 +1,3 @@
1
1
  const {ensureStyles}=require('./style-runtime.cjs')
2
2
  ensureStyles()
3
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./theme-CJuqObWL.cjs`);exports.MBreakpoints=e.t,exports.MShellBreakpoints=e.n,exports.MThemeProvider=e.a,exports.getHiddenProps=e.r,exports.useMTheme=e.o,exports.useMaxWidth=e.i;
3
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./theme-ByPZH0dh.cjs`);exports.MBreakpoints=e.t,exports.MShellBreakpoints=e.n,exports.MThemeProvider=e.a,exports.M_THEME_INIT_SCRIPT=e.o,exports.getHiddenProps=e.r,exports.getMThemeInitScript=e.s,exports.useMTheme=e.c,exports.useMaxWidth=e.i;
package/dist/theme.js CHANGED
@@ -1,4 +1,4 @@
1
1
  import {ensureStyles} from './style-runtime.js'
2
2
  ensureStyles()
3
- import { a as e, i as t, n, o as r, r as i, t as a } from "./theme-DAOU1aPs.js";
4
- export { a as MBreakpoints, n as MShellBreakpoints, e as MThemeProvider, i as getHiddenProps, r as useMTheme, t as useMaxWidth };
3
+ import { a as e, c as t, i as n, n as r, o as i, r as a, s as o, t as s } from "./theme-B_juOenJ.js";
4
+ export { s as MBreakpoints, r as MShellBreakpoints, e as MThemeProvider, i as M_THEME_INIT_SCRIPT, a as getHiddenProps, o as getMThemeInitScript, t as useMTheme, n as useMaxWidth };
@@ -1,5 +1,5 @@
1
- import { t as e } from "./cn-YER3QsV1.js";
2
- import { n as t } from "./MText-DhbAjtUE.js";
1
+ import { t as e } from "./cn-CUSXNnjF.js";
2
+ import { n as t } from "./MText-BUWQPoBM.js";
3
3
  import { jsx as n } from "react/jsx-runtime";
4
4
  //#region src/components/typography/MCode/MCode.tsx
5
5
  function r({ color: r, className: i, children: a, ...o }) {
@@ -28,4 +28,4 @@ function a({ className: t, children: r, ...i }) {
28
28
  //#endregion
29
29
  export { a as n, r, i as t };
30
30
 
31
- //# sourceMappingURL=typography-C806GYT4.js.map
31
+ //# sourceMappingURL=typography-DNcB8dOy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"typography-C806GYT4.js","names":[],"sources":["../src/components/typography/MCode/MCode.tsx","../src/components/typography/MList/MList.tsx"],"sourcesContent":["import type {MCodeProps} from './MCode.types'\nimport {cn} from '../../../utils/cn'\nimport {getAppearanceClassNames} from '../../../utils/appearanceProps'\nimport './MCode.css'\n\n// Render inline code tokens with semantic color support.\nexport function MCode({color, className, children, ...rest}: MCodeProps) {\n return (\n <code className={cn('code', ...getAppearanceClassNames({color}), className)} {...rest}>\n {children}\n </code>\n )\n}\n","import type {HTMLAttributes} from 'react'\nimport type {MListProps} from './MList.types'\nimport {cn} from '../../../utils/cn'\nimport {getAppearanceClassNames} from '../../../utils/appearanceProps'\nimport './MList.css'\n\n// Render ordered or unordered lists with shared typography tokens.\nexport function MList({ordered = false, color, className, children, ...rest}: MListProps) {\n const Component = ordered ? 'ol' : 'ul'\n\n return (\n <Component\n className={cn('list', ordered && 'ordered', ...getAppearanceClassNames({color}), className)}\n {...rest}\n >\n {children}\n </Component>\n )\n}\n\n// Render a list item that inherits the parent list styling.\nexport function MListItem({className, children, ...rest}: HTMLAttributes<HTMLLIElement>) {\n return (\n <li className={cn('item', className)} {...rest}>\n {children}\n </li>\n )\n}\n"],"mappings":";;;;AAMA,SAAgB,EAAM,EAAC,UAAO,cAAW,aAAU,GAAG,KAAmB;AACrE,QACI,kBAAC,QAAD;EAAM,WAAW,EAAG,QAAQ,GAAG,EAAwB,EAAC,UAAM,CAAC,EAAE,EAAU;EAAE,GAAI;EAC5E;EACE,CAAA;;;;ACHf,SAAgB,EAAM,EAAC,aAAU,IAAO,UAAO,cAAW,aAAU,GAAG,KAAmB;AAGtF,QACI,kBAHc,IAAU,OAAO,MAG/B;EACI,WAAW,EAAG,QAAQ,KAAW,WAAW,GAAG,EAAwB,EAAC,UAAM,CAAC,EAAE,EAAU;EAC3F,GAAI;EAEH;EACO,CAAA;;AAKpB,SAAgB,EAAU,EAAC,cAAW,aAAU,GAAG,KAAsC;AACrF,QACI,kBAAC,MAAD;EAAI,WAAW,EAAG,QAAQ,EAAU;EAAE,GAAI;EACrC;EACA,CAAA"}
1
+ {"version":3,"file":"typography-DNcB8dOy.js","names":[],"sources":["../src/components/typography/MCode/MCode.tsx","../src/components/typography/MList/MList.tsx"],"sourcesContent":["import type {MCodeProps} from './MCode.types'\nimport {cn} from '../../../utils/cn'\nimport {getAppearanceClassNames} from '../../../utils/appearanceProps'\nimport './MCode.css'\n\n// Render inline code tokens with semantic color support.\nexport function MCode({color, className, children, ...rest}: MCodeProps) {\n return (\n <code className={cn('code', ...getAppearanceClassNames({color}), className)} {...rest}>\n {children}\n </code>\n )\n}\n","import type {HTMLAttributes} from 'react'\nimport type {MListProps} from './MList.types'\nimport {cn} from '../../../utils/cn'\nimport {getAppearanceClassNames} from '../../../utils/appearanceProps'\nimport './MList.css'\n\n// Render ordered or unordered lists with shared typography tokens.\nexport function MList({ordered = false, color, className, children, ...rest}: MListProps) {\n const Component = ordered ? 'ol' : 'ul'\n\n return (\n <Component\n className={cn('list', ordered && 'ordered', ...getAppearanceClassNames({color}), className)}\n {...rest}\n >\n {children}\n </Component>\n )\n}\n\n// Render a list item that inherits the parent list styling.\nexport function MListItem({className, children, ...rest}: HTMLAttributes<HTMLLIElement>) {\n return (\n <li className={cn('item', className)} {...rest}>\n {children}\n </li>\n )\n}\n"],"mappings":";;;;AAMA,SAAgB,EAAM,EAAC,UAAO,cAAW,aAAU,GAAG,KAAmB;AACrE,QACI,kBAAC,QAAD;EAAM,WAAW,EAAG,QAAQ,GAAG,EAAwB,EAAC,UAAM,CAAC,EAAE,EAAU;EAAE,GAAI;EAC5E;EACE,CAAA;;;;ACHf,SAAgB,EAAM,EAAC,aAAU,IAAO,UAAO,cAAW,aAAU,GAAG,KAAmB;AAGtF,QACI,kBAHc,IAAU,OAAO,MAG/B;EACI,WAAW,EAAG,QAAQ,KAAW,WAAW,GAAG,EAAwB,EAAC,UAAM,CAAC,EAAE,EAAU;EAC3F,GAAI;EAEH;EACO,CAAA;;AAKpB,SAAgB,EAAU,EAAC,cAAW,aAAU,GAAG,KAAsC;AACrF,QACI,kBAAC,MAAD;EAAI,WAAW,EAAG,QAAQ,EAAU;EAAE,GAAI;EACrC;EACA,CAAA"}
@@ -1,2 +1,2 @@
1
- const e=require(`./cn-CU5TNITO.cjs`),t=require(`./MText-BDI4mdw8.cjs`);require(`./core-w629c4ND.cjs`);let n=require(`react/jsx-runtime`);function r({color:r,className:i,children:a,...o}){return(0,n.jsx)(`code`,{className:e.t(`code`,...t.n({color:r}),i),...o,children:a})}function i({ordered:r=!1,color:i,className:a,children:o,...s}){return(0,n.jsx)(r?`ol`:`ul`,{className:e.t(`list`,r&&`ordered`,...t.n({color:i}),a),...s,children:o})}function a({className:t,children:r,...i}){return(0,n.jsx)(`li`,{className:e.t(`item`,t),...i,children:r})}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
2
- //# sourceMappingURL=typography-4v01oNWx.cjs.map
1
+ const e=require(`./cn-DYFxgzi2.cjs`),t=require(`./MText-nsvLFsSv.cjs`);require(`./core-w629c4ND.cjs`);let n=require(`react/jsx-runtime`);function r({color:r,className:i,children:a,...o}){return(0,n.jsx)(`code`,{className:e.t(`code`,...t.n({color:r}),i),...o,children:a})}function i({ordered:r=!1,color:i,className:a,children:o,...s}){return(0,n.jsx)(r?`ol`:`ul`,{className:e.t(`list`,r&&`ordered`,...t.n({color:i}),a),...s,children:o})}function a({className:t,children:r,...i}){return(0,n.jsx)(`li`,{className:e.t(`item`,t),...i,children:r})}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
2
+ //# sourceMappingURL=typography-I7aeG8pH.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"typography-4v01oNWx.cjs","names":[],"sources":["../src/components/typography/MCode/MCode.tsx","../src/components/typography/MList/MList.tsx"],"sourcesContent":["import type {MCodeProps} from './MCode.types'\nimport {cn} from '../../../utils/cn'\nimport {getAppearanceClassNames} from '../../../utils/appearanceProps'\nimport './MCode.css'\n\n// Render inline code tokens with semantic color support.\nexport function MCode({color, className, children, ...rest}: MCodeProps) {\n return (\n <code className={cn('code', ...getAppearanceClassNames({color}), className)} {...rest}>\n {children}\n </code>\n )\n}\n","import type {HTMLAttributes} from 'react'\nimport type {MListProps} from './MList.types'\nimport {cn} from '../../../utils/cn'\nimport {getAppearanceClassNames} from '../../../utils/appearanceProps'\nimport './MList.css'\n\n// Render ordered or unordered lists with shared typography tokens.\nexport function MList({ordered = false, color, className, children, ...rest}: MListProps) {\n const Component = ordered ? 'ol' : 'ul'\n\n return (\n <Component\n className={cn('list', ordered && 'ordered', ...getAppearanceClassNames({color}), className)}\n {...rest}\n >\n {children}\n </Component>\n )\n}\n\n// Render a list item that inherits the parent list styling.\nexport function MListItem({className, children, ...rest}: HTMLAttributes<HTMLLIElement>) {\n return (\n <li className={cn('item', className)} {...rest}>\n {children}\n </li>\n )\n}\n"],"mappings":"yIAMA,SAAgB,EAAM,CAAC,QAAO,YAAW,WAAU,GAAG,GAAmB,CACrE,OACI,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,EAAG,OAAQ,GAAG,EAAA,EAAwB,CAAC,QAAM,CAAC,CAAE,EAAU,CAAE,GAAI,EAC5E,WACE,CAAA,CCHf,SAAgB,EAAM,CAAC,UAAU,GAAO,QAAO,YAAW,WAAU,GAAG,GAAmB,CAGtF,OACI,EAAA,EAAA,KAHc,EAAU,KAAO,KAG/B,CACI,UAAW,EAAA,EAAG,OAAQ,GAAW,UAAW,GAAG,EAAA,EAAwB,CAAC,QAAM,CAAC,CAAE,EAAU,CAC3F,GAAI,EAEH,WACO,CAAA,CAKpB,SAAgB,EAAU,CAAC,YAAW,WAAU,GAAG,GAAsC,CACrF,OACI,EAAA,EAAA,KAAC,KAAD,CAAI,UAAW,EAAA,EAAG,OAAQ,EAAU,CAAE,GAAI,EACrC,WACA,CAAA"}
1
+ {"version":3,"file":"typography-I7aeG8pH.cjs","names":[],"sources":["../src/components/typography/MCode/MCode.tsx","../src/components/typography/MList/MList.tsx"],"sourcesContent":["import type {MCodeProps} from './MCode.types'\nimport {cn} from '../../../utils/cn'\nimport {getAppearanceClassNames} from '../../../utils/appearanceProps'\nimport './MCode.css'\n\n// Render inline code tokens with semantic color support.\nexport function MCode({color, className, children, ...rest}: MCodeProps) {\n return (\n <code className={cn('code', ...getAppearanceClassNames({color}), className)} {...rest}>\n {children}\n </code>\n )\n}\n","import type {HTMLAttributes} from 'react'\nimport type {MListProps} from './MList.types'\nimport {cn} from '../../../utils/cn'\nimport {getAppearanceClassNames} from '../../../utils/appearanceProps'\nimport './MList.css'\n\n// Render ordered or unordered lists with shared typography tokens.\nexport function MList({ordered = false, color, className, children, ...rest}: MListProps) {\n const Component = ordered ? 'ol' : 'ul'\n\n return (\n <Component\n className={cn('list', ordered && 'ordered', ...getAppearanceClassNames({color}), className)}\n {...rest}\n >\n {children}\n </Component>\n )\n}\n\n// Render a list item that inherits the parent list styling.\nexport function MListItem({className, children, ...rest}: HTMLAttributes<HTMLLIElement>) {\n return (\n <li className={cn('item', className)} {...rest}>\n {children}\n </li>\n )\n}\n"],"mappings":"yIAMA,SAAgB,EAAM,CAAC,QAAO,YAAW,WAAU,GAAG,GAAmB,CACrE,OACI,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,EAAG,OAAQ,GAAG,EAAA,EAAwB,CAAC,QAAM,CAAC,CAAE,EAAU,CAAE,GAAI,EAC5E,WACE,CAAA,CCHf,SAAgB,EAAM,CAAC,UAAU,GAAO,QAAO,YAAW,WAAU,GAAG,GAAmB,CAGtF,OACI,EAAA,EAAA,KAHc,EAAU,KAAO,KAG/B,CACI,UAAW,EAAA,EAAG,OAAQ,GAAW,UAAW,GAAG,EAAA,EAAwB,CAAC,QAAM,CAAC,CAAE,EAAU,CAC3F,GAAI,EAEH,WACO,CAAA,CAKpB,SAAgB,EAAU,CAAC,YAAW,WAAU,GAAG,GAAsC,CACrF,OACI,EAAA,EAAA,KAAC,KAAD,CAAI,UAAW,EAAA,EAAG,OAAQ,EAAU,CAAE,GAAI,EACrC,WACA,CAAA"}
@@ -1,3 +1,3 @@
1
1
  const {ensureStyles}=require('./style-runtime.cjs')
2
2
  ensureStyles()
3
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./MText-BDI4mdw8.cjs`),t=require(`./MHeading-AYQ8_GFP.cjs`),n=require(`./MLink-Dk_ReE6i.cjs`),r=require(`./typography-4v01oNWx.cjs`),i=require(`./MSubText-C6v6Exa2.cjs`),a=require(`./MKbd-BR1GX5oK.cjs`);exports.MCode=r.r,exports.MHeading=t.t,exports.MKbd=a.t,exports.MLink=n.t,exports.MList=r.t,exports.MListItem=r.n,exports.MSubText=i.t,exports.MText=e.t;
3
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./MText-nsvLFsSv.cjs`),t=require(`./MHeading-DiGYs1FJ.cjs`),n=require(`./MLink-C6uwA6db.cjs`),r=require(`./typography-I7aeG8pH.cjs`),i=require(`./MSubText-Dl1PfToZ.cjs`),a=require(`./MKbd-CnW3NUIu.cjs`);exports.MCode=r.r,exports.MHeading=t.t,exports.MKbd=a.t,exports.MLink=n.t,exports.MList=r.t,exports.MListItem=r.n,exports.MSubText=i.t,exports.MText=e.t;
@@ -1,9 +1,9 @@
1
1
  import {ensureStyles} from './style-runtime.js'
2
2
  ensureStyles()
3
- import { t as e } from "./MText-DhbAjtUE.js";
4
- import { t } from "./MHeading-DcGxUMwC.js";
5
- import { t as n } from "./MLink-CAl6N6_z.js";
6
- import { n as r, r as i, t as a } from "./typography-C806GYT4.js";
7
- import { t as o } from "./MSubText-B0tXiuAp.js";
8
- import { t as s } from "./MKbd-COb7oh_k.js";
3
+ import { t as e } from "./MText-BUWQPoBM.js";
4
+ import { t } from "./MHeading-DQSQ8c7L.js";
5
+ import { t as n } from "./MLink-ixg0xFFI.js";
6
+ import { n as r, r as i, t as a } from "./typography-DNcB8dOy.js";
7
+ import { t as o } from "./MSubText-BeZk-fhz.js";
8
+ import { t as s } from "./MKbd-DjfGyajR.js";
9
9
  export { i as MCode, t as MHeading, s as MKbd, n as MLink, a as MList, r as MListItem, o as MSubText, e as MText };