@banzamel/mineralui 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (404) hide show
  1. package/README.md +1 -1
  2. package/dist/MAvatar-DMNwEhrd.cjs +2 -0
  3. package/dist/{MAvatar-DlFdIi6R.cjs.map → MAvatar-DMNwEhrd.cjs.map} +1 -1
  4. package/dist/{MAvatar-B0uPeciT.js → MAvatar-lCDowKeG.js} +5 -5
  5. package/dist/{MAvatar-B0uPeciT.js.map → MAvatar-lCDowKeG.js.map} +1 -1
  6. package/dist/{MBadge-5PivwWxe.js → MBadge-CuVY4TXo.js} +3 -3
  7. package/dist/{MBadge-5PivwWxe.js.map → MBadge-CuVY4TXo.js.map} +1 -1
  8. package/dist/MBadge-DmIO-oEJ.cjs +2 -0
  9. package/dist/{MBadge-DNqOptef.cjs.map → MBadge-DmIO-oEJ.cjs.map} +1 -1
  10. package/dist/MButton-DTblkF4v.cjs +2 -0
  11. package/dist/{MButton-CtEFKjYZ.cjs.map → MButton-DTblkF4v.cjs.map} +1 -1
  12. package/dist/{MButton-Bfe4iq51.js → MButton-JumA31vM.js} +4 -4
  13. package/dist/{MButton-Bfe4iq51.js.map → MButton-JumA31vM.js.map} +1 -1
  14. package/dist/{MCheckbox-B7SpcD4H.js → MCheckbox-DYrfb_bW.js} +3 -3
  15. package/dist/{MCheckbox-B7SpcD4H.js.map → MCheckbox-DYrfb_bW.js.map} +1 -1
  16. package/dist/MCheckbox-DbHXmu1a.cjs +2 -0
  17. package/dist/{MCheckbox-Bea3orrs.cjs.map → MCheckbox-DbHXmu1a.cjs.map} +1 -1
  18. package/dist/{MCookieBootstrap-DSOT4FQo.cjs → MCookieBootstrap-ByObqs4o.cjs} +1 -1
  19. package/dist/{MCookieBootstrap-DSOT4FQo.cjs.map → MCookieBootstrap-ByObqs4o.cjs.map} +1 -1
  20. package/dist/{MCookieBootstrap-CNYLvKjW.js → MCookieBootstrap-D1OGFCC7.js} +1 -1
  21. package/dist/{MCookieBootstrap-CNYLvKjW.js.map → MCookieBootstrap-D1OGFCC7.js.map} +1 -1
  22. package/dist/MDataTable-BSuwd0gb.cjs +2 -0
  23. package/dist/{MDataTable-CVwnVouZ.cjs.map → MDataTable-BSuwd0gb.cjs.map} +1 -1
  24. package/dist/{MDataTable-D0ONRmcC.js → MDataTable-CEGkEf5L.js} +6 -6
  25. package/dist/{MDataTable-D0ONRmcC.js.map → MDataTable-CEGkEf5L.js.map} +1 -1
  26. package/dist/{MDrawer-C7rLXC_O.js → MDrawer-BCjiepJO.js} +5 -5
  27. package/dist/{MDrawer-C7rLXC_O.js.map → MDrawer-BCjiepJO.js.map} +1 -1
  28. package/dist/MDrawer-YhA79aS4.cjs +2 -0
  29. package/dist/{MDrawer-DF42-zF2.cjs.map → MDrawer-YhA79aS4.cjs.map} +1 -1
  30. package/dist/MDropdownMenu-BRL0Vcq_.cjs +2 -0
  31. package/dist/{MDropdownMenu-X7ywPqth.cjs.map → MDropdownMenu-BRL0Vcq_.cjs.map} +1 -1
  32. package/dist/{MDropdownMenu-CxBhYxQb.js → MDropdownMenu-CVp1LFgZ.js} +4 -4
  33. package/dist/{MDropdownMenu-CxBhYxQb.js.map → MDropdownMenu-CVp1LFgZ.js.map} +1 -1
  34. package/dist/MGalleryIllustration-BHtRFizZ.cjs +2 -0
  35. package/dist/{MGalleryIllustration-CeOMHzpt.cjs.map → MGalleryIllustration-BHtRFizZ.cjs.map} +1 -1
  36. package/dist/{MGalleryIllustration-D7CVMSwO.js → MGalleryIllustration-DhOtXwhC.js} +2 -2
  37. package/dist/{MGalleryIllustration-D7CVMSwO.js.map → MGalleryIllustration-DhOtXwhC.js.map} +1 -1
  38. package/dist/MHeading-4vfYPN_i.cjs +2 -0
  39. package/dist/{MHeading-XCMJNMYB.cjs.map → MHeading-4vfYPN_i.cjs.map} +1 -1
  40. package/dist/{MHeading-DBS5Kytw.js → MHeading-qOPIM4dL.js} +4 -4
  41. package/dist/{MHeading-DBS5Kytw.js.map → MHeading-qOPIM4dL.js.map} +1 -1
  42. package/dist/{MI18nProvider-VH14CI8u.js → MI18nProvider-BRZxEMqL.js} +1 -1
  43. package/dist/{MI18nProvider-VH14CI8u.js.map → MI18nProvider-BRZxEMqL.js.map} +1 -1
  44. package/dist/MI18nProvider-Bml7Vs2-.cjs +2 -0
  45. package/dist/{MI18nProvider-4ji0oN3U.cjs.map → MI18nProvider-Bml7Vs2-.cjs.map} +1 -1
  46. package/dist/MImage-DXy-dHas.cjs +2 -0
  47. package/dist/{MImage-2Xztd_N6.cjs.map → MImage-DXy-dHas.cjs.map} +1 -1
  48. package/dist/{MImage-UmiZwzDJ.js → MImage-Dp81HSZr.js} +5 -5
  49. package/dist/{MImage-UmiZwzDJ.js.map → MImage-Dp81HSZr.js.map} +1 -1
  50. package/dist/{MInline-BYsbmfkz.js → MInline-CnxH6VZx.js} +5 -5
  51. package/dist/{MInline-BYsbmfkz.js.map → MInline-CnxH6VZx.js.map} +1 -1
  52. package/dist/MInline-DYy3IhF-.cjs +2 -0
  53. package/dist/{MInline-oCvhfJwM.cjs.map → MInline-DYy3IhF-.cjs.map} +1 -1
  54. package/dist/{MInput-iKIeefss.js → MInput-3ynY4aGD.js} +6 -6
  55. package/dist/{MInput-iKIeefss.js.map → MInput-3ynY4aGD.js.map} +1 -1
  56. package/dist/MInput-DkbdeGQW.cjs +2 -0
  57. package/dist/{MInput-CpEJQ9SV.cjs.map → MInput-DkbdeGQW.cjs.map} +1 -1
  58. package/dist/{MInputCVC-BpGTqkQx.js → MInputCVC-BO251yU6.js} +5 -5
  59. package/dist/{MInputCVC-BpGTqkQx.js.map → MInputCVC-BO251yU6.js.map} +1 -1
  60. package/dist/MInputCVC-NSy1SkiZ.cjs +2 -0
  61. package/dist/{MInputCVC-BuGwm7fv.cjs.map → MInputCVC-NSy1SkiZ.cjs.map} +1 -1
  62. package/dist/{MInputSearch-y3_ihYRj.js → MInputSearch-BT0OqlE_.js} +4 -4
  63. package/dist/{MInputSearch-y3_ihYRj.js.map → MInputSearch-BT0OqlE_.js.map} +1 -1
  64. package/dist/MInputSearch-CQQIKYMt.cjs +2 -0
  65. package/dist/{MInputSearch-B-Lqr-QG.cjs.map → MInputSearch-CQQIKYMt.cjs.map} +1 -1
  66. package/dist/MLink-B6Az9m2B.cjs +2 -0
  67. package/dist/{MLink-7hndQLKM.cjs.map → MLink-B6Az9m2B.cjs.map} +1 -1
  68. package/dist/{MLink-tcICJfPn.js → MLink-Cytb3UVc.js} +3 -3
  69. package/dist/{MLink-tcICJfPn.js.map → MLink-Cytb3UVc.js.map} +1 -1
  70. package/dist/{MModal-___Rw8YK.js → MModal-BTOS_Xrs.js} +4 -4
  71. package/dist/{MModal-___Rw8YK.js.map → MModal-BTOS_Xrs.js.map} +1 -1
  72. package/dist/MModal-BhYBOKUh.cjs +2 -0
  73. package/dist/{MModal-DlnT3BBp.cjs.map → MModal-BhYBOKUh.cjs.map} +1 -1
  74. package/dist/MPagination-4X0we8Ab.cjs +2 -0
  75. package/dist/{MPagination-CTtr_L-Q.cjs.map → MPagination-4X0we8Ab.cjs.map} +1 -1
  76. package/dist/{MPagination-CzJGko3i.js → MPagination-Bz35UIbt.js} +4 -4
  77. package/dist/{MPagination-CzJGko3i.js.map → MPagination-Bz35UIbt.js.map} +1 -1
  78. package/dist/MPopover-C03jl1zd.cjs +2 -0
  79. package/dist/{MPopover-C3-fGAke.cjs.map → MPopover-C03jl1zd.cjs.map} +1 -1
  80. package/dist/{MPopover-BC9C5967.js → MPopover-DHc3otwX.js} +3 -3
  81. package/dist/{MPopover-BC9C5967.js.map → MPopover-DHc3otwX.js.map} +1 -1
  82. package/dist/{MPortal-Dqlkh3hw.js → MPortal-CHoRxTlE.js} +1 -1
  83. package/dist/{MPortal-Dqlkh3hw.js.map → MPortal-CHoRxTlE.js.map} +1 -1
  84. package/dist/MPortal-xGHZKLX5.cjs +2 -0
  85. package/dist/{MPortal-PyRKsZxc.cjs.map → MPortal-xGHZKLX5.cjs.map} +1 -1
  86. package/dist/{MQrCode-B7jbpcUj.js → MQrCode-Dmgh8fzs.js} +4 -4
  87. package/dist/{MQrCode-B7jbpcUj.js.map → MQrCode-Dmgh8fzs.js.map} +1 -1
  88. package/dist/MQrCode-blzcp1yz.cjs +2 -0
  89. package/dist/{MQrCode-Cha7657D.cjs.map → MQrCode-blzcp1yz.cjs.map} +1 -1
  90. package/dist/{MSkeleton-Cwa-JRxo.js → MSkeleton-CJIlxsCx.js} +4 -4
  91. package/dist/{MSkeleton-Cwa-JRxo.js.map → MSkeleton-CJIlxsCx.js.map} +1 -1
  92. package/dist/MSkeleton-CQEnuIos.cjs +2 -0
  93. package/dist/{MSkeleton-BAkzwxOS.cjs.map → MSkeleton-CQEnuIos.cjs.map} +1 -1
  94. package/dist/MSlider-B4K6bkIs.cjs +2 -0
  95. package/dist/{MSlider-BCMJkvcA.cjs.map → MSlider-B4K6bkIs.cjs.map} +1 -1
  96. package/dist/{MSlider-CqrusKJQ.js → MSlider-DuTnRaK_.js} +2 -2
  97. package/dist/{MSlider-CqrusKJQ.js.map → MSlider-DuTnRaK_.js.map} +1 -1
  98. package/dist/MSparkline-7ycEh2eZ.cjs +2 -0
  99. package/dist/{MSparkline-BOaNmbeB.cjs.map → MSparkline-7ycEh2eZ.cjs.map} +1 -1
  100. package/dist/{MSparkline-Cb_EwR-E.js → MSparkline-Dz4K9Vx9.js} +2 -2
  101. package/dist/{MSparkline-Cb_EwR-E.js.map → MSparkline-Dz4K9Vx9.js.map} +1 -1
  102. package/dist/{MStack-DVOFZo1L.js → MStack-8qZI36jT.js} +5 -5
  103. package/dist/{MStack-DVOFZo1L.js.map → MStack-8qZI36jT.js.map} +1 -1
  104. package/dist/MStack-BcEwA2sk.cjs +2 -0
  105. package/dist/{MStack-Bp1x4woD.cjs.map → MStack-BcEwA2sk.cjs.map} +1 -1
  106. package/dist/{MSubText-CHvUFOlt.js → MSubText-D-wde4hz.js} +4 -4
  107. package/dist/{MSubText-CHvUFOlt.js.map → MSubText-D-wde4hz.js.map} +1 -1
  108. package/dist/MSubText-DjtJHCSy.cjs +2 -0
  109. package/dist/{MSubText-Dg3PKnwI.cjs.map → MSubText-DjtJHCSy.cjs.map} +1 -1
  110. package/dist/MSurface-DWl0groZ.cjs +2 -0
  111. package/dist/{MSurface-ClPdv7a4.cjs.map → MSurface-DWl0groZ.cjs.map} +1 -1
  112. package/dist/{MSurface-FEfWBJFx.js → MSurface-DnwfNn3F.js} +5 -5
  113. package/dist/{MSurface-FEfWBJFx.js.map → MSurface-DnwfNn3F.js.map} +1 -1
  114. package/dist/{MTag-CjaE6vPj.js → MTag-CGns3Rk2.js} +5 -5
  115. package/dist/{MTag-CjaE6vPj.js.map → MTag-CGns3Rk2.js.map} +1 -1
  116. package/dist/MTag-D_mw488_.cjs +2 -0
  117. package/dist/{MTag-BxoSuAOj.cjs.map → MTag-D_mw488_.cjs.map} +1 -1
  118. package/dist/{MText-hHMgVJ4-.js → MText-C0VxNQCE.js} +4 -4
  119. package/dist/{MText-hHMgVJ4-.js.map → MText-C0VxNQCE.js.map} +1 -1
  120. package/dist/MText-rSgurLeq.cjs +2 -0
  121. package/dist/{MText-CWHwmjs8.cjs.map → MText-rSgurLeq.cjs.map} +1 -1
  122. package/dist/MTimeAgo-BesEN_u2.cjs +2 -0
  123. package/dist/{MTimeAgo-91_ndjxU.cjs.map → MTimeAgo-BesEN_u2.cjs.map} +1 -1
  124. package/dist/{MTimeAgo-xxl53mct.js → MTimeAgo-ecmmkLeM.js} +4 -4
  125. package/dist/{MTimeAgo-xxl53mct.js.map → MTimeAgo-ecmmkLeM.js.map} +1 -1
  126. package/dist/MToggle-DV0lHLSE.cjs +2 -0
  127. package/dist/{MToggle-CsGS_W3X.cjs.map → MToggle-DV0lHLSE.cjs.map} +1 -1
  128. package/dist/{MToggle-B6emKoKq.js → MToggle-DXw8qz0m.js} +3 -3
  129. package/dist/{MToggle-B6emKoKq.js.map → MToggle-DXw8qz0m.js.map} +1 -1
  130. package/dist/{MTooltip-UYOjDBOu.js → MTooltip-BW4hHnEf.js} +3 -3
  131. package/dist/{MTooltip-UYOjDBOu.js.map → MTooltip-BW4hHnEf.js.map} +1 -1
  132. package/dist/MTooltip-Ce1cs9e3.cjs +2 -0
  133. package/dist/{MTooltip-CNXoyQEN.cjs.map → MTooltip-Ce1cs9e3.cjs.map} +1 -1
  134. package/dist/{cards-1--Cy-KV.js → cards-D45hG2rJ.js} +17 -17
  135. package/dist/{cards-1--Cy-KV.js.map → cards-D45hG2rJ.js.map} +1 -1
  136. package/dist/cards-DFUONqA1.cjs +2 -0
  137. package/dist/{cards-CTegCxIA.cjs.map → cards-DFUONqA1.cjs.map} +1 -1
  138. package/dist/cards.cjs +1 -1
  139. package/dist/cards.js +2 -2
  140. package/dist/chunk-350yNsax.cjs +1 -0
  141. package/dist/chunk-efA98nb6.js +13 -0
  142. package/dist/{cn-YER3QsV1.js → cn-CUSXNnjF.js} +1 -1
  143. package/dist/{cn-YER3QsV1.js.map → cn-CUSXNnjF.js.map} +1 -1
  144. package/dist/{cn-CU5TNITO.cjs → cn-DYFxgzi2.cjs} +1 -1
  145. package/dist/{cn-CU5TNITO.cjs.map → cn-DYFxgzi2.cjs.map} +1 -1
  146. package/dist/components/display/MCodeBlock/MCodeBlock.d.ts +2 -0
  147. package/dist/components/display/MCodeBlock/MCodeBlock.types.d.ts +15 -0
  148. package/dist/components/display/MCodeBlock/index.d.ts +2 -0
  149. package/dist/components/display/index.d.ts +2 -0
  150. package/dist/components/layout/MGrid/MGrid.d.ts +7 -3
  151. package/dist/components/layout/MGrid/MGrid.types.d.ts +1 -2
  152. package/dist/controls-CkndCsX9.cjs +2 -0
  153. package/dist/{controls-CAab2nyg.cjs.map → controls-CkndCsX9.cjs.map} +1 -1
  154. package/dist/{controls-C0qr_vMu.js → controls-DY0O5P1b.js} +6 -6
  155. package/dist/{controls-C0qr_vMu.js.map → controls-DY0O5P1b.js.map} +1 -1
  156. package/dist/controls.cjs +1 -1
  157. package/dist/controls.js +5 -5
  158. package/dist/cookie-consent-bootstrap.cjs +1 -1
  159. package/dist/cookie-consent-bootstrap.js +1 -1
  160. package/dist/{creditCards-ljs044xt.cjs → creditCards-198KJN0s.cjs} +1 -1
  161. package/dist/{creditCards-ljs044xt.cjs.map → creditCards-198KJN0s.cjs.map} +1 -1
  162. package/dist/{creditCards-CCysEwry.js → creditCards-BB11bW7D.js} +1 -1
  163. package/dist/{creditCards-CCysEwry.js.map → creditCards-BB11bW7D.js.map} +1 -1
  164. package/dist/data-BKhx0T2n.cjs +2 -0
  165. package/dist/{data-Uy_XSs32.cjs.map → data-BKhx0T2n.cjs.map} +1 -1
  166. package/dist/{data-z3Uc9FSI.js → data-Coc1KFVp.js} +24 -24
  167. package/dist/{data-z3Uc9FSI.js.map → data-Coc1KFVp.js.map} +1 -1
  168. package/dist/data.cjs +1 -1
  169. package/dist/data.js +3 -3
  170. package/dist/{dateUtils-CUY6CRCf.js → dateUtils-Ben8lfvV.js} +1 -1
  171. package/dist/{dateUtils-CUY6CRCf.js.map → dateUtils-Ben8lfvV.js.map} +1 -1
  172. package/dist/{dateUtils-Dq1vaA-D.cjs → dateUtils-vT9rOf1J.cjs} +1 -1
  173. package/dist/{dateUtils-Dq1vaA-D.cjs.map → dateUtils-vT9rOf1J.cjs.map} +1 -1
  174. package/dist/display-Bt0G6RPk.cjs +3 -0
  175. package/dist/display-Bt0G6RPk.cjs.map +1 -0
  176. package/dist/display-CZO1cOXZ.js +614 -0
  177. package/dist/display-CZO1cOXZ.js.map +1 -0
  178. package/dist/display.cjs +1 -1
  179. package/dist/display.js +4 -4
  180. package/dist/dropdowns-CI4qUI4Q.cjs +2 -0
  181. package/dist/{dropdowns-CzqyYQwR.cjs.map → dropdowns-CI4qUI4Q.cjs.map} +1 -1
  182. package/dist/{dropdowns-FQlxsOYd.js → dropdowns-y3B9jSZf.js} +15 -15
  183. package/dist/{dropdowns-FQlxsOYd.js.map → dropdowns-y3B9jSZf.js.map} +1 -1
  184. package/dist/dropdowns.cjs +1 -1
  185. package/dist/dropdowns.js +1 -1
  186. package/dist/{feedback-xtBDPbzP.js → feedback-5T-NKzak.js} +18 -18
  187. package/dist/{feedback-xtBDPbzP.js.map → feedback-5T-NKzak.js.map} +1 -1
  188. package/dist/feedback-Cfi3ON4a.cjs +2 -0
  189. package/dist/{feedback-C9z4MZ-V.cjs.map → feedback-Cfi3ON4a.cjs.map} +1 -1
  190. package/dist/feedback.cjs +1 -1
  191. package/dist/feedback.js +6 -6
  192. package/dist/{form-CFWADsyf.js → form-ClvMlxiX.js} +2 -2
  193. package/dist/{form-CFWADsyf.js.map → form-ClvMlxiX.js.map} +1 -1
  194. package/dist/form-g7ns3G0R.cjs +2 -0
  195. package/dist/{form-6JwrowsS.cjs.map → form-g7ns3G0R.cjs.map} +1 -1
  196. package/dist/form.cjs +1 -1
  197. package/dist/form.js +1 -1
  198. package/dist/{formatters-CNjg_h7-.cjs → formatters-CauWlsnM.cjs} +1 -1
  199. package/dist/{formatters-CNjg_h7-.cjs.map → formatters-CauWlsnM.cjs.map} +1 -1
  200. package/dist/{formatters-T0vvjMtB.js → formatters-Doqdu_w1.js} +1 -1
  201. package/dist/{formatters-T0vvjMtB.js.map → formatters-Doqdu_w1.js.map} +1 -1
  202. package/dist/{frameworkTexts-B6oE8pMk.js → frameworkTexts-Brl68Lwf.js} +2 -2
  203. package/dist/{frameworkTexts-B6oE8pMk.js.map → frameworkTexts-Brl68Lwf.js.map} +1 -1
  204. package/dist/frameworkTexts-khAIsKS9.cjs +2 -0
  205. package/dist/{frameworkTexts-C_9KZK_A.cjs.map → frameworkTexts-khAIsKS9.cjs.map} +1 -1
  206. package/dist/i18n.cjs +1 -1
  207. package/dist/i18n.js +1 -1
  208. package/dist/icons-BhZaama4.cjs +2 -0
  209. package/dist/{icons-Dv1T-cF4.cjs.map → icons-BhZaama4.cjs.map} +1 -1
  210. package/dist/{icons-D5DK-J2C.js → icons-DZr7JKf6.js} +1 -1
  211. package/dist/{icons-D5DK-J2C.js.map → icons-DZr7JKf6.js.map} +1 -1
  212. package/dist/icons.cjs +1 -1
  213. package/dist/icons.js +1 -1
  214. package/dist/illustrations.cjs +1 -1
  215. package/dist/illustrations.js +1 -1
  216. package/dist/index.cjs +1 -1
  217. package/dist/index.js +59 -59
  218. package/dist/inputs-BIqwv3qy.cjs +2 -0
  219. package/dist/{inputs-z84nU7A8.cjs.map → inputs-BIqwv3qy.cjs.map} +1 -1
  220. package/dist/{inputs-gB1ET0dG.js → inputs-Cj6ITRad.js} +12 -12
  221. package/dist/{inputs-gB1ET0dG.js.map → inputs-Cj6ITRad.js.map} +1 -1
  222. package/dist/inputs.cjs +1 -1
  223. package/dist/inputs.js +4 -4
  224. package/dist/{layout-DHVIqY-O.js → layout-Cu2u9xLW.js} +116 -81
  225. package/dist/layout-Cu2u9xLW.js.map +1 -0
  226. package/dist/layout-DZXYG0TB.cjs +2 -0
  227. package/dist/layout-DZXYG0TB.cjs.map +1 -0
  228. package/dist/layout.cjs +1 -1
  229. package/dist/layout.js +5 -5
  230. package/dist/{layoutProps-Cl6d1KmH.js → layoutProps-Cwq4EXTV.js} +1 -1
  231. package/dist/{layoutProps-Cl6d1KmH.js.map → layoutProps-Cwq4EXTV.js.map} +1 -1
  232. package/dist/{layoutProps-Ck4VtGm9.cjs → layoutProps-DbnX4zRp.cjs} +1 -1
  233. package/dist/{layoutProps-Ck4VtGm9.cjs.map → layoutProps-DbnX4zRp.cjs.map} +1 -1
  234. package/dist/{licensing-CwzqhHH9.js → licensing-Cbpi1toF.js} +1 -1
  235. package/dist/{licensing-CwzqhHH9.js.map → licensing-Cbpi1toF.js.map} +1 -1
  236. package/dist/licensing-JchPJhVY.cjs +2 -0
  237. package/dist/{licensing-BXFauUj_.cjs.map → licensing-JchPJhVY.cjs.map} +1 -1
  238. package/dist/{locale-BNyzqXAU.js → locale-CS1-IY_I.js} +1 -1
  239. package/dist/{locale-BNyzqXAU.js.map → locale-CS1-IY_I.js.map} +1 -1
  240. package/dist/locale-DAkrtKuT.cjs +2 -0
  241. package/dist/{locale-BltrWJtd.cjs.map → locale-DAkrtKuT.cjs.map} +1 -1
  242. package/dist/media-CWx--sZw.cjs +2 -0
  243. package/dist/{media-Ch3Fyf4K.cjs.map → media-CWx--sZw.cjs.map} +1 -1
  244. package/dist/{media-DV58aS3j.js → media-fmOnjugH.js} +9 -9
  245. package/dist/{media-DV58aS3j.js.map → media-fmOnjugH.js.map} +1 -1
  246. package/dist/media.cjs +1 -1
  247. package/dist/media.js +3 -3
  248. package/dist/{overlays-_zOs7GGk.js → overlays-DlQem0xt.js} +7 -7
  249. package/dist/{overlays-_zOs7GGk.js.map → overlays-DlQem0xt.js.map} +1 -1
  250. package/dist/overlays-pT3iozjm.cjs +2 -0
  251. package/dist/{overlays-7HBAQneO.cjs.map → overlays-pT3iozjm.cjs.map} +1 -1
  252. package/dist/overlays.cjs +1 -1
  253. package/dist/overlays.js +5 -5
  254. package/dist/primitives.cjs +1 -1
  255. package/dist/primitives.js +2 -2
  256. package/dist/prism-bash-Xs-n623m.js +177 -0
  257. package/dist/prism-bash-Xs-n623m.js.map +1 -0
  258. package/dist/prism-bash-oC8SHnvZ.cjs +2 -0
  259. package/dist/prism-bash-oC8SHnvZ.cjs.map +1 -0
  260. package/dist/prism-clike-BHy7LBAZ.cjs +2 -0
  261. package/dist/prism-clike-BHy7LBAZ.cjs.map +1 -0
  262. package/dist/prism-clike-CrtZga9r.js +30 -0
  263. package/dist/prism-clike-CrtZga9r.js.map +1 -0
  264. package/dist/prism-core-DsZQ3wSm.js +299 -0
  265. package/dist/prism-core-DsZQ3wSm.js.map +1 -0
  266. package/dist/prism-core-Z2NDHfPM.cjs +2 -0
  267. package/dist/prism-core-Z2NDHfPM.cjs.map +1 -0
  268. package/dist/prism-css-CtHScmdk.cjs +2 -0
  269. package/dist/prism-css-CtHScmdk.cjs.map +1 -0
  270. package/dist/prism-css-DNZzCmaG.js +57 -0
  271. package/dist/prism-css-DNZzCmaG.js.map +1 -0
  272. package/dist/prism-javascript-DVQ8iSSP.cjs +2 -0
  273. package/dist/prism-javascript-DVQ8iSSP.cjs.map +1 -0
  274. package/dist/prism-javascript-tgrsDJvl.js +103 -0
  275. package/dist/prism-javascript-tgrsDJvl.js.map +1 -0
  276. package/dist/prism-json-D3AIyrc5.cjs +2 -0
  277. package/dist/prism-json-D3AIyrc5.cjs.map +1 -0
  278. package/dist/prism-json-DdyAX9Pp.js +27 -0
  279. package/dist/prism-json-DdyAX9Pp.js.map +1 -0
  280. package/dist/prism-jsx-CnFRZYK4.cjs +2 -0
  281. package/dist/prism-jsx-CnFRZYK4.cjs.map +1 -0
  282. package/dist/prism-jsx-WafGh0eg.js +48 -0
  283. package/dist/prism-jsx-WafGh0eg.js.map +1 -0
  284. package/dist/prism-markup-3wgbeWT0.js +118 -0
  285. package/dist/prism-markup-3wgbeWT0.js.map +1 -0
  286. package/dist/prism-markup-BsZlEnsE.cjs +2 -0
  287. package/dist/prism-markup-BsZlEnsE.cjs.map +1 -0
  288. package/dist/prism-markup-templating-DwntZfmY.js +41 -0
  289. package/dist/prism-markup-templating-DwntZfmY.js.map +1 -0
  290. package/dist/prism-markup-templating-Vn_U79T9.cjs +2 -0
  291. package/dist/prism-markup-templating-Vn_U79T9.cjs.map +1 -0
  292. package/dist/prism-php-CizDps-m.js +279 -0
  293. package/dist/prism-php-CizDps-m.js.map +1 -0
  294. package/dist/prism-php-DDMsSDeI.cjs +2 -0
  295. package/dist/prism-php-DDMsSDeI.cjs.map +1 -0
  296. package/dist/prism-tsx-BFlaUgcE.js +10 -0
  297. package/dist/prism-tsx-BFlaUgcE.js.map +1 -0
  298. package/dist/prism-tsx-DDg7MuNh.cjs +2 -0
  299. package/dist/prism-tsx-DDg7MuNh.cjs.map +1 -0
  300. package/dist/prism-typescript-Br2XvXsL.js +40 -0
  301. package/dist/prism-typescript-Br2XvXsL.js.map +1 -0
  302. package/dist/prism-typescript-DYi8QiPX.cjs +2 -0
  303. package/dist/prism-typescript-DYi8QiPX.cjs.map +1 -0
  304. package/dist/{relativeTime-Cr-NVzij.js → relativeTime-BqCuaBqb.js} +1 -1
  305. package/dist/{relativeTime-Cr-NVzij.js.map → relativeTime-BqCuaBqb.js.map} +1 -1
  306. package/dist/{relativeTime-DgYBUaVm.cjs → relativeTime-DUbW4O44.cjs} +1 -1
  307. package/dist/{relativeTime-DgYBUaVm.cjs.map → relativeTime-DUbW4O44.cjs.map} +1 -1
  308. package/dist/style-runtime.cjs +1 -1
  309. package/dist/style-runtime.js +1 -1
  310. package/dist/styles.css +1 -1
  311. package/dist/theme/responsive.d.ts +1 -1
  312. package/dist/theme-Bnwe-wvr.cjs +2 -0
  313. package/dist/{theme-B9iSuxqh.cjs.map → theme-Bnwe-wvr.cjs.map} +1 -1
  314. package/dist/{theme-XRUdoLqw.js → theme-KYwqDZxJ.js} +2 -2
  315. package/dist/{theme-XRUdoLqw.js.map → theme-KYwqDZxJ.js.map} +1 -1
  316. package/dist/theme.cjs +1 -1
  317. package/dist/theme.js +1 -1
  318. package/dist/typography-B_xK5Q_j.cjs +2 -0
  319. package/dist/{typography-D0dyVQlP.cjs.map → typography-B_xK5Q_j.cjs.map} +1 -1
  320. package/dist/{typography-Db_SHI0H.js → typography-C3BBQ_9r.js} +3 -3
  321. package/dist/{typography-Db_SHI0H.js.map → typography-C3BBQ_9r.js.map} +1 -1
  322. package/dist/typography.cjs +1 -1
  323. package/dist/typography.js +5 -5
  324. package/dist/{useGhostText-DG0bzcao.js → useGhostText-BJZKdZpw.js} +1 -1
  325. package/dist/{useGhostText-DG0bzcao.js.map → useGhostText-BJZKdZpw.js.map} +1 -1
  326. package/dist/useGhostText-D1DbIs-n.cjs +2 -0
  327. package/dist/{useGhostText-QMdO_HK6.cjs.map → useGhostText-D1DbIs-n.cjs.map} +1 -1
  328. package/dist/useInteractionEffect-CYHGHV1e.cjs +2 -0
  329. package/dist/{useInteractionEffect-DnEfbCrX.cjs.map → useInteractionEffect-CYHGHV1e.cjs.map} +1 -1
  330. package/dist/{useInteractionEffect-DtpbVd77.js → useInteractionEffect-ClkU3aH5.js} +1 -1
  331. package/dist/{useInteractionEffect-DtpbVd77.js.map → useInteractionEffect-ClkU3aH5.js.map} +1 -1
  332. package/dist/useKeyboardNav-BoibrRUF.cjs +2 -0
  333. package/dist/{useKeyboardNav-BrODLJaL.cjs.map → useKeyboardNav-BoibrRUF.cjs.map} +1 -1
  334. package/dist/{useKeyboardNav-iEXOdEMB.js → useKeyboardNav-CBOdeTFM.js} +1 -1
  335. package/dist/{useKeyboardNav-iEXOdEMB.js.map → useKeyboardNav-CBOdeTFM.js.map} +1 -1
  336. package/dist/useReveal-DVwtH8Dl.cjs +2 -0
  337. package/dist/{useReveal-B_17PI89.cjs.map → useReveal-DVwtH8Dl.cjs.map} +1 -1
  338. package/dist/{useReveal-BJ59usiL.js → useReveal-JAiIFTia.js} +1 -1
  339. package/dist/{useReveal-BJ59usiL.js.map → useReveal-JAiIFTia.js.map} +1 -1
  340. package/dist/utils.cjs +1 -1
  341. package/dist/utils.js +11 -11
  342. package/dist/{validators-BeNTD8mf.cjs → validators-D4aTeaH0.cjs} +1 -1
  343. package/dist/{validators-BeNTD8mf.cjs.map → validators-D4aTeaH0.cjs.map} +1 -1
  344. package/dist/{validators-H8tNxb8O.js → validators-YZyyyLvE.js} +1 -1
  345. package/dist/{validators-H8tNxb8O.js.map → validators-YZyyyLvE.js.map} +1 -1
  346. package/package.json +4 -1
  347. package/dist/MAvatar-DlFdIi6R.cjs +0 -2
  348. package/dist/MBadge-DNqOptef.cjs +0 -2
  349. package/dist/MButton-CtEFKjYZ.cjs +0 -2
  350. package/dist/MCheckbox-Bea3orrs.cjs +0 -2
  351. package/dist/MDataTable-CVwnVouZ.cjs +0 -2
  352. package/dist/MDrawer-DF42-zF2.cjs +0 -2
  353. package/dist/MDropdownMenu-X7ywPqth.cjs +0 -2
  354. package/dist/MGalleryIllustration-CeOMHzpt.cjs +0 -2
  355. package/dist/MHeading-XCMJNMYB.cjs +0 -2
  356. package/dist/MI18nProvider-4ji0oN3U.cjs +0 -2
  357. package/dist/MImage-2Xztd_N6.cjs +0 -2
  358. package/dist/MInline-oCvhfJwM.cjs +0 -2
  359. package/dist/MInput-CpEJQ9SV.cjs +0 -2
  360. package/dist/MInputCVC-BuGwm7fv.cjs +0 -2
  361. package/dist/MInputSearch-B-Lqr-QG.cjs +0 -2
  362. package/dist/MLink-7hndQLKM.cjs +0 -2
  363. package/dist/MModal-DlnT3BBp.cjs +0 -2
  364. package/dist/MPagination-CTtr_L-Q.cjs +0 -2
  365. package/dist/MPopover-C3-fGAke.cjs +0 -2
  366. package/dist/MPortal-PyRKsZxc.cjs +0 -2
  367. package/dist/MQrCode-Cha7657D.cjs +0 -2
  368. package/dist/MSkeleton-BAkzwxOS.cjs +0 -2
  369. package/dist/MSlider-BCMJkvcA.cjs +0 -2
  370. package/dist/MSparkline-BOaNmbeB.cjs +0 -2
  371. package/dist/MStack-Bp1x4woD.cjs +0 -2
  372. package/dist/MSubText-Dg3PKnwI.cjs +0 -2
  373. package/dist/MSurface-ClPdv7a4.cjs +0 -2
  374. package/dist/MTag-BxoSuAOj.cjs +0 -2
  375. package/dist/MText-CWHwmjs8.cjs +0 -2
  376. package/dist/MTimeAgo-91_ndjxU.cjs +0 -2
  377. package/dist/MToggle-CsGS_W3X.cjs +0 -2
  378. package/dist/MTooltip-CNXoyQEN.cjs +0 -2
  379. package/dist/cards-CTegCxIA.cjs +0 -2
  380. package/dist/controls-CAab2nyg.cjs +0 -2
  381. package/dist/data-Uy_XSs32.cjs +0 -2
  382. package/dist/display-GygMuO4c.js +0 -467
  383. package/dist/display-GygMuO4c.js.map +0 -1
  384. package/dist/display-WS1tupQD.cjs +0 -2
  385. package/dist/display-WS1tupQD.cjs.map +0 -1
  386. package/dist/dropdowns-CzqyYQwR.cjs +0 -2
  387. package/dist/feedback-C9z4MZ-V.cjs +0 -2
  388. package/dist/form-6JwrowsS.cjs +0 -2
  389. package/dist/frameworkTexts-C_9KZK_A.cjs +0 -2
  390. package/dist/icons-Dv1T-cF4.cjs +0 -2
  391. package/dist/inputs-z84nU7A8.cjs +0 -2
  392. package/dist/layout-BIPyHdYN.cjs +0 -2
  393. package/dist/layout-BIPyHdYN.cjs.map +0 -1
  394. package/dist/layout-DHVIqY-O.js.map +0 -1
  395. package/dist/licensing-BXFauUj_.cjs +0 -2
  396. package/dist/locale-BltrWJtd.cjs +0 -2
  397. package/dist/media-Ch3Fyf4K.cjs +0 -2
  398. package/dist/overlays-7HBAQneO.cjs +0 -2
  399. package/dist/theme-B9iSuxqh.cjs +0 -2
  400. package/dist/typography-D0dyVQlP.cjs +0 -2
  401. package/dist/useGhostText-QMdO_HK6.cjs +0 -2
  402. package/dist/useInteractionEffect-DnEfbCrX.cjs +0 -2
  403. package/dist/useKeyboardNav-BrODLJaL.cjs +0 -2
  404. package/dist/useReveal-B_17PI89.cjs +0 -2
package/dist/inputs.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(`./MInput-CpEJQ9SV.cjs`),t=require(`./MInputCVC-BuGwm7fv.cjs`),n=require(`./inputs-z84nU7A8.cjs`),r=require(`./MInputSearch-B-Lqr-QG.cjs`);exports.MInput=e.t,exports.MInputCVC=t.t,exports.MInputCreditCard=n.o,exports.MInputCurrency=n.c,exports.MInputDate=n.s,exports.MInputEmail=n.p,exports.MInputExpDate=t.n,exports.MInputFile=n.t,exports.MInputGroup=n.a,exports.MInputIBAN=n.u,exports.MInputName=n.d,exports.MInputNumber=n.m,exports.MInputOTP=n.r,exports.MInputPassword=n.h,exports.MInputPhone=n.f,exports.MInputPostCode=n.i,exports.MInputSearch=r.t,exports.MInputSlider=n.n,exports.MInputTaxId=n.l,exports.MTextarea=n.g;
3
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./MInput-DkbdeGQW.cjs`),t=require(`./MInputCVC-NSy1SkiZ.cjs`),n=require(`./inputs-BIqwv3qy.cjs`),r=require(`./MInputSearch-CQQIKYMt.cjs`);exports.MInput=e.t,exports.MInputCVC=t.t,exports.MInputCreditCard=n.o,exports.MInputCurrency=n.c,exports.MInputDate=n.s,exports.MInputEmail=n.p,exports.MInputExpDate=t.n,exports.MInputFile=n.t,exports.MInputGroup=n.a,exports.MInputIBAN=n.u,exports.MInputName=n.d,exports.MInputNumber=n.m,exports.MInputOTP=n.r,exports.MInputPassword=n.h,exports.MInputPhone=n.f,exports.MInputPostCode=n.i,exports.MInputSearch=r.t,exports.MInputSlider=n.n,exports.MInputTaxId=n.l,exports.MTextarea=n.g;
package/dist/inputs.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {ensureStyles} from './style-runtime.js'
2
2
  ensureStyles()
3
- import { t as e } from "./MInput-iKIeefss.js";
4
- import { n as t, t as n } from "./MInputCVC-BpGTqkQx.js";
5
- import { a as r, c as i, d as a, f as o, g as s, h as c, i as l, l as u, m as d, n as f, o as p, p as m, r as h, s as g, t as _, u as v } from "./inputs-gB1ET0dG.js";
6
- import { t as y } from "./MInputSearch-y3_ihYRj.js";
3
+ import { t as e } from "./MInput-3ynY4aGD.js";
4
+ import { n as t, t as n } from "./MInputCVC-BO251yU6.js";
5
+ import { a as r, c as i, d as a, f as o, g as s, h as c, i as l, l as u, m as d, n as f, o as p, p as m, r as h, s as g, t as _, u as v } from "./inputs-Cj6ITRad.js";
6
+ import { t as y } from "./MInputSearch-BT0OqlE_.js";
7
7
  export { e as MInput, n as MInputCVC, p as MInputCreditCard, i as MInputCurrency, g as MInputDate, m as MInputEmail, t as MInputExpDate, _ as MInputFile, r as MInputGroup, v as MInputIBAN, a as MInputName, d as MInputNumber, h as MInputOTP, c as MInputPassword, o as MInputPhone, l as MInputPostCode, y as MInputSearch, f as MInputSlider, u as MInputTaxId, s as MTextarea };
@@ -1,14 +1,14 @@
1
- import { i as e, n as t, r as n } from "./theme-XRUdoLqw.js";
2
- import { Mi as r, Ni as i, Pi as a, cn as o } from "./icons-D5DK-J2C.js";
3
- import { t as s } from "./cn-YER3QsV1.js";
4
- import { t as c } from "./useInteractionEffect-DtpbVd77.js";
5
- import { t as l } from "./useReveal-BJ59usiL.js";
6
- import { n as u, t as d } from "./layoutProps-Cl6d1KmH.js";
7
- import { t as f } from "./MInline-BYsbmfkz.js";
8
- import { t as p } from "./MLink-tcICJfPn.js";
9
- import { t as m } from "./MButton-Bfe4iq51.js";
10
- import { t as h } from "./MTooltip-UYOjDBOu.js";
11
- import { i as g, n as _, r as v } from "./MDropdownMenu-CxBhYxQb.js";
1
+ import { i as e, n as t, r as n } from "./theme-KYwqDZxJ.js";
2
+ import { Mi as r, Ni as i, Pi as a, cn as o } from "./icons-DZr7JKf6.js";
3
+ import { t as s } from "./cn-CUSXNnjF.js";
4
+ import { t as c } from "./useInteractionEffect-ClkU3aH5.js";
5
+ import { t as l } from "./useReveal-JAiIFTia.js";
6
+ import { n as u, t as d } from "./layoutProps-Cwq4EXTV.js";
7
+ import { t as f } from "./MInline-CnxH6VZx.js";
8
+ import { t as p } from "./MLink-Cytb3UVc.js";
9
+ import { t as m } from "./MButton-JumA31vM.js";
10
+ import { t as h } from "./MTooltip-BW4hHnEf.js";
11
+ import { i as g, n as _, r as v } from "./MDropdownMenu-CVp1LFgZ.js";
12
12
  import { Children as y, cloneElement as b, createContext as x, forwardRef as S, isValidElement as C, useCallback as w, useContext as T, useEffect as E, useId as D, useMemo as O, useRef as k, useState as A } from "react";
13
13
  import { Fragment as j, jsx as M, jsxs as N } from "react/jsx-runtime";
14
14
  //#region src/components/layout/MContainer/MContainer.tsx
@@ -473,20 +473,53 @@ function q({ columns: e = 2, minItemWidth: t, className: n, style: r, children:
473
473
  }
474
474
  //#endregion
475
475
  //#region src/components/layout/MGrid/MGrid.tsx
476
- function J(e) {
477
- return C(e) ? e.type === X ? !0 : e.type === Y && e.props.type === "col" : !1;
476
+ var J = [
477
+ "base",
478
+ "xxl",
479
+ "xl",
480
+ "lg",
481
+ "md",
482
+ "sm"
483
+ ], ee = {
484
+ sm: ["sm"],
485
+ md: ["md", "sm"],
486
+ lg: [
487
+ "lg",
488
+ "md",
489
+ "sm"
490
+ ],
491
+ xl: [
492
+ "xl",
493
+ "lg",
494
+ "md",
495
+ "sm"
496
+ ],
497
+ "2xl": [
498
+ "xxl",
499
+ "xl",
500
+ "lg",
501
+ "md",
502
+ "sm"
503
+ ]
504
+ };
505
+ function Y(e) {
506
+ return C(e) ? e.type === ie ? !0 : e.type === Z && e.props.type === "col" : !1;
478
507
  }
479
- function ee(e) {
508
+ function X(e) {
509
+ let t = e.sm, n = e.md ?? t, r = e.lg ?? n, i = e.xl ?? r, a = e.xxl ?? i;
480
510
  return {
481
- span: e.span ?? e.xxl ?? e.xl ?? e.lg ?? e.md ?? e.sm,
482
- xxl: e.xxl ?? e.xl ?? e.lg ?? e.md ?? e.sm,
483
- xl: e.xl ?? e.lg ?? e.md ?? e.sm,
484
- lg: e.lg ?? e.md ?? e.sm,
485
- md: e.md ?? e.sm,
486
- sm: e.sm
511
+ base: a,
512
+ xxl: a,
513
+ xl: i,
514
+ lg: r,
515
+ md: n,
516
+ sm: t
487
517
  };
488
518
  }
489
519
  function te(e, t) {
520
+ return e === !0 ? !0 : e === void 0 || e === !1 || t === "base" ? !1 : ee[e]?.includes(t) ?? !1;
521
+ }
522
+ function ne(e, t) {
490
523
  if (t <= 0) return [];
491
524
  if (e <= 0) return Array.from({ length: t }, () => void 0);
492
525
  let n = Math.floor(e / t), r = e % t;
@@ -495,36 +528,39 @@ function te(e, t) {
495
528
  return i >= 1 ? i : void 0;
496
529
  });
497
530
  }
498
- function ne(e) {
499
- let t = [
500
- "span",
501
- "xxl",
502
- "xl",
503
- "lg",
504
- "md",
505
- "sm"
506
- ], n = e.map((e) => ee(e)), r = n.map((e) => ({ ...e }));
507
- for (let e of t) {
508
- let t = [], i = 0;
509
- n.forEach((n, r) => {
510
- let a = n[e];
511
- if (a) {
512
- i += a;
531
+ function re(e) {
532
+ let t = e.map((e) => X(e)), n = t.map((e) => ({ ...e }));
533
+ for (let r of J) {
534
+ let i = [], a = 0;
535
+ t.forEach((t, o) => {
536
+ if (te(e[o].hidden, r)) {
537
+ n[o][r] = void 0;
538
+ return;
539
+ }
540
+ let s = t[r];
541
+ if (s) {
542
+ a += s;
513
543
  return;
514
544
  }
515
- t.push(r);
545
+ i.push(o);
516
546
  });
517
- let a = te(Math.max(12 - i, 0), t.length);
518
- t.forEach((t, n) => {
519
- r[t][e] = a[n];
547
+ let o = ne(Math.max(12 - a, 0), i.length);
548
+ i.forEach((e, t) => {
549
+ n[e][r] = o[t];
520
550
  });
521
551
  }
522
- return r;
552
+ return n;
523
553
  }
524
- function Y({ type: e = "row", span: t, sm: r, md: i, lg: a, xl: o, xxl: c, hidden: l, spacing: f, padding: p, fsize: m, mt: h, mb: g, ml: _, mr: v, mx: x, my: S, pt: C, pb: w, pl: T, pr: E, px: D, py: O, fullWidth: k, className: A, style: j, children: N, ...P }) {
525
- let F = u({ fsize: m }), I = t ?? c ?? o ?? a;
554
+ function Z({ type: e = "row", sm: t, md: r, lg: i, xl: a, xxl: o, resolvedBase: c, hidden: l, spacing: f, padding: p, fsize: m, mt: h, mb: g, ml: _, mr: v, mx: x, my: S, pt: C, pb: w, pl: T, pr: E, px: D, py: O, fullWidth: k, className: A, style: j, children: N, ...P }) {
555
+ let F = u({ fsize: m }), I = X({
556
+ sm: t,
557
+ md: r,
558
+ lg: i,
559
+ xl: a,
560
+ xxl: o
561
+ }), L = c ?? I.base;
526
562
  if (e === "col") return /* @__PURE__ */ M("div", {
527
- className: s("grid", "col", I ? `span-${I}` : "span-auto", c && `xxl-${c}`, o && `xl-${o}`, a && `lg-${a}`, i && `md-${i}`, r && `sm-${r}`, ...d({
563
+ className: s("grid", "col", L ? `span-${L}` : "span-auto", o && `xxl-${o}`, a && `xl-${a}`, i && `lg-${i}`, r && `md-${r}`, t && `sm-${t}`, ...d({
528
564
  spacing: f,
529
565
  padding: p,
530
566
  fsize: m,
@@ -550,27 +586,27 @@ function Y({ type: e = "row", span: t, sm: r, md: i, lg: a, xl: o, xxl: c, hidde
550
586
  ...P,
551
587
  children: N
552
588
  });
553
- let L = y.toArray(N), R = L.flatMap((e, t) => J(e) ? [{
589
+ let R = y.toArray(N), z = R.flatMap((e, t) => Y(e) ? [{
554
590
  child: e,
555
591
  index: t
556
- }] : []), z = Math.min(Math.max(R.length || L.length, 1), 12), B = R.some(({ child: e }) => {
592
+ }] : []), B = Math.min(Math.max(z.length || R.length, 1), 12), V = z.some(({ child: e }) => {
557
593
  let t = e.props;
558
- return !!(t.span || t.xxl || t.xl || t.lg || t.md || t.sm);
559
- }), V = B ? ne(R.map(({ child: e }) => e.props)) : null, H = B && V ? L.map((e, t) => {
560
- let n = R.findIndex((e) => e.index === t);
561
- if (n === -1 || !J(e)) return e;
562
- let r = V[n];
594
+ return !!(t.hidden || t.xxl || t.xl || t.lg || t.md || t.sm);
595
+ }), H = V ? re(z.map(({ child: e }) => e.props)) : null, U = V && H ? R.map((e, t) => {
596
+ let n = z.findIndex((e) => e.index === t);
597
+ if (n === -1 || !Y(e)) return e;
598
+ let r = H[n];
563
599
  return b(e, {
564
- span: r.span,
600
+ resolvedBase: r.base,
565
601
  xxl: r.xxl,
566
602
  xl: r.xl,
567
603
  lg: r.lg,
568
604
  md: r.md,
569
605
  sm: r.sm
570
606
  });
571
- }) : L;
607
+ }) : R;
572
608
  return /* @__PURE__ */ M("div", {
573
- className: s("grid", "row", B ? "tracked" : `auto-cols-${z}`, ...d({
609
+ className: s("grid", "row", V ? "tracked" : `auto-cols-${B}`, ...d({
574
610
  spacing: f,
575
611
  padding: p,
576
612
  fsize: m,
@@ -594,24 +630,23 @@ function Y({ type: e = "row", span: t, sm: r, md: i, lg: a, xl: o, xxl: c, hidde
594
630
  },
595
631
  ...n(l),
596
632
  ...P,
597
- children: H
633
+ children: U
598
634
  });
599
635
  }
600
- function X({ span: e, sm: t, md: n, lg: r, xl: i, xxl: a, ...o }) {
601
- return /* @__PURE__ */ M(Y, {
636
+ function ie({ sm: e, md: t, lg: n, xl: r, xxl: i, ...a }) {
637
+ return /* @__PURE__ */ M(Z, {
602
638
  type: "col",
603
- span: e,
604
- sm: t,
605
- md: n,
606
- lg: r,
607
- xl: i,
608
- xxl: a,
609
- ...o
639
+ sm: e,
640
+ md: t,
641
+ lg: n,
642
+ xl: r,
643
+ xxl: i,
644
+ ...a
610
645
  });
611
646
  }
612
647
  //#endregion
613
648
  //#region src/components/layout/MDivider/MDivider.tsx
614
- function re({ orientation: e = "horizontal", variant: t = "solid", hidden: r, className: i, style: a, ...o }) {
649
+ function ae({ orientation: e = "horizontal", variant: t = "solid", hidden: r, className: i, style: a, ...o }) {
615
650
  return /* @__PURE__ */ M("div", {
616
651
  role: "separator",
617
652
  "aria-orientation": e,
@@ -623,7 +658,7 @@ function re({ orientation: e = "horizontal", variant: t = "solid", hidden: r, cl
623
658
  }
624
659
  //#endregion
625
660
  //#region src/components/layout/MSidebar/MSidebar.tsx
626
- var Z = "mineralui-sidebar", Q = x({
661
+ var oe = "mineralui-sidebar", Q = x({
627
662
  mode: "expanded",
628
663
  mobile: !1,
629
664
  mobileOpen: !1,
@@ -633,17 +668,17 @@ var Z = "mineralui-sidebar", Q = x({
633
668
  function $() {
634
669
  return T(Q);
635
670
  }
636
- function ie({ mode: n = "auto", defaultMode: r = "expanded", onModeChange: i, persist: a = !1, side: c = "left", tone: l = "subtle", bordered: u = !0, mobileBreakpoint: d = t.mobile, compactBreakpoint: f = t.compact, className: p, style: m, children: h }) {
671
+ function se({ mode: n = "auto", defaultMode: r = "expanded", onModeChange: i, persist: a = !1, side: c = "left", tone: l = "subtle", bordered: u = !0, mobileBreakpoint: d = t.mobile, compactBreakpoint: f = t.compact, className: p, style: m, children: h }) {
637
672
  let g = Math.max(f, d), _ = e(d), v = e(g), y = !_ && v, [b, x] = A(!1), [S, C] = A(() => {
638
673
  if (a) try {
639
- let e = localStorage.getItem(Z);
674
+ let e = localStorage.getItem(oe);
640
675
  if (e === "expanded" || e === "collapsed") return e;
641
676
  } catch {}
642
677
  return r;
643
678
  }), T = _ ? "expanded" : y ? "collapsed" : n === "auto" ? S : n === "collapsed" ? "collapsed" : "expanded", D = w(() => {
644
679
  let e = T === "expanded" ? "collapsed" : "expanded";
645
680
  if (C(e), i?.(e), a) try {
646
- localStorage.setItem(Z, e);
681
+ localStorage.setItem(oe, e);
647
682
  } catch {}
648
683
  }, [
649
684
  T,
@@ -697,7 +732,7 @@ function ie({ mode: n = "auto", defaultMode: r = "expanded", onModeChange: i, pe
697
732
  ]
698
733
  });
699
734
  }
700
- function ae({ bordered: e = !1, className: t, children: n }) {
735
+ function ce({ bordered: e = !1, className: t, children: n }) {
701
736
  let { mode: r, mobile: a, canToggle: o, toggleMode: c } = $(), l = !a && r === "collapsed";
702
737
  return /* @__PURE__ */ N("div", {
703
738
  className: s("sidebar-header", e && "bordered", t),
@@ -719,19 +754,19 @@ function ae({ bordered: e = !1, className: t, children: n }) {
719
754
  })]
720
755
  });
721
756
  }
722
- function oe({ className: e, children: t }) {
757
+ function le({ className: e, children: t }) {
723
758
  return /* @__PURE__ */ M("div", {
724
759
  className: s("sidebar-body", e),
725
760
  children: t
726
761
  });
727
762
  }
728
- function se({ className: e, children: t }) {
763
+ function ue({ className: e, children: t }) {
729
764
  return /* @__PURE__ */ M("nav", {
730
765
  className: s("sidebar-nav", e),
731
766
  children: t
732
767
  });
733
768
  }
734
- function ce({ icon: e, label: t, href: n, to: r, onClick: i, active: a = !1, disabled: o = !1, badge: c, color: l, component: u, className: d }) {
769
+ function de({ icon: e, label: t, href: n, to: r, onClick: i, active: a = !1, disabled: o = !1, badge: c, color: l, component: u, className: d }) {
735
770
  let { mode: f, mobile: p } = $(), m = !p && f === "collapsed", g = u ?? (n || r ? "a" : "button"), _ = u ? r ? { to: r } : n ? { href: n } : {} : n ? { href: n } : r ? { href: r } : {};
736
771
  return /* @__PURE__ */ N(g, {
737
772
  className: s("sidebar-item", a && "active", o && "disabled", l, d),
@@ -760,7 +795,7 @@ function ce({ icon: e, label: t, href: n, to: r, onClick: i, active: a = !1, dis
760
795
  ]
761
796
  });
762
797
  }
763
- function le({ label: e, icon: t, active: n = !1, defaultOpen: r = !0, collapsible: a = !0, children: o, className: c }) {
798
+ function fe({ label: e, icon: t, active: n = !1, defaultOpen: r = !0, collapsible: a = !0, children: o, className: c }) {
764
799
  let l = $(), { mode: u, mobile: d } = l, f = !d && u === "collapsed", [p, m] = A(r), h = O(() => ({
765
800
  ...l,
766
801
  mode: "expanded"
@@ -813,18 +848,18 @@ function le({ label: e, icon: t, active: n = !1, defaultOpen: r = !0, collapsibl
813
848
  })]
814
849
  });
815
850
  }
816
- function ue({ bordered: e = !1, className: t, children: n }) {
851
+ function pe({ bordered: e = !1, className: t, children: n }) {
817
852
  return /* @__PURE__ */ M("div", {
818
853
  className: s("sidebar-footer", e && "bordered", t),
819
854
  children: n
820
855
  });
821
856
  }
822
- function de({ className: e, spacing: t = "md" }) {
857
+ function me({ className: e, spacing: t = "md" }) {
823
858
  return /* @__PURE__ */ M("hr", { className: s("sidebar-divider", t, e) });
824
859
  }
825
860
  //#endregion
826
861
  //#region src/components/layout/MBreadcrumb/MBreadcrumb.tsx
827
- function fe({ items: e, separator: t = "/", maxItems: n, className: r, ...i }) {
862
+ function he({ items: e, separator: t = "/", maxItems: n, className: r, ...i }) {
828
863
  let a = O(() => {
829
864
  if (!n || n >= e.length) return e;
830
865
  if (n < 2) return [e[e.length - 1]];
@@ -877,10 +912,10 @@ function fe({ items: e, separator: t = "/", maxItems: n, className: r, ...i }) {
877
912
  }
878
913
  //#endregion
879
914
  //#region src/components/layout/MAppShell/MAppShell.tsx
880
- var pe = S(function({ className: e, children: t, ...n }, r) {
915
+ var ge = S(function({ className: e, children: t, ...n }, r) {
881
916
  let i = [], a = [];
882
917
  return y.forEach(t, (e) => {
883
- C(e) && e.type === ie ? i.push(e) : a.push(e);
918
+ C(e) && e.type === se ? i.push(e) : a.push(e);
884
919
  }), /* @__PURE__ */ N("div", {
885
920
  ref: r,
886
921
  className: s("app-shell", e),
@@ -890,7 +925,7 @@ var pe = S(function({ className: e, children: t, ...n }, r) {
890
925
  children: a
891
926
  })]
892
927
  });
893
- }), me = S(function({ className: e, children: t, ...n }, r) {
928
+ }), _e = S(function({ className: e, children: t, ...n }, r) {
894
929
  return /* @__PURE__ */ M("div", {
895
930
  ref: r,
896
931
  className: s("app-body", e),
@@ -899,6 +934,6 @@ var pe = S(function({ className: e, children: t, ...n }, r) {
899
934
  });
900
935
  });
901
936
  //#endregion
902
- export { P as C, F as S, G as _, oe as a, L as b, le as c, se as d, re as f, K as g, q as h, ie as i, ae as l, X as m, me as n, de as o, Y as p, fe as r, ue as s, pe as t, ce as u, U as v, I as x, R as y };
937
+ export { P as C, F as S, G as _, le as a, L as b, fe as c, ue as d, ae as f, K as g, q as h, se as i, ce as l, ie as m, _e as n, me as o, Z as p, he as r, pe as s, ge as t, de as u, U as v, I as x, R as y };
903
938
 
904
- //# sourceMappingURL=layout-DHVIqY-O.js.map
939
+ //# sourceMappingURL=layout-Cu2u9xLW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-Cu2u9xLW.js","names":[],"sources":["../src/components/layout/MContainer/MContainer.tsx","../src/components/layout/MHeader/MHeader.tsx","../src/components/layout/MFooter/MFooter.tsx","../src/components/layout/MNavs/MNavs.tsx","../src/components/layout/MNavbar/MNavbar.tsx","../src/components/layout/MTopbar/MTopbar.tsx","../src/components/layout/MTabs/MTabs.tsx","../src/components/layout/MSection/MSection.tsx","../src/components/layout/MSimpleGrid/MSimpleGrid.tsx","../src/components/layout/MGrid/MGrid.tsx","../src/components/layout/MDivider/MDivider.tsx","../src/components/layout/MSidebar/MSidebar.tsx","../src/components/layout/MBreadcrumb/MBreadcrumb.tsx","../src/components/layout/MAppShell/MAppShell.tsx"],"sourcesContent":["import type {MContainerProps} from './MContainer.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {getLayoutUtilityClassNames, getLayoutUtilityStyles} from '../../../utils/layoutProps'\nimport './MContainer.css'\n\n// Constrain page content widths and apply shared spacing utilities.\nexport function MContainer({\n size = 'content',\n padded = true,\n hidden,\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}: MContainerProps) {\n const utilityStyle = getLayoutUtilityStyles({fsize})\n\n return (\n <div\n className={cn(\n 'container',\n size,\n padded && 'padded',\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)}\n {...rest}\n >\n {children}\n </div>\n )\n}\n","import type {MHeaderProps} from './MHeader.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {MContainer} from '../MContainer'\nimport './MHeader.css'\n\n// Render a reusable page header shell aligned to a shared container.\nexport function MHeader({\n container = 'wide',\n padded = true,\n bordered = true,\n sticky = false,\n tone = 'surface',\n layout = 'split',\n hidden,\n className,\n children,\n ...rest\n}: MHeaderProps) {\n return (\n <header\n className={cn('header', tone, bordered && 'bordered', sticky && 'sticky', className)}\n {...getHiddenProps(hidden)}\n {...rest}\n >\n <MContainer size={container} padded={padded} className={cn('inner', `layout-${layout}`)}>\n {children}\n </MContainer>\n </header>\n )\n}\n","import type {MFooterProps} from './MFooter.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {getLayoutUtilityClassNames, getLayoutUtilityStyles} from '../../../utils/layoutProps'\nimport {MContainer} from '../MContainer'\nimport './MFooter.css'\n\n// Render a reusable page footer shell with shared spacing utilities.\nexport function MFooter({\n container = 'wide',\n padded = true,\n bordered = true,\n tone = 'surface',\n hidden,\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}: MFooterProps) {\n const utilityStyle = getLayoutUtilityStyles({fsize})\n\n return (\n <footer\n className={cn(\n 'footer',\n tone,\n bordered && 'bordered',\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)}\n {...rest}\n >\n <MContainer size={container} padded={padded} className=\"inner\" fullWidth>\n {children}\n </MContainer>\n </footer>\n )\n}\n","import type {MNavsProps} from './MNavs.types'\nimport {cn} from '../../../utils/cn'\nimport {MLink} from '../../typography'\nimport './MNavs.css'\n\n// Render a lightweight navigation list from data or custom children.\nexport function MNavs({items, orientation = 'horizontal', wrap = false, className, children, ...rest}: MNavsProps) {\n return (\n <div className={cn('navs', orientation, wrap && 'wrap', className)} {...rest}>\n {items\n ? items.map((item) => {\n const Icon = item.icon\n const hideLabel = item.iconOnly === true && Icon != null\n const labelAsString = typeof item.label === 'string' ? item.label : undefined\n const ariaLabel = hideLabel ? labelAsString : undefined\n const linkTitle = item.title ?? (hideLabel ? labelAsString : undefined)\n\n return (\n <MLink\n key={item.key ?? item.href ?? item.title?.toString() ?? labelAsString ?? ''}\n component={item.component}\n href={item.href}\n to={item.to}\n target={item.target}\n rel={item.rel}\n title={linkTitle}\n current={item.current}\n disabled={item.disabled}\n className={cn('link', hideLabel && 'icon-only', item.className)}\n aria-label={ariaLabel}\n >\n {Icon ? (\n <span className=\"icon\" aria-hidden={!hideLabel || undefined}>\n <Icon size={item.iconSize} />\n </span>\n ) : null}\n {!hideLabel ? item.label : null}\n </MLink>\n )\n })\n : children}\n </div>\n )\n}\n","import {Children, cloneElement, isValidElement, useEffect, useId, useRef, useState} from 'react'\nimport type {MouseEvent as ReactMouseEvent, ReactElement} from 'react'\nimport type {MNavbarProps} from './MNavbar.types'\nimport {getHiddenProps, MShellBreakpoints, useMaxWidth} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {MContainer} from '../MContainer'\nimport {MInline} from '../MInline'\nimport type {MInlineProps} from '../MInline'\nimport {MNavs} from '../MNavs'\nimport type {MNavsProps} from '../MNavs'\nimport {MButton} from '../../controls/MButton'\nimport {MMenuIcon} from '../../../icons'\nimport './MNavbar.css'\n\n// Render a horizontal app or site navigation shell with container alignment.\n// Below the md breakpoint MNavs children are collapsed behind a hamburger toggle\n// that opens either a dropdown panel or a side drawer with the navigation items.\nexport function MNavbar({\n container = 'content',\n padded = true,\n bordered = true,\n sticky = false,\n tone = 'surface',\n justify = 'between',\n wrap = false,\n mobileMenu = 'dropdown',\n mobileMenuContent,\n mobileMenuLabel = 'Open navigation',\n mobileBreakpoint = MShellBreakpoints.compact,\n hidden,\n className,\n children,\n ...rest\n}: MNavbarProps) {\n const [open, setOpen] = useState(false)\n const rootRef = useRef<HTMLElement | null>(null)\n const menuId = useId()\n const mobile = useMaxWidth(mobileBreakpoint)\n\n const childArray = Children.toArray(children)\n\n const mobileNavs = childArray\n .filter((child): child is ReactElement<MNavsProps> => isValidElement(child) && child.type === MNavs)\n .map((child, index) =>\n cloneElement(child, {\n key: `mnavbar-mobile-navs-${index}`,\n orientation: 'vertical',\n })\n )\n\n const toggleButton = (\n <MButton\n key=\"mnavbar-toggle\"\n type=\"button\"\n variant=\"ghost\"\n size=\"md\"\n iconOnly\n className=\"navbar-toggle\"\n aria-label={mobileMenuLabel}\n aria-expanded={open}\n aria-controls={menuId}\n onClick={handleToggleClick}\n >\n <MMenuIcon />\n </MButton>\n )\n\n let lastInlineIndex = -1\n for (let index = childArray.length - 1; index >= 0; index -= 1) {\n const child = childArray[index]\n if (isValidElement(child) && child.type === MInline) {\n lastInlineIndex = index\n break\n }\n }\n\n const renderedChildren =\n lastInlineIndex === -1\n ? [...childArray, toggleButton]\n : childArray.map((child, index) => {\n if (index !== lastInlineIndex) return child\n const inlineChild = child as ReactElement<MInlineProps>\n const inlineChildren = Children.toArray(inlineChild.props.children)\n return cloneElement(inlineChild, {\n key: inlineChild.key ?? `mnavbar-inline-${index}`,\n children: [...inlineChildren, toggleButton],\n })\n })\n\n useEffect(() => {\n if (!open) return\n\n function handlePointerDown(event: PointerEvent) {\n const root = rootRef.current\n if (!root) return\n if (event.target instanceof Node && root.contains(event.target)) return\n setOpen(false)\n }\n\n function handleKeydown(event: KeyboardEvent) {\n if (event.key === 'Escape') setOpen(false)\n }\n\n document.addEventListener('pointerdown', handlePointerDown)\n document.addEventListener('keydown', handleKeydown)\n return () => {\n document.removeEventListener('pointerdown', handlePointerDown)\n document.removeEventListener('keydown', handleKeydown)\n }\n }, [open])\n\n useEffect(() => {\n if (!mobile) {\n setOpen(false)\n }\n }, [mobile])\n\n function handleToggleClick() {\n setOpen((previous) => !previous)\n }\n\n function handleMenuClick(event: ReactMouseEvent<HTMLDivElement>) {\n const target = event.target as HTMLElement | null\n if (!target) return\n if (target.closest('a, [role=\"menuitem\"]')) {\n setOpen(false)\n }\n }\n\n return (\n <nav\n ref={rootRef}\n className={cn(\n 'navbar',\n tone,\n bordered && 'bordered',\n sticky && 'sticky',\n mobile && 'mobile-view',\n open && 'mobile-open',\n `mobile-${mobileMenu}`,\n className\n )}\n {...getHiddenProps(hidden)}\n {...rest}\n >\n <MContainer size={container} padded={padded} className=\"container\">\n <div className={cn('inner', justify, wrap && 'wrap')}>{renderedChildren}</div>\n </MContainer>\n\n {mobileMenu === 'drawer' && <div className={cn('mobile-backdrop', open && 'visible')} aria-hidden />}\n\n <div\n id={menuId}\n className={cn('mobile-menu', mobileMenu, open && 'open')}\n role=\"menu\"\n aria-hidden={!open || undefined}\n onClick={handleMenuClick}\n >\n {mobileNavs}\n {mobileMenuContent}\n </div>\n </nav>\n )\n}\n","import {useEffect, useMemo, useRef, useState} from 'react'\nimport type {ReactNode} from 'react'\nimport type {MTopbarItem, MTopbarProps} from './MTopbar.types'\nimport {getHiddenProps, MShellBreakpoints, useMaxWidth} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {MContainer} from '../MContainer'\nimport {MButton} from '../../controls'\nimport {MLink} from '../../typography'\nimport {MChevronDownIcon, MChevronLeftIcon, MChevronRightIcon} from '../../../icons'\nimport {MDropdownGroup, MDropdownItem, MDropdownMenu} from '../../overlays/MDropdownMenu'\nimport './MTopbar.css'\n\nfunction getItemKey(item: MTopbarItem): string {\n return item.key ?? item.to ?? item.href ?? String(item.label)\n}\n\nfunction itemHasActiveDescendant(item: MTopbarItem): boolean {\n if (item.active) return true\n return (item.children ?? []).some(itemHasActiveDescendant)\n}\n\nfunction renderItemContent(item: MTopbarItem, withChevron = false, isOpen = false): ReactNode {\n return (\n <>\n {item.icon ? <span className=\"topbar-icon\">{item.icon}</span> : null}\n <span>{item.label}</span>\n {item.badge ? <span className=\"topbar-badge\">{item.badge}</span> : null}\n {withChevron ? (\n <span className={cn('topbar-chevron', isOpen && 'open')} aria-hidden=\"true\">\n <MChevronDownIcon size=\"sm\" />\n </span>\n ) : null}\n </>\n )\n}\n\nfunction renderDropdownChildren(children: MTopbarItem[]): ReactNode {\n return children.map((child) => {\n if (child.children?.length) {\n return (\n <MDropdownGroup key={getItemKey(child)} label={String(child.label)}>\n {renderDropdownChildren(child.children)}\n </MDropdownGroup>\n )\n }\n\n return (\n <MDropdownItem\n key={getItemKey(child)}\n icon={child.icon}\n label={child.label}\n href={child.href}\n to={child.to}\n onClick={child.onClick}\n color={child.color}\n disabled={child.disabled}\n active={child.active}\n component={child.component}\n className={child.className}\n />\n )\n })\n}\n\nexport function MTopbar({\n items,\n container = 'full',\n padded = true,\n bordered = true,\n sticky = false,\n tone = 'surface',\n justify = 'left',\n size = 'md',\n openOn = 'hover',\n dropdownPlacement = 'bottom-start',\n compactBreakpoint = MShellBreakpoints.compact,\n hidden,\n className,\n style,\n ...rest\n}: MTopbarProps) {\n const hiddenOnCompact = useMaxWidth(compactBreakpoint)\n const [coarsePointer, setCoarsePointer] = useState(false)\n const [openMap, setOpenMap] = useState<Record<string, boolean>>({})\n const [hasOverflow, setHasOverflow] = useState(false)\n const [canScrollLeft, setCanScrollLeft] = useState(false)\n const [canScrollRight, setCanScrollRight] = useState(false)\n const viewportRef = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n const media = window.matchMedia('(pointer: coarse)')\n const sync = () => setCoarsePointer(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 }, [])\n\n useEffect(() => {\n const viewport = viewportRef.current\n if (!viewport) return\n\n const updateOverflow = () => {\n const nextHasOverflow = viewport.scrollWidth > viewport.clientWidth + 1\n setHasOverflow(nextHasOverflow)\n setCanScrollLeft(viewport.scrollLeft > 4)\n setCanScrollRight(viewport.scrollLeft + viewport.clientWidth < viewport.scrollWidth - 4)\n }\n\n updateOverflow()\n\n viewport.addEventListener('scroll', updateOverflow, {passive: true})\n\n const observer = new ResizeObserver(updateOverflow)\n observer.observe(viewport)\n Array.from(viewport.children).forEach((child) => observer.observe(child))\n\n return () => {\n viewport.removeEventListener('scroll', updateOverflow)\n observer.disconnect()\n }\n }, [items, justify, size, tone, bordered, padded, container])\n\n const resolvedOpenOn = useMemo(() => (coarsePointer ? 'click' : openOn), [coarsePointer, openOn])\n\n if (hiddenOnCompact) {\n return null\n }\n\n const scrollByAmount = (direction: 'left' | 'right') => {\n const viewport = viewportRef.current\n if (!viewport) return\n\n const amount = Math.max(180, Math.floor(viewport.clientWidth * 0.45))\n viewport.scrollBy({\n left: direction === 'left' ? -amount : amount,\n behavior: 'smooth',\n })\n }\n\n return (\n <nav\n className={cn('topbar', tone, size, bordered && 'bordered', sticky && 'sticky', className)}\n style={style}\n {...getHiddenProps(hidden)}\n {...rest}\n >\n <MContainer size={container} padded={padded} className=\"topbar-container\">\n <div className={cn('topbar-scroll-shell', hasOverflow && 'overflowing')}>\n {hasOverflow && (\n <MButton\n variant=\"ghost\"\n color=\"neutral\"\n iconOnly\n shape=\"circle\"\n className={cn('topbar-scroll-button', 'left', !canScrollLeft && 'hidden')}\n onClick={() => scrollByAmount('left')}\n aria-label=\"Scroll topbar left\"\n >\n <MChevronLeftIcon />\n </MButton>\n )}\n\n <div ref={viewportRef} className=\"topbar-viewport\">\n <div className={cn('topbar-list', `justify-${justify}`, hasOverflow && 'overflowing')}>\n {items.map((item) => {\n const itemKey = getItemKey(item)\n const isActive = itemHasActiveDescendant(item)\n const isOpen = !!openMap[itemKey]\n\n if (item.children?.length) {\n if (item.disabled) {\n return (\n <div\n key={itemKey}\n className={cn('topbar-trigger', item.color, 'disabled', item.className)}\n aria-disabled=\"true\"\n >\n {renderItemContent(item, true)}\n </div>\n )\n }\n\n return (\n <MDropdownMenu\n key={itemKey}\n trigger={\n <div\n className={cn(\n 'topbar-trigger',\n item.color,\n isActive && 'active',\n isOpen && 'open',\n item.disabled && 'disabled',\n item.className\n )}\n >\n {renderItemContent(item, true, isOpen)}\n </div>\n }\n openOn={item.openOn ?? resolvedOpenOn}\n onOpenChange={(nextOpen) =>\n setOpenMap((prev) => ({...prev, [itemKey]: nextOpen}))\n }\n placement={dropdownPlacement}\n popoverClassName=\"topbar-dropdown-popover\"\n >\n {renderDropdownChildren(item.children)}\n </MDropdownMenu>\n )\n }\n\n return (\n <MLink\n key={itemKey}\n component={item.component}\n href={item.href}\n to={item.to}\n onClick={item.onClick}\n current={item.active}\n disabled={item.disabled}\n underline=\"none\"\n tone=\"inherit\"\n className={cn(\n 'topbar-link',\n item.color,\n item.className,\n item.active && 'active'\n )}\n >\n {renderItemContent(item)}\n </MLink>\n )\n })}\n </div>\n </div>\n\n {hasOverflow && (\n <MButton\n variant=\"ghost\"\n color=\"neutral\"\n iconOnly\n shape=\"circle\"\n className={cn('topbar-scroll-button', 'right', !canScrollRight && 'hidden')}\n onClick={() => scrollByAmount('right')}\n aria-label=\"Scroll topbar right\"\n >\n <MChevronRightIcon />\n </MButton>\n )}\n </div>\n </MContainer>\n </nav>\n )\n}\n","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 type React from 'react'\nimport type {MSectionProps} from './MSection.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {useReveal} from '../../../utils/useReveal'\nimport './MSection.css'\n\n// Render a semantic page section with predefined spacing and tone.\nexport function MSection({\n as = 'section',\n spacing = 'lg',\n tone = 'default',\n hidden,\n reveal,\n className,\n style,\n children,\n ...rest\n}: MSectionProps) {\n const Component = as\n const revealRef = useReveal(reveal)\n const hasReveal = reveal !== undefined && reveal !== false\n\n return (\n <Component\n ref={hasReveal ? (revealRef as React.RefObject<never>) : undefined}\n className={cn('section', spacing, tone, hasReveal && 'reveal', className)}\n style={style}\n {...getHiddenProps(hidden)}\n {...rest}\n >\n {children}\n </Component>\n )\n}\n","import type {MSimpleGridProps} from './MSimpleGrid.types'\nimport {cn} from '../../../utils/cn'\nimport './MSimpleGrid.css'\n\n// Render a simple equal-column grid with a shared default spacing.\nexport function MSimpleGrid({columns = 2, minItemWidth, className, style, children, ...rest}: MSimpleGridProps) {\n return (\n <div\n className={cn('grid', `columns-${columns}`, className)}\n style={{\n ...(minItemWidth ? {'--grid-min-item-width': minItemWidth} : {}),\n ...style,\n }}\n {...rest}\n >\n {children}\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}, () => undefined)\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) : undefined\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 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 ...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)}\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 ...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, ...rest}: MGridItemProps) {\n return <MGrid type=\"col\" sm={sm} md={md} lg={lg} xl={xl} xxl={xxl} {...rest} />\n}\n","import type {MDividerProps} from './MDivider.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport './MDivider.css'\n\n// Render a semantic divider line between related content blocks.\nexport function MDivider({\n orientation = 'horizontal',\n variant = 'solid',\n hidden,\n className,\n style,\n ...rest\n}: MDividerProps) {\n return (\n <div\n role=\"separator\"\n aria-orientation={orientation}\n className={cn('divider', orientation, variant, className)}\n style={style}\n {...getHiddenProps(hidden)}\n {...rest}\n />\n )\n}\n","import {createContext, useContext, useState, useEffect, useCallback, useMemo} from 'react'\nimport {cn} from '../../../utils/cn'\nimport {MButton} from '../../controls'\nimport {MChevronRightIcon, MMenuIcon} from '../../../icons'\nimport {MDropdownMenu, MTooltip} from '../../overlays'\nimport {MShellBreakpoints, useMaxWidth} from '../../../theme'\nimport type {\n MSidebarProps,\n MSidebarHeaderProps,\n MSidebarBodyProps,\n MSidebarNavProps,\n MSidebarItemProps,\n MSidebarGroupProps,\n MSidebarFooterProps,\n MSidebarDividerProps,\n MSidebarMode,\n} from './MSidebar.types'\nimport './MSidebar.css'\n\nconst STORAGE_KEY = 'mineralui-sidebar'\n\ninterface SidebarContextValue {\n mode: MSidebarMode\n mobile: boolean\n mobileOpen: boolean\n canToggle: boolean\n toggleMode: () => void\n}\n\nconst SidebarCtx = createContext<SidebarContextValue>({\n mode: 'expanded',\n mobile: false,\n mobileOpen: false,\n canToggle: false,\n toggleMode: () => {},\n})\n\n// Read shared sidebar state inside slot components.\nfunction useSidebar() {\n return useContext(SidebarCtx)\n}\n\n// Render the sidebar shell and coordinate desktop and mobile behavior.\nexport function MSidebar({\n mode: modeProp = 'auto',\n defaultMode = 'expanded',\n onModeChange,\n persist = false,\n side = 'left',\n tone = 'subtle',\n bordered = true,\n mobileBreakpoint = MShellBreakpoints.mobile,\n compactBreakpoint = MShellBreakpoints.compact,\n className,\n style,\n children,\n}: MSidebarProps) {\n const resolvedCompactBreakpoint = Math.max(compactBreakpoint, mobileBreakpoint)\n const mobile = useMaxWidth(mobileBreakpoint)\n const compactViewport = useMaxWidth(resolvedCompactBreakpoint)\n const compact = !mobile && compactViewport\n const [mobileOpen, setMobileOpen] = useState(false)\n\n const [internalMode, setInternalMode] = useState<MSidebarMode>(() => {\n if (persist) {\n try {\n const v = localStorage.getItem(STORAGE_KEY)\n if (v === 'expanded' || v === 'collapsed') return v\n } catch {\n /* noop */\n }\n }\n\n return defaultMode\n })\n\n const resolvedMode: MSidebarMode = mobile\n ? 'expanded'\n : compact\n ? 'collapsed'\n : modeProp === 'auto'\n ? internalMode\n : modeProp === 'collapsed'\n ? 'collapsed'\n : 'expanded'\n\n // MToggle only the desktop width state. Mobile uses its own overlay flow.\n const toggleMode = useCallback(() => {\n const next: MSidebarMode = resolvedMode === 'expanded' ? 'collapsed' : 'expanded'\n\n setInternalMode(next)\n onModeChange?.(next)\n\n if (persist) {\n try {\n localStorage.setItem(STORAGE_KEY, next)\n } catch {\n /* noop */\n }\n }\n }, [resolvedMode, onModeChange, persist])\n\n const closeMobile = useCallback(() => setMobileOpen(false), [])\n\n // Let Escape close the temporary mobile drawer.\n useEffect(() => {\n if (!mobileOpen) return\n\n const handler = (e: KeyboardEvent) => {\n if (e.key === 'Escape') setMobileOpen(false)\n }\n\n document.addEventListener('keydown', handler)\n return () => document.removeEventListener('keydown', handler)\n }, [mobileOpen])\n\n useEffect(() => {\n if (!mobile) {\n setMobileOpen(false)\n }\n }, [mobile])\n\n const canToggle = !mobile && !compact && modeProp === 'auto'\n\n const ctx = useMemo<SidebarContextValue>(\n () => ({mode: resolvedMode, mobile, mobileOpen, canToggle, toggleMode}),\n [resolvedMode, mobile, mobileOpen, canToggle, toggleMode]\n )\n\n const isCollapsed = !mobile && resolvedMode === 'collapsed'\n\n const sidebarCls = cn(\n 'sidebar',\n tone,\n side,\n isCollapsed && 'collapsed',\n compact && 'compact',\n bordered && 'bordered',\n mobile && 'mobile',\n mobile && mobileOpen && 'mobile-open',\n className\n )\n\n return (\n <SidebarCtx.Provider value={ctx}>\n {mobile && mobileOpen && <div className=\"sidebar-backdrop\" onClick={closeMobile} />}\n\n <aside className={sidebarCls} style={style}>\n {children}\n </aside>\n\n {mobile && !mobileOpen && (\n <button\n className={cn('sidebar-hamburger', side)}\n onClick={() => setMobileOpen(true)}\n aria-label=\"Open menu\"\n >\n <span className=\"sidebar-hamburger-icon\" aria-hidden=\"true\">\n <MMenuIcon />\n </span>\n </button>\n )}\n </SidebarCtx.Provider>\n )\n}\n\n// Render the top area with branding and an optional collapse toggle.\nexport function MSidebarHeader({bordered = false, className, children}: MSidebarHeaderProps) {\n const {mode, mobile, canToggle, toggleMode} = useSidebar()\n const isCollapsed = !mobile && mode === 'collapsed'\n\n return (\n <div className={cn('sidebar-header', bordered && 'bordered', className)}>\n <div className=\"sidebar-header-content\">{children}</div>\n {canToggle && (\n <MButton\n variant=\"outlined\"\n color=\"neutral\"\n iconOnly\n size=\"sm\"\n onClick={toggleMode}\n aria-label={isCollapsed ? 'Expand sidebar' : 'Collapse sidebar'}\n className=\"sidebar-toggle\"\n >\n <span className={cn('sidebar-chevron', isCollapsed && 'flipped')}>\n <MChevronRightIcon />\n </span>\n </MButton>\n )}\n </div>\n )\n}\n\n// Wrap the scrollable middle area between header and footer.\nexport function MSidebarBody({className, children}: MSidebarBodyProps) {\n return <div className={cn('sidebar-body', className)}>{children}</div>\n}\n\n// Wrap sidebar links in a navigation landmark.\nexport function MSidebarNav({className, children}: MSidebarNavProps) {\n return <nav className={cn('sidebar-nav', className)}>{children}</nav>\n}\n\n// Render one clickable sidebar row as a link, button or custom component.\nexport function MSidebarItem({\n icon,\n label,\n href,\n to,\n onClick,\n active = false,\n disabled = false,\n badge,\n color,\n component,\n className,\n}: MSidebarItemProps) {\n const {mode, mobile} = useSidebar()\n const isCollapsed = !mobile && mode === 'collapsed'\n\n const Tag = component ?? (href || to ? 'a' : 'button')\n const linkProps = component ? (to ? {to} : href ? {href} : {}) : href ? {href} : to ? {href: to} : {}\n const cls = cn('sidebar-item', active && 'active', disabled && 'disabled', color, className)\n\n return (\n <Tag\n className={cls}\n onClick={disabled ? undefined : onClick}\n aria-disabled={disabled || undefined}\n title={isCollapsed ? label : undefined}\n {...linkProps}\n >\n {icon && <span className=\"sidebar-item-icon\">{icon}</span>}\n {!isCollapsed && (\n <MTooltip content={label} placement=\"top\" className=\"sidebar-item-label-tooltip\">\n <span className=\"sidebar-item-label\">{label}</span>\n </MTooltip>\n )}\n {!isCollapsed && badge && <span className=\"sidebar-item-badge\">{badge}</span>}\n </Tag>\n )\n}\n\n// Group related sidebar items and swap to a dropdown when collapsed.\nexport function MSidebarGroup({\n label,\n icon,\n active = false,\n defaultOpen = true,\n collapsible = true,\n children,\n className,\n}: MSidebarGroupProps) {\n const sidebarCtx = useSidebar()\n const {mode, mobile} = sidebarCtx\n const isCollapsed = !mobile && mode === 'collapsed'\n const [open, setOpen] = useState(defaultOpen)\n\n const expandedCtx = useMemo<SidebarContextValue>(() => ({...sidebarCtx, mode: 'expanded'}), [sidebarCtx])\n\n // Keep expand/collapse local to this group.\n const toggle = () => {\n if (collapsible) setOpen((o) => !o)\n }\n\n if (isCollapsed) {\n const trigger = (\n <span className={cn('sidebar-group-icon collapsed', active && 'active')} title={label}>\n {icon}\n </span>\n )\n\n return (\n <div className={cn('sidebar-group', className)}>\n <MDropdownMenu trigger={trigger} placement=\"right-start\" closeOnSelect openOn=\"hover\">\n <SidebarCtx.Provider value={expandedCtx}>{children}</SidebarCtx.Provider>\n </MDropdownMenu>\n </div>\n )\n }\n\n return (\n <div className={cn('sidebar-group', className)}>\n <button className={cn('sidebar-group-header', active && 'active')} onClick={toggle} aria-expanded={open}>\n {icon && <span className=\"sidebar-group-icon\">{icon}</span>}\n <span className=\"sidebar-group-label\">{label}</span>\n {collapsible && (\n <span className={cn('sidebar-group-arrow', open && 'open')}>\n <MChevronRightIcon />\n </span>\n )}\n </button>\n {open && <div className=\"sidebar-group-items\">{children}</div>}\n </div>\n )\n}\n\n// Render the bottom slot for version info or quick actions.\nexport function MSidebarFooter({bordered = false, className, children}: MSidebarFooterProps) {\n return <div className={cn('sidebar-footer', bordered && 'bordered', className)}>{children}</div>\n}\n\n// Render a spacing-aware divider between sidebar regions.\nexport function MSidebarDivider({className, spacing = 'md'}: MSidebarDividerProps) {\n return <hr className={cn('sidebar-divider', spacing, className)} />\n}\n","import {useMemo} from 'react'\nimport {cn} from '../../../utils/cn'\nimport type {MBreadcrumbProps} from './MBreadcrumb.types'\nimport './MBreadcrumb.css'\n\n// Render a compact path and collapse the middle when needed.\nexport function MBreadcrumb({items, separator = '/', maxItems, className, ...rest}: MBreadcrumbProps) {\n // Keep the current page visible while shortening deep paths.\n const visible = useMemo(() => {\n if (!maxItems || maxItems >= items.length) return items\n if (maxItems < 2) return [items[items.length - 1]]\n const head = items.slice(0, 1)\n const tail = items.slice(-(maxItems - 1))\n return [...head, null, ...tail]\n }, [items, maxItems])\n\n return (\n <nav aria-label=\"breadcrumb\" className={cn('breadcrumb', className)} {...rest}>\n <ol className=\"trail\">\n {visible.map((item, i) => {\n if (item === null) {\n return (\n <li key=\"ellipsis\" className=\"crumb dots\">\n <span className=\"sep\">{separator}</span>\n <span>&#8230;</span>\n </li>\n )\n }\n\n const isLast = i === visible.length - 1\n\n return (\n <li key={i} className={cn('crumb', isLast && 'active')}>\n {i > 0 && <span className=\"sep\">{separator}</span>}\n {item.href && !isLast ? (\n <a href={item.href} className=\"link\" onClick={item.onClick}>\n {item.label}\n </a>\n ) : item.onClick && !isLast ? (\n <button type=\"button\" className=\"link btn\" onClick={item.onClick}>\n {item.label}\n </button>\n ) : (\n <span className=\"current\" aria-current={isLast ? 'page' : undefined}>\n {item.label}\n </span>\n )}\n </li>\n )\n })}\n </ol>\n </nav>\n )\n}\n","import {forwardRef, Children, isValidElement} from 'react'\nimport type * as React from 'react'\nimport type {MAppShellProps, MBodyProps} from './MAppShell.types'\nimport {cn} from '../../../utils/cn'\nimport {MSidebar} from '../MSidebar'\nimport './MAppShell.css'\n\nexport const MAppShell = forwardRef<HTMLDivElement, MAppShellProps>(function MAppShell(\n {className, children, ...rest},\n ref\n) {\n const sidebarElements: React.ReactNode[] = []\n const otherElements: React.ReactNode[] = []\n\n Children.forEach(children, (child) => {\n if (isValidElement(child) && child.type === MSidebar) {\n sidebarElements.push(child)\n } else {\n otherElements.push(child)\n }\n })\n\n return (\n <div ref={ref} className={cn('app-shell', className)} {...rest}>\n {sidebarElements}\n <div className=\"app-main\">{otherElements}</div>\n </div>\n )\n})\n\nexport const MBody = forwardRef<HTMLDivElement, MBodyProps>(function MBody({className, children, ...rest}, ref) {\n return (\n <div ref={ref} className={cn('app-body', className)} {...rest}>\n {children}\n </div>\n )\n})\n"],"mappings":";;;;;;;;;;;;;;AAOA,SAAgB,EAAW,EACvB,UAAO,WACP,YAAS,IACT,WACA,YACA,YACA,UACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,cACA,cACA,UACA,aACA,GAAG,KACa;CAChB,IAAM,IAAe,EAAuB,EAAC,UAAM,CAAC;AAEpD,QACI,kBAAC,OAAD;EACI,WAAW,EACP,aACA,GACA,KAAU,UACV,GAAG,EAA2B;GAC1B;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACH,CAAC,EACF,EACH;EACD,OAAO;GAAC,GAAG;GAAc,GAAG;GAAM;EAClC,GAAI,EAAe,EAAO;EAC1B,GAAI;EAEH;EACC,CAAA;;;;AC1Dd,SAAgB,EAAQ,EACpB,eAAY,QACZ,YAAS,IACT,cAAW,IACX,YAAS,IACT,UAAO,WACP,YAAS,SACT,WACA,cACA,aACA,GAAG,KACU;AACb,QACI,kBAAC,UAAD;EACI,WAAW,EAAG,UAAU,GAAM,KAAY,YAAY,KAAU,UAAU,EAAU;EACpF,GAAI,EAAe,EAAO;EAC1B,GAAI;YAEJ,kBAAC,GAAD;GAAY,MAAM;GAAmB;GAAQ,WAAW,EAAG,SAAS,UAAU,IAAS;GAClF;GACQ,CAAA;EACR,CAAA;;;;ACpBjB,SAAgB,EAAQ,EACpB,eAAY,QACZ,YAAS,IACT,cAAW,IACX,UAAO,WACP,WACA,YACA,YACA,UACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,cACA,cACA,UACA,aACA,GAAG,KACU;CACb,IAAM,IAAe,EAAuB,EAAC,UAAM,CAAC;AAEpD,QACI,kBAAC,UAAD;EACI,WAAW,EACP,UACA,GACA,KAAY,YACZ,GAAG,EAA2B;GAC1B;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACH,CAAC,EACF,EACH;EACD,OAAO;GAAC,GAAG;GAAc,GAAG;GAAM;EAClC,GAAI,EAAe,EAAO;EAC1B,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"}
@@ -0,0 +1,2 @@
1
+ require(`./chunk-350yNsax.cjs`);const e=require(`./theme-Bnwe-wvr.cjs`),t=require(`./icons-BhZaama4.cjs`),n=require(`./cn-DYFxgzi2.cjs`),r=require(`./useInteractionEffect-CYHGHV1e.cjs`),i=require(`./useReveal-DVwtH8Dl.cjs`),a=require(`./layoutProps-DbnX4zRp.cjs`),o=require(`./MInline-DYy3IhF-.cjs`),s=require(`./MLink-B6Az9m2B.cjs`),c=require(`./MButton-DTblkF4v.cjs`),l=require(`./MTooltip-Ce1cs9e3.cjs`),u=require(`./MDropdownMenu-BRL0Vcq_.cjs`);let d=require(`react`),f=require(`react/jsx-runtime`);function p({size:t=`content`,padded:r=!0,hidden:i,spacing:o,padding:s,fsize:c,mt:l,mb:u,ml:d,mr:p,mx:m,my:h,pt:g,pb:_,pl:v,pr:y,px:b,py:x,fullWidth:S,className:C,style:w,children:T,...E}){let D=a.n({fsize:c});return(0,f.jsx)(`div`,{className:n.t(`container`,t,r&&`padded`,...a.t({spacing:o,padding:s,fsize:c,mt:l,mb:u,ml:d,mr:p,mx:m,my:h,pt:g,pb:_,pl:v,pr:y,px:b,py:x,fullWidth:S}),C),style:{...D,...w},...e.r(i),...E,children:T})}function m({container:t=`wide`,padded:r=!0,bordered:i=!0,sticky:a=!1,tone:o=`surface`,layout:s=`split`,hidden:c,className:l,children:u,...d}){return(0,f.jsx)(`header`,{className:n.t(`header`,o,i&&`bordered`,a&&`sticky`,l),...e.r(c),...d,children:(0,f.jsx)(p,{size:t,padded:r,className:n.t(`inner`,`layout-${s}`),children:u})})}function h({container:t=`wide`,padded:r=!0,bordered:i=!0,tone:o=`surface`,hidden:s,spacing:c,padding:l,fsize:u,mt:d,mb:m,ml:h,mr:g,mx:_,my:v,pt:y,pb:b,pl:x,pr:S,px:C,py:w,fullWidth:T,className:E,style:D,children:O,...k}){let A=a.n({fsize:u});return(0,f.jsx)(`footer`,{className:n.t(`footer`,o,i&&`bordered`,...a.t({spacing:c,padding:l,fsize:u,mt:d,mb:m,ml:h,mr:g,mx:_,my:v,pt:y,pb:b,pl:x,pr:S,px:C,py:w,fullWidth:T}),E),style:{...A,...D},...e.r(s),...k,children:(0,f.jsx)(p,{size:t,padded:r,className:`inner`,fullWidth:!0,children:O})})}function g({items:e,orientation:t=`horizontal`,wrap:r=!1,className:i,children:a,...o}){return(0,f.jsx)(`div`,{className:n.t(`navs`,t,r&&`wrap`,i),...o,children:e?e.map(e=>{let t=e.icon,r=e.iconOnly===!0&&t!=null,i=typeof e.label==`string`?e.label:void 0,a=r?i:void 0,o=e.title??(r?i:void 0);return(0,f.jsxs)(s.t,{component:e.component,href:e.href,to:e.to,target:e.target,rel:e.rel,title:o,current:e.current,disabled:e.disabled,className:n.t(`link`,r&&`icon-only`,e.className),"aria-label":a,children:[t?(0,f.jsx)(`span`,{className:`icon`,"aria-hidden":!r||void 0,children:(0,f.jsx)(t,{size:e.iconSize})}):null,r?null:e.label]},e.key??e.href??e.title?.toString()??i??``)}):a})}function _({container:r=`content`,padded:i=!0,bordered:a=!0,sticky:s=!1,tone:l=`surface`,justify:u=`between`,wrap:m=!1,mobileMenu:h=`dropdown`,mobileMenuContent:_,mobileMenuLabel:v=`Open navigation`,mobileBreakpoint:y=e.n.compact,hidden:b,className:x,children:S,...C}){let[w,T]=(0,d.useState)(!1),E=(0,d.useRef)(null),D=(0,d.useId)(),O=e.i(y),k=d.Children.toArray(S),A=k.filter(e=>(0,d.isValidElement)(e)&&e.type===g).map((e,t)=>(0,d.cloneElement)(e,{key:`mnavbar-mobile-navs-${t}`,orientation:`vertical`})),j=(0,f.jsx)(c.t,{type:`button`,variant:`ghost`,size:`md`,iconOnly:!0,className:`navbar-toggle`,"aria-label":v,"aria-expanded":w,"aria-controls":D,onClick:P,children:(0,f.jsx)(t.cn,{})},`mnavbar-toggle`),M=-1;for(let e=k.length-1;e>=0;--e){let t=k[e];if((0,d.isValidElement)(t)&&t.type===o.t){M=e;break}}let N=M===-1?[...k,j]:k.map((e,t)=>{if(t!==M)return e;let n=e,r=d.Children.toArray(n.props.children);return(0,d.cloneElement)(n,{key:n.key??`mnavbar-inline-${t}`,children:[...r,j]})});(0,d.useEffect)(()=>{if(!w)return;function e(e){let t=E.current;t&&(e.target instanceof Node&&t.contains(e.target)||T(!1))}function t(e){e.key===`Escape`&&T(!1)}return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[w]),(0,d.useEffect)(()=>{O||T(!1)},[O]);function P(){T(e=>!e)}function F(e){let t=e.target;t&&t.closest(`a, [role="menuitem"]`)&&T(!1)}return(0,f.jsxs)(`nav`,{ref:E,className:n.t(`navbar`,l,a&&`bordered`,s&&`sticky`,O&&`mobile-view`,w&&`mobile-open`,`mobile-${h}`,x),...e.r(b),...C,children:[(0,f.jsx)(p,{size:r,padded:i,className:`container`,children:(0,f.jsx)(`div`,{className:n.t(`inner`,u,m&&`wrap`),children:N})}),h===`drawer`&&(0,f.jsx)(`div`,{className:n.t(`mobile-backdrop`,w&&`visible`),"aria-hidden":!0}),(0,f.jsxs)(`div`,{id:D,className:n.t(`mobile-menu`,h,w&&`open`),role:`menu`,"aria-hidden":!w||void 0,onClick:F,children:[A,_]})]})}function v(e){return e.key??e.to??e.href??String(e.label)}function y(e){return e.active?!0:(e.children??[]).some(y)}function b(e,r=!1,i=!1){return(0,f.jsxs)(f.Fragment,{children:[e.icon?(0,f.jsx)(`span`,{className:`topbar-icon`,children:e.icon}):null,(0,f.jsx)(`span`,{children:e.label}),e.badge?(0,f.jsx)(`span`,{className:`topbar-badge`,children:e.badge}):null,r?(0,f.jsx)(`span`,{className:n.t(`topbar-chevron`,i&&`open`),"aria-hidden":`true`,children:(0,f.jsx)(t.Mi,{size:`sm`})}):null]})}function x(e){return e.map(e=>e.children?.length?(0,f.jsx)(u.n,{label:String(e.label),children:x(e.children)},v(e)):(0,f.jsx)(u.r,{icon:e.icon,label:e.label,href:e.href,to:e.to,onClick:e.onClick,color:e.color,disabled:e.disabled,active:e.active,component:e.component,className:e.className},v(e)))}function S({items:r,container:i=`full`,padded:a=!0,bordered:o=!0,sticky:l=!1,tone:m=`surface`,justify:h=`left`,size:g=`md`,openOn:_=`hover`,dropdownPlacement:S=`bottom-start`,compactBreakpoint:C=e.n.compact,hidden:w,className:T,style:E,...D}){let O=e.i(C),[k,A]=(0,d.useState)(!1),[j,M]=(0,d.useState)({}),[N,P]=(0,d.useState)(!1),[F,I]=(0,d.useState)(!1),[L,R]=(0,d.useState)(!1),z=(0,d.useRef)(null);(0,d.useEffect)(()=>{let e=window.matchMedia(`(pointer: coarse)`),t=()=>A(e.matches);return t(),typeof e.addEventListener==`function`?(e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)):(e.addListener(t),()=>e.removeListener(t))},[]),(0,d.useEffect)(()=>{let e=z.current;if(!e)return;let t=()=>{P(e.scrollWidth>e.clientWidth+1),I(e.scrollLeft>4),R(e.scrollLeft+e.clientWidth<e.scrollWidth-4)};t(),e.addEventListener(`scroll`,t,{passive:!0});let n=new ResizeObserver(t);return n.observe(e),Array.from(e.children).forEach(e=>n.observe(e)),()=>{e.removeEventListener(`scroll`,t),n.disconnect()}},[r,h,g,m,o,a,i]);let B=(0,d.useMemo)(()=>k?`click`:_,[k,_]);if(O)return null;let V=e=>{let t=z.current;if(!t)return;let n=Math.max(180,Math.floor(t.clientWidth*.45));t.scrollBy({left:e===`left`?-n:n,behavior:`smooth`})};return(0,f.jsx)(`nav`,{className:n.t(`topbar`,m,g,o&&`bordered`,l&&`sticky`,T),style:E,...e.r(w),...D,children:(0,f.jsx)(p,{size:i,padded:a,className:`topbar-container`,children:(0,f.jsxs)(`div`,{className:n.t(`topbar-scroll-shell`,N&&`overflowing`),children:[N&&(0,f.jsx)(c.t,{variant:`ghost`,color:`neutral`,iconOnly:!0,shape:`circle`,className:n.t(`topbar-scroll-button`,`left`,!F&&`hidden`),onClick:()=>V(`left`),"aria-label":`Scroll topbar left`,children:(0,f.jsx)(t.Pi,{})}),(0,f.jsx)(`div`,{ref:z,className:`topbar-viewport`,children:(0,f.jsx)(`div`,{className:n.t(`topbar-list`,`justify-${h}`,N&&`overflowing`),children:r.map(e=>{let t=v(e),r=y(e),i=!!j[t];return e.children?.length?e.disabled?(0,f.jsx)(`div`,{className:n.t(`topbar-trigger`,e.color,`disabled`,e.className),"aria-disabled":`true`,children:b(e,!0)},t):(0,f.jsx)(u.i,{trigger:(0,f.jsx)(`div`,{className:n.t(`topbar-trigger`,e.color,r&&`active`,i&&`open`,e.disabled&&`disabled`,e.className),children:b(e,!0,i)}),openOn:e.openOn??B,onOpenChange:e=>M(n=>({...n,[t]:e})),placement:S,popoverClassName:`topbar-dropdown-popover`,children:x(e.children)},t):(0,f.jsx)(s.t,{component:e.component,href:e.href,to:e.to,onClick:e.onClick,current:e.active,disabled:e.disabled,underline:`none`,tone:`inherit`,className:n.t(`topbar-link`,e.color,e.className,e.active&&`active`),children:b(e)},t)})})}),N&&(0,f.jsx)(c.t,{variant:`ghost`,color:`neutral`,iconOnly:!0,shape:`circle`,className:n.t(`topbar-scroll-button`,`right`,!L&&`hidden`),onClick:()=>V(`right`),"aria-label":`Scroll topbar right`,children:(0,f.jsx)(t.Ni,{})})]})})})}function C({item:e,isActive:t,tabId:i,panelId:a,clickEffect:o,rippleColor:s,onSelect:c}){let{effectClassName:l,effectLayer:u,handlePointerDown:d,triggerEffect:p}=r.t({effect:o,disabled:e.disabled,centered:!0,color:s});return(0,f.jsxs)(`button`,{type:`button`,id:i,role:`tab`,"aria-selected":t,"aria-controls":a,tabIndex:t?0:-1,disabled:e.disabled,className:n.t(`tabs-trigger`,t&&`active`,e.disabled&&`disabled`,l),onPointerDown:d,onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&p(e.currentTarget)},onClick:()=>c(e.value),children:[u,e.icon&&(0,f.jsx)(`span`,{className:`tabs-icon`,children:e.icon}),(0,f.jsx)(`span`,{className:`tabs-label`,children:e.label})]})}function w({items:e,value:t,defaultValue:r,onValueChange:i,variant:a=`underline`,orientation:o=`horizontal`,size:s=`md`,fullWidth:c=!1,showPanels:l=!0,panelClassName:u,clickEffect:p=`ripple`,rippleColor:m,className:h,...g}){let[_,v]=(0,d.useState)((0,d.useMemo)(()=>r??e.find(e=>!e.disabled)?.value??``,[r,e])),y=t??_,b=e.find(e=>e.value===y)??e[0],x=(0,d.useId)();function S(e){t===void 0&&v(e),i?.(e)}function w(t){let n=e.filter(e=>!e.disabled),r=n.findIndex(e=>e.value===b?.value);if(r===-1)return;let i=o===`vertical`?[`ArrowDown`]:[`ArrowRight`,`ArrowDown`],a=o===`vertical`?[`ArrowUp`]:[`ArrowLeft`,`ArrowUp`];if(i.includes(t.key)){t.preventDefault();let e=n[(r+1)%n.length];S(e.value)}if(a.includes(t.key)){t.preventDefault();let e=n[(r-1+n.length)%n.length];S(e.value)}}return(0,f.jsxs)(`div`,{className:n.t(`tabs`,a,o,s,c&&`full-width`,h),...g,children:[(0,f.jsx)(`div`,{className:`tabs-list`,role:`tablist`,"aria-orientation":o,onKeyDown:w,children:e.map(e=>(0,f.jsx)(C,{item:e,isActive:e.value===b?.value,tabId:`${x}-${e.value}-tab`,panelId:`${x}-${e.value}-panel`,clickEffect:p,rippleColor:m,onSelect:S},e.value))}),l&&b?.content!==void 0&&(0,f.jsx)(`div`,{id:`${x}-${b.value}-panel`,role:`tabpanel`,"aria-labelledby":`${x}-${b.value}-tab`,className:n.t(`tabs-panel`,u),children:b.content},b.value)]})}function T({as:t=`section`,spacing:r=`lg`,tone:a=`default`,hidden:o,reveal:s,className:c,style:l,children:u,...d}){let p=t,m=i.t(s),h=s!==void 0&&s!==!1;return(0,f.jsx)(p,{ref:h?m:void 0,className:n.t(`section`,r,a,h&&`reveal`,c),style:l,...e.r(o),...d,children:u})}function E({columns:e=2,minItemWidth:t,className:r,style:i,children:a,...o}){return(0,f.jsx)(`div`,{className:n.t(`grid`,`columns-${e}`,r),style:{...t?{"--grid-min-item-width":t}:{},...i},...o,children:a})}var D=[`base`,`xxl`,`xl`,`lg`,`md`,`sm`],O={sm:[`sm`],md:[`md`,`sm`],lg:[`lg`,`md`,`sm`],xl:[`xl`,`lg`,`md`,`sm`],"2xl":[`xxl`,`xl`,`lg`,`md`,`sm`]};function k(e){return(0,d.isValidElement)(e)?e.type===F?!0:e.type===P&&e.props.type===`col`:!1}function A(e){let t=e.sm,n=e.md??t,r=e.lg??n,i=e.xl??r,a=e.xxl??i;return{base:a,xxl:a,xl:i,lg:r,md:n,sm:t}}function j(e,t){return e===!0?!0:e===void 0||e===!1||t===`base`?!1:O[e]?.includes(t)??!1}function M(e,t){if(t<=0)return[];if(e<=0)return Array.from({length:t},()=>void 0);let n=Math.floor(e/t),r=e%t;return Array.from({length:t},(e,t)=>{let i=n+ +(t<r);return i>=1?i:void 0})}function N(e){let t=e.map(e=>A(e)),n=t.map(e=>({...e}));for(let r of D){let i=[],a=0;t.forEach((t,o)=>{if(j(e[o].hidden,r)){n[o][r]=void 0;return}let s=t[r];if(s){a+=s;return}i.push(o)});let o=M(Math.max(12-a,0),i.length);i.forEach((e,t)=>{n[e][r]=o[t]})}return n}function P({type:t=`row`,sm:r,md:i,lg:o,xl:s,xxl:c,resolvedBase:l,hidden:u,spacing:p,padding:m,fsize:h,mt:g,mb:_,ml:v,mr:y,mx:b,my:x,pt:S,pb:C,pl:w,pr:T,px:E,py:D,fullWidth:O,className:j,style:M,children:P,...F}){let I=a.n({fsize:h}),L=A({sm:r,md:i,lg:o,xl:s,xxl:c}),R=l??L.base;if(t===`col`)return(0,f.jsx)(`div`,{className:n.t(`grid`,`col`,R?`span-${R}`:`span-auto`,c&&`xxl-${c}`,s&&`xl-${s}`,o&&`lg-${o}`,i&&`md-${i}`,r&&`sm-${r}`,...a.t({spacing:p,padding:m,fsize:h,mt:g,mb:_,ml:v,mr:y,mx:b,my:x,pt:S,pb:C,pl:w,pr:T,px:E,py:D,fullWidth:O}),j),style:{...I,...M},...e.r(u),...F,children:P});let z=d.Children.toArray(P),B=z.flatMap((e,t)=>k(e)?[{child:e,index:t}]:[]),V=Math.min(Math.max(B.length||z.length,1),12),H=B.some(({child:e})=>{let t=e.props;return!!(t.hidden||t.xxl||t.xl||t.lg||t.md||t.sm)}),U=H?N(B.map(({child:e})=>e.props)):null,W=H&&U?z.map((e,t)=>{let n=B.findIndex(e=>e.index===t);if(n===-1||!k(e))return e;let r=U[n];return(0,d.cloneElement)(e,{resolvedBase:r.base,xxl:r.xxl,xl:r.xl,lg:r.lg,md:r.md,sm:r.sm})}):z;return(0,f.jsx)(`div`,{className:n.t(`grid`,`row`,H?`tracked`:`auto-cols-${V}`,...a.t({spacing:p,padding:m,fsize:h,mt:g,mb:_,ml:v,mr:y,mx:b,my:x,pt:S,pb:C,pl:w,pr:T,px:E,py:D,fullWidth:O??!0}),j),style:{...I,...M},...e.r(u),...F,children:W})}function F({sm:e,md:t,lg:n,xl:r,xxl:i,...a}){return(0,f.jsx)(P,{type:`col`,sm:e,md:t,lg:n,xl:r,xxl:i,...a})}function I({orientation:t=`horizontal`,variant:r=`solid`,hidden:i,className:a,style:o,...s}){return(0,f.jsx)(`div`,{role:`separator`,"aria-orientation":t,className:n.t(`divider`,t,r,a),style:o,...e.r(i),...s})}var L=`mineralui-sidebar`,R=(0,d.createContext)({mode:`expanded`,mobile:!1,mobileOpen:!1,canToggle:!1,toggleMode:()=>{}});function z(){return(0,d.useContext)(R)}function B({mode:r=`auto`,defaultMode:i=`expanded`,onModeChange:a,persist:o=!1,side:s=`left`,tone:c=`subtle`,bordered:l=!0,mobileBreakpoint:u=e.n.mobile,compactBreakpoint:p=e.n.compact,className:m,style:h,children:g}){let _=Math.max(p,u),v=e.i(u),y=e.i(_),b=!v&&y,[x,S]=(0,d.useState)(!1),[C,w]=(0,d.useState)(()=>{if(o)try{let e=localStorage.getItem(L);if(e===`expanded`||e===`collapsed`)return e}catch{}return i}),T=v?`expanded`:b?`collapsed`:r===`auto`?C:r===`collapsed`?`collapsed`:`expanded`,E=(0,d.useCallback)(()=>{let e=T===`expanded`?`collapsed`:`expanded`;if(w(e),a?.(e),o)try{localStorage.setItem(L,e)}catch{}},[T,a,o]),D=(0,d.useCallback)(()=>S(!1),[]);(0,d.useEffect)(()=>{if(!x)return;let e=e=>{e.key===`Escape`&&S(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[x]),(0,d.useEffect)(()=>{v||S(!1)},[v]);let O=!v&&!b&&r===`auto`,k=(0,d.useMemo)(()=>({mode:T,mobile:v,mobileOpen:x,canToggle:O,toggleMode:E}),[T,v,x,O,E]),A=n.t(`sidebar`,c,s,!v&&T===`collapsed`&&`collapsed`,b&&`compact`,l&&`bordered`,v&&`mobile`,v&&x&&`mobile-open`,m);return(0,f.jsxs)(R.Provider,{value:k,children:[v&&x&&(0,f.jsx)(`div`,{className:`sidebar-backdrop`,onClick:D}),(0,f.jsx)(`aside`,{className:A,style:h,children:g}),v&&!x&&(0,f.jsx)(`button`,{className:n.t(`sidebar-hamburger`,s),onClick:()=>S(!0),"aria-label":`Open menu`,children:(0,f.jsx)(`span`,{className:`sidebar-hamburger-icon`,"aria-hidden":`true`,children:(0,f.jsx)(t.cn,{})})})]})}function V({bordered:e=!1,className:r,children:i}){let{mode:a,mobile:o,canToggle:s,toggleMode:l}=z(),u=!o&&a===`collapsed`;return(0,f.jsxs)(`div`,{className:n.t(`sidebar-header`,e&&`bordered`,r),children:[(0,f.jsx)(`div`,{className:`sidebar-header-content`,children:i}),s&&(0,f.jsx)(c.t,{variant:`outlined`,color:`neutral`,iconOnly:!0,size:`sm`,onClick:l,"aria-label":u?`Expand sidebar`:`Collapse sidebar`,className:`sidebar-toggle`,children:(0,f.jsx)(`span`,{className:n.t(`sidebar-chevron`,u&&`flipped`),children:(0,f.jsx)(t.Ni,{})})})]})}function H({className:e,children:t}){return(0,f.jsx)(`div`,{className:n.t(`sidebar-body`,e),children:t})}function U({className:e,children:t}){return(0,f.jsx)(`nav`,{className:n.t(`sidebar-nav`,e),children:t})}function W({icon:e,label:t,href:r,to:i,onClick:a,active:o=!1,disabled:s=!1,badge:c,color:u,component:d,className:p}){let{mode:m,mobile:h}=z(),g=!h&&m===`collapsed`,_=d??(r||i?`a`:`button`),v=d?i?{to:i}:r?{href:r}:{}:r?{href:r}:i?{href:i}:{};return(0,f.jsxs)(_,{className:n.t(`sidebar-item`,o&&`active`,s&&`disabled`,u,p),onClick:s?void 0:a,"aria-disabled":s||void 0,title:g?t:void 0,...v,children:[e&&(0,f.jsx)(`span`,{className:`sidebar-item-icon`,children:e}),!g&&(0,f.jsx)(l.t,{content:t,placement:`top`,className:`sidebar-item-label-tooltip`,children:(0,f.jsx)(`span`,{className:`sidebar-item-label`,children:t})}),!g&&c&&(0,f.jsx)(`span`,{className:`sidebar-item-badge`,children:c})]})}function G({label:e,icon:r,active:i=!1,defaultOpen:a=!0,collapsible:o=!0,children:s,className:c}){let l=z(),{mode:p,mobile:m}=l,h=!m&&p===`collapsed`,[g,_]=(0,d.useState)(a),v=(0,d.useMemo)(()=>({...l,mode:`expanded`}),[l]),y=()=>{o&&_(e=>!e)};if(h){let t=(0,f.jsx)(`span`,{className:n.t(`sidebar-group-icon collapsed`,i&&`active`),title:e,children:r});return(0,f.jsx)(`div`,{className:n.t(`sidebar-group`,c),children:(0,f.jsx)(u.i,{trigger:t,placement:`right-start`,closeOnSelect:!0,openOn:`hover`,children:(0,f.jsx)(R.Provider,{value:v,children:s})})})}return(0,f.jsxs)(`div`,{className:n.t(`sidebar-group`,c),children:[(0,f.jsxs)(`button`,{className:n.t(`sidebar-group-header`,i&&`active`),onClick:y,"aria-expanded":g,children:[r&&(0,f.jsx)(`span`,{className:`sidebar-group-icon`,children:r}),(0,f.jsx)(`span`,{className:`sidebar-group-label`,children:e}),o&&(0,f.jsx)(`span`,{className:n.t(`sidebar-group-arrow`,g&&`open`),children:(0,f.jsx)(t.Ni,{})})]}),g&&(0,f.jsx)(`div`,{className:`sidebar-group-items`,children:s})]})}function K({bordered:e=!1,className:t,children:r}){return(0,f.jsx)(`div`,{className:n.t(`sidebar-footer`,e&&`bordered`,t),children:r})}function q({className:e,spacing:t=`md`}){return(0,f.jsx)(`hr`,{className:n.t(`sidebar-divider`,t,e)})}function J({items:e,separator:t=`/`,maxItems:r,className:i,...a}){let o=(0,d.useMemo)(()=>{if(!r||r>=e.length)return e;if(r<2)return[e[e.length-1]];let t=e.slice(0,1),n=e.slice(-(r-1));return[...t,null,...n]},[e,r]);return(0,f.jsx)(`nav`,{"aria-label":`breadcrumb`,className:n.t(`breadcrumb`,i),...a,children:(0,f.jsx)(`ol`,{className:`trail`,children:o.map((e,r)=>{if(e===null)return(0,f.jsxs)(`li`,{className:`crumb dots`,children:[(0,f.jsx)(`span`,{className:`sep`,children:t}),(0,f.jsx)(`span`,{children:`…`})]},`ellipsis`);let i=r===o.length-1;return(0,f.jsxs)(`li`,{className:n.t(`crumb`,i&&`active`),children:[r>0&&(0,f.jsx)(`span`,{className:`sep`,children:t}),e.href&&!i?(0,f.jsx)(`a`,{href:e.href,className:`link`,onClick:e.onClick,children:e.label}):e.onClick&&!i?(0,f.jsx)(`button`,{type:`button`,className:`link btn`,onClick:e.onClick,children:e.label}):(0,f.jsx)(`span`,{className:`current`,"aria-current":i?`page`:void 0,children:e.label})]},r)})})})}var Y=(0,d.forwardRef)(function({className:e,children:t,...r},i){let a=[],o=[];return d.Children.forEach(t,e=>{(0,d.isValidElement)(e)&&e.type===B?a.push(e):o.push(e)}),(0,f.jsxs)(`div`,{ref:i,className:n.t(`app-shell`,e),...r,children:[a,(0,f.jsx)(`div`,{className:`app-main`,children:o})]})}),X=(0,d.forwardRef)(function({className:e,children:t,...r},i){return(0,f.jsx)(`div`,{ref:i,className:n.t(`app-body`,e),...r,children:t})});Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return _}});
2
+ //# sourceMappingURL=layout-DZXYG0TB.cjs.map