@banzamel/mineralui 1.1.1 → 1.3.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 (317) hide show
  1. package/README.md +1 -1
  2. package/dist/MAvatar-B4Y9P5ua.js +57 -0
  3. package/dist/MAvatar-B4Y9P5ua.js.map +1 -0
  4. package/dist/MAvatar-D4ZC9wml.cjs +2 -0
  5. package/dist/MAvatar-D4ZC9wml.cjs.map +1 -0
  6. package/dist/MBadge-BaeeIRhu.js +19 -0
  7. package/dist/MBadge-BaeeIRhu.js.map +1 -0
  8. package/dist/MBadge-DJuqtMP7.cjs +2 -0
  9. package/dist/MBadge-DJuqtMP7.cjs.map +1 -0
  10. package/dist/MButton-Rg85cgO1.cjs +2 -0
  11. package/dist/{MButton-CX8SV1m0.cjs.map → MButton-Rg85cgO1.cjs.map} +1 -1
  12. package/dist/MButton-pSNx-6UK.js +113 -0
  13. package/dist/{MButton-BJdrNg2I.js.map → MButton-pSNx-6UK.js.map} +1 -1
  14. package/dist/{MCheckbox-DfCD0EtS.js → MCheckbox-B7SpcD4H.js} +1 -1
  15. package/dist/{MCheckbox-DfCD0EtS.js.map → MCheckbox-B7SpcD4H.js.map} +1 -1
  16. package/dist/{MCheckbox-CAZA97h7.cjs → MCheckbox-Bea3orrs.cjs} +1 -1
  17. package/dist/{MCheckbox-CAZA97h7.cjs.map → MCheckbox-Bea3orrs.cjs.map} +1 -1
  18. package/dist/{MCookieBootstrap-BhTMPs8T.js → MCookieBootstrap-CNYLvKjW.js} +1 -1
  19. package/dist/{MCookieBootstrap-BhTMPs8T.js.map → MCookieBootstrap-CNYLvKjW.js.map} +1 -1
  20. package/dist/{MCookieBootstrap-Fxpem-gF.cjs → MCookieBootstrap-DSOT4FQo.cjs} +1 -1
  21. package/dist/{MCookieBootstrap-Fxpem-gF.cjs.map → MCookieBootstrap-DSOT4FQo.cjs.map} +1 -1
  22. package/dist/{MDataTable-D-ASD4g3.js → MDataTable-D5SnGm3D.js} +10 -10
  23. package/dist/{MDataTable-D-ASD4g3.js.map → MDataTable-D5SnGm3D.js.map} +1 -1
  24. package/dist/{MDataTable-BZs6Cn9e.cjs → MDataTable-_afEvx2S.cjs} +2 -2
  25. package/dist/{MDataTable-BZs6Cn9e.cjs.map → MDataTable-_afEvx2S.cjs.map} +1 -1
  26. package/dist/{MDrawer-CTVEF34p.cjs → MDrawer-2NDNRU77.cjs} +2 -2
  27. package/dist/{MDrawer-CTVEF34p.cjs.map → MDrawer-2NDNRU77.cjs.map} +1 -1
  28. package/dist/{MDrawer-CscOMXBg.js → MDrawer-CHvOVWPw.js} +2 -2
  29. package/dist/{MDrawer-CscOMXBg.js.map → MDrawer-CHvOVWPw.js.map} +1 -1
  30. package/dist/{MDropdownMenu-B1eOmM7u.js → MDropdownMenu-CxBhYxQb.js} +1 -1
  31. package/dist/{MDropdownMenu-B1eOmM7u.js.map → MDropdownMenu-CxBhYxQb.js.map} +1 -1
  32. package/dist/{MDropdownMenu-CiJ_7DQ2.cjs → MDropdownMenu-X7ywPqth.cjs} +1 -1
  33. package/dist/{MDropdownMenu-CiJ_7DQ2.cjs.map → MDropdownMenu-X7ywPqth.cjs.map} +1 -1
  34. package/dist/MHeading-C5s-kb2D.js +21 -0
  35. package/dist/MHeading-C5s-kb2D.js.map +1 -0
  36. package/dist/MHeading-CvAYmqMN.cjs +2 -0
  37. package/dist/MHeading-CvAYmqMN.cjs.map +1 -0
  38. package/dist/MImage-DqAx0_B0.cjs +2 -0
  39. package/dist/MImage-DqAx0_B0.cjs.map +1 -0
  40. package/dist/MImage-F34N1nhB.js +53 -0
  41. package/dist/MImage-F34N1nhB.js.map +1 -0
  42. package/dist/MInline-BKY7arDg.js +41 -0
  43. package/dist/MInline-BKY7arDg.js.map +1 -0
  44. package/dist/MInline-FgdIt6kv.cjs +2 -0
  45. package/dist/MInline-FgdIt6kv.cjs.map +1 -0
  46. package/dist/{MInput-BZ1ZPuk3.cjs → MInput-C_Prnehc.cjs} +2 -2
  47. package/dist/{MInput-BZ1ZPuk3.cjs.map → MInput-C_Prnehc.cjs.map} +1 -1
  48. package/dist/{MInput-B8RPS-wr.js → MInput-DI066RK9.js} +2 -2
  49. package/dist/{MInput-B8RPS-wr.js.map → MInput-DI066RK9.js.map} +1 -1
  50. package/dist/{MInputCVC-DOBmGhJL.cjs → MInputCVC-B75iBIRt.cjs} +2 -2
  51. package/dist/{MInputCVC-DOBmGhJL.cjs.map → MInputCVC-B75iBIRt.cjs.map} +1 -1
  52. package/dist/{MInputCVC-BJQWuuwR.js → MInputCVC-BlBZjRft.js} +3 -3
  53. package/dist/{MInputCVC-BJQWuuwR.js.map → MInputCVC-BlBZjRft.js.map} +1 -1
  54. package/dist/{MInputSearch-DAAg9FXv.cjs → MInputSearch-BKQnKS-9.cjs} +2 -2
  55. package/dist/{MInputSearch-DAAg9FXv.cjs.map → MInputSearch-BKQnKS-9.cjs.map} +1 -1
  56. package/dist/{MInputSearch-PMHykVrc.js → MInputSearch-CBsBsuqu.js} +2 -2
  57. package/dist/{MInputSearch-PMHykVrc.js.map → MInputSearch-CBsBsuqu.js.map} +1 -1
  58. package/dist/MLink-BgYBHhce.js +31 -0
  59. package/dist/{MLink-CBmT8zaD.js.map → MLink-BgYBHhce.js.map} +1 -1
  60. package/dist/MLink-DmB3rcWB.cjs +2 -0
  61. package/dist/{MLink-D10DD8oX.cjs.map → MLink-DmB3rcWB.cjs.map} +1 -1
  62. package/dist/{MModal-CfzduXaI.cjs → MModal-BaA098nr.cjs} +2 -2
  63. package/dist/{MModal-CfzduXaI.cjs.map → MModal-BaA098nr.cjs.map} +1 -1
  64. package/dist/{MModal-BogYYyZE.js → MModal-DXZ2SrJt.js} +2 -2
  65. package/dist/{MModal-BogYYyZE.js.map → MModal-DXZ2SrJt.js.map} +1 -1
  66. package/dist/{MPagination-CgvjKhLN.js → MPagination-BFI_z3y6.js} +2 -2
  67. package/dist/{MPagination-CgvjKhLN.js.map → MPagination-BFI_z3y6.js.map} +1 -1
  68. package/dist/{MPagination-vg2EqB8z.cjs → MPagination-C6hnhbTp.cjs} +2 -2
  69. package/dist/{MPagination-vg2EqB8z.cjs.map → MPagination-C6hnhbTp.cjs.map} +1 -1
  70. package/dist/{MQrCode-l0FzrNCq.js → MQrCode-DfZwkhZV.js} +2 -2
  71. package/dist/{MQrCode-l0FzrNCq.js.map → MQrCode-DfZwkhZV.js.map} +1 -1
  72. package/dist/{MQrCode-DB9vELHq.cjs → MQrCode-L0trT6n3.cjs} +2 -2
  73. package/dist/{MQrCode-DB9vELHq.cjs.map → MQrCode-L0trT6n3.cjs.map} +1 -1
  74. package/dist/{MSkeleton-D7wnoEE8.cjs → MSkeleton-BEdflu0F.cjs} +2 -2
  75. package/dist/{MSkeleton-D7wnoEE8.cjs.map → MSkeleton-BEdflu0F.cjs.map} +1 -1
  76. package/dist/{MSkeleton-Bh9cCe49.js → MSkeleton-DX9gJ311.js} +2 -2
  77. package/dist/{MSkeleton-Bh9cCe49.js.map → MSkeleton-DX9gJ311.js.map} +1 -1
  78. package/dist/{MSlider-YDSrVUQ8.cjs → MSlider-BCMJkvcA.cjs} +1 -1
  79. package/dist/{MSlider-YDSrVUQ8.cjs.map → MSlider-BCMJkvcA.cjs.map} +1 -1
  80. package/dist/{MSlider-BlgzLtHa.js → MSlider-CqrusKJQ.js} +1 -1
  81. package/dist/{MSlider-BlgzLtHa.js.map → MSlider-CqrusKJQ.js.map} +1 -1
  82. package/dist/{MSparkline-Bl5-EHJr.cjs → MSparkline-BOaNmbeB.cjs} +1 -1
  83. package/dist/{MSparkline-Bl5-EHJr.cjs.map → MSparkline-BOaNmbeB.cjs.map} +1 -1
  84. package/dist/{MSparkline-C8tnqhJm.js → MSparkline-Cb_EwR-E.js} +1 -1
  85. package/dist/{MSparkline-C8tnqhJm.js.map → MSparkline-Cb_EwR-E.js.map} +1 -1
  86. package/dist/MStack-BgwBqm-V.cjs +2 -0
  87. package/dist/MStack-BgwBqm-V.cjs.map +1 -0
  88. package/dist/MStack-Dk0GNVBT.js +41 -0
  89. package/dist/MStack-Dk0GNVBT.js.map +1 -0
  90. package/dist/MSubText-D8VxE877.cjs +2 -0
  91. package/dist/MSubText-D8VxE877.cjs.map +1 -0
  92. package/dist/MSubText-DwNeDGYg.js +17 -0
  93. package/dist/MSubText-DwNeDGYg.js.map +1 -0
  94. package/dist/MSurface-CFbX5C63.cjs +2 -0
  95. package/dist/MSurface-CFbX5C63.cjs.map +1 -0
  96. package/dist/MSurface-COlEjDyo.js +41 -0
  97. package/dist/MSurface-COlEjDyo.js.map +1 -0
  98. package/dist/MTag-DZjcHYn0.cjs +2 -0
  99. package/dist/MTag-DZjcHYn0.cjs.map +1 -0
  100. package/dist/MTag-wsCYRndK.js +39 -0
  101. package/dist/MTag-wsCYRndK.js.map +1 -0
  102. package/dist/MText-CexZuJgV.js +45 -0
  103. package/dist/MText-CexZuJgV.js.map +1 -0
  104. package/dist/MText-YIBipYLh.cjs +2 -0
  105. package/dist/MText-YIBipYLh.cjs.map +1 -0
  106. package/dist/{MTimeAgo-LWntwbKg.cjs → MTimeAgo-91_ndjxU.cjs} +2 -2
  107. package/dist/{MTimeAgo-LWntwbKg.cjs.map → MTimeAgo-91_ndjxU.cjs.map} +1 -1
  108. package/dist/{MTimeAgo-irsvTFAY.js → MTimeAgo-xxl53mct.js} +2 -2
  109. package/dist/{MTimeAgo-irsvTFAY.js.map → MTimeAgo-xxl53mct.js.map} +1 -1
  110. package/dist/{MToggle-BbSDIAJq.js → MToggle-B6emKoKq.js} +1 -1
  111. package/dist/{MToggle-BbSDIAJq.js.map → MToggle-B6emKoKq.js.map} +1 -1
  112. package/dist/{MToggle-GhhAJgUa.cjs → MToggle-CsGS_W3X.cjs} +1 -1
  113. package/dist/{MToggle-GhhAJgUa.cjs.map → MToggle-CsGS_W3X.cjs.map} +1 -1
  114. package/dist/{MTooltip-eTM5DKtM.cjs → MTooltip-CNXoyQEN.cjs} +1 -1
  115. package/dist/{MTooltip-eTM5DKtM.cjs.map → MTooltip-CNXoyQEN.cjs.map} +1 -1
  116. package/dist/{MTooltip-BVQ7wBrO.js → MTooltip-UYOjDBOu.js} +1 -1
  117. package/dist/{MTooltip-BVQ7wBrO.js.map → MTooltip-UYOjDBOu.js.map} +1 -1
  118. package/dist/{cards-JqA2VWit.js → cards-BguCbFp7.js} +64 -64
  119. package/dist/{cards-JqA2VWit.js.map → cards-BguCbFp7.js.map} +1 -1
  120. package/dist/{cards-QoMhQlao.cjs → cards-DgOG2sWk.cjs} +2 -2
  121. package/dist/{cards-QoMhQlao.cjs.map → cards-DgOG2sWk.cjs.map} +1 -1
  122. package/dist/cards.cjs +1 -1
  123. package/dist/cards.js +2 -2
  124. package/dist/components/controls/MButton/MButton.types.d.ts +2 -2
  125. package/dist/components/feedback/MAlert/MAlert.d.ts +1 -1
  126. package/dist/components/feedback/MAlert/MAlert.types.d.ts +2 -2
  127. package/dist/components/feedback/MBadge/MBadge.d.ts +1 -1
  128. package/dist/components/feedback/MBadge/MBadge.types.d.ts +2 -2
  129. package/dist/components/feedback/MBanner/MBanner.d.ts +1 -1
  130. package/dist/components/feedback/MBanner/MBanner.types.d.ts +2 -2
  131. package/dist/components/feedback/MCookie/MCookieBootstrap/MCookieBootstrap.script.d.ts +4 -0
  132. package/dist/components/feedback/MTag/MTag.d.ts +1 -1
  133. package/dist/components/feedback/MTag/MTag.types.d.ts +2 -2
  134. package/dist/components/layout/MContainer/MContainer.d.ts +1 -1
  135. package/dist/components/layout/MContainer/MContainer.types.d.ts +2 -1
  136. package/dist/components/layout/MDivider/MDivider.d.ts +1 -1
  137. package/dist/components/layout/MDivider/MDivider.types.d.ts +2 -1
  138. package/dist/components/layout/MFooter/MFooter.d.ts +1 -1
  139. package/dist/components/layout/MFooter/MFooter.types.d.ts +2 -1
  140. package/dist/components/layout/MGrid/MGrid.d.ts +2 -2
  141. package/dist/components/layout/MGrid/MGrid.types.d.ts +4 -2
  142. package/dist/components/layout/MHeader/MHeader.d.ts +1 -1
  143. package/dist/components/layout/MHeader/MHeader.types.d.ts +2 -1
  144. package/dist/components/layout/MInline/MInline.d.ts +1 -1
  145. package/dist/components/layout/MInline/MInline.types.d.ts +2 -1
  146. package/dist/components/layout/MNavbar/MNavbar.d.ts +1 -1
  147. package/dist/components/layout/MNavbar/MNavbar.types.d.ts +6 -1
  148. package/dist/components/layout/MNavbar/index.d.ts +1 -1
  149. package/dist/components/layout/MNavs/MNavs.types.d.ts +12 -2
  150. package/dist/components/layout/MNavs/index.d.ts +1 -1
  151. package/dist/components/layout/MSection/MSection.d.ts +1 -1
  152. package/dist/components/layout/MSection/MSection.types.d.ts +2 -1
  153. package/dist/components/layout/MStack/MStack.d.ts +1 -1
  154. package/dist/components/layout/MStack/MStack.types.d.ts +2 -1
  155. package/dist/components/layout/MSurface/MSurface.d.ts +1 -1
  156. package/dist/components/layout/MSurface/MSurface.types.d.ts +2 -1
  157. package/dist/components/layout/MTopbar/MTopbar.d.ts +1 -1
  158. package/dist/components/layout/MTopbar/MTopbar.types.d.ts +2 -2
  159. package/dist/components/media/MAvatar/MAvatar.d.ts +1 -1
  160. package/dist/components/media/MAvatar/MAvatar.types.d.ts +2 -2
  161. package/dist/components/media/MAvatarStack/MAvatarStack.d.ts +1 -1
  162. package/dist/components/media/MAvatarStack/MAvatarStack.types.d.ts +2 -2
  163. package/dist/components/media/MImage/MImage.d.ts +1 -1
  164. package/dist/components/media/MImage/MImage.types.d.ts +2 -1
  165. package/dist/components/typography/MHeading/MHeading.d.ts +563 -2
  166. package/dist/components/typography/MHeading/MHeading.types.d.ts +2 -2
  167. package/dist/components/typography/MLink/MLink.types.d.ts +2 -1
  168. package/dist/components/typography/MSubText/MSubText.d.ts +1 -1
  169. package/dist/components/typography/MSubText/MSubText.types.d.ts +2 -2
  170. package/dist/components/typography/MText/MText.d.ts +1 -1
  171. package/dist/components/typography/MText/MText.types.d.ts +2 -2
  172. package/dist/controls-CN5d1q6e.cjs +2 -0
  173. package/dist/{controls-BFmZuejK.cjs.map → controls-CN5d1q6e.cjs.map} +1 -1
  174. package/dist/{controls-Dbev0qSy.js → controls-CVdInuMI.js} +145 -143
  175. package/dist/{controls-Dbev0qSy.js.map → controls-CVdInuMI.js.map} +1 -1
  176. package/dist/controls.cjs +1 -1
  177. package/dist/controls.js +6 -6
  178. package/dist/cookie-consent-bootstrap.cjs +1 -1
  179. package/dist/cookie-consent-bootstrap.cjs.map +1 -1
  180. package/dist/cookie-consent-bootstrap.js +45 -32
  181. package/dist/cookie-consent-bootstrap.js.map +1 -1
  182. package/dist/data-BZ3Uio4Z.cjs +2 -0
  183. package/dist/data-BZ3Uio4Z.cjs.map +1 -0
  184. package/dist/{data-B1hbWMzU.js → data-BpGAUxCL.js} +554 -553
  185. package/dist/data-BpGAUxCL.js.map +1 -0
  186. package/dist/data.cjs +1 -1
  187. package/dist/data.js +3 -3
  188. package/dist/{display-B-zP1BEz.cjs → display-CCG1eb0m.cjs} +2 -2
  189. package/dist/{display-B-zP1BEz.cjs.map → display-CCG1eb0m.cjs.map} +1 -1
  190. package/dist/{display-DC0d-nPm.js → display-gwrOWH2c.js} +3 -3
  191. package/dist/{display-DC0d-nPm.js.map → display-gwrOWH2c.js.map} +1 -1
  192. package/dist/display.cjs +1 -1
  193. package/dist/display.js +3 -3
  194. package/dist/{dropdowns-Vo7Oo_ii.js → dropdowns-CNKEy6vf.js} +43 -43
  195. package/dist/{dropdowns-Vo7Oo_ii.js.map → dropdowns-CNKEy6vf.js.map} +1 -1
  196. package/dist/dropdowns-HY56LZkp.cjs +2 -0
  197. package/dist/{dropdowns-CMt9-Jpa.cjs.map → dropdowns-HY56LZkp.cjs.map} +1 -1
  198. package/dist/dropdowns.cjs +1 -1
  199. package/dist/dropdowns.js +1 -1
  200. package/dist/{feedback-D29Er-TD.js → feedback-BfSdnvUS.js} +315 -312
  201. package/dist/feedback-BfSdnvUS.js.map +1 -0
  202. package/dist/feedback-DkQNQVdK.cjs +2 -0
  203. package/dist/feedback-DkQNQVdK.cjs.map +1 -0
  204. package/dist/feedback.cjs +1 -1
  205. package/dist/feedback.js +6 -6
  206. package/dist/{frameworkTexts-BgzNvcs2.js → frameworkTexts-B6oE8pMk.js} +1 -1
  207. package/dist/{frameworkTexts-BgzNvcs2.js.map → frameworkTexts-B6oE8pMk.js.map} +1 -1
  208. package/dist/{frameworkTexts-r4jSfpMt.cjs → frameworkTexts-C_9KZK_A.cjs} +1 -1
  209. package/dist/{frameworkTexts-r4jSfpMt.cjs.map → frameworkTexts-C_9KZK_A.cjs.map} +1 -1
  210. package/dist/index.cjs +1 -1
  211. package/dist/index.js +59 -59
  212. package/dist/{inputs-Bl7ssV3Q.js → inputs-BO7bjvyf.js} +115 -115
  213. package/dist/{inputs-Bl7ssV3Q.js.map → inputs-BO7bjvyf.js.map} +1 -1
  214. package/dist/{inputs-Dw9Uv8f4.cjs → inputs-vov7Kj6q.cjs} +2 -2
  215. package/dist/{inputs-Dw9Uv8f4.cjs.map → inputs-vov7Kj6q.cjs.map} +1 -1
  216. package/dist/inputs.cjs +1 -1
  217. package/dist/inputs.js +4 -4
  218. package/dist/layout-BvKpFxol.js +905 -0
  219. package/dist/layout-BvKpFxol.js.map +1 -0
  220. package/dist/layout-TFV-1uoQ.cjs +2 -0
  221. package/dist/layout-TFV-1uoQ.cjs.map +1 -0
  222. package/dist/layout.cjs +1 -1
  223. package/dist/layout.js +6 -6
  224. package/dist/{locale-uMMj57KX.js → locale-BNyzqXAU.js} +1 -1
  225. package/dist/{locale-uMMj57KX.js.map → locale-BNyzqXAU.js.map} +1 -1
  226. package/dist/{locale-LCAQDJCd.cjs → locale-BltrWJtd.cjs} +1 -1
  227. package/dist/{locale-LCAQDJCd.cjs.map → locale-BltrWJtd.cjs.map} +1 -1
  228. package/dist/media-BhRjHzpA.cjs +2 -0
  229. package/dist/{media-C4WtzWxU.cjs.map → media-BhRjHzpA.cjs.map} +1 -1
  230. package/dist/{media-D5zF3vH6.js → media-BuIEAgV-.js} +145 -143
  231. package/dist/{media-D5zF3vH6.js.map → media-BuIEAgV-.js.map} +1 -1
  232. package/dist/media.cjs +1 -1
  233. package/dist/media.js +3 -3
  234. package/dist/{overlays-D9_8GEse.cjs → overlays-CjEh_HWn.cjs} +2 -2
  235. package/dist/{overlays-D9_8GEse.cjs.map → overlays-CjEh_HWn.cjs.map} +1 -1
  236. package/dist/{overlays-BahWPCPW.js → overlays-D1SAF1F_.js} +3 -3
  237. package/dist/{overlays-BahWPCPW.js.map → overlays-D1SAF1F_.js.map} +1 -1
  238. package/dist/overlays.cjs +1 -1
  239. package/dist/overlays.js +5 -5
  240. package/dist/style-runtime.cjs +1 -1
  241. package/dist/style-runtime.js +1 -1
  242. package/dist/styles.css +1 -1
  243. package/dist/theme/MTheme.types.d.ts +5 -0
  244. package/dist/theme/index.d.ts +2 -1
  245. package/dist/theme/responsive.d.ts +18 -0
  246. package/dist/{theme-DLorpkJc.cjs → theme-CyIOdO9W.cjs} +2 -2
  247. package/dist/theme-CyIOdO9W.cjs.map +1 -0
  248. package/dist/{theme-BV4qkzZU.js → theme-Dl4EpdnW.js} +14 -2
  249. package/dist/theme-Dl4EpdnW.js.map +1 -0
  250. package/dist/theme.cjs +1 -1
  251. package/dist/theme.js +2 -2
  252. package/dist/{typography-BR2o3w3X.js → typography-BrIbvz08.js} +2 -2
  253. package/dist/{typography-BR2o3w3X.js.map → typography-BrIbvz08.js.map} +1 -1
  254. package/dist/{typography-BobOsDbn.cjs → typography-DHjL4YTH.cjs} +2 -2
  255. package/dist/{typography-BobOsDbn.cjs.map → typography-DHjL4YTH.cjs.map} +1 -1
  256. package/dist/typography.cjs +1 -1
  257. package/dist/typography.js +5 -5
  258. package/package.json +1 -1
  259. package/dist/MAvatar-nLlGAprq.cjs +0 -2
  260. package/dist/MAvatar-nLlGAprq.cjs.map +0 -1
  261. package/dist/MAvatar-tpFpLFPO.js +0 -55
  262. package/dist/MAvatar-tpFpLFPO.js.map +0 -1
  263. package/dist/MBadge-UTUlEAik.js +0 -17
  264. package/dist/MBadge-UTUlEAik.js.map +0 -1
  265. package/dist/MBadge-imAk1gYn.cjs +0 -2
  266. package/dist/MBadge-imAk1gYn.cjs.map +0 -1
  267. package/dist/MButton-BJdrNg2I.js +0 -111
  268. package/dist/MButton-CX8SV1m0.cjs +0 -2
  269. package/dist/MHeading-CMGPJwul.js +0 -19
  270. package/dist/MHeading-CMGPJwul.js.map +0 -1
  271. package/dist/MHeading-sW0j7ssI.cjs +0 -2
  272. package/dist/MHeading-sW0j7ssI.cjs.map +0 -1
  273. package/dist/MImage-3UVzZIgA.js +0 -49
  274. package/dist/MImage-3UVzZIgA.js.map +0 -1
  275. package/dist/MImage-BHgzEHMO.cjs +0 -2
  276. package/dist/MImage-BHgzEHMO.cjs.map +0 -1
  277. package/dist/MInline-DUzpnZoB.cjs +0 -2
  278. package/dist/MInline-DUzpnZoB.cjs.map +0 -1
  279. package/dist/MInline-cTj903A4.js +0 -39
  280. package/dist/MInline-cTj903A4.js.map +0 -1
  281. package/dist/MLink-CBmT8zaD.js +0 -29
  282. package/dist/MLink-D10DD8oX.cjs +0 -2
  283. package/dist/MStack-BKDsNitR.cjs +0 -2
  284. package/dist/MStack-BKDsNitR.cjs.map +0 -1
  285. package/dist/MStack-XTsT_kLJ.js +0 -39
  286. package/dist/MStack-XTsT_kLJ.js.map +0 -1
  287. package/dist/MSubText-BIaYgtU4.cjs +0 -2
  288. package/dist/MSubText-BIaYgtU4.cjs.map +0 -1
  289. package/dist/MSubText-uoh7Qx7S.js +0 -15
  290. package/dist/MSubText-uoh7Qx7S.js.map +0 -1
  291. package/dist/MSurface-B1LXFczo.js +0 -39
  292. package/dist/MSurface-B1LXFczo.js.map +0 -1
  293. package/dist/MSurface-BgZ86iYn.cjs +0 -2
  294. package/dist/MSurface-BgZ86iYn.cjs.map +0 -1
  295. package/dist/MTag-BVo9zFIj.cjs +0 -2
  296. package/dist/MTag-BVo9zFIj.cjs.map +0 -1
  297. package/dist/MTag-Bq9b51kE.js +0 -37
  298. package/dist/MTag-Bq9b51kE.js.map +0 -1
  299. package/dist/MText-B4koGfYi.cjs +0 -2
  300. package/dist/MText-B4koGfYi.cjs.map +0 -1
  301. package/dist/MText-CKyns1SE.js +0 -43
  302. package/dist/MText-CKyns1SE.js.map +0 -1
  303. package/dist/controls-BFmZuejK.cjs +0 -2
  304. package/dist/data-B1hbWMzU.js.map +0 -1
  305. package/dist/data-BooVW8q_.cjs +0 -2
  306. package/dist/data-BooVW8q_.cjs.map +0 -1
  307. package/dist/dropdowns-CMt9-Jpa.cjs +0 -2
  308. package/dist/feedback-B-PVXL68.cjs +0 -2
  309. package/dist/feedback-B-PVXL68.cjs.map +0 -1
  310. package/dist/feedback-D29Er-TD.js.map +0 -1
  311. package/dist/layout-C1QKiv2J.cjs +0 -2
  312. package/dist/layout-C1QKiv2J.cjs.map +0 -1
  313. package/dist/layout-UP_12LRD.js +0 -817
  314. package/dist/layout-UP_12LRD.js.map +0 -1
  315. package/dist/media-C4WtzWxU.cjs +0 -2
  316. package/dist/theme-BV4qkzZU.js.map +0 -1
  317. package/dist/theme-DLorpkJc.cjs.map +0 -1
@@ -0,0 +1,41 @@
1
+ import { n as e } from "./theme-Dl4EpdnW.js";
2
+ import { t } from "./cn-YER3QsV1.js";
3
+ import { t as n } from "./useReveal-BJ59usiL.js";
4
+ import { n as r, t as i } from "./layoutProps-Cl6d1KmH.js";
5
+ import { jsx as a } from "react/jsx-runtime";
6
+ //#region src/components/layout/MStack/MStack.tsx
7
+ function o({ align: o = "stretch", hidden: s, reveal: c, spacing: l, padding: u, fsize: d, mt: f, mb: p, ml: m, mr: h, mx: g, my: _, pt: v, pb: y, pl: b, pr: x, px: S, py: C, fullWidth: w, className: T, style: E, children: D, ...O }) {
8
+ let k = r({ fsize: d }), A = n(c);
9
+ return /* @__PURE__ */ a("div", {
10
+ ref: c !== void 0 && c !== !1 ? A : void 0,
11
+ className: t("stack", o !== "stretch" && o, c !== void 0 && c !== !1 && "reveal", ...i({
12
+ spacing: l,
13
+ padding: u,
14
+ fsize: d,
15
+ mt: f,
16
+ mb: p,
17
+ ml: m,
18
+ mr: h,
19
+ mx: g,
20
+ my: _,
21
+ pt: v,
22
+ pb: y,
23
+ pl: b,
24
+ pr: x,
25
+ px: S,
26
+ py: C,
27
+ fullWidth: w
28
+ }), T),
29
+ style: {
30
+ ...k,
31
+ ...E
32
+ },
33
+ ...e(s),
34
+ ...O,
35
+ children: D
36
+ });
37
+ }
38
+ //#endregion
39
+ export { o as t };
40
+
41
+ //# sourceMappingURL=MStack-Dk0GNVBT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MStack-Dk0GNVBT.js","names":[],"sources":["../src/components/layout/MStack/MStack.tsx"],"sourcesContent":["import type {MStackProps} from './MStack.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {getLayoutUtilityClassNames, getLayoutUtilityStyles} from '../../../utils/layoutProps'\nimport {useReveal} from '../../../utils/useReveal'\nimport './MStack.css'\n\n// MStack children vertically with shared layout utility props.\nexport function MStack({\n align = 'stretch',\n hidden,\n reveal,\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}: MStackProps) {\n const utilityStyle = getLayoutUtilityStyles({fsize})\n const revealRef = useReveal<HTMLDivElement>(reveal)\n\n return (\n <div\n ref={reveal !== undefined && reveal !== false ? revealRef : undefined}\n className={cn(\n 'stack',\n align !== 'stretch' && align,\n reveal !== undefined && reveal !== false && 'reveal',\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"],"mappings":";;;;;;AAQA,SAAgB,EAAO,EACnB,WAAQ,WACR,WACA,WACA,YACA,YACA,UACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,cACA,cACA,UACA,aACA,GAAG,KACS;CACZ,IAAM,IAAe,EAAuB,EAAC,UAAM,CAAC,EAC9C,IAAY,EAA0B,EAAO;AAEnD,QACI,kBAAC,OAAD;EACI,KAAK,MAAW,KAAA,KAAa,MAAW,KAAQ,IAAY,KAAA;EAC5D,WAAW,EACP,SACA,MAAU,aAAa,GACvB,MAAW,KAAA,KAAa,MAAW,MAAS,UAC5C,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"}
@@ -0,0 +1,2 @@
1
+ const e=require(`./theme-CyIOdO9W.cjs`),t=require(`./cn-CU5TNITO.cjs`),n=require(`./MText-YIBipYLh.cjs`);let r=require(`react/jsx-runtime`);function i({as:i=`span`,size:a=`sm`,tone:o=`muted`,hidden:s,color:c,className:l,children:u,...d}){return(0,r.jsx)(i,{className:t.t(`subtext`,!c&&o,a,...n.n({color:c}),l),...e.n(s),...d,children:u})}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
2
+ //# sourceMappingURL=MSubText-D8VxE877.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MSubText-D8VxE877.cjs","names":[],"sources":["../src/components/typography/MSubText/MSubText.tsx"],"sourcesContent":["import type {MSubTextProps} from './MSubText.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {getAppearanceClassNames} from '../../../utils/appearanceProps'\nimport './MSubText.css'\n\n// Render small, muted secondary text for captions, hints and metadata.\nexport function MSubText({\n as = 'span',\n size = 'sm',\n tone = 'muted',\n hidden,\n color,\n className,\n children,\n ...rest\n}: MSubTextProps) {\n const Component = as\n return (\n <Component\n className={cn('subtext', !color && tone, size, ...getAppearanceClassNames({color}), className)}\n {...getHiddenProps(hidden)}\n {...rest}\n >\n {children}\n </Component>\n )\n}\n"],"mappings":"4IAOA,SAAgB,EAAS,CACrB,KAAK,OACL,OAAO,KACP,OAAO,QACP,SACA,QACA,YACA,WACA,GAAG,GACW,CAEd,OACI,EAAA,EAAA,KAFc,EAEd,CACI,UAAW,EAAA,EAAG,UAAW,CAAC,GAAS,EAAM,EAAM,GAAG,EAAA,EAAwB,CAAC,QAAM,CAAC,CAAE,EAAU,CAC9F,GAAI,EAAA,EAAe,EAAO,CAC1B,GAAI,EAEH,WACO,CAAA"}
@@ -0,0 +1,17 @@
1
+ import { n as e } from "./theme-Dl4EpdnW.js";
2
+ import { t } from "./cn-YER3QsV1.js";
3
+ import { n } from "./MText-CexZuJgV.js";
4
+ import { jsx as r } from "react/jsx-runtime";
5
+ //#region src/components/typography/MSubText/MSubText.tsx
6
+ function i({ as: i = "span", size: a = "sm", tone: o = "muted", hidden: s, color: c, className: l, children: u, ...d }) {
7
+ return /* @__PURE__ */ r(i, {
8
+ className: t("subtext", !c && o, a, ...n({ color: c }), l),
9
+ ...e(s),
10
+ ...d,
11
+ children: u
12
+ });
13
+ }
14
+ //#endregion
15
+ export { i as t };
16
+
17
+ //# sourceMappingURL=MSubText-DwNeDGYg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MSubText-DwNeDGYg.js","names":[],"sources":["../src/components/typography/MSubText/MSubText.tsx"],"sourcesContent":["import type {MSubTextProps} from './MSubText.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {getAppearanceClassNames} from '../../../utils/appearanceProps'\nimport './MSubText.css'\n\n// Render small, muted secondary text for captions, hints and metadata.\nexport function MSubText({\n as = 'span',\n size = 'sm',\n tone = 'muted',\n hidden,\n color,\n className,\n children,\n ...rest\n}: MSubTextProps) {\n const Component = as\n return (\n <Component\n className={cn('subtext', !color && tone, size, ...getAppearanceClassNames({color}), className)}\n {...getHiddenProps(hidden)}\n {...rest}\n >\n {children}\n </Component>\n )\n}\n"],"mappings":";;;;;AAOA,SAAgB,EAAS,EACrB,QAAK,QACL,UAAO,MACP,UAAO,SACP,WACA,UACA,cACA,aACA,GAAG,KACW;AAEd,QACI,kBAFc,GAEd;EACI,WAAW,EAAG,WAAW,CAAC,KAAS,GAAM,GAAM,GAAG,EAAwB,EAAC,UAAM,CAAC,EAAE,EAAU;EAC9F,GAAI,EAAe,EAAO;EAC1B,GAAI;EAEH;EACO,CAAA"}
@@ -0,0 +1,2 @@
1
+ const e=require(`./theme-CyIOdO9W.cjs`),t=require(`./cn-CU5TNITO.cjs`),n=require(`./useReveal-B_17PI89.cjs`),r=require(`./layoutProps-Ck4VtGm9.cjs`);let i=require(`react/jsx-runtime`);function a({tone:a=`default`,outlined:o=!0,padded:s=!0,hidden:c,reveal:l,spacing:u,padding:d,fsize:f,mt:p,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=r.n({fsize:f}),j=n.t(l);return(0,i.jsx)(`div`,{ref:l!==void 0&&l!==!1?j:void 0,className:t.t(`surface`,a,o&&`outlined`,s&&`padded`,l!==void 0&&l!==!1&&`reveal`,...r.t({spacing:u,padding:d,fsize:f,mt:p,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.n(c),...k,children:O})}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});
2
+ //# sourceMappingURL=MSurface-CFbX5C63.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MSurface-CFbX5C63.cjs","names":[],"sources":["../src/components/layout/MSurface/MSurface.tsx"],"sourcesContent":["import type {MSurfaceProps} from './MSurface.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {getLayoutUtilityClassNames, getLayoutUtilityStyles} from '../../../utils/layoutProps'\nimport {useReveal} from '../../../utils/useReveal'\nimport './MSurface.css'\n\n// Render a reusable surface primitive for cards, panels and preview blocks.\nexport function MSurface({\n tone = 'default',\n outlined = true,\n padded = true,\n hidden,\n reveal,\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}: MSurfaceProps) {\n const utilityStyle = getLayoutUtilityStyles({fsize})\n const revealRef = useReveal<HTMLDivElement>(reveal)\n\n return (\n <div\n ref={reveal !== undefined && reveal !== false ? revealRef : undefined}\n className={cn(\n 'surface',\n tone,\n outlined && 'outlined',\n padded && 'padded',\n reveal !== undefined && reveal !== false && 'reveal',\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"],"mappings":"wLAQA,SAAgB,EAAS,CACrB,OAAO,UACP,WAAW,GACX,SAAS,GACT,SACA,SACA,UACA,UACA,QACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,YACA,YACA,QACA,WACA,GAAG,GACW,CACd,IAAM,EAAe,EAAA,EAAuB,CAAC,QAAM,CAAC,CAC9C,EAAY,EAAA,EAA0B,EAAO,CAEnD,OACI,EAAA,EAAA,KAAC,MAAD,CACI,IAAK,IAAW,IAAA,IAAa,IAAW,GAAQ,EAAY,IAAA,GAC5D,UAAW,EAAA,EACP,UACA,EACA,GAAY,WACZ,GAAU,SACV,IAAW,IAAA,IAAa,IAAW,IAAS,SAC5C,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"}
@@ -0,0 +1,41 @@
1
+ import { n as e } from "./theme-Dl4EpdnW.js";
2
+ import { t } from "./cn-YER3QsV1.js";
3
+ import { t as n } from "./useReveal-BJ59usiL.js";
4
+ import { n as r, t as i } from "./layoutProps-Cl6d1KmH.js";
5
+ import { jsx as a } from "react/jsx-runtime";
6
+ //#region src/components/layout/MSurface/MSurface.tsx
7
+ function o({ tone: o = "default", outlined: s = !0, padded: c = !0, hidden: l, reveal: u, spacing: d, padding: f, fsize: p, mt: m, mb: h, ml: g, mr: _, mx: v, my: y, pt: b, pb: x, pl: S, pr: C, px: w, py: T, fullWidth: E, className: D, style: O, children: k, ...A }) {
8
+ let j = r({ fsize: p }), M = n(u);
9
+ return /* @__PURE__ */ a("div", {
10
+ ref: u !== void 0 && u !== !1 ? M : void 0,
11
+ className: t("surface", o, s && "outlined", c && "padded", u !== void 0 && u !== !1 && "reveal", ...i({
12
+ spacing: d,
13
+ padding: f,
14
+ fsize: p,
15
+ mt: m,
16
+ mb: h,
17
+ ml: g,
18
+ mr: _,
19
+ mx: v,
20
+ my: y,
21
+ pt: b,
22
+ pb: x,
23
+ pl: S,
24
+ pr: C,
25
+ px: w,
26
+ py: T,
27
+ fullWidth: E
28
+ }), D),
29
+ style: {
30
+ ...j,
31
+ ...O
32
+ },
33
+ ...e(l),
34
+ ...A,
35
+ children: k
36
+ });
37
+ }
38
+ //#endregion
39
+ export { o as t };
40
+
41
+ //# sourceMappingURL=MSurface-COlEjDyo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MSurface-COlEjDyo.js","names":[],"sources":["../src/components/layout/MSurface/MSurface.tsx"],"sourcesContent":["import type {MSurfaceProps} from './MSurface.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {getLayoutUtilityClassNames, getLayoutUtilityStyles} from '../../../utils/layoutProps'\nimport {useReveal} from '../../../utils/useReveal'\nimport './MSurface.css'\n\n// Render a reusable surface primitive for cards, panels and preview blocks.\nexport function MSurface({\n tone = 'default',\n outlined = true,\n padded = true,\n hidden,\n reveal,\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}: MSurfaceProps) {\n const utilityStyle = getLayoutUtilityStyles({fsize})\n const revealRef = useReveal<HTMLDivElement>(reveal)\n\n return (\n <div\n ref={reveal !== undefined && reveal !== false ? revealRef : undefined}\n className={cn(\n 'surface',\n tone,\n outlined && 'outlined',\n padded && 'padded',\n reveal !== undefined && reveal !== false && 'reveal',\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"],"mappings":";;;;;;AAQA,SAAgB,EAAS,EACrB,UAAO,WACP,cAAW,IACX,YAAS,IACT,WACA,WACA,YACA,YACA,UACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,cACA,cACA,UACA,aACA,GAAG,KACW;CACd,IAAM,IAAe,EAAuB,EAAC,UAAM,CAAC,EAC9C,IAAY,EAA0B,EAAO;AAEnD,QACI,kBAAC,OAAD;EACI,KAAK,MAAW,KAAA,KAAa,MAAW,KAAQ,IAAY,KAAA;EAC5D,WAAW,EACP,WACA,GACA,KAAY,YACZ,KAAU,UACV,MAAW,KAAA,KAAa,MAAW,MAAS,UAC5C,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"}
@@ -0,0 +1,2 @@
1
+ const e=require(`./theme-CyIOdO9W.cjs`),t=require(`./icons-Dv1T-cF4.cjs`),n=require(`./cn-CU5TNITO.cjs`),r=require(`./MButton-Rg85cgO1.cjs`);let i=require(`react/jsx-runtime`);function a({label:a,color:o=`primary`,variant:s=`solid`,size:c=`md`,hidden:l,rounded:u=!1,closable:d=!1,onClose:f,icon:p,className:m,...h}){return(0,i.jsxs)(`span`,{className:n.t(`m-tag`,`color-${o}`,s,c,u&&`rounded`,m),...e.n(l),...h,children:[p&&(0,i.jsx)(`span`,{className:`m-tag icon`,children:p}),(0,i.jsx)(`span`,{className:`m-tag label`,children:a}),d&&(0,i.jsx)(r.t,{variant:`link`,color:`neutral`,iconOnly:!0,size:`xs`,className:`m-tag close`,onClick:e=>{e.stopPropagation(),f?.()},"aria-label":`Remove`,children:(0,i.jsx)(t.Ii,{})})]})}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});
2
+ //# sourceMappingURL=MTag-DZjcHYn0.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MTag-DZjcHYn0.cjs","names":[],"sources":["../src/components/feedback/MTag/MTag.tsx"],"sourcesContent":["import type {MTagProps} from './MTag.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {MButton} from '../../controls'\nimport {MCloseIcon} from '../../../icons'\nimport './MTag.css'\n\nexport function MTag({\n label,\n color = 'primary',\n variant = 'solid',\n size = 'md',\n hidden,\n rounded = false,\n closable = false,\n onClose,\n icon,\n className,\n ...rest\n}: MTagProps) {\n return (\n <span\n className={cn('m-tag', `color-${color}`, variant, size, rounded && 'rounded', className)}\n {...getHiddenProps(hidden)}\n {...rest}\n >\n {icon && <span className=\"m-tag icon\">{icon}</span>}\n <span className=\"m-tag label\">{label}</span>\n {closable && (\n <MButton\n variant=\"link\"\n color=\"neutral\"\n iconOnly\n size=\"xs\"\n className=\"m-tag close\"\n onClick={(e) => {\n e.stopPropagation()\n onClose?.()\n }}\n aria-label=\"Remove\"\n >\n <MCloseIcon />\n </MButton>\n )}\n </span>\n )\n}\n"],"mappings":"gLAOA,SAAgB,EAAK,CACjB,QACA,QAAQ,UACR,UAAU,QACV,OAAO,KACP,SACA,UAAU,GACV,WAAW,GACX,UACA,OACA,YACA,GAAG,GACO,CACV,OACI,EAAA,EAAA,MAAC,OAAD,CACI,UAAW,EAAA,EAAG,QAAS,SAAS,IAAS,EAAS,EAAM,GAAW,UAAW,EAAU,CACxF,GAAI,EAAA,EAAe,EAAO,CAC1B,GAAI,WAHR,CAKK,IAAQ,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,sBAAc,EAAY,CAAA,EACnD,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,uBAAe,EAAa,CAAA,CAC3C,IACG,EAAA,EAAA,KAAC,EAAA,EAAD,CACI,QAAQ,OACR,MAAM,UACN,SAAA,GACA,KAAK,KACL,UAAU,cACV,QAAU,GAAM,CACZ,EAAE,iBAAiB,CACnB,KAAW,EAEf,aAAW,mBAEX,EAAA,EAAA,KAAC,EAAA,GAAD,EAAc,CAAA,CACR,CAAA,CAEX"}
@@ -0,0 +1,39 @@
1
+ import { n as e } from "./theme-Dl4EpdnW.js";
2
+ import { Ii as t } from "./icons-D5DK-J2C.js";
3
+ import { t as n } from "./cn-YER3QsV1.js";
4
+ import { t as r } from "./MButton-pSNx-6UK.js";
5
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
6
+ //#region src/components/feedback/MTag/MTag.tsx
7
+ function o({ label: o, color: s = "primary", variant: c = "solid", size: l = "md", hidden: u, rounded: d = !1, closable: f = !1, onClose: p, icon: m, className: h, ...g }) {
8
+ return /* @__PURE__ */ a("span", {
9
+ className: n("m-tag", `color-${s}`, c, l, d && "rounded", h),
10
+ ...e(u),
11
+ ...g,
12
+ children: [
13
+ m && /* @__PURE__ */ i("span", {
14
+ className: "m-tag icon",
15
+ children: m
16
+ }),
17
+ /* @__PURE__ */ i("span", {
18
+ className: "m-tag label",
19
+ children: o
20
+ }),
21
+ f && /* @__PURE__ */ i(r, {
22
+ variant: "link",
23
+ color: "neutral",
24
+ iconOnly: !0,
25
+ size: "xs",
26
+ className: "m-tag close",
27
+ onClick: (e) => {
28
+ e.stopPropagation(), p?.();
29
+ },
30
+ "aria-label": "Remove",
31
+ children: /* @__PURE__ */ i(t, {})
32
+ })
33
+ ]
34
+ });
35
+ }
36
+ //#endregion
37
+ export { o as t };
38
+
39
+ //# sourceMappingURL=MTag-wsCYRndK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MTag-wsCYRndK.js","names":[],"sources":["../src/components/feedback/MTag/MTag.tsx"],"sourcesContent":["import type {MTagProps} from './MTag.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {MButton} from '../../controls'\nimport {MCloseIcon} from '../../../icons'\nimport './MTag.css'\n\nexport function MTag({\n label,\n color = 'primary',\n variant = 'solid',\n size = 'md',\n hidden,\n rounded = false,\n closable = false,\n onClose,\n icon,\n className,\n ...rest\n}: MTagProps) {\n return (\n <span\n className={cn('m-tag', `color-${color}`, variant, size, rounded && 'rounded', className)}\n {...getHiddenProps(hidden)}\n {...rest}\n >\n {icon && <span className=\"m-tag icon\">{icon}</span>}\n <span className=\"m-tag label\">{label}</span>\n {closable && (\n <MButton\n variant=\"link\"\n color=\"neutral\"\n iconOnly\n size=\"xs\"\n className=\"m-tag close\"\n onClick={(e) => {\n e.stopPropagation()\n onClose?.()\n }}\n aria-label=\"Remove\"\n >\n <MCloseIcon />\n </MButton>\n )}\n </span>\n )\n}\n"],"mappings":";;;;;;AAOA,SAAgB,EAAK,EACjB,UACA,WAAQ,WACR,aAAU,SACV,UAAO,MACP,WACA,aAAU,IACV,cAAW,IACX,YACA,SACA,cACA,GAAG,KACO;AACV,QACI,kBAAC,QAAD;EACI,WAAW,EAAG,SAAS,SAAS,KAAS,GAAS,GAAM,KAAW,WAAW,EAAU;EACxF,GAAI,EAAe,EAAO;EAC1B,GAAI;YAHR;GAKK,KAAQ,kBAAC,QAAD;IAAM,WAAU;cAAc;IAAY,CAAA;GACnD,kBAAC,QAAD;IAAM,WAAU;cAAe;IAAa,CAAA;GAC3C,KACG,kBAAC,GAAD;IACI,SAAQ;IACR,OAAM;IACN,UAAA;IACA,MAAK;IACL,WAAU;IACV,UAAU,MAAM;AAEZ,KADA,EAAE,iBAAiB,EACnB,KAAW;;IAEf,cAAW;cAEX,kBAAC,GAAD,EAAc,CAAA;IACR,CAAA;GAEX"}
@@ -0,0 +1,45 @@
1
+ import { n as e } from "./theme-Dl4EpdnW.js";
2
+ import { t } from "./cn-YER3QsV1.js";
3
+ import { n, t as r } from "./layoutProps-Cl6d1KmH.js";
4
+ import { jsx as i } from "react/jsx-runtime";
5
+ //#region src/utils/appearanceProps.ts
6
+ function a({ color: e }) {
7
+ return [e && `fcolor-${e}`];
8
+ }
9
+ //#endregion
10
+ //#region src/components/typography/MText/MText.tsx
11
+ function o({ as: o = "p", tone: s = "default", size: c, align: l = "left", hidden: u, color: d, weight: f = "normal", truncate: p, spacing: m, padding: h, fsize: g, mt: _, mb: v, ml: y, mr: b, mx: x, my: S, pt: C, pb: w, pl: T, pr: E, px: D, py: O, fullWidth: k, className: A, style: j, children: M, ...N }) {
12
+ let P = o, F = n({ fsize: g }), I = typeof p == "number" ? p : void 0;
13
+ return /* @__PURE__ */ i(P, {
14
+ className: t("text", !d && s, c, l, f, p === !0 && "truncate", I != null && "line-clamp", ...a({ color: d }), ...r({
15
+ spacing: m,
16
+ padding: h,
17
+ fsize: g,
18
+ mt: _,
19
+ mb: v,
20
+ ml: y,
21
+ mr: b,
22
+ mx: x,
23
+ my: S,
24
+ pt: C,
25
+ pb: w,
26
+ pl: T,
27
+ pr: E,
28
+ px: D,
29
+ py: O,
30
+ fullWidth: k
31
+ }), A),
32
+ style: {
33
+ ...F,
34
+ ...I ? { "--line-clamp": I } : void 0,
35
+ ...j
36
+ },
37
+ ...e(u),
38
+ ...N,
39
+ children: M
40
+ });
41
+ }
42
+ //#endregion
43
+ export { a as n, o as t };
44
+
45
+ //# sourceMappingURL=MText-CexZuJgV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MText-CexZuJgV.js","names":[],"sources":["../src/utils/appearanceProps.ts","../src/components/typography/MText/MText.tsx"],"sourcesContent":["import type {MColor} from '../theme'\n\nexport interface AppearanceProps {\n color?: MColor\n}\n\n// Translate semantic appearance props into shared utility classes.\nexport function getAppearanceClassNames({color}: AppearanceProps): Array<string | false | undefined> {\n return [color && `fcolor-${color}`]\n}\n","import type {MTextProps} from './MText.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {getAppearanceClassNames} from '../../../utils/appearanceProps'\nimport {getLayoutUtilityClassNames, getLayoutUtilityStyles} from '../../../utils/layoutProps'\nimport './MText.css'\n\n// Render body copy with shared tone, size and weight controls.\nexport function MText({\n as = 'p',\n tone = 'default',\n size,\n align = 'left',\n hidden,\n color,\n weight = 'normal',\n truncate,\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}: MTextProps) {\n const Component = as\n const utilityStyle = getLayoutUtilityStyles({fsize})\n const lines = typeof truncate === 'number' ? truncate : undefined\n\n return (\n <Component\n className={cn(\n 'text',\n !color && tone,\n size,\n align,\n weight,\n truncate === true && 'truncate',\n lines != null && 'line-clamp',\n ...getAppearanceClassNames({color}),\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={{\n ...utilityStyle,\n ...(lines ? ({'--line-clamp': lines} as React.CSSProperties) : undefined),\n ...style,\n }}\n {...getHiddenProps(hidden)}\n {...rest}\n >\n {children}\n </Component>\n )\n}\n"],"mappings":";;;;;AAOA,SAAgB,EAAwB,EAAC,YAA4D;AACjG,QAAO,CAAC,KAAS,UAAU,IAAQ;;;;ACAvC,SAAgB,EAAM,EAClB,QAAK,KACL,UAAO,WACP,SACA,WAAQ,QACR,WACA,UACA,YAAS,UACT,aACA,YACA,YACA,UACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,cACA,cACA,UACA,aACA,GAAG,KACQ;CACX,IAAM,IAAY,GACZ,IAAe,EAAuB,EAAC,UAAM,CAAC,EAC9C,IAAQ,OAAO,KAAa,WAAW,IAAW,KAAA;AAExD,QACI,kBAAC,GAAD;EACI,WAAW,EACP,QACA,CAAC,KAAS,GACV,GACA,GACA,GACA,MAAa,MAAQ,YACrB,KAAS,QAAQ,cACjB,GAAG,EAAwB,EAAC,UAAM,CAAC,EACnC,GAAG,EAA2B;GAC1B;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACH,CAAC,EACF,EACH;EACD,OAAO;GACH,GAAG;GACH,GAAI,IAAS,EAAC,gBAAgB,GAAM,GAA2B,KAAA;GAC/D,GAAG;GACN;EACD,GAAI,EAAe,EAAO;EAC1B,GAAI;EAEH;EACO,CAAA"}
@@ -0,0 +1,2 @@
1
+ const e=require(`./theme-CyIOdO9W.cjs`),t=require(`./cn-CU5TNITO.cjs`),n=require(`./layoutProps-Ck4VtGm9.cjs`);let r=require(`react/jsx-runtime`);function i({color:e}){return[e&&`fcolor-${e}`]}function a({as:a=`p`,tone:o=`default`,size:s,align:c=`left`,hidden:l,color:u,weight:d=`normal`,truncate:f,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:k,style:A,children:j,...M}){let N=a,P=n.n({fsize:h}),F=typeof f==`number`?f:void 0;return(0,r.jsx)(N,{className:t.t(`text`,!u&&o,s,c,d,f===!0&&`truncate`,F!=null&&`line-clamp`,...i({color:u}),...n.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}),k),style:{...P,...F?{"--line-clamp":F}:void 0,...A},...e.n(l),...M,children:j})}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});
2
+ //# sourceMappingURL=MText-YIBipYLh.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MText-YIBipYLh.cjs","names":[],"sources":["../src/utils/appearanceProps.ts","../src/components/typography/MText/MText.tsx"],"sourcesContent":["import type {MColor} from '../theme'\n\nexport interface AppearanceProps {\n color?: MColor\n}\n\n// Translate semantic appearance props into shared utility classes.\nexport function getAppearanceClassNames({color}: AppearanceProps): Array<string | false | undefined> {\n return [color && `fcolor-${color}`]\n}\n","import type {MTextProps} from './MText.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {getAppearanceClassNames} from '../../../utils/appearanceProps'\nimport {getLayoutUtilityClassNames, getLayoutUtilityStyles} from '../../../utils/layoutProps'\nimport './MText.css'\n\n// Render body copy with shared tone, size and weight controls.\nexport function MText({\n as = 'p',\n tone = 'default',\n size,\n align = 'left',\n hidden,\n color,\n weight = 'normal',\n truncate,\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}: MTextProps) {\n const Component = as\n const utilityStyle = getLayoutUtilityStyles({fsize})\n const lines = typeof truncate === 'number' ? truncate : undefined\n\n return (\n <Component\n className={cn(\n 'text',\n !color && tone,\n size,\n align,\n weight,\n truncate === true && 'truncate',\n lines != null && 'line-clamp',\n ...getAppearanceClassNames({color}),\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={{\n ...utilityStyle,\n ...(lines ? ({'--line-clamp': lines} as React.CSSProperties) : undefined),\n ...style,\n }}\n {...getHiddenProps(hidden)}\n {...rest}\n >\n {children}\n </Component>\n )\n}\n"],"mappings":"kJAOA,SAAgB,EAAwB,CAAC,SAA4D,CACjG,MAAO,CAAC,GAAS,UAAU,IAAQ,CCAvC,SAAgB,EAAM,CAClB,KAAK,IACL,OAAO,UACP,OACA,QAAQ,OACR,SACA,QACA,SAAS,SACT,WACA,UACA,UACA,QACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,YACA,YACA,QACA,WACA,GAAG,GACQ,CACX,IAAM,EAAY,EACZ,EAAe,EAAA,EAAuB,CAAC,QAAM,CAAC,CAC9C,EAAQ,OAAO,GAAa,SAAW,EAAW,IAAA,GAExD,OACI,EAAA,EAAA,KAAC,EAAD,CACI,UAAW,EAAA,EACP,OACA,CAAC,GAAS,EACV,EACA,EACA,EACA,IAAa,IAAQ,WACrB,GAAS,MAAQ,aACjB,GAAG,EAAwB,CAAC,QAAM,CAAC,CACnC,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,CACH,GAAG,EACH,GAAI,EAAS,CAAC,eAAgB,EAAM,CAA2B,IAAA,GAC/D,GAAG,EACN,CACD,GAAI,EAAA,EAAe,EAAO,CAC1B,GAAI,EAEH,WACO,CAAA"}
@@ -1,2 +1,2 @@
1
- const e=require(`./cn-CU5TNITO.cjs`),t=require(`./relativeTime-DgYBUaVm.cjs`),n=require(`./locale-LCAQDJCd.cjs`);let r=require(`react`),i=require(`react/jsx-runtime`);function a(e,n,r){return e===`none`?null:e===`minute`?60*1e3:e===`hour`?3600*1e3:e===`day`?1440*60*1e3:t.r(n,r)}function o({value:o,locale:s,maxRelative:c,fallbackFormat:l=`date`,titleAbsolute:u=!0,update:d=`auto`,className:f,...p}){let m=n.t(s),[h,g]=(0,r.useState)(()=>Date.now()),_=(0,r.useMemo)(()=>a(d,o,h),[h,d,o]);(0,r.useEffect)(()=>{if(!_)return;let e=window.setInterval(()=>g(Date.now()),_);return()=>window.clearInterval(e)},[_]);let v=(0,r.useMemo)(()=>t.o(o),[o]),y=(0,r.useMemo)(()=>t.a(c),[c]),b=(0,r.useMemo)(()=>t.t(o,m,l),[o,m,l]),x=(0,r.useMemo)(()=>{if(!v)return String(o);let e=Math.abs(v.getTime()-h);return y!=null&&e>y?b??String(o):t.n(v,{locale:m,now:h})??b??String(o)},[b,v,m,y,h,o]);return(0,i.jsx)(`time`,{className:e.t(`time ago`,f),dateTime:v?.toISOString(),title:u?b??void 0:void 0,...p,children:x})}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return o}});
2
- //# sourceMappingURL=MTimeAgo-LWntwbKg.cjs.map
1
+ const e=require(`./cn-CU5TNITO.cjs`),t=require(`./relativeTime-DgYBUaVm.cjs`),n=require(`./locale-BltrWJtd.cjs`);let r=require(`react`),i=require(`react/jsx-runtime`);function a(e,n,r){return e===`none`?null:e===`minute`?60*1e3:e===`hour`?3600*1e3:e===`day`?1440*60*1e3:t.r(n,r)}function o({value:o,locale:s,maxRelative:c,fallbackFormat:l=`date`,titleAbsolute:u=!0,update:d=`auto`,className:f,...p}){let m=n.t(s),[h,g]=(0,r.useState)(()=>Date.now()),_=(0,r.useMemo)(()=>a(d,o,h),[h,d,o]);(0,r.useEffect)(()=>{if(!_)return;let e=window.setInterval(()=>g(Date.now()),_);return()=>window.clearInterval(e)},[_]);let v=(0,r.useMemo)(()=>t.o(o),[o]),y=(0,r.useMemo)(()=>t.a(c),[c]),b=(0,r.useMemo)(()=>t.t(o,m,l),[o,m,l]),x=(0,r.useMemo)(()=>{if(!v)return String(o);let e=Math.abs(v.getTime()-h);return y!=null&&e>y?b??String(o):t.n(v,{locale:m,now:h})??b??String(o)},[b,v,m,y,h,o]);return(0,i.jsx)(`time`,{className:e.t(`time ago`,f),dateTime:v?.toISOString(),title:u?b??void 0:void 0,...p,children:x})}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return o}});
2
+ //# sourceMappingURL=MTimeAgo-91_ndjxU.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"MTimeAgo-LWntwbKg.cjs","names":[],"sources":["../src/components/display/MTimeAgo/MTimeAgo.tsx"],"sourcesContent":["import {useEffect, useMemo, useState} from 'react'\nimport type {MTimeAgoProps, MTimeAgoUpdate} from './MTimeAgo.types'\nimport {cn} from '../../../utils/cn'\nimport {useDocumentLocale} from '../../../utils/locale'\nimport {\n formatAbsoluteTime,\n formatRelativeTime,\n getAutoUpdateInterval,\n parseRelativeThreshold,\n toDate,\n} from '../../../utils/relativeTime'\nimport './MTimeAgo.css'\n\nfunction getUpdateInterval(update: MTimeAgoUpdate, value: Date | string | number, now: number): number | null {\n if (update === 'none') return null\n if (update === 'minute') return 60 * 1000\n if (update === 'hour') return 60 * 60 * 1000\n if (update === 'day') return 24 * 60 * 60 * 1000\n return getAutoUpdateInterval(value, now)\n}\n\nexport function MTimeAgo({\n value,\n locale: localeOverride,\n maxRelative,\n fallbackFormat = 'date',\n titleAbsolute = true,\n update = 'auto',\n className,\n ...rest\n}: MTimeAgoProps) {\n const locale = useDocumentLocale(localeOverride)\n const [now, setNow] = useState(() => Date.now())\n const interval = useMemo(() => getUpdateInterval(update, value, now), [now, update, value])\n\n useEffect(() => {\n if (!interval) return\n\n const id = window.setInterval(() => setNow(Date.now()), interval)\n return () => window.clearInterval(id)\n }, [interval])\n\n const date = useMemo(() => toDate(value), [value])\n const maxRelativeMs = useMemo(() => parseRelativeThreshold(maxRelative), [maxRelative])\n\n const absolute = useMemo(() => formatAbsoluteTime(value, locale, fallbackFormat), [value, locale, fallbackFormat])\n\n const content = useMemo(() => {\n if (!date) return String(value)\n\n const diff = Math.abs(date.getTime() - now)\n if (maxRelativeMs != null && diff > maxRelativeMs) {\n return absolute ?? String(value)\n }\n\n return formatRelativeTime(date, {locale, now}) ?? absolute ?? String(value)\n }, [absolute, date, locale, maxRelativeMs, now, value])\n\n return (\n <time\n className={cn('time ago', className)}\n dateTime={date?.toISOString()}\n title={titleAbsolute ? (absolute ?? undefined) : undefined}\n {...rest}\n >\n {content}\n </time>\n )\n}\n"],"mappings":"uKAaA,SAAS,EAAkB,EAAwB,EAA+B,EAA4B,CAK1G,OAJI,IAAW,OAAe,KAC1B,IAAW,SAAiB,GAAK,IACjC,IAAW,OAAe,KAAU,IACpC,IAAW,MAAc,KAAU,GAAK,IACrC,EAAA,EAAsB,EAAO,EAAI,CAG5C,SAAgB,EAAS,CACrB,QACA,OAAQ,EACR,cACA,iBAAiB,OACjB,gBAAgB,GAChB,SAAS,OACT,YACA,GAAG,GACW,CACd,IAAM,EAAS,EAAA,EAAkB,EAAe,CAC1C,CAAC,EAAK,IAAA,EAAA,EAAA,cAAyB,KAAK,KAAK,CAAC,CAC1C,GAAA,EAAA,EAAA,aAAyB,EAAkB,EAAQ,EAAO,EAAI,CAAE,CAAC,EAAK,EAAQ,EAAM,CAAC,EAE3F,EAAA,EAAA,eAAgB,CACZ,GAAI,CAAC,EAAU,OAEf,IAAM,EAAK,OAAO,gBAAkB,EAAO,KAAK,KAAK,CAAC,CAAE,EAAS,CACjE,UAAa,OAAO,cAAc,EAAG,EACtC,CAAC,EAAS,CAAC,CAEd,IAAM,GAAA,EAAA,EAAA,aAAqB,EAAA,EAAO,EAAM,CAAE,CAAC,EAAM,CAAC,CAC5C,GAAA,EAAA,EAAA,aAA8B,EAAA,EAAuB,EAAY,CAAE,CAAC,EAAY,CAAC,CAEjF,GAAA,EAAA,EAAA,aAAyB,EAAA,EAAmB,EAAO,EAAQ,EAAe,CAAE,CAAC,EAAO,EAAQ,EAAe,CAAC,CAE5G,GAAA,EAAA,EAAA,aAAwB,CAC1B,GAAI,CAAC,EAAM,OAAO,OAAO,EAAM,CAE/B,IAAM,EAAO,KAAK,IAAI,EAAK,SAAS,CAAG,EAAI,CAK3C,OAJI,GAAiB,MAAQ,EAAO,EACzB,GAAY,OAAO,EAAM,CAG7B,EAAA,EAAmB,EAAM,CAAC,SAAQ,MAAI,CAAC,EAAI,GAAY,OAAO,EAAM,EAC5E,CAAC,EAAU,EAAM,EAAQ,EAAe,EAAK,EAAM,CAAC,CAEvD,OACI,EAAA,EAAA,KAAC,OAAD,CACI,UAAW,EAAA,EAAG,WAAY,EAAU,CACpC,SAAU,GAAM,aAAa,CAC7B,MAAO,EAAiB,GAAY,IAAA,GAAa,IAAA,GACjD,GAAI,WAEH,EACE,CAAA"}
1
+ {"version":3,"file":"MTimeAgo-91_ndjxU.cjs","names":[],"sources":["../src/components/display/MTimeAgo/MTimeAgo.tsx"],"sourcesContent":["import {useEffect, useMemo, useState} from 'react'\nimport type {MTimeAgoProps, MTimeAgoUpdate} from './MTimeAgo.types'\nimport {cn} from '../../../utils/cn'\nimport {useDocumentLocale} from '../../../utils/locale'\nimport {\n formatAbsoluteTime,\n formatRelativeTime,\n getAutoUpdateInterval,\n parseRelativeThreshold,\n toDate,\n} from '../../../utils/relativeTime'\nimport './MTimeAgo.css'\n\nfunction getUpdateInterval(update: MTimeAgoUpdate, value: Date | string | number, now: number): number | null {\n if (update === 'none') return null\n if (update === 'minute') return 60 * 1000\n if (update === 'hour') return 60 * 60 * 1000\n if (update === 'day') return 24 * 60 * 60 * 1000\n return getAutoUpdateInterval(value, now)\n}\n\nexport function MTimeAgo({\n value,\n locale: localeOverride,\n maxRelative,\n fallbackFormat = 'date',\n titleAbsolute = true,\n update = 'auto',\n className,\n ...rest\n}: MTimeAgoProps) {\n const locale = useDocumentLocale(localeOverride)\n const [now, setNow] = useState(() => Date.now())\n const interval = useMemo(() => getUpdateInterval(update, value, now), [now, update, value])\n\n useEffect(() => {\n if (!interval) return\n\n const id = window.setInterval(() => setNow(Date.now()), interval)\n return () => window.clearInterval(id)\n }, [interval])\n\n const date = useMemo(() => toDate(value), [value])\n const maxRelativeMs = useMemo(() => parseRelativeThreshold(maxRelative), [maxRelative])\n\n const absolute = useMemo(() => formatAbsoluteTime(value, locale, fallbackFormat), [value, locale, fallbackFormat])\n\n const content = useMemo(() => {\n if (!date) return String(value)\n\n const diff = Math.abs(date.getTime() - now)\n if (maxRelativeMs != null && diff > maxRelativeMs) {\n return absolute ?? String(value)\n }\n\n return formatRelativeTime(date, {locale, now}) ?? absolute ?? String(value)\n }, [absolute, date, locale, maxRelativeMs, now, value])\n\n return (\n <time\n className={cn('time ago', className)}\n dateTime={date?.toISOString()}\n title={titleAbsolute ? (absolute ?? undefined) : undefined}\n {...rest}\n >\n {content}\n </time>\n )\n}\n"],"mappings":"uKAaA,SAAS,EAAkB,EAAwB,EAA+B,EAA4B,CAK1G,OAJI,IAAW,OAAe,KAC1B,IAAW,SAAiB,GAAK,IACjC,IAAW,OAAe,KAAU,IACpC,IAAW,MAAc,KAAU,GAAK,IACrC,EAAA,EAAsB,EAAO,EAAI,CAG5C,SAAgB,EAAS,CACrB,QACA,OAAQ,EACR,cACA,iBAAiB,OACjB,gBAAgB,GAChB,SAAS,OACT,YACA,GAAG,GACW,CACd,IAAM,EAAS,EAAA,EAAkB,EAAe,CAC1C,CAAC,EAAK,IAAA,EAAA,EAAA,cAAyB,KAAK,KAAK,CAAC,CAC1C,GAAA,EAAA,EAAA,aAAyB,EAAkB,EAAQ,EAAO,EAAI,CAAE,CAAC,EAAK,EAAQ,EAAM,CAAC,EAE3F,EAAA,EAAA,eAAgB,CACZ,GAAI,CAAC,EAAU,OAEf,IAAM,EAAK,OAAO,gBAAkB,EAAO,KAAK,KAAK,CAAC,CAAE,EAAS,CACjE,UAAa,OAAO,cAAc,EAAG,EACtC,CAAC,EAAS,CAAC,CAEd,IAAM,GAAA,EAAA,EAAA,aAAqB,EAAA,EAAO,EAAM,CAAE,CAAC,EAAM,CAAC,CAC5C,GAAA,EAAA,EAAA,aAA8B,EAAA,EAAuB,EAAY,CAAE,CAAC,EAAY,CAAC,CAEjF,GAAA,EAAA,EAAA,aAAyB,EAAA,EAAmB,EAAO,EAAQ,EAAe,CAAE,CAAC,EAAO,EAAQ,EAAe,CAAC,CAE5G,GAAA,EAAA,EAAA,aAAwB,CAC1B,GAAI,CAAC,EAAM,OAAO,OAAO,EAAM,CAE/B,IAAM,EAAO,KAAK,IAAI,EAAK,SAAS,CAAG,EAAI,CAK3C,OAJI,GAAiB,MAAQ,EAAO,EACzB,GAAY,OAAO,EAAM,CAG7B,EAAA,EAAmB,EAAM,CAAC,SAAQ,MAAI,CAAC,EAAI,GAAY,OAAO,EAAM,EAC5E,CAAC,EAAU,EAAM,EAAQ,EAAe,EAAK,EAAM,CAAC,CAEvD,OACI,EAAA,EAAA,KAAC,OAAD,CACI,UAAW,EAAA,EAAG,WAAY,EAAU,CACpC,SAAU,GAAM,aAAa,CAC7B,MAAO,EAAiB,GAAY,IAAA,GAAa,IAAA,GACjD,GAAI,WAEH,EACE,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { t as e } from "./cn-YER3QsV1.js";
2
2
  import { a as t, n, o as r, r as i, t as a } from "./relativeTime-Cr-NVzij.js";
3
- import { t as o } from "./locale-uMMj57KX.js";
3
+ import { t as o } from "./locale-BNyzqXAU.js";
4
4
  import { useEffect as s, useMemo as c, useState as l } from "react";
5
5
  import { jsx as u } from "react/jsx-runtime";
6
6
  //#region src/components/display/MTimeAgo/MTimeAgo.tsx
@@ -48,4 +48,4 @@ function f({ value: i, locale: f, maxRelative: p, fallbackFormat: m = "date", ti
48
48
  //#endregion
49
49
  export { f as t };
50
50
 
51
- //# sourceMappingURL=MTimeAgo-irsvTFAY.js.map
51
+ //# sourceMappingURL=MTimeAgo-xxl53mct.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MTimeAgo-irsvTFAY.js","names":[],"sources":["../src/components/display/MTimeAgo/MTimeAgo.tsx"],"sourcesContent":["import {useEffect, useMemo, useState} from 'react'\nimport type {MTimeAgoProps, MTimeAgoUpdate} from './MTimeAgo.types'\nimport {cn} from '../../../utils/cn'\nimport {useDocumentLocale} from '../../../utils/locale'\nimport {\n formatAbsoluteTime,\n formatRelativeTime,\n getAutoUpdateInterval,\n parseRelativeThreshold,\n toDate,\n} from '../../../utils/relativeTime'\nimport './MTimeAgo.css'\n\nfunction getUpdateInterval(update: MTimeAgoUpdate, value: Date | string | number, now: number): number | null {\n if (update === 'none') return null\n if (update === 'minute') return 60 * 1000\n if (update === 'hour') return 60 * 60 * 1000\n if (update === 'day') return 24 * 60 * 60 * 1000\n return getAutoUpdateInterval(value, now)\n}\n\nexport function MTimeAgo({\n value,\n locale: localeOverride,\n maxRelative,\n fallbackFormat = 'date',\n titleAbsolute = true,\n update = 'auto',\n className,\n ...rest\n}: MTimeAgoProps) {\n const locale = useDocumentLocale(localeOverride)\n const [now, setNow] = useState(() => Date.now())\n const interval = useMemo(() => getUpdateInterval(update, value, now), [now, update, value])\n\n useEffect(() => {\n if (!interval) return\n\n const id = window.setInterval(() => setNow(Date.now()), interval)\n return () => window.clearInterval(id)\n }, [interval])\n\n const date = useMemo(() => toDate(value), [value])\n const maxRelativeMs = useMemo(() => parseRelativeThreshold(maxRelative), [maxRelative])\n\n const absolute = useMemo(() => formatAbsoluteTime(value, locale, fallbackFormat), [value, locale, fallbackFormat])\n\n const content = useMemo(() => {\n if (!date) return String(value)\n\n const diff = Math.abs(date.getTime() - now)\n if (maxRelativeMs != null && diff > maxRelativeMs) {\n return absolute ?? String(value)\n }\n\n return formatRelativeTime(date, {locale, now}) ?? absolute ?? String(value)\n }, [absolute, date, locale, maxRelativeMs, now, value])\n\n return (\n <time\n className={cn('time ago', className)}\n dateTime={date?.toISOString()}\n title={titleAbsolute ? (absolute ?? undefined) : undefined}\n {...rest}\n >\n {content}\n </time>\n )\n}\n"],"mappings":";;;;;;AAaA,SAAS,EAAkB,GAAwB,GAA+B,GAA4B;AAK1G,QAJI,MAAW,SAAe,OAC1B,MAAW,WAAiB,KAAK,MACjC,MAAW,SAAe,OAAU,MACpC,MAAW,QAAc,OAAU,KAAK,MACrC,EAAsB,GAAO,EAAI;;AAG5C,SAAgB,EAAS,EACrB,UACA,QAAQ,GACR,gBACA,oBAAiB,QACjB,mBAAgB,IAChB,YAAS,QACT,cACA,GAAG,KACW;CACd,IAAM,IAAS,EAAkB,EAAe,EAC1C,CAAC,GAAK,KAAU,QAAe,KAAK,KAAK,CAAC,EAC1C,IAAW,QAAc,EAAkB,GAAQ,GAAO,EAAI,EAAE;EAAC;EAAK;EAAQ;EAAM,CAAC;AAE3F,SAAgB;AACZ,MAAI,CAAC,EAAU;EAEf,IAAM,IAAK,OAAO,kBAAkB,EAAO,KAAK,KAAK,CAAC,EAAE,EAAS;AACjE,eAAa,OAAO,cAAc,EAAG;IACtC,CAAC,EAAS,CAAC;CAEd,IAAM,IAAO,QAAc,EAAO,EAAM,EAAE,CAAC,EAAM,CAAC,EAC5C,IAAgB,QAAc,EAAuB,EAAY,EAAE,CAAC,EAAY,CAAC,EAEjF,IAAW,QAAc,EAAmB,GAAO,GAAQ,EAAe,EAAE;EAAC;EAAO;EAAQ;EAAe,CAAC,EAE5G,IAAU,QAAc;AAC1B,MAAI,CAAC,EAAM,QAAO,OAAO,EAAM;EAE/B,IAAM,IAAO,KAAK,IAAI,EAAK,SAAS,GAAG,EAAI;AAK3C,SAJI,KAAiB,QAAQ,IAAO,IACzB,KAAY,OAAO,EAAM,GAG7B,EAAmB,GAAM;GAAC;GAAQ;GAAI,CAAC,IAAI,KAAY,OAAO,EAAM;IAC5E;EAAC;EAAU;EAAM;EAAQ;EAAe;EAAK;EAAM,CAAC;AAEvD,QACI,kBAAC,QAAD;EACI,WAAW,EAAG,YAAY,EAAU;EACpC,UAAU,GAAM,aAAa;EAC7B,OAAO,IAAiB,KAAY,KAAA,IAAa,KAAA;EACjD,GAAI;YAEH;EACE,CAAA"}
1
+ {"version":3,"file":"MTimeAgo-xxl53mct.js","names":[],"sources":["../src/components/display/MTimeAgo/MTimeAgo.tsx"],"sourcesContent":["import {useEffect, useMemo, useState} from 'react'\nimport type {MTimeAgoProps, MTimeAgoUpdate} from './MTimeAgo.types'\nimport {cn} from '../../../utils/cn'\nimport {useDocumentLocale} from '../../../utils/locale'\nimport {\n formatAbsoluteTime,\n formatRelativeTime,\n getAutoUpdateInterval,\n parseRelativeThreshold,\n toDate,\n} from '../../../utils/relativeTime'\nimport './MTimeAgo.css'\n\nfunction getUpdateInterval(update: MTimeAgoUpdate, value: Date | string | number, now: number): number | null {\n if (update === 'none') return null\n if (update === 'minute') return 60 * 1000\n if (update === 'hour') return 60 * 60 * 1000\n if (update === 'day') return 24 * 60 * 60 * 1000\n return getAutoUpdateInterval(value, now)\n}\n\nexport function MTimeAgo({\n value,\n locale: localeOverride,\n maxRelative,\n fallbackFormat = 'date',\n titleAbsolute = true,\n update = 'auto',\n className,\n ...rest\n}: MTimeAgoProps) {\n const locale = useDocumentLocale(localeOverride)\n const [now, setNow] = useState(() => Date.now())\n const interval = useMemo(() => getUpdateInterval(update, value, now), [now, update, value])\n\n useEffect(() => {\n if (!interval) return\n\n const id = window.setInterval(() => setNow(Date.now()), interval)\n return () => window.clearInterval(id)\n }, [interval])\n\n const date = useMemo(() => toDate(value), [value])\n const maxRelativeMs = useMemo(() => parseRelativeThreshold(maxRelative), [maxRelative])\n\n const absolute = useMemo(() => formatAbsoluteTime(value, locale, fallbackFormat), [value, locale, fallbackFormat])\n\n const content = useMemo(() => {\n if (!date) return String(value)\n\n const diff = Math.abs(date.getTime() - now)\n if (maxRelativeMs != null && diff > maxRelativeMs) {\n return absolute ?? String(value)\n }\n\n return formatRelativeTime(date, {locale, now}) ?? absolute ?? String(value)\n }, [absolute, date, locale, maxRelativeMs, now, value])\n\n return (\n <time\n className={cn('time ago', className)}\n dateTime={date?.toISOString()}\n title={titleAbsolute ? (absolute ?? undefined) : undefined}\n {...rest}\n >\n {content}\n </time>\n )\n}\n"],"mappings":";;;;;;AAaA,SAAS,EAAkB,GAAwB,GAA+B,GAA4B;AAK1G,QAJI,MAAW,SAAe,OAC1B,MAAW,WAAiB,KAAK,MACjC,MAAW,SAAe,OAAU,MACpC,MAAW,QAAc,OAAU,KAAK,MACrC,EAAsB,GAAO,EAAI;;AAG5C,SAAgB,EAAS,EACrB,UACA,QAAQ,GACR,gBACA,oBAAiB,QACjB,mBAAgB,IAChB,YAAS,QACT,cACA,GAAG,KACW;CACd,IAAM,IAAS,EAAkB,EAAe,EAC1C,CAAC,GAAK,KAAU,QAAe,KAAK,KAAK,CAAC,EAC1C,IAAW,QAAc,EAAkB,GAAQ,GAAO,EAAI,EAAE;EAAC;EAAK;EAAQ;EAAM,CAAC;AAE3F,SAAgB;AACZ,MAAI,CAAC,EAAU;EAEf,IAAM,IAAK,OAAO,kBAAkB,EAAO,KAAK,KAAK,CAAC,EAAE,EAAS;AACjE,eAAa,OAAO,cAAc,EAAG;IACtC,CAAC,EAAS,CAAC;CAEd,IAAM,IAAO,QAAc,EAAO,EAAM,EAAE,CAAC,EAAM,CAAC,EAC5C,IAAgB,QAAc,EAAuB,EAAY,EAAE,CAAC,EAAY,CAAC,EAEjF,IAAW,QAAc,EAAmB,GAAO,GAAQ,EAAe,EAAE;EAAC;EAAO;EAAQ;EAAe,CAAC,EAE5G,IAAU,QAAc;AAC1B,MAAI,CAAC,EAAM,QAAO,OAAO,EAAM;EAE/B,IAAM,IAAO,KAAK,IAAI,EAAK,SAAS,GAAG,EAAI;AAK3C,SAJI,KAAiB,QAAQ,IAAO,IACzB,KAAY,OAAO,EAAM,GAG7B,EAAmB,GAAM;GAAC;GAAQ;GAAI,CAAC,IAAI,KAAY,OAAO,EAAM;IAC5E;EAAC;EAAU;EAAM;EAAQ;EAAe;EAAK;EAAM,CAAC;AAEvD,QACI,kBAAC,QAAD;EACI,WAAW,EAAG,YAAY,EAAU;EACpC,UAAU,GAAM,aAAa;EAC7B,OAAO,IAAiB,KAAY,KAAA,IAAa,KAAA;EACjD,GAAI;YAEH;EACE,CAAA"}
@@ -45,4 +45,4 @@ var a = n(function({ checked: n, defaultChecked: a, name: o, id: s, disabled: c
45
45
  //#endregion
46
46
  export { a as t };
47
47
 
48
- //# sourceMappingURL=MToggle-BbSDIAJq.js.map
48
+ //# sourceMappingURL=MToggle-B6emKoKq.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MToggle-BbSDIAJq.js","names":[],"sources":["../src/components/controls/MToggle/MToggle.tsx"],"sourcesContent":["import {forwardRef} from 'react'\nimport type {MToggleProps} from './MToggle.types'\nimport {cn} from '../../../utils/cn'\nimport {useInteractionEffect} from '../../../utils/useInteractionEffect'\nimport './MToggle.css'\n\n// Render a switch-style boolean control with the same API shape as MCheckbox.\nexport const MToggle = forwardRef<HTMLInputElement, MToggleProps>(function MToggle(\n {\n checked,\n defaultChecked,\n name,\n id,\n disabled = false,\n size = 'md',\n color = 'primary',\n label,\n labelPosition = 'right',\n onChange,\n clickEffect = 'ripple',\n rippleColor,\n className,\n style,\n },\n ref\n) {\n const {effectClassName, effectLayer, handlePointerDown, triggerEffect} = useInteractionEffect<HTMLSpanElement>({\n effect: clickEffect,\n disabled,\n centered: true,\n color: rippleColor,\n })\n\n return (\n <label\n className={cn('toggle', size, labelPosition === 'left' && 'label-left', disabled && 'disabled', className)}\n style={style}\n >\n <span className={cn('track', `color-${color}`, effectClassName)} onPointerDown={handlePointerDown}>\n {effectLayer}\n <input\n ref={ref}\n type=\"checkbox\"\n checked={checked}\n defaultChecked={defaultChecked}\n name={name}\n id={id}\n disabled={disabled}\n onChange={onChange}\n onKeyDown={(event) => {\n if (event.key === ' ' || event.key === 'Enter') {\n triggerEffect(event.currentTarget.parentElement as HTMLSpanElement | null)\n }\n }}\n className=\"input\"\n role=\"switch\"\n aria-checked={checked}\n />\n <span className=\"knob\" />\n </span>\n {label && <span className=\"label-text\">{label}</span>}\n </label>\n )\n})\n"],"mappings":";;;;;AAOA,IAAa,IAAU,EAA2C,SAC9D,EACI,YACA,mBACA,SACA,OACA,cAAW,IACX,UAAO,MACP,WAAQ,WACR,UACA,mBAAgB,SAChB,aACA,iBAAc,UACd,gBACA,cACA,YAEJ,GACF;CACE,IAAM,EAAC,oBAAiB,gBAAa,sBAAmB,qBAAiB,EAAsC;EAC3G,QAAQ;EACR;EACA,UAAU;EACV,OAAO;EACV,CAAC;AAEF,QACI,kBAAC,SAAD;EACI,WAAW,EAAG,UAAU,GAAM,MAAkB,UAAU,cAAc,KAAY,YAAY,EAAU;EACnG;YAFX,CAII,kBAAC,QAAD;GAAM,WAAW,EAAG,SAAS,SAAS,KAAS,EAAgB;GAAE,eAAe;aAAhF;IACK;IACD,kBAAC,SAAD;KACS;KACL,MAAK;KACI;KACO;KACV;KACF;KACM;KACA;KACV,YAAY,MAAU;AAClB,OAAI,EAAM,QAAQ,OAAO,EAAM,QAAQ,YACnC,EAAc,EAAM,cAAc,cAAwC;;KAGlF,WAAU;KACV,MAAK;KACL,gBAAc;KAChB,CAAA;IACF,kBAAC,QAAD,EAAM,WAAU,QAAS,CAAA;IACtB;MACN,KAAS,kBAAC,QAAD;GAAM,WAAU;aAAc;GAAa,CAAA,CACjD;;EAEd"}
1
+ {"version":3,"file":"MToggle-B6emKoKq.js","names":[],"sources":["../src/components/controls/MToggle/MToggle.tsx"],"sourcesContent":["import {forwardRef} from 'react'\nimport type {MToggleProps} from './MToggle.types'\nimport {cn} from '../../../utils/cn'\nimport {useInteractionEffect} from '../../../utils/useInteractionEffect'\nimport './MToggle.css'\n\n// Render a switch-style boolean control with the same API shape as MCheckbox.\nexport const MToggle = forwardRef<HTMLInputElement, MToggleProps>(function MToggle(\n {\n checked,\n defaultChecked,\n name,\n id,\n disabled = false,\n size = 'md',\n color = 'primary',\n label,\n labelPosition = 'right',\n onChange,\n clickEffect = 'ripple',\n rippleColor,\n className,\n style,\n },\n ref\n) {\n const {effectClassName, effectLayer, handlePointerDown, triggerEffect} = useInteractionEffect<HTMLSpanElement>({\n effect: clickEffect,\n disabled,\n centered: true,\n color: rippleColor,\n })\n\n return (\n <label\n className={cn('toggle', size, labelPosition === 'left' && 'label-left', disabled && 'disabled', className)}\n style={style}\n >\n <span className={cn('track', `color-${color}`, effectClassName)} onPointerDown={handlePointerDown}>\n {effectLayer}\n <input\n ref={ref}\n type=\"checkbox\"\n checked={checked}\n defaultChecked={defaultChecked}\n name={name}\n id={id}\n disabled={disabled}\n onChange={onChange}\n onKeyDown={(event) => {\n if (event.key === ' ' || event.key === 'Enter') {\n triggerEffect(event.currentTarget.parentElement as HTMLSpanElement | null)\n }\n }}\n className=\"input\"\n role=\"switch\"\n aria-checked={checked}\n />\n <span className=\"knob\" />\n </span>\n {label && <span className=\"label-text\">{label}</span>}\n </label>\n )\n})\n"],"mappings":";;;;;AAOA,IAAa,IAAU,EAA2C,SAC9D,EACI,YACA,mBACA,SACA,OACA,cAAW,IACX,UAAO,MACP,WAAQ,WACR,UACA,mBAAgB,SAChB,aACA,iBAAc,UACd,gBACA,cACA,YAEJ,GACF;CACE,IAAM,EAAC,oBAAiB,gBAAa,sBAAmB,qBAAiB,EAAsC;EAC3G,QAAQ;EACR;EACA,UAAU;EACV,OAAO;EACV,CAAC;AAEF,QACI,kBAAC,SAAD;EACI,WAAW,EAAG,UAAU,GAAM,MAAkB,UAAU,cAAc,KAAY,YAAY,EAAU;EACnG;YAFX,CAII,kBAAC,QAAD;GAAM,WAAW,EAAG,SAAS,SAAS,KAAS,EAAgB;GAAE,eAAe;aAAhF;IACK;IACD,kBAAC,SAAD;KACS;KACL,MAAK;KACI;KACO;KACV;KACF;KACM;KACA;KACV,YAAY,MAAU;AAClB,OAAI,EAAM,QAAQ,OAAO,EAAM,QAAQ,YACnC,EAAc,EAAM,cAAc,cAAwC;;KAGlF,WAAU;KACV,MAAK;KACL,gBAAc;KAChB,CAAA;IACF,kBAAC,QAAD,EAAM,WAAU,QAAS,CAAA;IACtB;MACN,KAAS,kBAAC,QAAD;GAAM,WAAU;aAAc;GAAa,CAAA,CACjD;;EAEd"}
@@ -1,2 +1,2 @@
1
1
  const e=require(`./cn-CU5TNITO.cjs`),t=require(`./useInteractionEffect-DnEfbCrX.cjs`);let n=require(`react`),r=require(`react/jsx-runtime`);var i=(0,n.forwardRef)(function({checked:n,defaultChecked:i,name:a,id:o,disabled:s=!1,size:c=`md`,color:l=`primary`,label:u,labelPosition:d=`right`,onChange:f,clickEffect:p=`ripple`,rippleColor:m,className:h,style:g},_){let{effectClassName:v,effectLayer:y,handlePointerDown:b,triggerEffect:x}=t.t({effect:p,disabled:s,centered:!0,color:m});return(0,r.jsxs)(`label`,{className:e.t(`toggle`,c,d===`left`&&`label-left`,s&&`disabled`,h),style:g,children:[(0,r.jsxs)(`span`,{className:e.t(`track`,`color-${l}`,v),onPointerDown:b,children:[y,(0,r.jsx)(`input`,{ref:_,type:`checkbox`,checked:n,defaultChecked:i,name:a,id:o,disabled:s,onChange:f,onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&x(e.currentTarget.parentElement)},className:`input`,role:`switch`,"aria-checked":n}),(0,r.jsx)(`span`,{className:`knob`})]}),u&&(0,r.jsx)(`span`,{className:`label-text`,children:u})]})});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
2
- //# sourceMappingURL=MToggle-GhhAJgUa.cjs.map
2
+ //# sourceMappingURL=MToggle-CsGS_W3X.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"MToggle-GhhAJgUa.cjs","names":[],"sources":["../src/components/controls/MToggle/MToggle.tsx"],"sourcesContent":["import {forwardRef} from 'react'\nimport type {MToggleProps} from './MToggle.types'\nimport {cn} from '../../../utils/cn'\nimport {useInteractionEffect} from '../../../utils/useInteractionEffect'\nimport './MToggle.css'\n\n// Render a switch-style boolean control with the same API shape as MCheckbox.\nexport const MToggle = forwardRef<HTMLInputElement, MToggleProps>(function MToggle(\n {\n checked,\n defaultChecked,\n name,\n id,\n disabled = false,\n size = 'md',\n color = 'primary',\n label,\n labelPosition = 'right',\n onChange,\n clickEffect = 'ripple',\n rippleColor,\n className,\n style,\n },\n ref\n) {\n const {effectClassName, effectLayer, handlePointerDown, triggerEffect} = useInteractionEffect<HTMLSpanElement>({\n effect: clickEffect,\n disabled,\n centered: true,\n color: rippleColor,\n })\n\n return (\n <label\n className={cn('toggle', size, labelPosition === 'left' && 'label-left', disabled && 'disabled', className)}\n style={style}\n >\n <span className={cn('track', `color-${color}`, effectClassName)} onPointerDown={handlePointerDown}>\n {effectLayer}\n <input\n ref={ref}\n type=\"checkbox\"\n checked={checked}\n defaultChecked={defaultChecked}\n name={name}\n id={id}\n disabled={disabled}\n onChange={onChange}\n onKeyDown={(event) => {\n if (event.key === ' ' || event.key === 'Enter') {\n triggerEffect(event.currentTarget.parentElement as HTMLSpanElement | null)\n }\n }}\n className=\"input\"\n role=\"switch\"\n aria-checked={checked}\n />\n <span className=\"knob\" />\n </span>\n {label && <span className=\"label-text\">{label}</span>}\n </label>\n )\n})\n"],"mappings":"4IAOA,IAAa,GAAA,EAAA,EAAA,YAAqD,SAC9D,CACI,UACA,iBACA,OACA,KACA,WAAW,GACX,OAAO,KACP,QAAQ,UACR,QACA,gBAAgB,QAChB,WACA,cAAc,SACd,cACA,YACA,SAEJ,EACF,CACE,GAAM,CAAC,kBAAiB,cAAa,oBAAmB,iBAAiB,EAAA,EAAsC,CAC3G,OAAQ,EACR,WACA,SAAU,GACV,MAAO,EACV,CAAC,CAEF,OACI,EAAA,EAAA,MAAC,QAAD,CACI,UAAW,EAAA,EAAG,SAAU,EAAM,IAAkB,QAAU,aAAc,GAAY,WAAY,EAAU,CACnG,iBAFX,EAII,EAAA,EAAA,MAAC,OAAD,CAAM,UAAW,EAAA,EAAG,QAAS,SAAS,IAAS,EAAgB,CAAE,cAAe,WAAhF,CACK,GACD,EAAA,EAAA,KAAC,QAAD,CACS,MACL,KAAK,WACI,UACO,iBACV,OACF,KACM,WACA,WACV,UAAY,GAAU,EACd,EAAM,MAAQ,KAAO,EAAM,MAAQ,UACnC,EAAc,EAAM,cAAc,cAAwC,EAGlF,UAAU,QACV,KAAK,SACL,eAAc,EAChB,CAAA,EACF,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,OAAS,CAAA,CACtB,GACN,IAAS,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,sBAAc,EAAa,CAAA,CACjD,IAEd"}
1
+ {"version":3,"file":"MToggle-CsGS_W3X.cjs","names":[],"sources":["../src/components/controls/MToggle/MToggle.tsx"],"sourcesContent":["import {forwardRef} from 'react'\nimport type {MToggleProps} from './MToggle.types'\nimport {cn} from '../../../utils/cn'\nimport {useInteractionEffect} from '../../../utils/useInteractionEffect'\nimport './MToggle.css'\n\n// Render a switch-style boolean control with the same API shape as MCheckbox.\nexport const MToggle = forwardRef<HTMLInputElement, MToggleProps>(function MToggle(\n {\n checked,\n defaultChecked,\n name,\n id,\n disabled = false,\n size = 'md',\n color = 'primary',\n label,\n labelPosition = 'right',\n onChange,\n clickEffect = 'ripple',\n rippleColor,\n className,\n style,\n },\n ref\n) {\n const {effectClassName, effectLayer, handlePointerDown, triggerEffect} = useInteractionEffect<HTMLSpanElement>({\n effect: clickEffect,\n disabled,\n centered: true,\n color: rippleColor,\n })\n\n return (\n <label\n className={cn('toggle', size, labelPosition === 'left' && 'label-left', disabled && 'disabled', className)}\n style={style}\n >\n <span className={cn('track', `color-${color}`, effectClassName)} onPointerDown={handlePointerDown}>\n {effectLayer}\n <input\n ref={ref}\n type=\"checkbox\"\n checked={checked}\n defaultChecked={defaultChecked}\n name={name}\n id={id}\n disabled={disabled}\n onChange={onChange}\n onKeyDown={(event) => {\n if (event.key === ' ' || event.key === 'Enter') {\n triggerEffect(event.currentTarget.parentElement as HTMLSpanElement | null)\n }\n }}\n className=\"input\"\n role=\"switch\"\n aria-checked={checked}\n />\n <span className=\"knob\" />\n </span>\n {label && <span className=\"label-text\">{label}</span>}\n </label>\n )\n})\n"],"mappings":"4IAOA,IAAa,GAAA,EAAA,EAAA,YAAqD,SAC9D,CACI,UACA,iBACA,OACA,KACA,WAAW,GACX,OAAO,KACP,QAAQ,UACR,QACA,gBAAgB,QAChB,WACA,cAAc,SACd,cACA,YACA,SAEJ,EACF,CACE,GAAM,CAAC,kBAAiB,cAAa,oBAAmB,iBAAiB,EAAA,EAAsC,CAC3G,OAAQ,EACR,WACA,SAAU,GACV,MAAO,EACV,CAAC,CAEF,OACI,EAAA,EAAA,MAAC,QAAD,CACI,UAAW,EAAA,EAAG,SAAU,EAAM,IAAkB,QAAU,aAAc,GAAY,WAAY,EAAU,CACnG,iBAFX,EAII,EAAA,EAAA,MAAC,OAAD,CAAM,UAAW,EAAA,EAAG,QAAS,SAAS,IAAS,EAAgB,CAAE,cAAe,WAAhF,CACK,GACD,EAAA,EAAA,KAAC,QAAD,CACS,MACL,KAAK,WACI,UACO,iBACV,OACF,KACM,WACA,WACV,UAAY,GAAU,EACd,EAAM,MAAQ,KAAO,EAAM,MAAQ,UACnC,EAAc,EAAM,cAAc,cAAwC,EAGlF,UAAU,QACV,KAAK,SACL,eAAc,EAChB,CAAA,EACF,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,OAAS,CAAA,CACtB,GACN,IAAS,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,sBAAc,EAAa,CAAA,CACjD,IAEd"}
@@ -1,2 +1,2 @@
1
1
  const e=require(`./cn-CU5TNITO.cjs`),t=require(`./MPortal-PyRKsZxc.cjs`);let n=require(`react`),r=require(`react/jsx-runtime`);function i(e,t,n){switch(n){case`bottom`:return{top:e.bottom+6,left:e.left+e.width/2-t.width/2};case`left`:return{top:e.top+e.height/2-t.height/2,left:e.left-t.width-6};case`right`:return{top:e.top+e.height/2-t.height/2,left:e.right+6};default:return{top:e.top-t.height-6,left:e.left+e.width/2-t.width/2}}}function a({content:a,placement:o=`top`,delay:s=0,className:c,children:l,...u}){let[d,f]=(0,n.useState)(!1),[p,m]=(0,n.useState)(null),h=(0,n.useRef)(null),g=(0,n.useRef)(null),_=(0,n.useRef)(null),v=(0,n.useCallback)(()=>{s>0?_.current=setTimeout(()=>f(!0),s):f(!0)},[s]),y=(0,n.useCallback)(()=>{_.current&&=(clearTimeout(_.current),null),f(!1),m(null)},[]);return(0,n.useLayoutEffect)(()=>{!d||!h.current||!g.current||m(i(h.current.getBoundingClientRect(),g.current.getBoundingClientRect(),o))},[d,o]),(0,r.jsxs)(`div`,{ref:h,className:e.t(`tooltip wrapper`,c),onMouseEnter:v,onMouseLeave:y,onFocus:v,onBlur:y,...u,children:[l,d&&(0,r.jsx)(t.t,{children:(0,r.jsx)(`div`,{ref:g,className:e.t(`tooltip bubble`,o),role:`tooltip`,style:p?{top:p.top,left:p.left}:{visibility:`hidden`},children:a})})]})}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});
2
- //# sourceMappingURL=MTooltip-eTM5DKtM.cjs.map
2
+ //# sourceMappingURL=MTooltip-CNXoyQEN.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"MTooltip-eTM5DKtM.cjs","names":[],"sources":["../src/components/overlays/MTooltip/MTooltip.tsx"],"sourcesContent":["import {useRef, useState, useCallback, useLayoutEffect} from 'react'\nimport type {MTooltipProps} from './MTooltip.types'\nimport {cn} from '../../../utils/cn'\nimport {MPortal} from '../../primitives'\nimport './MTooltip.css'\n\nfunction computePosition(trigger: DOMRect, bubble: DOMRect, placement: string): {top: number; left: number} {\n const gap = 6\n switch (placement) {\n case 'bottom':\n return {top: trigger.bottom + gap, left: trigger.left + trigger.width / 2 - bubble.width / 2}\n case 'left':\n return {top: trigger.top + trigger.height / 2 - bubble.height / 2, left: trigger.left - bubble.width - gap}\n case 'right':\n return {top: trigger.top + trigger.height / 2 - bubble.height / 2, left: trigger.right + gap}\n default:\n return {top: trigger.top - bubble.height - gap, left: trigger.left + trigger.width / 2 - bubble.width / 2}\n }\n}\n\nexport function MTooltip({content, placement = 'top', delay = 0, className, children, ...rest}: MTooltipProps) {\n const [visible, setVisible] = useState(false)\n const [pos, setPos] = useState<{top: number; left: number} | null>(null)\n const wrapperRef = useRef<HTMLDivElement>(null)\n const bubbleRef = useRef<HTMLDivElement>(null)\n const timeoutRef = useRef<ReturnType<typeof setTimeout>>(null)\n\n const show = useCallback(() => {\n if (delay > 0) {\n timeoutRef.current = setTimeout(() => setVisible(true), delay)\n } else {\n setVisible(true)\n }\n }, [delay])\n\n const hide = useCallback(() => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n timeoutRef.current = null\n }\n setVisible(false)\n setPos(null)\n }, [])\n\n useLayoutEffect(() => {\n if (!visible || !wrapperRef.current || !bubbleRef.current) return\n const triggerRect = wrapperRef.current.getBoundingClientRect()\n const bubbleRect = bubbleRef.current.getBoundingClientRect()\n setPos(computePosition(triggerRect, bubbleRect, placement))\n }, [visible, placement])\n\n return (\n <div\n ref={wrapperRef}\n className={cn('tooltip wrapper', className)}\n onMouseEnter={show}\n onMouseLeave={hide}\n onFocus={show}\n onBlur={hide}\n {...rest}\n >\n {children}\n {visible && (\n <MPortal>\n <div\n ref={bubbleRef}\n className={cn('tooltip bubble', placement)}\n role=\"tooltip\"\n style={pos ? {top: pos.top, left: pos.left} : {visibility: 'hidden'}}\n >\n {content}\n </div>\n </MPortal>\n )}\n </div>\n )\n}\n"],"mappings":"+HAMA,SAAS,EAAgB,EAAkB,EAAiB,EAAgD,CAExG,OAAQ,EAAR,CACI,IAAK,SACD,MAAO,CAAC,IAAK,EAAQ,OAAS,EAAK,KAAM,EAAQ,KAAO,EAAQ,MAAQ,EAAI,EAAO,MAAQ,EAAE,CACjG,IAAK,OACD,MAAO,CAAC,IAAK,EAAQ,IAAM,EAAQ,OAAS,EAAI,EAAO,OAAS,EAAG,KAAM,EAAQ,KAAO,EAAO,MAAQ,EAAI,CAC/G,IAAK,QACD,MAAO,CAAC,IAAK,EAAQ,IAAM,EAAQ,OAAS,EAAI,EAAO,OAAS,EAAG,KAAM,EAAQ,MAAQ,EAAI,CACjG,QACI,MAAO,CAAC,IAAK,EAAQ,IAAM,EAAO,OAAS,EAAK,KAAM,EAAQ,KAAO,EAAQ,MAAQ,EAAI,EAAO,MAAQ,EAAE,EAItH,SAAgB,EAAS,CAAC,UAAS,YAAY,MAAO,QAAQ,EAAG,YAAW,WAAU,GAAG,GAAsB,CAC3G,GAAM,CAAC,EAAS,IAAA,EAAA,EAAA,UAAuB,GAAM,CACvC,CAAC,EAAK,IAAA,EAAA,EAAA,UAAuD,KAAK,CAClE,GAAA,EAAA,EAAA,QAAoC,KAAK,CACzC,GAAA,EAAA,EAAA,QAAmC,KAAK,CACxC,GAAA,EAAA,EAAA,QAAmD,KAAK,CAExD,GAAA,EAAA,EAAA,iBAAyB,CACvB,EAAQ,EACR,EAAW,QAAU,eAAiB,EAAW,GAAK,CAAE,EAAM,CAE9D,EAAW,GAAK,EAErB,CAAC,EAAM,CAAC,CAEL,GAAA,EAAA,EAAA,iBAAyB,CAC3B,AAEI,EAAW,WADX,aAAa,EAAW,QAAQ,CACX,MAEzB,EAAW,GAAM,CACjB,EAAO,KAAK,EACb,EAAE,CAAC,CASN,OAPA,EAAA,EAAA,qBAAsB,CACd,CAAC,GAAW,CAAC,EAAW,SAAW,CAAC,EAAU,SAGlD,EAAO,EAFa,EAAW,QAAQ,uBAAuB,CAC3C,EAAU,QAAQ,uBAAuB,CACZ,EAAU,CAAC,EAC5D,CAAC,EAAS,EAAU,CAAC,EAGpB,EAAA,EAAA,MAAC,MAAD,CACI,IAAK,EACL,UAAW,EAAA,EAAG,kBAAmB,EAAU,CAC3C,aAAc,EACd,aAAc,EACd,QAAS,EACT,OAAQ,EACR,GAAI,WAPR,CASK,EACA,IACG,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,UACI,EAAA,EAAA,KAAC,MAAD,CACI,IAAK,EACL,UAAW,EAAA,EAAG,iBAAkB,EAAU,CAC1C,KAAK,UACL,MAAO,EAAM,CAAC,IAAK,EAAI,IAAK,KAAM,EAAI,KAAK,CAAG,CAAC,WAAY,SAAS,UAEnE,EACC,CAAA,CACA,CAAA,CAEZ"}
1
+ {"version":3,"file":"MTooltip-CNXoyQEN.cjs","names":[],"sources":["../src/components/overlays/MTooltip/MTooltip.tsx"],"sourcesContent":["import {useRef, useState, useCallback, useLayoutEffect} from 'react'\nimport type {MTooltipProps} from './MTooltip.types'\nimport {cn} from '../../../utils/cn'\nimport {MPortal} from '../../primitives'\nimport './MTooltip.css'\n\nfunction computePosition(trigger: DOMRect, bubble: DOMRect, placement: string): {top: number; left: number} {\n const gap = 6\n switch (placement) {\n case 'bottom':\n return {top: trigger.bottom + gap, left: trigger.left + trigger.width / 2 - bubble.width / 2}\n case 'left':\n return {top: trigger.top + trigger.height / 2 - bubble.height / 2, left: trigger.left - bubble.width - gap}\n case 'right':\n return {top: trigger.top + trigger.height / 2 - bubble.height / 2, left: trigger.right + gap}\n default:\n return {top: trigger.top - bubble.height - gap, left: trigger.left + trigger.width / 2 - bubble.width / 2}\n }\n}\n\nexport function MTooltip({content, placement = 'top', delay = 0, className, children, ...rest}: MTooltipProps) {\n const [visible, setVisible] = useState(false)\n const [pos, setPos] = useState<{top: number; left: number} | null>(null)\n const wrapperRef = useRef<HTMLDivElement>(null)\n const bubbleRef = useRef<HTMLDivElement>(null)\n const timeoutRef = useRef<ReturnType<typeof setTimeout>>(null)\n\n const show = useCallback(() => {\n if (delay > 0) {\n timeoutRef.current = setTimeout(() => setVisible(true), delay)\n } else {\n setVisible(true)\n }\n }, [delay])\n\n const hide = useCallback(() => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n timeoutRef.current = null\n }\n setVisible(false)\n setPos(null)\n }, [])\n\n useLayoutEffect(() => {\n if (!visible || !wrapperRef.current || !bubbleRef.current) return\n const triggerRect = wrapperRef.current.getBoundingClientRect()\n const bubbleRect = bubbleRef.current.getBoundingClientRect()\n setPos(computePosition(triggerRect, bubbleRect, placement))\n }, [visible, placement])\n\n return (\n <div\n ref={wrapperRef}\n className={cn('tooltip wrapper', className)}\n onMouseEnter={show}\n onMouseLeave={hide}\n onFocus={show}\n onBlur={hide}\n {...rest}\n >\n {children}\n {visible && (\n <MPortal>\n <div\n ref={bubbleRef}\n className={cn('tooltip bubble', placement)}\n role=\"tooltip\"\n style={pos ? {top: pos.top, left: pos.left} : {visibility: 'hidden'}}\n >\n {content}\n </div>\n </MPortal>\n )}\n </div>\n )\n}\n"],"mappings":"+HAMA,SAAS,EAAgB,EAAkB,EAAiB,EAAgD,CAExG,OAAQ,EAAR,CACI,IAAK,SACD,MAAO,CAAC,IAAK,EAAQ,OAAS,EAAK,KAAM,EAAQ,KAAO,EAAQ,MAAQ,EAAI,EAAO,MAAQ,EAAE,CACjG,IAAK,OACD,MAAO,CAAC,IAAK,EAAQ,IAAM,EAAQ,OAAS,EAAI,EAAO,OAAS,EAAG,KAAM,EAAQ,KAAO,EAAO,MAAQ,EAAI,CAC/G,IAAK,QACD,MAAO,CAAC,IAAK,EAAQ,IAAM,EAAQ,OAAS,EAAI,EAAO,OAAS,EAAG,KAAM,EAAQ,MAAQ,EAAI,CACjG,QACI,MAAO,CAAC,IAAK,EAAQ,IAAM,EAAO,OAAS,EAAK,KAAM,EAAQ,KAAO,EAAQ,MAAQ,EAAI,EAAO,MAAQ,EAAE,EAItH,SAAgB,EAAS,CAAC,UAAS,YAAY,MAAO,QAAQ,EAAG,YAAW,WAAU,GAAG,GAAsB,CAC3G,GAAM,CAAC,EAAS,IAAA,EAAA,EAAA,UAAuB,GAAM,CACvC,CAAC,EAAK,IAAA,EAAA,EAAA,UAAuD,KAAK,CAClE,GAAA,EAAA,EAAA,QAAoC,KAAK,CACzC,GAAA,EAAA,EAAA,QAAmC,KAAK,CACxC,GAAA,EAAA,EAAA,QAAmD,KAAK,CAExD,GAAA,EAAA,EAAA,iBAAyB,CACvB,EAAQ,EACR,EAAW,QAAU,eAAiB,EAAW,GAAK,CAAE,EAAM,CAE9D,EAAW,GAAK,EAErB,CAAC,EAAM,CAAC,CAEL,GAAA,EAAA,EAAA,iBAAyB,CAC3B,AAEI,EAAW,WADX,aAAa,EAAW,QAAQ,CACX,MAEzB,EAAW,GAAM,CACjB,EAAO,KAAK,EACb,EAAE,CAAC,CASN,OAPA,EAAA,EAAA,qBAAsB,CACd,CAAC,GAAW,CAAC,EAAW,SAAW,CAAC,EAAU,SAGlD,EAAO,EAFa,EAAW,QAAQ,uBAAuB,CAC3C,EAAU,QAAQ,uBAAuB,CACZ,EAAU,CAAC,EAC5D,CAAC,EAAS,EAAU,CAAC,EAGpB,EAAA,EAAA,MAAC,MAAD,CACI,IAAK,EACL,UAAW,EAAA,EAAG,kBAAmB,EAAU,CAC3C,aAAc,EACd,aAAc,EACd,QAAS,EACT,OAAQ,EACR,GAAI,WAPR,CASK,EACA,IACG,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,UACI,EAAA,EAAA,KAAC,MAAD,CACI,IAAK,EACL,UAAW,EAAA,EAAG,iBAAkB,EAAU,CAC1C,KAAK,UACL,MAAO,EAAM,CAAC,IAAK,EAAI,IAAK,KAAM,EAAI,KAAK,CAAG,CAAC,WAAY,SAAS,UAEnE,EACC,CAAA,CACA,CAAA,CAEZ"}
@@ -54,4 +54,4 @@ function l({ content: l, placement: u = "top", delay: d = 0, className: f, child
54
54
  //#endregion
55
55
  export { l as t };
56
56
 
57
- //# sourceMappingURL=MTooltip-BVQ7wBrO.js.map
57
+ //# sourceMappingURL=MTooltip-UYOjDBOu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MTooltip-BVQ7wBrO.js","names":[],"sources":["../src/components/overlays/MTooltip/MTooltip.tsx"],"sourcesContent":["import {useRef, useState, useCallback, useLayoutEffect} from 'react'\nimport type {MTooltipProps} from './MTooltip.types'\nimport {cn} from '../../../utils/cn'\nimport {MPortal} from '../../primitives'\nimport './MTooltip.css'\n\nfunction computePosition(trigger: DOMRect, bubble: DOMRect, placement: string): {top: number; left: number} {\n const gap = 6\n switch (placement) {\n case 'bottom':\n return {top: trigger.bottom + gap, left: trigger.left + trigger.width / 2 - bubble.width / 2}\n case 'left':\n return {top: trigger.top + trigger.height / 2 - bubble.height / 2, left: trigger.left - bubble.width - gap}\n case 'right':\n return {top: trigger.top + trigger.height / 2 - bubble.height / 2, left: trigger.right + gap}\n default:\n return {top: trigger.top - bubble.height - gap, left: trigger.left + trigger.width / 2 - bubble.width / 2}\n }\n}\n\nexport function MTooltip({content, placement = 'top', delay = 0, className, children, ...rest}: MTooltipProps) {\n const [visible, setVisible] = useState(false)\n const [pos, setPos] = useState<{top: number; left: number} | null>(null)\n const wrapperRef = useRef<HTMLDivElement>(null)\n const bubbleRef = useRef<HTMLDivElement>(null)\n const timeoutRef = useRef<ReturnType<typeof setTimeout>>(null)\n\n const show = useCallback(() => {\n if (delay > 0) {\n timeoutRef.current = setTimeout(() => setVisible(true), delay)\n } else {\n setVisible(true)\n }\n }, [delay])\n\n const hide = useCallback(() => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n timeoutRef.current = null\n }\n setVisible(false)\n setPos(null)\n }, [])\n\n useLayoutEffect(() => {\n if (!visible || !wrapperRef.current || !bubbleRef.current) return\n const triggerRect = wrapperRef.current.getBoundingClientRect()\n const bubbleRect = bubbleRef.current.getBoundingClientRect()\n setPos(computePosition(triggerRect, bubbleRect, placement))\n }, [visible, placement])\n\n return (\n <div\n ref={wrapperRef}\n className={cn('tooltip wrapper', className)}\n onMouseEnter={show}\n onMouseLeave={hide}\n onFocus={show}\n onBlur={hide}\n {...rest}\n >\n {children}\n {visible && (\n <MPortal>\n <div\n ref={bubbleRef}\n className={cn('tooltip bubble', placement)}\n role=\"tooltip\"\n style={pos ? {top: pos.top, left: pos.left} : {visibility: 'hidden'}}\n >\n {content}\n </div>\n </MPortal>\n )}\n </div>\n )\n}\n"],"mappings":";;;;;AAMA,SAAS,EAAgB,GAAkB,GAAiB,GAAgD;AAExG,SAAQ,GAAR;EACI,KAAK,SACD,QAAO;GAAC,KAAK,EAAQ,SAAS;GAAK,MAAM,EAAQ,OAAO,EAAQ,QAAQ,IAAI,EAAO,QAAQ;GAAE;EACjG,KAAK,OACD,QAAO;GAAC,KAAK,EAAQ,MAAM,EAAQ,SAAS,IAAI,EAAO,SAAS;GAAG,MAAM,EAAQ,OAAO,EAAO,QAAQ;GAAI;EAC/G,KAAK,QACD,QAAO;GAAC,KAAK,EAAQ,MAAM,EAAQ,SAAS,IAAI,EAAO,SAAS;GAAG,MAAM,EAAQ,QAAQ;GAAI;EACjG,QACI,QAAO;GAAC,KAAK,EAAQ,MAAM,EAAO,SAAS;GAAK,MAAM,EAAQ,OAAO,EAAQ,QAAQ,IAAI,EAAO,QAAQ;GAAE;;;AAItH,SAAgB,EAAS,EAAC,YAAS,eAAY,OAAO,WAAQ,GAAG,cAAW,aAAU,GAAG,KAAsB;CAC3G,IAAM,CAAC,GAAS,KAAc,EAAS,GAAM,EACvC,CAAC,GAAK,KAAU,EAA6C,KAAK,EAClE,IAAa,EAAuB,KAAK,EACzC,IAAY,EAAuB,KAAK,EACxC,IAAa,EAAsC,KAAK,EAExD,IAAO,QAAkB;AAC3B,EAAI,IAAQ,IACR,EAAW,UAAU,iBAAiB,EAAW,GAAK,EAAE,EAAM,GAE9D,EAAW,GAAK;IAErB,CAAC,EAAM,CAAC,EAEL,IAAO,QAAkB;AAM3B,EALA,AAEI,EAAW,aADX,aAAa,EAAW,QAAQ,EACX,OAEzB,EAAW,GAAM,EACjB,EAAO,KAAK;IACb,EAAE,CAAC;AASN,QAPA,QAAsB;AACd,GAAC,KAAW,CAAC,EAAW,WAAW,CAAC,EAAU,WAGlD,EAAO,EAFa,EAAW,QAAQ,uBAAuB,EAC3C,EAAU,QAAQ,uBAAuB,EACZ,EAAU,CAAC;IAC5D,CAAC,GAAS,EAAU,CAAC,EAGpB,kBAAC,OAAD;EACI,KAAK;EACL,WAAW,EAAG,mBAAmB,EAAU;EAC3C,cAAc;EACd,cAAc;EACd,SAAS;EACT,QAAQ;EACR,GAAI;YAPR,CASK,GACA,KACG,kBAAC,GAAD,EAAA,UACI,kBAAC,OAAD;GACI,KAAK;GACL,WAAW,EAAG,kBAAkB,EAAU;GAC1C,MAAK;GACL,OAAO,IAAM;IAAC,KAAK,EAAI;IAAK,MAAM,EAAI;IAAK,GAAG,EAAC,YAAY,UAAS;aAEnE;GACC,CAAA,EACA,CAAA,CAEZ"}
1
+ {"version":3,"file":"MTooltip-UYOjDBOu.js","names":[],"sources":["../src/components/overlays/MTooltip/MTooltip.tsx"],"sourcesContent":["import {useRef, useState, useCallback, useLayoutEffect} from 'react'\nimport type {MTooltipProps} from './MTooltip.types'\nimport {cn} from '../../../utils/cn'\nimport {MPortal} from '../../primitives'\nimport './MTooltip.css'\n\nfunction computePosition(trigger: DOMRect, bubble: DOMRect, placement: string): {top: number; left: number} {\n const gap = 6\n switch (placement) {\n case 'bottom':\n return {top: trigger.bottom + gap, left: trigger.left + trigger.width / 2 - bubble.width / 2}\n case 'left':\n return {top: trigger.top + trigger.height / 2 - bubble.height / 2, left: trigger.left - bubble.width - gap}\n case 'right':\n return {top: trigger.top + trigger.height / 2 - bubble.height / 2, left: trigger.right + gap}\n default:\n return {top: trigger.top - bubble.height - gap, left: trigger.left + trigger.width / 2 - bubble.width / 2}\n }\n}\n\nexport function MTooltip({content, placement = 'top', delay = 0, className, children, ...rest}: MTooltipProps) {\n const [visible, setVisible] = useState(false)\n const [pos, setPos] = useState<{top: number; left: number} | null>(null)\n const wrapperRef = useRef<HTMLDivElement>(null)\n const bubbleRef = useRef<HTMLDivElement>(null)\n const timeoutRef = useRef<ReturnType<typeof setTimeout>>(null)\n\n const show = useCallback(() => {\n if (delay > 0) {\n timeoutRef.current = setTimeout(() => setVisible(true), delay)\n } else {\n setVisible(true)\n }\n }, [delay])\n\n const hide = useCallback(() => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n timeoutRef.current = null\n }\n setVisible(false)\n setPos(null)\n }, [])\n\n useLayoutEffect(() => {\n if (!visible || !wrapperRef.current || !bubbleRef.current) return\n const triggerRect = wrapperRef.current.getBoundingClientRect()\n const bubbleRect = bubbleRef.current.getBoundingClientRect()\n setPos(computePosition(triggerRect, bubbleRect, placement))\n }, [visible, placement])\n\n return (\n <div\n ref={wrapperRef}\n className={cn('tooltip wrapper', className)}\n onMouseEnter={show}\n onMouseLeave={hide}\n onFocus={show}\n onBlur={hide}\n {...rest}\n >\n {children}\n {visible && (\n <MPortal>\n <div\n ref={bubbleRef}\n className={cn('tooltip bubble', placement)}\n role=\"tooltip\"\n style={pos ? {top: pos.top, left: pos.left} : {visibility: 'hidden'}}\n >\n {content}\n </div>\n </MPortal>\n )}\n </div>\n )\n}\n"],"mappings":";;;;;AAMA,SAAS,EAAgB,GAAkB,GAAiB,GAAgD;AAExG,SAAQ,GAAR;EACI,KAAK,SACD,QAAO;GAAC,KAAK,EAAQ,SAAS;GAAK,MAAM,EAAQ,OAAO,EAAQ,QAAQ,IAAI,EAAO,QAAQ;GAAE;EACjG,KAAK,OACD,QAAO;GAAC,KAAK,EAAQ,MAAM,EAAQ,SAAS,IAAI,EAAO,SAAS;GAAG,MAAM,EAAQ,OAAO,EAAO,QAAQ;GAAI;EAC/G,KAAK,QACD,QAAO;GAAC,KAAK,EAAQ,MAAM,EAAQ,SAAS,IAAI,EAAO,SAAS;GAAG,MAAM,EAAQ,QAAQ;GAAI;EACjG,QACI,QAAO;GAAC,KAAK,EAAQ,MAAM,EAAO,SAAS;GAAK,MAAM,EAAQ,OAAO,EAAQ,QAAQ,IAAI,EAAO,QAAQ;GAAE;;;AAItH,SAAgB,EAAS,EAAC,YAAS,eAAY,OAAO,WAAQ,GAAG,cAAW,aAAU,GAAG,KAAsB;CAC3G,IAAM,CAAC,GAAS,KAAc,EAAS,GAAM,EACvC,CAAC,GAAK,KAAU,EAA6C,KAAK,EAClE,IAAa,EAAuB,KAAK,EACzC,IAAY,EAAuB,KAAK,EACxC,IAAa,EAAsC,KAAK,EAExD,IAAO,QAAkB;AAC3B,EAAI,IAAQ,IACR,EAAW,UAAU,iBAAiB,EAAW,GAAK,EAAE,EAAM,GAE9D,EAAW,GAAK;IAErB,CAAC,EAAM,CAAC,EAEL,IAAO,QAAkB;AAM3B,EALA,AAEI,EAAW,aADX,aAAa,EAAW,QAAQ,EACX,OAEzB,EAAW,GAAM,EACjB,EAAO,KAAK;IACb,EAAE,CAAC;AASN,QAPA,QAAsB;AACd,GAAC,KAAW,CAAC,EAAW,WAAW,CAAC,EAAU,WAGlD,EAAO,EAFa,EAAW,QAAQ,uBAAuB,EAC3C,EAAU,QAAQ,uBAAuB,EACZ,EAAU,CAAC;IAC5D,CAAC,GAAS,EAAU,CAAC,EAGpB,kBAAC,OAAD;EACI,KAAK;EACL,WAAW,EAAG,mBAAmB,EAAU;EAC3C,cAAc;EACd,cAAc;EACd,SAAS;EACT,QAAQ;EACR,GAAI;YAPR,CASK,GACA,KACG,kBAAC,GAAD,EAAA,UACI,kBAAC,OAAD;GACI,KAAK;GACL,WAAW,EAAG,kBAAkB,EAAU;GAC1C,MAAK;GACL,OAAO,IAAM;IAAC,KAAK,EAAI;IAAK,MAAM,EAAI;IAAK,GAAG,EAAC,YAAY,UAAS;aAEnE;GACC,CAAA,EACA,CAAA,CAEZ"}