@banzamel/mineralui 1.4.0 → 1.6.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 (431) hide show
  1. package/README.md +1 -1
  2. package/dist/{MAvatar-B0uPeciT.js → MAvatar-CnBVN71i.js} +5 -5
  3. package/dist/{MAvatar-B0uPeciT.js.map → MAvatar-CnBVN71i.js.map} +1 -1
  4. package/dist/MAvatar-DGEQqUss.cjs +2 -0
  5. package/dist/{MAvatar-DlFdIi6R.cjs.map → MAvatar-DGEQqUss.cjs.map} +1 -1
  6. package/dist/{MBadge-5PivwWxe.js → MBadge-C_vK2JdM.js} +3 -3
  7. package/dist/{MBadge-5PivwWxe.js.map → MBadge-C_vK2JdM.js.map} +1 -1
  8. package/dist/MBadge-DcIPfPH1.cjs +2 -0
  9. package/dist/{MBadge-DNqOptef.cjs.map → MBadge-DcIPfPH1.cjs.map} +1 -1
  10. package/dist/{MButton-Bfe4iq51.js → MButton-BpSZUhpY.js} +4 -4
  11. package/dist/{MButton-Bfe4iq51.js.map → MButton-BpSZUhpY.js.map} +1 -1
  12. package/dist/MButton-LUNWBBOV.cjs +2 -0
  13. package/dist/{MButton-CtEFKjYZ.cjs.map → MButton-LUNWBBOV.cjs.map} +1 -1
  14. package/dist/{MCheckbox-B7SpcD4H.js → MCheckbox-CNz73bQC.js} +3 -3
  15. package/dist/{MCheckbox-B7SpcD4H.js.map → MCheckbox-CNz73bQC.js.map} +1 -1
  16. package/dist/MCheckbox-PzknJeM2.cjs +2 -0
  17. package/dist/{MCheckbox-Bea3orrs.cjs.map → MCheckbox-PzknJeM2.cjs.map} +1 -1
  18. package/dist/{MDataTable-D0ONRmcC.js → MDataTable-AH5Tnirs.js} +7 -7
  19. package/dist/{MDataTable-D0ONRmcC.js.map → MDataTable-AH5Tnirs.js.map} +1 -1
  20. package/dist/MDataTable-Bq6UoNJX.cjs +2 -0
  21. package/dist/{MDataTable-CVwnVouZ.cjs.map → MDataTable-Bq6UoNJX.cjs.map} +1 -1
  22. package/dist/{MDrawer-C7rLXC_O.js → MDrawer-C08QXXC4.js} +4 -4
  23. package/dist/{MDrawer-C7rLXC_O.js.map → MDrawer-C08QXXC4.js.map} +1 -1
  24. package/dist/MDrawer-DRqMsjMt.cjs +2 -0
  25. package/dist/{MDrawer-DF42-zF2.cjs.map → MDrawer-DRqMsjMt.cjs.map} +1 -1
  26. package/dist/{MDropdownMenu-CxBhYxQb.js → MDropdownMenu-CMnBt-wO.js} +4 -4
  27. package/dist/{MDropdownMenu-CxBhYxQb.js.map → MDropdownMenu-CMnBt-wO.js.map} +1 -1
  28. package/dist/MDropdownMenu-CymCQqyP.cjs +2 -0
  29. package/dist/{MDropdownMenu-X7ywPqth.cjs.map → MDropdownMenu-CymCQqyP.cjs.map} +1 -1
  30. package/dist/MGalleryIllustration-BHtRFizZ.cjs +2 -0
  31. package/dist/{MGalleryIllustration-CeOMHzpt.cjs.map → MGalleryIllustration-BHtRFizZ.cjs.map} +1 -1
  32. package/dist/{MGalleryIllustration-D7CVMSwO.js → MGalleryIllustration-DhOtXwhC.js} +2 -2
  33. package/dist/{MGalleryIllustration-D7CVMSwO.js.map → MGalleryIllustration-DhOtXwhC.js.map} +1 -1
  34. package/dist/{MHeading-DBS5Kytw.js → MHeading-BvpWyvjj.js} +4 -4
  35. package/dist/{MHeading-DBS5Kytw.js.map → MHeading-BvpWyvjj.js.map} +1 -1
  36. package/dist/MHeading-DHT1gORD.cjs +2 -0
  37. package/dist/{MHeading-XCMJNMYB.cjs.map → MHeading-DHT1gORD.cjs.map} +1 -1
  38. package/dist/{MI18nProvider-VH14CI8u.js → MI18nProvider-BRZxEMqL.js} +1 -1
  39. package/dist/{MI18nProvider-VH14CI8u.js.map → MI18nProvider-BRZxEMqL.js.map} +1 -1
  40. package/dist/MI18nProvider-Bml7Vs2-.cjs +2 -0
  41. package/dist/{MI18nProvider-4ji0oN3U.cjs.map → MI18nProvider-Bml7Vs2-.cjs.map} +1 -1
  42. package/dist/MImage-BQs91GK-.js +252 -0
  43. package/dist/MImage-BQs91GK-.js.map +1 -0
  44. package/dist/MImage-CxeuH-cT.cjs +2 -0
  45. package/dist/MImage-CxeuH-cT.cjs.map +1 -0
  46. package/dist/MInline-D9p9Sazp.cjs +2 -0
  47. package/dist/MInline-D9p9Sazp.cjs.map +1 -0
  48. package/dist/MInline-DA_ehefx.js +39 -0
  49. package/dist/MInline-DA_ehefx.js.map +1 -0
  50. package/dist/MInput-DDZ71Qqn.cjs +2 -0
  51. package/dist/{MInput-CpEJQ9SV.cjs.map → MInput-DDZ71Qqn.cjs.map} +1 -1
  52. package/dist/{MInput-iKIeefss.js → MInput-l3MY93Su.js} +6 -6
  53. package/dist/{MInput-iKIeefss.js.map → MInput-l3MY93Su.js.map} +1 -1
  54. package/dist/{MInputCVC-BpGTqkQx.js → MInputCVC-CN91scmw.js} +5 -5
  55. package/dist/{MInputCVC-BpGTqkQx.js.map → MInputCVC-CN91scmw.js.map} +1 -1
  56. package/dist/MInputCVC-Sp2uZ5aO.cjs +2 -0
  57. package/dist/{MInputCVC-BuGwm7fv.cjs.map → MInputCVC-Sp2uZ5aO.cjs.map} +1 -1
  58. package/dist/MInputSearch-30o4bcDC.cjs +2 -0
  59. package/dist/{MInputSearch-B-Lqr-QG.cjs.map → MInputSearch-30o4bcDC.cjs.map} +1 -1
  60. package/dist/{MInputSearch-y3_ihYRj.js → MInputSearch-CdPfJ4v_.js} +4 -4
  61. package/dist/{MInputSearch-y3_ihYRj.js.map → MInputSearch-CdPfJ4v_.js.map} +1 -1
  62. package/dist/{MLink-tcICJfPn.js → MLink-CRUWGES-.js} +3 -3
  63. package/dist/{MLink-tcICJfPn.js.map → MLink-CRUWGES-.js.map} +1 -1
  64. package/dist/MLink-U_wAUuz1.cjs +2 -0
  65. package/dist/{MLink-7hndQLKM.cjs.map → MLink-U_wAUuz1.cjs.map} +1 -1
  66. package/dist/{MModal-___Rw8YK.js → MModal-CHSo5gKE.js} +3 -3
  67. package/dist/{MModal-___Rw8YK.js.map → MModal-CHSo5gKE.js.map} +1 -1
  68. package/dist/MModal-Czy-rR--.cjs +2 -0
  69. package/dist/{MModal-DlnT3BBp.cjs.map → MModal-Czy-rR--.cjs.map} +1 -1
  70. package/dist/MPagination-73z0sQvf.cjs +2 -0
  71. package/dist/{MPagination-CTtr_L-Q.cjs.map → MPagination-73z0sQvf.cjs.map} +1 -1
  72. package/dist/{MPagination-CzJGko3i.js → MPagination-DdT1uNzD.js} +8 -8
  73. package/dist/{MPagination-CzJGko3i.js.map → MPagination-DdT1uNzD.js.map} +1 -1
  74. package/dist/{MPopover-BC9C5967.js → MPopover-3tjz5lKh.js} +2 -2
  75. package/dist/{MPopover-BC9C5967.js.map → MPopover-3tjz5lKh.js.map} +1 -1
  76. package/dist/MPopover-BW23_1Dl.cjs +2 -0
  77. package/dist/{MPopover-C3-fGAke.cjs.map → MPopover-BW23_1Dl.cjs.map} +1 -1
  78. package/dist/MPortal-DE3pL2Xl.cjs +2 -0
  79. package/dist/{MPortal-PyRKsZxc.cjs.map → MPortal-DE3pL2Xl.cjs.map} +1 -1
  80. package/dist/MQrCode-CMoru4dD.cjs +2 -0
  81. package/dist/{MQrCode-Cha7657D.cjs.map → MQrCode-CMoru4dD.cjs.map} +1 -1
  82. package/dist/{MQrCode-B7jbpcUj.js → MQrCode-DK5-SBhN.js} +12 -12
  83. package/dist/{MQrCode-B7jbpcUj.js.map → MQrCode-DK5-SBhN.js.map} +1 -1
  84. package/dist/MSkeleton-B0Mxe3L7.cjs +2 -0
  85. package/dist/{MSkeleton-BAkzwxOS.cjs.map → MSkeleton-B0Mxe3L7.cjs.map} +1 -1
  86. package/dist/{MSkeleton-Cwa-JRxo.js → MSkeleton-Bqq_XJn8.js} +4 -4
  87. package/dist/{MSkeleton-Cwa-JRxo.js.map → MSkeleton-Bqq_XJn8.js.map} +1 -1
  88. package/dist/{MSlider-CqrusKJQ.js → MSlider-ByVuoFFc.js} +2 -2
  89. package/dist/{MSlider-CqrusKJQ.js.map → MSlider-ByVuoFFc.js.map} +1 -1
  90. package/dist/MSlider-sH2Vt9Lw.cjs +2 -0
  91. package/dist/{MSlider-BCMJkvcA.cjs.map → MSlider-sH2Vt9Lw.cjs.map} +1 -1
  92. package/dist/MSparkline-B-ld7hJu.cjs +2 -0
  93. package/dist/{MSparkline-BOaNmbeB.cjs.map → MSparkline-B-ld7hJu.cjs.map} +1 -1
  94. package/dist/{MSparkline-Cb_EwR-E.js → MSparkline-DbtdM0W6.js} +2 -2
  95. package/dist/{MSparkline-Cb_EwR-E.js.map → MSparkline-DbtdM0W6.js.map} +1 -1
  96. package/dist/MStack-BWarX5O9.js +39 -0
  97. package/dist/MStack-BWarX5O9.js.map +1 -0
  98. package/dist/MStack-Cy2GplIA.cjs +2 -0
  99. package/dist/MStack-Cy2GplIA.cjs.map +1 -0
  100. package/dist/{MSubText-CHvUFOlt.js → MSubText-C9VizSn9.js} +4 -4
  101. package/dist/{MSubText-CHvUFOlt.js.map → MSubText-C9VizSn9.js.map} +1 -1
  102. package/dist/MSubText-DP9WYlwz.cjs +2 -0
  103. package/dist/{MSubText-Dg3PKnwI.cjs.map → MSubText-DP9WYlwz.cjs.map} +1 -1
  104. package/dist/MSurface-C467dVMQ.cjs +2 -0
  105. package/dist/MSurface-C467dVMQ.cjs.map +1 -0
  106. package/dist/MSurface-DfZ1Zy1-.js +39 -0
  107. package/dist/MSurface-DfZ1Zy1-.js.map +1 -0
  108. package/dist/MTag-DXqkBvqx.cjs +2 -0
  109. package/dist/{MTag-BxoSuAOj.cjs.map → MTag-DXqkBvqx.cjs.map} +1 -1
  110. package/dist/{MTag-CjaE6vPj.js → MTag-N-tYZ915.js} +5 -5
  111. package/dist/{MTag-CjaE6vPj.js.map → MTag-N-tYZ915.js.map} +1 -1
  112. package/dist/{MText-hHMgVJ4-.js → MText-B7_HjPym.js} +3 -3
  113. package/dist/{MText-hHMgVJ4-.js.map → MText-B7_HjPym.js.map} +1 -1
  114. package/dist/MText-COzub3y4.cjs +2 -0
  115. package/dist/{MText-CWHwmjs8.cjs.map → MText-COzub3y4.cjs.map} +1 -1
  116. package/dist/{MTimeAgo-xxl53mct.js → MTimeAgo-D1G2yovw.js} +3 -3
  117. package/dist/{MTimeAgo-xxl53mct.js.map → MTimeAgo-D1G2yovw.js.map} +1 -1
  118. package/dist/MTimeAgo-DWwXs48z.cjs +2 -0
  119. package/dist/{MTimeAgo-91_ndjxU.cjs.map → MTimeAgo-DWwXs48z.cjs.map} +1 -1
  120. package/dist/MToggle-Cm3f6gm4.cjs +2 -0
  121. package/dist/{MToggle-CsGS_W3X.cjs.map → MToggle-Cm3f6gm4.cjs.map} +1 -1
  122. package/dist/{MToggle-B6emKoKq.js → MToggle-D0DrQirB.js} +3 -3
  123. package/dist/{MToggle-B6emKoKq.js.map → MToggle-D0DrQirB.js.map} +1 -1
  124. package/dist/MTooltip-C3PeHgV3.cjs +2 -0
  125. package/dist/{MTooltip-CNXoyQEN.cjs.map → MTooltip-C3PeHgV3.cjs.map} +1 -1
  126. package/dist/{MTooltip-UYOjDBOu.js → MTooltip-w6Aj044c.js} +2 -2
  127. package/dist/{MTooltip-UYOjDBOu.js.map → MTooltip-w6Aj044c.js.map} +1 -1
  128. package/dist/cards-B75QM9JW.cjs +2 -0
  129. package/dist/{cards-CTegCxIA.cjs.map → cards-B75QM9JW.cjs.map} +1 -1
  130. package/dist/{cards-1--Cy-KV.js → cards-BKi8MxNx.js} +272 -272
  131. package/dist/{cards-1--Cy-KV.js.map → cards-BKi8MxNx.js.map} +1 -1
  132. package/dist/cards.cjs +1 -1
  133. package/dist/cards.js +2 -2
  134. package/dist/chunk-350yNsax.cjs +1 -0
  135. package/dist/chunk-efA98nb6.js +13 -0
  136. package/dist/{cn-YER3QsV1.js → cn-CUSXNnjF.js} +1 -1
  137. package/dist/{cn-YER3QsV1.js.map → cn-CUSXNnjF.js.map} +1 -1
  138. package/dist/{cn-CU5TNITO.cjs → cn-DYFxgzi2.cjs} +1 -1
  139. package/dist/{cn-CU5TNITO.cjs.map → cn-DYFxgzi2.cjs.map} +1 -1
  140. package/dist/components/display/MCodeBlock/MCodeBlock.d.ts +2 -0
  141. package/dist/components/display/MCodeBlock/MCodeBlock.types.d.ts +15 -0
  142. package/dist/components/display/MCodeBlock/index.d.ts +2 -0
  143. package/dist/components/display/MReveal/MReveal.d.ts +2 -0
  144. package/dist/components/display/MReveal/MReveal.types.d.ts +14 -0
  145. package/dist/components/display/MReveal/index.d.ts +2 -0
  146. package/dist/components/display/index.d.ts +4 -0
  147. package/dist/components/layout/MGrid/MGrid.d.ts +7 -3
  148. package/dist/components/layout/MGrid/MGrid.types.d.ts +1 -2
  149. package/dist/components/layout/MInline/MInline.d.ts +1 -1
  150. package/dist/components/layout/MInline/MInline.types.d.ts +0 -2
  151. package/dist/components/layout/MSection/MSection.d.ts +1 -1
  152. package/dist/components/layout/MSection/MSection.types.d.ts +0 -2
  153. package/dist/components/layout/MStack/MStack.d.ts +1 -1
  154. package/dist/components/layout/MStack/MStack.types.d.ts +0 -2
  155. package/dist/components/layout/MSurface/MSurface.d.ts +1 -1
  156. package/dist/components/layout/MSurface/MSurface.types.d.ts +0 -2
  157. package/dist/components/media/MGallery/MGallery.d.ts +1 -1
  158. package/dist/components/media/MGallery/MGallery.types.d.ts +3 -0
  159. package/dist/components/media/MImage/MImage.d.ts +1 -1
  160. package/dist/components/media/MImage/MImage.types.d.ts +4 -0
  161. package/dist/components/media/MMediaLightbox/MMediaLightbox.d.ts +14 -0
  162. package/dist/components/media/index.d.ts +1 -0
  163. package/dist/components/media/mediaInteraction.d.ts +3 -0
  164. package/dist/components/media/mediaPreviewRegistry.d.ts +7 -0
  165. package/dist/controls-B7wV_kjJ.cjs +2 -0
  166. package/dist/{controls-CAab2nyg.cjs.map → controls-B7wV_kjJ.cjs.map} +1 -1
  167. package/dist/{controls-C0qr_vMu.js → controls-BEi-0mf4.js} +6 -6
  168. package/dist/{controls-C0qr_vMu.js.map → controls-BEi-0mf4.js.map} +1 -1
  169. package/dist/controls.cjs +1 -1
  170. package/dist/controls.js +5 -5
  171. package/dist/{creditCards-ljs044xt.cjs → creditCards-198KJN0s.cjs} +1 -1
  172. package/dist/{creditCards-ljs044xt.cjs.map → creditCards-198KJN0s.cjs.map} +1 -1
  173. package/dist/{creditCards-CCysEwry.js → creditCards-BB11bW7D.js} +1 -1
  174. package/dist/{creditCards-CCysEwry.js.map → creditCards-BB11bW7D.js.map} +1 -1
  175. package/dist/data-DHkccnSN.cjs +2 -0
  176. package/dist/{data-Uy_XSs32.cjs.map → data-DHkccnSN.cjs.map} +1 -1
  177. package/dist/{data-z3Uc9FSI.js → data-DKrj_Hx6.js} +738 -738
  178. package/dist/{data-z3Uc9FSI.js.map → data-DKrj_Hx6.js.map} +1 -1
  179. package/dist/data.cjs +1 -1
  180. package/dist/data.js +3 -3
  181. package/dist/{dateUtils-CUY6CRCf.js → dateUtils-Ben8lfvV.js} +1 -1
  182. package/dist/{dateUtils-CUY6CRCf.js.map → dateUtils-Ben8lfvV.js.map} +1 -1
  183. package/dist/{dateUtils-Dq1vaA-D.cjs → dateUtils-vT9rOf1J.cjs} +1 -1
  184. package/dist/{dateUtils-Dq1vaA-D.cjs.map → dateUtils-vT9rOf1J.cjs.map} +1 -1
  185. package/dist/display-BoXtzMg5.cjs +3 -0
  186. package/dist/display-BoXtzMg5.cjs.map +1 -0
  187. package/dist/display-Xqa2Qns3.js +685 -0
  188. package/dist/display-Xqa2Qns3.js.map +1 -0
  189. package/dist/display.cjs +1 -1
  190. package/dist/display.js +4 -4
  191. package/dist/{dropdowns-FQlxsOYd.js → dropdowns-BKnXb1XJ.js} +63 -63
  192. package/dist/{dropdowns-FQlxsOYd.js.map → dropdowns-BKnXb1XJ.js.map} +1 -1
  193. package/dist/dropdowns-cRrLY8FG.cjs +2 -0
  194. package/dist/{dropdowns-CzqyYQwR.cjs.map → dropdowns-cRrLY8FG.cjs.map} +1 -1
  195. package/dist/dropdowns.cjs +1 -1
  196. package/dist/dropdowns.js +1 -1
  197. package/dist/{feedback-xtBDPbzP.js → feedback-CIXmm0XT.js} +28 -28
  198. package/dist/{feedback-xtBDPbzP.js.map → feedback-CIXmm0XT.js.map} +1 -1
  199. package/dist/feedback-DiMptPJy.cjs +2 -0
  200. package/dist/{feedback-C9z4MZ-V.cjs.map → feedback-DiMptPJy.cjs.map} +1 -1
  201. package/dist/feedback.cjs +1 -1
  202. package/dist/feedback.js +5 -5
  203. package/dist/form-DABPazeN.cjs +2 -0
  204. package/dist/{form-6JwrowsS.cjs.map → form-DABPazeN.cjs.map} +1 -1
  205. package/dist/{form-CFWADsyf.js → form-DZJxDW59.js} +2 -2
  206. package/dist/{form-CFWADsyf.js.map → form-DZJxDW59.js.map} +1 -1
  207. package/dist/form.cjs +1 -1
  208. package/dist/form.js +1 -1
  209. package/dist/{formatters-CNjg_h7-.cjs → formatters-CauWlsnM.cjs} +1 -1
  210. package/dist/{formatters-CNjg_h7-.cjs.map → formatters-CauWlsnM.cjs.map} +1 -1
  211. package/dist/{formatters-T0vvjMtB.js → formatters-Doqdu_w1.js} +1 -1
  212. package/dist/{formatters-T0vvjMtB.js.map → formatters-Doqdu_w1.js.map} +1 -1
  213. package/dist/frameworkTexts-DPX5T2x3.cjs +2 -0
  214. package/dist/{frameworkTexts-C_9KZK_A.cjs.map → frameworkTexts-DPX5T2x3.cjs.map} +1 -1
  215. package/dist/{frameworkTexts-B6oE8pMk.js → frameworkTexts-DzujbRBe.js} +2 -2
  216. package/dist/{frameworkTexts-B6oE8pMk.js.map → frameworkTexts-DzujbRBe.js.map} +1 -1
  217. package/dist/i18n.cjs +1 -1
  218. package/dist/i18n.js +1 -1
  219. package/dist/icons/MIconV2Scenes.d.ts +2 -1
  220. package/dist/icons/glyphs/MBrandIconsV2.d.ts +2 -0
  221. package/dist/icons/index.d.ts +1 -0
  222. package/dist/icons-BJCV7W0L.cjs +2 -0
  223. package/dist/icons-BJCV7W0L.cjs.map +1 -0
  224. package/dist/{icons-D5DK-J2C.js → icons-DlNO04xH.js} +335 -239
  225. package/dist/icons-DlNO04xH.js.map +1 -0
  226. package/dist/icons.cjs +1 -1
  227. package/dist/icons.js +2 -2
  228. package/dist/illustrations.cjs +1 -1
  229. package/dist/illustrations.js +1 -1
  230. package/dist/index.cjs +1 -1
  231. package/dist/index.d.ts +0 -2
  232. package/dist/index.js +57 -58
  233. package/dist/{inputs-gB1ET0dG.js → inputs-CmpB6eyB.js} +163 -163
  234. package/dist/{inputs-gB1ET0dG.js.map → inputs-CmpB6eyB.js.map} +1 -1
  235. package/dist/inputs-EZBwxk7j.cjs +2 -0
  236. package/dist/{inputs-z84nU7A8.cjs.map → inputs-EZBwxk7j.cjs.map} +1 -1
  237. package/dist/inputs.cjs +1 -1
  238. package/dist/inputs.js +4 -4
  239. package/dist/{layout-DHVIqY-O.js → layout-D72Y7VcW.js} +309 -277
  240. package/dist/layout-D72Y7VcW.js.map +1 -0
  241. package/dist/layout-DZiWboju.cjs +2 -0
  242. package/dist/layout-DZiWboju.cjs.map +1 -0
  243. package/dist/layout.cjs +1 -1
  244. package/dist/layout.js +5 -5
  245. package/dist/{licensing-CwzqhHH9.js → licensing-Cbpi1toF.js} +1 -1
  246. package/dist/{licensing-CwzqhHH9.js.map → licensing-Cbpi1toF.js.map} +1 -1
  247. package/dist/licensing-JchPJhVY.cjs +2 -0
  248. package/dist/{licensing-BXFauUj_.cjs.map → licensing-JchPJhVY.cjs.map} +1 -1
  249. package/dist/locale-DIwV_GfN.cjs +2 -0
  250. package/dist/{locale-BltrWJtd.cjs.map → locale-DIwV_GfN.cjs.map} +1 -1
  251. package/dist/media-BlGY91Na.js +431 -0
  252. package/dist/media-BlGY91Na.js.map +1 -0
  253. package/dist/media-p643cb02.cjs +2 -0
  254. package/dist/media-p643cb02.cjs.map +1 -0
  255. package/dist/media.cjs +1 -1
  256. package/dist/media.js +3 -3
  257. package/dist/{overlays-_zOs7GGk.js → overlays-51pBvlf9.js} +6 -6
  258. package/dist/{overlays-_zOs7GGk.js.map → overlays-51pBvlf9.js.map} +1 -1
  259. package/dist/overlays-8htlWp07.cjs +2 -0
  260. package/dist/{overlays-7HBAQneO.cjs.map → overlays-8htlWp07.cjs.map} +1 -1
  261. package/dist/overlays.cjs +1 -1
  262. package/dist/overlays.js +5 -5
  263. package/dist/primitives.cjs +1 -1
  264. package/dist/primitives.js +1 -1
  265. package/dist/prism-bash-DSVvpDwH.cjs +2 -0
  266. package/dist/prism-bash-DSVvpDwH.cjs.map +1 -0
  267. package/dist/prism-bash-GQKgVScr.js +177 -0
  268. package/dist/prism-bash-GQKgVScr.js.map +1 -0
  269. package/dist/prism-clike-D3g4BfTi.js +30 -0
  270. package/dist/prism-clike-D3g4BfTi.js.map +1 -0
  271. package/dist/prism-clike-wkj9YeLx.cjs +2 -0
  272. package/dist/prism-clike-wkj9YeLx.cjs.map +1 -0
  273. package/dist/prism-core-DV2K1D4T.js +299 -0
  274. package/dist/prism-core-DV2K1D4T.js.map +1 -0
  275. package/dist/prism-core-LzKRJzwD.cjs +2 -0
  276. package/dist/prism-core-LzKRJzwD.cjs.map +1 -0
  277. package/dist/prism-css-4cDqr1x6.js +57 -0
  278. package/dist/prism-css-4cDqr1x6.js.map +1 -0
  279. package/dist/prism-css-BZZ6kh29.cjs +2 -0
  280. package/dist/prism-css-BZZ6kh29.cjs.map +1 -0
  281. package/dist/prism-javascript-CMvYmmlX.cjs +2 -0
  282. package/dist/prism-javascript-CMvYmmlX.cjs.map +1 -0
  283. package/dist/prism-javascript-zm5iB3gQ.js +103 -0
  284. package/dist/prism-javascript-zm5iB3gQ.js.map +1 -0
  285. package/dist/prism-json-BJI5f6tN.js +27 -0
  286. package/dist/prism-json-BJI5f6tN.js.map +1 -0
  287. package/dist/prism-json-D_zmeAHJ.cjs +2 -0
  288. package/dist/prism-json-D_zmeAHJ.cjs.map +1 -0
  289. package/dist/prism-jsx-Byyxdkmw.cjs +2 -0
  290. package/dist/prism-jsx-Byyxdkmw.cjs.map +1 -0
  291. package/dist/prism-jsx-Dk33B94U.js +48 -0
  292. package/dist/prism-jsx-Dk33B94U.js.map +1 -0
  293. package/dist/prism-markup-7d9NWx3c.cjs +2 -0
  294. package/dist/prism-markup-7d9NWx3c.cjs.map +1 -0
  295. package/dist/prism-markup-Cj0PLFM8.js +118 -0
  296. package/dist/prism-markup-Cj0PLFM8.js.map +1 -0
  297. package/dist/prism-markup-templating-BM_XViUy.cjs +2 -0
  298. package/dist/prism-markup-templating-BM_XViUy.cjs.map +1 -0
  299. package/dist/prism-markup-templating-Dc6p1a24.js +41 -0
  300. package/dist/prism-markup-templating-Dc6p1a24.js.map +1 -0
  301. package/dist/prism-php-CGE55yTu.js +279 -0
  302. package/dist/prism-php-CGE55yTu.js.map +1 -0
  303. package/dist/prism-php-C_g4bp0C.cjs +2 -0
  304. package/dist/prism-php-C_g4bp0C.cjs.map +1 -0
  305. package/dist/prism-tsx-Buubi-AJ.cjs +2 -0
  306. package/dist/prism-tsx-Buubi-AJ.cjs.map +1 -0
  307. package/dist/prism-tsx-CueLxs1r.js +10 -0
  308. package/dist/prism-tsx-CueLxs1r.js.map +1 -0
  309. package/dist/prism-typescript-Cj7wU8T7.cjs +2 -0
  310. package/dist/prism-typescript-Cj7wU8T7.cjs.map +1 -0
  311. package/dist/prism-typescript-DC-urVo-.js +40 -0
  312. package/dist/prism-typescript-DC-urVo-.js.map +1 -0
  313. package/dist/{relativeTime-Cr-NVzij.js → relativeTime-BqCuaBqb.js} +1 -1
  314. package/dist/{relativeTime-Cr-NVzij.js.map → relativeTime-BqCuaBqb.js.map} +1 -1
  315. package/dist/{relativeTime-DgYBUaVm.cjs → relativeTime-DUbW4O44.cjs} +1 -1
  316. package/dist/{relativeTime-DgYBUaVm.cjs.map → relativeTime-DUbW4O44.cjs.map} +1 -1
  317. package/dist/style-runtime.cjs +1 -1
  318. package/dist/style-runtime.js +1 -1
  319. package/dist/styles.css +1 -1
  320. package/dist/theme/responsive.d.ts +1 -1
  321. package/dist/theme-Bnwe-wvr.cjs +2 -0
  322. package/dist/{theme-B9iSuxqh.cjs.map → theme-Bnwe-wvr.cjs.map} +1 -1
  323. package/dist/{theme-XRUdoLqw.js → theme-KYwqDZxJ.js} +2 -2
  324. package/dist/{theme-XRUdoLqw.js.map → theme-KYwqDZxJ.js.map} +1 -1
  325. package/dist/theme.cjs +1 -1
  326. package/dist/theme.js +1 -1
  327. package/dist/typography-D1s-QFlb.cjs +2 -0
  328. package/dist/{typography-D0dyVQlP.cjs.map → typography-D1s-QFlb.cjs.map} +1 -1
  329. package/dist/{typography-Db_SHI0H.js → typography-FCWA0UOB.js} +3 -3
  330. package/dist/{typography-Db_SHI0H.js.map → typography-FCWA0UOB.js.map} +1 -1
  331. package/dist/typography.cjs +1 -1
  332. package/dist/typography.js +5 -5
  333. package/dist/{useGhostText-DG0bzcao.js → useGhostText-BJZKdZpw.js} +1 -1
  334. package/dist/{useGhostText-DG0bzcao.js.map → useGhostText-BJZKdZpw.js.map} +1 -1
  335. package/dist/useGhostText-D1DbIs-n.cjs +2 -0
  336. package/dist/{useGhostText-QMdO_HK6.cjs.map → useGhostText-D1DbIs-n.cjs.map} +1 -1
  337. package/dist/useInteractionEffect-CYHGHV1e.cjs +2 -0
  338. package/dist/{useInteractionEffect-DnEfbCrX.cjs.map → useInteractionEffect-CYHGHV1e.cjs.map} +1 -1
  339. package/dist/{useInteractionEffect-DtpbVd77.js → useInteractionEffect-ClkU3aH5.js} +1 -1
  340. package/dist/{useInteractionEffect-DtpbVd77.js.map → useInteractionEffect-ClkU3aH5.js.map} +1 -1
  341. package/dist/useKeyboardNav-BoibrRUF.cjs +2 -0
  342. package/dist/{useKeyboardNav-BrODLJaL.cjs.map → useKeyboardNav-BoibrRUF.cjs.map} +1 -1
  343. package/dist/{useKeyboardNav-iEXOdEMB.js → useKeyboardNav-CBOdeTFM.js} +1 -1
  344. package/dist/{useKeyboardNav-iEXOdEMB.js.map → useKeyboardNav-CBOdeTFM.js.map} +1 -1
  345. package/dist/utils.cjs +1 -1
  346. package/dist/utils.entry.d.ts +0 -2
  347. package/dist/utils.js +11 -12
  348. package/dist/{validators-BeNTD8mf.cjs → validators-D4aTeaH0.cjs} +1 -1
  349. package/dist/{validators-BeNTD8mf.cjs.map → validators-D4aTeaH0.cjs.map} +1 -1
  350. package/dist/{validators-H8tNxb8O.js → validators-YZyyyLvE.js} +1 -1
  351. package/dist/{validators-H8tNxb8O.js.map → validators-YZyyyLvE.js.map} +1 -1
  352. package/package.json +4 -1
  353. package/dist/MAvatar-DlFdIi6R.cjs +0 -2
  354. package/dist/MBadge-DNqOptef.cjs +0 -2
  355. package/dist/MButton-CtEFKjYZ.cjs +0 -2
  356. package/dist/MCheckbox-Bea3orrs.cjs +0 -2
  357. package/dist/MDataTable-CVwnVouZ.cjs +0 -2
  358. package/dist/MDrawer-DF42-zF2.cjs +0 -2
  359. package/dist/MDropdownMenu-X7ywPqth.cjs +0 -2
  360. package/dist/MGalleryIllustration-CeOMHzpt.cjs +0 -2
  361. package/dist/MHeading-XCMJNMYB.cjs +0 -2
  362. package/dist/MI18nProvider-4ji0oN3U.cjs +0 -2
  363. package/dist/MImage-2Xztd_N6.cjs +0 -2
  364. package/dist/MImage-2Xztd_N6.cjs.map +0 -1
  365. package/dist/MImage-UmiZwzDJ.js +0 -53
  366. package/dist/MImage-UmiZwzDJ.js.map +0 -1
  367. package/dist/MInline-BYsbmfkz.js +0 -41
  368. package/dist/MInline-BYsbmfkz.js.map +0 -1
  369. package/dist/MInline-oCvhfJwM.cjs +0 -2
  370. package/dist/MInline-oCvhfJwM.cjs.map +0 -1
  371. package/dist/MInput-CpEJQ9SV.cjs +0 -2
  372. package/dist/MInputCVC-BuGwm7fv.cjs +0 -2
  373. package/dist/MInputSearch-B-Lqr-QG.cjs +0 -2
  374. package/dist/MLink-7hndQLKM.cjs +0 -2
  375. package/dist/MModal-DlnT3BBp.cjs +0 -2
  376. package/dist/MPagination-CTtr_L-Q.cjs +0 -2
  377. package/dist/MPopover-C3-fGAke.cjs +0 -2
  378. package/dist/MPortal-PyRKsZxc.cjs +0 -2
  379. package/dist/MQrCode-Cha7657D.cjs +0 -2
  380. package/dist/MSkeleton-BAkzwxOS.cjs +0 -2
  381. package/dist/MSlider-BCMJkvcA.cjs +0 -2
  382. package/dist/MSparkline-BOaNmbeB.cjs +0 -2
  383. package/dist/MStack-Bp1x4woD.cjs +0 -2
  384. package/dist/MStack-Bp1x4woD.cjs.map +0 -1
  385. package/dist/MStack-DVOFZo1L.js +0 -41
  386. package/dist/MStack-DVOFZo1L.js.map +0 -1
  387. package/dist/MSubText-Dg3PKnwI.cjs +0 -2
  388. package/dist/MSurface-ClPdv7a4.cjs +0 -2
  389. package/dist/MSurface-ClPdv7a4.cjs.map +0 -1
  390. package/dist/MSurface-FEfWBJFx.js +0 -41
  391. package/dist/MSurface-FEfWBJFx.js.map +0 -1
  392. package/dist/MTag-BxoSuAOj.cjs +0 -2
  393. package/dist/MText-CWHwmjs8.cjs +0 -2
  394. package/dist/MTimeAgo-91_ndjxU.cjs +0 -2
  395. package/dist/MToggle-CsGS_W3X.cjs +0 -2
  396. package/dist/MTooltip-CNXoyQEN.cjs +0 -2
  397. package/dist/cards-CTegCxIA.cjs +0 -2
  398. package/dist/controls-CAab2nyg.cjs +0 -2
  399. package/dist/data-Uy_XSs32.cjs +0 -2
  400. package/dist/display-GygMuO4c.js +0 -467
  401. package/dist/display-GygMuO4c.js.map +0 -1
  402. package/dist/display-WS1tupQD.cjs +0 -2
  403. package/dist/display-WS1tupQD.cjs.map +0 -1
  404. package/dist/dropdowns-CzqyYQwR.cjs +0 -2
  405. package/dist/feedback-C9z4MZ-V.cjs +0 -2
  406. package/dist/form-6JwrowsS.cjs +0 -2
  407. package/dist/frameworkTexts-C_9KZK_A.cjs +0 -2
  408. package/dist/icons-D5DK-J2C.js.map +0 -1
  409. package/dist/icons-Dv1T-cF4.cjs +0 -2
  410. package/dist/icons-Dv1T-cF4.cjs.map +0 -1
  411. package/dist/inputs-z84nU7A8.cjs +0 -2
  412. package/dist/layout-BIPyHdYN.cjs +0 -2
  413. package/dist/layout-BIPyHdYN.cjs.map +0 -1
  414. package/dist/layout-DHVIqY-O.js.map +0 -1
  415. package/dist/licensing-BXFauUj_.cjs +0 -2
  416. package/dist/locale-BltrWJtd.cjs +0 -2
  417. package/dist/media-Ch3Fyf4K.cjs +0 -2
  418. package/dist/media-Ch3Fyf4K.cjs.map +0 -1
  419. package/dist/media-DV58aS3j.js +0 -408
  420. package/dist/media-DV58aS3j.js.map +0 -1
  421. package/dist/overlays-7HBAQneO.cjs +0 -2
  422. package/dist/theme-B9iSuxqh.cjs +0 -2
  423. package/dist/typography-D0dyVQlP.cjs +0 -2
  424. package/dist/useGhostText-QMdO_HK6.cjs +0 -2
  425. package/dist/useInteractionEffect-DnEfbCrX.cjs +0 -2
  426. package/dist/useKeyboardNav-BrODLJaL.cjs +0 -2
  427. package/dist/useReveal-BJ59usiL.js +0 -23
  428. package/dist/useReveal-BJ59usiL.js.map +0 -1
  429. package/dist/useReveal-B_17PI89.cjs +0 -2
  430. package/dist/useReveal-B_17PI89.cjs.map +0 -1
  431. package/dist/utils/useReveal.d.ts +0 -2
@@ -1 +0,0 @@
1
- {"version":3,"file":"media-Ch3Fyf4K.cjs","names":[],"sources":["../src/components/media/MGallery/MGallery.tsx","../src/components/media/MCarousel/MCarousel.tsx","../src/components/media/mediaInteraction.ts","../src/components/media/MShowcaseCarouselItem/MShowcaseCarouselItem.tsx","../src/components/media/MShowcaseCarousel/MShowcaseCarousel.tsx","../src/components/media/MMasonry/MMasonry.tsx","../src/components/media/MMasonryItem/MMasonryItem.tsx","../src/components/media/MAvatarStack/MAvatarStack.tsx"],"sourcesContent":["import type {MGalleryProps} from './MGallery.types'\nimport {cn} from '../../../utils/cn'\nimport {useInteractionEffect} from '../../../utils/useInteractionEffect'\nimport './MGallery.css'\n\n// Render a responsive image grid gallery.\nexport function MGallery({\n items,\n columns = 3,\n rounded = true,\n clickEffect = 'ripple',\n className,\n ...rest\n}: MGalleryProps) {\n return (\n <div className={cn('gallery', `columns-${columns}`, className)} {...rest}>\n {items.map((item, i) => (\n <GalleryFigure key={i} item={item} rounded={rounded} clickEffect={clickEffect} />\n ))}\n </div>\n )\n}\n\nfunction GalleryFigure({\n item,\n rounded,\n clickEffect,\n}: {\n item: {src: string; alt?: string; caption?: string}\n rounded: boolean\n clickEffect: 'none' | 'ripple'\n}) {\n const {effectClassName, effectLayer, handlePointerDown} = useInteractionEffect<HTMLElement>({\n effect: clickEffect,\n })\n\n return (\n <figure className={cn('gallery-item', rounded && 'rounded', effectClassName)} onPointerDown={handlePointerDown}>\n <img className=\"gallery-image\" src={item.src} alt={item.alt || ''} loading=\"lazy\" />\n {item.caption && <figcaption className=\"gallery-caption\">{item.caption}</figcaption>}\n {effectLayer}\n </figure>\n )\n}\n","import {useState, useEffect, useCallback, useRef, Children} from 'react'\nimport type * as React from 'react'\nimport type {MCarouselProps} from './MCarousel.types'\nimport {cn} from '../../../utils/cn'\nimport {MButton} from '../../controls'\nimport {MChevronLeftIcon, MChevronRightIcon} from '../../../icons'\nimport './MCarousel.css'\n\n// Render a swipeable content slider with arrows, dots and transition modes.\nexport function MCarousel({\n autoPlay = false,\n interval = 5000,\n showDots = true,\n showArrows = true,\n loop = true,\n draggable = true,\n transition = 'slide',\n className,\n children,\n ...rest\n}: MCarouselProps) {\n const slides = Children.toArray(children)\n const count = slides.length\n const [active, setActive] = useState(0)\n const [dragOffset, setDragOffset] = useState(0)\n const [isDragging, setIsDragging] = useState(false)\n const dragStartX = useRef(0)\n const trackRef = useRef<HTMLDivElement>(null)\n\n const goTo = useCallback(\n (index: number) => {\n if (loop) {\n setActive((index + count) % count)\n } else {\n setActive(Math.max(0, Math.min(index, count - 1)))\n }\n },\n [count, loop]\n )\n\n const prev = useCallback(() => goTo(active - 1), [active, goTo])\n const next = useCallback(() => goTo(active + 1), [active, goTo])\n\n useEffect(() => {\n if (!autoPlay || count <= 1 || isDragging) return\n const timer = setInterval(next, interval)\n return () => clearInterval(timer)\n }, [autoPlay, interval, next, count, isDragging])\n\n const handleDragStart = (clientX: number) => {\n if (!draggable) return\n setIsDragging(true)\n dragStartX.current = clientX\n setDragOffset(0)\n }\n\n const handleDragMove = (clientX: number) => {\n if (!isDragging) return\n const diff = clientX - dragStartX.current\n setDragOffset(diff)\n }\n\n const handleDragEnd = () => {\n if (!isDragging) return\n setIsDragging(false)\n const threshold = 50\n if (dragOffset < -threshold) {\n next()\n } else if (dragOffset > threshold) {\n prev()\n }\n setDragOffset(0)\n }\n\n const onPointerDown = (e: React.PointerEvent) => {\n if (!draggable) return\n e.currentTarget.setPointerCapture(e.pointerId)\n handleDragStart(e.clientX)\n }\n\n const onPointerMove = (e: React.PointerEvent) => {\n handleDragMove(e.clientX)\n }\n\n const onPointerUp = () => {\n handleDragEnd()\n }\n\n if (count === 0) return null\n\n const isFade = transition === 'fade'\n const trackStyle = !isFade\n ? {transform: `translateX(calc(-${active * 100}% + ${isDragging ? dragOffset : 0}px))`}\n : undefined\n\n return (\n <div className={cn('carousel', isFade && 'fade', className)} {...rest}>\n <div\n className=\"carousel-viewport\"\n onPointerDown={onPointerDown}\n onPointerMove={onPointerMove}\n onPointerUp={onPointerUp}\n onPointerCancel={onPointerUp}\n style={{\n touchAction: draggable ? 'pan-y' : undefined,\n cursor: draggable ? (isDragging ? 'grabbing' : 'grab') : undefined,\n }}\n >\n <div ref={trackRef} className={cn('carousel-track', isDragging && 'dragging')} style={trackStyle}>\n {slides.map((slide, i) => (\n <div\n key={i}\n className={cn(\n 'carousel-slide',\n isFade && i === active && 'active',\n isFade && i !== active && 'hidden'\n )}\n >\n {slide}\n </div>\n ))}\n </div>\n </div>\n\n {showArrows && count > 1 && (\n <>\n <MButton\n variant=\"ghost\"\n color=\"primary\"\n iconOnly\n shape=\"circle\"\n onClick={prev}\n aria-label=\"Previous slide\"\n className=\"carousel-arrow carousel-arrow-prev\"\n >\n <MChevronLeftIcon />\n </MButton>\n <MButton\n variant=\"ghost\"\n color=\"primary\"\n iconOnly\n shape=\"circle\"\n onClick={next}\n aria-label=\"Next slide\"\n className=\"carousel-arrow carousel-arrow-next\"\n >\n <MChevronRightIcon />\n </MButton>\n </>\n )}\n\n {showDots && count > 1 && (\n <div className=\"carousel-dots\">\n {slides.map((_, i) => (\n <button\n key={i}\n className={cn('carousel-dot', i === active && 'active')}\n onClick={() => goTo(i)}\n aria-label={`Slide ${i + 1}`}\n type=\"button\"\n />\n ))}\n </div>\n )}\n </div>\n )\n}\n","import type {MClickEffect} from '../../utils/useInteractionEffect'\n\nexport type MMediaInteractionEffect = MClickEffect | 'zoom' | 'dim' | 'zoom-ripple'\n\nexport function usesRipple(effect: MMediaInteractionEffect): boolean {\n return effect === 'ripple' || effect === 'zoom-ripple'\n}\n\nexport function usesZoom(effect: MMediaInteractionEffect): boolean {\n return effect === 'zoom' || effect === 'zoom-ripple'\n}\n\nexport function usesDim(effect: MMediaInteractionEffect): boolean {\n return effect === 'dim'\n}\n","import type {CSSProperties} from 'react'\nimport {MCard, MCardBody, MCardFooter} from '../../cards'\nimport {MImage} from '../MImage'\nimport {cn} from '../../../utils/cn'\nimport {usesDim, usesRipple, usesZoom} from '../mediaInteraction'\nimport type {MShowcaseCarouselItemProps} from './MShowcaseCarouselItem.types'\nimport './MShowcaseCarouselItem.css'\n\nexport function MShowcaseCarouselItem({\n src,\n alt = '',\n media,\n mediaHeight,\n overlay,\n body,\n footer,\n interactive = false,\n imageClickEffect = 'ripple',\n ratio = '16:9',\n fit = 'cover',\n imgProps,\n children,\n}: MShowcaseCarouselItemProps) {\n const content = body ?? children\n const shouldRipple = usesRipple(imageClickEffect)\n const cardStyle = mediaHeight\n ? ({\n '--media-height': typeof mediaHeight === 'number' ? `${mediaHeight}px` : mediaHeight,\n } as CSSProperties)\n : undefined\n const hasMedia = Boolean(media || src)\n\n return (\n <MCard\n interactive={interactive}\n clickEffect={imageClickEffect !== 'none' ? 'none' : undefined}\n className={cn('showcase card', interactive && 'interactive')}\n style={cardStyle}\n >\n {hasMedia ? (\n <div\n className={cn(\n 'showcase media',\n usesZoom(imageClickEffect) && 'effect-zoom',\n usesDim(imageClickEffect) && 'effect-dim'\n )}\n >\n {media ? (\n <div className=\"showcase media-content\">{media}</div>\n ) : (\n <MImage\n {...imgProps}\n src={src}\n alt={alt}\n ratio={ratio}\n fit={fit}\n rounded\n shadow\n clickEffect={shouldRipple ? 'ripple' : 'none'}\n />\n )}\n {overlay ? <div className=\"showcase overlay\">{overlay}</div> : null}\n </div>\n ) : null}\n {content ? <MCardBody className=\"showcase body\">{content}</MCardBody> : null}\n {footer ? <MCardFooter className=\"showcase footer\">{footer}</MCardFooter> : null}\n </MCard>\n )\n}\n","import {Children, useCallback, useEffect, useMemo, useRef, useState} from 'react'\nimport type {CSSProperties, PointerEvent as ReactPointerEvent, ReactNode} from 'react'\nimport {MButton} from '../../controls'\nimport {MShowcaseCarouselItem} from '../MShowcaseCarouselItem'\nimport {MChevronLeftIcon, MChevronRightIcon} from '../../../icons'\nimport {cn} from '../../../utils/cn'\nimport type {MShowcaseCarouselProps, MShowcaseCarouselSlide} from './MShowcaseCarousel.types'\nimport './MShowcaseCarousel.css'\n\nfunction clamp(value: number, min: number, max: number) {\n return Math.min(Math.max(value, min), max)\n}\n\nfunction isInteractiveTarget(target: EventTarget | null) {\n if (!(target instanceof Element)) {\n return false\n }\n\n return !!target.closest(\n 'button, a, input, select, textarea, label, summary, [role=\"button\"], [role=\"link\"], [data-carousel-ignore-drag=\"true\"]'\n )\n}\n\nfunction getSlides<T>(items?: T[], renderItem?: (item: T, index: number) => ReactNode, children?: ReactNode) {\n if (items && renderItem) {\n return items.map((item, index) => renderItem(item, index))\n }\n\n if (items) {\n return items\n .map((item, index) => {\n if (!isShowcaseItem(item)) {\n return null\n }\n\n return <ShowcaseMediaSlide key={index} item={item} />\n })\n .filter(Boolean)\n }\n\n return Children.toArray(children)\n}\n\nfunction isShowcaseItem(value: unknown): value is MShowcaseCarouselSlide {\n const slide = value as {src?: unknown}\n return !!value && typeof value === 'object' && 'src' in value && typeof slide.src === 'string'\n}\n\nfunction ShowcaseMediaSlide({item}: {item: MShowcaseCarouselSlide}) {\n return <MShowcaseCarouselItem src={item.src} alt={item.alt || ''} overlay={item.overlay} />\n}\n\n// Show a centered, mouse-driven carousel with partial side previews.\nexport function MShowcaseCarousel<T = unknown>({\n items,\n renderItem,\n initialIndex,\n showButtons = true,\n loop = true,\n draggable = true,\n wheel = true,\n itemMinWidth = 220,\n itemMaxWidth = 520,\n itemWidthRatio = 0.56,\n className,\n children,\n style,\n ...rest\n}: MShowcaseCarouselProps<T>) {\n const slides = useMemo(() => getSlides(items, renderItem, children), [children, items, renderItem])\n const count = slides.length\n const [active, setActive] = useState(0)\n const [drag, setDrag] = useState(0)\n const [dragging, setDragging] = useState(false)\n const [stageWidth, setStageWidth] = useState(0)\n const stageRef = useRef<HTMLDivElement>(null)\n const startX = useRef(0)\n const wheelLock = useRef(false)\n\n const widthRatio =\n stageWidth < 640\n ? Math.max(itemWidthRatio, 0.78)\n : stageWidth < 960\n ? Math.max(itemWidthRatio, 0.66)\n : itemWidthRatio\n const itemWidth = clamp(stageWidth * widthRatio || itemMinWidth, itemMinWidth, itemMaxWidth)\n const itemGap = clamp(stageWidth * 0.022 || 16, 10, 24)\n\n useEffect(() => {\n const node = stageRef.current\n if (!node) return\n\n const update = () => setStageWidth(node.clientWidth)\n update()\n\n const observer = new ResizeObserver(update)\n observer.observe(node)\n\n return () => observer.disconnect()\n }, [])\n\n useEffect(() => {\n if (!count) return\n\n const defaultIndex = initialIndex ?? Math.floor((count - 1) / 2)\n setActive(clamp(defaultIndex, 0, count - 1))\n }, [count, initialIndex])\n\n const goTo = useCallback(\n (nextIndex: number) => {\n if (count < 1) return\n\n if (loop) {\n setActive((nextIndex + count) % count)\n return\n }\n\n setActive(clamp(nextIndex, 0, count - 1))\n },\n [count, loop]\n )\n\n const prev = useCallback(() => goTo(active - 1), [active, goTo])\n const next = useCallback(() => goTo(active + 1), [active, goTo])\n\n const onPointerDown = (event: ReactPointerEvent<HTMLDivElement>) => {\n if (!draggable || count <= 1) return\n if (isInteractiveTarget(event.target)) return\n event.currentTarget.setPointerCapture(event.pointerId)\n setDragging(true)\n startX.current = event.clientX\n setDrag(0)\n }\n\n const onPointerMove = (event: ReactPointerEvent<HTMLDivElement>) => {\n if (!dragging) return\n setDrag(event.clientX - startX.current)\n }\n\n const stopDrag = () => {\n if (!dragging) return\n\n const limit = Math.max(56, itemWidth * 0.12)\n\n if (drag <= -limit) {\n next()\n } else if (drag >= limit) {\n prev()\n }\n\n setDragging(false)\n setDrag(0)\n }\n\n useEffect(() => {\n const node = stageRef.current\n if (!node) return\n\n const handleWheel = (event: WheelEvent) => {\n if (!wheel || count <= 1 || wheelLock.current) return\n\n const axis = Math.abs(event.deltaX) > Math.abs(event.deltaY) ? event.deltaX : event.deltaY\n if (Math.abs(axis) < 28) return\n\n event.preventDefault()\n event.stopPropagation()\n\n wheelLock.current = true\n window.setTimeout(() => {\n wheelLock.current = false\n }, 260)\n\n if (axis > 0) {\n next()\n } else {\n prev()\n }\n }\n\n node.addEventListener('wheel', handleWheel, {passive: false})\n return () => node.removeEventListener('wheel', handleWheel)\n }, [count, next, prev, wheel])\n\n if (!count) return null\n\n const offset = stageWidth / 2 - active * (itemWidth + itemGap) - itemWidth / 2 + drag\n\n return (\n <div\n className={cn('showcase', className)}\n style={{...style, '--item-width': `${itemWidth}px`} as CSSProperties}\n {...rest}\n >\n <div\n ref={stageRef}\n className=\"showcase-stage\"\n onPointerDown={onPointerDown}\n onPointerMove={onPointerMove}\n onPointerUp={stopDrag}\n onPointerCancel={stopDrag}\n onPointerLeave={stopDrag}\n style={{\n cursor: draggable && count > 1 ? (dragging ? 'grabbing' : 'grab') : undefined,\n }}\n >\n <div\n className={cn('showcase-track', dragging && 'dragging')}\n style={{\n transform: `translateX(${offset}px)`,\n gap: `${itemGap}px`,\n }}\n >\n {slides.map((slide, index) => {\n const dist = Math.abs(index - active)\n\n return (\n <div\n key={index}\n className={cn(\n 'showcase-item',\n index === active && 'active',\n dist === 1 && 'near',\n dist >= 2 && 'far'\n )}\n style={{zIndex: Math.max(1, count - dist)}}\n >\n {slide}\n </div>\n )\n })}\n </div>\n </div>\n\n {showButtons && count > 1 && (\n <div className=\"showcase-actions\">\n <MButton\n type=\"button\"\n variant=\"secondary\"\n className=\"showcase-btn\"\n startIcon={<MChevronLeftIcon />}\n onClick={prev}\n >\n Previous\n </MButton>\n <MButton type=\"button\" className=\"showcase-btn\" endIcon={<MChevronRightIcon />} onClick={next}>\n Next\n </MButton>\n </div>\n )}\n </div>\n )\n}\n","import {Children} from 'react'\nimport type {ReactNode} from 'react'\nimport {cn} from '../../../utils/cn'\nimport type {MMasonryProps} from './MMasonry.types'\nimport './MMasonry.css'\n\nfunction getItems<T>(items?: T[], renderItem?: (item: T, index: number) => ReactNode, children?: ReactNode) {\n if (items && renderItem) {\n return items.map((item, index) => renderItem(item, index))\n }\n\n return Children.toArray(children)\n}\n\n// Render a responsive masonry wall for images, cards and uneven content.\nexport function MMasonry<T = unknown>({\n items,\n renderItem,\n columns = 3,\n className,\n children,\n style,\n ...rest\n}: MMasonryProps<T>) {\n const content = getItems(items, renderItem, children)\n\n if (!content.length) return null\n\n return (\n <div className={cn('masonry', className)} style={{...style, columnCount: columns}} {...rest}>\n {content.map((item, index) => (\n <div key={index} className=\"masonry item\">\n {item}\n </div>\n ))}\n </div>\n )\n}\n","import {MCard, MCardBody, MCardFooter} from '../../cards'\nimport {cn} from '../../../utils/cn'\nimport {useInteractionEffect} from '../../../utils/useInteractionEffect'\nimport {usesDim, usesRipple, usesZoom} from '../mediaInteraction'\nimport './MMasonryItem.css'\nimport type {MMasonryItemProps} from './MMasonryItem.types'\n\nexport function MMasonryItem({\n src,\n alt = '',\n height,\n overlay,\n body,\n footer,\n interactive = false,\n imageClickEffect = 'none',\n imgProps,\n children,\n}: MMasonryItemProps) {\n const imgStyle = height ? {...imgProps?.style, height} : imgProps?.style\n const content = body ?? children\n const shouldRipple = usesRipple(imageClickEffect)\n const {effectClassName, effectLayer, handlePointerDown} = useInteractionEffect<HTMLDivElement>({\n effect: shouldRipple ? 'ripple' : 'none',\n })\n\n return (\n <MCard\n interactive={interactive}\n clickEffect={imageClickEffect !== 'none' ? 'none' : undefined}\n className={cn('masonry card', interactive && 'interactive')}\n >\n <div\n className={cn(\n 'masonry media',\n effectClassName,\n usesZoom(imageClickEffect) && 'effect-zoom',\n usesDim(imageClickEffect) && 'effect-dim'\n )}\n onPointerDown={(event) => {\n const target = event.target as HTMLElement\n\n if (target.closest('.masonry.overlay')) {\n return\n }\n\n handlePointerDown(event)\n }}\n >\n <img {...imgProps} src={src} alt={alt} className=\"masonry img\" style={imgStyle} />\n {overlay ? <div className=\"masonry overlay\">{overlay}</div> : null}\n {effectLayer}\n </div>\n {content ? <MCardBody className=\"masonry body\">{content}</MCardBody> : null}\n {footer ? <MCardFooter className=\"masonry footer\">{footer}</MCardFooter> : null}\n </MCard>\n )\n}\n","import type {MAvatarStackProps} from './MAvatarStack.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {MAvatar} from '../MAvatar'\nimport './MAvatarStack.css'\n\nexport function MAvatarStack({\n items,\n max = 5,\n size = 'sm',\n color = 'primary',\n hidden,\n overlap = 10,\n className,\n style,\n ...rest\n}: MAvatarStackProps) {\n if (!items || items.length === 0) return null\n\n const visible = items.slice(0, max)\n const overflowCount = items.length - max\n const avatarPx = typeof size === 'number' ? size : ({xs: 20, sm: 28, md: 40, lg: 56, xl: 72}[size] ?? 28)\n\n return (\n <div\n className={cn('avatar-stack', className)}\n style={{'--avatar-stack-overlap': `-${overlap}px`, ...style} as React.CSSProperties}\n {...getHiddenProps(hidden)}\n {...rest}\n >\n {visible.map((item, i) => (\n <MAvatar\n key={i}\n src={item.avatar}\n name={item.name}\n size={size}\n color={color}\n className=\"avatar-stack-item\"\n style={{zIndex: i + 1}}\n />\n ))}\n {overflowCount > 0 && (\n <span\n className=\"avatar-stack-overflow\"\n style={{\n width: avatarPx,\n height: avatarPx,\n fontSize: avatarPx * 0.38,\n zIndex: visible.length + 1,\n }}\n >\n +{overflowCount}\n </span>\n )}\n </div>\n )\n}\n"],"mappings":"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"}
@@ -1,408 +0,0 @@
1
- import { r as e } from "./theme-XRUdoLqw.js";
2
- import { Ni as t, Pi as n } from "./icons-D5DK-J2C.js";
3
- import { t as r } from "./cn-YER3QsV1.js";
4
- import { t as i } from "./useInteractionEffect-DtpbVd77.js";
5
- import { t as a } from "./MButton-Bfe4iq51.js";
6
- import { i as o, n as s, r as c } from "./MSkeleton-Cwa-JRxo.js";
7
- import { t as l } from "./MImage-UmiZwzDJ.js";
8
- import { t as u } from "./MAvatar-B0uPeciT.js";
9
- import { Children as d, useCallback as f, useEffect as p, useMemo as m, useRef as h, useState as g } from "react";
10
- import { Fragment as _, jsx as v, jsxs as y } from "react/jsx-runtime";
11
- //#region src/components/media/MGallery/MGallery.tsx
12
- function b({ items: e, columns: t = 3, rounded: n = !0, clickEffect: i = "ripple", className: a, ...o }) {
13
- return /* @__PURE__ */ v("div", {
14
- className: r("gallery", `columns-${t}`, a),
15
- ...o,
16
- children: e.map((e, t) => /* @__PURE__ */ v(x, {
17
- item: e,
18
- rounded: n,
19
- clickEffect: i
20
- }, t))
21
- });
22
- }
23
- function x({ item: e, rounded: t, clickEffect: n }) {
24
- let { effectClassName: a, effectLayer: o, handlePointerDown: s } = i({ effect: n });
25
- return /* @__PURE__ */ y("figure", {
26
- className: r("gallery-item", t && "rounded", a),
27
- onPointerDown: s,
28
- children: [
29
- /* @__PURE__ */ v("img", {
30
- className: "gallery-image",
31
- src: e.src,
32
- alt: e.alt || "",
33
- loading: "lazy"
34
- }),
35
- e.caption && /* @__PURE__ */ v("figcaption", {
36
- className: "gallery-caption",
37
- children: e.caption
38
- }),
39
- o
40
- ]
41
- });
42
- }
43
- //#endregion
44
- //#region src/components/media/MCarousel/MCarousel.tsx
45
- function S({ autoPlay: e = !1, interval: i = 5e3, showDots: o = !0, showArrows: s = !0, loop: c = !0, draggable: l = !0, transition: u = "slide", className: m, children: b, ...x }) {
46
- let S = d.toArray(b), C = S.length, [w, T] = g(0), [E, D] = g(0), [O, k] = g(!1), A = h(0), j = h(null), M = f((e) => {
47
- T(c ? (e + C) % C : Math.max(0, Math.min(e, C - 1)));
48
- }, [C, c]), N = f(() => M(w - 1), [w, M]), P = f(() => M(w + 1), [w, M]);
49
- p(() => {
50
- if (!e || C <= 1 || O) return;
51
- let t = setInterval(P, i);
52
- return () => clearInterval(t);
53
- }, [
54
- e,
55
- i,
56
- P,
57
- C,
58
- O
59
- ]);
60
- let F = (e) => {
61
- l && (k(!0), A.current = e, D(0));
62
- }, I = (e) => {
63
- O && D(e - A.current);
64
- }, L = () => {
65
- O && (k(!1), E < -50 ? P() : E > 50 && N(), D(0));
66
- }, R = (e) => {
67
- l && (e.currentTarget.setPointerCapture(e.pointerId), F(e.clientX));
68
- }, z = (e) => {
69
- I(e.clientX);
70
- }, B = () => {
71
- L();
72
- };
73
- if (C === 0) return null;
74
- let V = u === "fade", H = V ? void 0 : { transform: `translateX(calc(-${w * 100}% + ${O ? E : 0}px))` };
75
- return /* @__PURE__ */ y("div", {
76
- className: r("carousel", V && "fade", m),
77
- ...x,
78
- children: [
79
- /* @__PURE__ */ v("div", {
80
- className: "carousel-viewport",
81
- onPointerDown: R,
82
- onPointerMove: z,
83
- onPointerUp: B,
84
- onPointerCancel: B,
85
- style: {
86
- touchAction: l ? "pan-y" : void 0,
87
- cursor: l ? O ? "grabbing" : "grab" : void 0
88
- },
89
- children: /* @__PURE__ */ v("div", {
90
- ref: j,
91
- className: r("carousel-track", O && "dragging"),
92
- style: H,
93
- children: S.map((e, t) => /* @__PURE__ */ v("div", {
94
- className: r("carousel-slide", V && t === w && "active", V && t !== w && "hidden"),
95
- children: e
96
- }, t))
97
- })
98
- }),
99
- s && C > 1 && /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v(a, {
100
- variant: "ghost",
101
- color: "primary",
102
- iconOnly: !0,
103
- shape: "circle",
104
- onClick: N,
105
- "aria-label": "Previous slide",
106
- className: "carousel-arrow carousel-arrow-prev",
107
- children: /* @__PURE__ */ v(n, {})
108
- }), /* @__PURE__ */ v(a, {
109
- variant: "ghost",
110
- color: "primary",
111
- iconOnly: !0,
112
- shape: "circle",
113
- onClick: P,
114
- "aria-label": "Next slide",
115
- className: "carousel-arrow carousel-arrow-next",
116
- children: /* @__PURE__ */ v(t, {})
117
- })] }),
118
- o && C > 1 && /* @__PURE__ */ v("div", {
119
- className: "carousel-dots",
120
- children: S.map((e, t) => /* @__PURE__ */ v("button", {
121
- className: r("carousel-dot", t === w && "active"),
122
- onClick: () => M(t),
123
- "aria-label": `Slide ${t + 1}`,
124
- type: "button"
125
- }, t))
126
- })
127
- ]
128
- });
129
- }
130
- //#endregion
131
- //#region src/components/media/mediaInteraction.ts
132
- function C(e) {
133
- return e === "ripple" || e === "zoom-ripple";
134
- }
135
- function w(e) {
136
- return e === "zoom" || e === "zoom-ripple";
137
- }
138
- function T(e) {
139
- return e === "dim";
140
- }
141
- //#endregion
142
- //#region src/components/media/MShowcaseCarouselItem/MShowcaseCarouselItem.tsx
143
- function E({ src: e, alt: t = "", media: n, mediaHeight: i, overlay: a, body: u, footer: d, interactive: f = !1, imageClickEffect: p = "ripple", ratio: m = "16:9", fit: h = "cover", imgProps: g, children: _ }) {
144
- let b = u ?? _, x = C(p), S = i ? { "--media-height": typeof i == "number" ? `${i}px` : i } : void 0, E = !!(n || e);
145
- return /* @__PURE__ */ y(s, {
146
- interactive: f,
147
- clickEffect: p === "none" ? void 0 : "none",
148
- className: r("showcase card", f && "interactive"),
149
- style: S,
150
- children: [
151
- E ? /* @__PURE__ */ y("div", {
152
- className: r("showcase media", w(p) && "effect-zoom", T(p) && "effect-dim"),
153
- children: [n ? /* @__PURE__ */ v("div", {
154
- className: "showcase media-content",
155
- children: n
156
- }) : /* @__PURE__ */ v(l, {
157
- ...g,
158
- src: e,
159
- alt: t,
160
- ratio: m,
161
- fit: h,
162
- rounded: !0,
163
- shadow: !0,
164
- clickEffect: x ? "ripple" : "none"
165
- }), a ? /* @__PURE__ */ v("div", {
166
- className: "showcase overlay",
167
- children: a
168
- }) : null]
169
- }) : null,
170
- b ? /* @__PURE__ */ v(c, {
171
- className: "showcase body",
172
- children: b
173
- }) : null,
174
- d ? /* @__PURE__ */ v(o, {
175
- className: "showcase footer",
176
- children: d
177
- }) : null
178
- ]
179
- });
180
- }
181
- //#endregion
182
- //#region src/components/media/MShowcaseCarousel/MShowcaseCarousel.tsx
183
- function D(e, t, n) {
184
- return Math.min(Math.max(e, t), n);
185
- }
186
- function O(e) {
187
- return e instanceof Element ? !!e.closest("button, a, input, select, textarea, label, summary, [role=\"button\"], [role=\"link\"], [data-carousel-ignore-drag=\"true\"]") : !1;
188
- }
189
- function k(e, t, n) {
190
- return e && t ? e.map((e, n) => t(e, n)) : e ? e.map((e, t) => A(e) ? /* @__PURE__ */ v(j, { item: e }, t) : null).filter(Boolean) : d.toArray(n);
191
- }
192
- function A(e) {
193
- let t = e;
194
- return !!e && typeof e == "object" && "src" in e && typeof t.src == "string";
195
- }
196
- function j({ item: e }) {
197
- return /* @__PURE__ */ v(E, {
198
- src: e.src,
199
- alt: e.alt || "",
200
- overlay: e.overlay
201
- });
202
- }
203
- function M({ items: e, renderItem: i, initialIndex: o, showButtons: s = !0, loop: c = !0, draggable: l = !0, wheel: u = !0, itemMinWidth: d = 220, itemMaxWidth: _ = 520, itemWidthRatio: b = .56, className: x, children: S, style: C, ...w }) {
204
- let T = m(() => k(e, i, S), [
205
- S,
206
- e,
207
- i
208
- ]), E = T.length, [A, j] = g(0), [M, N] = g(0), [P, F] = g(!1), [I, L] = g(0), R = h(null), z = h(0), B = h(!1), V = D(I * (I < 640 ? Math.max(b, .78) : I < 960 ? Math.max(b, .66) : b) || d, d, _), H = D(I * .022 || 16, 10, 24);
209
- p(() => {
210
- let e = R.current;
211
- if (!e) return;
212
- let t = () => L(e.clientWidth);
213
- t();
214
- let n = new ResizeObserver(t);
215
- return n.observe(e), () => n.disconnect();
216
- }, []), p(() => {
217
- E && j(D(o ?? Math.floor((E - 1) / 2), 0, E - 1));
218
- }, [E, o]);
219
- let U = f((e) => {
220
- if (!(E < 1)) {
221
- if (c) {
222
- j((e + E) % E);
223
- return;
224
- }
225
- j(D(e, 0, E - 1));
226
- }
227
- }, [E, c]), W = f(() => U(A - 1), [A, U]), G = f(() => U(A + 1), [A, U]), K = (e) => {
228
- !l || E <= 1 || O(e.target) || (e.currentTarget.setPointerCapture(e.pointerId), F(!0), z.current = e.clientX, N(0));
229
- }, q = (e) => {
230
- P && N(e.clientX - z.current);
231
- }, J = () => {
232
- if (!P) return;
233
- let e = Math.max(56, V * .12);
234
- M <= -e ? G() : M >= e && W(), F(!1), N(0);
235
- };
236
- if (p(() => {
237
- let e = R.current;
238
- if (!e) return;
239
- let t = (e) => {
240
- if (!u || E <= 1 || B.current) return;
241
- let t = Math.abs(e.deltaX) > Math.abs(e.deltaY) ? e.deltaX : e.deltaY;
242
- Math.abs(t) < 28 || (e.preventDefault(), e.stopPropagation(), B.current = !0, window.setTimeout(() => {
243
- B.current = !1;
244
- }, 260), t > 0 ? G() : W());
245
- };
246
- return e.addEventListener("wheel", t, { passive: !1 }), () => e.removeEventListener("wheel", t);
247
- }, [
248
- E,
249
- G,
250
- W,
251
- u
252
- ]), !E) return null;
253
- let Y = I / 2 - A * (V + H) - V / 2 + M;
254
- return /* @__PURE__ */ y("div", {
255
- className: r("showcase", x),
256
- style: {
257
- ...C,
258
- "--item-width": `${V}px`
259
- },
260
- ...w,
261
- children: [/* @__PURE__ */ v("div", {
262
- ref: R,
263
- className: "showcase-stage",
264
- onPointerDown: K,
265
- onPointerMove: q,
266
- onPointerUp: J,
267
- onPointerCancel: J,
268
- onPointerLeave: J,
269
- style: { cursor: l && E > 1 ? P ? "grabbing" : "grab" : void 0 },
270
- children: /* @__PURE__ */ v("div", {
271
- className: r("showcase-track", P && "dragging"),
272
- style: {
273
- transform: `translateX(${Y}px)`,
274
- gap: `${H}px`
275
- },
276
- children: T.map((e, t) => {
277
- let n = Math.abs(t - A);
278
- return /* @__PURE__ */ v("div", {
279
- className: r("showcase-item", t === A && "active", n === 1 && "near", n >= 2 && "far"),
280
- style: { zIndex: Math.max(1, E - n) },
281
- children: e
282
- }, t);
283
- })
284
- })
285
- }), s && E > 1 && /* @__PURE__ */ y("div", {
286
- className: "showcase-actions",
287
- children: [/* @__PURE__ */ v(a, {
288
- type: "button",
289
- variant: "secondary",
290
- className: "showcase-btn",
291
- startIcon: /* @__PURE__ */ v(n, {}),
292
- onClick: W,
293
- children: "Previous"
294
- }), /* @__PURE__ */ v(a, {
295
- type: "button",
296
- className: "showcase-btn",
297
- endIcon: /* @__PURE__ */ v(t, {}),
298
- onClick: G,
299
- children: "Next"
300
- })]
301
- })]
302
- });
303
- }
304
- //#endregion
305
- //#region src/components/media/MMasonry/MMasonry.tsx
306
- function N(e, t, n) {
307
- return e && t ? e.map((e, n) => t(e, n)) : d.toArray(n);
308
- }
309
- function P({ items: e, renderItem: t, columns: n = 3, className: i, children: a, style: o, ...s }) {
310
- let c = N(e, t, a);
311
- return c.length ? /* @__PURE__ */ v("div", {
312
- className: r("masonry", i),
313
- style: {
314
- ...o,
315
- columnCount: n
316
- },
317
- ...s,
318
- children: c.map((e, t) => /* @__PURE__ */ v("div", {
319
- className: "masonry item",
320
- children: e
321
- }, t))
322
- }) : null;
323
- }
324
- //#endregion
325
- //#region src/components/media/MMasonryItem/MMasonryItem.tsx
326
- function F({ src: e, alt: t = "", height: n, overlay: a, body: l, footer: u, interactive: d = !1, imageClickEffect: f = "none", imgProps: p, children: m }) {
327
- let h = n ? {
328
- ...p?.style,
329
- height: n
330
- } : p?.style, g = l ?? m, { effectClassName: _, effectLayer: b, handlePointerDown: x } = i({ effect: C(f) ? "ripple" : "none" });
331
- return /* @__PURE__ */ y(s, {
332
- interactive: d,
333
- clickEffect: f === "none" ? void 0 : "none",
334
- className: r("masonry card", d && "interactive"),
335
- children: [
336
- /* @__PURE__ */ y("div", {
337
- className: r("masonry media", _, w(f) && "effect-zoom", T(f) && "effect-dim"),
338
- onPointerDown: (e) => {
339
- e.target.closest(".masonry.overlay") || x(e);
340
- },
341
- children: [
342
- /* @__PURE__ */ v("img", {
343
- ...p,
344
- src: e,
345
- alt: t,
346
- className: "masonry img",
347
- style: h
348
- }),
349
- a ? /* @__PURE__ */ v("div", {
350
- className: "masonry overlay",
351
- children: a
352
- }) : null,
353
- b
354
- ]
355
- }),
356
- g ? /* @__PURE__ */ v(c, {
357
- className: "masonry body",
358
- children: g
359
- }) : null,
360
- u ? /* @__PURE__ */ v(o, {
361
- className: "masonry footer",
362
- children: u
363
- }) : null
364
- ]
365
- });
366
- }
367
- //#endregion
368
- //#region src/components/media/MAvatarStack/MAvatarStack.tsx
369
- function I({ items: t, max: n = 5, size: i = "sm", color: a = "primary", hidden: o, overlap: s = 10, className: c, style: l, ...d }) {
370
- if (!t || t.length === 0) return null;
371
- let f = t.slice(0, n), p = t.length - n, m = typeof i == "number" ? i : {
372
- xs: 20,
373
- sm: 28,
374
- md: 40,
375
- lg: 56,
376
- xl: 72
377
- }[i] ?? 28;
378
- return /* @__PURE__ */ y("div", {
379
- className: r("avatar-stack", c),
380
- style: {
381
- "--avatar-stack-overlap": `-${s}px`,
382
- ...l
383
- },
384
- ...e(o),
385
- ...d,
386
- children: [f.map((e, t) => /* @__PURE__ */ v(u, {
387
- src: e.avatar,
388
- name: e.name,
389
- size: i,
390
- color: a,
391
- className: "avatar-stack-item",
392
- style: { zIndex: t + 1 }
393
- }, t)), p > 0 && /* @__PURE__ */ y("span", {
394
- className: "avatar-stack-overflow",
395
- style: {
396
- width: m,
397
- height: m,
398
- fontSize: m * .38,
399
- zIndex: f.length + 1
400
- },
401
- children: ["+", p]
402
- })]
403
- });
404
- }
405
- //#endregion
406
- export { E as a, M as i, F as n, S as o, P as r, b as s, I as t };
407
-
408
- //# sourceMappingURL=media-DV58aS3j.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"media-DV58aS3j.js","names":[],"sources":["../src/components/media/MGallery/MGallery.tsx","../src/components/media/MCarousel/MCarousel.tsx","../src/components/media/mediaInteraction.ts","../src/components/media/MShowcaseCarouselItem/MShowcaseCarouselItem.tsx","../src/components/media/MShowcaseCarousel/MShowcaseCarousel.tsx","../src/components/media/MMasonry/MMasonry.tsx","../src/components/media/MMasonryItem/MMasonryItem.tsx","../src/components/media/MAvatarStack/MAvatarStack.tsx"],"sourcesContent":["import type {MGalleryProps} from './MGallery.types'\nimport {cn} from '../../../utils/cn'\nimport {useInteractionEffect} from '../../../utils/useInteractionEffect'\nimport './MGallery.css'\n\n// Render a responsive image grid gallery.\nexport function MGallery({\n items,\n columns = 3,\n rounded = true,\n clickEffect = 'ripple',\n className,\n ...rest\n}: MGalleryProps) {\n return (\n <div className={cn('gallery', `columns-${columns}`, className)} {...rest}>\n {items.map((item, i) => (\n <GalleryFigure key={i} item={item} rounded={rounded} clickEffect={clickEffect} />\n ))}\n </div>\n )\n}\n\nfunction GalleryFigure({\n item,\n rounded,\n clickEffect,\n}: {\n item: {src: string; alt?: string; caption?: string}\n rounded: boolean\n clickEffect: 'none' | 'ripple'\n}) {\n const {effectClassName, effectLayer, handlePointerDown} = useInteractionEffect<HTMLElement>({\n effect: clickEffect,\n })\n\n return (\n <figure className={cn('gallery-item', rounded && 'rounded', effectClassName)} onPointerDown={handlePointerDown}>\n <img className=\"gallery-image\" src={item.src} alt={item.alt || ''} loading=\"lazy\" />\n {item.caption && <figcaption className=\"gallery-caption\">{item.caption}</figcaption>}\n {effectLayer}\n </figure>\n )\n}\n","import {useState, useEffect, useCallback, useRef, Children} from 'react'\nimport type * as React from 'react'\nimport type {MCarouselProps} from './MCarousel.types'\nimport {cn} from '../../../utils/cn'\nimport {MButton} from '../../controls'\nimport {MChevronLeftIcon, MChevronRightIcon} from '../../../icons'\nimport './MCarousel.css'\n\n// Render a swipeable content slider with arrows, dots and transition modes.\nexport function MCarousel({\n autoPlay = false,\n interval = 5000,\n showDots = true,\n showArrows = true,\n loop = true,\n draggable = true,\n transition = 'slide',\n className,\n children,\n ...rest\n}: MCarouselProps) {\n const slides = Children.toArray(children)\n const count = slides.length\n const [active, setActive] = useState(0)\n const [dragOffset, setDragOffset] = useState(0)\n const [isDragging, setIsDragging] = useState(false)\n const dragStartX = useRef(0)\n const trackRef = useRef<HTMLDivElement>(null)\n\n const goTo = useCallback(\n (index: number) => {\n if (loop) {\n setActive((index + count) % count)\n } else {\n setActive(Math.max(0, Math.min(index, count - 1)))\n }\n },\n [count, loop]\n )\n\n const prev = useCallback(() => goTo(active - 1), [active, goTo])\n const next = useCallback(() => goTo(active + 1), [active, goTo])\n\n useEffect(() => {\n if (!autoPlay || count <= 1 || isDragging) return\n const timer = setInterval(next, interval)\n return () => clearInterval(timer)\n }, [autoPlay, interval, next, count, isDragging])\n\n const handleDragStart = (clientX: number) => {\n if (!draggable) return\n setIsDragging(true)\n dragStartX.current = clientX\n setDragOffset(0)\n }\n\n const handleDragMove = (clientX: number) => {\n if (!isDragging) return\n const diff = clientX - dragStartX.current\n setDragOffset(diff)\n }\n\n const handleDragEnd = () => {\n if (!isDragging) return\n setIsDragging(false)\n const threshold = 50\n if (dragOffset < -threshold) {\n next()\n } else if (dragOffset > threshold) {\n prev()\n }\n setDragOffset(0)\n }\n\n const onPointerDown = (e: React.PointerEvent) => {\n if (!draggable) return\n e.currentTarget.setPointerCapture(e.pointerId)\n handleDragStart(e.clientX)\n }\n\n const onPointerMove = (e: React.PointerEvent) => {\n handleDragMove(e.clientX)\n }\n\n const onPointerUp = () => {\n handleDragEnd()\n }\n\n if (count === 0) return null\n\n const isFade = transition === 'fade'\n const trackStyle = !isFade\n ? {transform: `translateX(calc(-${active * 100}% + ${isDragging ? dragOffset : 0}px))`}\n : undefined\n\n return (\n <div className={cn('carousel', isFade && 'fade', className)} {...rest}>\n <div\n className=\"carousel-viewport\"\n onPointerDown={onPointerDown}\n onPointerMove={onPointerMove}\n onPointerUp={onPointerUp}\n onPointerCancel={onPointerUp}\n style={{\n touchAction: draggable ? 'pan-y' : undefined,\n cursor: draggable ? (isDragging ? 'grabbing' : 'grab') : undefined,\n }}\n >\n <div ref={trackRef} className={cn('carousel-track', isDragging && 'dragging')} style={trackStyle}>\n {slides.map((slide, i) => (\n <div\n key={i}\n className={cn(\n 'carousel-slide',\n isFade && i === active && 'active',\n isFade && i !== active && 'hidden'\n )}\n >\n {slide}\n </div>\n ))}\n </div>\n </div>\n\n {showArrows && count > 1 && (\n <>\n <MButton\n variant=\"ghost\"\n color=\"primary\"\n iconOnly\n shape=\"circle\"\n onClick={prev}\n aria-label=\"Previous slide\"\n className=\"carousel-arrow carousel-arrow-prev\"\n >\n <MChevronLeftIcon />\n </MButton>\n <MButton\n variant=\"ghost\"\n color=\"primary\"\n iconOnly\n shape=\"circle\"\n onClick={next}\n aria-label=\"Next slide\"\n className=\"carousel-arrow carousel-arrow-next\"\n >\n <MChevronRightIcon />\n </MButton>\n </>\n )}\n\n {showDots && count > 1 && (\n <div className=\"carousel-dots\">\n {slides.map((_, i) => (\n <button\n key={i}\n className={cn('carousel-dot', i === active && 'active')}\n onClick={() => goTo(i)}\n aria-label={`Slide ${i + 1}`}\n type=\"button\"\n />\n ))}\n </div>\n )}\n </div>\n )\n}\n","import type {MClickEffect} from '../../utils/useInteractionEffect'\n\nexport type MMediaInteractionEffect = MClickEffect | 'zoom' | 'dim' | 'zoom-ripple'\n\nexport function usesRipple(effect: MMediaInteractionEffect): boolean {\n return effect === 'ripple' || effect === 'zoom-ripple'\n}\n\nexport function usesZoom(effect: MMediaInteractionEffect): boolean {\n return effect === 'zoom' || effect === 'zoom-ripple'\n}\n\nexport function usesDim(effect: MMediaInteractionEffect): boolean {\n return effect === 'dim'\n}\n","import type {CSSProperties} from 'react'\nimport {MCard, MCardBody, MCardFooter} from '../../cards'\nimport {MImage} from '../MImage'\nimport {cn} from '../../../utils/cn'\nimport {usesDim, usesRipple, usesZoom} from '../mediaInteraction'\nimport type {MShowcaseCarouselItemProps} from './MShowcaseCarouselItem.types'\nimport './MShowcaseCarouselItem.css'\n\nexport function MShowcaseCarouselItem({\n src,\n alt = '',\n media,\n mediaHeight,\n overlay,\n body,\n footer,\n interactive = false,\n imageClickEffect = 'ripple',\n ratio = '16:9',\n fit = 'cover',\n imgProps,\n children,\n}: MShowcaseCarouselItemProps) {\n const content = body ?? children\n const shouldRipple = usesRipple(imageClickEffect)\n const cardStyle = mediaHeight\n ? ({\n '--media-height': typeof mediaHeight === 'number' ? `${mediaHeight}px` : mediaHeight,\n } as CSSProperties)\n : undefined\n const hasMedia = Boolean(media || src)\n\n return (\n <MCard\n interactive={interactive}\n clickEffect={imageClickEffect !== 'none' ? 'none' : undefined}\n className={cn('showcase card', interactive && 'interactive')}\n style={cardStyle}\n >\n {hasMedia ? (\n <div\n className={cn(\n 'showcase media',\n usesZoom(imageClickEffect) && 'effect-zoom',\n usesDim(imageClickEffect) && 'effect-dim'\n )}\n >\n {media ? (\n <div className=\"showcase media-content\">{media}</div>\n ) : (\n <MImage\n {...imgProps}\n src={src}\n alt={alt}\n ratio={ratio}\n fit={fit}\n rounded\n shadow\n clickEffect={shouldRipple ? 'ripple' : 'none'}\n />\n )}\n {overlay ? <div className=\"showcase overlay\">{overlay}</div> : null}\n </div>\n ) : null}\n {content ? <MCardBody className=\"showcase body\">{content}</MCardBody> : null}\n {footer ? <MCardFooter className=\"showcase footer\">{footer}</MCardFooter> : null}\n </MCard>\n )\n}\n","import {Children, useCallback, useEffect, useMemo, useRef, useState} from 'react'\nimport type {CSSProperties, PointerEvent as ReactPointerEvent, ReactNode} from 'react'\nimport {MButton} from '../../controls'\nimport {MShowcaseCarouselItem} from '../MShowcaseCarouselItem'\nimport {MChevronLeftIcon, MChevronRightIcon} from '../../../icons'\nimport {cn} from '../../../utils/cn'\nimport type {MShowcaseCarouselProps, MShowcaseCarouselSlide} from './MShowcaseCarousel.types'\nimport './MShowcaseCarousel.css'\n\nfunction clamp(value: number, min: number, max: number) {\n return Math.min(Math.max(value, min), max)\n}\n\nfunction isInteractiveTarget(target: EventTarget | null) {\n if (!(target instanceof Element)) {\n return false\n }\n\n return !!target.closest(\n 'button, a, input, select, textarea, label, summary, [role=\"button\"], [role=\"link\"], [data-carousel-ignore-drag=\"true\"]'\n )\n}\n\nfunction getSlides<T>(items?: T[], renderItem?: (item: T, index: number) => ReactNode, children?: ReactNode) {\n if (items && renderItem) {\n return items.map((item, index) => renderItem(item, index))\n }\n\n if (items) {\n return items\n .map((item, index) => {\n if (!isShowcaseItem(item)) {\n return null\n }\n\n return <ShowcaseMediaSlide key={index} item={item} />\n })\n .filter(Boolean)\n }\n\n return Children.toArray(children)\n}\n\nfunction isShowcaseItem(value: unknown): value is MShowcaseCarouselSlide {\n const slide = value as {src?: unknown}\n return !!value && typeof value === 'object' && 'src' in value && typeof slide.src === 'string'\n}\n\nfunction ShowcaseMediaSlide({item}: {item: MShowcaseCarouselSlide}) {\n return <MShowcaseCarouselItem src={item.src} alt={item.alt || ''} overlay={item.overlay} />\n}\n\n// Show a centered, mouse-driven carousel with partial side previews.\nexport function MShowcaseCarousel<T = unknown>({\n items,\n renderItem,\n initialIndex,\n showButtons = true,\n loop = true,\n draggable = true,\n wheel = true,\n itemMinWidth = 220,\n itemMaxWidth = 520,\n itemWidthRatio = 0.56,\n className,\n children,\n style,\n ...rest\n}: MShowcaseCarouselProps<T>) {\n const slides = useMemo(() => getSlides(items, renderItem, children), [children, items, renderItem])\n const count = slides.length\n const [active, setActive] = useState(0)\n const [drag, setDrag] = useState(0)\n const [dragging, setDragging] = useState(false)\n const [stageWidth, setStageWidth] = useState(0)\n const stageRef = useRef<HTMLDivElement>(null)\n const startX = useRef(0)\n const wheelLock = useRef(false)\n\n const widthRatio =\n stageWidth < 640\n ? Math.max(itemWidthRatio, 0.78)\n : stageWidth < 960\n ? Math.max(itemWidthRatio, 0.66)\n : itemWidthRatio\n const itemWidth = clamp(stageWidth * widthRatio || itemMinWidth, itemMinWidth, itemMaxWidth)\n const itemGap = clamp(stageWidth * 0.022 || 16, 10, 24)\n\n useEffect(() => {\n const node = stageRef.current\n if (!node) return\n\n const update = () => setStageWidth(node.clientWidth)\n update()\n\n const observer = new ResizeObserver(update)\n observer.observe(node)\n\n return () => observer.disconnect()\n }, [])\n\n useEffect(() => {\n if (!count) return\n\n const defaultIndex = initialIndex ?? Math.floor((count - 1) / 2)\n setActive(clamp(defaultIndex, 0, count - 1))\n }, [count, initialIndex])\n\n const goTo = useCallback(\n (nextIndex: number) => {\n if (count < 1) return\n\n if (loop) {\n setActive((nextIndex + count) % count)\n return\n }\n\n setActive(clamp(nextIndex, 0, count - 1))\n },\n [count, loop]\n )\n\n const prev = useCallback(() => goTo(active - 1), [active, goTo])\n const next = useCallback(() => goTo(active + 1), [active, goTo])\n\n const onPointerDown = (event: ReactPointerEvent<HTMLDivElement>) => {\n if (!draggable || count <= 1) return\n if (isInteractiveTarget(event.target)) return\n event.currentTarget.setPointerCapture(event.pointerId)\n setDragging(true)\n startX.current = event.clientX\n setDrag(0)\n }\n\n const onPointerMove = (event: ReactPointerEvent<HTMLDivElement>) => {\n if (!dragging) return\n setDrag(event.clientX - startX.current)\n }\n\n const stopDrag = () => {\n if (!dragging) return\n\n const limit = Math.max(56, itemWidth * 0.12)\n\n if (drag <= -limit) {\n next()\n } else if (drag >= limit) {\n prev()\n }\n\n setDragging(false)\n setDrag(0)\n }\n\n useEffect(() => {\n const node = stageRef.current\n if (!node) return\n\n const handleWheel = (event: WheelEvent) => {\n if (!wheel || count <= 1 || wheelLock.current) return\n\n const axis = Math.abs(event.deltaX) > Math.abs(event.deltaY) ? event.deltaX : event.deltaY\n if (Math.abs(axis) < 28) return\n\n event.preventDefault()\n event.stopPropagation()\n\n wheelLock.current = true\n window.setTimeout(() => {\n wheelLock.current = false\n }, 260)\n\n if (axis > 0) {\n next()\n } else {\n prev()\n }\n }\n\n node.addEventListener('wheel', handleWheel, {passive: false})\n return () => node.removeEventListener('wheel', handleWheel)\n }, [count, next, prev, wheel])\n\n if (!count) return null\n\n const offset = stageWidth / 2 - active * (itemWidth + itemGap) - itemWidth / 2 + drag\n\n return (\n <div\n className={cn('showcase', className)}\n style={{...style, '--item-width': `${itemWidth}px`} as CSSProperties}\n {...rest}\n >\n <div\n ref={stageRef}\n className=\"showcase-stage\"\n onPointerDown={onPointerDown}\n onPointerMove={onPointerMove}\n onPointerUp={stopDrag}\n onPointerCancel={stopDrag}\n onPointerLeave={stopDrag}\n style={{\n cursor: draggable && count > 1 ? (dragging ? 'grabbing' : 'grab') : undefined,\n }}\n >\n <div\n className={cn('showcase-track', dragging && 'dragging')}\n style={{\n transform: `translateX(${offset}px)`,\n gap: `${itemGap}px`,\n }}\n >\n {slides.map((slide, index) => {\n const dist = Math.abs(index - active)\n\n return (\n <div\n key={index}\n className={cn(\n 'showcase-item',\n index === active && 'active',\n dist === 1 && 'near',\n dist >= 2 && 'far'\n )}\n style={{zIndex: Math.max(1, count - dist)}}\n >\n {slide}\n </div>\n )\n })}\n </div>\n </div>\n\n {showButtons && count > 1 && (\n <div className=\"showcase-actions\">\n <MButton\n type=\"button\"\n variant=\"secondary\"\n className=\"showcase-btn\"\n startIcon={<MChevronLeftIcon />}\n onClick={prev}\n >\n Previous\n </MButton>\n <MButton type=\"button\" className=\"showcase-btn\" endIcon={<MChevronRightIcon />} onClick={next}>\n Next\n </MButton>\n </div>\n )}\n </div>\n )\n}\n","import {Children} from 'react'\nimport type {ReactNode} from 'react'\nimport {cn} from '../../../utils/cn'\nimport type {MMasonryProps} from './MMasonry.types'\nimport './MMasonry.css'\n\nfunction getItems<T>(items?: T[], renderItem?: (item: T, index: number) => ReactNode, children?: ReactNode) {\n if (items && renderItem) {\n return items.map((item, index) => renderItem(item, index))\n }\n\n return Children.toArray(children)\n}\n\n// Render a responsive masonry wall for images, cards and uneven content.\nexport function MMasonry<T = unknown>({\n items,\n renderItem,\n columns = 3,\n className,\n children,\n style,\n ...rest\n}: MMasonryProps<T>) {\n const content = getItems(items, renderItem, children)\n\n if (!content.length) return null\n\n return (\n <div className={cn('masonry', className)} style={{...style, columnCount: columns}} {...rest}>\n {content.map((item, index) => (\n <div key={index} className=\"masonry item\">\n {item}\n </div>\n ))}\n </div>\n )\n}\n","import {MCard, MCardBody, MCardFooter} from '../../cards'\nimport {cn} from '../../../utils/cn'\nimport {useInteractionEffect} from '../../../utils/useInteractionEffect'\nimport {usesDim, usesRipple, usesZoom} from '../mediaInteraction'\nimport './MMasonryItem.css'\nimport type {MMasonryItemProps} from './MMasonryItem.types'\n\nexport function MMasonryItem({\n src,\n alt = '',\n height,\n overlay,\n body,\n footer,\n interactive = false,\n imageClickEffect = 'none',\n imgProps,\n children,\n}: MMasonryItemProps) {\n const imgStyle = height ? {...imgProps?.style, height} : imgProps?.style\n const content = body ?? children\n const shouldRipple = usesRipple(imageClickEffect)\n const {effectClassName, effectLayer, handlePointerDown} = useInteractionEffect<HTMLDivElement>({\n effect: shouldRipple ? 'ripple' : 'none',\n })\n\n return (\n <MCard\n interactive={interactive}\n clickEffect={imageClickEffect !== 'none' ? 'none' : undefined}\n className={cn('masonry card', interactive && 'interactive')}\n >\n <div\n className={cn(\n 'masonry media',\n effectClassName,\n usesZoom(imageClickEffect) && 'effect-zoom',\n usesDim(imageClickEffect) && 'effect-dim'\n )}\n onPointerDown={(event) => {\n const target = event.target as HTMLElement\n\n if (target.closest('.masonry.overlay')) {\n return\n }\n\n handlePointerDown(event)\n }}\n >\n <img {...imgProps} src={src} alt={alt} className=\"masonry img\" style={imgStyle} />\n {overlay ? <div className=\"masonry overlay\">{overlay}</div> : null}\n {effectLayer}\n </div>\n {content ? <MCardBody className=\"masonry body\">{content}</MCardBody> : null}\n {footer ? <MCardFooter className=\"masonry footer\">{footer}</MCardFooter> : null}\n </MCard>\n )\n}\n","import type {MAvatarStackProps} from './MAvatarStack.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {MAvatar} from '../MAvatar'\nimport './MAvatarStack.css'\n\nexport function MAvatarStack({\n items,\n max = 5,\n size = 'sm',\n color = 'primary',\n hidden,\n overlap = 10,\n className,\n style,\n ...rest\n}: MAvatarStackProps) {\n if (!items || items.length === 0) return null\n\n const visible = items.slice(0, max)\n const overflowCount = items.length - max\n const avatarPx = typeof size === 'number' ? size : ({xs: 20, sm: 28, md: 40, lg: 56, xl: 72}[size] ?? 28)\n\n return (\n <div\n className={cn('avatar-stack', className)}\n style={{'--avatar-stack-overlap': `-${overlap}px`, ...style} as React.CSSProperties}\n {...getHiddenProps(hidden)}\n {...rest}\n >\n {visible.map((item, i) => (\n <MAvatar\n key={i}\n src={item.avatar}\n name={item.name}\n size={size}\n color={color}\n className=\"avatar-stack-item\"\n style={{zIndex: i + 1}}\n />\n ))}\n {overflowCount > 0 && (\n <span\n className=\"avatar-stack-overflow\"\n style={{\n width: avatarPx,\n height: avatarPx,\n fontSize: avatarPx * 0.38,\n zIndex: visible.length + 1,\n }}\n >\n +{overflowCount}\n </span>\n )}\n </div>\n )\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- const e=require(`./icons-Dv1T-cF4.cjs`),t=require(`./cn-CU5TNITO.cjs`),n=require(`./MPortal-PyRKsZxc.cjs`),r=require(`./MPopover-C3-fGAke.cjs`),i=require(`./MButton-CtEFKjYZ.cjs`),a=require(`./MSkeleton-BAkzwxOS.cjs`);let o=require(`react`),s=require(`react/jsx-runtime`);var c=540,l=72,u={sm:`32vh`,md:`52vh`,lg:`72vh`,full:`92vh`};function d({open:r,onClose:d,title:f,description:p,footer:m,size:h=`md`,closeOnBackdrop:g=!0,closeOnEscape:_=!0,className:v,children:y,style:b,...x}){let S=(0,o.useId)(),[C,w]=(0,o.useState)(!1),[T,E]=(0,o.useState)(!1),[D,O]=(0,o.useState)(0),k=(0,o.useRef)(null),A=(0,o.useRef)(0);(0,o.useEffect)(()=>{r&&(w(!0),E(!1),O(0),A.current=0)},[r]),(0,o.useEffect)(()=>{if(!r&&C){E(!0);let e=window.setTimeout(()=>{w(!1),E(!1)},c);return()=>window.clearTimeout(e)}},[r,C]),(0,o.useEffect)(()=>{if(!C)return;let e=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=e}},[C]),(0,o.useEffect)(()=>{if(!r||!_)return;let e=e=>{e.key===`Escape`&&d()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[_,d,r]);function j(e){g&&e.target===e.currentTarget&&d()}function M(e){e.preventDefault(),e.currentTarget.setPointerCapture(e.pointerId),k.current={pointerId:e.pointerId,startY:e.clientY},O(0),A.current=0}function N(e){let t=k.current;if(!t||t.pointerId!==e.pointerId)return;let n=Math.max(e.clientY-t.startY,0);A.current=n,O(n)}function P(e){let t=k.current;if(!(!t||t.pointerId!==e)){if(k.current=null,A.current>l){O(0),A.current=0,d();return}O(0),A.current=0}}if(!C)return null;let F=u[h],I=D>0?`translateY(${D}px)`:void 0;return(0,s.jsx)(n.t,{children:(0,s.jsx)(`div`,{className:t.t(`mineral-backdrop`,`sheet-backdrop`,T&&`closing`),onMouseDown:j,children:(0,s.jsx)(`div`,{className:`sheet-shell`,style:{transform:I},children:(0,s.jsxs)(a.n,{className:t.t(`sheet`,`size-${h}`,v),role:`dialog`,"aria-modal":`true`,"aria-labelledby":f?S:void 0,style:{...b,height:h===`full`?F:void 0,maxHeight:F},...x,children:[(0,s.jsx)(`button`,{type:`button`,className:`sheet-grabber`,onPointerDown:M,onPointerMove:N,onPointerUp:e=>P(e.pointerId),onPointerCancel:e=>P(e.pointerId),"aria-label":`Drag down to close`,children:(0,s.jsx)(`span`,{className:`sheet-handle`})}),(f||p)&&(0,s.jsxs)(a.a,{className:`sheet-header`,children:[(0,s.jsxs)(`div`,{className:`sheet-copy`,children:[f&&(0,s.jsx)(`div`,{id:S,className:`sheet-title`,children:f}),p&&(0,s.jsx)(`div`,{className:`sheet-description`,children:p})]}),(0,s.jsx)(i.t,{variant:`link`,color:`neutral`,iconOnly:!0,size:`sm`,onClick:d,"aria-label":`Close`,className:`sheet-close`,children:(0,s.jsx)(e.Ii,{})})]}),(0,s.jsx)(a.r,{className:`sheet-body`,children:y}),m&&(0,s.jsx)(a.i,{className:`sheet-footer`,children:m})]})})})})}function f({title:e,description:n,onConfirm:a,onCancel:c,confirmText:l=`Yes`,cancelText:u=`No`,color:d=`warning`,icon:f,placement:p=`top-start`,open:m,onOpenChange:h,anchorRef:g,className:_}){let v=(0,o.useCallback)(()=>{h(!1),c?.()},[h,c]),y=(0,o.useCallback)(()=>{h(!1),a()},[h,a]);return(0,s.jsxs)(r.t,{open:m,anchorRef:g,onClose:v,placement:p,className:t.t(`popconfirm`,`color-${d}`,_),children:[(0,s.jsxs)(`div`,{className:`body`,children:[f&&(0,s.jsx)(`div`,{className:`icon`,children:f}),(0,s.jsxs)(`div`,{className:`content`,children:[(0,s.jsx)(`div`,{className:`title`,children:e}),n&&(0,s.jsx)(`div`,{className:`description`,children:n})]})]}),(0,s.jsxs)(`div`,{className:`actions`,children:[(0,s.jsx)(i.t,{variant:`ghost`,size:`sm`,color:`neutral`,onClick:v,children:u}),(0,s.jsx)(i.t,{variant:`ghost`,size:`sm`,color:d,onClick:y,children:l})]})]})}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return f}});
2
- //# sourceMappingURL=overlays-7HBAQneO.cjs.map
@@ -1,2 +0,0 @@
1
- let e=require(`react`),t=require(`react/jsx-runtime`);var n=`mineralui-theme`;function r(e){return e===`system`?typeof window>`u`||window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:e}function i(){try{let e=localStorage.getItem(n);if(e===`dark`||e===`light`||e===`system`)return e}catch{}return null}var a=(0,e.createContext)({theme:{},mode:`dark`,resolvedMode:`dark`,setMode:()=>{},toggleMode:()=>{}}),o={primaryRgb:`--mineral-primary-rgb`,primary:`--mineral-primary`,primaryDark:`--mineral-primary-dark`,primaryLight:`--mineral-primary-light`,neutralRgb:`--mineral-neutral-rgb`,neutral:`--mineral-neutral`,dark:`--mineral-dark`,darkLight:`--mineral-dark-light`,surface:`--mineral-surface`,surfaceContrast:`--mineral-surface-contrast`,pageBg:`--mineral-page-bg`,pageText:`--mineral-page-text`,text:`--mineral-text`,textSecondary:`--mineral-text-secondary`,textHeading:`--mineral-text-heading`,border:`--mineral-border`,borderHover:`--mineral-border-hover`,borderFocus:`--mineral-border-focus`,successRgb:`--mineral-success-rgb`,success:`--mineral-success`,errorRgb:`--mineral-error-rgb`,error:`--mineral-error`,warningRgb:`--mineral-warning-rgb`,warning:`--mineral-warning`,infoRgb:`--mineral-info-rgb`,info:`--mineral-info`,fontFamily:`--mineral-font-family-sans`,fontFamilySans:`--mineral-font-family-sans`,fontFamilyMono:`--mineral-font-family-mono`,fontFamilyHeading:`--mineral-font-family-heading`,fontColorDefault:`--mineral-fcolor-default`,fontColorMuted:`--mineral-fcolor-muted`,fontColorHeading:`--mineral-fcolor-heading`,fontColorInverted:`--mineral-fcolor-inverted`,fontColorPrimary:`--mineral-fcolor-primary`,fontColorNeutral:`--mineral-fcolor-neutral`,fontColorSuccess:`--mineral-fcolor-success`,fontColorError:`--mineral-fcolor-error`,fontColorWarning:`--mineral-fcolor-warning`,fontColorInfo:`--mineral-fcolor-info`,radiusSm:`--mineral-radius-sm`,radiusMd:`--mineral-radius-md`,radiusLg:`--mineral-radius-lg`};function s({theme:s,mode:c=`dark`,persist:l=!0,scope:u=`body`,children:d}){let f=(0,e.useRef)(null),p=(0,e.useMemo)(()=>s??{},[s]),[m,h]=(0,e.useState)(()=>{if(l){let e=i();if(e)return e}return c}),g=r(m),_=(0,e.useCallback)(e=>{if(h(e),l)try{localStorage.setItem(n,e)}catch{}},[l]),v=(0,e.useCallback)(()=>{_(g===`dark`?`light`:`dark`)},[g,_]);(0,e.useEffect)(()=>{if(m!==`system`)return;let e=window.matchMedia(`(prefers-color-scheme: dark)`),t=()=>h(`system`);return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[m]),(0,e.useEffect)(()=>{let e=u===`body`?document.body:f.current;if(e){for(let[t,n]of Object.entries(p)){let r=o[t];r&&n&&(e.style.setProperty(r,n),r===`--mineral-font-family-sans`&&e.style.setProperty(`--mineral-font-family`,n))}return e.classList.toggle(`theme-light`,g===`light`),()=>{for(let t of Object.keys(p)){let n=o[t];n&&(e.style.removeProperty(n),n===`--mineral-font-family-sans`&&e.style.removeProperty(`--mineral-font-family`))}e.classList.remove(`theme-light`)}}},[g,p,u]);let y=(0,e.useMemo)(()=>({theme:p,mode:m,resolvedMode:g,setMode:_,toggleMode:v}),[p,m,g,_,v]);return(0,t.jsx)(a.Provider,{value:y,children:u===`wrapper`?(0,t.jsx)(`div`,{ref:f,className:g===`light`?`theme-light`:void 0,children:d}):d})}function c(){return(0,e.useContext)(a)}var l={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},u={mobile:768,compact:960};function d(t){let[n,r]=(0,e.useState)(()=>typeof window<`u`?window.innerWidth<=t:!1);return(0,e.useEffect)(()=>{if(typeof window>`u`)return;let e=window.matchMedia(`(max-width: ${t}px)`),n=()=>r(e.matches);return n(),typeof e.addEventListener==`function`?(e.addEventListener(`change`,n),()=>e.removeEventListener(`change`,n)):(e.addListener(n),()=>e.removeListener(n))},[t]),n}function f(e){return e===void 0||e===!1?{}:e===!0?{hidden:!0}:{"data-m-hidden":e}}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return l}});
2
- //# sourceMappingURL=theme-B9iSuxqh.cjs.map
@@ -1,2 +0,0 @@
1
- const e=require(`./cn-CU5TNITO.cjs`),t=require(`./MText-CWHwmjs8.cjs`);let n=require(`react/jsx-runtime`);function r({color:r,className:i,children:a,...o}){return(0,n.jsx)(`code`,{className:e.t(`code`,...t.n({color:r}),i),...o,children:a})}function i({ordered:r=!1,color:i,className:a,children:o,...s}){return(0,n.jsx)(r?`ol`:`ul`,{className:e.t(`list`,r&&`ordered`,...t.n({color:i}),a),...s,children:o})}function a({className:t,children:r,...i}){return(0,n.jsx)(`li`,{className:e.t(`item`,t),...i,children:r})}function o({size:t=`md`,className:r,children:i,...a}){return(0,n.jsx)(`kbd`,{className:e.t(`kbd`,t,r),...a,children:i})}Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return o}});
2
- //# sourceMappingURL=typography-D0dyVQlP.cjs.map
@@ -1,2 +0,0 @@
1
- let e=require(`react`);function t(t,n){let[r,i]=(0,e.useState)(t);return(0,e.useEffect)(()=>{let e=setTimeout(()=>i(t),n);return()=>clearTimeout(e)},[t,n]),r}function n(t,n){let r=(0,e.useRef)(t);r.current=t;let i=(0,e.useRef)(null);return(0,e.useCallback)(((...e)=>{i.current&&clearTimeout(i.current),i.current=setTimeout(()=>r.current(...e),n)}),[n])}function r(e){return typeof e==`string`?e:String(e)}function i(e,t,n){if(!t)return[];let r=t.toLowerCase();return e.filter(e=>n(e).toLowerCase().startsWith(r))}function a({options:t,value:n,minChars:a=2,getLabel:o=r,filter:s}){let[c,l]=(0,e.useState)(0),u=(0,e.useMemo)(()=>n.length<a?[]:s?s(t,n):i(t,n,o),[t,n,a,s,o]),d=u.length>0?u[c%u.length]:null,f=d?o(d):``,p=f&&f.toLowerCase().startsWith(n.toLowerCase())?f.slice(n.length):``,m=(0,e.useCallback)(()=>!p||!d?{value:n,option:null}:{value:n+p,option:d},[p,d,n]),h=(0,e.useCallback)(()=>{u.length>1&&l(e=>(e+1)%u.length)},[u.length]),g=(0,e.useCallback)(()=>{u.length>1&&l(e=>(e-1+u.length)%u.length)},[u.length]),_=(0,e.useCallback)(()=>l(0),[]),v=(0,e.useCallback)(e=>(e.key===`Tab`||e.key===`Enter`)&&p?(e.preventDefault(),!0):e.key===`ArrowDown`&&u.length>1?(e.preventDefault(),h(),!1):e.key===`ArrowUp`&&u.length>1?(e.preventDefault(),g(),!1):!1,[p,u.length,h,g]);return{hint:p,accept:m,next:h,prev:g,reset:_,matchCount:u.length,onKeyDown:v}}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});
2
- //# sourceMappingURL=useGhostText-QMdO_HK6.cjs.map
@@ -1,2 +0,0 @@
1
- let e=require(`react`),t=require(`react/jsx-runtime`);function n(e,t,n){let r=t.getBoundingClientRect(),i=Math.max(r.width,r.height)*1.75,a=i/2,o=document.createElement(`span`),s=n.centered||n.clientX===void 0?r.width/2-a:n.clientX-r.left-a,c=n.centered||n.clientY===void 0?r.height/2-a:n.clientY-r.top-a;o.className=`click-effect-wave`,o.style.width=`${i}px`,o.style.height=`${i}px`,o.style.left=`${s}px`,o.style.top=`${c}px`,n.color&&o.style.setProperty(`--click-effect-color`,n.color),e.appendChild(o),o.addEventListener(`animationend`,()=>o.remove(),{once:!0})}function r({effect:r=`ripple`,disabled:i=!1,centered:a=!1,color:o}={}){let s=(0,e.useRef)(null),c=r===`ripple`&&!i,l=(0,e.useCallback)(e=>{!c||!e||!s.current||n(s.current,e,{centered:!0,color:o})},[o,c]),u=(0,e.useCallback)(e=>{!c||!s.current||e.pointerType===`mouse`&&e.button!==0||n(s.current,e.currentTarget,{centered:a,color:o,clientX:e.clientX,clientY:e.clientY})},[a,o,c]);return{effectClassName:c?`click-effect-root`:void 0,effectLayer:c?(0,t.jsx)(`span`,{ref:s,className:`click-effect-layer`,"aria-hidden":`true`}):null,handlePointerDown:u,triggerEffect:l}}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
2
- //# sourceMappingURL=useInteractionEffect-DnEfbCrX.cjs.map
@@ -1,2 +0,0 @@
1
- let e=require(`react`);function t({itemCount:t,onSelect:n,onClose:r,isOpen:i,loop:a=!0}){let[o,s]=(0,e.useState)(-1);return{activeIndex:o,setActiveIndex:s,resetIndex:(0,e.useCallback)(()=>s(-1),[]),onKeyDown:(0,e.useCallback)(e=>{if(!(!i||t===0))switch(e.key){case`ArrowDown`:e.preventDefault(),s(e=>e>=t-1?a?0:e:e+1);break;case`ArrowUp`:e.preventDefault(),s(e=>e<=0?a?t-1:0:e-1);break;case`Enter`:e.preventDefault(),o>=0&&o<t&&n(o);break;case`Escape`:e.preventDefault(),r();break;case`Home`:e.preventDefault(),s(0);break;case`End`:e.preventDefault(),s(t-1);break}},[i,t,o,n,r,a])}}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return t}});
2
- //# sourceMappingURL=useKeyboardNav-BrODLJaL.cjs.map
@@ -1,23 +0,0 @@
1
- import { useEffect as e, useRef as t } from "react";
2
- //#region src/utils/useReveal.ts
3
- function n(n) {
4
- let r = t(null);
5
- return e(() => {
6
- if (n === !1 || n === void 0) return;
7
- let e = r.current;
8
- if (!e) return;
9
- let t = typeof n == "number" ? n : 0;
10
- if (t > 0 && e.style.setProperty("--reveal-delay", `${t}s`), window.matchMedia("(prefers-reduced-motion: reduce)").matches) {
11
- e.classList.remove("reveal"), e.classList.add("revealed");
12
- return;
13
- }
14
- let i = new IntersectionObserver((t) => {
15
- for (let n of t) n.isIntersecting && (e.classList.add("revealed"), i.disconnect());
16
- }, { threshold: .2 });
17
- return i.observe(e), () => i.disconnect();
18
- }, [n]), r;
19
- }
20
- //#endregion
21
- export { n as t };
22
-
23
- //# sourceMappingURL=useReveal-BJ59usiL.js.map