@banzamel/mineralui 2.4.2 → 2.4.3

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 (340) hide show
  1. package/README.md +1 -1
  2. package/dist/{MAvatar-Capz5Gbc.cjs → MAvatar-DHNB3829.cjs} +2 -2
  3. package/dist/{MAvatar-Capz5Gbc.cjs.map → MAvatar-DHNB3829.cjs.map} +1 -1
  4. package/dist/{MAvatar-DtJCj3dD.js → MAvatar-GeRL-CNO.js} +2 -2
  5. package/dist/{MAvatar-DtJCj3dD.js.map → MAvatar-GeRL-CNO.js.map} +1 -1
  6. package/dist/{MButton-C1pnL4_j.js → MButton-CEwo8lUB.js} +1 -1
  7. package/dist/{MButton-C1pnL4_j.js.map → MButton-CEwo8lUB.js.map} +1 -1
  8. package/dist/{MButton-sTKnano6.cjs → MButton-CnAr77Za.cjs} +2 -2
  9. package/dist/{MButton-sTKnano6.cjs.map → MButton-CnAr77Za.cjs.map} +1 -1
  10. package/dist/{MButtonGroup-BkNf7fzo.js → MButtonGroup-BEJxXZ8u.js} +2 -2
  11. package/dist/{MButtonGroup-BkNf7fzo.js.map → MButtonGroup-BEJxXZ8u.js.map} +1 -1
  12. package/dist/{MButtonGroup-iPv14c0V.cjs → MButtonGroup-DO1Tq3Za.cjs} +2 -2
  13. package/dist/{MButtonGroup-iPv14c0V.cjs.map → MButtonGroup-DO1Tq3Za.cjs.map} +1 -1
  14. package/dist/{MCard-azpp4YVD.js → MCard-BqSkGAgf.js} +3 -3
  15. package/dist/{MCard-azpp4YVD.js.map → MCard-BqSkGAgf.js.map} +1 -1
  16. package/dist/{MCard-DK-_FkpE.cjs → MCard-P8OoswWM.cjs} +2 -2
  17. package/dist/{MCard-DK-_FkpE.cjs.map → MCard-P8OoswWM.cjs.map} +1 -1
  18. package/dist/{MCheckbox-B7SpcD4H.js → MCheckbox-BxFBADcE.js} +1 -1
  19. package/dist/{MCheckbox-B7SpcD4H.js.map → MCheckbox-BxFBADcE.js.map} +1 -1
  20. package/dist/{MCheckbox-CIX7wp41.cjs → MCheckbox-DozwF2ai.cjs} +2 -2
  21. package/dist/{MCheckbox-CIX7wp41.cjs.map → MCheckbox-DozwF2ai.cjs.map} +1 -1
  22. package/dist/{MConflictIllustration-CZ3Md38Z.cjs → MConflictIllustration-2QL-BHYv.cjs} +2 -2
  23. package/dist/{MConflictIllustration-CZ3Md38Z.cjs.map → MConflictIllustration-2QL-BHYv.cjs.map} +1 -1
  24. package/dist/{MDetailList-Ce7KzUKC.cjs → MDetailList-CThQvoyf.cjs} +2 -2
  25. package/dist/{MDetailList-Ce7KzUKC.cjs.map → MDetailList-CThQvoyf.cjs.map} +1 -1
  26. package/dist/{MDetailList-fDhVyhm7.js → MDetailList-Cx9H81xT.js} +5 -5
  27. package/dist/{MDetailList-fDhVyhm7.js.map → MDetailList-Cx9H81xT.js.map} +1 -1
  28. package/dist/{MDropdownMenu-B_QWQhxy.cjs → MDropdownMenu-DnKcCyW6.cjs} +2 -2
  29. package/dist/{MDropdownMenu-B_QWQhxy.cjs.map → MDropdownMenu-DnKcCyW6.cjs.map} +1 -1
  30. package/dist/{MDropdownMenu-C4CuKMRZ.js → MDropdownMenu-DxbKN7Ui.js} +2 -2
  31. package/dist/{MDropdownMenu-C4CuKMRZ.js.map → MDropdownMenu-DxbKN7Ui.js.map} +1 -1
  32. package/dist/{MGrid-fTx6wFq_.cjs → MGrid-BkRSGN2t.cjs} +2 -2
  33. package/dist/{MGrid-fTx6wFq_.cjs.map → MGrid-BkRSGN2t.cjs.map} +1 -1
  34. package/dist/{MGrid-CYL3cbUI.js → MGrid-CIz-2i6X.js} +2 -2
  35. package/dist/{MGrid-CYL3cbUI.js.map → MGrid-CIz-2i6X.js.map} +1 -1
  36. package/dist/{MHeading-KDSpnCof.cjs → MHeading-AYQ8_GFP.cjs} +2 -2
  37. package/dist/{MHeading-KDSpnCof.cjs.map → MHeading-AYQ8_GFP.cjs.map} +1 -1
  38. package/dist/{MHeading-B7KgSP4T.js → MHeading-DcGxUMwC.js} +2 -2
  39. package/dist/{MHeading-B7KgSP4T.js.map → MHeading-DcGxUMwC.js.map} +1 -1
  40. package/dist/{MI18nProvider-DXRbB0VY.cjs → MI18nProvider-CqAwaswx.cjs} +2 -2
  41. package/dist/{MI18nProvider-DXRbB0VY.cjs.map → MI18nProvider-CqAwaswx.cjs.map} +1 -1
  42. package/dist/MInput-BYj2BdUe.cjs +2 -0
  43. package/dist/MInput-BYj2BdUe.cjs.map +1 -0
  44. package/dist/{MInput-C8ObGzQk.js → MInput-nodE-CZF.js} +37 -36
  45. package/dist/MInput-nodE-CZF.js.map +1 -0
  46. package/dist/MInputCVC-9XWryaTz.cjs +2 -0
  47. package/dist/MInputCVC-9XWryaTz.cjs.map +1 -0
  48. package/dist/MInputCVC-CrDTaUXm.js +321 -0
  49. package/dist/MInputCVC-CrDTaUXm.js.map +1 -0
  50. package/dist/{MInputSearch-BM8gLlJ1.js → MInputSearch-BMgCHjFk.js} +2 -2
  51. package/dist/{MInputSearch-BM8gLlJ1.js.map → MInputSearch-BMgCHjFk.js.map} +1 -1
  52. package/dist/{MInputSearch-BZDnbFB4.cjs → MInputSearch-BiVI1jNc.cjs} +2 -2
  53. package/dist/{MInputSearch-BZDnbFB4.cjs.map → MInputSearch-BiVI1jNc.cjs.map} +1 -1
  54. package/dist/{MKbd-DqMnZ7Iv.cjs → MKbd-BR1GX5oK.cjs} +2 -2
  55. package/dist/{MKbd-DqMnZ7Iv.cjs.map → MKbd-BR1GX5oK.cjs.map} +1 -1
  56. package/dist/{MKbd-v6-tJ9sP.js → MKbd-COb7oh_k.js} +1 -1
  57. package/dist/{MKbd-v6-tJ9sP.js.map → MKbd-COb7oh_k.js.map} +1 -1
  58. package/dist/{MLink-Bd8fLH1N.js → MLink-CAl6N6_z.js} +1 -1
  59. package/dist/{MLink-Bd8fLH1N.js.map → MLink-CAl6N6_z.js.map} +1 -1
  60. package/dist/{MLink-U24G6KJj.cjs → MLink-Dk_ReE6i.cjs} +2 -2
  61. package/dist/{MLink-U24G6KJj.cjs.map → MLink-Dk_ReE6i.cjs.map} +1 -1
  62. package/dist/{MLoader-CnvWqFtA.js → MLoader-CYp0OJU_.js} +4 -4
  63. package/dist/{MLoader-CnvWqFtA.js.map → MLoader-CYp0OJU_.js.map} +1 -1
  64. package/dist/{MLoader-CvFIvytw.cjs → MLoader-DvmFle31.cjs} +2 -2
  65. package/dist/{MLoader-CvFIvytw.cjs.map → MLoader-DvmFle31.cjs.map} +1 -1
  66. package/dist/{MPagination-BkvOEZpp.js → MPagination-E7IixIeo.js} +2 -2
  67. package/dist/{MPagination-BkvOEZpp.js.map → MPagination-E7IixIeo.js.map} +1 -1
  68. package/dist/{MPagination-DgQta29Q.cjs → MPagination-reDU9xTW.cjs} +2 -2
  69. package/dist/{MPagination-DgQta29Q.cjs.map → MPagination-reDU9xTW.cjs.map} +1 -1
  70. package/dist/{MPopover-Dd-GIBU6.js → MPopover-8gYD3Ogq.js} +37 -74
  71. package/dist/MPopover-8gYD3Ogq.js.map +1 -0
  72. package/dist/MPopover-B3npyAkL.cjs +2 -0
  73. package/dist/MPopover-B3npyAkL.cjs.map +1 -0
  74. package/dist/{MPortal-DUSIuINN.cjs → MPortal-CuBXhhl_.cjs} +2 -2
  75. package/dist/{MPortal-DUSIuINN.cjs.map → MPortal-CuBXhhl_.cjs.map} +1 -1
  76. package/dist/{MSimpleGrid-BzlIitcJ.cjs → MSimpleGrid-BchGYPMi.cjs} +2 -2
  77. package/dist/{MSimpleGrid-BzlIitcJ.cjs.map → MSimpleGrid-BchGYPMi.cjs.map} +1 -1
  78. package/dist/{MSimpleGrid-BWKurW6H.js → MSimpleGrid-Ui8cI0ho.js} +1 -1
  79. package/dist/{MSimpleGrid-BWKurW6H.js.map → MSimpleGrid-Ui8cI0ho.js.map} +1 -1
  80. package/dist/{MSkeleton-BoFpowFU.cjs → MSkeleton-DPa_G_2X.cjs} +2 -2
  81. package/dist/{MSkeleton-BoFpowFU.cjs.map → MSkeleton-DPa_G_2X.cjs.map} +1 -1
  82. package/dist/{MSkeleton-C5uD4Axo.js → MSkeleton-Dhu-loDO.js} +1 -1
  83. package/dist/{MSkeleton-C5uD4Axo.js.map → MSkeleton-Dhu-loDO.js.map} +1 -1
  84. package/dist/{MSlider-CqrusKJQ.js → MSlider-BRjhyBSc.js} +1 -1
  85. package/dist/{MSlider-CqrusKJQ.js.map → MSlider-BRjhyBSc.js.map} +1 -1
  86. package/dist/{MSlider-BTDBqF8t.cjs → MSlider-w5214a-W.cjs} +2 -2
  87. package/dist/{MSlider-BTDBqF8t.cjs.map → MSlider-w5214a-W.cjs.map} +1 -1
  88. package/dist/{MStack-CSCw6to2.js → MStack-Dt-rWvg3.js} +2 -2
  89. package/dist/{MStack-CSCw6to2.js.map → MStack-Dt-rWvg3.js.map} +1 -1
  90. package/dist/{MStack-B3Ldqsc-.cjs → MStack-nc6Y_9K3.cjs} +2 -2
  91. package/dist/{MStack-B3Ldqsc-.cjs.map → MStack-nc6Y_9K3.cjs.map} +1 -1
  92. package/dist/{MSubText-C-N15d4Z.js → MSubText-B0tXiuAp.js} +2 -2
  93. package/dist/{MSubText-C-N15d4Z.js.map → MSubText-B0tXiuAp.js.map} +1 -1
  94. package/dist/{MSubText-47PsgE8T.cjs → MSubText-C6v6Exa2.cjs} +2 -2
  95. package/dist/{MSubText-47PsgE8T.cjs.map → MSubText-C6v6Exa2.cjs.map} +1 -1
  96. package/dist/{MSurface-QYEygc_0.cjs → MSurface-BjE-mL1L.cjs} +2 -2
  97. package/dist/{MSurface-QYEygc_0.cjs.map → MSurface-BjE-mL1L.cjs.map} +1 -1
  98. package/dist/{MSurface-B-sjyczH.js → MSurface-CpDJCdb5.js} +2 -2
  99. package/dist/{MSurface-B-sjyczH.js.map → MSurface-CpDJCdb5.js.map} +1 -1
  100. package/dist/MTag-BgOxiahL.cjs +2 -0
  101. package/dist/MTag-BgOxiahL.cjs.map +1 -0
  102. package/dist/MTag-cw3cIGHX.js +41 -0
  103. package/dist/MTag-cw3cIGHX.js.map +1 -0
  104. package/dist/{MText-Dni707tS.cjs → MText-BDI4mdw8.cjs} +2 -2
  105. package/dist/{MText-Dni707tS.cjs.map → MText-BDI4mdw8.cjs.map} +1 -1
  106. package/dist/{MText-CL-LPcXi.js → MText-DhbAjtUE.js} +2 -2
  107. package/dist/{MText-CL-LPcXi.js.map → MText-DhbAjtUE.js.map} +1 -1
  108. package/dist/MTooltip-BAgHlv5I.cjs +2 -0
  109. package/dist/MTooltip-BAgHlv5I.cjs.map +1 -0
  110. package/dist/MTooltip-CJxvlkOX.js +92 -0
  111. package/dist/MTooltip-CJxvlkOX.js.map +1 -0
  112. package/dist/{MTreeView-B1J7uqd1.js → MTreeView-DsBnYQMT.js} +2 -2
  113. package/dist/{MTreeView-B1J7uqd1.js.map → MTreeView-DsBnYQMT.js.map} +1 -1
  114. package/dist/{MTreeView-VYp0eErQ.cjs → MTreeView-LiJ5o-zy.cjs} +2 -2
  115. package/dist/{MTreeView-VYp0eErQ.cjs.map → MTreeView-LiJ5o-zy.cjs.map} +1 -1
  116. package/dist/{arduino-BdpdaLwK.cjs → arduino-C1gw-z1N.cjs} +1 -1
  117. package/dist/{arduino-BdpdaLwK.cjs.map → arduino-C1gw-z1N.cjs.map} +1 -1
  118. package/dist/{arduino-DDDlP9Yt.js → arduino-CcVvzDWF.js} +1 -1
  119. package/dist/{arduino-DDDlP9Yt.js.map → arduino-CcVvzDWF.js.map} +1 -1
  120. package/dist/{bash-D8WbAmuA.js → bash-DkMiO80l.js} +1 -1
  121. package/dist/{bash-D8WbAmuA.js.map → bash-DkMiO80l.js.map} +1 -1
  122. package/dist/{bash-eOUFh3S1.cjs → bash-wzZkpJC-.cjs} +1 -1
  123. package/dist/{bash-eOUFh3S1.cjs.map → bash-wzZkpJC-.cjs.map} +1 -1
  124. package/dist/{c-Bur7Mn-u.cjs → c-BSPjDa0P.cjs} +1 -1
  125. package/dist/{c-Bur7Mn-u.cjs.map → c-BSPjDa0P.cjs.map} +1 -1
  126. package/dist/{c-CTKNfUJI.js → c-DtlFV5Pa.js} +1 -1
  127. package/dist/{c-CTKNfUJI.js.map → c-DtlFV5Pa.js.map} +1 -1
  128. package/dist/{calendar-bzeZRst9.js → calendar-Bq6NMNnS.js} +6 -6
  129. package/dist/{calendar-bzeZRst9.js.map → calendar-Bq6NMNnS.js.map} +1 -1
  130. package/dist/{calendar-P7MwKfWS.cjs → calendar-C57BH8Nd.cjs} +2 -2
  131. package/dist/{calendar-P7MwKfWS.cjs.map → calendar-C57BH8Nd.cjs.map} +1 -1
  132. package/dist/calendar.cjs +1 -1
  133. package/dist/calendar.js +1 -1
  134. package/dist/{calendarDates-CYkJqcnp.js → calendarDates-M_Dawj0j.js} +1 -1
  135. package/dist/{calendarDates-CYkJqcnp.js.map → calendarDates-M_Dawj0j.js.map} +1 -1
  136. package/dist/{calendarDates-AnlGcvZM.cjs → calendarDates-qm047RW2.cjs} +1 -1
  137. package/dist/{calendarDates-AnlGcvZM.cjs.map → calendarDates-qm047RW2.cjs.map} +1 -1
  138. package/dist/{cards-CFDJsdxR.js → cards-D4xJVd4q.js} +278 -277
  139. package/dist/cards-D4xJVd4q.js.map +1 -0
  140. package/dist/cards-Du6dbZSQ.cjs +2 -0
  141. package/dist/cards-Du6dbZSQ.cjs.map +1 -0
  142. package/dist/cards.cjs +1 -1
  143. package/dist/cards.js +2 -2
  144. package/dist/components/primitives/MPopover/popoverStack.d.ts +2 -0
  145. package/dist/{controls-BKAhqjNM.js → controls-BKoc_yel.js} +113 -112
  146. package/dist/controls-BKoc_yel.js.map +1 -0
  147. package/dist/controls-Ck-PMt__.cjs +2 -0
  148. package/dist/controls-Ck-PMt__.cjs.map +1 -0
  149. package/dist/controls.cjs +1 -1
  150. package/dist/controls.js +5 -5
  151. package/dist/{core-D5-SQcs8.js → core-B8VC-Umz.js} +1 -1
  152. package/dist/{core-D5-SQcs8.js.map → core-B8VC-Umz.js.map} +1 -1
  153. package/dist/{core-D66c1_Wo.cjs → core-w629c4ND.cjs} +1 -1
  154. package/dist/{core-D66c1_Wo.cjs.map → core-w629c4ND.cjs.map} +1 -1
  155. package/dist/{cpp-DAzz2TpY.js → cpp-BraS2arf.js} +1 -1
  156. package/dist/{cpp-DAzz2TpY.js.map → cpp-BraS2arf.js.map} +1 -1
  157. package/dist/{cpp-BMULAf-B.cjs → cpp-LIcuHkFj.cjs} +1 -1
  158. package/dist/{cpp-BMULAf-B.cjs.map → cpp-LIcuHkFj.cjs.map} +1 -1
  159. package/dist/{css-9M03GzKO.cjs → css-D6fGBtGV.cjs} +1 -1
  160. package/dist/{css-9M03GzKO.cjs.map → css-D6fGBtGV.cjs.map} +1 -1
  161. package/dist/{css-EGOXTWIl.js → css-Dy8pFAWa.js} +1 -1
  162. package/dist/{css-EGOXTWIl.js.map → css-Dy8pFAWa.js.map} +1 -1
  163. package/dist/{data-CgLutFxU.js → data-CdQximqm.js} +38 -38
  164. package/dist/{data-CgLutFxU.js.map → data-CdQximqm.js.map} +1 -1
  165. package/dist/{data-DFrkJTlF.cjs → data-PS4ygCyj.cjs} +2 -2
  166. package/dist/{data-DFrkJTlF.cjs.map → data-PS4ygCyj.cjs.map} +1 -1
  167. package/dist/data.cjs +1 -1
  168. package/dist/data.js +2 -2
  169. package/dist/{display-BnkHKW1n.js → display-YC1fVpXA.js} +19 -19
  170. package/dist/{display-BnkHKW1n.js.map → display-YC1fVpXA.js.map} +1 -1
  171. package/dist/{display--E7rI0tk.cjs → display-slIo1bQI.cjs} +2 -2
  172. package/dist/{display--E7rI0tk.cjs.map → display-slIo1bQI.cjs.map} +1 -1
  173. package/dist/display.cjs +1 -1
  174. package/dist/display.js +2 -2
  175. package/dist/dropdowns-DFbUoZ8Q.cjs +2 -0
  176. package/dist/dropdowns-DFbUoZ8Q.cjs.map +1 -0
  177. package/dist/dropdowns-nW3MY5XG.js +1715 -0
  178. package/dist/dropdowns-nW3MY5XG.js.map +1 -0
  179. package/dist/dropdowns.cjs +1 -1
  180. package/dist/dropdowns.js +1 -1
  181. package/dist/feedback-6MNb2Xyk.cjs +2 -0
  182. package/dist/feedback-6MNb2Xyk.cjs.map +1 -0
  183. package/dist/feedback-CPwJaQHY.js +259 -0
  184. package/dist/feedback-CPwJaQHY.js.map +1 -0
  185. package/dist/feedback.cjs +1 -1
  186. package/dist/feedback.js +5 -5
  187. package/dist/form-CMsZo6Dm.cjs +2 -0
  188. package/dist/form-CMsZo6Dm.cjs.map +1 -0
  189. package/dist/{form-CAFcvmUS.js → form-WU6DcQGD.js} +52 -55
  190. package/dist/form-WU6DcQGD.js.map +1 -0
  191. package/dist/form.cjs +1 -1
  192. package/dist/form.js +1 -1
  193. package/dist/frameworkTexts-BSXUtXOp.cjs +2 -0
  194. package/dist/{frameworkTexts-iDXhcW6k.cjs.map → frameworkTexts-BSXUtXOp.cjs.map} +1 -1
  195. package/dist/frameworkTexts-DP5RUl19.js +131 -0
  196. package/dist/{frameworkTexts-DH0Xp-Vx.js.map → frameworkTexts-DP5RUl19.js.map} +1 -1
  197. package/dist/i18n/frameworkTexts.d.ts +61 -0
  198. package/dist/i18n.cjs +1 -1
  199. package/dist/{icons-D_NB67he.cjs → icons-D3n9-919.cjs} +2 -2
  200. package/dist/{icons-D_NB67he.cjs.map → icons-D3n9-919.cjs.map} +1 -1
  201. package/dist/icons.cjs +1 -1
  202. package/dist/illustrations.cjs +1 -1
  203. package/dist/index.cjs +1 -1
  204. package/dist/index.js +40 -40
  205. package/dist/{inputs-B1LCddA4.js → inputs-B7rGMLMr.js} +399 -398
  206. package/dist/inputs-B7rGMLMr.js.map +1 -0
  207. package/dist/inputs-BiN62hgH.cjs +2 -0
  208. package/dist/inputs-BiN62hgH.cjs.map +1 -0
  209. package/dist/inputs.cjs +1 -1
  210. package/dist/inputs.js +4 -4
  211. package/dist/{javascript-CHSg4NGc.js → javascript-CqKLBRqa.js} +1 -1
  212. package/dist/{javascript-CHSg4NGc.js.map → javascript-CqKLBRqa.js.map} +1 -1
  213. package/dist/{javascript-CastOQF5.cjs → javascript-Oy5hkezl.cjs} +1 -1
  214. package/dist/{javascript-CastOQF5.cjs.map → javascript-Oy5hkezl.cjs.map} +1 -1
  215. package/dist/{json-DCkJ-m-p.cjs → json-BP8eqPWc.cjs} +1 -1
  216. package/dist/{json-DCkJ-m-p.cjs.map → json-BP8eqPWc.cjs.map} +1 -1
  217. package/dist/{json-Bejy9Rlg.js → json-DJkyYaPe.js} +1 -1
  218. package/dist/{json-Bejy9Rlg.js.map → json-DJkyYaPe.js.map} +1 -1
  219. package/dist/layout-BMggJ_qO.cjs +2 -0
  220. package/dist/layout-BMggJ_qO.cjs.map +1 -0
  221. package/dist/{layout-DsE4zfpg.js → layout-DBYHyCTr.js} +269 -268
  222. package/dist/layout-DBYHyCTr.js.map +1 -0
  223. package/dist/layout.cjs +1 -1
  224. package/dist/layout.js +6 -6
  225. package/dist/{layoutProps-B8y2XwHy.cjs → layoutProps-Ck4VtGm9.cjs} +1 -1
  226. package/dist/{layoutProps-B8y2XwHy.cjs.map → layoutProps-Ck4VtGm9.cjs.map} +1 -1
  227. package/dist/{layoutProps-CE5-ghKw.js → layoutProps-Cl6d1KmH.js} +1 -1
  228. package/dist/{layoutProps-CE5-ghKw.js.map → layoutProps-Cl6d1KmH.js.map} +1 -1
  229. package/dist/{licensing-DGIdtfNg.cjs → licensing-Be3g-PJt.cjs} +2 -2
  230. package/dist/{licensing-DGIdtfNg.cjs.map → licensing-Be3g-PJt.cjs.map} +1 -1
  231. package/dist/{locale-DRRl_s5-.cjs → locale-C08q7FjE.cjs} +2 -2
  232. package/dist/{locale-DRRl_s5-.cjs.map → locale-C08q7FjE.cjs.map} +1 -1
  233. package/dist/{locale-CS1-IY_I.js → locale-CjJpk9GN.js} +1 -1
  234. package/dist/{locale-CS1-IY_I.js.map → locale-CjJpk9GN.js.map} +1 -1
  235. package/dist/media-BPzMgzqE.js +405 -0
  236. package/dist/media-BPzMgzqE.js.map +1 -0
  237. package/dist/media-D63hxCAJ.cjs +2 -0
  238. package/dist/media-D63hxCAJ.cjs.map +1 -0
  239. package/dist/media.cjs +1 -1
  240. package/dist/media.js +2 -2
  241. package/dist/overlays-CCeYD6hT.js +555 -0
  242. package/dist/overlays-CCeYD6hT.js.map +1 -0
  243. package/dist/overlays-CsRN5OG8.cjs +2 -0
  244. package/dist/overlays-CsRN5OG8.cjs.map +1 -0
  245. package/dist/overlays.cjs +1 -1
  246. package/dist/overlays.js +3 -3
  247. package/dist/{php-BdVXegqn.cjs → php-Cwjc-ZYq.cjs} +1 -1
  248. package/dist/{php-BdVXegqn.cjs.map → php-Cwjc-ZYq.cjs.map} +1 -1
  249. package/dist/{php-Cb_S1hXT.js → php-Db8PWzaX.js} +1 -1
  250. package/dist/{php-Cb_S1hXT.js.map → php-Db8PWzaX.js.map} +1 -1
  251. package/dist/popoverStack--0r2oJCD.js +44 -0
  252. package/dist/popoverStack--0r2oJCD.js.map +1 -0
  253. package/dist/popoverStack-BmMk-VZJ.cjs +2 -0
  254. package/dist/popoverStack-BmMk-VZJ.cjs.map +1 -0
  255. package/dist/primitives.cjs +1 -1
  256. package/dist/primitives.js +1 -1
  257. package/dist/style-runtime.cjs +1 -1
  258. package/dist/style-runtime.js +1 -1
  259. package/dist/styles.css +1 -1
  260. package/dist/{theme-DgaM4CjM.cjs → theme-CJuqObWL.cjs} +2 -2
  261. package/dist/{theme-DgaM4CjM.cjs.map → theme-CJuqObWL.cjs.map} +1 -1
  262. package/dist/theme.cjs +1 -1
  263. package/dist/{typescript-CcGBfzlS.cjs → typescript-QKlfKtex.cjs} +1 -1
  264. package/dist/{typescript-CcGBfzlS.cjs.map → typescript-QKlfKtex.cjs.map} +1 -1
  265. package/dist/{typescript-0VHxrxf2.js → typescript-chdf_txx.js} +1 -1
  266. package/dist/{typescript-0VHxrxf2.js.map → typescript-chdf_txx.js.map} +1 -1
  267. package/dist/{typography-C4_O8len.cjs → typography-4v01oNWx.cjs} +2 -2
  268. package/dist/{typography-C4_O8len.cjs.map → typography-4v01oNWx.cjs.map} +1 -1
  269. package/dist/{typography-CAW17MDj.js → typography-C806GYT4.js} +2 -2
  270. package/dist/{typography-CAW17MDj.js.map → typography-C806GYT4.js.map} +1 -1
  271. package/dist/typography.cjs +1 -1
  272. package/dist/typography.js +6 -6
  273. package/dist/{useGhostText-Dlemg1vw.cjs → useGhostText-mibV4s1-.cjs} +2 -2
  274. package/dist/{useGhostText-Dlemg1vw.cjs.map → useGhostText-mibV4s1-.cjs.map} +1 -1
  275. package/dist/{useInteractionEffect-CFwDX5UF.cjs → useInteractionEffect-CtXlbjhC.cjs} +2 -2
  276. package/dist/{useInteractionEffect-CFwDX5UF.cjs.map → useInteractionEffect-CtXlbjhC.cjs.map} +1 -1
  277. package/dist/{useKeyboardNav-Bm-dxVq-.cjs → useKeyboardNav-CCUoRMgm.cjs} +2 -2
  278. package/dist/{useKeyboardNav-Bm-dxVq-.cjs.map → useKeyboardNav-CCUoRMgm.cjs.map} +1 -1
  279. package/dist/useModalLayer-Bf4TcEz-.js +58 -0
  280. package/dist/useModalLayer-Bf4TcEz-.js.map +1 -0
  281. package/dist/useModalLayer-DxYhhgRO.cjs +2 -0
  282. package/dist/useModalLayer-DxYhhgRO.cjs.map +1 -0
  283. package/dist/utils/useModalLayer.d.ts +10 -0
  284. package/dist/utils.cjs +1 -1
  285. package/dist/{xml-Dbm3mobK.cjs → xml-DEtyywwU.cjs} +1 -1
  286. package/dist/{xml-Dbm3mobK.cjs.map → xml-DEtyywwU.cjs.map} +1 -1
  287. package/dist/{xml-8GjNy8SM.js → xml-DnydRpfh.js} +1 -1
  288. package/dist/{xml-8GjNy8SM.js.map → xml-DnydRpfh.js.map} +1 -1
  289. package/package.json +1 -1
  290. package/dist/MInput-C8ObGzQk.js.map +0 -1
  291. package/dist/MInput-CGl2Q-rM.cjs +0 -2
  292. package/dist/MInput-CGl2Q-rM.cjs.map +0 -1
  293. package/dist/MInputCVC-Blv5PeyS.js +0 -320
  294. package/dist/MInputCVC-Blv5PeyS.js.map +0 -1
  295. package/dist/MInputCVC-lAFKTV6y.cjs +0 -2
  296. package/dist/MInputCVC-lAFKTV6y.cjs.map +0 -1
  297. package/dist/MPopover-C-e1CoV0.cjs +0 -2
  298. package/dist/MPopover-C-e1CoV0.cjs.map +0 -1
  299. package/dist/MPopover-Dd-GIBU6.js.map +0 -1
  300. package/dist/MTag-BjV-dXkk.cjs +0 -2
  301. package/dist/MTag-BjV-dXkk.cjs.map +0 -1
  302. package/dist/MTag-D9q6faIk.js +0 -39
  303. package/dist/MTag-D9q6faIk.js.map +0 -1
  304. package/dist/MTooltip-ChvuN4Ow.cjs +0 -2
  305. package/dist/MTooltip-ChvuN4Ow.cjs.map +0 -1
  306. package/dist/MTooltip-H3we0a7w.js +0 -57
  307. package/dist/MTooltip-H3we0a7w.js.map +0 -1
  308. package/dist/cards-CFDJsdxR.js.map +0 -1
  309. package/dist/cards-DeA7I2KC.cjs +0 -2
  310. package/dist/cards-DeA7I2KC.cjs.map +0 -1
  311. package/dist/controls-BKAhqjNM.js.map +0 -1
  312. package/dist/controls-KK-TyUTT.cjs +0 -2
  313. package/dist/controls-KK-TyUTT.cjs.map +0 -1
  314. package/dist/dropdowns-DGYg9zIh.cjs +0 -2
  315. package/dist/dropdowns-DGYg9zIh.cjs.map +0 -1
  316. package/dist/dropdowns-Dq-xAplH.js +0 -1698
  317. package/dist/dropdowns-Dq-xAplH.js.map +0 -1
  318. package/dist/feedback-CA77ShtB.cjs +0 -2
  319. package/dist/feedback-CA77ShtB.cjs.map +0 -1
  320. package/dist/feedback-CCwbdNZu.js +0 -255
  321. package/dist/feedback-CCwbdNZu.js.map +0 -1
  322. package/dist/form-CAFcvmUS.js.map +0 -1
  323. package/dist/form-DpfzLUOn.cjs +0 -2
  324. package/dist/form-DpfzLUOn.cjs.map +0 -1
  325. package/dist/frameworkTexts-DH0Xp-Vx.js +0 -78
  326. package/dist/frameworkTexts-iDXhcW6k.cjs +0 -2
  327. package/dist/inputs-B1LCddA4.js.map +0 -1
  328. package/dist/inputs-Clenc4Rm.cjs +0 -2
  329. package/dist/inputs-Clenc4Rm.cjs.map +0 -1
  330. package/dist/layout-CNoZdeXw.cjs +0 -2
  331. package/dist/layout-CNoZdeXw.cjs.map +0 -1
  332. package/dist/layout-DsE4zfpg.js.map +0 -1
  333. package/dist/media-DRTBXDnn.cjs +0 -2
  334. package/dist/media-DRTBXDnn.cjs.map +0 -1
  335. package/dist/media-vOQOIYFD.js +0 -402
  336. package/dist/media-vOQOIYFD.js.map +0 -1
  337. package/dist/overlays-BKk_ZXue.js +0 -568
  338. package/dist/overlays-BKk_ZXue.js.map +0 -1
  339. package/dist/overlays-Qbp4d596.cjs +0 -2
  340. package/dist/overlays-Qbp4d596.cjs.map +0 -1
@@ -0,0 +1,405 @@
1
+ import { r as e } from "./theme-DAOU1aPs.js";
2
+ import { Ji as t, Xi as n, qi as r } from "./icons-CBMl-kOM.js";
3
+ import { t as i } from "./cn-YER3QsV1.js";
4
+ import { t as a } from "./useInteractionEffect-DtpbVd77.js";
5
+ import { t as o } from "./MPortal-Ba2Sxset.js";
6
+ import { t as s } from "./MButton-CEwo8lUB.js";
7
+ import { n as c, t as l } from "./frameworkTexts-DP5RUl19.js";
8
+ import { n as u, t as d } from "./MSkeleton-Dhu-loDO.js";
9
+ import { t as f } from "./useModalLayer-Bf4TcEz-.js";
10
+ import { Children as p, useCallback as m, useEffect as h, useId as g, useMemo as _, useRef as v, useState as y } from "react";
11
+ import { Fragment as b, jsx as x, jsxs as S } from "react/jsx-runtime";
12
+ //#region src/components/media/MMediaLightbox/MMediaLightbox.tsx
13
+ function C({ open: e, items: a, activeIndex: l, onClose: d, onActiveIndexChange: p }) {
14
+ let m = c(), g = a[l], _ = v(null), y = v(null), b = l > 0, C = l < a.length - 1;
15
+ if (f({
16
+ active: e && !!g,
17
+ containerRef: y,
18
+ onEscape: d
19
+ }), h(() => {
20
+ if (!e) return;
21
+ let t = (e) => {
22
+ e.key === "ArrowLeft" && b && p(l - 1), e.key === "ArrowRight" && C && p(l + 1);
23
+ };
24
+ return document.addEventListener("keydown", t), () => document.removeEventListener("keydown", t);
25
+ }, [
26
+ l,
27
+ C,
28
+ b,
29
+ p,
30
+ d,
31
+ e
32
+ ]), h(() => {
33
+ if (!e) return;
34
+ let t = document.body.style.overflow;
35
+ return document.body.style.overflow = "hidden", () => {
36
+ document.body.style.overflow = t;
37
+ };
38
+ }, [e]), !e || !g) return null;
39
+ let w = (e) => {
40
+ let t = e.target;
41
+ t && _.current && !_.current.contains(t) && d();
42
+ }, T = g.alt || g.caption || m.imagePreview;
43
+ return /* @__PURE__ */ x(o, { children: /* @__PURE__ */ x("div", {
44
+ ref: y,
45
+ className: i("mineral-backdrop", "media-lightbox-backdrop"),
46
+ onMouseDown: w,
47
+ children: /* @__PURE__ */ x("div", {
48
+ className: "media-lightbox-shell",
49
+ role: "dialog",
50
+ "aria-modal": "true",
51
+ "aria-label": T,
52
+ children: /* @__PURE__ */ x("div", {
53
+ className: "media-lightbox-stage",
54
+ children: /* @__PURE__ */ S("div", {
55
+ ref: _,
56
+ className: "media-lightbox-frame",
57
+ children: [
58
+ /* @__PURE__ */ S("div", {
59
+ className: "media-lightbox-topbar",
60
+ children: [/* @__PURE__ */ x(u, {
61
+ color: "dark",
62
+ size: "md",
63
+ rounded: !0,
64
+ className: "media-lightbox-counter",
65
+ children: a.length > 1 ? `${l + 1} / ${a.length}` : m.preview
66
+ }), /* @__PURE__ */ x(s, {
67
+ type: "button",
68
+ variant: "ghost",
69
+ color: "error",
70
+ size: "lg",
71
+ shape: "circle",
72
+ iconOnly: !0,
73
+ className: "media-lightbox-action",
74
+ "aria-label": m.closePreview,
75
+ onClick: d,
76
+ children: /* @__PURE__ */ x(n, {})
77
+ })]
78
+ }),
79
+ /* @__PURE__ */ x(s, {
80
+ type: "button",
81
+ variant: "ghost",
82
+ color: "primary",
83
+ size: "lg",
84
+ shape: "circle",
85
+ iconOnly: !0,
86
+ className: "media-lightbox-nav media-lightbox-nav-prev",
87
+ "aria-label": m.previousImage,
88
+ disabled: a.length <= 1 || !b,
89
+ onClick: () => b && p(l - 1),
90
+ children: /* @__PURE__ */ x(t, {})
91
+ }),
92
+ /* @__PURE__ */ x("img", {
93
+ className: "media-lightbox-image",
94
+ src: g.src,
95
+ alt: g.alt || ""
96
+ }),
97
+ /* @__PURE__ */ x(s, {
98
+ type: "button",
99
+ variant: "ghost",
100
+ color: "primary",
101
+ size: "lg",
102
+ shape: "circle",
103
+ iconOnly: !0,
104
+ className: "media-lightbox-nav media-lightbox-nav-next",
105
+ "aria-label": m.nextImage,
106
+ disabled: a.length <= 1 || !C,
107
+ onClick: () => C && p(l + 1),
108
+ children: /* @__PURE__ */ x(r, {})
109
+ }),
110
+ g.caption || g.alt ? /* @__PURE__ */ x(u, {
111
+ color: "dark",
112
+ size: "sm",
113
+ rounded: !0,
114
+ className: "media-lightbox-caption",
115
+ children: g.caption || g.alt
116
+ }) : null
117
+ ]
118
+ })
119
+ })
120
+ })
121
+ }) });
122
+ }
123
+ //#endregion
124
+ //#region src/components/media/mediaPreviewRegistry.ts
125
+ var w = /* @__PURE__ */ new Map();
126
+ function T(e, t, n) {
127
+ let r = w.get(e);
128
+ return r || (r = /* @__PURE__ */ new Map(), w.set(e, r)), r.set(t, {
129
+ id: t,
130
+ ...n
131
+ }), () => {
132
+ let n = w.get(e);
133
+ n && (n.delete(t), n.size === 0 && w.delete(e));
134
+ };
135
+ }
136
+ function E(e) {
137
+ return Array.from(w.get(e)?.values() ?? []);
138
+ }
139
+ //#endregion
140
+ //#region src/components/media/mediaInteraction.ts
141
+ function D(e) {
142
+ return e === "zoom" || e === "zoom-dim";
143
+ }
144
+ function O(e) {
145
+ return e === "dim" || e === "zoom-dim";
146
+ }
147
+ //#endregion
148
+ //#region src/components/media/MImage/MImage.tsx
149
+ var k = {
150
+ "1:1": "1 / 1",
151
+ "4:3": "4 / 3",
152
+ "16:9": "16 / 9",
153
+ "21:9": "21 / 9"
154
+ };
155
+ function A(e) {
156
+ if (e != null) return typeof e == "number" ? `${e}px` : e;
157
+ }
158
+ function j({ src: t, fit: n = "cover", ratio: r = "auto", width: o, height: s, hidden: u, rounded: f = !1, bordered: p = !1, shadow: m = !1, preview: v = !1, previewGroup: w, hoverEffect: j = "none", clickEffect: M = "none", fallback: N, skeleton: P = !1, className: F, style: I, alt: L, onError: ee, ...R }) {
159
+ let z = c(), [B, te] = y(!1), [V, H] = y(!1), [U, ne] = y([]), [re, W] = y(0), G = g(), { effectClassName: ie, effectLayer: K, handlePointerDown: ae } = a({ effect: P ? "none" : M }), oe = (e) => {
160
+ N && !B && (te(!0), e.currentTarget.src = N), ee?.(e);
161
+ }, q = A(o), J = A(s), se = q != null || J != null, Y = r !== "auto" && !!k[r], X = {};
162
+ q != null && (X.width = q), J != null && (X.height = J);
163
+ let Z = {
164
+ ...I,
165
+ ...Y ? { aspectRatio: k[r] } : null,
166
+ ...X
167
+ }, Q = B && N ? N : t, $ = _(() => ({
168
+ src: Q || "",
169
+ alt: L ?? "",
170
+ caption: typeof R.title == "string" ? R.title : void 0
171
+ }), [
172
+ L,
173
+ Q,
174
+ R.title
175
+ ]);
176
+ if (h(() => {
177
+ if (!(!v || !w || !Q)) return T(w, G, $);
178
+ }, [
179
+ v,
180
+ w,
181
+ G,
182
+ $,
183
+ Q
184
+ ]), P) return /* @__PURE__ */ x(d, {
185
+ variant: "rectangle",
186
+ animate: "pulse",
187
+ className: i("image-skeleton", f && "rounded", p && "bordered", F),
188
+ style: Z,
189
+ "aria-label": z.loading,
190
+ ...e(u)
191
+ });
192
+ let ce = () => {
193
+ if (!(!v || !Q)) {
194
+ if (w) {
195
+ let e = E(w), t = e.findIndex((e) => e.id === G);
196
+ if (e.length > 0 && t >= 0) {
197
+ ne(e.map(({ id: e, ...t }) => t)), W(t), H(!0);
198
+ return;
199
+ }
200
+ }
201
+ ne([$]), W(0), H(!0);
202
+ }
203
+ }, le = i("image", n, !K && f && "rounded", !K && p && "bordered", !K && m && "shadow"), ue = Y || se || !!K || v || j !== "none", de = i("image-wrap", Y && "has-ratio", se && "has-size", f && "rounded", p && "bordered", m && "shadow", v && "preview", D(j) && "effect-zoom", O(j) && "effect-dim", ie, F), fe = /* @__PURE__ */ x("img", {
204
+ className: le,
205
+ onError: oe,
206
+ src: Q,
207
+ ...R,
208
+ alt: L ?? ""
209
+ });
210
+ return ue ? /* @__PURE__ */ S(b, { children: [v ? /* @__PURE__ */ S("button", {
211
+ type: "button",
212
+ className: i(de, "image-button"),
213
+ "aria-label": l(z.previewItem, { name: L || z.image }),
214
+ onClick: ce,
215
+ onPointerDown: K ? ae : void 0,
216
+ disabled: !Q,
217
+ ...e(u),
218
+ style: Z,
219
+ children: [K, fe]
220
+ }) : /* @__PURE__ */ S("span", {
221
+ className: de,
222
+ onPointerDown: K ? ae : void 0,
223
+ ...e(u),
224
+ style: Z,
225
+ children: [K, fe]
226
+ }), /* @__PURE__ */ x(C, {
227
+ open: V,
228
+ items: U,
229
+ activeIndex: re,
230
+ onActiveIndexChange: W,
231
+ onClose: () => H(!1)
232
+ })] }) : /* @__PURE__ */ S(b, { children: [/* @__PURE__ */ x("img", {
233
+ className: i(le, F),
234
+ style: Z,
235
+ onError: oe,
236
+ src: Q,
237
+ ...e(u),
238
+ ...R,
239
+ alt: L ?? ""
240
+ }), /* @__PURE__ */ x(C, {
241
+ open: V,
242
+ items: U,
243
+ activeIndex: re,
244
+ onActiveIndexChange: W,
245
+ onClose: () => H(!1)
246
+ })] });
247
+ }
248
+ //#endregion
249
+ //#region src/components/media/MGallery/MGallery.tsx
250
+ function M({ items: e, columns: t = 3, rounded: n = !0, preview: r = !1, hoverEffect: a = "zoom", clickEffect: o = "ripple", className: s, ...c }) {
251
+ let [l, u] = y(!1), [d, f] = y(0);
252
+ return /* @__PURE__ */ S(b, { children: [/* @__PURE__ */ x("div", {
253
+ className: i("gallery", `columns-${t}`, s),
254
+ ...c,
255
+ children: e.map((e, t) => /* @__PURE__ */ x(N, {
256
+ item: e,
257
+ rounded: n,
258
+ preview: r,
259
+ hoverEffect: a,
260
+ clickEffect: o,
261
+ onOpen: () => {
262
+ f(t), u(!0);
263
+ }
264
+ }, t))
265
+ }), /* @__PURE__ */ x(C, {
266
+ open: l,
267
+ items: e,
268
+ activeIndex: d,
269
+ onActiveIndexChange: f,
270
+ onClose: () => u(!1)
271
+ })] });
272
+ }
273
+ function N({ item: e, rounded: t, preview: n, hoverEffect: r, clickEffect: o, onOpen: s }) {
274
+ let u = c(), { effectClassName: d, effectLayer: f, handlePointerDown: p } = a({ effect: o });
275
+ return /* @__PURE__ */ x("figure", {
276
+ className: i("gallery-item", t && "rounded"),
277
+ children: n ? /* @__PURE__ */ S("button", {
278
+ type: "button",
279
+ className: i("gallery-trigger", t && "rounded", "gallery-button", D(r) && "effect-zoom", O(r) && "effect-dim", d),
280
+ onClick: s,
281
+ onPointerDown: p,
282
+ "aria-label": l(u.previewItem, { name: e.alt || u.image }),
283
+ children: [
284
+ /* @__PURE__ */ x("img", {
285
+ className: "gallery-image",
286
+ src: e.thumbnail || e.src,
287
+ alt: e.alt || "",
288
+ loading: "lazy"
289
+ }),
290
+ e.caption && /* @__PURE__ */ x("span", {
291
+ className: "gallery-caption",
292
+ children: e.caption
293
+ }),
294
+ f
295
+ ]
296
+ }) : /* @__PURE__ */ S("div", {
297
+ className: i("gallery-trigger", t && "rounded", D(r) && "effect-zoom", O(r) && "effect-dim", d),
298
+ onPointerDown: p,
299
+ children: [
300
+ /* @__PURE__ */ x("img", {
301
+ className: "gallery-image",
302
+ src: e.thumbnail || e.src,
303
+ alt: e.alt || "",
304
+ loading: "lazy"
305
+ }),
306
+ e.caption && /* @__PURE__ */ x("span", {
307
+ className: "gallery-caption",
308
+ children: e.caption
309
+ }),
310
+ f
311
+ ]
312
+ })
313
+ });
314
+ }
315
+ //#endregion
316
+ //#region src/components/media/MCarousel/MCarousel.tsx
317
+ function P({ autoPlay: e = !1, interval: n = 5e3, showDots: a = !0, showArrows: o = !0, loop: u = !0, draggable: d = !0, transition: f = "slide", className: g, children: _, ...C }) {
318
+ let w = c(), T = p.toArray(_), E = T.length, [D, O] = y(0), [k, A] = y(0), [j, M] = y(!1), N = v(0), P = v(null), F = m((e) => {
319
+ O(u ? (e + E) % E : Math.max(0, Math.min(e, E - 1)));
320
+ }, [E, u]), I = m(() => F(D - 1), [D, F]), L = m(() => F(D + 1), [D, F]);
321
+ h(() => {
322
+ if (!e || E <= 1 || j) return;
323
+ let t = setInterval(L, n);
324
+ return () => clearInterval(t);
325
+ }, [
326
+ e,
327
+ n,
328
+ L,
329
+ E,
330
+ j
331
+ ]);
332
+ let ee = (e) => {
333
+ d && (M(!0), N.current = e, A(0));
334
+ }, R = (e) => {
335
+ j && A(e - N.current);
336
+ }, z = () => {
337
+ j && (M(!1), k < -50 ? L() : k > 50 && I(), A(0));
338
+ }, B = (e) => {
339
+ d && (e.currentTarget.setPointerCapture(e.pointerId), ee(e.clientX));
340
+ }, te = (e) => {
341
+ R(e.clientX);
342
+ }, V = () => {
343
+ z();
344
+ };
345
+ if (E === 0) return null;
346
+ let H = f === "fade", U = H ? void 0 : { transform: `translateX(calc(-${D * 100}% + ${j ? k : 0}px))` };
347
+ return /* @__PURE__ */ S("div", {
348
+ className: i("carousel", H && "fade", g),
349
+ ...C,
350
+ children: [
351
+ /* @__PURE__ */ x("div", {
352
+ className: "carousel-viewport",
353
+ onPointerDown: B,
354
+ onPointerMove: te,
355
+ onPointerUp: V,
356
+ onPointerCancel: V,
357
+ style: {
358
+ touchAction: d ? "pan-y" : void 0,
359
+ cursor: d ? j ? "grabbing" : "grab" : void 0
360
+ },
361
+ children: /* @__PURE__ */ x("div", {
362
+ ref: P,
363
+ className: i("carousel-track", j && "dragging"),
364
+ style: U,
365
+ children: T.map((e, t) => /* @__PURE__ */ x("div", {
366
+ className: i("carousel-slide", H && t === D && "active", H && t !== D && "hidden"),
367
+ children: e
368
+ }, t))
369
+ })
370
+ }),
371
+ o && E > 1 && /* @__PURE__ */ S(b, { children: [/* @__PURE__ */ x(s, {
372
+ variant: "ghost",
373
+ color: "primary",
374
+ iconOnly: !0,
375
+ shape: "circle",
376
+ onClick: I,
377
+ "aria-label": w.previousSlide,
378
+ className: "carousel-arrow carousel-arrow-prev",
379
+ children: /* @__PURE__ */ x(t, {})
380
+ }), /* @__PURE__ */ x(s, {
381
+ variant: "ghost",
382
+ color: "primary",
383
+ iconOnly: !0,
384
+ shape: "circle",
385
+ onClick: L,
386
+ "aria-label": w.nextSlide,
387
+ className: "carousel-arrow carousel-arrow-next",
388
+ children: /* @__PURE__ */ x(r, {})
389
+ })] }),
390
+ a && E > 1 && /* @__PURE__ */ x("div", {
391
+ className: "carousel-dots",
392
+ children: T.map((e, t) => /* @__PURE__ */ x("button", {
393
+ className: i("carousel-dot", t === D && "active"),
394
+ onClick: () => F(t),
395
+ "aria-label": l(w.slideNumber, { index: t + 1 }),
396
+ type: "button"
397
+ }, t))
398
+ })
399
+ ]
400
+ });
401
+ }
402
+ //#endregion
403
+ export { M as n, j as r, P as t };
404
+
405
+ //# sourceMappingURL=media-BPzMgzqE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-BPzMgzqE.js","names":[],"sources":["../src/components/media/MMediaLightbox/MMediaLightbox.tsx","../src/components/media/mediaPreviewRegistry.ts","../src/components/media/mediaInteraction.ts","../src/components/media/MImage/MImage.tsx","../src/components/media/MGallery/MGallery.tsx","../src/components/media/MCarousel/MCarousel.tsx"],"sourcesContent":["import {useEffect, useRef} from 'react'\nimport type {MouseEvent} from 'react'\nimport {MButton} from '../../controls'\nimport {MBadge} from '../../feedback'\nimport {MPortal} from '../../primitives'\nimport {MCloseIcon, MChevronLeftIcon, MChevronRightIcon} from '../../../icons'\nimport {cn} from '../../../utils/cn'\nimport {useModalLayer} from '../../../utils/useModalLayer'\nimport './MMediaLightbox.css'\nimport {useMCommonTexts} from '../../../i18n/frameworkTexts'\n\nexport interface MMediaLightboxItem {\n src: string\n alt?: string\n caption?: string\n}\n\ninterface MMediaLightboxProps {\n open: boolean\n items: MMediaLightboxItem[]\n activeIndex: number\n onClose: () => void\n onActiveIndexChange: (index: number) => void\n}\n\nexport function MMediaLightbox({open, items, activeIndex, onClose, onActiveIndexChange}: MMediaLightboxProps) {\n const texts = useMCommonTexts()\n const currentItem = items[activeIndex]\n const frameRef = useRef<HTMLDivElement | null>(null)\n const backdropRef = useRef<HTMLDivElement | null>(null)\n const canGoPrev = activeIndex > 0\n const canGoNext = activeIndex < items.length - 1\n\n useModalLayer({active: open && !!currentItem, containerRef: backdropRef, onEscape: onClose})\n\n useEffect(() => {\n if (!open) {\n return\n }\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'ArrowLeft' && canGoPrev) {\n onActiveIndexChange(activeIndex - 1)\n }\n\n if (event.key === 'ArrowRight' && canGoNext) {\n onActiveIndexChange(activeIndex + 1)\n }\n }\n\n document.addEventListener('keydown', handleKeyDown)\n return () => document.removeEventListener('keydown', handleKeyDown)\n }, [activeIndex, canGoNext, canGoPrev, onActiveIndexChange, onClose, open])\n\n useEffect(() => {\n if (!open) {\n return\n }\n\n const previousOverflow = document.body.style.overflow\n document.body.style.overflow = 'hidden'\n\n return () => {\n document.body.style.overflow = previousOverflow\n }\n }, [open])\n\n if (!open || !currentItem) {\n return null\n }\n\n const handleBackdropMouseDown = (event: MouseEvent<HTMLDivElement>) => {\n const target = event.target as Node | null\n\n if (target && frameRef.current && !frameRef.current.contains(target)) {\n onClose()\n }\n }\n\n const previewLabel = currentItem.alt || currentItem.caption || texts.imagePreview\n\n return (\n <MPortal>\n <div\n ref={backdropRef}\n className={cn('mineral-backdrop', 'media-lightbox-backdrop')}\n onMouseDown={handleBackdropMouseDown}\n >\n <div className=\"media-lightbox-shell\" role=\"dialog\" aria-modal=\"true\" aria-label={previewLabel}>\n <div className=\"media-lightbox-stage\">\n <div ref={frameRef} className=\"media-lightbox-frame\">\n <div className=\"media-lightbox-topbar\">\n <MBadge color=\"dark\" size=\"md\" rounded className=\"media-lightbox-counter\">\n {items.length > 1 ? `${activeIndex + 1} / ${items.length}` : texts.preview}\n </MBadge>\n <MButton\n type=\"button\"\n variant=\"ghost\"\n color=\"error\"\n size=\"lg\"\n shape=\"circle\"\n iconOnly\n className=\"media-lightbox-action\"\n aria-label={texts.closePreview}\n onClick={onClose}\n >\n <MCloseIcon />\n </MButton>\n </div>\n\n <MButton\n type=\"button\"\n variant=\"ghost\"\n color=\"primary\"\n size=\"lg\"\n shape=\"circle\"\n iconOnly\n className=\"media-lightbox-nav media-lightbox-nav-prev\"\n aria-label={texts.previousImage}\n disabled={items.length <= 1 || !canGoPrev}\n onClick={() => canGoPrev && onActiveIndexChange(activeIndex - 1)}\n >\n <MChevronLeftIcon />\n </MButton>\n\n <img className=\"media-lightbox-image\" src={currentItem.src} alt={currentItem.alt || ''} />\n\n <MButton\n type=\"button\"\n variant=\"ghost\"\n color=\"primary\"\n size=\"lg\"\n shape=\"circle\"\n iconOnly\n className=\"media-lightbox-nav media-lightbox-nav-next\"\n aria-label={texts.nextImage}\n disabled={items.length <= 1 || !canGoNext}\n onClick={() => canGoNext && onActiveIndexChange(activeIndex + 1)}\n >\n <MChevronRightIcon />\n </MButton>\n\n {currentItem.caption || currentItem.alt ? (\n <MBadge color=\"dark\" size=\"sm\" rounded className=\"media-lightbox-caption\">\n {currentItem.caption || currentItem.alt}\n </MBadge>\n ) : null}\n </div>\n </div>\n </div>\n </div>\n </MPortal>\n )\n}\n","import type {MMediaLightboxItem} from './MMediaLightbox/MMediaLightbox'\n\ninterface MMediaPreviewRegistryItem extends MMediaLightboxItem {\n id: string\n}\n\nconst previewGroups = new Map<string, Map<string, MMediaPreviewRegistryItem>>()\n\nexport function registerMediaPreviewItem(group: string, id: string, item: MMediaLightboxItem) {\n let groupItems = previewGroups.get(group)\n\n if (!groupItems) {\n groupItems = new Map()\n previewGroups.set(group, groupItems)\n }\n\n groupItems.set(id, {id, ...item})\n\n return () => {\n const currentGroupItems = previewGroups.get(group)\n if (!currentGroupItems) {\n return\n }\n\n currentGroupItems.delete(id)\n\n if (currentGroupItems.size === 0) {\n previewGroups.delete(group)\n }\n }\n}\n\nexport function getMediaPreviewGroupItems(group: string) {\n return Array.from(previewGroups.get(group)?.values() ?? [])\n}\n","import type {MClickEffect} from '../../utils/useInteractionEffect'\n\nexport type MMediaInteractionEffect = MClickEffect | 'zoom' | 'dim' | 'zoom-ripple'\nexport type MMediaHoverEffect = 'none' | 'zoom' | 'dim' | 'zoom-dim'\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\nexport function usesHoverZoom(effect: MMediaHoverEffect): boolean {\n return effect === 'zoom' || effect === 'zoom-dim'\n}\n\nexport function usesHoverDim(effect: MMediaHoverEffect): boolean {\n return effect === 'dim' || effect === 'zoom-dim'\n}\n","import {useEffect, useId, useMemo, useState} from 'react'\nimport type * as React from 'react'\nimport type {CSSProperties} from 'react'\nimport type {MImageProps, MImageSize} from './MImage.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {useInteractionEffect} from '../../../utils/useInteractionEffect'\nimport {MSkeleton} from '../../feedback'\nimport {MMediaLightbox} from '../MMediaLightbox/MMediaLightbox'\nimport {getMediaPreviewGroupItems, registerMediaPreviewItem} from '../mediaPreviewRegistry'\nimport {usesHoverDim, usesHoverZoom} from '../mediaInteraction'\nimport './MImage.css'\nimport {useMCommonTexts, formatMText} from '../../../i18n/frameworkTexts'\n\nconst RATIO_MAP: Record<string, string> = {\n '1:1': '1 / 1',\n '4:3': '4 / 3',\n '16:9': '16 / 9',\n '21:9': '21 / 9',\n}\n\nfunction toCssSize(value: MImageSize | undefined): string | undefined {\n if (value == null) return undefined\n return typeof value === 'number' ? `${value}px` : value\n}\n\n// Render a styled image with aspect ratio, fit, and optional fallback.\nexport function MImage({\n src,\n fit = 'cover',\n ratio = 'auto',\n width,\n height,\n hidden,\n rounded = false,\n bordered = false,\n shadow = false,\n preview = false,\n previewGroup,\n hoverEffect = 'none',\n clickEffect = 'none',\n fallback,\n skeleton = false,\n className,\n style,\n alt,\n onError,\n ...rest\n}: MImageProps) {\n const texts = useMCommonTexts()\n const [errored, setErrored] = useState(false)\n const [previewOpen, setPreviewOpen] = useState(false)\n const [previewItems, setPreviewItems] = useState<Array<{src: string; alt?: string; caption?: string}>>([])\n const [previewIndex, setPreviewIndex] = useState(0)\n const previewId = useId()\n const {effectClassName, effectLayer, handlePointerDown} = useInteractionEffect<HTMLElement>({\n effect: skeleton ? 'none' : clickEffect,\n })\n\n const handleError = (e: React.SyntheticEvent<HTMLImageElement>) => {\n if (fallback && !errored) {\n setErrored(true)\n e.currentTarget.src = fallback\n }\n onError?.(e)\n }\n\n const widthValue = toCssSize(width)\n const heightValue = toCssSize(height)\n const hasExplicitSize = widthValue != null || heightValue != null\n const hasFixedRatio = ratio !== 'auto' && !!RATIO_MAP[ratio]\n const sizeStyle: CSSProperties = {}\n if (widthValue != null) sizeStyle.width = widthValue\n if (heightValue != null) sizeStyle.height = heightValue\n const ratioStyle: CSSProperties = {\n ...style,\n ...(hasFixedRatio ? {aspectRatio: RATIO_MAP[ratio]} : null),\n ...sizeStyle,\n }\n const resolvedSrc = errored && fallback ? fallback : src\n const previewItem = useMemo(\n () => ({\n src: resolvedSrc || '',\n alt: alt ?? '',\n caption: typeof rest.title === 'string' ? rest.title : undefined,\n }),\n [alt, resolvedSrc, rest.title]\n )\n\n useEffect(() => {\n if (!preview || !previewGroup || !resolvedSrc) {\n return\n }\n\n return registerMediaPreviewItem(previewGroup, previewId, previewItem)\n }, [preview, previewGroup, previewId, previewItem, resolvedSrc])\n\n // Skeleton placeholder\n if (skeleton) {\n return (\n <MSkeleton\n variant=\"rectangle\"\n animate=\"pulse\"\n className={cn('image-skeleton', rounded && 'rounded', bordered && 'bordered', className)}\n style={ratioStyle}\n aria-label={texts.loading}\n {...getHiddenProps(hidden)}\n />\n )\n }\n\n const openPreview = () => {\n if (!preview || !resolvedSrc) {\n return\n }\n\n if (previewGroup) {\n const groupItems = getMediaPreviewGroupItems(previewGroup)\n const currentIndex = groupItems.findIndex((item) => item.id === previewId)\n\n if (groupItems.length > 0 && currentIndex >= 0) {\n setPreviewItems(groupItems.map(({id, ...item}) => item))\n setPreviewIndex(currentIndex)\n setPreviewOpen(true)\n return\n }\n }\n\n setPreviewItems([previewItem])\n setPreviewIndex(0)\n setPreviewOpen(true)\n }\n\n const imgClassName = cn(\n 'image',\n fit,\n !effectLayer && rounded && 'rounded',\n !effectLayer && bordered && 'bordered',\n !effectLayer && shadow && 'shadow'\n )\n const usesWrapper = hasFixedRatio || hasExplicitSize || Boolean(effectLayer) || preview || hoverEffect !== 'none'\n const wrapperClassName = cn(\n 'image-wrap',\n hasFixedRatio && 'has-ratio',\n hasExplicitSize && 'has-size',\n rounded && 'rounded',\n bordered && 'bordered',\n shadow && 'shadow',\n preview && 'preview',\n usesHoverZoom(hoverEffect) && 'effect-zoom',\n usesHoverDim(hoverEffect) && 'effect-dim',\n effectClassName,\n className\n )\n const imageNode = <img className={imgClassName} onError={handleError} src={resolvedSrc} {...rest} alt={alt ?? ''} />\n\n if (usesWrapper) {\n return (\n <>\n {preview ? (\n <button\n type=\"button\"\n className={cn(wrapperClassName, 'image-button')}\n aria-label={formatMText(texts.previewItem, {name: alt || texts.image})}\n onClick={openPreview}\n onPointerDown={effectLayer ? handlePointerDown : undefined}\n disabled={!resolvedSrc}\n {...getHiddenProps(hidden)}\n style={ratioStyle}\n >\n {effectLayer}\n {imageNode}\n </button>\n ) : (\n <span\n className={wrapperClassName}\n onPointerDown={effectLayer ? handlePointerDown : undefined}\n {...getHiddenProps(hidden)}\n style={ratioStyle}\n >\n {effectLayer}\n {imageNode}\n </span>\n )}\n\n <MMediaLightbox\n open={previewOpen}\n items={previewItems}\n activeIndex={previewIndex}\n onActiveIndexChange={setPreviewIndex}\n onClose={() => setPreviewOpen(false)}\n />\n </>\n )\n }\n\n return (\n <>\n <img\n className={cn(imgClassName, className)}\n style={ratioStyle}\n onError={handleError}\n src={resolvedSrc}\n {...getHiddenProps(hidden)}\n {...rest}\n alt={alt ?? ''}\n />\n\n <MMediaLightbox\n open={previewOpen}\n items={previewItems}\n activeIndex={previewIndex}\n onActiveIndexChange={setPreviewIndex}\n onClose={() => setPreviewOpen(false)}\n />\n </>\n )\n}\n","import type {MGalleryProps} from './MGallery.types'\nimport {useState} from 'react'\nimport {cn} from '../../../utils/cn'\nimport {useInteractionEffect} from '../../../utils/useInteractionEffect'\nimport {MMediaLightbox} from '../MMediaLightbox/MMediaLightbox'\nimport {usesHoverDim, usesHoverZoom} from '../mediaInteraction'\nimport './MGallery.css'\nimport {useMCommonTexts, formatMText} from '../../../i18n/frameworkTexts'\n\n// Render a responsive image grid gallery.\nexport function MGallery({\n items,\n columns = 3,\n rounded = true,\n preview = false,\n hoverEffect = 'zoom',\n clickEffect = 'ripple',\n className,\n ...rest\n}: MGalleryProps) {\n const [previewOpen, setPreviewOpen] = useState(false)\n const [previewIndex, setPreviewIndex] = useState(0)\n\n return (\n <>\n <div className={cn('gallery', `columns-${columns}`, className)} {...rest}>\n {items.map((item, i) => (\n <GalleryFigure\n key={i}\n item={item}\n rounded={rounded}\n preview={preview}\n hoverEffect={hoverEffect}\n clickEffect={clickEffect}\n onOpen={() => {\n setPreviewIndex(i)\n setPreviewOpen(true)\n }}\n />\n ))}\n </div>\n\n <MMediaLightbox\n open={previewOpen}\n items={items}\n activeIndex={previewIndex}\n onActiveIndexChange={setPreviewIndex}\n onClose={() => setPreviewOpen(false)}\n />\n </>\n )\n}\n\nfunction GalleryFigure({\n item,\n rounded,\n preview,\n hoverEffect,\n clickEffect,\n onOpen,\n}: {\n item: {src: string; thumbnail?: string; alt?: string; caption?: string}\n rounded: boolean\n preview: boolean\n hoverEffect: 'none' | 'zoom' | 'dim' | 'zoom-dim'\n clickEffect: 'none' | 'ripple'\n onOpen: () => void\n}) {\n const texts = useMCommonTexts()\n const {effectClassName, effectLayer, handlePointerDown} = useInteractionEffect<HTMLElement>({\n effect: clickEffect,\n })\n return (\n <figure className={cn('gallery-item', rounded && 'rounded')}>\n {preview ? (\n <button\n type=\"button\"\n className={cn(\n 'gallery-trigger',\n rounded && 'rounded',\n 'gallery-button',\n usesHoverZoom(hoverEffect) && 'effect-zoom',\n usesHoverDim(hoverEffect) && 'effect-dim',\n effectClassName\n )}\n onClick={onOpen}\n onPointerDown={handlePointerDown}\n aria-label={formatMText(texts.previewItem, {name: item.alt || texts.image})}\n >\n <img\n className=\"gallery-image\"\n src={item.thumbnail || item.src}\n alt={item.alt || ''}\n loading=\"lazy\"\n />\n {item.caption && <span className=\"gallery-caption\">{item.caption}</span>}\n {effectLayer}\n </button>\n ) : (\n <div\n className={cn(\n 'gallery-trigger',\n rounded && 'rounded',\n usesHoverZoom(hoverEffect) && 'effect-zoom',\n usesHoverDim(hoverEffect) && 'effect-dim',\n effectClassName\n )}\n onPointerDown={handlePointerDown}\n >\n <img\n className=\"gallery-image\"\n src={item.thumbnail || item.src}\n alt={item.alt || ''}\n loading=\"lazy\"\n />\n {item.caption && <span className=\"gallery-caption\">{item.caption}</span>}\n {effectLayer}\n </div>\n )}\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'\nimport {useMCommonTexts, formatMText} from '../../../i18n/frameworkTexts'\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 texts = useMCommonTexts()\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={texts.previousSlide}\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={texts.nextSlide}\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={formatMText(texts.slideNumber, {index: i + 1})}\n type=\"button\"\n />\n ))}\n </div>\n )}\n </div>\n )\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ const e=require(`./theme-CJuqObWL.cjs`),t=require(`./icons-D3n9-919.cjs`),n=require(`./cn-CU5TNITO.cjs`),r=require(`./useInteractionEffect-CtXlbjhC.cjs`),i=require(`./MPortal-CuBXhhl_.cjs`),a=require(`./MButton-CnAr77Za.cjs`),o=require(`./frameworkTexts-BSXUtXOp.cjs`),s=require(`./MSkeleton-DPa_G_2X.cjs`),c=require(`./useModalLayer-DxYhhgRO.cjs`);require(`./core-w629c4ND.cjs`);let l=require(`react`),u=require(`react/jsx-runtime`);function d({open:e,items:r,activeIndex:d,onClose:f,onActiveIndexChange:p}){let m=o.n(),h=r[d],g=(0,l.useRef)(null),_=(0,l.useRef)(null),v=d>0,y=d<r.length-1;if(c.t({active:e&&!!h,containerRef:_,onEscape:f}),(0,l.useEffect)(()=>{if(!e)return;let t=e=>{e.key===`ArrowLeft`&&v&&p(d-1),e.key===`ArrowRight`&&y&&p(d+1)};return document.addEventListener(`keydown`,t),()=>document.removeEventListener(`keydown`,t)},[d,y,v,p,f,e]),(0,l.useEffect)(()=>{if(!e)return;let t=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=t}},[e]),!e||!h)return null;let b=e=>{let t=e.target;t&&g.current&&!g.current.contains(t)&&f()},x=h.alt||h.caption||m.imagePreview;return(0,u.jsx)(i.t,{children:(0,u.jsx)(`div`,{ref:_,className:n.t(`mineral-backdrop`,`media-lightbox-backdrop`),onMouseDown:b,children:(0,u.jsx)(`div`,{className:`media-lightbox-shell`,role:`dialog`,"aria-modal":`true`,"aria-label":x,children:(0,u.jsx)(`div`,{className:`media-lightbox-stage`,children:(0,u.jsxs)(`div`,{ref:g,className:`media-lightbox-frame`,children:[(0,u.jsxs)(`div`,{className:`media-lightbox-topbar`,children:[(0,u.jsx)(s.n,{color:`dark`,size:`md`,rounded:!0,className:`media-lightbox-counter`,children:r.length>1?`${d+1} / ${r.length}`:m.preview}),(0,u.jsx)(a.t,{type:`button`,variant:`ghost`,color:`error`,size:`lg`,shape:`circle`,iconOnly:!0,className:`media-lightbox-action`,"aria-label":m.closePreview,onClick:f,children:(0,u.jsx)(t.Xi,{})})]}),(0,u.jsx)(a.t,{type:`button`,variant:`ghost`,color:`primary`,size:`lg`,shape:`circle`,iconOnly:!0,className:`media-lightbox-nav media-lightbox-nav-prev`,"aria-label":m.previousImage,disabled:r.length<=1||!v,onClick:()=>v&&p(d-1),children:(0,u.jsx)(t.Ji,{})}),(0,u.jsx)(`img`,{className:`media-lightbox-image`,src:h.src,alt:h.alt||``}),(0,u.jsx)(a.t,{type:`button`,variant:`ghost`,color:`primary`,size:`lg`,shape:`circle`,iconOnly:!0,className:`media-lightbox-nav media-lightbox-nav-next`,"aria-label":m.nextImage,disabled:r.length<=1||!y,onClick:()=>y&&p(d+1),children:(0,u.jsx)(t.qi,{})}),h.caption||h.alt?(0,u.jsx)(s.n,{color:`dark`,size:`sm`,rounded:!0,className:`media-lightbox-caption`,children:h.caption||h.alt}):null]})})})})})}var f=new Map;function p(e,t,n){let r=f.get(e);return r||(r=new Map,f.set(e,r)),r.set(t,{id:t,...n}),()=>{let n=f.get(e);n&&(n.delete(t),n.size===0&&f.delete(e))}}function m(e){return Array.from(f.get(e)?.values()??[])}function h(e){return e===`zoom`||e===`zoom-dim`}function g(e){return e===`dim`||e===`zoom-dim`}var _={"1:1":`1 / 1`,"4:3":`4 / 3`,"16:9":`16 / 9`,"21:9":`21 / 9`};function v(e){if(e!=null)return typeof e==`number`?`${e}px`:e}function y({src:t,fit:i=`cover`,ratio:a=`auto`,width:c,height:f,hidden:y,rounded:b=!1,bordered:x=!1,shadow:S=!1,preview:C=!1,previewGroup:w,hoverEffect:T=`none`,clickEffect:E=`none`,fallback:D,skeleton:O=!1,className:k,style:ee,alt:A,onError:j,...M}){let N=o.n(),[P,F]=(0,l.useState)(!1),[I,L]=(0,l.useState)(!1),[R,z]=(0,l.useState)([]),[B,V]=(0,l.useState)(0),H=(0,l.useId)(),{effectClassName:te,effectLayer:U,handlePointerDown:W}=r.t({effect:O?`none`:E}),G=e=>{D&&!P&&(F(!0),e.currentTarget.src=D),j?.(e)},K=v(c),q=v(f),J=K!=null||q!=null,Y=a!==`auto`&&!!_[a],X={};K!=null&&(X.width=K),q!=null&&(X.height=q);let Z={...ee,...Y?{aspectRatio:_[a]}:null,...X},Q=P&&D?D:t,$=(0,l.useMemo)(()=>({src:Q||``,alt:A??``,caption:typeof M.title==`string`?M.title:void 0}),[A,Q,M.title]);if((0,l.useEffect)(()=>{if(!(!C||!w||!Q))return p(w,H,$)},[C,w,H,$,Q]),O)return(0,u.jsx)(s.t,{variant:`rectangle`,animate:`pulse`,className:n.t(`image-skeleton`,b&&`rounded`,x&&`bordered`,k),style:Z,"aria-label":N.loading,...e.r(y)});let ne=()=>{if(!(!C||!Q)){if(w){let e=m(w),t=e.findIndex(e=>e.id===H);if(e.length>0&&t>=0){z(e.map(({id:e,...t})=>t)),V(t),L(!0);return}}z([$]),V(0),L(!0)}},re=n.t(`image`,i,!U&&b&&`rounded`,!U&&x&&`bordered`,!U&&S&&`shadow`),ie=Y||J||!!U||C||T!==`none`,ae=n.t(`image-wrap`,Y&&`has-ratio`,J&&`has-size`,b&&`rounded`,x&&`bordered`,S&&`shadow`,C&&`preview`,h(T)&&`effect-zoom`,g(T)&&`effect-dim`,te,k),oe=(0,u.jsx)(`img`,{className:re,onError:G,src:Q,...M,alt:A??``});return ie?(0,u.jsxs)(u.Fragment,{children:[C?(0,u.jsxs)(`button`,{type:`button`,className:n.t(ae,`image-button`),"aria-label":o.t(N.previewItem,{name:A||N.image}),onClick:ne,onPointerDown:U?W:void 0,disabled:!Q,...e.r(y),style:Z,children:[U,oe]}):(0,u.jsxs)(`span`,{className:ae,onPointerDown:U?W:void 0,...e.r(y),style:Z,children:[U,oe]}),(0,u.jsx)(d,{open:I,items:R,activeIndex:B,onActiveIndexChange:V,onClose:()=>L(!1)})]}):(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(`img`,{className:n.t(re,k),style:Z,onError:G,src:Q,...e.r(y),...M,alt:A??``}),(0,u.jsx)(d,{open:I,items:R,activeIndex:B,onActiveIndexChange:V,onClose:()=>L(!1)})]})}function b({items:e,columns:t=3,rounded:r=!0,preview:i=!1,hoverEffect:a=`zoom`,clickEffect:o=`ripple`,className:s,...c}){let[f,p]=(0,l.useState)(!1),[m,h]=(0,l.useState)(0);return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(`div`,{className:n.t(`gallery`,`columns-${t}`,s),...c,children:e.map((e,t)=>(0,u.jsx)(x,{item:e,rounded:r,preview:i,hoverEffect:a,clickEffect:o,onOpen:()=>{h(t),p(!0)}},t))}),(0,u.jsx)(d,{open:f,items:e,activeIndex:m,onActiveIndexChange:h,onClose:()=>p(!1)})]})}function x({item:e,rounded:t,preview:i,hoverEffect:a,clickEffect:s,onOpen:c}){let l=o.n(),{effectClassName:d,effectLayer:f,handlePointerDown:p}=r.t({effect:s});return(0,u.jsx)(`figure`,{className:n.t(`gallery-item`,t&&`rounded`),children:i?(0,u.jsxs)(`button`,{type:`button`,className:n.t(`gallery-trigger`,t&&`rounded`,`gallery-button`,h(a)&&`effect-zoom`,g(a)&&`effect-dim`,d),onClick:c,onPointerDown:p,"aria-label":o.t(l.previewItem,{name:e.alt||l.image}),children:[(0,u.jsx)(`img`,{className:`gallery-image`,src:e.thumbnail||e.src,alt:e.alt||``,loading:`lazy`}),e.caption&&(0,u.jsx)(`span`,{className:`gallery-caption`,children:e.caption}),f]}):(0,u.jsxs)(`div`,{className:n.t(`gallery-trigger`,t&&`rounded`,h(a)&&`effect-zoom`,g(a)&&`effect-dim`,d),onPointerDown:p,children:[(0,u.jsx)(`img`,{className:`gallery-image`,src:e.thumbnail||e.src,alt:e.alt||``,loading:`lazy`}),e.caption&&(0,u.jsx)(`span`,{className:`gallery-caption`,children:e.caption}),f]})})}function S({autoPlay:e=!1,interval:r=5e3,showDots:i=!0,showArrows:s=!0,loop:c=!0,draggable:d=!0,transition:f=`slide`,className:p,children:m,...h}){let g=o.n(),_=l.Children.toArray(m),v=_.length,[y,b]=(0,l.useState)(0),[x,S]=(0,l.useState)(0),[C,w]=(0,l.useState)(!1),T=(0,l.useRef)(0),E=(0,l.useRef)(null),D=(0,l.useCallback)(e=>{b(c?(e+v)%v:Math.max(0,Math.min(e,v-1)))},[v,c]),O=(0,l.useCallback)(()=>D(y-1),[y,D]),k=(0,l.useCallback)(()=>D(y+1),[y,D]);(0,l.useEffect)(()=>{if(!e||v<=1||C)return;let t=setInterval(k,r);return()=>clearInterval(t)},[e,r,k,v,C]);let ee=e=>{d&&(w(!0),T.current=e,S(0))},A=e=>{C&&S(e-T.current)},j=()=>{C&&(w(!1),x<-50?k():x>50&&O(),S(0))},M=e=>{d&&(e.currentTarget.setPointerCapture(e.pointerId),ee(e.clientX))},N=e=>{A(e.clientX)},P=()=>{j()};if(v===0)return null;let F=f===`fade`,I=F?void 0:{transform:`translateX(calc(-${y*100}% + ${C?x:0}px))`};return(0,u.jsxs)(`div`,{className:n.t(`carousel`,F&&`fade`,p),...h,children:[(0,u.jsx)(`div`,{className:`carousel-viewport`,onPointerDown:M,onPointerMove:N,onPointerUp:P,onPointerCancel:P,style:{touchAction:d?`pan-y`:void 0,cursor:d?C?`grabbing`:`grab`:void 0},children:(0,u.jsx)(`div`,{ref:E,className:n.t(`carousel-track`,C&&`dragging`),style:I,children:_.map((e,t)=>(0,u.jsx)(`div`,{className:n.t(`carousel-slide`,F&&t===y&&`active`,F&&t!==y&&`hidden`),children:e},t))})}),s&&v>1&&(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(a.t,{variant:`ghost`,color:`primary`,iconOnly:!0,shape:`circle`,onClick:O,"aria-label":g.previousSlide,className:`carousel-arrow carousel-arrow-prev`,children:(0,u.jsx)(t.Ji,{})}),(0,u.jsx)(a.t,{variant:`ghost`,color:`primary`,iconOnly:!0,shape:`circle`,onClick:k,"aria-label":g.nextSlide,className:`carousel-arrow carousel-arrow-next`,children:(0,u.jsx)(t.qi,{})})]}),i&&v>1&&(0,u.jsx)(`div`,{className:`carousel-dots`,children:_.map((e,t)=>(0,u.jsx)(`button`,{className:n.t(`carousel-dot`,t===y&&`active`),onClick:()=>D(t),"aria-label":o.t(g.slideNumber,{index:t+1}),type:`button`},t))})]})}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return S}});
2
+ //# sourceMappingURL=media-D63hxCAJ.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-D63hxCAJ.cjs","names":[],"sources":["../src/components/media/MMediaLightbox/MMediaLightbox.tsx","../src/components/media/mediaPreviewRegistry.ts","../src/components/media/mediaInteraction.ts","../src/components/media/MImage/MImage.tsx","../src/components/media/MGallery/MGallery.tsx","../src/components/media/MCarousel/MCarousel.tsx"],"sourcesContent":["import {useEffect, useRef} from 'react'\nimport type {MouseEvent} from 'react'\nimport {MButton} from '../../controls'\nimport {MBadge} from '../../feedback'\nimport {MPortal} from '../../primitives'\nimport {MCloseIcon, MChevronLeftIcon, MChevronRightIcon} from '../../../icons'\nimport {cn} from '../../../utils/cn'\nimport {useModalLayer} from '../../../utils/useModalLayer'\nimport './MMediaLightbox.css'\nimport {useMCommonTexts} from '../../../i18n/frameworkTexts'\n\nexport interface MMediaLightboxItem {\n src: string\n alt?: string\n caption?: string\n}\n\ninterface MMediaLightboxProps {\n open: boolean\n items: MMediaLightboxItem[]\n activeIndex: number\n onClose: () => void\n onActiveIndexChange: (index: number) => void\n}\n\nexport function MMediaLightbox({open, items, activeIndex, onClose, onActiveIndexChange}: MMediaLightboxProps) {\n const texts = useMCommonTexts()\n const currentItem = items[activeIndex]\n const frameRef = useRef<HTMLDivElement | null>(null)\n const backdropRef = useRef<HTMLDivElement | null>(null)\n const canGoPrev = activeIndex > 0\n const canGoNext = activeIndex < items.length - 1\n\n useModalLayer({active: open && !!currentItem, containerRef: backdropRef, onEscape: onClose})\n\n useEffect(() => {\n if (!open) {\n return\n }\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'ArrowLeft' && canGoPrev) {\n onActiveIndexChange(activeIndex - 1)\n }\n\n if (event.key === 'ArrowRight' && canGoNext) {\n onActiveIndexChange(activeIndex + 1)\n }\n }\n\n document.addEventListener('keydown', handleKeyDown)\n return () => document.removeEventListener('keydown', handleKeyDown)\n }, [activeIndex, canGoNext, canGoPrev, onActiveIndexChange, onClose, open])\n\n useEffect(() => {\n if (!open) {\n return\n }\n\n const previousOverflow = document.body.style.overflow\n document.body.style.overflow = 'hidden'\n\n return () => {\n document.body.style.overflow = previousOverflow\n }\n }, [open])\n\n if (!open || !currentItem) {\n return null\n }\n\n const handleBackdropMouseDown = (event: MouseEvent<HTMLDivElement>) => {\n const target = event.target as Node | null\n\n if (target && frameRef.current && !frameRef.current.contains(target)) {\n onClose()\n }\n }\n\n const previewLabel = currentItem.alt || currentItem.caption || texts.imagePreview\n\n return (\n <MPortal>\n <div\n ref={backdropRef}\n className={cn('mineral-backdrop', 'media-lightbox-backdrop')}\n onMouseDown={handleBackdropMouseDown}\n >\n <div className=\"media-lightbox-shell\" role=\"dialog\" aria-modal=\"true\" aria-label={previewLabel}>\n <div className=\"media-lightbox-stage\">\n <div ref={frameRef} className=\"media-lightbox-frame\">\n <div className=\"media-lightbox-topbar\">\n <MBadge color=\"dark\" size=\"md\" rounded className=\"media-lightbox-counter\">\n {items.length > 1 ? `${activeIndex + 1} / ${items.length}` : texts.preview}\n </MBadge>\n <MButton\n type=\"button\"\n variant=\"ghost\"\n color=\"error\"\n size=\"lg\"\n shape=\"circle\"\n iconOnly\n className=\"media-lightbox-action\"\n aria-label={texts.closePreview}\n onClick={onClose}\n >\n <MCloseIcon />\n </MButton>\n </div>\n\n <MButton\n type=\"button\"\n variant=\"ghost\"\n color=\"primary\"\n size=\"lg\"\n shape=\"circle\"\n iconOnly\n className=\"media-lightbox-nav media-lightbox-nav-prev\"\n aria-label={texts.previousImage}\n disabled={items.length <= 1 || !canGoPrev}\n onClick={() => canGoPrev && onActiveIndexChange(activeIndex - 1)}\n >\n <MChevronLeftIcon />\n </MButton>\n\n <img className=\"media-lightbox-image\" src={currentItem.src} alt={currentItem.alt || ''} />\n\n <MButton\n type=\"button\"\n variant=\"ghost\"\n color=\"primary\"\n size=\"lg\"\n shape=\"circle\"\n iconOnly\n className=\"media-lightbox-nav media-lightbox-nav-next\"\n aria-label={texts.nextImage}\n disabled={items.length <= 1 || !canGoNext}\n onClick={() => canGoNext && onActiveIndexChange(activeIndex + 1)}\n >\n <MChevronRightIcon />\n </MButton>\n\n {currentItem.caption || currentItem.alt ? (\n <MBadge color=\"dark\" size=\"sm\" rounded className=\"media-lightbox-caption\">\n {currentItem.caption || currentItem.alt}\n </MBadge>\n ) : null}\n </div>\n </div>\n </div>\n </div>\n </MPortal>\n )\n}\n","import type {MMediaLightboxItem} from './MMediaLightbox/MMediaLightbox'\n\ninterface MMediaPreviewRegistryItem extends MMediaLightboxItem {\n id: string\n}\n\nconst previewGroups = new Map<string, Map<string, MMediaPreviewRegistryItem>>()\n\nexport function registerMediaPreviewItem(group: string, id: string, item: MMediaLightboxItem) {\n let groupItems = previewGroups.get(group)\n\n if (!groupItems) {\n groupItems = new Map()\n previewGroups.set(group, groupItems)\n }\n\n groupItems.set(id, {id, ...item})\n\n return () => {\n const currentGroupItems = previewGroups.get(group)\n if (!currentGroupItems) {\n return\n }\n\n currentGroupItems.delete(id)\n\n if (currentGroupItems.size === 0) {\n previewGroups.delete(group)\n }\n }\n}\n\nexport function getMediaPreviewGroupItems(group: string) {\n return Array.from(previewGroups.get(group)?.values() ?? [])\n}\n","import type {MClickEffect} from '../../utils/useInteractionEffect'\n\nexport type MMediaInteractionEffect = MClickEffect | 'zoom' | 'dim' | 'zoom-ripple'\nexport type MMediaHoverEffect = 'none' | 'zoom' | 'dim' | 'zoom-dim'\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\nexport function usesHoverZoom(effect: MMediaHoverEffect): boolean {\n return effect === 'zoom' || effect === 'zoom-dim'\n}\n\nexport function usesHoverDim(effect: MMediaHoverEffect): boolean {\n return effect === 'dim' || effect === 'zoom-dim'\n}\n","import {useEffect, useId, useMemo, useState} from 'react'\nimport type * as React from 'react'\nimport type {CSSProperties} from 'react'\nimport type {MImageProps, MImageSize} from './MImage.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {useInteractionEffect} from '../../../utils/useInteractionEffect'\nimport {MSkeleton} from '../../feedback'\nimport {MMediaLightbox} from '../MMediaLightbox/MMediaLightbox'\nimport {getMediaPreviewGroupItems, registerMediaPreviewItem} from '../mediaPreviewRegistry'\nimport {usesHoverDim, usesHoverZoom} from '../mediaInteraction'\nimport './MImage.css'\nimport {useMCommonTexts, formatMText} from '../../../i18n/frameworkTexts'\n\nconst RATIO_MAP: Record<string, string> = {\n '1:1': '1 / 1',\n '4:3': '4 / 3',\n '16:9': '16 / 9',\n '21:9': '21 / 9',\n}\n\nfunction toCssSize(value: MImageSize | undefined): string | undefined {\n if (value == null) return undefined\n return typeof value === 'number' ? `${value}px` : value\n}\n\n// Render a styled image with aspect ratio, fit, and optional fallback.\nexport function MImage({\n src,\n fit = 'cover',\n ratio = 'auto',\n width,\n height,\n hidden,\n rounded = false,\n bordered = false,\n shadow = false,\n preview = false,\n previewGroup,\n hoverEffect = 'none',\n clickEffect = 'none',\n fallback,\n skeleton = false,\n className,\n style,\n alt,\n onError,\n ...rest\n}: MImageProps) {\n const texts = useMCommonTexts()\n const [errored, setErrored] = useState(false)\n const [previewOpen, setPreviewOpen] = useState(false)\n const [previewItems, setPreviewItems] = useState<Array<{src: string; alt?: string; caption?: string}>>([])\n const [previewIndex, setPreviewIndex] = useState(0)\n const previewId = useId()\n const {effectClassName, effectLayer, handlePointerDown} = useInteractionEffect<HTMLElement>({\n effect: skeleton ? 'none' : clickEffect,\n })\n\n const handleError = (e: React.SyntheticEvent<HTMLImageElement>) => {\n if (fallback && !errored) {\n setErrored(true)\n e.currentTarget.src = fallback\n }\n onError?.(e)\n }\n\n const widthValue = toCssSize(width)\n const heightValue = toCssSize(height)\n const hasExplicitSize = widthValue != null || heightValue != null\n const hasFixedRatio = ratio !== 'auto' && !!RATIO_MAP[ratio]\n const sizeStyle: CSSProperties = {}\n if (widthValue != null) sizeStyle.width = widthValue\n if (heightValue != null) sizeStyle.height = heightValue\n const ratioStyle: CSSProperties = {\n ...style,\n ...(hasFixedRatio ? {aspectRatio: RATIO_MAP[ratio]} : null),\n ...sizeStyle,\n }\n const resolvedSrc = errored && fallback ? fallback : src\n const previewItem = useMemo(\n () => ({\n src: resolvedSrc || '',\n alt: alt ?? '',\n caption: typeof rest.title === 'string' ? rest.title : undefined,\n }),\n [alt, resolvedSrc, rest.title]\n )\n\n useEffect(() => {\n if (!preview || !previewGroup || !resolvedSrc) {\n return\n }\n\n return registerMediaPreviewItem(previewGroup, previewId, previewItem)\n }, [preview, previewGroup, previewId, previewItem, resolvedSrc])\n\n // Skeleton placeholder\n if (skeleton) {\n return (\n <MSkeleton\n variant=\"rectangle\"\n animate=\"pulse\"\n className={cn('image-skeleton', rounded && 'rounded', bordered && 'bordered', className)}\n style={ratioStyle}\n aria-label={texts.loading}\n {...getHiddenProps(hidden)}\n />\n )\n }\n\n const openPreview = () => {\n if (!preview || !resolvedSrc) {\n return\n }\n\n if (previewGroup) {\n const groupItems = getMediaPreviewGroupItems(previewGroup)\n const currentIndex = groupItems.findIndex((item) => item.id === previewId)\n\n if (groupItems.length > 0 && currentIndex >= 0) {\n setPreviewItems(groupItems.map(({id, ...item}) => item))\n setPreviewIndex(currentIndex)\n setPreviewOpen(true)\n return\n }\n }\n\n setPreviewItems([previewItem])\n setPreviewIndex(0)\n setPreviewOpen(true)\n }\n\n const imgClassName = cn(\n 'image',\n fit,\n !effectLayer && rounded && 'rounded',\n !effectLayer && bordered && 'bordered',\n !effectLayer && shadow && 'shadow'\n )\n const usesWrapper = hasFixedRatio || hasExplicitSize || Boolean(effectLayer) || preview || hoverEffect !== 'none'\n const wrapperClassName = cn(\n 'image-wrap',\n hasFixedRatio && 'has-ratio',\n hasExplicitSize && 'has-size',\n rounded && 'rounded',\n bordered && 'bordered',\n shadow && 'shadow',\n preview && 'preview',\n usesHoverZoom(hoverEffect) && 'effect-zoom',\n usesHoverDim(hoverEffect) && 'effect-dim',\n effectClassName,\n className\n )\n const imageNode = <img className={imgClassName} onError={handleError} src={resolvedSrc} {...rest} alt={alt ?? ''} />\n\n if (usesWrapper) {\n return (\n <>\n {preview ? (\n <button\n type=\"button\"\n className={cn(wrapperClassName, 'image-button')}\n aria-label={formatMText(texts.previewItem, {name: alt || texts.image})}\n onClick={openPreview}\n onPointerDown={effectLayer ? handlePointerDown : undefined}\n disabled={!resolvedSrc}\n {...getHiddenProps(hidden)}\n style={ratioStyle}\n >\n {effectLayer}\n {imageNode}\n </button>\n ) : (\n <span\n className={wrapperClassName}\n onPointerDown={effectLayer ? handlePointerDown : undefined}\n {...getHiddenProps(hidden)}\n style={ratioStyle}\n >\n {effectLayer}\n {imageNode}\n </span>\n )}\n\n <MMediaLightbox\n open={previewOpen}\n items={previewItems}\n activeIndex={previewIndex}\n onActiveIndexChange={setPreviewIndex}\n onClose={() => setPreviewOpen(false)}\n />\n </>\n )\n }\n\n return (\n <>\n <img\n className={cn(imgClassName, className)}\n style={ratioStyle}\n onError={handleError}\n src={resolvedSrc}\n {...getHiddenProps(hidden)}\n {...rest}\n alt={alt ?? ''}\n />\n\n <MMediaLightbox\n open={previewOpen}\n items={previewItems}\n activeIndex={previewIndex}\n onActiveIndexChange={setPreviewIndex}\n onClose={() => setPreviewOpen(false)}\n />\n </>\n )\n}\n","import type {MGalleryProps} from './MGallery.types'\nimport {useState} from 'react'\nimport {cn} from '../../../utils/cn'\nimport {useInteractionEffect} from '../../../utils/useInteractionEffect'\nimport {MMediaLightbox} from '../MMediaLightbox/MMediaLightbox'\nimport {usesHoverDim, usesHoverZoom} from '../mediaInteraction'\nimport './MGallery.css'\nimport {useMCommonTexts, formatMText} from '../../../i18n/frameworkTexts'\n\n// Render a responsive image grid gallery.\nexport function MGallery({\n items,\n columns = 3,\n rounded = true,\n preview = false,\n hoverEffect = 'zoom',\n clickEffect = 'ripple',\n className,\n ...rest\n}: MGalleryProps) {\n const [previewOpen, setPreviewOpen] = useState(false)\n const [previewIndex, setPreviewIndex] = useState(0)\n\n return (\n <>\n <div className={cn('gallery', `columns-${columns}`, className)} {...rest}>\n {items.map((item, i) => (\n <GalleryFigure\n key={i}\n item={item}\n rounded={rounded}\n preview={preview}\n hoverEffect={hoverEffect}\n clickEffect={clickEffect}\n onOpen={() => {\n setPreviewIndex(i)\n setPreviewOpen(true)\n }}\n />\n ))}\n </div>\n\n <MMediaLightbox\n open={previewOpen}\n items={items}\n activeIndex={previewIndex}\n onActiveIndexChange={setPreviewIndex}\n onClose={() => setPreviewOpen(false)}\n />\n </>\n )\n}\n\nfunction GalleryFigure({\n item,\n rounded,\n preview,\n hoverEffect,\n clickEffect,\n onOpen,\n}: {\n item: {src: string; thumbnail?: string; alt?: string; caption?: string}\n rounded: boolean\n preview: boolean\n hoverEffect: 'none' | 'zoom' | 'dim' | 'zoom-dim'\n clickEffect: 'none' | 'ripple'\n onOpen: () => void\n}) {\n const texts = useMCommonTexts()\n const {effectClassName, effectLayer, handlePointerDown} = useInteractionEffect<HTMLElement>({\n effect: clickEffect,\n })\n return (\n <figure className={cn('gallery-item', rounded && 'rounded')}>\n {preview ? (\n <button\n type=\"button\"\n className={cn(\n 'gallery-trigger',\n rounded && 'rounded',\n 'gallery-button',\n usesHoverZoom(hoverEffect) && 'effect-zoom',\n usesHoverDim(hoverEffect) && 'effect-dim',\n effectClassName\n )}\n onClick={onOpen}\n onPointerDown={handlePointerDown}\n aria-label={formatMText(texts.previewItem, {name: item.alt || texts.image})}\n >\n <img\n className=\"gallery-image\"\n src={item.thumbnail || item.src}\n alt={item.alt || ''}\n loading=\"lazy\"\n />\n {item.caption && <span className=\"gallery-caption\">{item.caption}</span>}\n {effectLayer}\n </button>\n ) : (\n <div\n className={cn(\n 'gallery-trigger',\n rounded && 'rounded',\n usesHoverZoom(hoverEffect) && 'effect-zoom',\n usesHoverDim(hoverEffect) && 'effect-dim',\n effectClassName\n )}\n onPointerDown={handlePointerDown}\n >\n <img\n className=\"gallery-image\"\n src={item.thumbnail || item.src}\n alt={item.alt || ''}\n loading=\"lazy\"\n />\n {item.caption && <span className=\"gallery-caption\">{item.caption}</span>}\n {effectLayer}\n </div>\n )}\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'\nimport {useMCommonTexts, formatMText} from '../../../i18n/frameworkTexts'\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 texts = useMCommonTexts()\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={texts.previousSlide}\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={texts.nextSlide}\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={formatMText(texts.slideNumber, {index: i + 1})}\n type=\"button\"\n />\n ))}\n </div>\n )}\n </div>\n )\n}\n"],"mappings":"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"}
package/dist/media.cjs CHANGED
@@ -1,3 +1,3 @@
1
1
  const {ensureStyles}=require('./style-runtime.cjs')
2
2
  ensureStyles()
3
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./media-DRTBXDnn.cjs`),t=require(`./MAvatar-Capz5Gbc.cjs`);exports.MAvatar=t.t,exports.MCarousel=e.t,exports.MGallery=e.n,exports.MImage=e.r;
3
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./media-D63hxCAJ.cjs`),t=require(`./MAvatar-DHNB3829.cjs`);exports.MAvatar=t.t,exports.MCarousel=e.t,exports.MGallery=e.n,exports.MImage=e.r;
package/dist/media.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import {ensureStyles} from './style-runtime.js'
2
2
  ensureStyles()
3
- import { n as e, r as t, t as n } from "./media-vOQOIYFD.js";
4
- import { t as r } from "./MAvatar-DtJCj3dD.js";
3
+ import { n as e, r as t, t as n } from "./media-BPzMgzqE.js";
4
+ import { t as r } from "./MAvatar-GeRL-CNO.js";
5
5
  export { r as MAvatar, n as MCarousel, e as MGallery, t as MImage };