@banzamel/mineralui 1.2.0 → 1.4.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 (271) hide show
  1. package/README.md +1 -1
  2. package/dist/MAvatar-B0uPeciT.js +57 -0
  3. package/dist/MAvatar-B0uPeciT.js.map +1 -0
  4. package/dist/MAvatar-DlFdIi6R.cjs +2 -0
  5. package/dist/MAvatar-DlFdIi6R.cjs.map +1 -0
  6. package/dist/MBadge-5PivwWxe.js +19 -0
  7. package/dist/MBadge-5PivwWxe.js.map +1 -0
  8. package/dist/MBadge-DNqOptef.cjs +2 -0
  9. package/dist/MBadge-DNqOptef.cjs.map +1 -0
  10. package/dist/MButton-Bfe4iq51.js +113 -0
  11. package/dist/{MButton-BmTDe5Oa.js.map → MButton-Bfe4iq51.js.map} +1 -1
  12. package/dist/MButton-CtEFKjYZ.cjs +2 -0
  13. package/dist/{MButton-B8rXmFX9.cjs.map → MButton-CtEFKjYZ.cjs.map} +1 -1
  14. package/dist/{MDataTable-BI7wFZYN.cjs → MDataTable-CVwnVouZ.cjs} +2 -2
  15. package/dist/{MDataTable-BI7wFZYN.cjs.map → MDataTable-CVwnVouZ.cjs.map} +1 -1
  16. package/dist/{MDataTable-Cqwkiq7A.js → MDataTable-D0ONRmcC.js} +3 -3
  17. package/dist/{MDataTable-Cqwkiq7A.js.map → MDataTable-D0ONRmcC.js.map} +1 -1
  18. package/dist/{MDrawer-DXHtAckQ.js → MDrawer-C7rLXC_O.js} +2 -2
  19. package/dist/{MDrawer-DXHtAckQ.js.map → MDrawer-C7rLXC_O.js.map} +1 -1
  20. package/dist/{MDrawer-CSvjLrhB.cjs → MDrawer-DF42-zF2.cjs} +2 -2
  21. package/dist/{MDrawer-CSvjLrhB.cjs.map → MDrawer-DF42-zF2.cjs.map} +1 -1
  22. package/dist/MHeading-DBS5Kytw.js +21 -0
  23. package/dist/MHeading-DBS5Kytw.js.map +1 -0
  24. package/dist/MHeading-XCMJNMYB.cjs +2 -0
  25. package/dist/MHeading-XCMJNMYB.cjs.map +1 -0
  26. package/dist/MImage-2Xztd_N6.cjs +2 -0
  27. package/dist/MImage-2Xztd_N6.cjs.map +1 -0
  28. package/dist/MImage-UmiZwzDJ.js +53 -0
  29. package/dist/MImage-UmiZwzDJ.js.map +1 -0
  30. package/dist/MInline-BYsbmfkz.js +41 -0
  31. package/dist/MInline-BYsbmfkz.js.map +1 -0
  32. package/dist/MInline-oCvhfJwM.cjs +2 -0
  33. package/dist/MInline-oCvhfJwM.cjs.map +1 -0
  34. package/dist/{MInput-W7DJQ_ng.cjs → MInput-CpEJQ9SV.cjs} +2 -2
  35. package/dist/{MInput-W7DJQ_ng.cjs.map → MInput-CpEJQ9SV.cjs.map} +1 -1
  36. package/dist/{MInput-BSaKw0Uc.js → MInput-iKIeefss.js} +2 -2
  37. package/dist/{MInput-BSaKw0Uc.js.map → MInput-iKIeefss.js.map} +1 -1
  38. package/dist/{MInputCVC-Dqbl1zG9.js → MInputCVC-BpGTqkQx.js} +2 -2
  39. package/dist/{MInputCVC-Dqbl1zG9.js.map → MInputCVC-BpGTqkQx.js.map} +1 -1
  40. package/dist/{MInputCVC-DH_bjV5R.cjs → MInputCVC-BuGwm7fv.cjs} +2 -2
  41. package/dist/{MInputCVC-DH_bjV5R.cjs.map → MInputCVC-BuGwm7fv.cjs.map} +1 -1
  42. package/dist/{MInputSearch-C7betxTa.cjs → MInputSearch-B-Lqr-QG.cjs} +2 -2
  43. package/dist/{MInputSearch-C7betxTa.cjs.map → MInputSearch-B-Lqr-QG.cjs.map} +1 -1
  44. package/dist/{MInputSearch-CH5ZcjLq.js → MInputSearch-y3_ihYRj.js} +2 -2
  45. package/dist/{MInputSearch-CH5ZcjLq.js.map → MInputSearch-y3_ihYRj.js.map} +1 -1
  46. package/dist/MLink-7hndQLKM.cjs +2 -0
  47. package/dist/{MLink-DHryXq_D.cjs.map → MLink-7hndQLKM.cjs.map} +1 -1
  48. package/dist/MLink-tcICJfPn.js +31 -0
  49. package/dist/{MLink-ODytrwne.js.map → MLink-tcICJfPn.js.map} +1 -1
  50. package/dist/{MModal-pMcPs3pw.cjs → MModal-DlnT3BBp.cjs} +2 -2
  51. package/dist/{MModal-pMcPs3pw.cjs.map → MModal-DlnT3BBp.cjs.map} +1 -1
  52. package/dist/{MModal-DShADuLw.js → MModal-___Rw8YK.js} +2 -2
  53. package/dist/{MModal-DShADuLw.js.map → MModal-___Rw8YK.js.map} +1 -1
  54. package/dist/{MPagination-BWHAVgWN.cjs → MPagination-CTtr_L-Q.cjs} +2 -2
  55. package/dist/{MPagination-BWHAVgWN.cjs.map → MPagination-CTtr_L-Q.cjs.map} +1 -1
  56. package/dist/{MPagination-B7aho7rQ.js → MPagination-CzJGko3i.js} +2 -2
  57. package/dist/{MPagination-B7aho7rQ.js.map → MPagination-CzJGko3i.js.map} +1 -1
  58. package/dist/{MQrCode-6Cz9B7Qy.js → MQrCode-B7jbpcUj.js} +2 -2
  59. package/dist/{MQrCode-6Cz9B7Qy.js.map → MQrCode-B7jbpcUj.js.map} +1 -1
  60. package/dist/{MQrCode-Bp2CWpmX.cjs → MQrCode-Cha7657D.cjs} +2 -2
  61. package/dist/{MQrCode-Bp2CWpmX.cjs.map → MQrCode-Cha7657D.cjs.map} +1 -1
  62. package/dist/{MSkeleton-BfRBJ6ku.cjs → MSkeleton-BAkzwxOS.cjs} +2 -2
  63. package/dist/{MSkeleton-BfRBJ6ku.cjs.map → MSkeleton-BAkzwxOS.cjs.map} +1 -1
  64. package/dist/{MSkeleton-CauCfkzj.js → MSkeleton-Cwa-JRxo.js} +2 -2
  65. package/dist/{MSkeleton-CauCfkzj.js.map → MSkeleton-Cwa-JRxo.js.map} +1 -1
  66. package/dist/MStack-Bp1x4woD.cjs +2 -0
  67. package/dist/MStack-Bp1x4woD.cjs.map +1 -0
  68. package/dist/MStack-DVOFZo1L.js +41 -0
  69. package/dist/MStack-DVOFZo1L.js.map +1 -0
  70. package/dist/MSubText-CHvUFOlt.js +17 -0
  71. package/dist/MSubText-CHvUFOlt.js.map +1 -0
  72. package/dist/MSubText-Dg3PKnwI.cjs +2 -0
  73. package/dist/MSubText-Dg3PKnwI.cjs.map +1 -0
  74. package/dist/MSurface-ClPdv7a4.cjs +2 -0
  75. package/dist/MSurface-ClPdv7a4.cjs.map +1 -0
  76. package/dist/MSurface-FEfWBJFx.js +41 -0
  77. package/dist/MSurface-FEfWBJFx.js.map +1 -0
  78. package/dist/MTag-BxoSuAOj.cjs +2 -0
  79. package/dist/MTag-BxoSuAOj.cjs.map +1 -0
  80. package/dist/MTag-CjaE6vPj.js +39 -0
  81. package/dist/MTag-CjaE6vPj.js.map +1 -0
  82. package/dist/MText-CWHwmjs8.cjs +2 -0
  83. package/dist/MText-CWHwmjs8.cjs.map +1 -0
  84. package/dist/MText-hHMgVJ4-.js +45 -0
  85. package/dist/MText-hHMgVJ4-.js.map +1 -0
  86. package/dist/{cards-BE77zKTI.js → cards-1--Cy-KV.js} +10 -10
  87. package/dist/{cards-BE77zKTI.js.map → cards-1--Cy-KV.js.map} +1 -1
  88. package/dist/{cards-BINs-dmS.cjs → cards-CTegCxIA.cjs} +2 -2
  89. package/dist/{cards-BINs-dmS.cjs.map → cards-CTegCxIA.cjs.map} +1 -1
  90. package/dist/cards.cjs +1 -1
  91. package/dist/cards.js +2 -2
  92. package/dist/components/controls/MButton/MButton.types.d.ts +2 -2
  93. package/dist/components/feedback/MAlert/MAlert.d.ts +1 -1
  94. package/dist/components/feedback/MAlert/MAlert.types.d.ts +2 -2
  95. package/dist/components/feedback/MBadge/MBadge.d.ts +1 -1
  96. package/dist/components/feedback/MBadge/MBadge.types.d.ts +2 -2
  97. package/dist/components/feedback/MBanner/MBanner.d.ts +1 -1
  98. package/dist/components/feedback/MBanner/MBanner.types.d.ts +2 -2
  99. package/dist/components/feedback/MTag/MTag.d.ts +1 -1
  100. package/dist/components/feedback/MTag/MTag.types.d.ts +2 -2
  101. package/dist/components/layout/MContainer/MContainer.d.ts +1 -1
  102. package/dist/components/layout/MContainer/MContainer.types.d.ts +2 -1
  103. package/dist/components/layout/MDivider/MDivider.d.ts +1 -1
  104. package/dist/components/layout/MDivider/MDivider.types.d.ts +2 -1
  105. package/dist/components/layout/MFooter/MFooter.d.ts +1 -1
  106. package/dist/components/layout/MFooter/MFooter.types.d.ts +2 -1
  107. package/dist/components/layout/MGrid/MGrid.d.ts +2 -2
  108. package/dist/components/layout/MGrid/MGrid.types.d.ts +4 -2
  109. package/dist/components/layout/MHeader/MHeader.d.ts +1 -1
  110. package/dist/components/layout/MHeader/MHeader.types.d.ts +2 -1
  111. package/dist/components/layout/MInline/MInline.d.ts +1 -1
  112. package/dist/components/layout/MInline/MInline.types.d.ts +2 -1
  113. package/dist/components/layout/MNavbar/MNavbar.d.ts +1 -1
  114. package/dist/components/layout/MNavbar/MNavbar.types.d.ts +3 -1
  115. package/dist/components/layout/MNavs/index.d.ts +1 -1
  116. package/dist/components/layout/MSection/MSection.d.ts +1 -1
  117. package/dist/components/layout/MSection/MSection.types.d.ts +2 -1
  118. package/dist/components/layout/MSidebar/MSidebar.d.ts +1 -1
  119. package/dist/components/layout/MSidebar/MSidebar.types.d.ts +1 -0
  120. package/dist/components/layout/MStack/MStack.d.ts +1 -1
  121. package/dist/components/layout/MStack/MStack.types.d.ts +2 -1
  122. package/dist/components/layout/MSurface/MSurface.d.ts +1 -1
  123. package/dist/components/layout/MSurface/MSurface.types.d.ts +2 -1
  124. package/dist/components/layout/MTopbar/MTopbar.d.ts +1 -1
  125. package/dist/components/layout/MTopbar/MTopbar.types.d.ts +3 -2
  126. package/dist/components/media/MAvatar/MAvatar.d.ts +1 -1
  127. package/dist/components/media/MAvatar/MAvatar.types.d.ts +2 -2
  128. package/dist/components/media/MAvatarStack/MAvatarStack.d.ts +1 -1
  129. package/dist/components/media/MAvatarStack/MAvatarStack.types.d.ts +2 -2
  130. package/dist/components/media/MImage/MImage.d.ts +1 -1
  131. package/dist/components/media/MImage/MImage.types.d.ts +2 -1
  132. package/dist/components/typography/MHeading/MHeading.d.ts +563 -2
  133. package/dist/components/typography/MHeading/MHeading.types.d.ts +2 -2
  134. package/dist/components/typography/MLink/MLink.types.d.ts +2 -1
  135. package/dist/components/typography/MSubText/MSubText.d.ts +1 -1
  136. package/dist/components/typography/MSubText/MSubText.types.d.ts +2 -2
  137. package/dist/components/typography/MText/MText.d.ts +1 -1
  138. package/dist/components/typography/MText/MText.types.d.ts +2 -2
  139. package/dist/{controls-BMwQ3C1R.js → controls-C0qr_vMu.js} +145 -143
  140. package/dist/{controls-BMwQ3C1R.js.map → controls-C0qr_vMu.js.map} +1 -1
  141. package/dist/controls-CAab2nyg.cjs +2 -0
  142. package/dist/{controls-DwL1-nVC.cjs.map → controls-CAab2nyg.cjs.map} +1 -1
  143. package/dist/controls.cjs +1 -1
  144. package/dist/controls.js +2 -2
  145. package/dist/data-Uy_XSs32.cjs +2 -0
  146. package/dist/data-Uy_XSs32.cjs.map +1 -0
  147. package/dist/{data-s8Hkht1B.js → data-z3Uc9FSI.js} +751 -750
  148. package/dist/data-z3Uc9FSI.js.map +1 -0
  149. package/dist/data.cjs +1 -1
  150. package/dist/data.js +2 -2
  151. package/dist/{display-DuBRiEKr.js → display-GygMuO4c.js} +3 -3
  152. package/dist/{display-DuBRiEKr.js.map → display-GygMuO4c.js.map} +1 -1
  153. package/dist/{display-B0lpgApV.cjs → display-WS1tupQD.cjs} +2 -2
  154. package/dist/{display-B0lpgApV.cjs.map → display-WS1tupQD.cjs.map} +1 -1
  155. package/dist/display.cjs +1 -1
  156. package/dist/display.js +2 -2
  157. package/dist/{dropdowns-CK-oxd62.cjs → dropdowns-CzqyYQwR.cjs} +2 -2
  158. package/dist/{dropdowns-CK-oxd62.cjs.map → dropdowns-CzqyYQwR.cjs.map} +1 -1
  159. package/dist/{dropdowns-BcVrUMPE.js → dropdowns-FQlxsOYd.js} +4 -4
  160. package/dist/{dropdowns-BcVrUMPE.js.map → dropdowns-FQlxsOYd.js.map} +1 -1
  161. package/dist/dropdowns.cjs +1 -1
  162. package/dist/dropdowns.js +1 -1
  163. package/dist/feedback-C9z4MZ-V.cjs +2 -0
  164. package/dist/feedback-C9z4MZ-V.cjs.map +1 -0
  165. package/dist/{feedback-D3LLKNlY.js → feedback-xtBDPbzP.js} +304 -301
  166. package/dist/feedback-xtBDPbzP.js.map +1 -0
  167. package/dist/feedback.cjs +1 -1
  168. package/dist/feedback.js +5 -5
  169. package/dist/index.cjs +1 -1
  170. package/dist/index.js +59 -59
  171. package/dist/{inputs-bCxSLz-U.js → inputs-gB1ET0dG.js} +3 -3
  172. package/dist/{inputs-bCxSLz-U.js.map → inputs-gB1ET0dG.js.map} +1 -1
  173. package/dist/{inputs-Dcj6C_Fn.cjs → inputs-z84nU7A8.cjs} +2 -2
  174. package/dist/{inputs-Dcj6C_Fn.cjs.map → inputs-z84nU7A8.cjs.map} +1 -1
  175. package/dist/inputs.cjs +1 -1
  176. package/dist/inputs.js +4 -4
  177. package/dist/layout-BIPyHdYN.cjs +2 -0
  178. package/dist/layout-BIPyHdYN.cjs.map +1 -0
  179. package/dist/layout-DHVIqY-O.js +904 -0
  180. package/dist/layout-DHVIqY-O.js.map +1 -0
  181. package/dist/layout.cjs +1 -1
  182. package/dist/layout.js +5 -5
  183. package/dist/media-Ch3Fyf4K.cjs +2 -0
  184. package/dist/{media-D5YGOTm7.cjs.map → media-Ch3Fyf4K.cjs.map} +1 -1
  185. package/dist/{media-8aMOtckF.js → media-DV58aS3j.js} +145 -143
  186. package/dist/{media-8aMOtckF.js.map → media-DV58aS3j.js.map} +1 -1
  187. package/dist/media.cjs +1 -1
  188. package/dist/media.js +3 -3
  189. package/dist/{overlays-DCj-oV2H.cjs → overlays-7HBAQneO.cjs} +2 -2
  190. package/dist/{overlays-DCj-oV2H.cjs.map → overlays-7HBAQneO.cjs.map} +1 -1
  191. package/dist/{overlays-gjg00CAf.js → overlays-_zOs7GGk.js} +3 -3
  192. package/dist/{overlays-gjg00CAf.js.map → overlays-_zOs7GGk.js.map} +1 -1
  193. package/dist/overlays.cjs +1 -1
  194. package/dist/overlays.js +3 -3
  195. package/dist/style-runtime.cjs +1 -1
  196. package/dist/style-runtime.js +1 -1
  197. package/dist/styles.css +1 -1
  198. package/dist/theme/MTheme.types.d.ts +6 -0
  199. package/dist/theme/index.d.ts +2 -1
  200. package/dist/theme/responsive.d.ts +23 -0
  201. package/dist/{theme-DLorpkJc.cjs → theme-B9iSuxqh.cjs} +2 -2
  202. package/dist/theme-B9iSuxqh.cjs.map +1 -0
  203. package/dist/{theme-BV4qkzZU.js → theme-XRUdoLqw.js} +25 -2
  204. package/dist/theme-XRUdoLqw.js.map +1 -0
  205. package/dist/theme.cjs +1 -1
  206. package/dist/theme.js +2 -2
  207. package/dist/{typography-qbFGv1gA.cjs → typography-D0dyVQlP.cjs} +2 -2
  208. package/dist/{typography-qbFGv1gA.cjs.map → typography-D0dyVQlP.cjs.map} +1 -1
  209. package/dist/{typography-DKdr1Tds.js → typography-Db_SHI0H.js} +2 -2
  210. package/dist/{typography-DKdr1Tds.js.map → typography-Db_SHI0H.js.map} +1 -1
  211. package/dist/typography.cjs +1 -1
  212. package/dist/typography.js +5 -5
  213. package/package.json +1 -1
  214. package/dist/MAvatar-BoO51a6m.js +0 -55
  215. package/dist/MAvatar-BoO51a6m.js.map +0 -1
  216. package/dist/MAvatar-DJKtca9j.cjs +0 -2
  217. package/dist/MAvatar-DJKtca9j.cjs.map +0 -1
  218. package/dist/MBadge-CexVV675.cjs +0 -2
  219. package/dist/MBadge-CexVV675.cjs.map +0 -1
  220. package/dist/MBadge-Y1JnZiIC.js +0 -17
  221. package/dist/MBadge-Y1JnZiIC.js.map +0 -1
  222. package/dist/MButton-B8rXmFX9.cjs +0 -2
  223. package/dist/MButton-BmTDe5Oa.js +0 -111
  224. package/dist/MHeading-C3IgV22T.js +0 -19
  225. package/dist/MHeading-C3IgV22T.js.map +0 -1
  226. package/dist/MHeading-DqvWKia1.cjs +0 -2
  227. package/dist/MHeading-DqvWKia1.cjs.map +0 -1
  228. package/dist/MImage-BDcrV6IC.js +0 -49
  229. package/dist/MImage-BDcrV6IC.js.map +0 -1
  230. package/dist/MImage-BsQJ_eYf.cjs +0 -2
  231. package/dist/MImage-BsQJ_eYf.cjs.map +0 -1
  232. package/dist/MInline-BAhu2zT-.cjs +0 -2
  233. package/dist/MInline-BAhu2zT-.cjs.map +0 -1
  234. package/dist/MInline-Dfy3Lrjs.js +0 -39
  235. package/dist/MInline-Dfy3Lrjs.js.map +0 -1
  236. package/dist/MLink-DHryXq_D.cjs +0 -2
  237. package/dist/MLink-ODytrwne.js +0 -29
  238. package/dist/MStack-Cifiqeb2.js +0 -39
  239. package/dist/MStack-Cifiqeb2.js.map +0 -1
  240. package/dist/MStack-lrvy7l3w.cjs +0 -2
  241. package/dist/MStack-lrvy7l3w.cjs.map +0 -1
  242. package/dist/MSubText-78oYdJQy.cjs +0 -2
  243. package/dist/MSubText-78oYdJQy.cjs.map +0 -1
  244. package/dist/MSubText-C2oxXwKT.js +0 -15
  245. package/dist/MSubText-C2oxXwKT.js.map +0 -1
  246. package/dist/MSurface-B1LXFczo.js +0 -39
  247. package/dist/MSurface-B1LXFczo.js.map +0 -1
  248. package/dist/MSurface-BgZ86iYn.cjs +0 -2
  249. package/dist/MSurface-BgZ86iYn.cjs.map +0 -1
  250. package/dist/MTag-C4_rBj4b.cjs +0 -2
  251. package/dist/MTag-C4_rBj4b.cjs.map +0 -1
  252. package/dist/MTag-DOcKm3c2.js +0 -37
  253. package/dist/MTag-DOcKm3c2.js.map +0 -1
  254. package/dist/MText-CxSZ2md0.cjs +0 -2
  255. package/dist/MText-CxSZ2md0.cjs.map +0 -1
  256. package/dist/MText-DX9O7gh7.js +0 -43
  257. package/dist/MText-DX9O7gh7.js.map +0 -1
  258. package/dist/controls-DwL1-nVC.cjs +0 -2
  259. package/dist/data-BESfox0z.cjs +0 -2
  260. package/dist/data-BESfox0z.cjs.map +0 -1
  261. package/dist/data-s8Hkht1B.js.map +0 -1
  262. package/dist/feedback-D3LLKNlY.js.map +0 -1
  263. package/dist/feedback-DYjg0Dbp.cjs +0 -2
  264. package/dist/feedback-DYjg0Dbp.cjs.map +0 -1
  265. package/dist/layout-Cb94o3oU.js +0 -891
  266. package/dist/layout-Cb94o3oU.js.map +0 -1
  267. package/dist/layout-DgfsQ-Tn.cjs +0 -2
  268. package/dist/layout-DgfsQ-Tn.cjs.map +0 -1
  269. package/dist/media-D5YGOTm7.cjs +0 -2
  270. package/dist/theme-BV4qkzZU.js.map +0 -1
  271. package/dist/theme-DLorpkJc.cjs.map +0 -1
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-W7DJQ_ng.cjs`),t=require(`./MInputCVC-DH_bjV5R.cjs`),n=require(`./inputs-Dcj6C_Fn.cjs`),r=require(`./MInputSearch-C7betxTa.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-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;
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-BSaKw0Uc.js";
4
- import { n as t, t as n } from "./MInputCVC-Dqbl1zG9.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-bCxSLz-U.js";
6
- import { t as y } from "./MInputSearch-CH5ZcjLq.js";
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";
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 };
@@ -0,0 +1,2 @@
1
+ const e=require(`./theme-B9iSuxqh.cjs`),t=require(`./icons-Dv1T-cF4.cjs`),n=require(`./cn-CU5TNITO.cjs`),r=require(`./useInteractionEffect-DnEfbCrX.cjs`),i=require(`./useReveal-B_17PI89.cjs`),a=require(`./layoutProps-Ck4VtGm9.cjs`),o=require(`./MInline-oCvhfJwM.cjs`),s=require(`./MLink-7hndQLKM.cjs`),c=require(`./MButton-CtEFKjYZ.cjs`),l=require(`./MTooltip-CNXoyQEN.cjs`),u=require(`./MDropdownMenu-X7ywPqth.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})}function D(e){return(0,d.isValidElement)(e)?e.type===M?!0:e.type===j&&e.props.type===`col`:!1}function O(e){return{span:e.span??e.xxl??e.xl??e.lg??e.md??e.sm,xxl:e.xxl??e.xl??e.lg??e.md??e.sm,xl:e.xl??e.lg??e.md??e.sm,lg:e.lg??e.md??e.sm,md:e.md??e.sm,sm:e.sm}}function k(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 A(e){let t=[`span`,`xxl`,`xl`,`lg`,`md`,`sm`],n=e.map(e=>O(e)),r=n.map(e=>({...e}));for(let e of t){let t=[],i=0;n.forEach((n,r)=>{let a=n[e];if(a){i+=a;return}t.push(r)});let a=k(Math.max(12-i,0),t.length);t.forEach((t,n)=>{r[t][e]=a[n]})}return r}function j({type:t=`row`,span:r,sm:i,md:o,lg:s,xl:c,xxl: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:O,fullWidth:k,className:j,style:M,children:N,...P}){let F=a.n({fsize:h}),I=r??l??c??s;if(t===`col`)return(0,f.jsx)(`div`,{className:n.t(`grid`,`col`,I?`span-${I}`:`span-auto`,l&&`xxl-${l}`,c&&`xl-${c}`,s&&`lg-${s}`,o&&`md-${o}`,i&&`sm-${i}`,...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:O,fullWidth:k}),j),style:{...F,...M},...e.r(u),...P,children:N});let L=d.Children.toArray(N),R=L.flatMap((e,t)=>D(e)?[{child:e,index:t}]:[]),z=Math.min(Math.max(R.length||L.length,1),12),B=R.some(({child:e})=>{let t=e.props;return!!(t.span||t.xxl||t.xl||t.lg||t.md||t.sm)}),V=B?A(R.map(({child:e})=>e.props)):null,H=B&&V?L.map((e,t)=>{let n=R.findIndex(e=>e.index===t);if(n===-1||!D(e))return e;let r=V[n];return(0,d.cloneElement)(e,{span:r.span,xxl:r.xxl,xl:r.xl,lg:r.lg,md:r.md,sm:r.sm})}):L;return(0,f.jsx)(`div`,{className:n.t(`grid`,`row`,B?`tracked`:`auto-cols-${z}`,...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:O,fullWidth:k??!0}),j),style:{...F,...M},...e.r(u),...P,children:H})}function M({span:e,sm:t,md:n,lg:r,xl:i,xxl:a,...o}){return(0,f.jsx)(j,{type:`col`,span:e,sm:t,md:n,lg:r,xl:i,xxl:a,...o})}function N({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 P=`mineralui-sidebar`,F=(0,d.createContext)({mode:`expanded`,mobile:!1,mobileOpen:!1,canToggle:!1,toggleMode:()=>{}});function I(){return(0,d.useContext)(F)}function L({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(P);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(P,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)(F.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 R({bordered:e=!1,className:r,children:i}){let{mode:a,mobile:o,canToggle:s,toggleMode:l}=I(),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 z({className:e,children:t}){return(0,f.jsx)(`div`,{className:n.t(`sidebar-body`,e),children:t})}function B({className:e,children:t}){return(0,f.jsx)(`nav`,{className:n.t(`sidebar-nav`,e),children:t})}function V({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}=I(),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 H({label:e,icon:r,active:i=!1,defaultOpen:a=!0,collapsible:o=!0,children:s,className:c}){let l=I(),{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)(F.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 U({bordered:e=!1,className:t,children:r}){return(0,f.jsx)(`div`,{className:n.t(`sidebar-footer`,e&&`bordered`,t),children:r})}function W({className:e,spacing:t=`md`}){return(0,f.jsx)(`hr`,{className:n.t(`sidebar-divider`,t,e)})}function G({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 K=(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===L?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})]})}),q=(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 z}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return N}}),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 L}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return V}}),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-BIPyHdYN.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-BIPyHdYN.cjs","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 = 'span' | 'xxl' | 'xl' | 'lg' | 'md' | 'sm'\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 getNormalizedSpans(props: Partial<MGridProps>) {\n return {\n span: props.span ?? props.xxl ?? props.xl ?? props.lg ?? props.md ?? props.sm,\n xxl: props.xxl ?? props.xl ?? props.lg ?? props.md ?? props.sm,\n xl: props.xl ?? props.lg ?? props.md ?? props.sm,\n lg: props.lg ?? props.md ?? props.sm,\n md: props.md ?? props.sm,\n sm: props.sm,\n }\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 breakpoints: GridBreakpoint[] = ['span', 'xxl', 'xl', 'lg', 'md', 'sm']\n const normalized = columnProps.map((props) => getNormalizedSpans(props))\n const resolved = normalized.map((spans) => ({...spans}))\n\n for (const breakpoint of breakpoints) {\n const autoIndexes: number[] = []\n let usedColumns = 0\n\n normalized.forEach((spans, index) => {\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 span,\n sm,\n md,\n lg,\n xl,\n xxl,\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}: MGridProps) {\n const utilityStyle = getLayoutUtilityStyles({fsize})\n const baseSpan = span ?? xxl ?? xl ?? lg\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 hasTrackedSizing = columnEntries.some(({child}) => {\n const p = child.props as MGridProps\n return Boolean(p.span || p.xxl || p.xl || p.lg || p.md || p.sm)\n })\n const resolvedSpans = hasTrackedSizing\n ? resolveAutoSpans(columnEntries.map(({child}) => child.props as Partial<MGridProps>))\n : null\n const resolvedChildren =\n hasTrackedSizing && 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, {\n span: spans.span,\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 hasTrackedSizing ? '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({span, sm, md, lg, xl, xxl, ...rest}: MGridItemProps) {\n return <MGrid type=\"col\" span={span} 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":"udAOA,SAAgB,EAAW,CACvB,OAAO,UACP,SAAS,GACT,SACA,UACA,UACA,QACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,YACA,YACA,QACA,WACA,GAAG,GACa,CAChB,IAAM,EAAe,EAAA,EAAuB,CAAC,QAAM,CAAC,CAEpD,OACI,EAAA,EAAA,KAAC,MAAD,CACI,UAAW,EAAA,EACP,YACA,EACA,GAAU,SACV,GAAG,EAAA,EAA2B,CAC1B,UACA,UACA,QACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,YACH,CAAC,CACF,EACH,CACD,MAAO,CAAC,GAAG,EAAc,GAAG,EAAM,CAClC,GAAI,EAAA,EAAe,EAAO,CAC1B,GAAI,EAEH,WACC,CAAA,CC1Dd,SAAgB,EAAQ,CACpB,YAAY,OACZ,SAAS,GACT,WAAW,GACX,SAAS,GACT,OAAO,UACP,SAAS,QACT,SACA,YACA,WACA,GAAG,GACU,CACb,OACI,EAAA,EAAA,KAAC,SAAD,CACI,UAAW,EAAA,EAAG,SAAU,EAAM,GAAY,WAAY,GAAU,SAAU,EAAU,CACpF,GAAI,EAAA,EAAe,EAAO,CAC1B,GAAI,YAEJ,EAAA,EAAA,KAAC,EAAD,CAAY,KAAM,EAAmB,SAAQ,UAAW,EAAA,EAAG,QAAS,UAAU,IAAS,CAClF,WACQ,CAAA,CACR,CAAA,CCpBjB,SAAgB,EAAQ,CACpB,YAAY,OACZ,SAAS,GACT,WAAW,GACX,OAAO,UACP,SACA,UACA,UACA,QACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,YACA,YACA,QACA,WACA,GAAG,GACU,CACb,IAAM,EAAe,EAAA,EAAuB,CAAC,QAAM,CAAC,CAEpD,OACI,EAAA,EAAA,KAAC,SAAD,CACI,UAAW,EAAA,EACP,SACA,EACA,GAAY,WACZ,GAAG,EAAA,EAA2B,CAC1B,UACA,UACA,QACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,YACH,CAAC,CACF,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"}