@banzamel/mineralui 1.0.2 → 1.0.4

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 (551) hide show
  1. package/README.md +55 -22
  2. package/dist/{MArrowDownIcon-BslRpwqk.js → MArrowDownIcon-BcKSgdTY.js} +1 -1
  3. package/dist/{MArrowDownIcon-BslRpwqk.js.map → MArrowDownIcon-BcKSgdTY.js.map} +1 -1
  4. package/dist/{MArrowDownIcon-DjLz-A0I.cjs → MArrowDownIcon-C8EAODgv.cjs} +1 -1
  5. package/dist/{MArrowDownIcon-DjLz-A0I.cjs.map → MArrowDownIcon-C8EAODgv.cjs.map} +1 -1
  6. package/dist/MArrowUpDownIcon-CW_PWr7Q.cjs +2 -0
  7. package/dist/MArrowUpDownIcon-CW_PWr7Q.cjs.map +1 -0
  8. package/dist/MArrowUpDownIcon-DukXemVA.js +19 -0
  9. package/dist/MArrowUpDownIcon-DukXemVA.js.map +1 -0
  10. package/dist/{MArrowUpIcon-CjLbBZOW.cjs → MArrowUpIcon-DWV_HYrz.cjs} +1 -1
  11. package/dist/{MArrowUpIcon-CjLbBZOW.cjs.map → MArrowUpIcon-DWV_HYrz.cjs.map} +1 -1
  12. package/dist/{MArrowUpIcon-CudFd1sD.js → MArrowUpIcon-Dan-4hs8.js} +1 -1
  13. package/dist/{MArrowUpIcon-CudFd1sD.js.map → MArrowUpIcon-Dan-4hs8.js.map} +1 -1
  14. package/dist/{MAvatar-B_YPaZt9.js → MAvatar-Blh5pfSO.js} +4 -4
  15. package/dist/{MAvatar-B_YPaZt9.js.map → MAvatar-Blh5pfSO.js.map} +1 -1
  16. package/dist/{MAvatar-lzW37S2c.cjs → MAvatar-DMM1CsdO.cjs} +2 -2
  17. package/dist/{MAvatar-lzW37S2c.cjs.map → MAvatar-DMM1CsdO.cjs.map} +1 -1
  18. package/dist/{MBadge-lezDpe-x.cjs → MBadge-Babyr1R9.cjs} +2 -2
  19. package/dist/{MBadge-lezDpe-x.cjs.map → MBadge-Babyr1R9.cjs.map} +1 -1
  20. package/dist/{MBadge-jh7HI3jR.js → MBadge-BjZX0MIC.js} +2 -2
  21. package/dist/{MBadge-jh7HI3jR.js.map → MBadge-BjZX0MIC.js.map} +1 -1
  22. package/dist/MBrandMoreIcons-ClUq3DXO.js +873 -0
  23. package/dist/MBrandMoreIcons-ClUq3DXO.js.map +1 -0
  24. package/dist/MBrandMoreIcons-Xxf9FaIx.cjs +2 -0
  25. package/dist/MBrandMoreIcons-Xxf9FaIx.cjs.map +1 -0
  26. package/dist/{MButton-BIWj6T2J.js → MButton-33EzpGvQ.js} +3 -3
  27. package/dist/{MButton-BIWj6T2J.js.map → MButton-33EzpGvQ.js.map} +1 -1
  28. package/dist/{MButton-DOtMjOTz.cjs → MButton-C_WTyNvw.cjs} +2 -2
  29. package/dist/{MButton-DOtMjOTz.cjs.map → MButton-C_WTyNvw.cjs.map} +1 -1
  30. package/dist/{MCalendarIcon-CgFKAojj.cjs → MCalendarIcon-4PilFCrR.cjs} +1 -1
  31. package/dist/{MCalendarIcon-CgFKAojj.cjs.map → MCalendarIcon-4PilFCrR.cjs.map} +1 -1
  32. package/dist/{MCalendarIcon-Csj_JV9i.js → MCalendarIcon-DXx62vjV.js} +1 -1
  33. package/dist/{MCalendarIcon-Csj_JV9i.js.map → MCalendarIcon-DXx62vjV.js.map} +1 -1
  34. package/dist/MChatIcon-CnDOfqkO.js +102 -0
  35. package/dist/MChatIcon-CnDOfqkO.js.map +1 -0
  36. package/dist/MChatIcon-DX-u8_6S.cjs +2 -0
  37. package/dist/MChatIcon-DX-u8_6S.cjs.map +1 -0
  38. package/dist/MCheckIcon-DQumT4HX.js +15 -0
  39. package/dist/MCheckIcon-DQumT4HX.js.map +1 -0
  40. package/dist/MCheckIcon-ck_21ybZ.cjs +2 -0
  41. package/dist/MCheckIcon-ck_21ybZ.cjs.map +1 -0
  42. package/dist/{MCheckbox-Vbr4IhEn.cjs → MCheckbox-BhtJDdip.cjs} +2 -2
  43. package/dist/{MCheckbox-Vbr4IhEn.cjs.map → MCheckbox-BhtJDdip.cjs.map} +1 -1
  44. package/dist/{MCheckbox-DhDggBnO.js → MCheckbox-CugP7F6H.js} +3 -3
  45. package/dist/{MCheckbox-DhDggBnO.js.map → MCheckbox-CugP7F6H.js.map} +1 -1
  46. package/dist/{MChevronDownIcon-CPXk51nE.js → MChevronDownIcon-D3yTpzni.js} +1 -1
  47. package/dist/{MChevronDownIcon-CPXk51nE.js.map → MChevronDownIcon-D3yTpzni.js.map} +1 -1
  48. package/dist/{MChevronDownIcon-CE25HFYo.cjs → MChevronDownIcon-DCMmxkRt.cjs} +1 -1
  49. package/dist/{MChevronDownIcon-CE25HFYo.cjs.map → MChevronDownIcon-DCMmxkRt.cjs.map} +1 -1
  50. package/dist/{MChevronRightIcon-QbfE-b7g.cjs → MChevronRightIcon-BC08M6g8.cjs} +1 -1
  51. package/dist/{MChevronRightIcon-QbfE-b7g.cjs.map → MChevronRightIcon-BC08M6g8.cjs.map} +1 -1
  52. package/dist/{MChevronRightIcon-BozfuNpv.js → MChevronRightIcon-CXs8IHiV.js} +1 -1
  53. package/dist/{MChevronRightIcon-BozfuNpv.js.map → MChevronRightIcon-CXs8IHiV.js.map} +1 -1
  54. package/dist/{MClockIcon-2NNldTuA.cjs → MClockIcon-C-zYY2A0.cjs} +1 -1
  55. package/dist/{MClockIcon-2NNldTuA.cjs.map → MClockIcon-C-zYY2A0.cjs.map} +1 -1
  56. package/dist/{MClockIcon-D4K6fmV9.js → MClockIcon-DefFl5ks.js} +1 -1
  57. package/dist/{MClockIcon-D4K6fmV9.js.map → MClockIcon-DefFl5ks.js.map} +1 -1
  58. package/dist/{MCloseIcon-BKH33Q51.cjs → MCloseIcon-6cfw9trj.cjs} +1 -1
  59. package/dist/{MCloseIcon-BKH33Q51.cjs.map → MCloseIcon-6cfw9trj.cjs.map} +1 -1
  60. package/dist/{MCloseIcon-BQv01JOS.js → MCloseIcon-lDH3Vc10.js} +1 -1
  61. package/dist/{MCloseIcon-BQv01JOS.js.map → MCloseIcon-lDH3Vc10.js.map} +1 -1
  62. package/dist/MCookieBootstrap-Ct5mIm5P.cjs +2 -0
  63. package/dist/MCookieBootstrap-Ct5mIm5P.cjs.map +1 -0
  64. package/dist/MCookieBootstrap-DEEHYxXi.js +437 -0
  65. package/dist/MCookieBootstrap-DEEHYxXi.js.map +1 -0
  66. package/dist/MDataTable--pUkQHAv.js +151 -0
  67. package/dist/MDataTable--pUkQHAv.js.map +1 -0
  68. package/dist/MDataTable-8ZhnWhqW.cjs +2 -0
  69. package/dist/MDataTable-8ZhnWhqW.cjs.map +1 -0
  70. package/dist/MDrawer-00BvU8Dn.js +122 -0
  71. package/dist/MDrawer-00BvU8Dn.js.map +1 -0
  72. package/dist/MDrawer-FYS50FtQ.cjs +2 -0
  73. package/dist/MDrawer-FYS50FtQ.cjs.map +1 -0
  74. package/dist/MDropdownMenu-BLBdToIz.cjs +2 -0
  75. package/dist/MDropdownMenu-BLBdToIz.cjs.map +1 -0
  76. package/dist/MDropdownMenu-BgOiM5yr.js +152 -0
  77. package/dist/MDropdownMenu-BgOiM5yr.js.map +1 -0
  78. package/dist/MEllipsisVerticalIcon-C87B9UQK.cjs +2 -0
  79. package/dist/MEllipsisVerticalIcon-C87B9UQK.cjs.map +1 -0
  80. package/dist/MEllipsisVerticalIcon-CNn1AQ8W.js +37 -0
  81. package/dist/MEllipsisVerticalIcon-CNn1AQ8W.js.map +1 -0
  82. package/dist/{MFileExtIcons-H7zvI8AL.js → MFileExtIcons-BoG3GPxg.js} +1 -1
  83. package/dist/{MFileExtIcons-H7zvI8AL.js.map → MFileExtIcons-BoG3GPxg.js.map} +1 -1
  84. package/dist/{MFileExtIcons-DzACx_eM.cjs → MFileExtIcons-DH9oZPpf.cjs} +1 -1
  85. package/dist/{MFileExtIcons-DzACx_eM.cjs.map → MFileExtIcons-DH9oZPpf.cjs.map} +1 -1
  86. package/dist/MImage-CKrjXRmf.js +49 -0
  87. package/dist/MImage-CKrjXRmf.js.map +1 -0
  88. package/dist/MImage-f854avZS.cjs +2 -0
  89. package/dist/MImage-f854avZS.cjs.map +1 -0
  90. package/dist/{MInput-DYEAqxod.js → MInput-BUCcLWSI.js} +6 -6
  91. package/dist/{MInput-DYEAqxod.js.map → MInput-BUCcLWSI.js.map} +1 -1
  92. package/dist/{MInput-CjsJRLaz.cjs → MInput-CQ3MqKsk.cjs} +2 -2
  93. package/dist/{MInput-CjsJRLaz.cjs.map → MInput-CQ3MqKsk.cjs.map} +1 -1
  94. package/dist/{MInputSearch-CrVrpYsR.js → MInputSearch-BeXUh4lz.js} +4 -4
  95. package/dist/{MInputSearch-CrVrpYsR.js.map → MInputSearch-BeXUh4lz.js.map} +1 -1
  96. package/dist/{MInputSearch-CQZ-ccri.cjs → MInputSearch-Dt79qbZg.cjs} +2 -2
  97. package/dist/{MInputSearch-CQZ-ccri.cjs.map → MInputSearch-Dt79qbZg.cjs.map} +1 -1
  98. package/dist/{MLink-CAaK6SOG.cjs → MLink-CVN-Vll4.cjs} +2 -2
  99. package/dist/{MLink-CAaK6SOG.cjs.map → MLink-CVN-Vll4.cjs.map} +1 -1
  100. package/dist/{MLink-BfRaT8NU.js → MLink-DH4vk7O5.js} +2 -2
  101. package/dist/{MLink-BfRaT8NU.js.map → MLink-DH4vk7O5.js.map} +1 -1
  102. package/dist/{MMenuIcon-TZ9iJAXz.cjs → MMenuIcon-Brpitjq1.cjs} +1 -1
  103. package/dist/{MMenuIcon-TZ9iJAXz.cjs.map → MMenuIcon-Brpitjq1.cjs.map} +1 -1
  104. package/dist/{MMenuIcon-B13EvS3i.js → MMenuIcon-idfVpVQD.js} +1 -1
  105. package/dist/{MMenuIcon-B13EvS3i.js.map → MMenuIcon-idfVpVQD.js.map} +1 -1
  106. package/dist/MModal-BQvk1KKc.cjs +2 -0
  107. package/dist/MModal-BQvk1KKc.cjs.map +1 -0
  108. package/dist/MModal-D1Knn-bg.js +69 -0
  109. package/dist/MModal-D1Knn-bg.js.map +1 -0
  110. package/dist/MPagination-Bu84ZlVh.cjs +2 -0
  111. package/dist/MPagination-Bu84ZlVh.cjs.map +1 -0
  112. package/dist/MPagination-CbkRMnL1.js +147 -0
  113. package/dist/MPagination-CbkRMnL1.js.map +1 -0
  114. package/dist/MPhoneIcon-efl6BqwU.js +38 -0
  115. package/dist/MPhoneIcon-efl6BqwU.js.map +1 -0
  116. package/dist/MPhoneIcon-lgC9DH5a.cjs +2 -0
  117. package/dist/MPhoneIcon-lgC9DH5a.cjs.map +1 -0
  118. package/dist/{MPopover-BE73Iock.cjs → MPopover-BXPkE575.cjs} +2 -2
  119. package/dist/{MPopover-BE73Iock.cjs.map → MPopover-BXPkE575.cjs.map} +1 -1
  120. package/dist/{MPopover-C7ZJz7Uj.js → MPopover-DKBdLfrw.js} +3 -3
  121. package/dist/{MPopover-C7ZJz7Uj.js.map → MPopover-DKBdLfrw.js.map} +1 -1
  122. package/dist/{MPortal-d1mwLhwx.cjs → MPortal-BysJLuEi.cjs} +1 -1
  123. package/dist/{MPortal-d1mwLhwx.cjs.map → MPortal-BysJLuEi.cjs.map} +1 -1
  124. package/dist/{MPortal-BzordRff.js → MPortal-CbpNkzfC.js} +1 -1
  125. package/dist/{MPortal-BzordRff.js.map → MPortal-CbpNkzfC.js.map} +1 -1
  126. package/dist/MProtectIcon-BPYP06QD.cjs +2 -0
  127. package/dist/MProtectIcon-BPYP06QD.cjs.map +1 -0
  128. package/dist/{MBoltIcon-B1P4i_X4.js → MProtectIcon-BTtMmrib.js} +11 -29
  129. package/dist/MProtectIcon-BTtMmrib.js.map +1 -0
  130. package/dist/MQrCode-AttGRC6v.js +416 -0
  131. package/dist/MQrCode-AttGRC6v.js.map +1 -0
  132. package/dist/MQrCode-CbUPPd4S.cjs +2 -0
  133. package/dist/MQrCode-CbUPPd4S.cjs.map +1 -0
  134. package/dist/{MSearchIcon-Bb-f5JdO.cjs → MSearchIcon-BakfEJQd.cjs} +1 -1
  135. package/dist/{MSearchIcon-Bb-f5JdO.cjs.map → MSearchIcon-BakfEJQd.cjs.map} +1 -1
  136. package/dist/{MSearchIcon-COQaC0mk.js → MSearchIcon-Dlg4Og8t.js} +1 -1
  137. package/dist/{MSearchIcon-COQaC0mk.js.map → MSearchIcon-Dlg4Og8t.js.map} +1 -1
  138. package/dist/MSkeleton-B5jZNFOG.cjs +2 -0
  139. package/dist/MSkeleton-B5jZNFOG.cjs.map +1 -0
  140. package/dist/MSkeleton-BL4C5FkH.js +98 -0
  141. package/dist/MSkeleton-BL4C5FkH.js.map +1 -0
  142. package/dist/{MSlider-KyOhqE6d.js → MSlider-D5ckYDop.js} +2 -2
  143. package/dist/{MSlider-KyOhqE6d.js.map → MSlider-D5ckYDop.js.map} +1 -1
  144. package/dist/{MSlider-VFCviEUW.cjs → MSlider-vD6Sla2p.cjs} +2 -2
  145. package/dist/{MSlider-VFCviEUW.cjs.map → MSlider-vD6Sla2p.cjs.map} +1 -1
  146. package/dist/MSparkline-DjcDtnZH.js +207 -0
  147. package/dist/MSparkline-DjcDtnZH.js.map +1 -0
  148. package/dist/MSparkline-U-XaDvpV.cjs +2 -0
  149. package/dist/MSparkline-U-XaDvpV.cjs.map +1 -0
  150. package/dist/{MStack-SPM68IMq.cjs → MStack-BvFI0AFv.cjs} +2 -2
  151. package/dist/{MStack-SPM68IMq.cjs.map → MStack-BvFI0AFv.cjs.map} +1 -1
  152. package/dist/{MStack-CQLO9e-3.js → MStack-DhdMFSUL.js} +4 -4
  153. package/dist/{MStack-CQLO9e-3.js.map → MStack-DhdMFSUL.js.map} +1 -1
  154. package/dist/{MStarFillIcon-w67ZD64c.js → MStarFillIcon-CGyQPFi8.js} +1 -1
  155. package/dist/{MStarFillIcon-w67ZD64c.js.map → MStarFillIcon-CGyQPFi8.js.map} +1 -1
  156. package/dist/{MStarFillIcon-B2H1b7mD.cjs → MStarFillIcon-DJHfl_Qy.cjs} +1 -1
  157. package/dist/{MStarFillIcon-B2H1b7mD.cjs.map → MStarFillIcon-DJHfl_Qy.cjs.map} +1 -1
  158. package/dist/MSubText-CfWNytoK.cjs +2 -0
  159. package/dist/MSubText-CfWNytoK.cjs.map +1 -0
  160. package/dist/MSubText-uvcBr9Ba.js +15 -0
  161. package/dist/MSubText-uvcBr9Ba.js.map +1 -0
  162. package/dist/MSuccessIcon-CatQ4FmG.cjs +2 -0
  163. package/dist/MSuccessIcon-CatQ4FmG.cjs.map +1 -0
  164. package/dist/MSuccessIcon-D3GrOvye.js +33 -0
  165. package/dist/MSuccessIcon-D3GrOvye.js.map +1 -0
  166. package/dist/MSurface-DlcK6Bre.js +39 -0
  167. package/dist/MSurface-DlcK6Bre.js.map +1 -0
  168. package/dist/MSurface-qcGLaTIK.cjs +2 -0
  169. package/dist/MSurface-qcGLaTIK.cjs.map +1 -0
  170. package/dist/{MTag-CXAmy8tJ.cjs → MTag-BMi1GS7v.cjs} +2 -2
  171. package/dist/{MTag-CXAmy8tJ.cjs.map → MTag-BMi1GS7v.cjs.map} +1 -1
  172. package/dist/{MTag-BbIqugpb.js → MTag-Cor8ZIW3.js} +4 -4
  173. package/dist/{MTag-BbIqugpb.js.map → MTag-Cor8ZIW3.js.map} +1 -1
  174. package/dist/MText-C0FdseW1.js +57 -0
  175. package/dist/MText-C0FdseW1.js.map +1 -0
  176. package/dist/MText-OV0ihtQ6.cjs +2 -0
  177. package/dist/MText-OV0ihtQ6.cjs.map +1 -0
  178. package/dist/MTimeAgo-BOXKcDYN.cjs +2 -0
  179. package/dist/MTimeAgo-BOXKcDYN.cjs.map +1 -0
  180. package/dist/MTimeAgo-DrDs52Y1.js +51 -0
  181. package/dist/MTimeAgo-DrDs52Y1.js.map +1 -0
  182. package/dist/MToggle-B7cKH5Tl.js +48 -0
  183. package/dist/MToggle-B7cKH5Tl.js.map +1 -0
  184. package/dist/MToggle-Hheo-jfZ.cjs +2 -0
  185. package/dist/MToggle-Hheo-jfZ.cjs.map +1 -0
  186. package/dist/{MTooltip-CKS_zgzR.js → MTooltip-D3xuZ5kG.js} +3 -3
  187. package/dist/{MTooltip-CKS_zgzR.js.map → MTooltip-D3xuZ5kG.js.map} +1 -1
  188. package/dist/{MTooltip-CXXYU-j1.cjs → MTooltip-DzwZ637q.cjs} +2 -2
  189. package/dist/{MTooltip-CXXYU-j1.cjs.map → MTooltip-DzwZ637q.cjs.map} +1 -1
  190. package/dist/{MZoomInIcon-CK2aJhDg.js → MZoomInIcon-BEdmglk6.js} +11 -46
  191. package/dist/MZoomInIcon-BEdmglk6.js.map +1 -0
  192. package/dist/MZoomInIcon-dhRm7zT6.cjs +2 -0
  193. package/dist/MZoomInIcon-dhRm7zT6.cjs.map +1 -0
  194. package/dist/cards-CKCr-GuJ.js +934 -0
  195. package/dist/cards-CKCr-GuJ.js.map +1 -0
  196. package/dist/cards-yPK4lBAA.cjs +2 -0
  197. package/dist/cards-yPK4lBAA.cjs.map +1 -0
  198. package/dist/cards.cjs +1 -1
  199. package/dist/cards.js +3 -3
  200. package/dist/{cn-B_veu23e.js → cn-DZLxql0l.js} +1 -1
  201. package/dist/{cn-B_veu23e.js.map → cn-DZLxql0l.js.map} +1 -1
  202. package/dist/{cn-CpRt8Xjj.cjs → cn-SOcVdnX6.cjs} +1 -1
  203. package/dist/{cn-CpRt8Xjj.cjs.map → cn-SOcVdnX6.cjs.map} +1 -1
  204. package/dist/components/cards/MCardBusiness/MCardBusiness.d.ts +2 -0
  205. package/dist/components/cards/MCardBusiness/MCardBusiness.types.d.ts +37 -0
  206. package/dist/components/cards/MCardBusiness/index.d.ts +4 -0
  207. package/dist/components/cards/MCardFinance/MCardFinance.d.ts +2 -0
  208. package/dist/components/cards/MCardFinance/MCardFinance.types.d.ts +16 -0
  209. package/dist/components/cards/MCardFinance/index.d.ts +4 -0
  210. package/dist/components/cards/index.d.ts +8 -0
  211. package/dist/components/data/MCalendarBoard/MCalendarBoard.d.ts +7 -0
  212. package/dist/components/data/MCalendarBoard/MCalendarBoard.types.d.ts +117 -0
  213. package/dist/components/data/MCalendarBoard/index.d.ts +4 -0
  214. package/dist/components/data/MChart/MAreaChart.d.ts +2 -0
  215. package/dist/components/data/MChart/MBarChart.d.ts +2 -0
  216. package/dist/components/data/MChart/MChart.d.ts +2 -0
  217. package/dist/components/data/MChart/MChart.types.d.ts +95 -0
  218. package/dist/components/data/MChart/MLineChart.d.ts +2 -0
  219. package/dist/components/data/MChart/MPieChart.d.ts +2 -0
  220. package/dist/components/data/MChart/charts/MAreaChart.d.ts +27 -0
  221. package/dist/components/data/MChart/charts/MBarChart.d.ts +26 -0
  222. package/dist/components/data/MChart/charts/MLineChart.d.ts +26 -0
  223. package/dist/components/data/MChart/charts/MPieChart.d.ts +19 -0
  224. package/dist/components/data/MChart/index.d.ts +5 -0
  225. package/dist/components/data/MChart/parts/ChartAxis.d.ts +13 -0
  226. package/dist/components/data/MChart/parts/ChartDefs.d.ts +1 -0
  227. package/dist/components/data/MChart/parts/ChartGrid.d.ts +10 -0
  228. package/dist/components/data/MChart/parts/ChartLegend.d.ts +9 -0
  229. package/dist/components/data/MChart/parts/ChartTooltip.d.ts +7 -0
  230. package/dist/components/data/MChart/utils/formats.d.ts +3 -0
  231. package/dist/components/data/MChart/utils/paths.d.ts +10 -0
  232. package/dist/components/data/MChart/utils/scales.d.ts +7 -0
  233. package/dist/components/data/MChat/MChat.d.ts +2 -0
  234. package/dist/components/data/MChat/MChat.types.d.ts +77 -0
  235. package/dist/components/data/MChat/MChatBody.d.ts +2 -0
  236. package/dist/components/data/MChat/MChatContext.d.ts +6 -0
  237. package/dist/components/data/MChat/MChatConversationItem.d.ts +2 -0
  238. package/dist/components/data/MChat/MChatConversationList.d.ts +2 -0
  239. package/dist/components/data/MChat/MChatHeader.d.ts +2 -0
  240. package/dist/components/data/MChat/MChatInput.d.ts +2 -0
  241. package/dist/components/data/MChat/MChatMessage.d.ts +2 -0
  242. package/dist/components/data/MChat/MChatTypingIndicator.d.ts +2 -0
  243. package/dist/components/data/MChat/emojis.d.ts +2 -0
  244. package/dist/components/data/MChat/index.d.ts +9 -0
  245. package/dist/components/data/MFileManager/MFileManager.d.ts +2 -0
  246. package/dist/components/data/MFileManager/MFileManager.types.d.ts +70 -0
  247. package/dist/components/data/MFileManager/index.d.ts +4 -0
  248. package/dist/components/data/MSparkline/MSparkline.d.ts +2 -0
  249. package/dist/components/data/MSparkline/MSparkline.types.d.ts +15 -0
  250. package/dist/components/data/MSparkline/index.d.ts +2 -0
  251. package/dist/components/data/index.d.ts +20 -0
  252. package/dist/components/display/MQrCode/MQrCode.d.ts +2 -0
  253. package/dist/components/display/MQrCode/MQrCode.types.d.ts +11 -0
  254. package/dist/components/display/MQrCode/index.d.ts +4 -0
  255. package/dist/components/display/MStepper/MStepper.d.ts +3 -0
  256. package/dist/components/display/MStepper/MStepper.types.d.ts +20 -0
  257. package/dist/components/display/MStepper/index.d.ts +2 -0
  258. package/dist/components/display/MTimeline/MTimeline.d.ts +3 -0
  259. package/dist/components/display/MTimeline/MTimeline.types.d.ts +16 -0
  260. package/dist/components/display/MTimeline/index.d.ts +2 -0
  261. package/dist/components/display/index.d.ts +12 -0
  262. package/dist/components/feedback/MCookie/MCookieBanner/MCookieBanner.d.ts +3 -0
  263. package/dist/components/feedback/MCookie/MCookieBanner/MCookieBanner.types.d.ts +27 -0
  264. package/dist/components/feedback/MCookie/MCookieBanner/index.d.ts +2 -0
  265. package/dist/components/feedback/MCookie/MCookieBootstrap/MCookieBootstrap.d.ts +6 -0
  266. package/dist/components/feedback/MCookie/MCookieBootstrap/MCookieBootstrap.types.d.ts +90 -0
  267. package/dist/components/feedback/MCookie/MCookieBootstrap/index.d.ts +3 -0
  268. package/dist/components/feedback/MCookie/MCookieConsent/MCookieConsent.d.ts +2 -0
  269. package/dist/components/feedback/MCookie/MCookieConsent/MCookieConsent.types.d.ts +11 -0
  270. package/dist/components/feedback/MCookie/MCookieConsent/index.d.ts +2 -0
  271. package/dist/components/feedback/MCookie/MCookieConsentProvider/MCookieConsent.defaults.d.ts +9 -0
  272. package/dist/components/feedback/MCookie/MCookieConsentProvider/MCookieConsent.inventory.d.ts +6 -0
  273. package/dist/components/feedback/MCookie/MCookieConsentProvider/MCookieConsent.storage.d.ts +11 -0
  274. package/dist/components/feedback/MCookie/MCookieConsentProvider/MCookieConsent.types.d.ts +95 -0
  275. package/dist/components/feedback/MCookie/MCookieConsentProvider/MCookieConsentContext.d.ts +4 -0
  276. package/dist/components/feedback/MCookie/MCookieConsentProvider/MCookieConsentProvider.d.ts +2 -0
  277. package/dist/components/feedback/MCookie/MCookieConsentProvider/index.d.ts +3 -0
  278. package/dist/components/feedback/MCookie/MCookieDeclaration/MCookieDeclaration.d.ts +2 -0
  279. package/dist/components/feedback/MCookie/MCookieDeclaration/MCookieDeclaration.types.d.ts +18 -0
  280. package/dist/components/feedback/MCookie/MCookieDeclaration/index.d.ts +2 -0
  281. package/dist/components/feedback/MCookie/MCookiePreferences/MCookiePreferences.d.ts +2 -0
  282. package/dist/components/feedback/MCookie/MCookiePreferences/MCookiePreferences.types.d.ts +25 -0
  283. package/dist/components/feedback/MCookie/MCookiePreferences/index.d.ts +2 -0
  284. package/dist/components/feedback/MCookie/MCookieTrigger/MCookieTrigger.d.ts +2 -0
  285. package/dist/components/feedback/MCookie/MCookieTrigger/MCookieTrigger.types.d.ts +7 -0
  286. package/dist/components/feedback/MCookie/MCookieTrigger/index.d.ts +2 -0
  287. package/dist/components/feedback/MCookie/index.d.ts +16 -0
  288. package/dist/components/feedback/index.d.ts +1 -0
  289. package/dist/components/layout/MTopbar/MTopbar.d.ts +2 -0
  290. package/dist/components/layout/MTopbar/MTopbar.types.d.ts +36 -0
  291. package/dist/components/layout/MTopbar/index.d.ts +2 -0
  292. package/dist/components/layout/index.d.ts +4 -0
  293. package/dist/components/media/MAvatarStack/MAvatarStack.d.ts +2 -0
  294. package/dist/components/media/MAvatarStack/MAvatarStack.types.d.ts +14 -0
  295. package/dist/components/media/MAvatarStack/index.d.ts +2 -0
  296. package/dist/components/media/MMasonry/MMasonry.d.ts +2 -0
  297. package/dist/components/media/MMasonry/MMasonry.types.d.ts +7 -0
  298. package/dist/components/media/MMasonry/index.d.ts +2 -0
  299. package/dist/components/media/MMasonryItem/MMasonryItem.d.ts +2 -0
  300. package/dist/components/media/MMasonryItem/MMasonryItem.types.d.ts +14 -0
  301. package/dist/components/media/MMasonryItem/index.d.ts +2 -0
  302. package/dist/components/media/MShowcaseCarousel/MShowcaseCarousel.d.ts +2 -0
  303. package/dist/components/media/MShowcaseCarousel/MShowcaseCarousel.types.d.ts +19 -0
  304. package/dist/components/media/MShowcaseCarousel/index.d.ts +2 -0
  305. package/dist/components/media/MShowcaseCarouselItem/MShowcaseCarouselItem.d.ts +2 -0
  306. package/dist/components/media/MShowcaseCarouselItem/MShowcaseCarouselItem.types.d.ts +18 -0
  307. package/dist/components/media/MShowcaseCarouselItem/index.d.ts +2 -0
  308. package/dist/components/media/index.d.ts +16 -0
  309. package/dist/controls-DEEbLT5o.cjs +2 -0
  310. package/dist/controls-DEEbLT5o.cjs.map +1 -0
  311. package/dist/{controls-1nIh1Ih1.js → controls-IsOBNxW0.js} +33 -74
  312. package/dist/controls-IsOBNxW0.js.map +1 -0
  313. package/dist/controls.cjs +1 -1
  314. package/dist/controls.js +6 -5
  315. package/dist/cookie-consent-bootstrap.cjs +2 -0
  316. package/dist/cookie-consent-bootstrap.cjs.map +1 -0
  317. package/dist/cookie-consent-bootstrap.d.ts +1 -0
  318. package/dist/cookie-consent-bootstrap.js +93 -0
  319. package/dist/cookie-consent-bootstrap.js.map +1 -0
  320. package/dist/{creditCards-BVKi47yn.cjs → creditCards-BjHGqAFx.cjs} +1 -1
  321. package/dist/{creditCards-BVKi47yn.cjs.map → creditCards-BjHGqAFx.cjs.map} +1 -1
  322. package/dist/{creditCards-Bk9rsMJf.js → creditCards-CoZpbB1e.js} +1 -1
  323. package/dist/{creditCards-Bk9rsMJf.js.map → creditCards-CoZpbB1e.js.map} +1 -1
  324. package/dist/data-BEH7TbuW.cjs +2 -0
  325. package/dist/data-BEH7TbuW.cjs.map +1 -0
  326. package/dist/data-Bp3Fd2Al.js +2529 -0
  327. package/dist/data-Bp3Fd2Al.js.map +1 -0
  328. package/dist/data.cjs +1 -1
  329. package/dist/data.js +4 -2
  330. package/dist/{dateUtils-BYfEWGkb.js → dateUtils-BOsYyWde.js} +1 -1
  331. package/dist/{dateUtils-BYfEWGkb.js.map → dateUtils-BOsYyWde.js.map} +1 -1
  332. package/dist/{dateUtils-5jacfR5Q.cjs → dateUtils-xSfrXjbY.cjs} +1 -1
  333. package/dist/{dateUtils-5jacfR5Q.cjs.map → dateUtils-xSfrXjbY.cjs.map} +1 -1
  334. package/dist/display-B0Db8pF3.js +468 -0
  335. package/dist/display-B0Db8pF3.js.map +1 -0
  336. package/dist/display-DmB5CZYB.cjs +2 -0
  337. package/dist/display-DmB5CZYB.cjs.map +1 -0
  338. package/dist/display.cjs +1 -1
  339. package/dist/display.js +4 -3
  340. package/dist/dropdowns-BkBtQP4v.js +1689 -0
  341. package/dist/dropdowns-BkBtQP4v.js.map +1 -0
  342. package/dist/dropdowns-CD2myl19.cjs +2 -0
  343. package/dist/dropdowns-CD2myl19.cjs.map +1 -0
  344. package/dist/dropdowns.cjs +1 -1
  345. package/dist/dropdowns.js +1 -1
  346. package/dist/feedback-CuPBnCOw.cjs +2 -0
  347. package/dist/feedback-CuPBnCOw.cjs.map +1 -0
  348. package/dist/feedback-QP7-6I7O.js +1013 -0
  349. package/dist/feedback-QP7-6I7O.js.map +1 -0
  350. package/dist/feedback.cjs +1 -1
  351. package/dist/feedback.js +7 -6
  352. package/dist/{form-DFx61JJJ.cjs → form-BQ6-ieVC.cjs} +2 -2
  353. package/dist/{form-DFx61JJJ.cjs.map → form-BQ6-ieVC.cjs.map} +1 -1
  354. package/dist/{form-C7T4heU2.js → form-JanaUHTQ.js} +2 -2
  355. package/dist/{form-C7T4heU2.js.map → form-JanaUHTQ.js.map} +1 -1
  356. package/dist/form.cjs +1 -1
  357. package/dist/form.js +1 -1
  358. package/dist/{formatters-bW67hwbX.cjs → formatters-BIijIfCB.cjs} +1 -1
  359. package/dist/{formatters-bW67hwbX.cjs.map → formatters-BIijIfCB.cjs.map} +1 -1
  360. package/dist/{formatters-qn3Mj74v.js → formatters-DMI5QqhS.js} +1 -1
  361. package/dist/{formatters-qn3Mj74v.js.map → formatters-DMI5QqhS.js.map} +1 -1
  362. package/dist/frameworkTexts-5_DBGFFg.js +115 -0
  363. package/dist/frameworkTexts-5_DBGFFg.js.map +1 -0
  364. package/dist/frameworkTexts-CwSSRPWS.cjs +2 -0
  365. package/dist/frameworkTexts-CwSSRPWS.cjs.map +1 -0
  366. package/dist/icons/MIconV2.d.ts +7 -0
  367. package/dist/icons/MIconV2Glyph.d.ts +11 -0
  368. package/dist/icons/MIconV2Scenes.d.ts +40 -0
  369. package/dist/icons/glyphs/MCalendarIconV2.d.ts +2 -0
  370. package/dist/icons/glyphs/MChartIconV2.d.ts +2 -0
  371. package/dist/icons/glyphs/MFlagIconsV2.d.ts +19 -0
  372. package/dist/icons/glyphs/MHomeIconV2.d.ts +2 -0
  373. package/dist/icons/glyphs/MNavigationIconsV2.d.ts +14 -0
  374. package/dist/icons/glyphs/MSearchIconV2.d.ts +2 -0
  375. package/dist/icons/glyphs/MSettingsIconV2.d.ts +2 -0
  376. package/dist/icons/glyphs/MUserIconV2.d.ts +2 -0
  377. package/dist/icons/index.d.ts +12 -0
  378. package/dist/icons.cjs +1 -1
  379. package/dist/icons.entry-LwjwnjE2.cjs +2 -0
  380. package/dist/icons.entry-LwjwnjE2.cjs.map +1 -0
  381. package/dist/{icons.entry-CbJp27gc.js → icons.entry-txsQqMvb.js} +1663 -985
  382. package/dist/icons.entry-txsQqMvb.js.map +1 -0
  383. package/dist/icons.js +22 -17
  384. package/dist/illustrations.cjs +1 -1
  385. package/dist/{illustrations.entry-CaBqXBpd.js → illustrations.entry-C0rSNpF1.js} +2 -2
  386. package/dist/{illustrations.entry-CaBqXBpd.js.map → illustrations.entry-C0rSNpF1.js.map} +1 -1
  387. package/dist/{illustrations.entry-D5StzALw.cjs → illustrations.entry-DtMxssXq.cjs} +2 -2
  388. package/dist/{illustrations.entry-D5StzALw.cjs.map → illustrations.entry-DtMxssXq.cjs.map} +1 -1
  389. package/dist/illustrations.js +1 -1
  390. package/dist/index.cjs +1 -1
  391. package/dist/index.js +74 -60
  392. package/dist/inputs-BRjbpf9P.cjs +2 -0
  393. package/dist/{inputs-6TRTzH12.cjs.map → inputs-BRjbpf9P.cjs.map} +1 -1
  394. package/dist/{inputs-Bd_5Xg49.js → inputs-DFoD2MMX.js} +193 -191
  395. package/dist/{inputs-Bd_5Xg49.js.map → inputs-DFoD2MMX.js.map} +1 -1
  396. package/dist/inputs.cjs +1 -1
  397. package/dist/inputs.js +3 -3
  398. package/dist/layout-BWhQ1VXM.cjs +2 -0
  399. package/dist/layout-BWhQ1VXM.cjs.map +1 -0
  400. package/dist/layout-yIAZ4bP6.js +819 -0
  401. package/dist/layout-yIAZ4bP6.js.map +1 -0
  402. package/dist/layout.cjs +1 -1
  403. package/dist/layout.js +5 -5
  404. package/dist/{layoutProps-CAv0VWdN.cjs → layoutProps-CZ-XhpIX.cjs} +1 -1
  405. package/dist/{layoutProps-CAv0VWdN.cjs.map → layoutProps-CZ-XhpIX.cjs.map} +1 -1
  406. package/dist/{layoutProps-D8exMwKp.js → layoutProps-DUPQsWy9.js} +1 -1
  407. package/dist/{layoutProps-D8exMwKp.js.map → layoutProps-DUPQsWy9.js.map} +1 -1
  408. package/dist/licensing-CMLexRJk.cjs +2 -0
  409. package/dist/licensing-CMLexRJk.cjs.map +1 -0
  410. package/dist/licensing-SQAMYrOI.js +105 -0
  411. package/dist/licensing-SQAMYrOI.js.map +1 -0
  412. package/dist/{locale-BJucQij_.js → locale-Crzgecoe.js} +1 -1
  413. package/dist/{locale-BJucQij_.js.map → locale-Crzgecoe.js.map} +1 -1
  414. package/dist/{locale-CjYHLr1l.cjs → locale-DpCe_7mG.cjs} +1 -1
  415. package/dist/{locale-CjYHLr1l.cjs.map → locale-DpCe_7mG.cjs.map} +1 -1
  416. package/dist/media-D0KRmTG_.cjs +2 -0
  417. package/dist/media-D0KRmTG_.cjs.map +1 -0
  418. package/dist/media-DWG2uW1h.js +406 -0
  419. package/dist/media-DWG2uW1h.js.map +1 -0
  420. package/dist/media.cjs +1 -1
  421. package/dist/media.js +4 -3
  422. package/dist/overlays-CROlfKrR.cjs +2 -0
  423. package/dist/overlays-CROlfKrR.cjs.map +1 -0
  424. package/dist/overlays-DQOnI2NS.js +186 -0
  425. package/dist/overlays-DQOnI2NS.js.map +1 -0
  426. package/dist/overlays.cjs +1 -1
  427. package/dist/overlays.js +6 -4
  428. package/dist/primitives.cjs +1 -1
  429. package/dist/primitives.js +2 -2
  430. package/dist/{relativeTime-FdokPH7W.js → relativeTime-3dGgniAK.js} +1 -1
  431. package/dist/{relativeTime-FdokPH7W.js.map → relativeTime-3dGgniAK.js.map} +1 -1
  432. package/dist/{relativeTime-oubkDkrk.cjs → relativeTime-D5qYOJVu.cjs} +1 -1
  433. package/dist/{relativeTime-oubkDkrk.cjs.map → relativeTime-D5qYOJVu.cjs.map} +1 -1
  434. package/dist/style-runtime.cjs +1 -1
  435. package/dist/style-runtime.js +1 -1
  436. package/dist/styles.css +1 -1
  437. package/dist/typography-CCkJaTzp.js +40 -0
  438. package/dist/typography-CCkJaTzp.js.map +1 -0
  439. package/dist/typography-CtITQOAU.cjs +2 -0
  440. package/dist/typography-CtITQOAU.cjs.map +1 -0
  441. package/dist/typography.cjs +1 -1
  442. package/dist/typography.js +5 -4
  443. package/dist/{useGhostText-BrRYBrV_.cjs → useGhostText-CL1kSB_V.cjs} +1 -1
  444. package/dist/{useGhostText-BrRYBrV_.cjs.map → useGhostText-CL1kSB_V.cjs.map} +1 -1
  445. package/dist/{useGhostText-BpSSyl8G.js → useGhostText-Zq3iktss.js} +1 -1
  446. package/dist/{useGhostText-BpSSyl8G.js.map → useGhostText-Zq3iktss.js.map} +1 -1
  447. package/dist/{useInteractionEffect-BaJeiUns.cjs → useInteractionEffect-BLehDk91.cjs} +1 -1
  448. package/dist/{useInteractionEffect-BaJeiUns.cjs.map → useInteractionEffect-BLehDk91.cjs.map} +1 -1
  449. package/dist/{useInteractionEffect-B5_UpgTt.js → useInteractionEffect-Dfqq8lGO.js} +1 -1
  450. package/dist/{useInteractionEffect-B5_UpgTt.js.map → useInteractionEffect-Dfqq8lGO.js.map} +1 -1
  451. package/dist/{useKeyboardNav-DJtFz7Fx.cjs → useKeyboardNav-DBeCcTmg.cjs} +1 -1
  452. package/dist/{useKeyboardNav-DJtFz7Fx.cjs.map → useKeyboardNav-DBeCcTmg.cjs.map} +1 -1
  453. package/dist/{useKeyboardNav-CmUKtJag.js → useKeyboardNav-DXvrPrx9.js} +1 -1
  454. package/dist/{useKeyboardNav-CmUKtJag.js.map → useKeyboardNav-DXvrPrx9.js.map} +1 -1
  455. package/dist/{useReveal-D1YuWN9z.cjs → useReveal-CdIoh0Rk.cjs} +1 -1
  456. package/dist/{useReveal-D1YuWN9z.cjs.map → useReveal-CdIoh0Rk.cjs.map} +1 -1
  457. package/dist/{useReveal-BB9OaMDU.js → useReveal-DzskFHKb.js} +1 -1
  458. package/dist/{useReveal-BB9OaMDU.js.map → useReveal-DzskFHKb.js.map} +1 -1
  459. package/dist/utils/licensing.d.ts +78 -1
  460. package/dist/utils.cjs +1 -1
  461. package/dist/utils.js +11 -11
  462. package/dist/{validators-CA-TznrL.cjs → validators-CyDTl6cC.cjs} +1 -1
  463. package/dist/{validators-CA-TznrL.cjs.map → validators-CyDTl6cC.cjs.map} +1 -1
  464. package/dist/{validators-CAahqOcq.js → validators-ljBWrIca.js} +1 -1
  465. package/dist/{validators-CAahqOcq.js.map → validators-ljBWrIca.js.map} +1 -1
  466. package/package.json +29 -6
  467. package/dist/MBoltIcon-B1P4i_X4.js.map +0 -1
  468. package/dist/MBoltIcon-DB6JHWMo.cjs +0 -2
  469. package/dist/MBoltIcon-DB6JHWMo.cjs.map +0 -1
  470. package/dist/MCard-BBBA2UVf.cjs +0 -2
  471. package/dist/MCard-BBBA2UVf.cjs.map +0 -1
  472. package/dist/MCard-ViJ2Lf73.js +0 -65
  473. package/dist/MCard-ViJ2Lf73.js.map +0 -1
  474. package/dist/MDropdownMenu-BcRbNfoR.js +0 -186
  475. package/dist/MDropdownMenu-BcRbNfoR.js.map +0 -1
  476. package/dist/MDropdownMenu-DOxSG00i.cjs +0 -2
  477. package/dist/MDropdownMenu-DOxSG00i.cjs.map +0 -1
  478. package/dist/MFolderOpenIcon-35Lmw91g.cjs +0 -2
  479. package/dist/MFolderOpenIcon-35Lmw91g.cjs.map +0 -1
  480. package/dist/MFolderOpenIcon-DFahkqXu.js +0 -31
  481. package/dist/MFolderOpenIcon-DFahkqXu.js.map +0 -1
  482. package/dist/MPagination-C8txsdB6.cjs +0 -2
  483. package/dist/MPagination-C8txsdB6.cjs.map +0 -1
  484. package/dist/MPagination-RupoyjxR.js +0 -113
  485. package/dist/MPagination-RupoyjxR.js.map +0 -1
  486. package/dist/MRating-0-_XBF-T.js +0 -38
  487. package/dist/MRating-0-_XBF-T.js.map +0 -1
  488. package/dist/MRating-B-fQMZ8c.cjs +0 -2
  489. package/dist/MRating-B-fQMZ8c.cjs.map +0 -1
  490. package/dist/MSkeleton-7YJwDcvl.cjs +0 -2
  491. package/dist/MSkeleton-7YJwDcvl.cjs.map +0 -1
  492. package/dist/MSkeleton-QQ57uNaL.js +0 -39
  493. package/dist/MSkeleton-QQ57uNaL.js.map +0 -1
  494. package/dist/MSortIcon-3mD9vpMX.cjs +0 -2
  495. package/dist/MSortIcon-3mD9vpMX.cjs.map +0 -1
  496. package/dist/MSortIcon-DGHyltKa.js +0 -84
  497. package/dist/MSortIcon-DGHyltKa.js.map +0 -1
  498. package/dist/MText-BxAcAs-j.cjs +0 -2
  499. package/dist/MText-BxAcAs-j.cjs.map +0 -1
  500. package/dist/MText-CzceD0k5.js +0 -43
  501. package/dist/MText-CzceD0k5.js.map +0 -1
  502. package/dist/MZoomInIcon-BcpTfzRD.cjs +0 -2
  503. package/dist/MZoomInIcon-BcpTfzRD.cjs.map +0 -1
  504. package/dist/MZoomInIcon-CK2aJhDg.js.map +0 -1
  505. package/dist/cards-Bw7aZCIy.cjs +0 -2
  506. package/dist/cards-Bw7aZCIy.cjs.map +0 -1
  507. package/dist/cards-CYzgOCG5.js +0 -613
  508. package/dist/cards-CYzgOCG5.js.map +0 -1
  509. package/dist/controls-1nIh1Ih1.js.map +0 -1
  510. package/dist/controls-2pkUWkOa.cjs +0 -2
  511. package/dist/controls-2pkUWkOa.cjs.map +0 -1
  512. package/dist/data-BGEuiFne.cjs +0 -2
  513. package/dist/data-BGEuiFne.cjs.map +0 -1
  514. package/dist/data-CYb66BuD.js +0 -423
  515. package/dist/data-CYb66BuD.js.map +0 -1
  516. package/dist/display-BEw4iW6N.js +0 -416
  517. package/dist/display-BEw4iW6N.js.map +0 -1
  518. package/dist/display-BVeaSZDJ.cjs +0 -2
  519. package/dist/display-BVeaSZDJ.cjs.map +0 -1
  520. package/dist/dropdowns-CsUSxR0u.cjs +0 -2
  521. package/dist/dropdowns-CsUSxR0u.cjs.map +0 -1
  522. package/dist/dropdowns-DiEsLPoq.js +0 -1729
  523. package/dist/dropdowns-DiEsLPoq.js.map +0 -1
  524. package/dist/feedback-BOPPNYr5.js +0 -217
  525. package/dist/feedback-BOPPNYr5.js.map +0 -1
  526. package/dist/feedback-vTRXpBZw.cjs +0 -2
  527. package/dist/feedback-vTRXpBZw.cjs.map +0 -1
  528. package/dist/icons.entry-BBIBT_e2.cjs +0 -2
  529. package/dist/icons.entry-BBIBT_e2.cjs.map +0 -1
  530. package/dist/icons.entry-CbJp27gc.js.map +0 -1
  531. package/dist/inputs-6TRTzH12.cjs +0 -2
  532. package/dist/layout-DgxSN0QV.js +0 -698
  533. package/dist/layout-DgxSN0QV.js.map +0 -1
  534. package/dist/layout-DsxgXjK_.cjs +0 -2
  535. package/dist/layout-DsxgXjK_.cjs.map +0 -1
  536. package/dist/licensing-C80xLz-j.cjs +0 -2
  537. package/dist/licensing-C80xLz-j.cjs.map +0 -1
  538. package/dist/licensing-DsWLXZiM.js +0 -28
  539. package/dist/licensing-DsWLXZiM.js.map +0 -1
  540. package/dist/media-V8oypokY.js +0 -171
  541. package/dist/media-V8oypokY.js.map +0 -1
  542. package/dist/media-uvYa5r3D.cjs +0 -2
  543. package/dist/media-uvYa5r3D.cjs.map +0 -1
  544. package/dist/overlays-BjO2sRrU.cjs +0 -2
  545. package/dist/overlays-BjO2sRrU.cjs.map +0 -1
  546. package/dist/overlays-DnMM32yB.js +0 -360
  547. package/dist/overlays-DnMM32yB.js.map +0 -1
  548. package/dist/typography-Bcn3mZPw.js +0 -63
  549. package/dist/typography-Bcn3mZPw.js.map +0 -1
  550. package/dist/typography-Cy_-zrZI.cjs +0 -2
  551. package/dist/typography-Cy_-zrZI.cjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cards-CKCr-GuJ.js","names":[],"sources":["../src/components/cards/MCardPayment/MCardPayment.tsx","../src/utils/socialPlatforms.tsx","../src/components/cards/MCardBusiness/MCardBusiness.tsx","../src/components/cards/ServiceCardsShared/ServiceCardsShared.tsx","../src/components/cards/MCardOffer/MCardOffer.tsx","../src/components/cards/MCardCourse/MCardCourse.tsx","../src/components/cards/MCardProduct/MCardProduct.tsx","../src/components/cards/MCardEvent/MCardEvent.tsx","../src/components/cards/MCardWidget/MCardWidget.tsx","../src/components/cards/MCardGrid/MCardGrid.tsx","../src/components/cards/MCardFinance/MCardFinance.tsx"],"sourcesContent":["import type {MCardPaymentProps} from './MCardPayment.types'\nimport {cn} from '../../../utils/cn'\nimport {creditCardBrands, detectCardBrand} from '../../../utils/creditCards'\nimport './MCardPayment.css'\n\nfunction maskNumber(raw: string): string {\n const digits = raw.replace(/\\D/g, '')\n if (digits.length <= 4) return digits\n const last4 = digits.slice(-4)\n return `\\u2022\\u2022\\u2022\\u2022 \\u2022\\u2022\\u2022\\u2022 \\u2022\\u2022\\u2022\\u2022 ${last4}`\n}\n\n// Display-only payment card with balance, masked number, holder name and brand badge.\nexport function MCardPayment({\n holder,\n number,\n expiry,\n brand,\n brandIcon,\n balance,\n balanceLabel = 'Current balance',\n color,\n className,\n ...rest\n}: MCardPaymentProps) {\n const detectedDetails = detectCardBrand(number)\n const detected = brand ?? detectedDetails.brand\n const brandDetails = creditCardBrands.find((rule) => rule.brand === detected) ?? detectedDetails\n const masked = maskNumber(number)\n const brandLabel = brandDetails.iconLabel\n\n return (\n <div className={cn('card-payment', color || 'primary', className)} {...rest}>\n {balance !== undefined && (\n <div>\n <p className=\"cp-balance-label\">{balanceLabel}</p>\n <p className=\"cp-balance\">{balance}</p>\n </div>\n )}\n\n <div className=\"cp-row\">\n <span className={cn('cp-brand', !brandIcon && detected)}>{brandIcon ?? brandLabel}</span>\n <span className=\"cp-number\">{masked}</span>\n </div>\n\n <div className=\"cp-details\">\n <div>\n <p className=\"cp-field-label\">MCard holder</p>\n <p className=\"cp-field-value\">{holder}</p>\n </div>\n <div>\n <p className=\"cp-field-label\">Expiration date</p>\n <p className=\"cp-field-value\">{expiry}</p>\n </div>\n </div>\n </div>\n )\n}\n","import type {ComponentType} from 'react'\nimport type {MIconProps} from '../icons'\nimport {\n MAppleColorIcon,\n MAppleIcon,\n MDiscordColorIcon,\n MDiscordIcon,\n MFacebookColorIcon,\n MFacebookIcon,\n MFigmaColorIcon,\n MFigmaIcon,\n MGitHubColorIcon,\n MGitHubIcon,\n MGoogleColorIcon,\n MGoogleIcon,\n MInstagramColorIcon,\n MInstagramIcon,\n MLinkedInColorIcon,\n MLinkedInIcon,\n MPinterestColorIcon,\n MPinterestIcon,\n MSlackColorIcon,\n MSlackIcon,\n MSpotifyColorIcon,\n MSpotifyIcon,\n MTumblrColorIcon,\n MTumblrIcon,\n MVimeoColorIcon,\n MVimeoIcon,\n MVkColorIcon,\n MVkIcon,\n MXColorIcon,\n MXIcon,\n MYouTubeColorIcon,\n MYouTubeIcon,\n} from '../icons'\n\nexport type MSocialPlatform =\n | 'apple'\n | 'discord'\n | 'facebook'\n | 'figma'\n | 'github'\n | 'google'\n | 'instagram'\n | 'linkedin'\n | 'pinterest'\n | 'slack'\n | 'spotify'\n | 'tumblr'\n | 'vimeo'\n | 'vk'\n | 'twitter'\n | 'x'\n | 'youtube'\n | (string & {})\n\ntype SocialEntry = {\n label: string\n icon: ComponentType<MIconProps>\n colorIcon: ComponentType<MIconProps>\n rgb: string\n}\n\nconst socialMap: Record<string, SocialEntry> = {\n apple: {label: 'Apple', icon: MAppleIcon, colorIcon: MAppleColorIcon, rgb: '24, 24, 27'},\n discord: {label: 'Discord', icon: MDiscordIcon, colorIcon: MDiscordColorIcon, rgb: '88, 101, 242'},\n facebook: {label: 'Facebook', icon: MFacebookIcon, colorIcon: MFacebookColorIcon, rgb: '24, 119, 242'},\n figma: {label: 'Figma', icon: MFigmaIcon, colorIcon: MFigmaColorIcon, rgb: '162, 89, 255'},\n github: {label: 'GitHub', icon: MGitHubIcon, colorIcon: MGitHubColorIcon, rgb: '24, 23, 23'},\n google: {label: 'Google', icon: MGoogleIcon, colorIcon: MGoogleColorIcon, rgb: '66, 133, 244'},\n instagram: {label: 'Instagram', icon: MInstagramIcon, colorIcon: MInstagramColorIcon, rgb: '225, 48, 108'},\n linkedin: {label: 'LinkedIn', icon: MLinkedInIcon, colorIcon: MLinkedInColorIcon, rgb: '10, 102, 194'},\n pinterest: {label: 'Pinterest', icon: MPinterestIcon, colorIcon: MPinterestColorIcon, rgb: '230, 0, 35'},\n slack: {label: 'Slack', icon: MSlackIcon, colorIcon: MSlackColorIcon, rgb: '74, 21, 75'},\n spotify: {label: 'Spotify', icon: MSpotifyIcon, colorIcon: MSpotifyColorIcon, rgb: '30, 215, 96'},\n tumblr: {label: 'Tumblr', icon: MTumblrIcon, colorIcon: MTumblrColorIcon, rgb: '0, 25, 53'},\n vimeo: {label: 'Vimeo', icon: MVimeoIcon, colorIcon: MVimeoColorIcon, rgb: '26, 183, 234'},\n vk: {label: 'VK', icon: MVkIcon, colorIcon: MVkColorIcon, rgb: '0, 119, 255'},\n x: {label: 'X', icon: MXIcon, colorIcon: MXColorIcon, rgb: '17, 17, 17'},\n youtube: {label: 'YouTube', icon: MYouTubeIcon, colorIcon: MYouTubeColorIcon, rgb: '255, 0, 0'},\n}\n\nexport function normalizeSocialPlatform(platform: string) {\n const normalized = platform\n .trim()\n .toLowerCase()\n .replace(/[\\s._-]+/g, '')\n\n if (normalized === 'twitter') {\n return 'x'\n }\n\n if (normalized === 'vkontakte') {\n return 'vk'\n }\n\n return normalized\n}\n\nexport function getSocialLabel(platform: MSocialPlatform) {\n const normalized = normalizeSocialPlatform(platform)\n return socialMap[normalized]?.label ?? platform\n}\n\nexport function getSocialIconComponent(platform: MSocialPlatform, brand = false) {\n const normalized = normalizeSocialPlatform(platform)\n const entry = socialMap[normalized]\n\n if (!entry) {\n return null\n }\n\n return brand ? entry.colorIcon : entry.icon\n}\n\nexport function getSocialBrandRgb(platform: MSocialPlatform) {\n const normalized = normalizeSocialPlatform(platform)\n return socialMap[normalized]?.rgb ?? '37, 99, 235'\n}\n","import type {MCardBusinessProps} from './MCardBusiness.types'\nimport {cn} from '../../../utils/cn'\nimport {MQrCode} from '../../display'\nimport {MAvatar} from '../../media'\nimport {MGlobeIcon, MMailIcon, MPhoneIcon, MPinIcon} from '../../../icons'\nimport {getSocialIconComponent, getSocialLabel} from '../../../utils/socialPlatforms'\nimport './MCardBusiness.css'\n\n// Join available address fields into one readable line.\nfunction formatAddress(address: MCardBusinessProps['address']): string | null {\n if (!address) return null\n\n return [address.street, [address.zip, address.city].filter(Boolean).join(' '), address.country]\n .filter(Boolean)\n .join(', ')\n}\n\n// Render a compact business card for a person or a company profile.\nexport function MCardBusiness({\n variant = 'user',\n name,\n title,\n avatar,\n address,\n contact,\n socials,\n online,\n lastActive,\n qrCode,\n qrValue,\n qrStatus,\n qrStatusLabel,\n color = 'primary',\n className,\n ...rest\n}: MCardBusinessProps) {\n const addr = formatAddress(address)\n\n return (\n <div className={cn('card-business', variant, `color-${color}`, className)} {...rest}>\n <div className=\"cb-header\">\n <div className=\"cb-avatar-wrap\">\n <MAvatar\n src={avatar}\n alt={name}\n name={name}\n size={56}\n shape={variant === 'company' ? 'rounded' : 'circle'}\n color={color}\n badge={online !== undefined ? true : undefined}\n badgeColor={online === undefined ? undefined : online ? 'success' : 'error'}\n badgePulsing={Boolean(online)}\n className={cn('cb-avatar', variant)}\n />\n </div>\n\n <div className=\"cb-info\">\n <h3 className=\"cb-name\">{name}</h3>\n {title && <p className=\"cb-title\">{title}</p>}\n {lastActive && <p className=\"cb-last-active\">{lastActive}</p>}\n </div>\n\n {(qrValue || qrCode) && (\n <div className=\"cb-qr\">\n {qrValue ? (\n <MQrCode\n value={qrValue}\n size={56}\n padding={3}\n status={qrStatus}\n statusLabel={qrStatusLabel}\n className=\"cb-qr-code\"\n />\n ) : (\n <img src={qrCode} alt=\"QR\" className=\"cb-qr-img\" />\n )}\n </div>\n )}\n </div>\n\n {(contact || addr) && (\n <div className=\"cb-details\">\n {contact?.email && (\n <div className=\"cb-detail\">\n <span className=\"cb-detail-icon\">\n <MMailIcon />\n </span>\n <a href={`mailto:${contact.email}`} className=\"cb-detail-value\">\n {contact.email}\n </a>\n </div>\n )}\n {contact?.phone && (\n <div className=\"cb-detail\">\n <span className=\"cb-detail-icon\">\n <MPhoneIcon />\n </span>\n <a href={`tel:${contact.phone}`} className=\"cb-detail-value\">\n {contact.phone}\n </a>\n </div>\n )}\n {contact?.website && (\n <div className=\"cb-detail\">\n <span className=\"cb-detail-icon\">\n <MGlobeIcon />\n </span>\n <a\n href={contact.website}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"cb-detail-value\"\n >\n {contact.website.replace(/^https?:\\/\\//, '')}\n </a>\n </div>\n )}\n {addr && (\n <div className=\"cb-detail\">\n <span className=\"cb-detail-icon\">\n <MPinIcon />\n </span>\n <span className=\"cb-detail-value\">{addr}</span>\n </div>\n )}\n </div>\n )}\n\n {socials && socials.length > 0 && (\n <div className=\"cb-socials\">\n {socials.map((item) =>\n (() => {\n const Icon = getSocialIconComponent(item.platform, true)\n\n return (\n <a\n key={item.platform}\n href={item.url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"cb-social\"\n title={getSocialLabel(item.platform)}\n aria-label={getSocialLabel(item.platform)}\n >\n {item.icon ??\n (Icon ? <Icon /> : <span className=\"cb-social-text\">{item.platform}</span>)}\n </a>\n )\n })()\n )}\n </div>\n )}\n </div>\n )\n}\n","import {useEffect, useState} from 'react'\nimport type {SharedServiceCardProps} from './ServiceCardsShared.types'\nimport {cn} from '../../../utils/cn'\nimport {\n MArrowDownIcon,\n MArrowUpIcon,\n MClockIcon,\n MEllipsisVerticalIcon,\n MHeartFillIcon,\n MHeartIcon,\n MMinusIcon,\n MPlusIcon,\n} from '../../../icons'\nimport {MButton} from '../../controls'\nimport {MBadge} from '../../feedback'\nimport {MAvatar} from '../../media'\nimport {MRating} from '../../display'\nimport {MDropdownItem, MDropdownMenu} from '../../overlays'\nimport './ServiceCardsShared.css'\n\nexport function SharedServiceCard({\n variant,\n title,\n description,\n price,\n currency = 'PLN',\n duration,\n available,\n image,\n gallery,\n galleryAutoPlay = false,\n rating,\n reviewCount,\n favorite,\n onFavorite,\n menuItems,\n onAddToCart,\n actionLabel,\n icon,\n color = 'primary',\n leader,\n participants,\n maxParticipants,\n quantity: controlledQty,\n onQuantityChange,\n date,\n location,\n status,\n value,\n trend,\n className,\n ...rest\n}: SharedServiceCardProps) {\n const [galleryIdx, setGalleryIdx] = useState(0)\n const [isGalleryTransitioning, setIsGalleryTransitioning] = useState(false)\n const [internalQty, setInternalQty] = useState(1)\n\n const qty = controlledQty ?? internalQty\n const images = gallery && gallery.length > 0 ? gallery : image ? [image] : []\n\n useEffect(() => {\n if (galleryIdx >= images.length) {\n setGalleryIdx(0)\n }\n }, [galleryIdx, images.length])\n\n useEffect(() => {\n if (!isGalleryTransitioning) {\n return\n }\n\n const transitionId = window.setTimeout(() => {\n setIsGalleryTransitioning(false)\n }, 220)\n\n return () => window.clearTimeout(transitionId)\n }, [galleryIdx, isGalleryTransitioning])\n\n function changeGallery(nextIdx: number) {\n if (nextIdx === galleryIdx || nextIdx < 0 || nextIdx >= images.length) {\n return\n }\n\n if (images.length > 1) {\n setIsGalleryTransitioning(true)\n }\n\n setGalleryIdx(nextIdx)\n }\n\n useEffect(() => {\n if (!galleryAutoPlay || images.length <= 1) {\n return\n }\n\n const intervalId = window.setInterval(() => {\n setIsGalleryTransitioning(true)\n setGalleryIdx((current) => (current + 1) % images.length)\n }, 3500)\n\n return () => window.clearInterval(intervalId)\n }, [galleryAutoPlay, images.length])\n\n function changeQty(next: number) {\n const val = Math.max(1, next)\n if (onQuantityChange) onQuantityChange(val)\n else setInternalQty(val)\n }\n\n const availLabel =\n available === true\n ? 'Available'\n : available === false\n ? 'Unavailable'\n : typeof available === 'number'\n ? `${available} spots`\n : null\n\n const parsedDate = date ? (date instanceof Date ? date : new Date(date)) : null\n const dateDay = parsedDate ? parsedDate.getDate() : null\n const dateMonth = parsedDate ? parsedDate.toLocaleString('en', {month: 'short'}).toUpperCase() : null\n\n const trendType = trend !== undefined ? (trend > 0 ? 'up' : trend < 0 ? 'down' : 'neutral') : null\n\n if (variant === 'widget') {\n return (\n <div className={cn('card-service', 'widget', `color-${color}`, className)} {...rest}>\n <div className=\"cs-widget\">\n {icon && <span className=\"cs-widget-icon\">{icon}</span>}\n <div className=\"cs-widget-content\">\n <span className=\"cs-widget-label\">{title}</span>\n <span className=\"cs-widget-value\">{value}</span>\n {trend !== undefined && (\n <span className={cn('cs-widget-trend', trendType)}>\n {trendType === 'up' && <MArrowUpIcon size={14} />}\n {trendType === 'down' && <MArrowDownIcon size={14} />}\n <span>\n {trend > 0 ? '+' : ''}\n {trend}%\n </span>\n </span>\n )}\n </div>\n </div>\n </div>\n )\n }\n\n return (\n <div className={cn('card-service', variant, `color-${color}`, className)} {...rest}>\n {images.length > 0 && (\n <div className=\"cs-gallery\">\n <img\n src={images[galleryIdx]}\n alt={title}\n className={cn('cs-image', isGalleryTransitioning && 'is-transitioning')}\n />\n {images.length > 1 && (\n <div className=\"cs-gallery-dots\">\n {images.map((_, i) => (\n <button\n key={i}\n type=\"button\"\n className={cn('cs-dot', i === galleryIdx && 'active')}\n onClick={() => changeGallery(i)}\n aria-label={`Image ${i + 1}`}\n />\n ))}\n </div>\n )}\n\n {(onFavorite || (menuItems && menuItems.length > 0)) && (\n <div className=\"cs-gallery-actions\">\n {menuItems && menuItems.length > 0 && (\n <MDropdownMenu\n className=\"cs-menu-wrap\"\n trigger={\n <MButton\n variant=\"ghost\"\n iconOnly\n shape=\"circle\"\n aria-label=\"More options\"\n className=\"cs-overlay-btn\"\n >\n <MEllipsisVerticalIcon />\n </MButton>\n }\n placement=\"bottom-end\"\n >\n {menuItems.map((item, i) => (\n <MDropdownItem\n key={i}\n icon={item.icon}\n color={item.danger ? 'error' : undefined}\n label={item.label}\n onClick={item.onClick}\n />\n ))}\n </MDropdownMenu>\n )}\n {onFavorite && (\n <MButton\n variant=\"ghost\"\n iconOnly\n shape=\"circle\"\n onClick={onFavorite}\n aria-label={favorite ? 'Remove from favorites' : 'Add to favorites'}\n className={cn('cs-overlay-btn', favorite && 'cs-fav-active')}\n >\n {favorite ? <MHeartFillIcon /> : <MHeartIcon />}\n </MButton>\n )}\n </div>\n )}\n </div>\n )}\n\n <div className=\"cs-body\">\n {variant === 'event' && parsedDate && (\n <div className=\"cs-event-header\">\n <div className=\"cs-date-block\">\n <span className=\"cs-date-day\">{dateDay}</span>\n <span className=\"cs-date-month\">{dateMonth}</span>\n </div>\n <div className=\"cs-event-info\">\n <h3 className=\"cs-title\">{title}</h3>\n {description && <p className=\"cs-desc\">{description}</p>}\n </div>\n </div>\n )}\n\n {variant !== 'event' && (\n <>\n <div className=\"cs-top\">\n {icon && <span className=\"cs-icon\">{icon}</span>}\n <h3 className=\"cs-title\">{title}</h3>\n </div>\n {description && <p className=\"cs-desc\">{description}</p>}\n </>\n )}\n\n {variant === 'event' && !parsedDate && (\n <>\n <div className=\"cs-top\">\n {icon && <span className=\"cs-icon\">{icon}</span>}\n <h3 className=\"cs-title\">{title}</h3>\n </div>\n {description && <p className=\"cs-desc\">{description}</p>}\n </>\n )}\n\n {rating !== undefined && (\n <div className=\"cs-rating\">\n <MRating value={Math.round(rating)} size=\"sm\" color=\"warning\" readOnly className=\"cs-stars\" />\n <span className=\"cs-rating-value\">{rating.toFixed(1)}</span>\n {reviewCount !== undefined && <span className=\"cs-review-count\">({reviewCount})</span>}\n </div>\n )}\n\n {leader && (\n <div className=\"cs-leader\">\n <MAvatar src={leader.avatar} name={leader.name} size={28} color={color} />\n <span className=\"cs-leader-name\">{leader.name}</span>\n </div>\n )}\n\n {variant === 'course' && participants && (\n <div className=\"cs-participants\">\n <div className=\"cs-participants-avatars\">\n {participants.slice(0, 4).map((participant, index) => (\n <MAvatar\n key={`${participant.name}-${index}`}\n src={participant.avatar}\n name={participant.name}\n size={28}\n color={color}\n className=\"cs-participant-avatar\"\n />\n ))}\n </div>\n {maxParticipants && (\n <span className=\"cs-spots\">\n {participants.length}/{maxParticipants}\n </span>\n )}\n </div>\n )}\n\n <div className=\"cs-meta\">\n {variant === 'event' && location && (\n <MBadge size=\"xs\" color={color}>\n {location}\n </MBadge>\n )}\n {duration && (\n <MBadge size=\"xs\" color={color} icon={<MClockIcon />}>\n {duration}\n </MBadge>\n )}\n {variant === 'event' && status && (\n <MBadge size=\"xs\" color={status.toLowerCase() === 'sold out' ? 'error' : color}>\n {status}\n </MBadge>\n )}\n {availLabel && variant !== 'event' && (\n <MBadge size=\"xs\" color={available === false ? 'error' : color}>\n {availLabel}\n </MBadge>\n )}\n </div>\n </div>\n\n <div className=\"cs-footer\">\n {price !== undefined && (\n <span className=\"cs-price\">\n {typeof price === 'number' ? price.toFixed(2) : price}{' '}\n <span className=\"cs-currency\">{currency}</span>\n </span>\n )}\n\n <div className=\"cs-actions\">\n {variant === 'product' && onAddToCart && (\n <div className=\"cs-qty\">\n <MButton\n variant=\"ghost\"\n iconOnly\n size=\"sm\"\n onClick={() => changeQty(qty - 1)}\n aria-label=\"Decrease\"\n className=\"cs-qty-btn\"\n >\n <MMinusIcon />\n </MButton>\n <span className=\"cs-qty-value\">{qty}</span>\n <MButton\n variant=\"ghost\"\n iconOnly\n size=\"sm\"\n onClick={() => changeQty(qty + 1)}\n aria-label=\"Increase\"\n className=\"cs-qty-btn\"\n >\n <MPlusIcon />\n </MButton>\n </div>\n )}\n {onAddToCart && (\n <MButton\n variant=\"filled\"\n size=\"sm\"\n color={color}\n onClick={() => onAddToCart(qty)}\n disabled={available === false}\n className=\"cs-cart-btn\"\n >\n {actionLabel ?? (variant === 'event' ? 'Register' : 'Add to cart')}\n </MButton>\n )}\n </div>\n </div>\n </div>\n )\n}\n","import type {MCardOfferProps} from './MCardOffer.types'\nimport {SharedServiceCard} from '../ServiceCardsShared/ServiceCardsShared'\n\nexport function MCardOffer(props: MCardOfferProps) {\n const {onAction, actionLabel = 'Book now', ...rest} = props\n\n return (\n <SharedServiceCard\n variant=\"service\"\n onAddToCart={onAction ? () => onAction() : undefined}\n actionLabel={actionLabel}\n {...rest}\n />\n )\n}\n","import type {MCardCourseProps} from './MCardCourse.types'\nimport {SharedServiceCard} from '../ServiceCardsShared/ServiceCardsShared'\n\nexport function MCardCourse(props: MCardCourseProps) {\n const {onAction, actionLabel = 'Join course', ...rest} = props\n\n return (\n <SharedServiceCard\n variant=\"course\"\n onAddToCart={onAction ? () => onAction() : undefined}\n actionLabel={actionLabel}\n {...rest}\n />\n )\n}\n","import type {MCardProductProps} from './MCardProduct.types'\nimport {SharedServiceCard} from '../ServiceCardsShared/ServiceCardsShared'\n\nexport function MCardProduct(props: MCardProductProps) {\n const {addToCartLabel = 'Add to cart', ...rest} = props\n\n return <SharedServiceCard variant=\"product\" actionLabel={addToCartLabel} {...rest} />\n}\n","import type {MCardEventProps} from './MCardEvent.types'\nimport {SharedServiceCard} from '../ServiceCardsShared/ServiceCardsShared'\n\nexport function MCardEvent(props: MCardEventProps) {\n const {onRegister, registerLabel = 'Register', ...rest} = props\n\n return (\n <SharedServiceCard\n variant=\"event\"\n onAddToCart={onRegister ? () => onRegister() : undefined}\n actionLabel={registerLabel}\n {...rest}\n />\n )\n}\n","import type {MCardWidgetProps} from './MCardWidget.types'\nimport {cn} from '../../../utils/cn'\nimport {MArrowDownIcon, MArrowUpIcon} from '../../../icons'\nimport './MCardWidget.css'\n\nfunction resolveTrendType(trend: MCardWidgetProps['trend'], explicit?: MCardWidgetProps['trendType']) {\n if (explicit) return explicit\n if (typeof trend !== 'number' || trend === 0) return 'neutral'\n return trend > 0 ? 'up' : 'down'\n}\n\nfunction formatTrend(trend: MCardWidgetProps['trend']) {\n if (typeof trend === 'number' && trend > 0) {\n return `+${trend}`\n }\n\n return trend\n}\n\nexport function MCardWidget({\n title,\n value,\n trend,\n trendType,\n icon,\n color = 'primary',\n helperText,\n className,\n ...rest\n}: MCardWidgetProps) {\n const hasTrend = trend !== undefined && trend !== null\n const resolvedTrendType = resolveTrendType(trend, trendType)\n const formattedTrend = formatTrend(trend)\n\n return (\n <div className={cn('card-widget', `color-${color}`, className)} {...rest}>\n <div className=\"cw-top\">\n <div className=\"cw-meta\">\n <span className=\"cw-title\">{title}</span>\n <span className=\"cw-value\">{value}</span>\n </div>\n {icon && <span className=\"cw-icon\">{icon}</span>}\n </div>\n\n {hasTrend && (\n <div className=\"cw-bottom\">\n <span className={cn('cw-trend', resolvedTrendType)}>\n {resolvedTrendType === 'up' && <MArrowUpIcon size={14} />}\n {resolvedTrendType === 'down' && <MArrowDownIcon size={14} />}\n <span>{formattedTrend}</span>\n </span>\n </div>\n )}\n\n {helperText && <div className=\"cw-helper\">{helperText}</div>}\n </div>\n )\n}\n","import {useState, useMemo, useRef, useCallback} from 'react'\nimport type {MCardGridProps} from './MCardGrid.types'\nimport {cn} from '../../../utils/cn'\nimport {MButton, MCheckbox} from '../../controls'\nimport {MInputSearch} from '../../inputs'\nimport {MPopover} from '../../primitives'\nimport {MArrowDownIcon, MArrowUpIcon, MFilterIcon, MSortIcon} from '../../../icons'\nimport './MCardGrid.css'\n\nfunction getNestedValue(obj: unknown, key: string): unknown {\n const parts = key.split('.')\n let val: unknown = obj\n\n for (const p of parts) {\n if (val == null || typeof val !== 'object') return undefined\n val = (val as Record<string, unknown>)[p]\n }\n\n return val\n}\n\nexport function MCardGrid<T extends Record<string, unknown>>({\n items,\n renderCard,\n searchable = false,\n searchKeys,\n searchPlaceholder = 'Search...',\n filterable = false,\n filterKeys = [],\n sortable = false,\n sortKeys = [],\n defaultSort,\n columns = 3,\n emptyMessage = 'No results found.',\n className,\n style,\n ...rest\n}: MCardGridProps<T>) {\n const [search, setSearch] = useState('')\n const [filters, setFilters] = useState<Record<string, Set<string>>>({})\n const [sortKey, setSortKey] = useState<string | null>(defaultSort?.key ?? null)\n const [sortDir, setSortDir] = useState<'asc' | 'desc'>(defaultSort?.direction ?? 'asc')\n const [filterOpen, setFilterOpen] = useState(false)\n const [sortOpen, setSortOpen] = useState(false)\n const filterBtnRef = useRef<HTMLElement>(null)\n const sortBtnRef = useRef<HTMLElement>(null)\n\n const openFilter = useCallback(() => {\n setFilterOpen((v) => !v)\n setSortOpen(false)\n }, [])\n\n const openSort = useCallback(() => {\n setSortOpen((v) => !v)\n setFilterOpen(false)\n }, [])\n\n const processed = useMemo(() => {\n let result = [...items]\n\n if (search && searchKeys && searchKeys.length > 0) {\n const query = search.toLowerCase()\n result = result.filter((item) =>\n searchKeys.some((key) => {\n const value = getNestedValue(item, key)\n return value != null && String(value).toLowerCase().includes(query)\n })\n )\n }\n\n for (const [key, selected] of Object.entries(filters)) {\n if (selected.size === 0) continue\n\n result = result.filter((item) => {\n const value = getNestedValue(item, key)\n return value != null && selected.has(String(value))\n })\n }\n\n if (sortKey) {\n result.sort((a, b) => {\n const av = getNestedValue(a, sortKey)\n const bv = getNestedValue(b, sortKey)\n\n if (av == null && bv == null) return 0\n if (av == null) return 1\n if (bv == null) return -1\n\n const compare = String(av).localeCompare(String(bv), undefined, {numeric: true})\n return sortDir === 'asc' ? compare : -compare\n })\n }\n\n return result\n }, [items, search, searchKeys, filters, sortKey, sortDir])\n\n function toggleFilter(key: string, value: string) {\n setFilters((prev) => {\n const next = new Set(prev[key] ?? [])\n\n if (next.has(value)) next.delete(value)\n else next.add(value)\n\n return {...prev, [key]: next}\n })\n }\n\n const filterOptions = useMemo(() => {\n const map: Record<string, string[]> = {}\n\n for (const filterKey of filterKeys) {\n if (filterKey.options) {\n map[filterKey.key] = filterKey.options\n continue\n }\n\n const values = new Set<string>()\n\n for (const item of items) {\n const value = getNestedValue(item, filterKey.key)\n if (value != null) values.add(String(value))\n }\n\n map[filterKey.key] = Array.from(values).sort()\n }\n\n return map\n }, [items, filterKeys])\n\n const activeSort = sortKeys.find((item) => item.key === sortKey)\n\n return (\n <div className={cn('card-grid', className)} style={style} {...rest}>\n {(searchable || filterable || sortable) && (\n <div className=\"card-grid-toolbar\">\n {searchable && (\n <MInputSearch\n className=\"card-grid-search\"\n size=\"sm\"\n fullWidth\n placeholder={searchPlaceholder}\n value={search}\n onChange={(event) => setSearch(event.target.value)}\n onClear={() => setSearch('')}\n />\n )}\n\n <div className=\"card-grid-actions\">\n {filterable && filterKeys.length > 0 && (\n <>\n <MButton\n ref={filterBtnRef}\n variant=\"outlined\"\n size=\"sm\"\n startIcon={<MFilterIcon />}\n aria-expanded={filterOpen}\n onClick={openFilter}\n >\n Filter\n </MButton>\n <MPopover\n open={filterOpen}\n anchorRef={filterBtnRef}\n onClose={() => setFilterOpen(false)}\n placement=\"bottom-end\"\n className=\"card-grid-dropdown\"\n >\n {filterKeys.map((filterKey) => (\n <div key={filterKey.key} className=\"card-grid-filter-group\">\n <span className=\"card-grid-filter-label\">{filterKey.label}</span>\n {(filterOptions[filterKey.key] ?? []).map((option) => (\n <div key={option} className=\"card-grid-filter-option\">\n <MCheckbox\n size=\"sm\"\n clickEffect=\"none\"\n checked={filters[filterKey.key]?.has(option) ?? false}\n onChange={() => toggleFilter(filterKey.key, option)}\n label={option}\n />\n </div>\n ))}\n </div>\n ))}\n </MPopover>\n </>\n )}\n\n {sortable && sortKeys.length > 0 && (\n <>\n <MButton\n ref={sortBtnRef}\n variant=\"outlined\"\n size=\"sm\"\n startIcon={\n sortKey ? (\n sortDir === 'asc' ? (\n <MArrowUpIcon />\n ) : (\n <MArrowDownIcon />\n )\n ) : (\n <MSortIcon />\n )\n }\n aria-expanded={sortOpen}\n onClick={openSort}\n >\n {activeSort ? `Sort: ${activeSort.label}` : 'Sort'}\n </MButton>\n <MPopover\n open={sortOpen}\n anchorRef={sortBtnRef}\n onClose={() => setSortOpen(false)}\n placement=\"bottom-end\"\n className=\"card-grid-dropdown\"\n >\n {sortKeys.map((sortItem) => (\n <button\n key={sortItem.key}\n type=\"button\"\n className={cn(\n 'card-grid-sort-item',\n sortKey === sortItem.key && 'active'\n )}\n onClick={() => {\n if (sortKey === sortItem.key) {\n setSortDir(sortDir === 'asc' ? 'desc' : 'asc')\n } else {\n setSortKey(sortItem.key)\n setSortDir('asc')\n }\n setSortOpen(false)\n }}\n >\n {sortItem.label}\n {sortKey === sortItem.key && (\n <span className=\"card-grid-sort-dir\">\n {sortDir === 'asc' ? (\n <MArrowUpIcon className=\"card-grid-sort-icon\" />\n ) : (\n <MArrowDownIcon className=\"card-grid-sort-icon\" />\n )}\n </span>\n )}\n </button>\n ))}\n </MPopover>\n </>\n )}\n </div>\n </div>\n )}\n\n {processed.length > 0 ? (\n <div\n className=\"card-grid-items\"\n style={{\n gridTemplateColumns: `repeat(${columns}, 1fr)`,\n }}\n >\n {processed.map((item, index) => renderCard(item, index))}\n </div>\n ) : (\n <div className=\"card-grid-empty\">{emptyMessage}</div>\n )}\n </div>\n )\n}\n","import type {MCardFinanceProps} from './MCardFinance.types'\nimport {cn} from '../../../utils/cn'\nimport {MSparkline} from '../../data/MSparkline/MSparkline'\nimport {MArrowUpIcon, MArrowDownIcon} from '../../../icons'\nimport './MCardFinance.css'\n\nfunction resolveChangeType(change: number | undefined, explicit?: MCardFinanceProps['changeType']) {\n if (explicit) return explicit\n if (change === undefined || change === 0) return 'neutral'\n return change > 0 ? 'up' : 'down'\n}\n\nexport function MCardFinance({\n label,\n value,\n change,\n changeType: changeTypeProp,\n changeLabel,\n icon,\n sparkline,\n sparklineType = 'area',\n color = 'primary',\n currency,\n className,\n ...rest\n}: MCardFinanceProps) {\n const changeType = resolveChangeType(change, changeTypeProp)\n\n const changeColor = changeType === 'up' ? 'success' : changeType === 'down' ? 'error' : 'neutral'\n\n return (\n <div className={cn('card-finance', `color-${color}`, className)} {...rest}>\n <div className=\"cf-top\">\n <div className=\"cf-meta\">\n <span className=\"cf-label\">{label}</span>\n {currency && <span className=\"cf-currency\">{currency}</span>}\n </div>\n {icon && <span className=\"cf-icon\">{icon}</span>}\n </div>\n\n <div className=\"cf-value\">{value}</div>\n\n <div className=\"cf-bottom\">\n {change !== undefined && (\n <span className={cn('cf-change', changeColor)}>\n {changeType === 'up' && <MArrowUpIcon size={14} />}\n {changeType === 'down' && <MArrowDownIcon size={14} />}\n <span className=\"cf-change-value\">\n {change > 0 ? '+' : ''}{change}%\n </span>\n {changeLabel && <span className=\"cf-change-label\">{changeLabel}</span>}\n </span>\n )}\n </div>\n\n <div className=\"cf-sparkline\">\n <MSparkline\n data={sparkline}\n type={sparklineType}\n color={changeColor === 'neutral' ? color : changeColor}\n height={46}\n padding={0}\n curved\n animated\n fillOpacity={0.18}\n />\n </div>\n </div>\n )\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ const e=require(`./MArrowUpIcon-DWV_HYrz.cjs`),t=require(`./MArrowDownIcon-C8EAODgv.cjs`),n=require(`./MClockIcon-C-zYY2A0.cjs`),r=require(`./MPhoneIcon-lgC9DH5a.cjs`),i=require(`./MBrandMoreIcons-Xxf9FaIx.cjs`),a=require(`./MEllipsisVerticalIcon-C87B9UQK.cjs`),o=require(`./cn-SOcVdnX6.cjs`),s=require(`./creditCards-BjHGqAFx.cjs`),c=require(`./MPopover-BXPkE575.cjs`),l=require(`./MButton-C_WTyNvw.cjs`),u=require(`./MBadge-Babyr1R9.cjs`),d=require(`./MQrCode-CbUPPd4S.cjs`),f=require(`./MAvatar-DMM1CsdO.cjs`),p=require(`./MDropdownMenu-BLBdToIz.cjs`),m=require(`./MInputSearch-Dt79qbZg.cjs`),h=require(`./MSparkline-U-XaDvpV.cjs`),g=require(`./MCheckbox-BhtJDdip.cjs`);let _=require(`react`),v=require(`react/jsx-runtime`);function y(e){let t=e.replace(/\D/g,``);return t.length<=4?t:`\u2022\u2022\u2022\u2022 \u2022\u2022\u2022\u2022 \u2022\u2022\u2022\u2022 ${t.slice(-4)}`}function b({holder:e,number:t,expiry:n,brand:r,brandIcon:i,balance:a,balanceLabel:c=`Current balance`,color:l,className:u,...d}){let f=s.n(t),p=r??f.brand,m=s.t.find(e=>e.brand===p)??f,h=y(t),g=m.iconLabel;return(0,v.jsxs)(`div`,{className:o.t(`card-payment`,l||`primary`,u),...d,children:[a!==void 0&&(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`p`,{className:`cp-balance-label`,children:c}),(0,v.jsx)(`p`,{className:`cp-balance`,children:a})]}),(0,v.jsxs)(`div`,{className:`cp-row`,children:[(0,v.jsx)(`span`,{className:o.t(`cp-brand`,!i&&p),children:i??g}),(0,v.jsx)(`span`,{className:`cp-number`,children:h})]}),(0,v.jsxs)(`div`,{className:`cp-details`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`p`,{className:`cp-field-label`,children:`MCard holder`}),(0,v.jsx)(`p`,{className:`cp-field-value`,children:e})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`p`,{className:`cp-field-label`,children:`Expiration date`}),(0,v.jsx)(`p`,{className:`cp-field-value`,children:n})]})]})]})}var x={apple:{label:`Apple`,icon:i.i,colorIcon:i.r,rgb:`24, 24, 27`},discord:{label:`Discord`,icon:i.M,colorIcon:i.j,rgb:`88, 101, 242`},facebook:{label:`Facebook`,icon:i.P,colorIcon:i.N,rgb:`24, 119, 242`},figma:{label:`Figma`,icon:i.I,colorIcon:i.F,rgb:`162, 89, 255`},github:{label:`GitHub`,icon:i.R,colorIcon:i.L,rgb:`24, 23, 23`},google:{label:`Google`,icon:i.B,colorIcon:i.z,rgb:`66, 133, 244`},instagram:{label:`Instagram`,icon:i.H,colorIcon:i.V,rgb:`225, 48, 108`},linkedin:{label:`LinkedIn`,icon:i.W,colorIcon:i.U,rgb:`10, 102, 194`},pinterest:{label:`Pinterest`,icon:i.v,colorIcon:i._,rgb:`230, 0, 35`},slack:{label:`Slack`,icon:i.K,colorIcon:i.G,rgb:`74, 21, 75`},spotify:{label:`Spotify`,icon:i.b,colorIcon:i.y,rgb:`30, 215, 96`},tumblr:{label:`Tumblr`,icon:i.S,colorIcon:i.x,rgb:`0, 25, 53`},vimeo:{label:`Vimeo`,icon:i.E,colorIcon:i.T,rgb:`26, 183, 234`},vk:{label:`VK`,icon:i.A,colorIcon:i.k,rgb:`0, 119, 255`},x:{label:`X`,icon:i.J,colorIcon:i.q,rgb:`17, 17, 17`},youtube:{label:`YouTube`,icon:i.X,colorIcon:i.Y,rgb:`255, 0, 0`}};function S(e){let t=e.trim().toLowerCase().replace(/[\s._-]+/g,``);return t===`twitter`?`x`:t===`vkontakte`?`vk`:t}function C(e){return x[S(e)]?.label??e}function w(e,t=!1){let n=x[S(e)];return n?t?n.colorIcon:n.icon:null}function T(e){return e?[e.street,[e.zip,e.city].filter(Boolean).join(` `),e.country].filter(Boolean).join(`, `):null}function E({variant:e=`user`,name:t,title:n,avatar:a,address:s,contact:c,socials:l,online:u,lastActive:p,qrCode:m,qrValue:h,qrStatus:g,qrStatusLabel:_,color:y=`primary`,className:b,...x}){let S=T(s);return(0,v.jsxs)(`div`,{className:o.t(`card-business`,e,`color-${y}`,b),...x,children:[(0,v.jsxs)(`div`,{className:`cb-header`,children:[(0,v.jsx)(`div`,{className:`cb-avatar-wrap`,children:(0,v.jsx)(f.t,{src:a,alt:t,name:t,size:56,shape:e===`company`?`rounded`:`circle`,color:y,badge:u===void 0?void 0:!0,badgeColor:u===void 0?void 0:u?`success`:`error`,badgePulsing:!!u,className:o.t(`cb-avatar`,e)})}),(0,v.jsxs)(`div`,{className:`cb-info`,children:[(0,v.jsx)(`h3`,{className:`cb-name`,children:t}),n&&(0,v.jsx)(`p`,{className:`cb-title`,children:n}),p&&(0,v.jsx)(`p`,{className:`cb-last-active`,children:p})]}),(h||m)&&(0,v.jsx)(`div`,{className:`cb-qr`,children:h?(0,v.jsx)(d.t,{value:h,size:56,padding:3,status:g,statusLabel:_,className:`cb-qr-code`}):(0,v.jsx)(`img`,{src:m,alt:`QR`,className:`cb-qr-img`})})]}),(c||S)&&(0,v.jsxs)(`div`,{className:`cb-details`,children:[c?.email&&(0,v.jsxs)(`div`,{className:`cb-detail`,children:[(0,v.jsx)(`span`,{className:`cb-detail-icon`,children:(0,v.jsx)(r.n,{})}),(0,v.jsx)(`a`,{href:`mailto:${c.email}`,className:`cb-detail-value`,children:c.email})]}),c?.phone&&(0,v.jsxs)(`div`,{className:`cb-detail`,children:[(0,v.jsx)(`span`,{className:`cb-detail-icon`,children:(0,v.jsx)(r.t,{})}),(0,v.jsx)(`a`,{href:`tel:${c.phone}`,className:`cb-detail-value`,children:c.phone})]}),c?.website&&(0,v.jsxs)(`div`,{className:`cb-detail`,children:[(0,v.jsx)(`span`,{className:`cb-detail-icon`,children:(0,v.jsx)(i.it,{})}),(0,v.jsx)(`a`,{href:c.website,target:`_blank`,rel:`noopener noreferrer`,className:`cb-detail-value`,children:c.website.replace(/^https?:\/\//,``)})]}),S&&(0,v.jsxs)(`div`,{className:`cb-detail`,children:[(0,v.jsx)(`span`,{className:`cb-detail-icon`,children:(0,v.jsx)(i.rt,{})}),(0,v.jsx)(`span`,{className:`cb-detail-value`,children:S})]})]}),l&&l.length>0&&(0,v.jsx)(`div`,{className:`cb-socials`,children:l.map(e=>(()=>{let t=w(e.platform,!0);return(0,v.jsx)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,className:`cb-social`,title:C(e.platform),"aria-label":C(e.platform),children:e.icon??(t?(0,v.jsx)(t,{}):(0,v.jsx)(`span`,{className:`cb-social-text`,children:e.platform}))},e.platform)})())})]})}function D({variant:r,title:s,description:c,price:m,currency:h=`PLN`,duration:g,available:y,image:b,gallery:x,galleryAutoPlay:S=!1,rating:C,reviewCount:w,favorite:T,onFavorite:E,menuItems:D,onAddToCart:O,actionLabel:k,icon:A,color:j=`primary`,leader:M,participants:N,maxParticipants:P,quantity:F,onQuantityChange:I,date:L,location:R,status:z,value:B,trend:V,className:H,...U}){let[W,G]=(0,_.useState)(0),[K,q]=(0,_.useState)(!1),[ee,te]=(0,_.useState)(1),J=F??ee,Y=x&&x.length>0?x:b?[b]:[];(0,_.useEffect)(()=>{W>=Y.length&&G(0)},[W,Y.length]),(0,_.useEffect)(()=>{if(!K)return;let e=window.setTimeout(()=>{q(!1)},220);return()=>window.clearTimeout(e)},[W,K]);function ne(e){e===W||e<0||e>=Y.length||(Y.length>1&&q(!0),G(e))}(0,_.useEffect)(()=>{if(!S||Y.length<=1)return;let e=window.setInterval(()=>{q(!0),G(e=>(e+1)%Y.length)},3500);return()=>window.clearInterval(e)},[S,Y.length]);function X(e){let t=Math.max(1,e);I?I(t):te(t)}let Z=y===!0?`Available`:y===!1?`Unavailable`:typeof y==`number`?`${y} spots`:null,Q=L?L instanceof Date?L:new Date(L):null,re=Q?Q.getDate():null,ie=Q?Q.toLocaleString(`en`,{month:`short`}).toUpperCase():null,$=V===void 0?null:V>0?`up`:V<0?`down`:`neutral`;return r===`widget`?(0,v.jsx)(`div`,{className:o.t(`card-service`,`widget`,`color-${j}`,H),...U,children:(0,v.jsxs)(`div`,{className:`cs-widget`,children:[A&&(0,v.jsx)(`span`,{className:`cs-widget-icon`,children:A}),(0,v.jsxs)(`div`,{className:`cs-widget-content`,children:[(0,v.jsx)(`span`,{className:`cs-widget-label`,children:s}),(0,v.jsx)(`span`,{className:`cs-widget-value`,children:B}),V!==void 0&&(0,v.jsxs)(`span`,{className:o.t(`cs-widget-trend`,$),children:[$===`up`&&(0,v.jsx)(e.t,{size:14}),$===`down`&&(0,v.jsx)(t.t,{size:14}),(0,v.jsxs)(`span`,{children:[V>0?`+`:``,V,`%`]})]})]})]})}):(0,v.jsxs)(`div`,{className:o.t(`card-service`,r,`color-${j}`,H),...U,children:[Y.length>0&&(0,v.jsxs)(`div`,{className:`cs-gallery`,children:[(0,v.jsx)(`img`,{src:Y[W],alt:s,className:o.t(`cs-image`,K&&`is-transitioning`)}),Y.length>1&&(0,v.jsx)(`div`,{className:`cs-gallery-dots`,children:Y.map((e,t)=>(0,v.jsx)(`button`,{type:`button`,className:o.t(`cs-dot`,t===W&&`active`),onClick:()=>ne(t),"aria-label":`Image ${t+1}`},t))}),(E||D&&D.length>0)&&(0,v.jsxs)(`div`,{className:`cs-gallery-actions`,children:[D&&D.length>0&&(0,v.jsx)(p.i,{className:`cs-menu-wrap`,trigger:(0,v.jsx)(l.t,{variant:`ghost`,iconOnly:!0,shape:`circle`,"aria-label":`More options`,className:`cs-overlay-btn`,children:(0,v.jsx)(a.t,{})}),placement:`bottom-end`,children:D.map((e,t)=>(0,v.jsx)(p.r,{icon:e.icon,color:e.danger?`error`:void 0,label:e.label,onClick:e.onClick},t))}),E&&(0,v.jsx)(l.t,{variant:`ghost`,iconOnly:!0,shape:`circle`,onClick:E,"aria-label":T?`Remove from favorites`:`Add to favorites`,className:o.t(`cs-overlay-btn`,T&&`cs-fav-active`),children:T?(0,v.jsx)(i.$,{}):(0,v.jsx)(i.et,{})})]})]}),(0,v.jsxs)(`div`,{className:`cs-body`,children:[r===`event`&&Q&&(0,v.jsxs)(`div`,{className:`cs-event-header`,children:[(0,v.jsxs)(`div`,{className:`cs-date-block`,children:[(0,v.jsx)(`span`,{className:`cs-date-day`,children:re}),(0,v.jsx)(`span`,{className:`cs-date-month`,children:ie})]}),(0,v.jsxs)(`div`,{className:`cs-event-info`,children:[(0,v.jsx)(`h3`,{className:`cs-title`,children:s}),c&&(0,v.jsx)(`p`,{className:`cs-desc`,children:c})]})]}),r!==`event`&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(`div`,{className:`cs-top`,children:[A&&(0,v.jsx)(`span`,{className:`cs-icon`,children:A}),(0,v.jsx)(`h3`,{className:`cs-title`,children:s})]}),c&&(0,v.jsx)(`p`,{className:`cs-desc`,children:c})]}),r===`event`&&!Q&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(`div`,{className:`cs-top`,children:[A&&(0,v.jsx)(`span`,{className:`cs-icon`,children:A}),(0,v.jsx)(`h3`,{className:`cs-title`,children:s})]}),c&&(0,v.jsx)(`p`,{className:`cs-desc`,children:c})]}),C!==void 0&&(0,v.jsxs)(`div`,{className:`cs-rating`,children:[(0,v.jsx)(d.n,{value:Math.round(C),size:`sm`,color:`warning`,readOnly:!0,className:`cs-stars`}),(0,v.jsx)(`span`,{className:`cs-rating-value`,children:C.toFixed(1)}),w!==void 0&&(0,v.jsxs)(`span`,{className:`cs-review-count`,children:[`(`,w,`)`]})]}),M&&(0,v.jsxs)(`div`,{className:`cs-leader`,children:[(0,v.jsx)(f.t,{src:M.avatar,name:M.name,size:28,color:j}),(0,v.jsx)(`span`,{className:`cs-leader-name`,children:M.name})]}),r===`course`&&N&&(0,v.jsxs)(`div`,{className:`cs-participants`,children:[(0,v.jsx)(`div`,{className:`cs-participants-avatars`,children:N.slice(0,4).map((e,t)=>(0,v.jsx)(f.t,{src:e.avatar,name:e.name,size:28,color:j,className:`cs-participant-avatar`},`${e.name}-${t}`))}),P&&(0,v.jsxs)(`span`,{className:`cs-spots`,children:[N.length,`/`,P]})]}),(0,v.jsxs)(`div`,{className:`cs-meta`,children:[r===`event`&&R&&(0,v.jsx)(u.t,{size:`xs`,color:j,children:R}),g&&(0,v.jsx)(u.t,{size:`xs`,color:j,icon:(0,v.jsx)(n.t,{}),children:g}),r===`event`&&z&&(0,v.jsx)(u.t,{size:`xs`,color:z.toLowerCase()===`sold out`?`error`:j,children:z}),Z&&r!==`event`&&(0,v.jsx)(u.t,{size:`xs`,color:y===!1?`error`:j,children:Z})]})]}),(0,v.jsxs)(`div`,{className:`cs-footer`,children:[m!==void 0&&(0,v.jsxs)(`span`,{className:`cs-price`,children:[typeof m==`number`?m.toFixed(2):m,` `,(0,v.jsx)(`span`,{className:`cs-currency`,children:h})]}),(0,v.jsxs)(`div`,{className:`cs-actions`,children:[r===`product`&&O&&(0,v.jsxs)(`div`,{className:`cs-qty`,children:[(0,v.jsx)(l.t,{variant:`ghost`,iconOnly:!0,size:`sm`,onClick:()=>X(J-1),"aria-label":`Decrease`,className:`cs-qty-btn`,children:(0,v.jsx)(i.tt,{})}),(0,v.jsx)(`span`,{className:`cs-qty-value`,children:J}),(0,v.jsx)(l.t,{variant:`ghost`,iconOnly:!0,size:`sm`,onClick:()=>X(J+1),"aria-label":`Increase`,className:`cs-qty-btn`,children:(0,v.jsx)(i.nt,{})})]}),O&&(0,v.jsx)(l.t,{variant:`filled`,size:`sm`,color:j,onClick:()=>O(J),disabled:y===!1,className:`cs-cart-btn`,children:k??(r===`event`?`Register`:`Add to cart`)})]})]})]})}function O(e){let{onAction:t,actionLabel:n=`Book now`,...r}=e;return(0,v.jsx)(D,{variant:`service`,onAddToCart:t?()=>t():void 0,actionLabel:n,...r})}function k(e){let{onAction:t,actionLabel:n=`Join course`,...r}=e;return(0,v.jsx)(D,{variant:`course`,onAddToCart:t?()=>t():void 0,actionLabel:n,...r})}function A(e){let{addToCartLabel:t=`Add to cart`,...n}=e;return(0,v.jsx)(D,{variant:`product`,actionLabel:t,...n})}function j(e){let{onRegister:t,registerLabel:n=`Register`,...r}=e;return(0,v.jsx)(D,{variant:`event`,onAddToCart:t?()=>t():void 0,actionLabel:n,...r})}function M(e,t){return t||(typeof e!=`number`||e===0?`neutral`:e>0?`up`:`down`)}function N(e){return typeof e==`number`&&e>0?`+${e}`:e}function P({title:n,value:r,trend:i,trendType:a,icon:s,color:c=`primary`,helperText:l,className:u,...d}){let f=i!=null,p=M(i,a),m=N(i);return(0,v.jsxs)(`div`,{className:o.t(`card-widget`,`color-${c}`,u),...d,children:[(0,v.jsxs)(`div`,{className:`cw-top`,children:[(0,v.jsxs)(`div`,{className:`cw-meta`,children:[(0,v.jsx)(`span`,{className:`cw-title`,children:n}),(0,v.jsx)(`span`,{className:`cw-value`,children:r})]}),s&&(0,v.jsx)(`span`,{className:`cw-icon`,children:s})]}),f&&(0,v.jsx)(`div`,{className:`cw-bottom`,children:(0,v.jsxs)(`span`,{className:o.t(`cw-trend`,p),children:[p===`up`&&(0,v.jsx)(e.t,{size:14}),p===`down`&&(0,v.jsx)(t.t,{size:14}),(0,v.jsx)(`span`,{children:m})]})}),l&&(0,v.jsx)(`div`,{className:`cw-helper`,children:l})]})}function F(e,t){let n=t.split(`.`),r=e;for(let e of n){if(typeof r!=`object`||!r)return;r=r[e]}return r}function I({items:n,renderCard:r,searchable:a=!1,searchKeys:s,searchPlaceholder:u=`Search...`,filterable:d=!1,filterKeys:f=[],sortable:p=!1,sortKeys:h=[],defaultSort:y,columns:b=3,emptyMessage:x=`No results found.`,className:S,style:C,...w}){let[T,E]=(0,_.useState)(``),[D,O]=(0,_.useState)({}),[k,A]=(0,_.useState)(y?.key??null),[j,M]=(0,_.useState)(y?.direction??`asc`),[N,P]=(0,_.useState)(!1),[I,L]=(0,_.useState)(!1),R=(0,_.useRef)(null),z=(0,_.useRef)(null),B=(0,_.useCallback)(()=>{P(e=>!e),L(!1)},[]),V=(0,_.useCallback)(()=>{L(e=>!e),P(!1)},[]),H=(0,_.useMemo)(()=>{let e=[...n];if(T&&s&&s.length>0){let t=T.toLowerCase();e=e.filter(e=>s.some(n=>{let r=F(e,n);return r!=null&&String(r).toLowerCase().includes(t)}))}for(let[t,n]of Object.entries(D))n.size!==0&&(e=e.filter(e=>{let r=F(e,t);return r!=null&&n.has(String(r))}));return k&&e.sort((e,t)=>{let n=F(e,k),r=F(t,k);if(n==null&&r==null)return 0;if(n==null)return 1;if(r==null)return-1;let i=String(n).localeCompare(String(r),void 0,{numeric:!0});return j===`asc`?i:-i}),e},[n,T,s,D,k,j]);function U(e,t){O(n=>{let r=new Set(n[e]??[]);return r.has(t)?r.delete(t):r.add(t),{...n,[e]:r}})}let W=(0,_.useMemo)(()=>{let e={};for(let t of f){if(t.options){e[t.key]=t.options;continue}let r=new Set;for(let e of n){let n=F(e,t.key);n!=null&&r.add(String(n))}e[t.key]=Array.from(r).sort()}return e},[n,f]),G=h.find(e=>e.key===k);return(0,v.jsxs)(`div`,{className:o.t(`card-grid`,S),style:C,...w,children:[(a||d||p)&&(0,v.jsxs)(`div`,{className:`card-grid-toolbar`,children:[a&&(0,v.jsx)(m.t,{className:`card-grid-search`,size:`sm`,fullWidth:!0,placeholder:u,value:T,onChange:e=>E(e.target.value),onClear:()=>E(``)}),(0,v.jsxs)(`div`,{className:`card-grid-actions`,children:[d&&f.length>0&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(l.t,{ref:R,variant:`outlined`,size:`sm`,startIcon:(0,v.jsx)(i.Q,{}),"aria-expanded":N,onClick:B,children:`Filter`}),(0,v.jsx)(c.t,{open:N,anchorRef:R,onClose:()=>P(!1),placement:`bottom-end`,className:`card-grid-dropdown`,children:f.map(e=>(0,v.jsxs)(`div`,{className:`card-grid-filter-group`,children:[(0,v.jsx)(`span`,{className:`card-grid-filter-label`,children:e.label}),(W[e.key]??[]).map(t=>(0,v.jsx)(`div`,{className:`card-grid-filter-option`,children:(0,v.jsx)(g.t,{size:`sm`,clickEffect:`none`,checked:D[e.key]?.has(t)??!1,onChange:()=>U(e.key,t),label:t})},t))]},e.key))})]}),p&&h.length>0&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(l.t,{ref:z,variant:`outlined`,size:`sm`,startIcon:k?j===`asc`?(0,v.jsx)(e.t,{}):(0,v.jsx)(t.t,{}):(0,v.jsx)(i.Z,{}),"aria-expanded":I,onClick:V,children:G?`Sort: ${G.label}`:`Sort`}),(0,v.jsx)(c.t,{open:I,anchorRef:z,onClose:()=>L(!1),placement:`bottom-end`,className:`card-grid-dropdown`,children:h.map(n=>(0,v.jsxs)(`button`,{type:`button`,className:o.t(`card-grid-sort-item`,k===n.key&&`active`),onClick:()=>{k===n.key?M(j===`asc`?`desc`:`asc`):(A(n.key),M(`asc`)),L(!1)},children:[n.label,k===n.key&&(0,v.jsx)(`span`,{className:`card-grid-sort-dir`,children:j===`asc`?(0,v.jsx)(e.t,{className:`card-grid-sort-icon`}):(0,v.jsx)(t.t,{className:`card-grid-sort-icon`})})]},n.key))})]})]})]}),H.length>0?(0,v.jsx)(`div`,{className:`card-grid-items`,style:{gridTemplateColumns:`repeat(${b}, 1fr)`},children:H.map((e,t)=>r(e,t))}):(0,v.jsx)(`div`,{className:`card-grid-empty`,children:x})]})}function L(e,t){return t||(e===void 0||e===0?`neutral`:e>0?`up`:`down`)}function R({label:n,value:r,change:i,changeType:a,changeLabel:s,icon:c,sparkline:l,sparklineType:u=`area`,color:d=`primary`,currency:f,className:p,...m}){let g=L(i,a),_=g===`up`?`success`:g===`down`?`error`:`neutral`;return(0,v.jsxs)(`div`,{className:o.t(`card-finance`,`color-${d}`,p),...m,children:[(0,v.jsxs)(`div`,{className:`cf-top`,children:[(0,v.jsxs)(`div`,{className:`cf-meta`,children:[(0,v.jsx)(`span`,{className:`cf-label`,children:n}),f&&(0,v.jsx)(`span`,{className:`cf-currency`,children:f})]}),c&&(0,v.jsx)(`span`,{className:`cf-icon`,children:c})]}),(0,v.jsx)(`div`,{className:`cf-value`,children:r}),(0,v.jsx)(`div`,{className:`cf-bottom`,children:i!==void 0&&(0,v.jsxs)(`span`,{className:o.t(`cf-change`,_),children:[g===`up`&&(0,v.jsx)(e.t,{size:14}),g===`down`&&(0,v.jsx)(t.t,{size:14}),(0,v.jsxs)(`span`,{className:`cf-change-value`,children:[i>0?`+`:``,i,`%`]}),s&&(0,v.jsx)(`span`,{className:`cf-change-label`,children:s})]})}),(0,v.jsx)(`div`,{className:`cf-sparkline`,children:(0,v.jsx)(h.t,{data:l,type:u,color:_===`neutral`?d:_,height:46,padding:0,curved:!0,animated:!0,fillOpacity:.18})})]})}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return R}});
2
+ //# sourceMappingURL=cards-yPK4lBAA.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cards-yPK4lBAA.cjs","names":[],"sources":["../src/components/cards/MCardPayment/MCardPayment.tsx","../src/utils/socialPlatforms.tsx","../src/components/cards/MCardBusiness/MCardBusiness.tsx","../src/components/cards/ServiceCardsShared/ServiceCardsShared.tsx","../src/components/cards/MCardOffer/MCardOffer.tsx","../src/components/cards/MCardCourse/MCardCourse.tsx","../src/components/cards/MCardProduct/MCardProduct.tsx","../src/components/cards/MCardEvent/MCardEvent.tsx","../src/components/cards/MCardWidget/MCardWidget.tsx","../src/components/cards/MCardGrid/MCardGrid.tsx","../src/components/cards/MCardFinance/MCardFinance.tsx"],"sourcesContent":["import type {MCardPaymentProps} from './MCardPayment.types'\nimport {cn} from '../../../utils/cn'\nimport {creditCardBrands, detectCardBrand} from '../../../utils/creditCards'\nimport './MCardPayment.css'\n\nfunction maskNumber(raw: string): string {\n const digits = raw.replace(/\\D/g, '')\n if (digits.length <= 4) return digits\n const last4 = digits.slice(-4)\n return `\\u2022\\u2022\\u2022\\u2022 \\u2022\\u2022\\u2022\\u2022 \\u2022\\u2022\\u2022\\u2022 ${last4}`\n}\n\n// Display-only payment card with balance, masked number, holder name and brand badge.\nexport function MCardPayment({\n holder,\n number,\n expiry,\n brand,\n brandIcon,\n balance,\n balanceLabel = 'Current balance',\n color,\n className,\n ...rest\n}: MCardPaymentProps) {\n const detectedDetails = detectCardBrand(number)\n const detected = brand ?? detectedDetails.brand\n const brandDetails = creditCardBrands.find((rule) => rule.brand === detected) ?? detectedDetails\n const masked = maskNumber(number)\n const brandLabel = brandDetails.iconLabel\n\n return (\n <div className={cn('card-payment', color || 'primary', className)} {...rest}>\n {balance !== undefined && (\n <div>\n <p className=\"cp-balance-label\">{balanceLabel}</p>\n <p className=\"cp-balance\">{balance}</p>\n </div>\n )}\n\n <div className=\"cp-row\">\n <span className={cn('cp-brand', !brandIcon && detected)}>{brandIcon ?? brandLabel}</span>\n <span className=\"cp-number\">{masked}</span>\n </div>\n\n <div className=\"cp-details\">\n <div>\n <p className=\"cp-field-label\">MCard holder</p>\n <p className=\"cp-field-value\">{holder}</p>\n </div>\n <div>\n <p className=\"cp-field-label\">Expiration date</p>\n <p className=\"cp-field-value\">{expiry}</p>\n </div>\n </div>\n </div>\n )\n}\n","import type {ComponentType} from 'react'\nimport type {MIconProps} from '../icons'\nimport {\n MAppleColorIcon,\n MAppleIcon,\n MDiscordColorIcon,\n MDiscordIcon,\n MFacebookColorIcon,\n MFacebookIcon,\n MFigmaColorIcon,\n MFigmaIcon,\n MGitHubColorIcon,\n MGitHubIcon,\n MGoogleColorIcon,\n MGoogleIcon,\n MInstagramColorIcon,\n MInstagramIcon,\n MLinkedInColorIcon,\n MLinkedInIcon,\n MPinterestColorIcon,\n MPinterestIcon,\n MSlackColorIcon,\n MSlackIcon,\n MSpotifyColorIcon,\n MSpotifyIcon,\n MTumblrColorIcon,\n MTumblrIcon,\n MVimeoColorIcon,\n MVimeoIcon,\n MVkColorIcon,\n MVkIcon,\n MXColorIcon,\n MXIcon,\n MYouTubeColorIcon,\n MYouTubeIcon,\n} from '../icons'\n\nexport type MSocialPlatform =\n | 'apple'\n | 'discord'\n | 'facebook'\n | 'figma'\n | 'github'\n | 'google'\n | 'instagram'\n | 'linkedin'\n | 'pinterest'\n | 'slack'\n | 'spotify'\n | 'tumblr'\n | 'vimeo'\n | 'vk'\n | 'twitter'\n | 'x'\n | 'youtube'\n | (string & {})\n\ntype SocialEntry = {\n label: string\n icon: ComponentType<MIconProps>\n colorIcon: ComponentType<MIconProps>\n rgb: string\n}\n\nconst socialMap: Record<string, SocialEntry> = {\n apple: {label: 'Apple', icon: MAppleIcon, colorIcon: MAppleColorIcon, rgb: '24, 24, 27'},\n discord: {label: 'Discord', icon: MDiscordIcon, colorIcon: MDiscordColorIcon, rgb: '88, 101, 242'},\n facebook: {label: 'Facebook', icon: MFacebookIcon, colorIcon: MFacebookColorIcon, rgb: '24, 119, 242'},\n figma: {label: 'Figma', icon: MFigmaIcon, colorIcon: MFigmaColorIcon, rgb: '162, 89, 255'},\n github: {label: 'GitHub', icon: MGitHubIcon, colorIcon: MGitHubColorIcon, rgb: '24, 23, 23'},\n google: {label: 'Google', icon: MGoogleIcon, colorIcon: MGoogleColorIcon, rgb: '66, 133, 244'},\n instagram: {label: 'Instagram', icon: MInstagramIcon, colorIcon: MInstagramColorIcon, rgb: '225, 48, 108'},\n linkedin: {label: 'LinkedIn', icon: MLinkedInIcon, colorIcon: MLinkedInColorIcon, rgb: '10, 102, 194'},\n pinterest: {label: 'Pinterest', icon: MPinterestIcon, colorIcon: MPinterestColorIcon, rgb: '230, 0, 35'},\n slack: {label: 'Slack', icon: MSlackIcon, colorIcon: MSlackColorIcon, rgb: '74, 21, 75'},\n spotify: {label: 'Spotify', icon: MSpotifyIcon, colorIcon: MSpotifyColorIcon, rgb: '30, 215, 96'},\n tumblr: {label: 'Tumblr', icon: MTumblrIcon, colorIcon: MTumblrColorIcon, rgb: '0, 25, 53'},\n vimeo: {label: 'Vimeo', icon: MVimeoIcon, colorIcon: MVimeoColorIcon, rgb: '26, 183, 234'},\n vk: {label: 'VK', icon: MVkIcon, colorIcon: MVkColorIcon, rgb: '0, 119, 255'},\n x: {label: 'X', icon: MXIcon, colorIcon: MXColorIcon, rgb: '17, 17, 17'},\n youtube: {label: 'YouTube', icon: MYouTubeIcon, colorIcon: MYouTubeColorIcon, rgb: '255, 0, 0'},\n}\n\nexport function normalizeSocialPlatform(platform: string) {\n const normalized = platform\n .trim()\n .toLowerCase()\n .replace(/[\\s._-]+/g, '')\n\n if (normalized === 'twitter') {\n return 'x'\n }\n\n if (normalized === 'vkontakte') {\n return 'vk'\n }\n\n return normalized\n}\n\nexport function getSocialLabel(platform: MSocialPlatform) {\n const normalized = normalizeSocialPlatform(platform)\n return socialMap[normalized]?.label ?? platform\n}\n\nexport function getSocialIconComponent(platform: MSocialPlatform, brand = false) {\n const normalized = normalizeSocialPlatform(platform)\n const entry = socialMap[normalized]\n\n if (!entry) {\n return null\n }\n\n return brand ? entry.colorIcon : entry.icon\n}\n\nexport function getSocialBrandRgb(platform: MSocialPlatform) {\n const normalized = normalizeSocialPlatform(platform)\n return socialMap[normalized]?.rgb ?? '37, 99, 235'\n}\n","import type {MCardBusinessProps} from './MCardBusiness.types'\nimport {cn} from '../../../utils/cn'\nimport {MQrCode} from '../../display'\nimport {MAvatar} from '../../media'\nimport {MGlobeIcon, MMailIcon, MPhoneIcon, MPinIcon} from '../../../icons'\nimport {getSocialIconComponent, getSocialLabel} from '../../../utils/socialPlatforms'\nimport './MCardBusiness.css'\n\n// Join available address fields into one readable line.\nfunction formatAddress(address: MCardBusinessProps['address']): string | null {\n if (!address) return null\n\n return [address.street, [address.zip, address.city].filter(Boolean).join(' '), address.country]\n .filter(Boolean)\n .join(', ')\n}\n\n// Render a compact business card for a person or a company profile.\nexport function MCardBusiness({\n variant = 'user',\n name,\n title,\n avatar,\n address,\n contact,\n socials,\n online,\n lastActive,\n qrCode,\n qrValue,\n qrStatus,\n qrStatusLabel,\n color = 'primary',\n className,\n ...rest\n}: MCardBusinessProps) {\n const addr = formatAddress(address)\n\n return (\n <div className={cn('card-business', variant, `color-${color}`, className)} {...rest}>\n <div className=\"cb-header\">\n <div className=\"cb-avatar-wrap\">\n <MAvatar\n src={avatar}\n alt={name}\n name={name}\n size={56}\n shape={variant === 'company' ? 'rounded' : 'circle'}\n color={color}\n badge={online !== undefined ? true : undefined}\n badgeColor={online === undefined ? undefined : online ? 'success' : 'error'}\n badgePulsing={Boolean(online)}\n className={cn('cb-avatar', variant)}\n />\n </div>\n\n <div className=\"cb-info\">\n <h3 className=\"cb-name\">{name}</h3>\n {title && <p className=\"cb-title\">{title}</p>}\n {lastActive && <p className=\"cb-last-active\">{lastActive}</p>}\n </div>\n\n {(qrValue || qrCode) && (\n <div className=\"cb-qr\">\n {qrValue ? (\n <MQrCode\n value={qrValue}\n size={56}\n padding={3}\n status={qrStatus}\n statusLabel={qrStatusLabel}\n className=\"cb-qr-code\"\n />\n ) : (\n <img src={qrCode} alt=\"QR\" className=\"cb-qr-img\" />\n )}\n </div>\n )}\n </div>\n\n {(contact || addr) && (\n <div className=\"cb-details\">\n {contact?.email && (\n <div className=\"cb-detail\">\n <span className=\"cb-detail-icon\">\n <MMailIcon />\n </span>\n <a href={`mailto:${contact.email}`} className=\"cb-detail-value\">\n {contact.email}\n </a>\n </div>\n )}\n {contact?.phone && (\n <div className=\"cb-detail\">\n <span className=\"cb-detail-icon\">\n <MPhoneIcon />\n </span>\n <a href={`tel:${contact.phone}`} className=\"cb-detail-value\">\n {contact.phone}\n </a>\n </div>\n )}\n {contact?.website && (\n <div className=\"cb-detail\">\n <span className=\"cb-detail-icon\">\n <MGlobeIcon />\n </span>\n <a\n href={contact.website}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"cb-detail-value\"\n >\n {contact.website.replace(/^https?:\\/\\//, '')}\n </a>\n </div>\n )}\n {addr && (\n <div className=\"cb-detail\">\n <span className=\"cb-detail-icon\">\n <MPinIcon />\n </span>\n <span className=\"cb-detail-value\">{addr}</span>\n </div>\n )}\n </div>\n )}\n\n {socials && socials.length > 0 && (\n <div className=\"cb-socials\">\n {socials.map((item) =>\n (() => {\n const Icon = getSocialIconComponent(item.platform, true)\n\n return (\n <a\n key={item.platform}\n href={item.url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"cb-social\"\n title={getSocialLabel(item.platform)}\n aria-label={getSocialLabel(item.platform)}\n >\n {item.icon ??\n (Icon ? <Icon /> : <span className=\"cb-social-text\">{item.platform}</span>)}\n </a>\n )\n })()\n )}\n </div>\n )}\n </div>\n )\n}\n","import {useEffect, useState} from 'react'\nimport type {SharedServiceCardProps} from './ServiceCardsShared.types'\nimport {cn} from '../../../utils/cn'\nimport {\n MArrowDownIcon,\n MArrowUpIcon,\n MClockIcon,\n MEllipsisVerticalIcon,\n MHeartFillIcon,\n MHeartIcon,\n MMinusIcon,\n MPlusIcon,\n} from '../../../icons'\nimport {MButton} from '../../controls'\nimport {MBadge} from '../../feedback'\nimport {MAvatar} from '../../media'\nimport {MRating} from '../../display'\nimport {MDropdownItem, MDropdownMenu} from '../../overlays'\nimport './ServiceCardsShared.css'\n\nexport function SharedServiceCard({\n variant,\n title,\n description,\n price,\n currency = 'PLN',\n duration,\n available,\n image,\n gallery,\n galleryAutoPlay = false,\n rating,\n reviewCount,\n favorite,\n onFavorite,\n menuItems,\n onAddToCart,\n actionLabel,\n icon,\n color = 'primary',\n leader,\n participants,\n maxParticipants,\n quantity: controlledQty,\n onQuantityChange,\n date,\n location,\n status,\n value,\n trend,\n className,\n ...rest\n}: SharedServiceCardProps) {\n const [galleryIdx, setGalleryIdx] = useState(0)\n const [isGalleryTransitioning, setIsGalleryTransitioning] = useState(false)\n const [internalQty, setInternalQty] = useState(1)\n\n const qty = controlledQty ?? internalQty\n const images = gallery && gallery.length > 0 ? gallery : image ? [image] : []\n\n useEffect(() => {\n if (galleryIdx >= images.length) {\n setGalleryIdx(0)\n }\n }, [galleryIdx, images.length])\n\n useEffect(() => {\n if (!isGalleryTransitioning) {\n return\n }\n\n const transitionId = window.setTimeout(() => {\n setIsGalleryTransitioning(false)\n }, 220)\n\n return () => window.clearTimeout(transitionId)\n }, [galleryIdx, isGalleryTransitioning])\n\n function changeGallery(nextIdx: number) {\n if (nextIdx === galleryIdx || nextIdx < 0 || nextIdx >= images.length) {\n return\n }\n\n if (images.length > 1) {\n setIsGalleryTransitioning(true)\n }\n\n setGalleryIdx(nextIdx)\n }\n\n useEffect(() => {\n if (!galleryAutoPlay || images.length <= 1) {\n return\n }\n\n const intervalId = window.setInterval(() => {\n setIsGalleryTransitioning(true)\n setGalleryIdx((current) => (current + 1) % images.length)\n }, 3500)\n\n return () => window.clearInterval(intervalId)\n }, [galleryAutoPlay, images.length])\n\n function changeQty(next: number) {\n const val = Math.max(1, next)\n if (onQuantityChange) onQuantityChange(val)\n else setInternalQty(val)\n }\n\n const availLabel =\n available === true\n ? 'Available'\n : available === false\n ? 'Unavailable'\n : typeof available === 'number'\n ? `${available} spots`\n : null\n\n const parsedDate = date ? (date instanceof Date ? date : new Date(date)) : null\n const dateDay = parsedDate ? parsedDate.getDate() : null\n const dateMonth = parsedDate ? parsedDate.toLocaleString('en', {month: 'short'}).toUpperCase() : null\n\n const trendType = trend !== undefined ? (trend > 0 ? 'up' : trend < 0 ? 'down' : 'neutral') : null\n\n if (variant === 'widget') {\n return (\n <div className={cn('card-service', 'widget', `color-${color}`, className)} {...rest}>\n <div className=\"cs-widget\">\n {icon && <span className=\"cs-widget-icon\">{icon}</span>}\n <div className=\"cs-widget-content\">\n <span className=\"cs-widget-label\">{title}</span>\n <span className=\"cs-widget-value\">{value}</span>\n {trend !== undefined && (\n <span className={cn('cs-widget-trend', trendType)}>\n {trendType === 'up' && <MArrowUpIcon size={14} />}\n {trendType === 'down' && <MArrowDownIcon size={14} />}\n <span>\n {trend > 0 ? '+' : ''}\n {trend}%\n </span>\n </span>\n )}\n </div>\n </div>\n </div>\n )\n }\n\n return (\n <div className={cn('card-service', variant, `color-${color}`, className)} {...rest}>\n {images.length > 0 && (\n <div className=\"cs-gallery\">\n <img\n src={images[galleryIdx]}\n alt={title}\n className={cn('cs-image', isGalleryTransitioning && 'is-transitioning')}\n />\n {images.length > 1 && (\n <div className=\"cs-gallery-dots\">\n {images.map((_, i) => (\n <button\n key={i}\n type=\"button\"\n className={cn('cs-dot', i === galleryIdx && 'active')}\n onClick={() => changeGallery(i)}\n aria-label={`Image ${i + 1}`}\n />\n ))}\n </div>\n )}\n\n {(onFavorite || (menuItems && menuItems.length > 0)) && (\n <div className=\"cs-gallery-actions\">\n {menuItems && menuItems.length > 0 && (\n <MDropdownMenu\n className=\"cs-menu-wrap\"\n trigger={\n <MButton\n variant=\"ghost\"\n iconOnly\n shape=\"circle\"\n aria-label=\"More options\"\n className=\"cs-overlay-btn\"\n >\n <MEllipsisVerticalIcon />\n </MButton>\n }\n placement=\"bottom-end\"\n >\n {menuItems.map((item, i) => (\n <MDropdownItem\n key={i}\n icon={item.icon}\n color={item.danger ? 'error' : undefined}\n label={item.label}\n onClick={item.onClick}\n />\n ))}\n </MDropdownMenu>\n )}\n {onFavorite && (\n <MButton\n variant=\"ghost\"\n iconOnly\n shape=\"circle\"\n onClick={onFavorite}\n aria-label={favorite ? 'Remove from favorites' : 'Add to favorites'}\n className={cn('cs-overlay-btn', favorite && 'cs-fav-active')}\n >\n {favorite ? <MHeartFillIcon /> : <MHeartIcon />}\n </MButton>\n )}\n </div>\n )}\n </div>\n )}\n\n <div className=\"cs-body\">\n {variant === 'event' && parsedDate && (\n <div className=\"cs-event-header\">\n <div className=\"cs-date-block\">\n <span className=\"cs-date-day\">{dateDay}</span>\n <span className=\"cs-date-month\">{dateMonth}</span>\n </div>\n <div className=\"cs-event-info\">\n <h3 className=\"cs-title\">{title}</h3>\n {description && <p className=\"cs-desc\">{description}</p>}\n </div>\n </div>\n )}\n\n {variant !== 'event' && (\n <>\n <div className=\"cs-top\">\n {icon && <span className=\"cs-icon\">{icon}</span>}\n <h3 className=\"cs-title\">{title}</h3>\n </div>\n {description && <p className=\"cs-desc\">{description}</p>}\n </>\n )}\n\n {variant === 'event' && !parsedDate && (\n <>\n <div className=\"cs-top\">\n {icon && <span className=\"cs-icon\">{icon}</span>}\n <h3 className=\"cs-title\">{title}</h3>\n </div>\n {description && <p className=\"cs-desc\">{description}</p>}\n </>\n )}\n\n {rating !== undefined && (\n <div className=\"cs-rating\">\n <MRating value={Math.round(rating)} size=\"sm\" color=\"warning\" readOnly className=\"cs-stars\" />\n <span className=\"cs-rating-value\">{rating.toFixed(1)}</span>\n {reviewCount !== undefined && <span className=\"cs-review-count\">({reviewCount})</span>}\n </div>\n )}\n\n {leader && (\n <div className=\"cs-leader\">\n <MAvatar src={leader.avatar} name={leader.name} size={28} color={color} />\n <span className=\"cs-leader-name\">{leader.name}</span>\n </div>\n )}\n\n {variant === 'course' && participants && (\n <div className=\"cs-participants\">\n <div className=\"cs-participants-avatars\">\n {participants.slice(0, 4).map((participant, index) => (\n <MAvatar\n key={`${participant.name}-${index}`}\n src={participant.avatar}\n name={participant.name}\n size={28}\n color={color}\n className=\"cs-participant-avatar\"\n />\n ))}\n </div>\n {maxParticipants && (\n <span className=\"cs-spots\">\n {participants.length}/{maxParticipants}\n </span>\n )}\n </div>\n )}\n\n <div className=\"cs-meta\">\n {variant === 'event' && location && (\n <MBadge size=\"xs\" color={color}>\n {location}\n </MBadge>\n )}\n {duration && (\n <MBadge size=\"xs\" color={color} icon={<MClockIcon />}>\n {duration}\n </MBadge>\n )}\n {variant === 'event' && status && (\n <MBadge size=\"xs\" color={status.toLowerCase() === 'sold out' ? 'error' : color}>\n {status}\n </MBadge>\n )}\n {availLabel && variant !== 'event' && (\n <MBadge size=\"xs\" color={available === false ? 'error' : color}>\n {availLabel}\n </MBadge>\n )}\n </div>\n </div>\n\n <div className=\"cs-footer\">\n {price !== undefined && (\n <span className=\"cs-price\">\n {typeof price === 'number' ? price.toFixed(2) : price}{' '}\n <span className=\"cs-currency\">{currency}</span>\n </span>\n )}\n\n <div className=\"cs-actions\">\n {variant === 'product' && onAddToCart && (\n <div className=\"cs-qty\">\n <MButton\n variant=\"ghost\"\n iconOnly\n size=\"sm\"\n onClick={() => changeQty(qty - 1)}\n aria-label=\"Decrease\"\n className=\"cs-qty-btn\"\n >\n <MMinusIcon />\n </MButton>\n <span className=\"cs-qty-value\">{qty}</span>\n <MButton\n variant=\"ghost\"\n iconOnly\n size=\"sm\"\n onClick={() => changeQty(qty + 1)}\n aria-label=\"Increase\"\n className=\"cs-qty-btn\"\n >\n <MPlusIcon />\n </MButton>\n </div>\n )}\n {onAddToCart && (\n <MButton\n variant=\"filled\"\n size=\"sm\"\n color={color}\n onClick={() => onAddToCart(qty)}\n disabled={available === false}\n className=\"cs-cart-btn\"\n >\n {actionLabel ?? (variant === 'event' ? 'Register' : 'Add to cart')}\n </MButton>\n )}\n </div>\n </div>\n </div>\n )\n}\n","import type {MCardOfferProps} from './MCardOffer.types'\nimport {SharedServiceCard} from '../ServiceCardsShared/ServiceCardsShared'\n\nexport function MCardOffer(props: MCardOfferProps) {\n const {onAction, actionLabel = 'Book now', ...rest} = props\n\n return (\n <SharedServiceCard\n variant=\"service\"\n onAddToCart={onAction ? () => onAction() : undefined}\n actionLabel={actionLabel}\n {...rest}\n />\n )\n}\n","import type {MCardCourseProps} from './MCardCourse.types'\nimport {SharedServiceCard} from '../ServiceCardsShared/ServiceCardsShared'\n\nexport function MCardCourse(props: MCardCourseProps) {\n const {onAction, actionLabel = 'Join course', ...rest} = props\n\n return (\n <SharedServiceCard\n variant=\"course\"\n onAddToCart={onAction ? () => onAction() : undefined}\n actionLabel={actionLabel}\n {...rest}\n />\n )\n}\n","import type {MCardProductProps} from './MCardProduct.types'\nimport {SharedServiceCard} from '../ServiceCardsShared/ServiceCardsShared'\n\nexport function MCardProduct(props: MCardProductProps) {\n const {addToCartLabel = 'Add to cart', ...rest} = props\n\n return <SharedServiceCard variant=\"product\" actionLabel={addToCartLabel} {...rest} />\n}\n","import type {MCardEventProps} from './MCardEvent.types'\nimport {SharedServiceCard} from '../ServiceCardsShared/ServiceCardsShared'\n\nexport function MCardEvent(props: MCardEventProps) {\n const {onRegister, registerLabel = 'Register', ...rest} = props\n\n return (\n <SharedServiceCard\n variant=\"event\"\n onAddToCart={onRegister ? () => onRegister() : undefined}\n actionLabel={registerLabel}\n {...rest}\n />\n )\n}\n","import type {MCardWidgetProps} from './MCardWidget.types'\nimport {cn} from '../../../utils/cn'\nimport {MArrowDownIcon, MArrowUpIcon} from '../../../icons'\nimport './MCardWidget.css'\n\nfunction resolveTrendType(trend: MCardWidgetProps['trend'], explicit?: MCardWidgetProps['trendType']) {\n if (explicit) return explicit\n if (typeof trend !== 'number' || trend === 0) return 'neutral'\n return trend > 0 ? 'up' : 'down'\n}\n\nfunction formatTrend(trend: MCardWidgetProps['trend']) {\n if (typeof trend === 'number' && trend > 0) {\n return `+${trend}`\n }\n\n return trend\n}\n\nexport function MCardWidget({\n title,\n value,\n trend,\n trendType,\n icon,\n color = 'primary',\n helperText,\n className,\n ...rest\n}: MCardWidgetProps) {\n const hasTrend = trend !== undefined && trend !== null\n const resolvedTrendType = resolveTrendType(trend, trendType)\n const formattedTrend = formatTrend(trend)\n\n return (\n <div className={cn('card-widget', `color-${color}`, className)} {...rest}>\n <div className=\"cw-top\">\n <div className=\"cw-meta\">\n <span className=\"cw-title\">{title}</span>\n <span className=\"cw-value\">{value}</span>\n </div>\n {icon && <span className=\"cw-icon\">{icon}</span>}\n </div>\n\n {hasTrend && (\n <div className=\"cw-bottom\">\n <span className={cn('cw-trend', resolvedTrendType)}>\n {resolvedTrendType === 'up' && <MArrowUpIcon size={14} />}\n {resolvedTrendType === 'down' && <MArrowDownIcon size={14} />}\n <span>{formattedTrend}</span>\n </span>\n </div>\n )}\n\n {helperText && <div className=\"cw-helper\">{helperText}</div>}\n </div>\n )\n}\n","import {useState, useMemo, useRef, useCallback} from 'react'\nimport type {MCardGridProps} from './MCardGrid.types'\nimport {cn} from '../../../utils/cn'\nimport {MButton, MCheckbox} from '../../controls'\nimport {MInputSearch} from '../../inputs'\nimport {MPopover} from '../../primitives'\nimport {MArrowDownIcon, MArrowUpIcon, MFilterIcon, MSortIcon} from '../../../icons'\nimport './MCardGrid.css'\n\nfunction getNestedValue(obj: unknown, key: string): unknown {\n const parts = key.split('.')\n let val: unknown = obj\n\n for (const p of parts) {\n if (val == null || typeof val !== 'object') return undefined\n val = (val as Record<string, unknown>)[p]\n }\n\n return val\n}\n\nexport function MCardGrid<T extends Record<string, unknown>>({\n items,\n renderCard,\n searchable = false,\n searchKeys,\n searchPlaceholder = 'Search...',\n filterable = false,\n filterKeys = [],\n sortable = false,\n sortKeys = [],\n defaultSort,\n columns = 3,\n emptyMessage = 'No results found.',\n className,\n style,\n ...rest\n}: MCardGridProps<T>) {\n const [search, setSearch] = useState('')\n const [filters, setFilters] = useState<Record<string, Set<string>>>({})\n const [sortKey, setSortKey] = useState<string | null>(defaultSort?.key ?? null)\n const [sortDir, setSortDir] = useState<'asc' | 'desc'>(defaultSort?.direction ?? 'asc')\n const [filterOpen, setFilterOpen] = useState(false)\n const [sortOpen, setSortOpen] = useState(false)\n const filterBtnRef = useRef<HTMLElement>(null)\n const sortBtnRef = useRef<HTMLElement>(null)\n\n const openFilter = useCallback(() => {\n setFilterOpen((v) => !v)\n setSortOpen(false)\n }, [])\n\n const openSort = useCallback(() => {\n setSortOpen((v) => !v)\n setFilterOpen(false)\n }, [])\n\n const processed = useMemo(() => {\n let result = [...items]\n\n if (search && searchKeys && searchKeys.length > 0) {\n const query = search.toLowerCase()\n result = result.filter((item) =>\n searchKeys.some((key) => {\n const value = getNestedValue(item, key)\n return value != null && String(value).toLowerCase().includes(query)\n })\n )\n }\n\n for (const [key, selected] of Object.entries(filters)) {\n if (selected.size === 0) continue\n\n result = result.filter((item) => {\n const value = getNestedValue(item, key)\n return value != null && selected.has(String(value))\n })\n }\n\n if (sortKey) {\n result.sort((a, b) => {\n const av = getNestedValue(a, sortKey)\n const bv = getNestedValue(b, sortKey)\n\n if (av == null && bv == null) return 0\n if (av == null) return 1\n if (bv == null) return -1\n\n const compare = String(av).localeCompare(String(bv), undefined, {numeric: true})\n return sortDir === 'asc' ? compare : -compare\n })\n }\n\n return result\n }, [items, search, searchKeys, filters, sortKey, sortDir])\n\n function toggleFilter(key: string, value: string) {\n setFilters((prev) => {\n const next = new Set(prev[key] ?? [])\n\n if (next.has(value)) next.delete(value)\n else next.add(value)\n\n return {...prev, [key]: next}\n })\n }\n\n const filterOptions = useMemo(() => {\n const map: Record<string, string[]> = {}\n\n for (const filterKey of filterKeys) {\n if (filterKey.options) {\n map[filterKey.key] = filterKey.options\n continue\n }\n\n const values = new Set<string>()\n\n for (const item of items) {\n const value = getNestedValue(item, filterKey.key)\n if (value != null) values.add(String(value))\n }\n\n map[filterKey.key] = Array.from(values).sort()\n }\n\n return map\n }, [items, filterKeys])\n\n const activeSort = sortKeys.find((item) => item.key === sortKey)\n\n return (\n <div className={cn('card-grid', className)} style={style} {...rest}>\n {(searchable || filterable || sortable) && (\n <div className=\"card-grid-toolbar\">\n {searchable && (\n <MInputSearch\n className=\"card-grid-search\"\n size=\"sm\"\n fullWidth\n placeholder={searchPlaceholder}\n value={search}\n onChange={(event) => setSearch(event.target.value)}\n onClear={() => setSearch('')}\n />\n )}\n\n <div className=\"card-grid-actions\">\n {filterable && filterKeys.length > 0 && (\n <>\n <MButton\n ref={filterBtnRef}\n variant=\"outlined\"\n size=\"sm\"\n startIcon={<MFilterIcon />}\n aria-expanded={filterOpen}\n onClick={openFilter}\n >\n Filter\n </MButton>\n <MPopover\n open={filterOpen}\n anchorRef={filterBtnRef}\n onClose={() => setFilterOpen(false)}\n placement=\"bottom-end\"\n className=\"card-grid-dropdown\"\n >\n {filterKeys.map((filterKey) => (\n <div key={filterKey.key} className=\"card-grid-filter-group\">\n <span className=\"card-grid-filter-label\">{filterKey.label}</span>\n {(filterOptions[filterKey.key] ?? []).map((option) => (\n <div key={option} className=\"card-grid-filter-option\">\n <MCheckbox\n size=\"sm\"\n clickEffect=\"none\"\n checked={filters[filterKey.key]?.has(option) ?? false}\n onChange={() => toggleFilter(filterKey.key, option)}\n label={option}\n />\n </div>\n ))}\n </div>\n ))}\n </MPopover>\n </>\n )}\n\n {sortable && sortKeys.length > 0 && (\n <>\n <MButton\n ref={sortBtnRef}\n variant=\"outlined\"\n size=\"sm\"\n startIcon={\n sortKey ? (\n sortDir === 'asc' ? (\n <MArrowUpIcon />\n ) : (\n <MArrowDownIcon />\n )\n ) : (\n <MSortIcon />\n )\n }\n aria-expanded={sortOpen}\n onClick={openSort}\n >\n {activeSort ? `Sort: ${activeSort.label}` : 'Sort'}\n </MButton>\n <MPopover\n open={sortOpen}\n anchorRef={sortBtnRef}\n onClose={() => setSortOpen(false)}\n placement=\"bottom-end\"\n className=\"card-grid-dropdown\"\n >\n {sortKeys.map((sortItem) => (\n <button\n key={sortItem.key}\n type=\"button\"\n className={cn(\n 'card-grid-sort-item',\n sortKey === sortItem.key && 'active'\n )}\n onClick={() => {\n if (sortKey === sortItem.key) {\n setSortDir(sortDir === 'asc' ? 'desc' : 'asc')\n } else {\n setSortKey(sortItem.key)\n setSortDir('asc')\n }\n setSortOpen(false)\n }}\n >\n {sortItem.label}\n {sortKey === sortItem.key && (\n <span className=\"card-grid-sort-dir\">\n {sortDir === 'asc' ? (\n <MArrowUpIcon className=\"card-grid-sort-icon\" />\n ) : (\n <MArrowDownIcon className=\"card-grid-sort-icon\" />\n )}\n </span>\n )}\n </button>\n ))}\n </MPopover>\n </>\n )}\n </div>\n </div>\n )}\n\n {processed.length > 0 ? (\n <div\n className=\"card-grid-items\"\n style={{\n gridTemplateColumns: `repeat(${columns}, 1fr)`,\n }}\n >\n {processed.map((item, index) => renderCard(item, index))}\n </div>\n ) : (\n <div className=\"card-grid-empty\">{emptyMessage}</div>\n )}\n </div>\n )\n}\n","import type {MCardFinanceProps} from './MCardFinance.types'\nimport {cn} from '../../../utils/cn'\nimport {MSparkline} from '../../data/MSparkline/MSparkline'\nimport {MArrowUpIcon, MArrowDownIcon} from '../../../icons'\nimport './MCardFinance.css'\n\nfunction resolveChangeType(change: number | undefined, explicit?: MCardFinanceProps['changeType']) {\n if (explicit) return explicit\n if (change === undefined || change === 0) return 'neutral'\n return change > 0 ? 'up' : 'down'\n}\n\nexport function MCardFinance({\n label,\n value,\n change,\n changeType: changeTypeProp,\n changeLabel,\n icon,\n sparkline,\n sparklineType = 'area',\n color = 'primary',\n currency,\n className,\n ...rest\n}: MCardFinanceProps) {\n const changeType = resolveChangeType(change, changeTypeProp)\n\n const changeColor = changeType === 'up' ? 'success' : changeType === 'down' ? 'error' : 'neutral'\n\n return (\n <div className={cn('card-finance', `color-${color}`, className)} {...rest}>\n <div className=\"cf-top\">\n <div className=\"cf-meta\">\n <span className=\"cf-label\">{label}</span>\n {currency && <span className=\"cf-currency\">{currency}</span>}\n </div>\n {icon && <span className=\"cf-icon\">{icon}</span>}\n </div>\n\n <div className=\"cf-value\">{value}</div>\n\n <div className=\"cf-bottom\">\n {change !== undefined && (\n <span className={cn('cf-change', changeColor)}>\n {changeType === 'up' && <MArrowUpIcon size={14} />}\n {changeType === 'down' && <MArrowDownIcon size={14} />}\n <span className=\"cf-change-value\">\n {change > 0 ? '+' : ''}{change}%\n </span>\n {changeLabel && <span className=\"cf-change-label\">{changeLabel}</span>}\n </span>\n )}\n </div>\n\n <div className=\"cf-sparkline\">\n <MSparkline\n data={sparkline}\n type={sparklineType}\n color={changeColor === 'neutral' ? color : changeColor}\n height={46}\n padding={0}\n curved\n animated\n fillOpacity={0.18}\n />\n </div>\n </div>\n )\n}\n"],"mappings":"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"}
package/dist/cards.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(`./MCard-BBBA2UVf.cjs`),t=require(`./cards-Bw7aZCIy.cjs`);exports.MCard=e.t,exports.MCardBody=e.n,exports.MCardCourse=t.a,exports.MCardEvent=t.r,exports.MCardFooter=e.r,exports.MCardGrid=t.t,exports.MCardHeader=e.i,exports.MCardOffer=t.o,exports.MCardPayment=t.s,exports.MCardProduct=t.i,exports.MCardWidget=t.n;
3
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./MSkeleton-B5jZNFOG.cjs`),t=require(`./cards-yPK4lBAA.cjs`);exports.MCard=e.n,exports.MCardBody=e.r,exports.MCardBusiness=t.c,exports.MCardCourse=t.o,exports.MCardEvent=t.i,exports.MCardFinance=t.t,exports.MCardFooter=e.i,exports.MCardGrid=t.n,exports.MCardHeader=e.a,exports.MCardOffer=t.s,exports.MCardPayment=t.l,exports.MCardProduct=t.a,exports.MCardWidget=t.r;
package/dist/cards.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import {ensureStyles} from './style-runtime.js'
2
2
  ensureStyles()
3
- import { i as e, n as t, r as n, t as r } from "./MCard-ViJ2Lf73.js";
4
- import { a as i, i as a, n as o, o as s, r as c, s as l, t as u } from "./cards-CYzgOCG5.js";
5
- export { r as MCard, t as MCardBody, i as MCardCourse, c as MCardEvent, n as MCardFooter, u as MCardGrid, e as MCardHeader, s as MCardOffer, l as MCardPayment, a as MCardProduct, o as MCardWidget };
3
+ import { a as e, i as t, n, r } from "./MSkeleton-BL4C5FkH.js";
4
+ import { a as i, c as a, i as o, l as s, n as c, o as l, r as u, s as d, t as f } from "./cards-CKCr-GuJ.js";
5
+ export { n as MCard, r as MCardBody, a as MCardBusiness, l as MCardCourse, o as MCardEvent, f as MCardFinance, t as MCardFooter, c as MCardGrid, e as MCardHeader, d as MCardOffer, s as MCardPayment, i as MCardProduct, u as MCardWidget };
@@ -5,4 +5,4 @@ function e(...e) {
5
5
  //#endregion
6
6
  export { e as t };
7
7
 
8
- //# sourceMappingURL=cn-B_veu23e.js.map
8
+ //# sourceMappingURL=cn-DZLxql0l.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cn-B_veu23e.js","names":[],"sources":["../src/utils/cn.ts"],"sourcesContent":["// Join optional class names without pulling a runtime dependency.\nexport function cn(...classes: (string | undefined | null | false)[]): string {\n return classes.filter(Boolean).join(' ')\n}\n"],"mappings":";AACA,SAAgB,EAAG,GAAG,GAAwD;AAC1E,QAAO,EAAQ,OAAO,QAAQ,CAAC,KAAK,IAAI"}
1
+ {"version":3,"file":"cn-DZLxql0l.js","names":[],"sources":["../src/utils/cn.ts"],"sourcesContent":["// Join optional class names without pulling a runtime dependency.\nexport function cn(...classes: (string | undefined | null | false)[]): string {\n return classes.filter(Boolean).join(' ')\n}\n"],"mappings":";AACA,SAAgB,EAAG,GAAG,GAAwD;AAC1E,QAAO,EAAQ,OAAO,QAAQ,CAAC,KAAK,IAAI"}
@@ -1,2 +1,2 @@
1
1
  function e(...e){return e.filter(Boolean).join(` `)}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return e}});
2
- //# sourceMappingURL=cn-CpRt8Xjj.cjs.map
2
+ //# sourceMappingURL=cn-SOcVdnX6.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"cn-CpRt8Xjj.cjs","names":[],"sources":["../src/utils/cn.ts"],"sourcesContent":["// Join optional class names without pulling a runtime dependency.\nexport function cn(...classes: (string | undefined | null | false)[]): string {\n return classes.filter(Boolean).join(' ')\n}\n"],"mappings":"AACA,SAAgB,EAAG,GAAG,EAAwD,CAC1E,OAAO,EAAQ,OAAO,QAAQ,CAAC,KAAK,IAAI"}
1
+ {"version":3,"file":"cn-SOcVdnX6.cjs","names":[],"sources":["../src/utils/cn.ts"],"sourcesContent":["// Join optional class names without pulling a runtime dependency.\nexport function cn(...classes: (string | undefined | null | false)[]): string {\n return classes.filter(Boolean).join(' ')\n}\n"],"mappings":"AACA,SAAgB,EAAG,GAAG,EAAwD,CAC1E,OAAO,EAAQ,OAAO,QAAQ,CAAC,KAAK,IAAI"}
@@ -0,0 +1,2 @@
1
+ import { MCardBusinessProps } from './MCardBusiness.types';
2
+ export declare function MCardBusiness({ variant, name, title, avatar, address, contact, socials, online, lastActive, qrCode, qrValue, qrStatus, qrStatusLabel, color, className, ...rest }: MCardBusinessProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,37 @@
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
+ import { MColor } from '../../../theme';
3
+ import { MQrCodeStatus } from '../../display/MQrCode';
4
+ import { MSocialPlatform } from '../../../utils/socialPlatforms';
5
+ export type MCardBusinessVariant = 'user' | 'company';
6
+ export interface MCardBusinessSocial {
7
+ platform: MSocialPlatform;
8
+ url: string;
9
+ icon?: ReactNode;
10
+ }
11
+ export interface MCardBusinessAddress {
12
+ street?: string;
13
+ city?: string;
14
+ zip?: string;
15
+ country?: string;
16
+ }
17
+ export interface MCardBusinessContact {
18
+ email?: string;
19
+ phone?: string;
20
+ website?: string;
21
+ }
22
+ export interface MCardBusinessProps extends Omit<HTMLAttributes<HTMLDivElement>, 'color'> {
23
+ variant?: MCardBusinessVariant;
24
+ name: string;
25
+ title?: string;
26
+ avatar?: string;
27
+ address?: MCardBusinessAddress;
28
+ contact?: MCardBusinessContact;
29
+ socials?: MCardBusinessSocial[];
30
+ online?: boolean;
31
+ lastActive?: ReactNode;
32
+ qrCode?: string;
33
+ qrValue?: string;
34
+ qrStatus?: MQrCodeStatus;
35
+ qrStatusLabel?: string;
36
+ color?: MColor;
37
+ }
@@ -0,0 +1,4 @@
1
+ /** Marked as a Pro component in MineralUI licensing metadata. */
2
+ export { MCardBusiness } from './MCardBusiness';
3
+ /** Types for a Pro component in MineralUI licensing metadata. */
4
+ export type { MCardBusinessProps, MCardBusinessVariant, MCardBusinessSocial, MCardBusinessAddress, MCardBusinessContact, } from './MCardBusiness.types';
@@ -0,0 +1,2 @@
1
+ import { MCardFinanceProps } from './MCardFinance.types';
2
+ export declare function MCardFinance({ label, value, change, changeType: changeTypeProp, changeLabel, icon, sparkline, sparklineType, color, currency, className, ...rest }: MCardFinanceProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,16 @@
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
+ import { MColor } from '../../../theme/MTheme.types';
3
+ import { MSparklineType } from '../../data/MSparkline/MSparkline.types';
4
+ export type MCardFinanceChangeType = 'up' | 'down' | 'neutral';
5
+ export interface MCardFinanceProps extends Omit<HTMLAttributes<HTMLDivElement>, 'color'> {
6
+ label: string;
7
+ value: ReactNode;
8
+ change?: number;
9
+ changeType?: MCardFinanceChangeType;
10
+ changeLabel?: string;
11
+ icon?: ReactNode;
12
+ sparkline: number[];
13
+ sparklineType?: MSparklineType;
14
+ color?: MColor;
15
+ currency?: string;
16
+ }
@@ -0,0 +1,4 @@
1
+ /** Marked as a Pro component in MineralUI licensing metadata. */
2
+ export { MCardFinance } from './MCardFinance';
3
+ /** Types for a Pro component in MineralUI licensing metadata. */
4
+ export type { MCardFinanceProps, MCardFinanceChangeType } from './MCardFinance.types';
@@ -2,6 +2,10 @@ export { MCard, MCardHeader, MCardBody, MCardFooter } from './MCard';
2
2
  export type { MCardProps } from './MCard';
3
3
  export { MCardPayment } from './MCardPayment';
4
4
  export type { MCardPaymentProps, MCardPaymentBrand } from './MCardPayment';
5
+ /** Marked as a Pro component in MineralUI licensing metadata. */
6
+ export { MCardBusiness } from './MCardBusiness';
7
+ /** Types for a Pro component in MineralUI licensing metadata. */
8
+ export type { MCardBusinessProps, MCardBusinessVariant, MCardBusinessSocial, MCardBusinessAddress, MCardBusinessContact, } from './MCardBusiness';
5
9
  export { MCardOffer } from './MCardOffer';
6
10
  export type { MCardOfferProps } from './MCardOffer';
7
11
  export { MCardCourse } from './MCardCourse';
@@ -14,3 +18,7 @@ export { MCardWidget } from './MCardWidget';
14
18
  export type { MCardWidgetProps, MCardWidgetTrendType } from './MCardWidget';
15
19
  export { MCardGrid } from './MCardGrid';
16
20
  export type { MCardGridProps, MCardGridFilterKey, MCardGridSortKey } from './MCardGrid';
21
+ /** Marked as a Pro component in MineralUI licensing metadata. */
22
+ export { MCardFinance } from './MCardFinance';
23
+ /** Types for a Pro component in MineralUI licensing metadata. */
24
+ export type { MCardFinanceProps, MCardFinanceChangeType } from './MCardFinance';
@@ -0,0 +1,7 @@
1
+ import { MCalendarBoardProps, MCalendarDayCellProps, MCalendarEventItemProps, MCalendarEventListProps, MCalendarEventPopoverProps, MCalendarTimelineProps } from './MCalendarBoard.types';
2
+ export declare function MCalendarDayCell({ date, events, badge, markers, isToday, isSelected, isOutsideMonth, className, children, ...rest }: MCalendarDayCellProps): import("react/jsx-runtime").JSX.Element;
3
+ export declare function MCalendarEventItem({ event, locale: localeOverride, className, currentDate, ...rest }: MCalendarEventItemProps): import("react/jsx-runtime").JSX.Element;
4
+ export declare function MCalendarEventList({ events, locale: localeOverride, currentDate, emptyStateText, renderEventItem, className, ...rest }: MCalendarEventListProps): import("react/jsx-runtime").JSX.Element;
5
+ export declare function MCalendarTimeline({ date, events, locale: localeOverride, startHour, endHour, emptyStateText, className, ...rest }: MCalendarTimelineProps): import("react/jsx-runtime").JSX.Element;
6
+ export declare function MCalendarEventPopover({ open, anchorRef, onClose, onPointerEnter, onPointerLeave, date, events, locale: localeOverride, timelineStartHour, timelineEndHour, showTimeline, emptyStateText, renderEventItem, className, style, }: MCalendarEventPopoverProps): import("react/jsx-runtime").JSX.Element;
7
+ export declare function MCalendarBoard({ month, defaultMonth, onMonthChange, events, locale: localeOverride, weekStartsOn, view, defaultView, views, onViewChange, selectedDate, defaultSelectedDate, onDayClick, dayBadge, renderDayCell, renderEventItem, detailsTrigger, detailsMode, showTimeline, timelineStartHour, timelineEndHour, emptyStateText, filters, activeFilters, defaultActiveFilters, onActiveFiltersChange, fullWidth, className, ...rest }: MCalendarBoardProps): import("react/jsx-runtime").JSX.Element;