maz-ui 4.0.0-alpha.4 → 4.0.0-alpha.5

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 (435) hide show
  1. package/dist/assets/{CountrySelector.Cnqbl3xF.css → CountrySelector.BQiHy60b.css} +1 -1
  2. package/dist/assets/{MazAccordion.DaqF3ZAX.css → MazAccordion.BE-38uDK.css} +1 -1
  3. package/dist/assets/{MazAnimatedCounter.DYYlw_wl.css → MazAnimatedCounter.ButbqlDb.css} +1 -1
  4. package/dist/assets/{MazAnimatedText.Dk4QO4xF.css → MazAnimatedText.BM3XYGO2.css} +1 -1
  5. package/dist/assets/{MazAvatar.L1UreldR.css → MazAvatar.udTL0S0c.css} +1 -1
  6. package/dist/assets/{MazBadge.RMWNkgZL.css → MazBadge.Cgfo0F7e.css} +1 -1
  7. package/dist/assets/{MazBottomSheet.Dqr-kpLb.css → MazBottomSheet.FbcAQBpM.css} +1 -1
  8. package/dist/assets/MazBtn.Bz7wwOFh.css +1 -0
  9. package/dist/assets/{MazCard.Cod9pIM4.css → MazCard.BayiNvpH.css} +1 -1
  10. package/dist/assets/{MazCardSpotlight.DuZac0w4.css → MazCardSpotlight.Y7PEY9QV.css} +1 -1
  11. package/dist/assets/{MazCarousel.BQIrqJ8T.css → MazCarousel.CB32PQvq.css} +1 -1
  12. package/dist/assets/{MazCheckbox.BQVJ7EUB.css → MazCheckbox.5EI5lIDK.css} +1 -1
  13. package/dist/assets/{MazChecklist.5ArDAEhG.css → MazChecklist.BGnIiTsI.css} +1 -1
  14. package/dist/assets/{MazCircularProgressBar.DywLXEfR.css → MazCircularProgressBar.0-JvCHgE.css} +1 -1
  15. package/dist/assets/{MazDialog.BLzdH8aa.css → MazDialog.BJMxj6he.css} +1 -1
  16. package/dist/assets/{MazDrawer.Cu4KVc_z.css → MazDrawer.BqaLe_QM.css} +1 -1
  17. package/dist/assets/{MazFullscreenLoader.DTW_WUM6.css → MazFullscreenLoader.Dkg4LB9B.css} +1 -1
  18. package/dist/assets/MazGallery.BoPDBMcv.css +1 -0
  19. package/dist/assets/MazInput.DMFoUNTH.css +1 -0
  20. package/dist/assets/MazInputCode.C0rRpNFq.css +1 -0
  21. package/dist/assets/{MazInputPhoneNumber.DKac4ZYj.css → MazInputPhoneNumber.Ill3zwW5.css} +1 -1
  22. package/dist/assets/{MazInputTags.eygPFBJC.css → MazInputTags.ewDauXwM.css} +1 -1
  23. package/dist/assets/{MazLazyImg.BvztvWbf.css → MazLazyImg.B6kyFMu0.css} +1 -1
  24. package/dist/assets/MazLink.C905PoWd.css +1 -0
  25. package/dist/assets/MazLoadingBar.BVDaL2oq.css +1 -0
  26. package/dist/assets/{MazPagination.DSYY_yu7.css → MazPagination.DxqlYYDI.css} +1 -1
  27. package/dist/assets/MazPicker.oSzqOK82.css +1 -0
  28. package/dist/assets/{MazPickerCalendar.K1FbevcF.css → MazPickerCalendar.9hsvH81G.css} +1 -1
  29. package/dist/assets/MazPickerCalendarMonth.DoG1aIdE.css +1 -0
  30. package/dist/assets/{MazPickerCalendarSwitcher.23EFP_7Y.css → MazPickerCalendarSwitcher.Cwm0pn-f.css} +1 -1
  31. package/dist/assets/{MazPickerHeader.CfwpRnA1.css → MazPickerHeader.BH5Uy1iP.css} +1 -1
  32. package/dist/assets/{MazPickerMonthSwitcher.Cl1WlZpR.css → MazPickerMonthSwitcher.D9wXQnld.css} +1 -1
  33. package/dist/assets/{MazPickerShortcuts.B1ASAi7L.css → MazPickerShortcuts.CLZ4NUtN.css} +1 -1
  34. package/dist/assets/{MazPickerTime.5J3qaKGo.css → MazPickerTime.B-Ym15z4.css} +1 -1
  35. package/dist/assets/{MazPickerYearSwitcher.Bt0efux6.css → MazPickerYearSwitcher.9YqgG2Jv.css} +1 -1
  36. package/dist/assets/{MazPullToRefresh.BdvKaU9N.css → MazPullToRefresh.BSBm9qbV.css} +1 -1
  37. package/dist/assets/{MazRadio.zYTBn9Pj.css → MazRadio.OJL8pfy2.css} +1 -1
  38. package/dist/assets/{MazRadioButtons.CIq38oX6.css → MazRadioButtons.u111N9bH.css} +1 -1
  39. package/dist/assets/MazReadingProgressBar.CT2EjYkv.css +1 -0
  40. package/dist/assets/{MazSelect.CH_76PSg.css → MazSelect.DG-B1UJ6.css} +1 -1
  41. package/dist/assets/{MazSlider.D08gO9DD.css → MazSlider.KrU-f4K4.css} +1 -1
  42. package/dist/assets/MazSpinner.C2jmWJte.css +1 -0
  43. package/dist/assets/{MazStepper.BE3Mm9rm.css → MazStepper.CFdY5O1y.css} +1 -1
  44. package/dist/assets/MazTable.uvNQLDVh.css +1 -0
  45. package/dist/assets/MazTableCell.DCsBuRdY.css +1 -0
  46. package/dist/assets/MazTableRow.B4o1JJ00.css +1 -0
  47. package/dist/assets/MazTableTitle.CA6gYzgP.css +1 -0
  48. package/dist/assets/{MazTabsBar.-q3BbMXe.css → MazTabsBar.Bfij2njx.css} +1 -1
  49. package/dist/assets/{MazTabsContentItem.C0ygFU51.css → MazTabsContentItem.C9kvAsC7.css} +1 -1
  50. package/dist/assets/{MazTextarea.QTMu0OQv.css → MazTextarea.BML1BVBM.css} +1 -1
  51. package/dist/assets/PhoneInput.BBnKae_d.css +1 -0
  52. package/dist/assets/{fullscreen-img.hjNozahA.css → fullscreen-img.Dnt1uj_5.css} +1 -1
  53. package/dist/assets/{toaster.C9zhIkIO.css → toaster.BfTrtY6B.css} +1 -1
  54. package/dist/chunks/{CountrySelector.mFGaqpPf.cjs → CountrySelector.1nlVeBqW.cjs} +2 -2
  55. package/dist/chunks/CountrySelector.1nlVeBqW.cjs.map +1 -0
  56. package/dist/chunks/{CountrySelector.C5XZelLY.mjs → CountrySelector.qQCR0FE6.mjs} +14 -14
  57. package/dist/chunks/CountrySelector.qQCR0FE6.mjs.map +1 -0
  58. package/dist/chunks/MazDialogPromise.vue_vue_type_script_setup_true_lang.CS5GU9Q2.cjs.map +1 -1
  59. package/dist/chunks/MazDialogPromise.vue_vue_type_script_setup_true_lang.bPYjg0yY.mjs.map +1 -1
  60. package/dist/chunks/MazDropdown.vue_vue_type_script_setup_true_lang.B5kO0VJW.mjs.map +1 -1
  61. package/dist/chunks/MazDropdown.vue_vue_type_script_setup_true_lang.DLWmXVjB.cjs.map +1 -1
  62. package/dist/chunks/MazIcon.vue_vue_type_script_setup_true_lang.C5NwBerh.cjs.map +1 -1
  63. package/dist/chunks/MazIcon.vue_vue_type_script_setup_true_lang.CLoEj0Zf.mjs.map +1 -1
  64. package/dist/chunks/{MazInputNumber.vue_vue_type_script_setup_true_lang.DiawfWBC.cjs → MazInputNumber.vue_vue_type_script_setup_true_lang.BM2uHjda.cjs} +2 -2
  65. package/dist/chunks/MazInputNumber.vue_vue_type_script_setup_true_lang.BM2uHjda.cjs.map +1 -0
  66. package/dist/chunks/{MazInputNumber.vue_vue_type_script_setup_true_lang.Bbod2mLd.mjs → MazInputNumber.vue_vue_type_script_setup_true_lang.CsH-SPhu.mjs} +5 -5
  67. package/dist/chunks/MazInputNumber.vue_vue_type_script_setup_true_lang.CsH-SPhu.mjs.map +1 -0
  68. package/dist/chunks/{MazInputPhoneNumber.B173m1hd.mjs → MazInputPhoneNumber.BluSBPXE.mjs} +10 -10
  69. package/dist/chunks/{MazInputPhoneNumber.B173m1hd.mjs.map → MazInputPhoneNumber.BluSBPXE.mjs.map} +1 -1
  70. package/dist/chunks/{MazInputPhoneNumber.EZVh1Yx5.cjs → MazInputPhoneNumber.TorVuc9s.cjs} +2 -2
  71. package/dist/chunks/{MazInputPhoneNumber.EZVh1Yx5.cjs.map → MazInputPhoneNumber.TorVuc9s.cjs.map} +1 -1
  72. package/dist/chunks/{MazInputPrice.vue_vue_type_script_setup_true_lang.C3X2lwRl.mjs → MazInputPrice.vue_vue_type_script_setup_true_lang.C873_Haj.mjs} +5 -5
  73. package/dist/chunks/MazInputPrice.vue_vue_type_script_setup_true_lang.C873_Haj.mjs.map +1 -0
  74. package/dist/chunks/{MazInputPrice.vue_vue_type_script_setup_true_lang.CCatmP_L.cjs → MazInputPrice.vue_vue_type_script_setup_true_lang.Ovh3fdmh.cjs} +2 -2
  75. package/dist/chunks/MazInputPrice.vue_vue_type_script_setup_true_lang.Ovh3fdmh.cjs.map +1 -0
  76. package/dist/chunks/{MazPicker.BZE8cw36.cjs → MazPicker.D2ra6fVy.cjs} +2 -2
  77. package/dist/chunks/MazPicker.D2ra6fVy.cjs.map +1 -0
  78. package/dist/chunks/{MazPicker.DCnOkRvv.mjs → MazPicker.hoqM5DbN.mjs} +20 -20
  79. package/dist/chunks/MazPicker.hoqM5DbN.mjs.map +1 -0
  80. package/dist/chunks/{MazPickerCalendar.NeYLrtl-.mjs → MazPickerCalendar.Ban3DAo1.mjs} +4 -4
  81. package/dist/chunks/MazPickerCalendar.Ban3DAo1.mjs.map +1 -0
  82. package/dist/chunks/{MazPickerCalendar.CVZ8VoYr.cjs → MazPickerCalendar.CEJcAKlj.cjs} +2 -2
  83. package/dist/chunks/MazPickerCalendar.CEJcAKlj.cjs.map +1 -0
  84. package/dist/chunks/{MazPickerCalendarMonth.rnaiDHFM.mjs → MazPickerCalendarMonth.D4Ink4If.mjs} +14 -14
  85. package/dist/chunks/MazPickerCalendarMonth.D4Ink4If.mjs.map +1 -0
  86. package/dist/chunks/{MazPickerCalendarMonth.DpvQC45k.cjs → MazPickerCalendarMonth.DBDcSR1B.cjs} +2 -2
  87. package/dist/chunks/MazPickerCalendarMonth.DBDcSR1B.cjs.map +1 -0
  88. package/dist/chunks/{MazPickerCalendarSwitcher.DC2wff_J.cjs → MazPickerCalendarSwitcher.CyjRYcya.cjs} +2 -2
  89. package/dist/chunks/MazPickerCalendarSwitcher.CyjRYcya.cjs.map +1 -0
  90. package/dist/chunks/{MazPickerCalendarSwitcher.DFGrD6Cr.mjs → MazPickerCalendarSwitcher.DTDyFG7S.mjs} +19 -19
  91. package/dist/chunks/MazPickerCalendarSwitcher.DTDyFG7S.mjs.map +1 -0
  92. package/dist/chunks/{MazPickerHeader.B7YY9SJI.mjs → MazPickerHeader.C1asX8dz.mjs} +8 -8
  93. package/dist/chunks/MazPickerHeader.C1asX8dz.mjs.map +1 -0
  94. package/dist/chunks/{MazPickerHeader.l7NcmiGH.cjs → MazPickerHeader.COT92ysE.cjs} +2 -2
  95. package/dist/chunks/MazPickerHeader.COT92ysE.cjs.map +1 -0
  96. package/dist/chunks/{MazPickerMonthSwitcher.CbplWFfL.cjs → MazPickerMonthSwitcher.Cw82Rq9C.cjs} +2 -2
  97. package/dist/chunks/MazPickerMonthSwitcher.Cw82Rq9C.cjs.map +1 -0
  98. package/dist/chunks/{MazPickerMonthSwitcher.CAPx3PCt.mjs → MazPickerMonthSwitcher.jPGBQm-N.mjs} +9 -9
  99. package/dist/chunks/MazPickerMonthSwitcher.jPGBQm-N.mjs.map +1 -0
  100. package/dist/chunks/{MazPickerShortcuts.Bawm0q33.mjs → MazPickerShortcuts.Dvs1sJMi.mjs} +3 -3
  101. package/dist/chunks/MazPickerShortcuts.Dvs1sJMi.mjs.map +1 -0
  102. package/dist/chunks/{MazPickerShortcuts.LxFs0Y6N.cjs → MazPickerShortcuts.GUfnNHPI.cjs} +2 -2
  103. package/dist/chunks/MazPickerShortcuts.GUfnNHPI.cjs.map +1 -0
  104. package/dist/chunks/{MazPickerTime.C27aFPPw.mjs → MazPickerTime.C1LitEcr.mjs} +5 -5
  105. package/dist/chunks/MazPickerTime.C1LitEcr.mjs.map +1 -0
  106. package/dist/chunks/{MazPickerTime.7cxq-Qac.cjs → MazPickerTime.wlOm39gv.cjs} +2 -2
  107. package/dist/chunks/MazPickerTime.wlOm39gv.cjs.map +1 -0
  108. package/dist/chunks/{MazPickerYearSwitcher.Dku2IMIJ.cjs → MazPickerYearSwitcher.CPREj35R.cjs} +2 -2
  109. package/dist/chunks/MazPickerYearSwitcher.CPREj35R.cjs.map +1 -0
  110. package/dist/chunks/{MazPickerYearSwitcher.DMBOaMYy.mjs → MazPickerYearSwitcher.D_onf-0L.mjs} +17 -17
  111. package/dist/chunks/MazPickerYearSwitcher.D_onf-0L.mjs.map +1 -0
  112. package/dist/chunks/MazSwitch.vue_vue_type_script_setup_true_lang.C74s_H37.cjs.map +1 -1
  113. package/dist/chunks/MazSwitch.vue_vue_type_script_setup_true_lang.jyNV3g3U.mjs.map +1 -1
  114. package/dist/chunks/{MazTable.vue_vue_type_style_index_0_scoped_4101f1d3_lang.Ctmf2NVE.cjs → MazTable.vue_vue_type_style_index_0_scoped_cd8655c9_lang.BnCH1CvT.cjs} +2 -2
  115. package/dist/chunks/MazTable.vue_vue_type_style_index_0_scoped_cd8655c9_lang.BnCH1CvT.cjs.map +1 -0
  116. package/dist/chunks/{MazTable.vue_vue_type_style_index_0_scoped_4101f1d3_lang.Dwkx-V96.mjs → MazTable.vue_vue_type_style_index_0_scoped_cd8655c9_lang.Dj2OkfOV.mjs} +4 -4
  117. package/dist/chunks/MazTable.vue_vue_type_style_index_0_scoped_cd8655c9_lang.Dj2OkfOV.mjs.map +1 -0
  118. package/dist/chunks/MazTabsContent.vue_vue_type_script_setup_true_lang.BGqO0ynq.mjs.map +1 -1
  119. package/dist/chunks/MazTabsContent.vue_vue_type_script_setup_true_lang.DariT_zv.cjs.map +1 -1
  120. package/dist/chunks/{PhoneInput.9GQJbL9x.mjs → PhoneInput.DYm0yzgy.mjs} +11 -11
  121. package/dist/chunks/PhoneInput.DYm0yzgy.mjs.map +1 -0
  122. package/dist/chunks/{PhoneInput.D5DG4S60.cjs → PhoneInput.wXP8tsCy.cjs} +2 -2
  123. package/dist/chunks/PhoneInput.wXP8tsCy.cjs.map +1 -0
  124. package/dist/chunks/{fullscreen-img.directive.CrLLYi0D.mjs → fullscreen-img.directive.CEBhPyiD.mjs} +22 -22
  125. package/dist/chunks/fullscreen-img.directive.CEBhPyiD.mjs.map +1 -0
  126. package/dist/chunks/{fullscreen-img.directive.CeREtf7H.cjs → fullscreen-img.directive.CK-8DToy.cjs} +2 -2
  127. package/dist/chunks/fullscreen-img.directive.CK-8DToy.cjs.map +1 -0
  128. package/dist/chunks/lazy-img.directive.BeENE6S9.cjs.map +1 -1
  129. package/dist/chunks/lazy-img.directive.DqXA0UFo.mjs.map +1 -1
  130. package/dist/chunks/{utils.Bex2hM45.mjs → utils.BxNCknPj.mjs} +11 -11
  131. package/dist/chunks/utils.BxNCknPj.mjs.map +1 -0
  132. package/dist/chunks/{utils.vGzCTXH5.cjs → utils.K864VNFX.cjs} +2 -2
  133. package/dist/chunks/utils.K864VNFX.cjs.map +1 -0
  134. package/dist/components/MazAccordion.cjs +1 -1
  135. package/dist/components/MazAccordion.cjs.map +1 -1
  136. package/dist/components/MazAccordion.mjs +13 -13
  137. package/dist/components/MazAccordion.mjs.map +1 -1
  138. package/dist/components/MazAnimatedCounter.cjs +1 -1
  139. package/dist/components/MazAnimatedCounter.cjs.map +1 -1
  140. package/dist/components/MazAnimatedCounter.mjs +2 -2
  141. package/dist/components/MazAnimatedCounter.mjs.map +1 -1
  142. package/dist/components/MazAnimatedText.cjs +1 -1
  143. package/dist/components/MazAnimatedText.cjs.map +1 -1
  144. package/dist/components/MazAnimatedText.mjs +11 -11
  145. package/dist/components/MazAnimatedText.mjs.map +1 -1
  146. package/dist/components/MazAvatar.cjs +1 -1
  147. package/dist/components/MazAvatar.cjs.map +1 -1
  148. package/dist/components/MazAvatar.mjs +2 -2
  149. package/dist/components/MazAvatar.mjs.map +1 -1
  150. package/dist/components/MazBadge.cjs +1 -1
  151. package/dist/components/MazBadge.mjs +2 -2
  152. package/dist/components/MazBottomSheet.cjs +1 -1
  153. package/dist/components/MazBottomSheet.cjs.map +1 -1
  154. package/dist/components/MazBottomSheet.mjs +10 -10
  155. package/dist/components/MazBottomSheet.mjs.map +1 -1
  156. package/dist/components/MazBtn.cjs +1 -1
  157. package/dist/components/MazBtn.cjs.map +1 -1
  158. package/dist/components/MazBtn.mjs +2 -2
  159. package/dist/components/MazBtn.mjs.map +1 -1
  160. package/dist/components/MazCard.cjs +1 -1
  161. package/dist/components/MazCard.cjs.map +1 -1
  162. package/dist/components/MazCard.mjs +2 -2
  163. package/dist/components/MazCard.mjs.map +1 -1
  164. package/dist/components/MazCardSpotlight.cjs +1 -1
  165. package/dist/components/MazCardSpotlight.cjs.map +1 -1
  166. package/dist/components/MazCardSpotlight.mjs +2 -2
  167. package/dist/components/MazCardSpotlight.mjs.map +1 -1
  168. package/dist/components/MazCarousel.cjs +1 -1
  169. package/dist/components/MazCarousel.cjs.map +1 -1
  170. package/dist/components/MazCarousel.mjs +2 -2
  171. package/dist/components/MazCarousel.mjs.map +1 -1
  172. package/dist/components/MazCheckbox.cjs +1 -1
  173. package/dist/components/MazCheckbox.cjs.map +1 -1
  174. package/dist/components/MazCheckbox.mjs +6 -6
  175. package/dist/components/MazCheckbox.mjs.map +1 -1
  176. package/dist/components/MazChecklist.cjs +1 -1
  177. package/dist/components/MazChecklist.cjs.map +1 -1
  178. package/dist/components/MazChecklist.mjs +3 -3
  179. package/dist/components/MazChecklist.mjs.map +1 -1
  180. package/dist/components/MazCircularProgressBar.cjs +1 -1
  181. package/dist/components/MazCircularProgressBar.cjs.map +1 -1
  182. package/dist/components/MazCircularProgressBar.mjs +2 -2
  183. package/dist/components/MazCircularProgressBar.mjs.map +1 -1
  184. package/dist/components/MazDialog.cjs +1 -1
  185. package/dist/components/MazDialog.cjs.map +1 -1
  186. package/dist/components/MazDialog.mjs +2 -2
  187. package/dist/components/MazDialog.mjs.map +1 -1
  188. package/dist/components/MazDrawer.cjs +1 -1
  189. package/dist/components/MazDrawer.cjs.map +1 -1
  190. package/dist/components/MazDrawer.mjs +8 -8
  191. package/dist/components/MazDrawer.mjs.map +1 -1
  192. package/dist/components/MazDropzone.cjs.map +1 -1
  193. package/dist/components/MazDropzone.mjs.map +1 -1
  194. package/dist/components/MazFullscreenLoader.cjs +1 -1
  195. package/dist/components/MazFullscreenLoader.cjs.map +1 -1
  196. package/dist/components/MazFullscreenLoader.mjs +2 -2
  197. package/dist/components/MazFullscreenLoader.mjs.map +1 -1
  198. package/dist/components/MazGallery.cjs +1 -1
  199. package/dist/components/MazGallery.cjs.map +1 -1
  200. package/dist/components/MazGallery.mjs +3 -3
  201. package/dist/components/MazGallery.mjs.map +1 -1
  202. package/dist/components/MazInput.cjs +1 -1
  203. package/dist/components/MazInput.cjs.map +1 -1
  204. package/dist/components/MazInput.mjs +2 -2
  205. package/dist/components/MazInput.mjs.map +1 -1
  206. package/dist/components/MazInputCode.cjs +1 -1
  207. package/dist/components/MazInputCode.cjs.map +1 -1
  208. package/dist/components/MazInputCode.mjs +5 -5
  209. package/dist/components/MazInputCode.mjs.map +1 -1
  210. package/dist/components/MazInputNumber.cjs +1 -1
  211. package/dist/components/MazInputNumber.mjs +1 -1
  212. package/dist/components/MazInputPhoneNumber.cjs +1 -1
  213. package/dist/components/MazInputPhoneNumber.mjs +1 -1
  214. package/dist/components/MazInputPrice.cjs +1 -1
  215. package/dist/components/MazInputPrice.mjs +1 -1
  216. package/dist/components/MazInputTags.cjs +1 -1
  217. package/dist/components/MazInputTags.cjs.map +1 -1
  218. package/dist/components/MazInputTags.mjs +8 -8
  219. package/dist/components/MazInputTags.mjs.map +1 -1
  220. package/dist/components/MazLazyImg.cjs +1 -1
  221. package/dist/components/MazLazyImg.cjs.map +1 -1
  222. package/dist/components/MazLazyImg.mjs +5 -5
  223. package/dist/components/MazLazyImg.mjs.map +1 -1
  224. package/dist/components/MazLink.cjs +1 -1
  225. package/dist/components/MazLink.cjs.map +1 -1
  226. package/dist/components/MazLink.mjs +2 -2
  227. package/dist/components/MazLink.mjs.map +1 -1
  228. package/dist/components/MazLoadingBar.cjs +1 -1
  229. package/dist/components/MazLoadingBar.cjs.map +1 -1
  230. package/dist/components/MazLoadingBar.mjs +4 -4
  231. package/dist/components/MazLoadingBar.mjs.map +1 -1
  232. package/dist/components/MazPagination.cjs +1 -1
  233. package/dist/components/MazPagination.cjs.map +1 -1
  234. package/dist/components/MazPagination.mjs +2 -2
  235. package/dist/components/MazPagination.mjs.map +1 -1
  236. package/dist/components/MazPicker.cjs +1 -1
  237. package/dist/components/MazPicker.mjs +1 -1
  238. package/dist/components/MazPullToRefresh.cjs +1 -1
  239. package/dist/components/MazPullToRefresh.cjs.map +1 -1
  240. package/dist/components/MazPullToRefresh.mjs +2 -2
  241. package/dist/components/MazPullToRefresh.mjs.map +1 -1
  242. package/dist/components/MazRadio.cjs +1 -1
  243. package/dist/components/MazRadio.cjs.map +1 -1
  244. package/dist/components/MazRadio.mjs +7 -7
  245. package/dist/components/MazRadio.mjs.map +1 -1
  246. package/dist/components/MazRadioButtons.cjs +1 -1
  247. package/dist/components/MazRadioButtons.cjs.map +1 -1
  248. package/dist/components/MazRadioButtons.mjs +2 -2
  249. package/dist/components/MazRadioButtons.mjs.map +1 -1
  250. package/dist/components/MazReadingProgressBar.cjs +1 -1
  251. package/dist/components/MazReadingProgressBar.cjs.map +1 -1
  252. package/dist/components/MazReadingProgressBar.mjs +7 -7
  253. package/dist/components/MazReadingProgressBar.mjs.map +1 -1
  254. package/dist/components/MazSelect.cjs +1 -1
  255. package/dist/components/MazSelect.cjs.map +1 -1
  256. package/dist/components/MazSelect.mjs +7 -7
  257. package/dist/components/MazSelect.mjs.map +1 -1
  258. package/dist/components/MazSlider.cjs +1 -1
  259. package/dist/components/MazSlider.cjs.map +1 -1
  260. package/dist/components/MazSlider.mjs +11 -11
  261. package/dist/components/MazSlider.mjs.map +1 -1
  262. package/dist/components/MazSpinner.cjs +1 -1
  263. package/dist/components/MazSpinner.mjs +2 -2
  264. package/dist/components/MazStepper.cjs +1 -1
  265. package/dist/components/MazStepper.cjs.map +1 -1
  266. package/dist/components/MazStepper.mjs +22 -22
  267. package/dist/components/MazStepper.mjs.map +1 -1
  268. package/dist/components/MazTable.cjs +1 -1
  269. package/dist/components/MazTable.mjs +3 -3
  270. package/dist/components/MazTableCell.cjs +1 -1
  271. package/dist/components/MazTableCell.cjs.map +1 -1
  272. package/dist/components/MazTableCell.mjs +7 -7
  273. package/dist/components/MazTableCell.mjs.map +1 -1
  274. package/dist/components/MazTableRow.cjs +1 -1
  275. package/dist/components/MazTableRow.cjs.map +1 -1
  276. package/dist/components/MazTableRow.mjs +7 -7
  277. package/dist/components/MazTableRow.mjs.map +1 -1
  278. package/dist/components/MazTableTitle.cjs +1 -1
  279. package/dist/components/MazTableTitle.cjs.map +1 -1
  280. package/dist/components/MazTableTitle.mjs +3 -3
  281. package/dist/components/MazTableTitle.mjs.map +1 -1
  282. package/dist/components/MazTabsBar.cjs +1 -1
  283. package/dist/components/MazTabsBar.cjs.map +1 -1
  284. package/dist/components/MazTabsBar.mjs +2 -2
  285. package/dist/components/MazTabsBar.mjs.map +1 -1
  286. package/dist/components/MazTabsContentItem.cjs +1 -1
  287. package/dist/components/MazTabsContentItem.cjs.map +1 -1
  288. package/dist/components/MazTabsContentItem.mjs +2 -2
  289. package/dist/components/MazTabsContentItem.mjs.map +1 -1
  290. package/dist/components/MazTextarea.cjs +1 -1
  291. package/dist/components/MazTextarea.cjs.map +1 -1
  292. package/dist/components/MazTextarea.mjs +6 -6
  293. package/dist/components/MazTextarea.mjs.map +1 -1
  294. package/dist/composables/useAos.cjs.map +1 -1
  295. package/dist/composables/useAos.mjs.map +1 -1
  296. package/dist/composables/useDialog.cjs.map +1 -1
  297. package/dist/composables/useDialog.mjs.map +1 -1
  298. package/dist/composables/useFormField.cjs +1 -1
  299. package/dist/composables/useFormField.cjs.map +1 -1
  300. package/dist/composables/useFormField.mjs +19 -19
  301. package/dist/composables/useFormField.mjs.map +1 -1
  302. package/dist/composables/useFormValidator.cjs +1 -1
  303. package/dist/composables/useFormValidator.cjs.map +1 -1
  304. package/dist/composables/useFormValidator.mjs +11 -11
  305. package/dist/composables/useFormValidator.mjs.map +1 -1
  306. package/dist/composables/useIdleTimeout.cjs.map +1 -1
  307. package/dist/composables/useIdleTimeout.mjs.map +1 -1
  308. package/dist/composables/useStringMatching.cjs +1 -1
  309. package/dist/composables/useStringMatching.cjs.map +1 -1
  310. package/dist/composables/useStringMatching.mjs +1 -1
  311. package/dist/composables/useStringMatching.mjs.map +1 -1
  312. package/dist/composables/useSwipe.cjs +1 -1
  313. package/dist/composables/useSwipe.cjs.map +1 -1
  314. package/dist/composables/useSwipe.mjs +3 -3
  315. package/dist/composables/useSwipe.mjs.map +1 -1
  316. package/dist/composables/useThemeHandler.cjs +1 -1
  317. package/dist/composables/useThemeHandler.cjs.map +1 -1
  318. package/dist/composables/useThemeHandler.mjs +1 -1
  319. package/dist/composables/useThemeHandler.mjs.map +1 -1
  320. package/dist/composables/useToast.cjs.map +1 -1
  321. package/dist/composables/useToast.mjs.map +1 -1
  322. package/dist/composables/useUserVisibilty.cjs.map +1 -1
  323. package/dist/composables/useUserVisibilty.mjs.map +1 -1
  324. package/dist/composables/useWait.cjs.map +1 -1
  325. package/dist/composables/useWait.mjs.map +1 -1
  326. package/dist/composables/useWindowSize.cjs +1 -1
  327. package/dist/composables/useWindowSize.cjs.map +1 -1
  328. package/dist/composables/useWindowSize.mjs +5 -5
  329. package/dist/composables/useWindowSize.mjs.map +1 -1
  330. package/dist/directives/vClickOutside.cjs.map +1 -1
  331. package/dist/directives/vClickOutside.mjs.map +1 -1
  332. package/dist/directives/vClosable.cjs.map +1 -1
  333. package/dist/directives/vClosable.mjs.map +1 -1
  334. package/dist/directives/vFullscreenImg.cjs +1 -1
  335. package/dist/directives/vFullscreenImg.mjs +1 -1
  336. package/dist/directives/vLazyImg.cjs.map +1 -1
  337. package/dist/directives/vLazyImg.mjs.map +1 -1
  338. package/dist/directives/vTooltip.cjs.map +1 -1
  339. package/dist/directives/vTooltip.mjs.map +1 -1
  340. package/dist/filters/pascalCase.cjs.map +1 -1
  341. package/dist/filters/pascalCase.mjs.map +1 -1
  342. package/dist/helpers/countryCodeToUnicodeFlag.cjs.map +1 -1
  343. package/dist/helpers/countryCodeToUnicodeFlag.mjs.map +1 -1
  344. package/dist/index.cjs +1 -1
  345. package/dist/index.mjs +5 -5
  346. package/dist/nuxt/module.d.mts +1 -1
  347. package/dist/nuxt/module.d.ts +1 -1
  348. package/dist/nuxt/module.json +1 -1
  349. package/dist/nuxt/module.mjs +13 -8
  350. package/dist/nuxt/runtime/plugins/dialog.js +2 -2
  351. package/dist/plugins/aos.cjs.map +1 -1
  352. package/dist/plugins/aos.mjs.map +1 -1
  353. package/dist/plugins/dialog.cjs.map +1 -1
  354. package/dist/plugins/dialog.mjs.map +1 -1
  355. package/dist/plugins/toaster.cjs +1 -1
  356. package/dist/plugins/toaster.cjs.map +1 -1
  357. package/dist/plugins/toaster.mjs +2 -2
  358. package/dist/plugins/toaster.mjs.map +1 -1
  359. package/dist/resolvers/UnpluginVueComponentsResolver.cjs.map +1 -1
  360. package/dist/resolvers/UnpluginVueComponentsResolver.mjs.map +1 -1
  361. package/dist/types/components/MazAvatar.vue.d.ts +1 -1
  362. package/dist/types/components/MazCard.vue.d.ts +1 -1
  363. package/dist/types/components/MazDialogPromise/useMazDialogPromise.d.ts +1 -1
  364. package/dist/types/components/MazDropdown.vue.d.ts +1 -1
  365. package/dist/types/components/MazInputPhoneNumber/CountrySelector.vue.d.ts +3 -3
  366. package/dist/types/components/MazInputPhoneNumber/types.d.ts +1 -1
  367. package/dist/types/components/MazInputPhoneNumber.vue.d.ts +1 -1
  368. package/dist/types/components/MazLazyImg.vue.d.ts +1 -1
  369. package/dist/types/components/MazLink.vue.d.ts +1 -1
  370. package/dist/types/components/MazPicker/MazPickerCalendar.vue.d.ts +1 -1
  371. package/dist/types/components/MazPicker/MazPickerCalendarMonth/MazPickerCalendarGrid.vue.d.ts +1 -1
  372. package/dist/types/components/MazPicker/MazPickerCalendarMonth/MazPickerCalendarMonth.vue.d.ts +1 -1
  373. package/dist/types/components/MazPicker/MazPickerContainer.vue.d.ts +1 -1
  374. package/dist/types/components/MazPicker/MazPickerHeader.vue.d.ts +1 -1
  375. package/dist/types/components/MazPicker/MazPickerShortcuts.vue.d.ts +1 -1
  376. package/dist/types/components/MazPicker/MazPickerTime.vue.d.ts +2 -2
  377. package/dist/types/components/MazPicker/utils.d.ts +1 -1
  378. package/dist/types/components/MazSlider.vue.d.ts +1 -1
  379. package/dist/types/components/constantes.d.ts +1 -2
  380. package/dist/types/components/types.d.ts +2 -1
  381. package/dist/types/composables/useFormField.d.ts +2 -2
  382. package/dist/types/composables/useFormValidator/types.d.ts +3 -3
  383. package/dist/types/composables/useFormValidator.d.ts +3 -3
  384. package/dist/types/directives/vClickOutside.d.ts +1 -1
  385. package/dist/types/directives/vClosable.d.ts +1 -1
  386. package/dist/types/directives/vLazyImg.d.ts +2 -1
  387. package/dist/types/directives/vTooltip.d.ts +1 -1
  388. package/package.json +3 -4
  389. package/dist/assets/MazBtn.7QWd6o3M.css +0 -1
  390. package/dist/assets/MazGallery.ChuEM3_y.css +0 -1
  391. package/dist/assets/MazInput.C5uUOQLJ.css +0 -1
  392. package/dist/assets/MazInputCode.C1Mlb3p3.css +0 -1
  393. package/dist/assets/MazLink.DQ7r1i9T.css +0 -1
  394. package/dist/assets/MazLoadingBar.C6sNjytz.css +0 -1
  395. package/dist/assets/MazPicker.fY2qT4ER.css +0 -1
  396. package/dist/assets/MazPickerCalendarMonth.GACBSeof.css +0 -1
  397. package/dist/assets/MazReadingProgressBar.CbqVvC8N.css +0 -1
  398. package/dist/assets/MazSpinner.DTuz1RdS.css +0 -1
  399. package/dist/assets/MazTable.D06R_2nI.css +0 -1
  400. package/dist/assets/MazTableCell.BDmda4j7.css +0 -1
  401. package/dist/assets/MazTableRow.Copw9RJN.css +0 -1
  402. package/dist/assets/MazTableTitle.Cspgmj1g.css +0 -1
  403. package/dist/assets/PhoneInput.utJQQXVJ.css +0 -1
  404. package/dist/chunks/CountrySelector.C5XZelLY.mjs.map +0 -1
  405. package/dist/chunks/CountrySelector.mFGaqpPf.cjs.map +0 -1
  406. package/dist/chunks/MazInputNumber.vue_vue_type_script_setup_true_lang.Bbod2mLd.mjs.map +0 -1
  407. package/dist/chunks/MazInputNumber.vue_vue_type_script_setup_true_lang.DiawfWBC.cjs.map +0 -1
  408. package/dist/chunks/MazInputPrice.vue_vue_type_script_setup_true_lang.C3X2lwRl.mjs.map +0 -1
  409. package/dist/chunks/MazInputPrice.vue_vue_type_script_setup_true_lang.CCatmP_L.cjs.map +0 -1
  410. package/dist/chunks/MazPicker.BZE8cw36.cjs.map +0 -1
  411. package/dist/chunks/MazPicker.DCnOkRvv.mjs.map +0 -1
  412. package/dist/chunks/MazPickerCalendar.CVZ8VoYr.cjs.map +0 -1
  413. package/dist/chunks/MazPickerCalendar.NeYLrtl-.mjs.map +0 -1
  414. package/dist/chunks/MazPickerCalendarMonth.DpvQC45k.cjs.map +0 -1
  415. package/dist/chunks/MazPickerCalendarMonth.rnaiDHFM.mjs.map +0 -1
  416. package/dist/chunks/MazPickerCalendarSwitcher.DC2wff_J.cjs.map +0 -1
  417. package/dist/chunks/MazPickerCalendarSwitcher.DFGrD6Cr.mjs.map +0 -1
  418. package/dist/chunks/MazPickerHeader.B7YY9SJI.mjs.map +0 -1
  419. package/dist/chunks/MazPickerHeader.l7NcmiGH.cjs.map +0 -1
  420. package/dist/chunks/MazPickerMonthSwitcher.CAPx3PCt.mjs.map +0 -1
  421. package/dist/chunks/MazPickerMonthSwitcher.CbplWFfL.cjs.map +0 -1
  422. package/dist/chunks/MazPickerShortcuts.Bawm0q33.mjs.map +0 -1
  423. package/dist/chunks/MazPickerShortcuts.LxFs0Y6N.cjs.map +0 -1
  424. package/dist/chunks/MazPickerTime.7cxq-Qac.cjs.map +0 -1
  425. package/dist/chunks/MazPickerTime.C27aFPPw.mjs.map +0 -1
  426. package/dist/chunks/MazPickerYearSwitcher.DMBOaMYy.mjs.map +0 -1
  427. package/dist/chunks/MazPickerYearSwitcher.Dku2IMIJ.cjs.map +0 -1
  428. package/dist/chunks/MazTable.vue_vue_type_style_index_0_scoped_4101f1d3_lang.Ctmf2NVE.cjs.map +0 -1
  429. package/dist/chunks/MazTable.vue_vue_type_style_index_0_scoped_4101f1d3_lang.Dwkx-V96.mjs.map +0 -1
  430. package/dist/chunks/PhoneInput.9GQJbL9x.mjs.map +0 -1
  431. package/dist/chunks/PhoneInput.D5DG4S60.cjs.map +0 -1
  432. package/dist/chunks/fullscreen-img.directive.CeREtf7H.cjs.map +0 -1
  433. package/dist/chunks/fullscreen-img.directive.CrLLYi0D.mjs.map +0 -1
  434. package/dist/chunks/utils.Bex2hM45.mjs.map +0 -1
  435. package/dist/chunks/utils.vGzCTXH5.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"MazAnimatedCounter.mjs","sources":["../../src/components/MazAnimatedCounter.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { isClient } from '@helpers/isClient'\nimport { onBeforeUnmount, onMounted, ref, watch } from 'vue'\n\nexport interface MazAnimatedCounterProps {\n /**\n * The number to animate\n */\n count: number\n /**\n * Duration of the animation in milliseconds\n * @default 1000\n */\n duration?: number\n /**\n * Suffix to display next to the number\n */\n prefix?: string\n /**\n * Suffix to display next to the number\n */\n suffix?: string\n /**\n * Delay before the animation starts in milliseconds\n * @default 100\n */\n delay?: number\n /**\n * Play the animation only once\n * @default true\n */\n once?: boolean\n}\n\nconst props = withDefaults(\n defineProps<MazAnimatedCounterProps>(),\n {\n duration: 1000,\n prefix: undefined,\n suffix: undefined,\n delay: 100,\n once: true,\n },\n)\n\nconst currentCount = ref(0)\n\nconst elementRef = ref<HTMLElement | null>(null)\n\nfunction getRequestAnimationFrame() {\n /* Polyfill for server-side rendering */\n if (!isClient() || !window.requestAnimationFrame) {\n return (callback: FrameRequestCallback): number => {\n setTimeout(callback, 1000 / 60)\n return 0\n }\n }\n\n return window.requestAnimationFrame.bind(window)\n}\n\nfunction animate(start: number, end: number, duration: number, delay: number) {\n const requestAnim = getRequestAnimationFrame()\n\n if (!isClient()) {\n currentCount.value = end\n return\n }\n\n currentCount.value = start\n setTimeout(() => {\n const startTime = performance.now()\n\n const updateCount = (currentTime: number = performance.now()) => {\n const elapsed = currentTime - startTime\n const progress = Math.min(elapsed / duration, 1)\n\n const easeOutQuad = (t: number) => t * (2 - t)\n\n currentCount.value = Math.round(\n start + (end - start) * easeOutQuad(progress),\n )\n\n if (progress < 1) {\n requestAnim(updateCount)\n }\n }\n\n requestAnim(updateCount)\n }, delay)\n}\n\nfunction startAnimation(start: number, end: number) {\n animate(start, end, props.duration, props.delay)\n}\n\nlet observer: IntersectionObserver | null = null\n\nonMounted(() => {\n if (props.once)\n return\n\n observer = new IntersectionObserver(([entry]) => {\n if (entry.isIntersecting) {\n startAnimation(0, props.count)\n\n if (props.once) {\n observer?.unobserve(entry.target)\n }\n }\n })\n\n if (elementRef.value) {\n observer.observe(elementRef.value)\n }\n})\n\nonBeforeUnmount(() => observer?.disconnect())\n\nwatch(\n () => props.count,\n (newCount, oldCount) => {\n if (newCount === oldCount) {\n return\n }\n\n const startValue = oldCount ?? 0\n startAnimation(startValue, newCount)\n },\n { immediate: true },\n)\n</script>\n\n<template>\n <span ref=\"elementRef\" class=\"m-animated-counter m-reset-css\">\n <span class=\"maz-sr-only\">\n <slot name=\"prefix\">{{ prefix }}</slot>{{ count }}<slot name=\"suffix\">{{ suffix }}</slot>\n </span>\n\n <!-- Keep this on one line to avoid spacing issues (space between elements) -->\n <slot name=\"prefix\">{{ prefix }}</slot>{{ currentCount }}<slot name=\"suffix\">{{ suffix }}</slot>\n </span>\n</template>\n\n<style lang=\"postcss\" scoped>\n.m-animated-counter {\n @apply maz-whitespace-nowrap maz-tabular-nums;\n}\n</style>\n"],"names":["props","__props","currentCount","ref","elementRef","getRequestAnimationFrame","isClient","callback","animate","start","end","duration","delay","requestAnim","startTime","updateCount","currentTime","elapsed","progress","easeOutQuad","t","startAnimation","observer","onMounted","entry","onBeforeUnmount","watch","newCount","oldCount"],"mappings":";;;;;;;;;;;;;;AAkCA,UAAMA,IAAQC,GAWRC,IAAeC,EAAI,CAAC,GAEpBC,IAAaD,EAAwB,IAAI;AAE/C,aAASE,IAA2B;AAElC,aAAI,CAACC,EAAA,KAAc,CAAC,OAAO,wBAClB,CAACC,OACK,WAAAA,GAAU,MAAO,EAAE,GACvB,KAIJ,OAAO,sBAAsB,KAAK,MAAM;AAAA,IAAA;AAGjD,aAASC,EAAQC,GAAeC,GAAaC,GAAkBC,GAAe;AAC5E,YAAMC,IAAcR,EAAyB;AAEzC,UAAA,CAACC,KAAY;AACf,QAAAJ,EAAa,QAAQQ;AACrB;AAAA,MAAA;AAGF,MAAAR,EAAa,QAAQO,GACrB,WAAW,MAAM;AACT,cAAAK,IAAY,YAAY,IAAI,GAE5BC,IAAc,CAACC,IAAsB,YAAY,UAAU;AAC/D,gBAAMC,IAAUD,IAAcF,GACxBI,IAAW,KAAK,IAAID,IAAUN,GAAU,CAAC,GAEzCQ,IAAc,CAACC,MAAcA,KAAK,IAAIA;AAE5C,UAAAlB,EAAa,QAAQ,KAAK;AAAA,YACxBO,KAASC,IAAMD,KAASU,EAAYD,CAAQ;AAAA,UAC9C,GAEIA,IAAW,KACbL,EAAYE,CAAW;AAAA,QAE3B;AAEA,QAAAF,EAAYE,CAAW;AAAA,SACtBH,CAAK;AAAA,IAAA;AAGD,aAAAS,EAAeZ,GAAeC,GAAa;AAClD,MAAAF,EAAQC,GAAOC,GAAKV,EAAM,UAAUA,EAAM,KAAK;AAAA,IAAA;AAGjD,QAAIsB,IAAwC;AAE5C,WAAAC,EAAU,MAAM;AACd,MAAIvB,EAAM,SAGVsB,IAAW,IAAI,qBAAqB,CAAC,CAACE,CAAK,MAAM;AAC/C,QAAIA,EAAM,mBACOH,EAAA,GAAGrB,EAAM,KAAK,GAEzBA,EAAM,SACEsB,KAAA,QAAAA,EAAA,UAAUE,EAAM;AAAA,MAE9B,CACD,GAEGpB,EAAW,SACJkB,EAAA,QAAQlB,EAAW,KAAK;AAAA,IACnC,CACD,GAEeqB,EAAA,MAAMH,KAAA,gBAAAA,EAAU,YAAY,GAE5CI;AAAA,MACE,MAAM1B,EAAM;AAAA,MACZ,CAAC2B,GAAUC,MAAa;AACtB,YAAID,MAAaC;AACf;AAIF,QAAAP,EADmBO,KAAY,GACJD,CAAQ;AAAA,MACrC;AAAA,MACA,EAAE,WAAW,GAAK;AAAA,IACpB;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"MazAnimatedCounter.mjs","sources":["../../src/components/MazAnimatedCounter.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { onBeforeUnmount, onMounted, ref, watch } from 'vue'\nimport { isClient } from '../helpers/isClient'\n\nexport interface MazAnimatedCounterProps {\n /**\n * The number to animate\n */\n count: number\n /**\n * Duration of the animation in milliseconds\n * @default 1000\n */\n duration?: number\n /**\n * Suffix to display next to the number\n */\n prefix?: string\n /**\n * Suffix to display next to the number\n */\n suffix?: string\n /**\n * Delay before the animation starts in milliseconds\n * @default 100\n */\n delay?: number\n /**\n * Play the animation only once\n * @default true\n */\n once?: boolean\n}\n\nconst props = withDefaults(\n defineProps<MazAnimatedCounterProps>(),\n {\n duration: 1000,\n prefix: undefined,\n suffix: undefined,\n delay: 100,\n once: true,\n },\n)\n\nconst currentCount = ref(0)\n\nconst elementRef = ref<HTMLElement | null>(null)\n\nfunction getRequestAnimationFrame() {\n /* Polyfill for server-side rendering */\n if (!isClient() || !window.requestAnimationFrame) {\n return (callback: FrameRequestCallback): number => {\n setTimeout(callback, 1000 / 60)\n return 0\n }\n }\n\n return window.requestAnimationFrame.bind(window)\n}\n\nfunction animate(start: number, end: number, duration: number, delay: number) {\n const requestAnim = getRequestAnimationFrame()\n\n if (!isClient()) {\n currentCount.value = end\n return\n }\n\n currentCount.value = start\n setTimeout(() => {\n const startTime = performance.now()\n\n const updateCount = (currentTime: number = performance.now()) => {\n const elapsed = currentTime - startTime\n const progress = Math.min(elapsed / duration, 1)\n\n const easeOutQuad = (t: number) => t * (2 - t)\n\n currentCount.value = Math.round(\n start + (end - start) * easeOutQuad(progress),\n )\n\n if (progress < 1) {\n requestAnim(updateCount)\n }\n }\n\n requestAnim(updateCount)\n }, delay)\n}\n\nfunction startAnimation(start: number, end: number) {\n animate(start, end, props.duration, props.delay)\n}\n\nlet observer: IntersectionObserver | null = null\n\nonMounted(() => {\n if (props.once)\n return\n\n observer = new IntersectionObserver(([entry]) => {\n if (entry.isIntersecting) {\n startAnimation(0, props.count)\n\n if (props.once) {\n observer?.unobserve(entry.target)\n }\n }\n })\n\n if (elementRef.value) {\n observer.observe(elementRef.value)\n }\n})\n\nonBeforeUnmount(() => observer?.disconnect())\n\nwatch(\n () => props.count,\n (newCount, oldCount) => {\n if (newCount === oldCount) {\n return\n }\n\n const startValue = oldCount ?? 0\n startAnimation(startValue, newCount)\n },\n { immediate: true },\n)\n</script>\n\n<template>\n <span ref=\"elementRef\" class=\"m-animated-counter m-reset-css\">\n <span class=\"maz-sr-only\">\n <slot name=\"prefix\">{{ prefix }}</slot>{{ count }}<slot name=\"suffix\">{{ suffix }}</slot>\n </span>\n\n <!-- Keep this on one line to avoid spacing issues (space between elements) -->\n <slot name=\"prefix\">{{ prefix }}</slot>{{ currentCount }}<slot name=\"suffix\">{{ suffix }}</slot>\n </span>\n</template>\n\n<style lang=\"postcss\" scoped>\n.m-animated-counter {\n @apply maz-whitespace-nowrap maz-tabular-nums;\n}\n</style>\n"],"names":["props","__props","currentCount","ref","elementRef","getRequestAnimationFrame","isClient","callback","animate","start","end","duration","delay","requestAnim","startTime","updateCount","currentTime","elapsed","progress","easeOutQuad","t","startAnimation","observer","onMounted","entry","onBeforeUnmount","watch","newCount","oldCount"],"mappings":";;;;;;;;;;;;;;AAkCA,UAAMA,IAAQC,GAWRC,IAAeC,EAAI,CAAC,GAEpBC,IAAaD,EAAwB,IAAI;AAE/C,aAASE,IAA2B;AAElC,aAAI,CAACC,EAAA,KAAc,CAAC,OAAO,wBAClB,CAACC,OACK,WAAAA,GAAU,MAAO,EAAE,GACvB,KAIJ,OAAO,sBAAsB,KAAK,MAAM;AAAA,IAAA;AAGjD,aAASC,EAAQC,GAAeC,GAAaC,GAAkBC,GAAe;AAC5E,YAAMC,IAAcR,EAAyB;AAEzC,UAAA,CAACC,KAAY;AACf,QAAAJ,EAAa,QAAQQ;AACrB;AAAA,MAAA;AAGF,MAAAR,EAAa,QAAQO,GACrB,WAAW,MAAM;AACT,cAAAK,IAAY,YAAY,IAAI,GAE5BC,IAAc,CAACC,IAAsB,YAAY,UAAU;AAC/D,gBAAMC,IAAUD,IAAcF,GACxBI,IAAW,KAAK,IAAID,IAAUN,GAAU,CAAC,GAEzCQ,IAAc,CAACC,MAAcA,KAAK,IAAIA;AAE5C,UAAAlB,EAAa,QAAQ,KAAK;AAAA,YACxBO,KAASC,IAAMD,KAASU,EAAYD,CAAQ;AAAA,UAC9C,GAEIA,IAAW,KACbL,EAAYE,CAAW;AAAA,QAE3B;AAEA,QAAAF,EAAYE,CAAW;AAAA,SACtBH,CAAK;AAAA,IAAA;AAGD,aAAAS,EAAeZ,GAAeC,GAAa;AAClD,MAAAF,EAAQC,GAAOC,GAAKV,EAAM,UAAUA,EAAM,KAAK;AAAA,IAAA;AAGjD,QAAIsB,IAAwC;AAE5C,WAAAC,EAAU,MAAM;AACd,MAAIvB,EAAM,SAGVsB,IAAW,IAAI,qBAAqB,CAAC,CAACE,CAAK,MAAM;AAC/C,QAAIA,EAAM,mBACOH,EAAA,GAAGrB,EAAM,KAAK,GAEzBA,EAAM,SACEsB,KAAA,QAAAA,EAAA,UAAUE,EAAM;AAAA,MAE9B,CACD,GAEGpB,EAAW,SACJkB,EAAA,QAAQlB,EAAW,KAAK;AAAA,IACnC,CACD,GAEeqB,EAAA,MAAMH,KAAA,gBAAAA,EAAU,YAAY,GAE5CI;AAAA,MACE,MAAM1B,EAAM;AAAA,MACZ,CAAC2B,GAAUC,MAAa;AACtB,YAAID,MAAaC;AACf;AAIF,QAAAP,EADmBO,KAAY,GACJD,CAAQ;AAAA,MACrC;AAAA,MACA,EAAE,WAAW,GAAK;AAAA,IACpB;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('../assets/MazAnimatedText.Dk4QO4xF.css');const e=require("vue"),p=require("../helpers/checkAvailability.cjs"),y=require("../chunks/_plugin-vue_export-helper.BHFhmbuH.cjs"),f={class:"m-reset-css m-animated-text"},k={class:"m-animated-text__last-word-inner"},v={class:"m-animated-text__last-word-inner-text"},g=e.defineComponent({inheritAttrs:!1,__name:"MazAnimatedText",props:{text:{},lastWord:{},delay:{default:0},direction:{default:"up"},tag:{default:"span"},wordDelay:{default:75},columnGap:{default:.5},rowGap:{default:0},duration:{default:2e3},once:{type:Boolean,default:!0}},setup(l){const o=e.computed(()=>l.text.split(" ")),c=e.computed(()=>o.value.length),s=e.ref(!1),r=e.ref(!1),i=e.computed(()=>s.value?`maz-animate-slide-${l.direction}-blur`:"maz-invisible"),n=e.ref();let a=null;return e.onMounted(()=>{r.value=!0,a=new IntersectionObserver(([t])=>{s.value=t.isIntersecting,l.once&&n.value&&(a==null||a.unobserve(n.value))}),p.checkAvailability(()=>n.value,t=>{a==null||a.observe(t)})}),e.onBeforeUnmount(()=>a==null?void 0:a.disconnect()),(t,m)=>(e.openBlock(),e.createElementBlock("div",f,[r.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),e.mergeProps({key:0,ref_key:"element",ref:n},t.$attrs,{class:"m-animated-text__root",style:{columnGap:`${t.columnGap}rem`,rowGap:`${t.rowGap}rem`}}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(d,u)=>(e.openBlock(),e.createElementBlock("span",{key:d+u,class:"m-animated-text__word"},[e.createElementVNode("span",{class:e.normalizeClass(["m-animated-text__word-inner",i.value]),style:e.normalizeStyle({animationDelay:`${t.delay+u*(t.wordDelay??150)}ms`,animationDuration:`${t.duration}ms`})},e.toDisplayString(d),7)]))),128)),t.lastWord?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["m-animated-text__last-word",i.value]),style:e.normalizeStyle({animationDelay:`${t.delay+c.value*(t.wordDelay??150)}ms`,animationDuration:`${t.duration}ms`})},[e.createElementVNode("span",k,[m[0]||(m[0]=e.createElementVNode("span",{class:"m-animated-text__last-word-inner-gradient"},null,-1)),e.createElementVNode("span",v,e.toDisplayString(t.lastWord),1)])],6)):e.createCommentVNode("",!0)]),_:1},16,["style"])):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),e.mergeProps({key:1},t.$attrs,{class:"maz-invisible maz-inline-flex"}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.text)+" ",1),t.lastWord?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(t.lastWord),1)],64)):e.createCommentVNode("",!0)]),_:1},16))]))}}),w=y._export_sfc(g,[["__scopeId","data-v-429dbc75"]]);exports.default=w;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('../assets/MazAnimatedText.BM3XYGO2.css');const e=require("vue"),p=require("../helpers/checkAvailability.cjs"),y=require("../chunks/_plugin-vue_export-helper.BHFhmbuH.cjs"),f={class:"m-reset-css m-animated-text"},k={class:"m-animated-text__last-word-inner"},v={class:"m-animated-text__last-word-inner-text"},g=e.defineComponent({inheritAttrs:!1,__name:"MazAnimatedText",props:{text:{},lastWord:{},delay:{default:0},direction:{default:"up"},tag:{default:"span"},wordDelay:{default:75},columnGap:{default:.5},rowGap:{default:0},duration:{default:2e3},once:{type:Boolean,default:!0}},setup(l){const o=e.computed(()=>l.text.split(" ")),c=e.computed(()=>o.value.length),s=e.ref(!1),r=e.ref(!1),i=e.computed(()=>s.value?`maz-animate-slide-${l.direction}-blur`:"maz-invisible"),n=e.ref();let a=null;return e.onMounted(()=>{r.value=!0,a=new IntersectionObserver(([t])=>{s.value=t.isIntersecting,l.once&&n.value&&(a==null||a.unobserve(n.value))}),p.checkAvailability(()=>n.value,t=>{a==null||a.observe(t)})}),e.onBeforeUnmount(()=>a==null?void 0:a.disconnect()),(t,m)=>(e.openBlock(),e.createElementBlock("div",f,[r.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),e.mergeProps({key:0,ref_key:"element",ref:n},t.$attrs,{class:"m-animated-text__root",style:{columnGap:`${t.columnGap}rem`,rowGap:`${t.rowGap}rem`}}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(d,u)=>(e.openBlock(),e.createElementBlock("span",{key:d+u,class:"m-animated-text__word"},[e.createElementVNode("span",{class:e.normalizeClass(["m-animated-text__word-inner",i.value]),style:e.normalizeStyle({animationDelay:`${t.delay+u*(t.wordDelay??150)}ms`,animationDuration:`${t.duration}ms`})},e.toDisplayString(d),7)]))),128)),t.lastWord?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["m-animated-text__last-word",i.value]),style:e.normalizeStyle({animationDelay:`${t.delay+c.value*(t.wordDelay??150)}ms`,animationDuration:`${t.duration}ms`})},[e.createElementVNode("span",k,[m[0]||(m[0]=e.createElementVNode("span",{class:"m-animated-text__last-word-inner-gradient"},null,-1)),e.createElementVNode("span",v,e.toDisplayString(t.lastWord),1)])],6)):e.createCommentVNode("",!0)]),_:1},16,["style"])):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),e.mergeProps({key:1},t.$attrs,{class:"maz-invisible maz-inline-flex"}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.text)+" ",1),t.lastWord?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(t.lastWord),1)],64)):e.createCommentVNode("",!0)]),_:1},16))]))}}),w=y._export_sfc(g,[["__scopeId","data-v-14f24748"]]);exports.default=w;
2
2
  //# sourceMappingURL=MazAnimatedText.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"MazAnimatedText.cjs","sources":["../../src/components/MazAnimatedText.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { checkAvailability } from '@helpers/checkAvailability'\nimport { computed, onBeforeUnmount, onMounted, ref } from 'vue'\n\nexport interface MazAnimatedTextProps {\n /**\n * The text to animate\n * @example \"Hello\"\n */\n text: string\n /**\n * The last word(s) to be highlighted\n * @example \"world\"\n */\n lastWord?: string\n /**\n * The delay of the animation\n * @default 0\n */\n delay?: number\n /**\n * The direction of the animation\n * @default \"up\"\n * @values \"up\", \"down\", \"left\", \"right\"\n */\n direction?: 'up' | 'down' | 'left' | 'right'\n /**\n * The tag to use for the text\n * @default \"span\"\n */\n tag?: string\n /**\n * The delay between each word\n * @default 75\n */\n wordDelay?: number\n /**\n * The column gap between each word\n * @default 0.5\n */\n columnGap?: number\n /**\n * The row gap between each word\n * @default 0\n */\n rowGap?: number\n /**\n * The duration of the animation\n * @default 2000\n */\n duration?: number\n /**\n * Play the animation only once\n * @default true\n */\n once?: boolean\n}\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst {\n text,\n lastWord,\n delay = 0,\n wordDelay = 75,\n direction = 'up',\n tag = 'span',\n columnGap = 0.5,\n rowGap = 0,\n duration = 2000,\n once = true,\n} = defineProps<MazAnimatedTextProps>()\n\nconst words = computed(() => text.split(' '))\n\nconst wordCount = computed(() => words.value.length)\n\nconst isVisible = ref(false)\nconst isClient = ref(false)\n\nconst animatedClass = computed(() => isVisible.value ? `maz-animate-slide-${direction}-blur` : 'maz-invisible')\n\nconst element = ref<HTMLDivElement>()\n\nlet observer: IntersectionObserver | null = null\n\nonMounted(() => {\n isClient.value = true\n\n observer = new IntersectionObserver(([entry]) => {\n isVisible.value = entry.isIntersecting\n\n if (once && element.value) {\n observer?.unobserve(element.value)\n }\n })\n\n checkAvailability(() => element.value, (element) => {\n observer?.observe(element)\n })\n})\n\nonBeforeUnmount(() => observer?.disconnect())\n</script>\n\n<template>\n <div class=\"m-reset-css m-animated-text\">\n <template v-if=\"isClient\">\n <Component :is=\"tag\" ref=\"element\" v-bind=\"$attrs\" class=\"m-animated-text__root\" :style=\"{ columnGap: `${columnGap}rem`, rowGap: `${rowGap}rem` }\">\n <span\n v-for=\"(word, index) in words\"\n :key=\"word + index\"\n class=\"m-animated-text__word\"\n >\n <span\n class=\"m-animated-text__word-inner\"\n :class=\"animatedClass\"\n :style=\"{\n animationDelay: `${delay + (index * (wordDelay ?? 150))}ms`,\n animationDuration: `${duration}ms`,\n }\"\n >\n {{ word }}\n </span>\n\n </span>\n\n <span\n v-if=\"lastWord\"\n class=\"m-animated-text__last-word\"\n :class=\"animatedClass\"\n :style=\"{\n animationDelay: `${delay + (wordCount * (wordDelay ?? 150))}ms`,\n animationDuration: `${duration}ms`,\n }\"\n >\n <span class=\"m-animated-text__last-word-inner\">\n <span class=\"m-animated-text__last-word-inner-gradient\" />\n <span class=\"m-animated-text__last-word-inner-text\">{{ lastWord }}</span>\n </span>\n </span>\n </Component>\n </template>\n\n <template v-else>\n <component :is=\"tag\" v-bind=\"$attrs\" class=\"maz-invisible maz-inline-flex\">\n {{ text }}\n\n <template v-if=\"lastWord\">\n {{ lastWord }}\n </template>\n </component>\n </template>\n </div>\n</template>\n\n<style scoped lang=\"postcss\">\n.m-animated-text {\n &__root {\n @apply maz-inline-flex maz-flex-wrap;\n }\n\n &__word {\n @apply maz-inline-flex;\n }\n\n &__word-inner {\n @apply maz-inline-flex;\n }\n\n &__last-word {\n @apply maz-inline-flex;\n }\n\n &__last-word-inner {\n @apply maz-relative maz-inline-flex;\n }\n\n &__last-word-inner-gradient {\n @apply maz-absolute maz-inset-0 maz-size-full maz-bg-gradient-to-r maz-from-primary maz-via-info maz-to-secondary maz-opacity-30 maz-blur-lg;\n }\n\n &__last-word-inner-text {\n @apply maz-relative;\n }\n}\n\n@keyframes slide-up-blur {\n from {\n opacity: 0;\n transform: translateY(20px);\n filter: blur(10px);\n }\n\n to {\n opacity: 1;\n transform: translateY(0);\n filter: blur(0);\n }\n}\n\n@keyframes slide-down-blur {\n from {\n opacity: 0;\n transform: translateY(-20px);\n filter: blur(10px);\n }\n\n to {\n opacity: 1;\n transform: translateY(0);\n filter: blur(0);\n }\n}\n\n@keyframes slide-left-blur {\n from {\n opacity: 0;\n transform: translateX(20px);\n filter: blur(10px);\n }\n\n to {\n opacity: 1;\n transform: translateX(0);\n filter: blur(0);\n }\n}\n\n@keyframes slide-right-blur {\n from {\n opacity: 0;\n transform: translateX(-20px);\n filter: blur(10px);\n }\n\n to {\n opacity: 1;\n transform: translateX(0);\n filter: blur(0);\n }\n}\n\n.maz-animate-slide-up-blur {\n animation: slide-up-blur cubic-bezier(0.16, 1, 0.3, 1) forwards;\n}\n\n.maz-animate-slide-down-blur {\n animation: slide-down-blur cubic-bezier(0.16, 1, 0.3, 1) forwards;\n}\n\n.maz-animate-slide-left-blur {\n animation: slide-left-blur cubic-bezier(0.16, 1, 0.3, 1) forwards;\n}\n\n.maz-animate-slide-right-blur {\n animation: slide-right-blur cubic-bezier(0.16, 1, 0.3, 1) forwards;\n}\n\n.maz-animate-slide-up-blur,\n.maz-animate-slide-down-blur,\n.maz-animate-slide-left-blur,\n.maz-animate-slide-right-blur {\n opacity: 0;\n}\n</style>\n"],"names":["words","computed","__props","wordCount","isVisible","ref","isClient","animatedClass","element","observer","onMounted","entry","checkAvailability","onBeforeUnmount"],"mappings":"gpBA2EA,MAAMA,EAAQC,EAAAA,SAAS,IAAMC,EAAI,KAAC,MAAM,GAAG,CAAC,EAEtCC,EAAYF,EAAA,SAAS,IAAMD,EAAM,MAAM,MAAM,EAE7CI,EAAYC,MAAI,EAAK,EACrBC,EAAWD,MAAI,EAAK,EAEpBE,EAAgBN,EAAAA,SAAS,IAAMG,EAAU,MAAQ,qBAAqBF,EAAA,SAAS,QAAU,eAAe,EAExGM,EAAUH,EAAAA,IAAoB,EAEpC,IAAII,EAAwC,KAE5CC,OAAAA,EAAAA,UAAU,IAAM,CACdJ,EAAS,MAAQ,GAEjBG,EAAW,IAAI,qBAAqB,CAAC,CAACE,CAAK,IAAM,CAC/CP,EAAU,MAAQO,EAAM,eAEpBT,EAAI,MAAIM,EAAQ,QACRC,GAAA,MAAAA,EAAA,UAAUD,EAAQ,OAC9B,CACD,EAEDI,EAAAA,kBAAkB,IAAMJ,EAAQ,MAAQA,GAAY,CAClDC,GAAA,MAAAA,EAAU,QAAQD,EAAO,CAC1B,CAAA,CACF,EAEeK,kBAAA,IAAMJ,GAAA,YAAAA,EAAU,YAAY"}
1
+ {"version":3,"file":"MazAnimatedText.cjs","sources":["../../src/components/MazAnimatedText.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, onBeforeUnmount, onMounted, ref } from 'vue'\nimport { checkAvailability } from '../helpers/checkAvailability'\n\nexport interface MazAnimatedTextProps {\n /**\n * The text to animate\n * @example \"Hello\"\n */\n text: string\n /**\n * The last word(s) to be highlighted\n * @example \"world\"\n */\n lastWord?: string\n /**\n * The delay of the animation\n * @default 0\n */\n delay?: number\n /**\n * The direction of the animation\n * @default \"up\"\n * @values \"up\", \"down\", \"left\", \"right\"\n */\n direction?: 'up' | 'down' | 'left' | 'right'\n /**\n * The tag to use for the text\n * @default \"span\"\n */\n tag?: string\n /**\n * The delay between each word\n * @default 75\n */\n wordDelay?: number\n /**\n * The column gap between each word\n * @default 0.5\n */\n columnGap?: number\n /**\n * The row gap between each word\n * @default 0\n */\n rowGap?: number\n /**\n * The duration of the animation\n * @default 2000\n */\n duration?: number\n /**\n * Play the animation only once\n * @default true\n */\n once?: boolean\n}\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst {\n text,\n lastWord,\n delay = 0,\n wordDelay = 75,\n direction = 'up',\n tag = 'span',\n columnGap = 0.5,\n rowGap = 0,\n duration = 2000,\n once = true,\n} = defineProps<MazAnimatedTextProps>()\n\nconst words = computed(() => text.split(' '))\n\nconst wordCount = computed(() => words.value.length)\n\nconst isVisible = ref(false)\nconst isClient = ref(false)\n\nconst animatedClass = computed(() => isVisible.value ? `maz-animate-slide-${direction}-blur` : 'maz-invisible')\n\nconst element = ref<HTMLDivElement>()\n\nlet observer: IntersectionObserver | null = null\n\nonMounted(() => {\n isClient.value = true\n\n observer = new IntersectionObserver(([entry]) => {\n isVisible.value = entry.isIntersecting\n\n if (once && element.value) {\n observer?.unobserve(element.value)\n }\n })\n\n checkAvailability(() => element.value, (element) => {\n observer?.observe(element)\n })\n})\n\nonBeforeUnmount(() => observer?.disconnect())\n</script>\n\n<template>\n <div class=\"m-reset-css m-animated-text\">\n <template v-if=\"isClient\">\n <Component :is=\"tag\" ref=\"element\" v-bind=\"$attrs\" class=\"m-animated-text__root\" :style=\"{ columnGap: `${columnGap}rem`, rowGap: `${rowGap}rem` }\">\n <span\n v-for=\"(word, index) in words\"\n :key=\"word + index\"\n class=\"m-animated-text__word\"\n >\n <span\n class=\"m-animated-text__word-inner\"\n :class=\"animatedClass\"\n :style=\"{\n animationDelay: `${delay + (index * (wordDelay ?? 150))}ms`,\n animationDuration: `${duration}ms`,\n }\"\n >\n {{ word }}\n </span>\n\n </span>\n\n <span\n v-if=\"lastWord\"\n class=\"m-animated-text__last-word\"\n :class=\"animatedClass\"\n :style=\"{\n animationDelay: `${delay + (wordCount * (wordDelay ?? 150))}ms`,\n animationDuration: `${duration}ms`,\n }\"\n >\n <span class=\"m-animated-text__last-word-inner\">\n <span class=\"m-animated-text__last-word-inner-gradient\" />\n <span class=\"m-animated-text__last-word-inner-text\">{{ lastWord }}</span>\n </span>\n </span>\n </Component>\n </template>\n\n <template v-else>\n <component :is=\"tag\" v-bind=\"$attrs\" class=\"maz-invisible maz-inline-flex\">\n {{ text }}\n\n <template v-if=\"lastWord\">\n {{ lastWord }}\n </template>\n </component>\n </template>\n </div>\n</template>\n\n<style scoped lang=\"postcss\">\n.m-animated-text {\n &__root {\n @apply maz-inline-flex maz-flex-wrap;\n }\n\n &__word {\n @apply maz-inline-flex;\n }\n\n &__word-inner {\n @apply maz-inline-flex;\n }\n\n &__last-word {\n @apply maz-inline-flex;\n }\n\n &__last-word-inner {\n @apply maz-relative maz-inline-flex;\n }\n\n &__last-word-inner-gradient {\n @apply maz-absolute maz-inset-0 maz-size-full maz-bg-gradient-to-r maz-from-primary maz-via-info maz-to-secondary maz-opacity-30 maz-blur-lg;\n }\n\n &__last-word-inner-text {\n @apply maz-relative;\n }\n}\n\n@keyframes slide-up-blur {\n from {\n opacity: 0;\n transform: translateY(20px);\n filter: blur(10px);\n }\n\n to {\n opacity: 1;\n transform: translateY(0);\n filter: blur(0);\n }\n}\n\n@keyframes slide-down-blur {\n from {\n opacity: 0;\n transform: translateY(-20px);\n filter: blur(10px);\n }\n\n to {\n opacity: 1;\n transform: translateY(0);\n filter: blur(0);\n }\n}\n\n@keyframes slide-left-blur {\n from {\n opacity: 0;\n transform: translateX(20px);\n filter: blur(10px);\n }\n\n to {\n opacity: 1;\n transform: translateX(0);\n filter: blur(0);\n }\n}\n\n@keyframes slide-right-blur {\n from {\n opacity: 0;\n transform: translateX(-20px);\n filter: blur(10px);\n }\n\n to {\n opacity: 1;\n transform: translateX(0);\n filter: blur(0);\n }\n}\n\n.maz-animate-slide-up-blur {\n animation: slide-up-blur cubic-bezier(0.16, 1, 0.3, 1) forwards;\n}\n\n.maz-animate-slide-down-blur {\n animation: slide-down-blur cubic-bezier(0.16, 1, 0.3, 1) forwards;\n}\n\n.maz-animate-slide-left-blur {\n animation: slide-left-blur cubic-bezier(0.16, 1, 0.3, 1) forwards;\n}\n\n.maz-animate-slide-right-blur {\n animation: slide-right-blur cubic-bezier(0.16, 1, 0.3, 1) forwards;\n}\n\n.maz-animate-slide-up-blur,\n.maz-animate-slide-down-blur,\n.maz-animate-slide-left-blur,\n.maz-animate-slide-right-blur {\n opacity: 0;\n}\n</style>\n"],"names":["words","computed","__props","wordCount","isVisible","ref","isClient","animatedClass","element","observer","onMounted","entry","checkAvailability","onBeforeUnmount"],"mappings":"gpBA2EA,MAAMA,EAAQC,EAAAA,SAAS,IAAMC,EAAI,KAAC,MAAM,GAAG,CAAC,EAEtCC,EAAYF,EAAA,SAAS,IAAMD,EAAM,MAAM,MAAM,EAE7CI,EAAYC,MAAI,EAAK,EACrBC,EAAWD,MAAI,EAAK,EAEpBE,EAAgBN,EAAAA,SAAS,IAAMG,EAAU,MAAQ,qBAAqBF,EAAA,SAAS,QAAU,eAAe,EAExGM,EAAUH,EAAAA,IAAoB,EAEpC,IAAII,EAAwC,KAE5CC,OAAAA,EAAAA,UAAU,IAAM,CACdJ,EAAS,MAAQ,GAEjBG,EAAW,IAAI,qBAAqB,CAAC,CAACE,CAAK,IAAM,CAC/CP,EAAU,MAAQO,EAAM,eAEpBT,EAAI,MAAIM,EAAQ,QACRC,GAAA,MAAAA,EAAA,UAAUD,EAAQ,OAC9B,CACD,EAEDI,EAAAA,kBAAkB,IAAMJ,EAAQ,MAAQA,GAAY,CAClDC,GAAA,MAAAA,EAAU,QAAQD,EAAO,CAC1B,CAAA,CACF,EAEeK,kBAAA,IAAMJ,GAAA,YAAAA,EAAU,YAAY"}
@@ -1,7 +1,7 @@
1
- import { defineComponent as B, computed as r, ref as d, onMounted as W, onBeforeUnmount as b, openBlock as a, createElementBlock as n, createBlock as w, resolveDynamicComponent as _, mergeProps as k, withCtx as g, Fragment as D, renderList as A, createElementVNode as s, normalizeClass as $, normalizeStyle as z, toDisplayString as o, createCommentVNode as C, createTextVNode as h } from "vue";
2
- import { checkAvailability as V } from "../helpers/checkAvailability.mjs";
1
+ import { defineComponent as B, computed as r, ref as m, onMounted as W, onBeforeUnmount as A, openBlock as a, createElementBlock as n, createBlock as w, resolveDynamicComponent as _, mergeProps as k, withCtx as g, Fragment as D, renderList as V, createElementVNode as s, normalizeClass as $, normalizeStyle as z, toDisplayString as o, createCommentVNode as C, createTextVNode as h } from "vue";
2
+ import { checkAvailability as b } from "../helpers/checkAvailability.mjs";
3
3
  import { _ as I } from "../chunks/_plugin-vue_export-helper.CHgC5LLL.mjs";
4
- import '../assets/MazAnimatedText.Dk4QO4xF.css';const M = { class: "m-reset-css m-animated-text" }, N = { class: "m-animated-text__last-word-inner" }, T = { class: "m-animated-text__last-word-inner-text" }, x = /* @__PURE__ */ B({
4
+ import '../assets/MazAnimatedText.BM3XYGO2.css';const M = { class: "m-reset-css m-animated-text" }, N = { class: "m-animated-text__last-word-inner" }, T = { class: "m-animated-text__last-word-inner-text" }, x = /* @__PURE__ */ B({
5
5
  inheritAttrs: !1,
6
6
  __name: "MazAnimatedText",
7
7
  props: {
@@ -17,15 +17,15 @@ import '../assets/MazAnimatedText.Dk4QO4xF.css';const M = { class: "m-reset-css
17
17
  once: { type: Boolean, default: !0 }
18
18
  },
19
19
  setup(i) {
20
- const m = r(() => i.text.split(" ")), G = r(() => m.value.length), u = d(!1), c = d(!1), p = r(() => u.value ? `maz-animate-slide-${i.direction}-blur` : "maz-invisible"), l = d();
20
+ const d = r(() => i.text.split(" ")), G = r(() => d.value.length), u = m(!1), c = m(!1), f = r(() => u.value ? `maz-animate-slide-${i.direction}-blur` : "maz-invisible"), l = m();
21
21
  let t = null;
22
22
  return W(() => {
23
23
  c.value = !0, t = new IntersectionObserver(([e]) => {
24
24
  u.value = e.isIntersecting, i.once && l.value && (t == null || t.unobserve(l.value));
25
- }), V(() => l.value, (e) => {
25
+ }), b(() => l.value, (e) => {
26
26
  t == null || t.observe(e);
27
27
  });
28
- }), b(() => t == null ? void 0 : t.disconnect()), (e, f) => (a(), n("div", M, [
28
+ }), A(() => t == null ? void 0 : t.disconnect()), (e, p) => (a(), n("div", M, [
29
29
  c.value ? (a(), w(_(e.tag), k({
30
30
  key: 0,
31
31
  ref_key: "element",
@@ -35,12 +35,12 @@ import '../assets/MazAnimatedText.Dk4QO4xF.css';const M = { class: "m-reset-css
35
35
  style: { columnGap: `${e.columnGap}rem`, rowGap: `${e.rowGap}rem` }
36
36
  }), {
37
37
  default: g(() => [
38
- (a(!0), n(D, null, A(m.value, (y, v) => (a(), n("span", {
38
+ (a(!0), n(D, null, V(d.value, (y, v) => (a(), n("span", {
39
39
  key: y + v,
40
40
  class: "m-animated-text__word"
41
41
  }, [
42
42
  s("span", {
43
- class: $(["m-animated-text__word-inner", p.value]),
43
+ class: $(["m-animated-text__word-inner", f.value]),
44
44
  style: z({
45
45
  animationDelay: `${e.delay + v * (e.wordDelay ?? 150)}ms`,
46
46
  animationDuration: `${e.duration}ms`
@@ -49,14 +49,14 @@ import '../assets/MazAnimatedText.Dk4QO4xF.css';const M = { class: "m-reset-css
49
49
  ]))), 128)),
50
50
  e.lastWord ? (a(), n("span", {
51
51
  key: 0,
52
- class: $(["m-animated-text__last-word", p.value]),
52
+ class: $(["m-animated-text__last-word", f.value]),
53
53
  style: z({
54
54
  animationDelay: `${e.delay + G.value * (e.wordDelay ?? 150)}ms`,
55
55
  animationDuration: `${e.duration}ms`
56
56
  })
57
57
  }, [
58
58
  s("span", N, [
59
- f[0] || (f[0] = s("span", { class: "m-animated-text__last-word-inner-gradient" }, null, -1)),
59
+ p[0] || (p[0] = s("span", { class: "m-animated-text__last-word-inner-gradient" }, null, -1)),
60
60
  s("span", T, o(e.lastWord), 1)
61
61
  ])
62
62
  ], 6)) : C("", !0)
@@ -73,7 +73,7 @@ import '../assets/MazAnimatedText.Dk4QO4xF.css';const M = { class: "m-reset-css
73
73
  }, 16))
74
74
  ]));
75
75
  }
76
- }), L = /* @__PURE__ */ I(x, [["__scopeId", "data-v-429dbc75"]]);
76
+ }), L = /* @__PURE__ */ I(x, [["__scopeId", "data-v-14f24748"]]);
77
77
  export {
78
78
  L as default
79
79
  };
@@ -1 +1 @@
1
- {"version":3,"file":"MazAnimatedText.mjs","sources":["../../src/components/MazAnimatedText.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { checkAvailability } from '@helpers/checkAvailability'\nimport { computed, onBeforeUnmount, onMounted, ref } from 'vue'\n\nexport interface MazAnimatedTextProps {\n /**\n * The text to animate\n * @example \"Hello\"\n */\n text: string\n /**\n * The last word(s) to be highlighted\n * @example \"world\"\n */\n lastWord?: string\n /**\n * The delay of the animation\n * @default 0\n */\n delay?: number\n /**\n * The direction of the animation\n * @default \"up\"\n * @values \"up\", \"down\", \"left\", \"right\"\n */\n direction?: 'up' | 'down' | 'left' | 'right'\n /**\n * The tag to use for the text\n * @default \"span\"\n */\n tag?: string\n /**\n * The delay between each word\n * @default 75\n */\n wordDelay?: number\n /**\n * The column gap between each word\n * @default 0.5\n */\n columnGap?: number\n /**\n * The row gap between each word\n * @default 0\n */\n rowGap?: number\n /**\n * The duration of the animation\n * @default 2000\n */\n duration?: number\n /**\n * Play the animation only once\n * @default true\n */\n once?: boolean\n}\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst {\n text,\n lastWord,\n delay = 0,\n wordDelay = 75,\n direction = 'up',\n tag = 'span',\n columnGap = 0.5,\n rowGap = 0,\n duration = 2000,\n once = true,\n} = defineProps<MazAnimatedTextProps>()\n\nconst words = computed(() => text.split(' '))\n\nconst wordCount = computed(() => words.value.length)\n\nconst isVisible = ref(false)\nconst isClient = ref(false)\n\nconst animatedClass = computed(() => isVisible.value ? `maz-animate-slide-${direction}-blur` : 'maz-invisible')\n\nconst element = ref<HTMLDivElement>()\n\nlet observer: IntersectionObserver | null = null\n\nonMounted(() => {\n isClient.value = true\n\n observer = new IntersectionObserver(([entry]) => {\n isVisible.value = entry.isIntersecting\n\n if (once && element.value) {\n observer?.unobserve(element.value)\n }\n })\n\n checkAvailability(() => element.value, (element) => {\n observer?.observe(element)\n })\n})\n\nonBeforeUnmount(() => observer?.disconnect())\n</script>\n\n<template>\n <div class=\"m-reset-css m-animated-text\">\n <template v-if=\"isClient\">\n <Component :is=\"tag\" ref=\"element\" v-bind=\"$attrs\" class=\"m-animated-text__root\" :style=\"{ columnGap: `${columnGap}rem`, rowGap: `${rowGap}rem` }\">\n <span\n v-for=\"(word, index) in words\"\n :key=\"word + index\"\n class=\"m-animated-text__word\"\n >\n <span\n class=\"m-animated-text__word-inner\"\n :class=\"animatedClass\"\n :style=\"{\n animationDelay: `${delay + (index * (wordDelay ?? 150))}ms`,\n animationDuration: `${duration}ms`,\n }\"\n >\n {{ word }}\n </span>\n\n </span>\n\n <span\n v-if=\"lastWord\"\n class=\"m-animated-text__last-word\"\n :class=\"animatedClass\"\n :style=\"{\n animationDelay: `${delay + (wordCount * (wordDelay ?? 150))}ms`,\n animationDuration: `${duration}ms`,\n }\"\n >\n <span class=\"m-animated-text__last-word-inner\">\n <span class=\"m-animated-text__last-word-inner-gradient\" />\n <span class=\"m-animated-text__last-word-inner-text\">{{ lastWord }}</span>\n </span>\n </span>\n </Component>\n </template>\n\n <template v-else>\n <component :is=\"tag\" v-bind=\"$attrs\" class=\"maz-invisible maz-inline-flex\">\n {{ text }}\n\n <template v-if=\"lastWord\">\n {{ lastWord }}\n </template>\n </component>\n </template>\n </div>\n</template>\n\n<style scoped lang=\"postcss\">\n.m-animated-text {\n &__root {\n @apply maz-inline-flex maz-flex-wrap;\n }\n\n &__word {\n @apply maz-inline-flex;\n }\n\n &__word-inner {\n @apply maz-inline-flex;\n }\n\n &__last-word {\n @apply maz-inline-flex;\n }\n\n &__last-word-inner {\n @apply maz-relative maz-inline-flex;\n }\n\n &__last-word-inner-gradient {\n @apply maz-absolute maz-inset-0 maz-size-full maz-bg-gradient-to-r maz-from-primary maz-via-info maz-to-secondary maz-opacity-30 maz-blur-lg;\n }\n\n &__last-word-inner-text {\n @apply maz-relative;\n }\n}\n\n@keyframes slide-up-blur {\n from {\n opacity: 0;\n transform: translateY(20px);\n filter: blur(10px);\n }\n\n to {\n opacity: 1;\n transform: translateY(0);\n filter: blur(0);\n }\n}\n\n@keyframes slide-down-blur {\n from {\n opacity: 0;\n transform: translateY(-20px);\n filter: blur(10px);\n }\n\n to {\n opacity: 1;\n transform: translateY(0);\n filter: blur(0);\n }\n}\n\n@keyframes slide-left-blur {\n from {\n opacity: 0;\n transform: translateX(20px);\n filter: blur(10px);\n }\n\n to {\n opacity: 1;\n transform: translateX(0);\n filter: blur(0);\n }\n}\n\n@keyframes slide-right-blur {\n from {\n opacity: 0;\n transform: translateX(-20px);\n filter: blur(10px);\n }\n\n to {\n opacity: 1;\n transform: translateX(0);\n filter: blur(0);\n }\n}\n\n.maz-animate-slide-up-blur {\n animation: slide-up-blur cubic-bezier(0.16, 1, 0.3, 1) forwards;\n}\n\n.maz-animate-slide-down-blur {\n animation: slide-down-blur cubic-bezier(0.16, 1, 0.3, 1) forwards;\n}\n\n.maz-animate-slide-left-blur {\n animation: slide-left-blur cubic-bezier(0.16, 1, 0.3, 1) forwards;\n}\n\n.maz-animate-slide-right-blur {\n animation: slide-right-blur cubic-bezier(0.16, 1, 0.3, 1) forwards;\n}\n\n.maz-animate-slide-up-blur,\n.maz-animate-slide-down-blur,\n.maz-animate-slide-left-blur,\n.maz-animate-slide-right-blur {\n opacity: 0;\n}\n</style>\n"],"names":["words","computed","__props","wordCount","isVisible","ref","isClient","animatedClass","element","observer","onMounted","entry","checkAvailability","onBeforeUnmount"],"mappings":";;;;;;;;;;;;;;;;;;;AA2EA,UAAMA,IAAQC,EAAS,MAAMC,EAAI,KAAC,MAAM,GAAG,CAAC,GAEtCC,IAAYF,EAAS,MAAMD,EAAM,MAAM,MAAM,GAE7CI,IAAYC,EAAI,EAAK,GACrBC,IAAWD,EAAI,EAAK,GAEpBE,IAAgBN,EAAS,MAAMG,EAAU,QAAQ,qBAAqBF,EAAA,SAAS,UAAU,eAAe,GAExGM,IAAUH,EAAoB;AAEpC,QAAII,IAAwC;AAE5C,WAAAC,EAAU,MAAM;AACd,MAAAJ,EAAS,QAAQ,IAEjBG,IAAW,IAAI,qBAAqB,CAAC,CAACE,CAAK,MAAM;AAC/C,QAAAP,EAAU,QAAQO,EAAM,gBAEpBT,EAAI,QAAIM,EAAQ,UACRC,KAAA,QAAAA,EAAA,UAAUD,EAAQ;AAAA,MAC9B,CACD,GAEDI,EAAkB,MAAMJ,EAAQ,OAAO,CAACA,MAAY;AAClD,QAAAC,KAAA,QAAAA,EAAU,QAAQD;AAAAA,MAAO,CAC1B;AAAA,IAAA,CACF,GAEeK,EAAA,MAAMJ,KAAA,gBAAAA,EAAU,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"MazAnimatedText.mjs","sources":["../../src/components/MazAnimatedText.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, onBeforeUnmount, onMounted, ref } from 'vue'\nimport { checkAvailability } from '../helpers/checkAvailability'\n\nexport interface MazAnimatedTextProps {\n /**\n * The text to animate\n * @example \"Hello\"\n */\n text: string\n /**\n * The last word(s) to be highlighted\n * @example \"world\"\n */\n lastWord?: string\n /**\n * The delay of the animation\n * @default 0\n */\n delay?: number\n /**\n * The direction of the animation\n * @default \"up\"\n * @values \"up\", \"down\", \"left\", \"right\"\n */\n direction?: 'up' | 'down' | 'left' | 'right'\n /**\n * The tag to use for the text\n * @default \"span\"\n */\n tag?: string\n /**\n * The delay between each word\n * @default 75\n */\n wordDelay?: number\n /**\n * The column gap between each word\n * @default 0.5\n */\n columnGap?: number\n /**\n * The row gap between each word\n * @default 0\n */\n rowGap?: number\n /**\n * The duration of the animation\n * @default 2000\n */\n duration?: number\n /**\n * Play the animation only once\n * @default true\n */\n once?: boolean\n}\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst {\n text,\n lastWord,\n delay = 0,\n wordDelay = 75,\n direction = 'up',\n tag = 'span',\n columnGap = 0.5,\n rowGap = 0,\n duration = 2000,\n once = true,\n} = defineProps<MazAnimatedTextProps>()\n\nconst words = computed(() => text.split(' '))\n\nconst wordCount = computed(() => words.value.length)\n\nconst isVisible = ref(false)\nconst isClient = ref(false)\n\nconst animatedClass = computed(() => isVisible.value ? `maz-animate-slide-${direction}-blur` : 'maz-invisible')\n\nconst element = ref<HTMLDivElement>()\n\nlet observer: IntersectionObserver | null = null\n\nonMounted(() => {\n isClient.value = true\n\n observer = new IntersectionObserver(([entry]) => {\n isVisible.value = entry.isIntersecting\n\n if (once && element.value) {\n observer?.unobserve(element.value)\n }\n })\n\n checkAvailability(() => element.value, (element) => {\n observer?.observe(element)\n })\n})\n\nonBeforeUnmount(() => observer?.disconnect())\n</script>\n\n<template>\n <div class=\"m-reset-css m-animated-text\">\n <template v-if=\"isClient\">\n <Component :is=\"tag\" ref=\"element\" v-bind=\"$attrs\" class=\"m-animated-text__root\" :style=\"{ columnGap: `${columnGap}rem`, rowGap: `${rowGap}rem` }\">\n <span\n v-for=\"(word, index) in words\"\n :key=\"word + index\"\n class=\"m-animated-text__word\"\n >\n <span\n class=\"m-animated-text__word-inner\"\n :class=\"animatedClass\"\n :style=\"{\n animationDelay: `${delay + (index * (wordDelay ?? 150))}ms`,\n animationDuration: `${duration}ms`,\n }\"\n >\n {{ word }}\n </span>\n\n </span>\n\n <span\n v-if=\"lastWord\"\n class=\"m-animated-text__last-word\"\n :class=\"animatedClass\"\n :style=\"{\n animationDelay: `${delay + (wordCount * (wordDelay ?? 150))}ms`,\n animationDuration: `${duration}ms`,\n }\"\n >\n <span class=\"m-animated-text__last-word-inner\">\n <span class=\"m-animated-text__last-word-inner-gradient\" />\n <span class=\"m-animated-text__last-word-inner-text\">{{ lastWord }}</span>\n </span>\n </span>\n </Component>\n </template>\n\n <template v-else>\n <component :is=\"tag\" v-bind=\"$attrs\" class=\"maz-invisible maz-inline-flex\">\n {{ text }}\n\n <template v-if=\"lastWord\">\n {{ lastWord }}\n </template>\n </component>\n </template>\n </div>\n</template>\n\n<style scoped lang=\"postcss\">\n.m-animated-text {\n &__root {\n @apply maz-inline-flex maz-flex-wrap;\n }\n\n &__word {\n @apply maz-inline-flex;\n }\n\n &__word-inner {\n @apply maz-inline-flex;\n }\n\n &__last-word {\n @apply maz-inline-flex;\n }\n\n &__last-word-inner {\n @apply maz-relative maz-inline-flex;\n }\n\n &__last-word-inner-gradient {\n @apply maz-absolute maz-inset-0 maz-size-full maz-bg-gradient-to-r maz-from-primary maz-via-info maz-to-secondary maz-opacity-30 maz-blur-lg;\n }\n\n &__last-word-inner-text {\n @apply maz-relative;\n }\n}\n\n@keyframes slide-up-blur {\n from {\n opacity: 0;\n transform: translateY(20px);\n filter: blur(10px);\n }\n\n to {\n opacity: 1;\n transform: translateY(0);\n filter: blur(0);\n }\n}\n\n@keyframes slide-down-blur {\n from {\n opacity: 0;\n transform: translateY(-20px);\n filter: blur(10px);\n }\n\n to {\n opacity: 1;\n transform: translateY(0);\n filter: blur(0);\n }\n}\n\n@keyframes slide-left-blur {\n from {\n opacity: 0;\n transform: translateX(20px);\n filter: blur(10px);\n }\n\n to {\n opacity: 1;\n transform: translateX(0);\n filter: blur(0);\n }\n}\n\n@keyframes slide-right-blur {\n from {\n opacity: 0;\n transform: translateX(-20px);\n filter: blur(10px);\n }\n\n to {\n opacity: 1;\n transform: translateX(0);\n filter: blur(0);\n }\n}\n\n.maz-animate-slide-up-blur {\n animation: slide-up-blur cubic-bezier(0.16, 1, 0.3, 1) forwards;\n}\n\n.maz-animate-slide-down-blur {\n animation: slide-down-blur cubic-bezier(0.16, 1, 0.3, 1) forwards;\n}\n\n.maz-animate-slide-left-blur {\n animation: slide-left-blur cubic-bezier(0.16, 1, 0.3, 1) forwards;\n}\n\n.maz-animate-slide-right-blur {\n animation: slide-right-blur cubic-bezier(0.16, 1, 0.3, 1) forwards;\n}\n\n.maz-animate-slide-up-blur,\n.maz-animate-slide-down-blur,\n.maz-animate-slide-left-blur,\n.maz-animate-slide-right-blur {\n opacity: 0;\n}\n</style>\n"],"names":["words","computed","__props","wordCount","isVisible","ref","isClient","animatedClass","element","observer","onMounted","entry","checkAvailability","onBeforeUnmount"],"mappings":";;;;;;;;;;;;;;;;;;;AA2EA,UAAMA,IAAQC,EAAS,MAAMC,EAAI,KAAC,MAAM,GAAG,CAAC,GAEtCC,IAAYF,EAAS,MAAMD,EAAM,MAAM,MAAM,GAE7CI,IAAYC,EAAI,EAAK,GACrBC,IAAWD,EAAI,EAAK,GAEpBE,IAAgBN,EAAS,MAAMG,EAAU,QAAQ,qBAAqBF,EAAA,SAAS,UAAU,eAAe,GAExGM,IAAUH,EAAoB;AAEpC,QAAII,IAAwC;AAE5C,WAAAC,EAAU,MAAM;AACd,MAAAJ,EAAS,QAAQ,IAEjBG,IAAW,IAAI,qBAAqB,CAAC,CAACE,CAAK,MAAM;AAC/C,QAAAP,EAAU,QAAQO,EAAM,gBAEpBT,EAAI,QAAIM,EAAQ,UACRC,KAAA,QAAAA,EAAA,UAAUD,EAAQ;AAAA,MAC9B,CACD,GAEDI,EAAkB,MAAMJ,EAAQ,OAAO,CAACA,MAAY;AAClD,QAAAC,KAAA,QAAAA,EAAU,QAAQD;AAAAA,MAAO,CAC1B;AAAA,IAAA,CACF,GAEeK,EAAA,MAAMJ,KAAA,gBAAAA,EAAU,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('../assets/MazAvatar.L1UreldR.css');const o=require("vue"),g=require("../chunks/_plugin-vue_export-helper.BHFhmbuH.cjs"),b=["tabindex"],v=["src","alt","loading"],y={class:"m-avatar__initial"},C={key:0,class:"m-avatar__caption"},B=o.defineComponent({__name:"MazAvatar",props:{style:{},class:{},src:{default:void 0},caption:{default:void 0},href:{default:void 0},to:{default:void 0},alt:{default:"avatar image"},target:{default:"_self"},size:{default:void 0},bordered:{type:Boolean},clickable:{type:Boolean},square:{type:Boolean},noElevation:{type:Boolean},showCaption:{type:Boolean},imageHeightFull:{type:Boolean},noLoader:{type:Boolean},buttonColor:{default:"info"},noClickableIcon:{type:Boolean},letterCount:{default:void 0},roundedSize:{default:"full"},fallbackSrc:{default:void 0},noPhoto:{type:Boolean},loading:{default:"intersecting"}},emits:["click","intersecting","loading","loaded","error"],setup(n,{emit:i}){const l=n,s=i,c=o.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./MazLazyImg.cjs"))),d=o.defineAsyncComponent(()=>Promise.resolve().then(()=>require("../chunks/pencil.TIXFeSep.cjs"))),u=o.computed(()=>l.to?"RouterLink":l.href?"a":"div"),r=o.computed(()=>!!l.to||!!l.href);function m(e,t=l.letterCount){return e.split(" ").map(k=>k[0]).join("").slice(0,t)}const p=o.computed(()=>l.src||!l.src&&!l.caption);function f(e){if(s("error",e.target),l.fallbackSrc&&e.target instanceof HTMLImageElement){const t=new URL(e.target.src),a=new URL(l.fallbackSrc);if(t.href===a.href)return;e.target.src=l.fallbackSrc}}return(e,t)=>(o.openBlock(),o.createBlock(o.resolveDynamicComponent(u.value),{style:o.normalizeStyle([{fontSize:e.size},e.style]),class:o.normalizeClass(["m-avatar m-reset-css",[{"--has-link":r.value},l.class]]),href:e.href,to:e.to,target:r.value?e.target:void 0},{default:o.withCtx(()=>[o.createElementVNode("div",{class:o.normalizeClass(["m-avatar__wrapper",[{"--has-shadow":!e.noElevation,"--bordered":e.bordered,"--clickable":e.clickable,"--has-initial":!e.src&&e.caption},`--rounded-${e.square?"none":e.roundedSize}`]]),tabindex:e.clickable?0:-1},[p.value?(o.openBlock(),o.createElementBlock(o.Fragment,{key:0},[e.loading==="intersecting"?(o.openBlock(),o.createBlock(o.unref(c),o.mergeProps({key:0},e.$attrs,{class:"m-avatar__picture maz-w-full maz-max-w-full",src:e.src,alt:e.alt,"no-photo":e.noPhoto,"image-height-full":"","no-loader":e.noLoader,"fallback-src":e.fallbackSrc,onClick:t[0]||(t[0]=a=>e.clickable?e.$emit("click",a):null),onError:t[1]||(t[1]=a=>e.$emit("error",a)),onLoaded:t[2]||(t[2]=a=>e.$emit("loaded",a)),onLoading:t[3]||(t[3]=a=>e.$emit("loading",a)),onIntersecting:t[4]||(t[4]=a=>e.$emit("intersecting",a))}),null,16,["src","alt","no-photo","no-loader","fallback-src"])):(o.openBlock(),o.createElementBlock("img",{key:1,class:"m-avatar__picture maz-w-full maz-max-w-full",src:e.src??e.fallbackSrc,alt:e.alt,loading:e.loading,onError:f},null,40,v))],64)):o.createCommentVNode("",!0),e.caption&&!e.src?o.renderSlot(e.$slots,"round-text",{key:1},()=>[o.createElementVNode("span",y,o.toDisplayString(m(e.caption)),1)],!0):o.createCommentVNode("",!0),e.clickable?(o.openBlock(),o.createElementBlock("button",{key:2,type:"button",tabindex:"-1",class:"m-avatar__button",style:o.normalizeStyle({backgroundColor:e.src?`var(--maz-color-${e.buttonColor}-alpha)`:`var(--maz-color-${e.buttonColor})`}),onClick:t[5]||(t[5]=a=>e.$emit("click",a))},[e.noClickableIcon?o.createCommentVNode("",!0):o.renderSlot(e.$slots,"icon",{key:0},()=>[o.createVNode(o.unref(d),{class:"m-avatar__button__icon"})],!0)],4)):o.createCommentVNode("",!0)],10,b),o.renderSlot(e.$slots,"caption",{},()=>[e.showCaption&&e.caption?(o.openBlock(),o.createElementBlock("p",C,o.toDisplayString(e.caption),1)):o.createCommentVNode("",!0)],!0)]),_:3},8,["style","class","href","to","target"]))}}),h=g._export_sfc(B,[["__scopeId","data-v-ba997cf5"]]);exports.default=h;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('../assets/MazAvatar.udTL0S0c.css');const o=require("vue"),g=require("../chunks/_plugin-vue_export-helper.BHFhmbuH.cjs"),b=["tabindex"],v=["src","alt","loading"],y={class:"m-avatar__initial"},C={key:0,class:"m-avatar__caption"},B=o.defineComponent({__name:"MazAvatar",props:{style:{},class:{},src:{default:void 0},caption:{default:void 0},href:{default:void 0},to:{default:void 0},alt:{default:"avatar image"},target:{default:"_self"},size:{default:void 0},bordered:{type:Boolean},clickable:{type:Boolean},square:{type:Boolean},noElevation:{type:Boolean},showCaption:{type:Boolean},imageHeightFull:{type:Boolean},noLoader:{type:Boolean},buttonColor:{default:"info"},noClickableIcon:{type:Boolean},letterCount:{default:void 0},roundedSize:{default:"full"},fallbackSrc:{default:void 0},noPhoto:{type:Boolean},loading:{default:"intersecting"}},emits:["click","intersecting","loading","loaded","error"],setup(n,{emit:i}){const l=n,s=i,d=o.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./MazLazyImg.cjs"))),c=o.defineAsyncComponent(()=>Promise.resolve().then(()=>require("../chunks/pencil.TIXFeSep.cjs"))),u=o.computed(()=>l.to?"RouterLink":l.href?"a":"div"),r=o.computed(()=>!!l.to||!!l.href);function m(e,t=l.letterCount){return e.split(" ").map(k=>k[0]).join("").slice(0,t)}const p=o.computed(()=>l.src||!l.src&&!l.caption);function f(e){if(s("error",e.target),l.fallbackSrc&&e.target instanceof HTMLImageElement){const t=new URL(e.target.src),a=new URL(l.fallbackSrc);if(t.href===a.href)return;e.target.src=l.fallbackSrc}}return(e,t)=>(o.openBlock(),o.createBlock(o.resolveDynamicComponent(u.value),{style:o.normalizeStyle([{fontSize:e.size},e.style]),class:o.normalizeClass(["m-avatar m-reset-css",[{"--has-link":r.value},l.class]]),href:e.href,to:e.to,target:r.value?e.target:void 0},{default:o.withCtx(()=>[o.createElementVNode("div",{class:o.normalizeClass(["m-avatar__wrapper",[{"--has-shadow":!e.noElevation,"--bordered":e.bordered,"--clickable":e.clickable,"--has-initial":!e.src&&e.caption},`--rounded-${e.square?"none":e.roundedSize}`]]),tabindex:e.clickable?0:-1},[p.value?(o.openBlock(),o.createElementBlock(o.Fragment,{key:0},[e.loading==="intersecting"?(o.openBlock(),o.createBlock(o.unref(d),o.mergeProps({key:0},e.$attrs,{class:"m-avatar__picture maz-w-full maz-max-w-full",src:e.src,alt:e.alt,"no-photo":e.noPhoto,"image-height-full":"","no-loader":e.noLoader,"fallback-src":e.fallbackSrc,onClick:t[0]||(t[0]=a=>e.clickable?e.$emit("click",a):null),onError:t[1]||(t[1]=a=>e.$emit("error",a)),onLoaded:t[2]||(t[2]=a=>e.$emit("loaded",a)),onLoading:t[3]||(t[3]=a=>e.$emit("loading",a)),onIntersecting:t[4]||(t[4]=a=>e.$emit("intersecting",a))}),null,16,["src","alt","no-photo","no-loader","fallback-src"])):(o.openBlock(),o.createElementBlock("img",{key:1,class:"m-avatar__picture maz-w-full maz-max-w-full",src:e.src??e.fallbackSrc,alt:e.alt,loading:e.loading,onError:f},null,40,v))],64)):o.createCommentVNode("",!0),e.caption&&!e.src?o.renderSlot(e.$slots,"round-text",{key:1},()=>[o.createElementVNode("span",y,o.toDisplayString(m(e.caption)),1)],!0):o.createCommentVNode("",!0),e.clickable?(o.openBlock(),o.createElementBlock("button",{key:2,type:"button",tabindex:"-1",class:"m-avatar__button",style:o.normalizeStyle({backgroundColor:e.src?`var(--maz-color-${e.buttonColor}-alpha)`:`var(--maz-color-${e.buttonColor})`}),onClick:t[5]||(t[5]=a=>e.$emit("click",a))},[e.noClickableIcon?o.createCommentVNode("",!0):o.renderSlot(e.$slots,"icon",{key:0},()=>[o.createVNode(o.unref(c),{class:"m-avatar__button__icon"})],!0)],4)):o.createCommentVNode("",!0)],10,b),o.renderSlot(e.$slots,"caption",{},()=>[e.showCaption&&e.caption?(o.openBlock(),o.createElementBlock("p",C,o.toDisplayString(e.caption),1)):o.createCommentVNode("",!0)],!0)]),_:3},8,["style","class","href","to","target"]))}}),h=g._export_sfc(B,[["__scopeId","data-v-6324fe57"]]);exports.default=h;
2
2
  //# sourceMappingURL=MazAvatar.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"MazAvatar.cjs","sources":["../../src/components/MazAvatar.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { Color } from '@components/types'\nimport type { HTMLAttributes } from 'vue'\n\nimport { computed, defineAsyncComponent } from 'vue'\n\nconst props = withDefaults(defineProps<MazAvatarProps>(), {\n src: undefined,\n caption: undefined,\n href: undefined,\n to: undefined,\n alt: 'avatar image',\n target: '_self',\n size: undefined,\n buttonColor: 'info',\n letterCount: undefined,\n roundedSize: 'full',\n fallbackSrc: undefined,\n loading: 'intersecting',\n})\n\nconst emits = defineEmits<{\n /** Emitted when the avatar is clicked */\n (name: 'click', event: MouseEvent): void\n /** Emitted when the image is intersecting */\n (name: 'intersecting', el: Element): void\n /** Emitted when the image is loading */\n (name: 'loading', el: Element): void\n /** Emitted when the image is loaded */\n (name: 'loaded', el: Element): void\n /** Emitted when the image is in error */\n (name: 'error', el: Element): void\n}>()\n\nconst MazLazyImg = defineAsyncComponent(() => import('@components/MazLazyImg.vue'))\nconst PencilIcon = defineAsyncComponent(() => import('@icons/pencil.svg'))\n\nexport interface MazAvatarProps {\n /** The style of the component */\n style?: HTMLAttributes['style']\n /** The class of the component */\n class?: HTMLAttributes['class']\n /** The source of the image */\n src?: string | null\n /** The caption of the avatar */\n caption?: string | null\n /** The link of the avatar */\n href?: string\n /** The link (router-link) of the avatar */\n to?: string | Record<string, unknown>\n /** The alt of the image */\n alt?: string\n /** The target of the link */\n target?: string\n /** The size of the avatar */\n size?: string\n /** Add a border to the avatar */\n bordered?: boolean\n /** Make the avatar clickable */\n clickable?: boolean\n /** Make the avatar square */\n square?: boolean\n /** Remove the shadow */\n noElevation?: boolean\n /** Show the caption */\n showCaption?: boolean\n /** Make the image height full */\n imageHeightFull?: boolean\n /** Remove the loader */\n noLoader?: boolean\n /** The color of the clickable button */\n buttonColor?: Color\n /** Remove the icon on hover when component is clickable */\n noClickableIcon?: boolean\n /** Number of letters to display in the round text */\n letterCount?: number\n /**\n * Size of the rounded\n * @values `'none' | 'sm' | 'md' | 'lg' | 'xl' | 'full'`\n */\n roundedSize?: 'none' | 'sm' | 'md' | 'lg' | 'xl' | 'full'\n /** The fallback src to replace the src on loading error */\n fallbackSrc?: string\n /** Load the fallback image by default */\n noPhoto?: boolean\n /**\n * The loading strategy of the image - lazy, eager or intersecting\n * @default 'intersecting'\n * @values `'lazy' | 'eager' | 'intersecting'`\n */\n loading?: 'lazy' | 'eager' | 'intersecting'\n}\n\nconst componentType = computed(() => {\n if (props.to)\n return 'RouterLink'\n if (props.href)\n return 'a'\n return 'div'\n})\nconst isLink = computed(() => !!props.to || !!props.href)\n\nfunction getInitials(name: string, lettersCount = props.letterCount) {\n const words = name.split(' ')\n\n const initials = words.map(word => word[0])\n\n const letters = initials.join('')\n\n return letters.slice(0, lettersCount)\n}\n\nconst shouldDisplayImg = computed(() => props.src || (!props.src && !props.caption))\n\nfunction handleImageError(event: Event) {\n emits('error', event.target as Element)\n\n if (props.fallbackSrc && event.target instanceof HTMLImageElement) {\n const currentSrc = new URL(event.target.src)\n const fallbackSrc = new URL(props.fallbackSrc)\n\n if (currentSrc.href === fallbackSrc.href) {\n return\n }\n\n event.target.src = props.fallbackSrc\n }\n}\n</script>\n\n<template>\n <Component\n :is=\"componentType\"\n :style=\"[{ fontSize: size }, style]\"\n class=\"m-avatar m-reset-css\"\n :class=\"[\n {\n '--has-link': isLink,\n },\n props.class,\n ]\"\n :href\n :to=\"to\"\n :target=\"isLink ? target : undefined\"\n >\n <div\n class=\"m-avatar__wrapper\"\n :tabindex=\"clickable ? 0 : -1\"\n :class=\"[\n {\n '--has-shadow': !noElevation,\n '--bordered': bordered,\n '--clickable': clickable,\n '--has-initial': !src && caption,\n },\n `--rounded-${square ? 'none' : roundedSize}`,\n ]\"\n >\n <template v-if=\"shouldDisplayImg\">\n <MazLazyImg\n v-if=\"loading === 'intersecting'\"\n v-bind=\"$attrs\"\n class=\"m-avatar__picture maz-w-full maz-max-w-full\"\n :src\n :alt\n :no-photo\n image-height-full\n :no-loader\n :fallback-src\n @click=\"clickable ? $emit('click', $event) : null\"\n @error=\"$emit('error', $event)\"\n @loaded=\"$emit('loaded', $event)\"\n @loading=\"$emit('loading', $event)\"\n @intersecting=\"$emit('intersecting', $event)\"\n />\n <img\n v-else\n class=\"m-avatar__picture maz-w-full maz-max-w-full\"\n :src=\"src ?? fallbackSrc\"\n :alt=\"alt\"\n :loading\n @error=\"handleImageError\"\n >\n </template>\n <slot v-if=\"caption && !src\" name=\"round-text\">\n <span class=\"m-avatar__initial\"> {{ getInitials(caption) }} </span>\n </slot>\n\n <button\n v-if=\"clickable\"\n type=\"button\"\n tabindex=\"-1\"\n class=\"m-avatar__button\"\n :style=\"{\n backgroundColor: src\n ? `var(--maz-color-${buttonColor}-alpha)`\n : `var(--maz-color-${buttonColor})`,\n }\"\n @click=\"$emit('click', $event)\"\n >\n <slot v-if=\"!noClickableIcon\" name=\"icon\">\n <PencilIcon class=\"m-avatar__button__icon\" />\n </slot>\n </button>\n </div>\n <slot name=\"caption\">\n <p v-if=\"showCaption && caption\" class=\"m-avatar__caption\">\n {{ caption }}\n </p>\n </slot>\n </Component>\n</template>\n\n<style lang=\"postcss\" scoped>\n .m-avatar {\n @apply maz-inline-flex maz-flex-col maz-gap-[0.5em] maz-align-top maz-flex-center;\n @apply !maz-no-underline;\n\n &__caption {\n @apply maz-w-full maz-truncate maz-text-center maz-font-medium maz-capitalize;\n }\n\n &__initial {\n @apply maz-text-[1.5em] maz-capitalize maz-text-white;\n }\n\n &__wrapper {\n @apply maz-relative maz-flex maz-h-[3em] maz-w-[3em] maz-flex-none maz-justify-center maz-overflow-hidden;\n\n &.--clickable {\n & .m-avatar__button {\n @apply maz-absolute maz-inset-0 maz-flex maz-w-full\n maz-cursor-pointer maz-border-none maz-bg-transparent\n maz-opacity-0 maz-transition-all maz-duration-200 maz-flex-center;\n\n transform: scale(0);\n\n &__icon {\n @apply maz-text-white;\n }\n }\n\n &:hover,\n &:focus {\n & .m-avatar__picture {\n filter: blur(1.5px);\n }\n\n & .m-avatar__button {\n @apply maz-opacity-100;\n\n transform: scale(1.05);\n }\n }\n }\n\n &.--bordered {\n @apply maz-border maz-border-solid maz-border-color-light dark:maz-border-color-lighter;\n }\n\n &.--rounded {\n &-sm {\n @apply maz-rounded-sm;\n\n .m-avatar__button {\n @apply maz-rounded-sm;\n }\n }\n\n &-md {\n @apply maz-rounded-md;\n\n .m-avatar__button {\n @apply maz-rounded-md;\n }\n }\n\n &-lg {\n @apply maz-rounded;\n\n .m-avatar__button {\n @apply maz-rounded-lg;\n }\n }\n\n &-xl {\n @apply maz-rounded-xl;\n\n .m-avatar__button {\n @apply maz-rounded-xl;\n }\n }\n\n &-full {\n @apply maz-rounded-full;\n\n .m-avatar__button {\n @apply maz-rounded-full;\n }\n }\n }\n\n &.--has-shadow {\n @apply maz-shadow;\n }\n\n &.--has-initial {\n @apply maz-items-center maz-bg-primary;\n }\n }\n\n &.--has-link {\n @apply maz-cursor-pointer;\n }\n}\n</style>\n"],"names":["props","__props","emits","__emit","MazLazyImg","defineAsyncComponent","PencilIcon","componentType","computed","isLink","getInitials","name","lettersCount","word","shouldDisplayImg","handleImageError","event","currentSrc","fallbackSrc"],"mappings":"69BAMA,MAAMA,EAAQC,EAeRC,EAAQC,EAaRC,EAAaC,EAAAA,qBAAqB,IAAM,QAAA,QAAA,EAAA,KAAA,IAAA,QAAO,kBAA4B,CAAA,CAAC,EAC5EC,EAAaD,EAAAA,qBAAqB,IAAM,QAAA,QAAA,EAAA,KAAA,IAAA,QAAO,+BAAmB,CAAA,CAAC,EA0DnEE,EAAgBC,EAAAA,SAAS,IACzBR,EAAM,GACD,aACLA,EAAM,KACD,IACF,KACR,EACKS,EAASD,EAAS,SAAA,IAAM,CAAC,CAACR,EAAM,IAAM,CAAC,CAACA,EAAM,IAAI,EAExD,SAASU,EAAYC,EAAcC,EAAeZ,EAAM,YAAa,CAO5D,OANOW,EAAK,MAAM,GAAG,EAEL,IAAYE,GAAAA,EAAK,CAAC,CAAC,EAEjB,KAAK,EAAE,EAEjB,MAAM,EAAGD,CAAY,CAAA,CAGhC,MAAAE,EAAmBN,WAAS,IAAMR,EAAM,KAAQ,CAACA,EAAM,KAAO,CAACA,EAAM,OAAQ,EAEnF,SAASe,EAAiBC,EAAc,CAGtC,GAFMd,EAAA,QAASc,EAAM,MAAiB,EAElChB,EAAM,aAAegB,EAAM,kBAAkB,iBAAkB,CACjE,MAAMC,EAAa,IAAI,IAAID,EAAM,OAAO,GAAG,EACrCE,EAAc,IAAI,IAAIlB,EAAM,WAAW,EAEzC,GAAAiB,EAAW,OAASC,EAAY,KAClC,OAGIF,EAAA,OAAO,IAAMhB,EAAM,WAAA,CAC3B"}
1
+ {"version":3,"file":"MazAvatar.cjs","sources":["../../src/components/MazAvatar.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { HTMLAttributes } from 'vue'\nimport type { Color } from './types'\n\nimport { computed, defineAsyncComponent } from 'vue'\n\nconst props = withDefaults(defineProps<MazAvatarProps>(), {\n src: undefined,\n caption: undefined,\n href: undefined,\n to: undefined,\n alt: 'avatar image',\n target: '_self',\n size: undefined,\n buttonColor: 'info',\n letterCount: undefined,\n roundedSize: 'full',\n fallbackSrc: undefined,\n loading: 'intersecting',\n})\n\nconst emits = defineEmits<{\n /** Emitted when the avatar is clicked */\n (name: 'click', event: MouseEvent): void\n /** Emitted when the image is intersecting */\n (name: 'intersecting', el: Element): void\n /** Emitted when the image is loading */\n (name: 'loading', el: Element): void\n /** Emitted when the image is loaded */\n (name: 'loaded', el: Element): void\n /** Emitted when the image is in error */\n (name: 'error', el: Element): void\n}>()\n\nconst MazLazyImg = defineAsyncComponent(() => import('./MazLazyImg.vue'))\nconst PencilIcon = defineAsyncComponent(() => import('../../icons/pencil.svg'))\n\nexport interface MazAvatarProps {\n /** The style of the component */\n style?: HTMLAttributes['style']\n /** The class of the component */\n class?: HTMLAttributes['class']\n /** The source of the image */\n src?: string | null\n /** The caption of the avatar */\n caption?: string | null\n /** The link of the avatar */\n href?: string\n /** The link (router-link) of the avatar */\n to?: string | Record<string, unknown>\n /** The alt of the image */\n alt?: string\n /** The target of the link */\n target?: string\n /** The size of the avatar */\n size?: string\n /** Add a border to the avatar */\n bordered?: boolean\n /** Make the avatar clickable */\n clickable?: boolean\n /** Make the avatar square */\n square?: boolean\n /** Remove the shadow */\n noElevation?: boolean\n /** Show the caption */\n showCaption?: boolean\n /** Make the image height full */\n imageHeightFull?: boolean\n /** Remove the loader */\n noLoader?: boolean\n /** The color of the clickable button */\n buttonColor?: Color\n /** Remove the icon on hover when component is clickable */\n noClickableIcon?: boolean\n /** Number of letters to display in the round text */\n letterCount?: number\n /**\n * Size of the rounded\n * @values `'none' | 'sm' | 'md' | 'lg' | 'xl' | 'full'`\n */\n roundedSize?: 'none' | 'sm' | 'md' | 'lg' | 'xl' | 'full'\n /** The fallback src to replace the src on loading error */\n fallbackSrc?: string\n /** Load the fallback image by default */\n noPhoto?: boolean\n /**\n * The loading strategy of the image - lazy, eager or intersecting\n * @default 'intersecting'\n * @values `'lazy' | 'eager' | 'intersecting'`\n */\n loading?: 'lazy' | 'eager' | 'intersecting'\n}\n\nconst componentType = computed(() => {\n if (props.to)\n return 'RouterLink'\n if (props.href)\n return 'a'\n return 'div'\n})\nconst isLink = computed(() => !!props.to || !!props.href)\n\nfunction getInitials(name: string, lettersCount = props.letterCount) {\n const words = name.split(' ')\n\n const initials = words.map(word => word[0])\n\n const letters = initials.join('')\n\n return letters.slice(0, lettersCount)\n}\n\nconst shouldDisplayImg = computed(() => props.src || (!props.src && !props.caption))\n\nfunction handleImageError(event: Event) {\n emits('error', event.target as Element)\n\n if (props.fallbackSrc && event.target instanceof HTMLImageElement) {\n const currentSrc = new URL(event.target.src)\n const fallbackSrc = new URL(props.fallbackSrc)\n\n if (currentSrc.href === fallbackSrc.href) {\n return\n }\n\n event.target.src = props.fallbackSrc\n }\n}\n</script>\n\n<template>\n <Component\n :is=\"componentType\"\n :style=\"[{ fontSize: size }, style]\"\n class=\"m-avatar m-reset-css\"\n :class=\"[\n {\n '--has-link': isLink,\n },\n props.class,\n ]\"\n :href\n :to=\"to\"\n :target=\"isLink ? target : undefined\"\n >\n <div\n class=\"m-avatar__wrapper\"\n :tabindex=\"clickable ? 0 : -1\"\n :class=\"[\n {\n '--has-shadow': !noElevation,\n '--bordered': bordered,\n '--clickable': clickable,\n '--has-initial': !src && caption,\n },\n `--rounded-${square ? 'none' : roundedSize}`,\n ]\"\n >\n <template v-if=\"shouldDisplayImg\">\n <MazLazyImg\n v-if=\"loading === 'intersecting'\"\n v-bind=\"$attrs\"\n class=\"m-avatar__picture maz-w-full maz-max-w-full\"\n :src\n :alt\n :no-photo\n image-height-full\n :no-loader\n :fallback-src\n @click=\"clickable ? $emit('click', $event) : null\"\n @error=\"$emit('error', $event)\"\n @loaded=\"$emit('loaded', $event)\"\n @loading=\"$emit('loading', $event)\"\n @intersecting=\"$emit('intersecting', $event)\"\n />\n <img\n v-else\n class=\"m-avatar__picture maz-w-full maz-max-w-full\"\n :src=\"src ?? fallbackSrc\"\n :alt=\"alt\"\n :loading\n @error=\"handleImageError\"\n >\n </template>\n <slot v-if=\"caption && !src\" name=\"round-text\">\n <span class=\"m-avatar__initial\"> {{ getInitials(caption) }} </span>\n </slot>\n\n <button\n v-if=\"clickable\"\n type=\"button\"\n tabindex=\"-1\"\n class=\"m-avatar__button\"\n :style=\"{\n backgroundColor: src\n ? `var(--maz-color-${buttonColor}-alpha)`\n : `var(--maz-color-${buttonColor})`,\n }\"\n @click=\"$emit('click', $event)\"\n >\n <slot v-if=\"!noClickableIcon\" name=\"icon\">\n <PencilIcon class=\"m-avatar__button__icon\" />\n </slot>\n </button>\n </div>\n <slot name=\"caption\">\n <p v-if=\"showCaption && caption\" class=\"m-avatar__caption\">\n {{ caption }}\n </p>\n </slot>\n </Component>\n</template>\n\n<style lang=\"postcss\" scoped>\n .m-avatar {\n @apply maz-inline-flex maz-flex-col maz-gap-[0.5em] maz-align-top maz-flex-center;\n @apply !maz-no-underline;\n\n &__caption {\n @apply maz-w-full maz-truncate maz-text-center maz-font-medium maz-capitalize;\n }\n\n &__initial {\n @apply maz-text-[1.5em] maz-capitalize maz-text-white;\n }\n\n &__wrapper {\n @apply maz-relative maz-flex maz-h-[3em] maz-w-[3em] maz-flex-none maz-justify-center maz-overflow-hidden;\n\n &.--clickable {\n & .m-avatar__button {\n @apply maz-absolute maz-inset-0 maz-flex maz-w-full\n maz-cursor-pointer maz-border-none maz-bg-transparent\n maz-opacity-0 maz-transition-all maz-duration-200 maz-flex-center;\n\n transform: scale(0);\n\n &__icon {\n @apply maz-text-white;\n }\n }\n\n &:hover,\n &:focus {\n & .m-avatar__picture {\n filter: blur(1.5px);\n }\n\n & .m-avatar__button {\n @apply maz-opacity-100;\n\n transform: scale(1.05);\n }\n }\n }\n\n &.--bordered {\n @apply maz-border maz-border-solid maz-border-color-light dark:maz-border-color-lighter;\n }\n\n &.--rounded {\n &-sm {\n @apply maz-rounded-sm;\n\n .m-avatar__button {\n @apply maz-rounded-sm;\n }\n }\n\n &-md {\n @apply maz-rounded-md;\n\n .m-avatar__button {\n @apply maz-rounded-md;\n }\n }\n\n &-lg {\n @apply maz-rounded;\n\n .m-avatar__button {\n @apply maz-rounded-lg;\n }\n }\n\n &-xl {\n @apply maz-rounded-xl;\n\n .m-avatar__button {\n @apply maz-rounded-xl;\n }\n }\n\n &-full {\n @apply maz-rounded-full;\n\n .m-avatar__button {\n @apply maz-rounded-full;\n }\n }\n }\n\n &.--has-shadow {\n @apply maz-shadow;\n }\n\n &.--has-initial {\n @apply maz-items-center maz-bg-primary;\n }\n }\n\n &.--has-link {\n @apply maz-cursor-pointer;\n }\n}\n</style>\n"],"names":["props","__props","emits","__emit","MazLazyImg","defineAsyncComponent","PencilIcon","componentType","computed","isLink","getInitials","name","lettersCount","word","shouldDisplayImg","handleImageError","event","currentSrc","fallbackSrc"],"mappings":"69BAMA,MAAMA,EAAQC,EAeRC,EAAQC,EAaRC,EAAaC,EAAAA,qBAAqB,IAAM,QAAA,QAAA,EAAA,KAAA,IAAA,QAAO,kBAAkB,CAAA,CAAC,EAClEC,EAAaD,EAAAA,qBAAqB,IAAM,QAAA,QAAA,EAAA,KAAA,IAAA,QAAO,+BAAwB,CAAA,CAAC,EA0DxEE,EAAgBC,EAAAA,SAAS,IACzBR,EAAM,GACD,aACLA,EAAM,KACD,IACF,KACR,EACKS,EAASD,EAAS,SAAA,IAAM,CAAC,CAACR,EAAM,IAAM,CAAC,CAACA,EAAM,IAAI,EAExD,SAASU,EAAYC,EAAcC,EAAeZ,EAAM,YAAa,CAO5D,OANOW,EAAK,MAAM,GAAG,EAEL,IAAYE,GAAAA,EAAK,CAAC,CAAC,EAEjB,KAAK,EAAE,EAEjB,MAAM,EAAGD,CAAY,CAAA,CAGhC,MAAAE,EAAmBN,WAAS,IAAMR,EAAM,KAAQ,CAACA,EAAM,KAAO,CAACA,EAAM,OAAQ,EAEnF,SAASe,EAAiBC,EAAc,CAGtC,GAFMd,EAAA,QAASc,EAAM,MAAiB,EAElChB,EAAM,aAAegB,EAAM,kBAAkB,iBAAkB,CACjE,MAAMC,EAAa,IAAI,IAAID,EAAM,OAAO,GAAG,EACrCE,EAAc,IAAI,IAAIlB,EAAM,WAAW,EAEzC,GAAAiB,EAAW,OAASC,EAAY,KAClC,OAGIF,EAAA,OAAO,IAAMhB,EAAM,WAAA,CAC3B"}
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as I, defineAsyncComponent as u, computed as i, openBlock as l, createBlock as c, resolveDynamicComponent as L, normalizeStyle as m, normalizeClass as f, withCtx as E, createElementVNode as p, createElementBlock as n, Fragment as M, unref as g, mergeProps as P, createCommentVNode as r, renderSlot as s, toDisplayString as k, createVNode as A } from "vue";
2
2
  import { _ as D } from "../chunks/_plugin-vue_export-helper.CHgC5LLL.mjs";
3
- import '../assets/MazAvatar.L1UreldR.css';const N = ["tabindex"], R = ["src", "alt", "loading"], V = { class: "m-avatar__initial" }, q = {
3
+ import '../assets/MazAvatar.udTL0S0c.css';const N = ["tabindex"], R = ["src", "alt", "loading"], V = { class: "m-avatar__initial" }, q = {
4
4
  key: 0,
5
5
  class: "m-avatar__caption"
6
6
  }, F = /* @__PURE__ */ I({
@@ -118,7 +118,7 @@ import '../assets/MazAvatar.L1UreldR.css';const N = ["tabindex"], R = ["src", "a
118
118
  _: 3
119
119
  }, 8, ["style", "class", "href", "to", "target"]));
120
120
  }
121
- }), G = /* @__PURE__ */ D(F, [["__scopeId", "data-v-ba997cf5"]]);
121
+ }), G = /* @__PURE__ */ D(F, [["__scopeId", "data-v-6324fe57"]]);
122
122
  export {
123
123
  G as default
124
124
  };
@@ -1 +1 @@
1
- {"version":3,"file":"MazAvatar.mjs","sources":["../../src/components/MazAvatar.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { Color } from '@components/types'\nimport type { HTMLAttributes } from 'vue'\n\nimport { computed, defineAsyncComponent } from 'vue'\n\nconst props = withDefaults(defineProps<MazAvatarProps>(), {\n src: undefined,\n caption: undefined,\n href: undefined,\n to: undefined,\n alt: 'avatar image',\n target: '_self',\n size: undefined,\n buttonColor: 'info',\n letterCount: undefined,\n roundedSize: 'full',\n fallbackSrc: undefined,\n loading: 'intersecting',\n})\n\nconst emits = defineEmits<{\n /** Emitted when the avatar is clicked */\n (name: 'click', event: MouseEvent): void\n /** Emitted when the image is intersecting */\n (name: 'intersecting', el: Element): void\n /** Emitted when the image is loading */\n (name: 'loading', el: Element): void\n /** Emitted when the image is loaded */\n (name: 'loaded', el: Element): void\n /** Emitted when the image is in error */\n (name: 'error', el: Element): void\n}>()\n\nconst MazLazyImg = defineAsyncComponent(() => import('@components/MazLazyImg.vue'))\nconst PencilIcon = defineAsyncComponent(() => import('@icons/pencil.svg'))\n\nexport interface MazAvatarProps {\n /** The style of the component */\n style?: HTMLAttributes['style']\n /** The class of the component */\n class?: HTMLAttributes['class']\n /** The source of the image */\n src?: string | null\n /** The caption of the avatar */\n caption?: string | null\n /** The link of the avatar */\n href?: string\n /** The link (router-link) of the avatar */\n to?: string | Record<string, unknown>\n /** The alt of the image */\n alt?: string\n /** The target of the link */\n target?: string\n /** The size of the avatar */\n size?: string\n /** Add a border to the avatar */\n bordered?: boolean\n /** Make the avatar clickable */\n clickable?: boolean\n /** Make the avatar square */\n square?: boolean\n /** Remove the shadow */\n noElevation?: boolean\n /** Show the caption */\n showCaption?: boolean\n /** Make the image height full */\n imageHeightFull?: boolean\n /** Remove the loader */\n noLoader?: boolean\n /** The color of the clickable button */\n buttonColor?: Color\n /** Remove the icon on hover when component is clickable */\n noClickableIcon?: boolean\n /** Number of letters to display in the round text */\n letterCount?: number\n /**\n * Size of the rounded\n * @values `'none' | 'sm' | 'md' | 'lg' | 'xl' | 'full'`\n */\n roundedSize?: 'none' | 'sm' | 'md' | 'lg' | 'xl' | 'full'\n /** The fallback src to replace the src on loading error */\n fallbackSrc?: string\n /** Load the fallback image by default */\n noPhoto?: boolean\n /**\n * The loading strategy of the image - lazy, eager or intersecting\n * @default 'intersecting'\n * @values `'lazy' | 'eager' | 'intersecting'`\n */\n loading?: 'lazy' | 'eager' | 'intersecting'\n}\n\nconst componentType = computed(() => {\n if (props.to)\n return 'RouterLink'\n if (props.href)\n return 'a'\n return 'div'\n})\nconst isLink = computed(() => !!props.to || !!props.href)\n\nfunction getInitials(name: string, lettersCount = props.letterCount) {\n const words = name.split(' ')\n\n const initials = words.map(word => word[0])\n\n const letters = initials.join('')\n\n return letters.slice(0, lettersCount)\n}\n\nconst shouldDisplayImg = computed(() => props.src || (!props.src && !props.caption))\n\nfunction handleImageError(event: Event) {\n emits('error', event.target as Element)\n\n if (props.fallbackSrc && event.target instanceof HTMLImageElement) {\n const currentSrc = new URL(event.target.src)\n const fallbackSrc = new URL(props.fallbackSrc)\n\n if (currentSrc.href === fallbackSrc.href) {\n return\n }\n\n event.target.src = props.fallbackSrc\n }\n}\n</script>\n\n<template>\n <Component\n :is=\"componentType\"\n :style=\"[{ fontSize: size }, style]\"\n class=\"m-avatar m-reset-css\"\n :class=\"[\n {\n '--has-link': isLink,\n },\n props.class,\n ]\"\n :href\n :to=\"to\"\n :target=\"isLink ? target : undefined\"\n >\n <div\n class=\"m-avatar__wrapper\"\n :tabindex=\"clickable ? 0 : -1\"\n :class=\"[\n {\n '--has-shadow': !noElevation,\n '--bordered': bordered,\n '--clickable': clickable,\n '--has-initial': !src && caption,\n },\n `--rounded-${square ? 'none' : roundedSize}`,\n ]\"\n >\n <template v-if=\"shouldDisplayImg\">\n <MazLazyImg\n v-if=\"loading === 'intersecting'\"\n v-bind=\"$attrs\"\n class=\"m-avatar__picture maz-w-full maz-max-w-full\"\n :src\n :alt\n :no-photo\n image-height-full\n :no-loader\n :fallback-src\n @click=\"clickable ? $emit('click', $event) : null\"\n @error=\"$emit('error', $event)\"\n @loaded=\"$emit('loaded', $event)\"\n @loading=\"$emit('loading', $event)\"\n @intersecting=\"$emit('intersecting', $event)\"\n />\n <img\n v-else\n class=\"m-avatar__picture maz-w-full maz-max-w-full\"\n :src=\"src ?? fallbackSrc\"\n :alt=\"alt\"\n :loading\n @error=\"handleImageError\"\n >\n </template>\n <slot v-if=\"caption && !src\" name=\"round-text\">\n <span class=\"m-avatar__initial\"> {{ getInitials(caption) }} </span>\n </slot>\n\n <button\n v-if=\"clickable\"\n type=\"button\"\n tabindex=\"-1\"\n class=\"m-avatar__button\"\n :style=\"{\n backgroundColor: src\n ? `var(--maz-color-${buttonColor}-alpha)`\n : `var(--maz-color-${buttonColor})`,\n }\"\n @click=\"$emit('click', $event)\"\n >\n <slot v-if=\"!noClickableIcon\" name=\"icon\">\n <PencilIcon class=\"m-avatar__button__icon\" />\n </slot>\n </button>\n </div>\n <slot name=\"caption\">\n <p v-if=\"showCaption && caption\" class=\"m-avatar__caption\">\n {{ caption }}\n </p>\n </slot>\n </Component>\n</template>\n\n<style lang=\"postcss\" scoped>\n .m-avatar {\n @apply maz-inline-flex maz-flex-col maz-gap-[0.5em] maz-align-top maz-flex-center;\n @apply !maz-no-underline;\n\n &__caption {\n @apply maz-w-full maz-truncate maz-text-center maz-font-medium maz-capitalize;\n }\n\n &__initial {\n @apply maz-text-[1.5em] maz-capitalize maz-text-white;\n }\n\n &__wrapper {\n @apply maz-relative maz-flex maz-h-[3em] maz-w-[3em] maz-flex-none maz-justify-center maz-overflow-hidden;\n\n &.--clickable {\n & .m-avatar__button {\n @apply maz-absolute maz-inset-0 maz-flex maz-w-full\n maz-cursor-pointer maz-border-none maz-bg-transparent\n maz-opacity-0 maz-transition-all maz-duration-200 maz-flex-center;\n\n transform: scale(0);\n\n &__icon {\n @apply maz-text-white;\n }\n }\n\n &:hover,\n &:focus {\n & .m-avatar__picture {\n filter: blur(1.5px);\n }\n\n & .m-avatar__button {\n @apply maz-opacity-100;\n\n transform: scale(1.05);\n }\n }\n }\n\n &.--bordered {\n @apply maz-border maz-border-solid maz-border-color-light dark:maz-border-color-lighter;\n }\n\n &.--rounded {\n &-sm {\n @apply maz-rounded-sm;\n\n .m-avatar__button {\n @apply maz-rounded-sm;\n }\n }\n\n &-md {\n @apply maz-rounded-md;\n\n .m-avatar__button {\n @apply maz-rounded-md;\n }\n }\n\n &-lg {\n @apply maz-rounded;\n\n .m-avatar__button {\n @apply maz-rounded-lg;\n }\n }\n\n &-xl {\n @apply maz-rounded-xl;\n\n .m-avatar__button {\n @apply maz-rounded-xl;\n }\n }\n\n &-full {\n @apply maz-rounded-full;\n\n .m-avatar__button {\n @apply maz-rounded-full;\n }\n }\n }\n\n &.--has-shadow {\n @apply maz-shadow;\n }\n\n &.--has-initial {\n @apply maz-items-center maz-bg-primary;\n }\n }\n\n &.--has-link {\n @apply maz-cursor-pointer;\n }\n}\n</style>\n"],"names":["props","__props","emits","__emit","MazLazyImg","defineAsyncComponent","PencilIcon","componentType","computed","isLink","getInitials","name","lettersCount","word","shouldDisplayImg","handleImageError","event","currentSrc","fallbackSrc"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,UAAMA,IAAQC,GAeRC,IAAQC,GAaRC,IAAaC,EAAqB,MAAM,OAAO,kBAA4B,CAAC,GAC5EC,IAAaD,EAAqB,MAAM,OAAO,+BAAmB,CAAC,GA0DnEE,IAAgBC,EAAS,MACzBR,EAAM,KACD,eACLA,EAAM,OACD,MACF,KACR,GACKS,IAASD,EAAS,MAAM,CAAC,CAACR,EAAM,MAAM,CAAC,CAACA,EAAM,IAAI;AAExD,aAASU,EAAYC,GAAcC,IAAeZ,EAAM,aAAa;AAO5D,aANOW,EAAK,MAAM,GAAG,EAEL,IAAI,CAAQE,MAAAA,EAAK,CAAC,CAAC,EAEjB,KAAK,EAAE,EAEjB,MAAM,GAAGD,CAAY;AAAA,IAAA;AAGhC,UAAAE,IAAmBN,EAAS,MAAMR,EAAM,OAAQ,CAACA,EAAM,OAAO,CAACA,EAAM,OAAQ;AAEnF,aAASe,EAAiBC,GAAc;AAGtC,UAFMd,EAAA,SAASc,EAAM,MAAiB,GAElChB,EAAM,eAAegB,EAAM,kBAAkB,kBAAkB;AACjE,cAAMC,IAAa,IAAI,IAAID,EAAM,OAAO,GAAG,GACrCE,IAAc,IAAI,IAAIlB,EAAM,WAAW;AAEzC,YAAAiB,EAAW,SAASC,EAAY;AAClC;AAGI,QAAAF,EAAA,OAAO,MAAMhB,EAAM;AAAA,MAAA;AAAA,IAC3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"MazAvatar.mjs","sources":["../../src/components/MazAvatar.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { HTMLAttributes } from 'vue'\nimport type { Color } from './types'\n\nimport { computed, defineAsyncComponent } from 'vue'\n\nconst props = withDefaults(defineProps<MazAvatarProps>(), {\n src: undefined,\n caption: undefined,\n href: undefined,\n to: undefined,\n alt: 'avatar image',\n target: '_self',\n size: undefined,\n buttonColor: 'info',\n letterCount: undefined,\n roundedSize: 'full',\n fallbackSrc: undefined,\n loading: 'intersecting',\n})\n\nconst emits = defineEmits<{\n /** Emitted when the avatar is clicked */\n (name: 'click', event: MouseEvent): void\n /** Emitted when the image is intersecting */\n (name: 'intersecting', el: Element): void\n /** Emitted when the image is loading */\n (name: 'loading', el: Element): void\n /** Emitted when the image is loaded */\n (name: 'loaded', el: Element): void\n /** Emitted when the image is in error */\n (name: 'error', el: Element): void\n}>()\n\nconst MazLazyImg = defineAsyncComponent(() => import('./MazLazyImg.vue'))\nconst PencilIcon = defineAsyncComponent(() => import('../../icons/pencil.svg'))\n\nexport interface MazAvatarProps {\n /** The style of the component */\n style?: HTMLAttributes['style']\n /** The class of the component */\n class?: HTMLAttributes['class']\n /** The source of the image */\n src?: string | null\n /** The caption of the avatar */\n caption?: string | null\n /** The link of the avatar */\n href?: string\n /** The link (router-link) of the avatar */\n to?: string | Record<string, unknown>\n /** The alt of the image */\n alt?: string\n /** The target of the link */\n target?: string\n /** The size of the avatar */\n size?: string\n /** Add a border to the avatar */\n bordered?: boolean\n /** Make the avatar clickable */\n clickable?: boolean\n /** Make the avatar square */\n square?: boolean\n /** Remove the shadow */\n noElevation?: boolean\n /** Show the caption */\n showCaption?: boolean\n /** Make the image height full */\n imageHeightFull?: boolean\n /** Remove the loader */\n noLoader?: boolean\n /** The color of the clickable button */\n buttonColor?: Color\n /** Remove the icon on hover when component is clickable */\n noClickableIcon?: boolean\n /** Number of letters to display in the round text */\n letterCount?: number\n /**\n * Size of the rounded\n * @values `'none' | 'sm' | 'md' | 'lg' | 'xl' | 'full'`\n */\n roundedSize?: 'none' | 'sm' | 'md' | 'lg' | 'xl' | 'full'\n /** The fallback src to replace the src on loading error */\n fallbackSrc?: string\n /** Load the fallback image by default */\n noPhoto?: boolean\n /**\n * The loading strategy of the image - lazy, eager or intersecting\n * @default 'intersecting'\n * @values `'lazy' | 'eager' | 'intersecting'`\n */\n loading?: 'lazy' | 'eager' | 'intersecting'\n}\n\nconst componentType = computed(() => {\n if (props.to)\n return 'RouterLink'\n if (props.href)\n return 'a'\n return 'div'\n})\nconst isLink = computed(() => !!props.to || !!props.href)\n\nfunction getInitials(name: string, lettersCount = props.letterCount) {\n const words = name.split(' ')\n\n const initials = words.map(word => word[0])\n\n const letters = initials.join('')\n\n return letters.slice(0, lettersCount)\n}\n\nconst shouldDisplayImg = computed(() => props.src || (!props.src && !props.caption))\n\nfunction handleImageError(event: Event) {\n emits('error', event.target as Element)\n\n if (props.fallbackSrc && event.target instanceof HTMLImageElement) {\n const currentSrc = new URL(event.target.src)\n const fallbackSrc = new URL(props.fallbackSrc)\n\n if (currentSrc.href === fallbackSrc.href) {\n return\n }\n\n event.target.src = props.fallbackSrc\n }\n}\n</script>\n\n<template>\n <Component\n :is=\"componentType\"\n :style=\"[{ fontSize: size }, style]\"\n class=\"m-avatar m-reset-css\"\n :class=\"[\n {\n '--has-link': isLink,\n },\n props.class,\n ]\"\n :href\n :to=\"to\"\n :target=\"isLink ? target : undefined\"\n >\n <div\n class=\"m-avatar__wrapper\"\n :tabindex=\"clickable ? 0 : -1\"\n :class=\"[\n {\n '--has-shadow': !noElevation,\n '--bordered': bordered,\n '--clickable': clickable,\n '--has-initial': !src && caption,\n },\n `--rounded-${square ? 'none' : roundedSize}`,\n ]\"\n >\n <template v-if=\"shouldDisplayImg\">\n <MazLazyImg\n v-if=\"loading === 'intersecting'\"\n v-bind=\"$attrs\"\n class=\"m-avatar__picture maz-w-full maz-max-w-full\"\n :src\n :alt\n :no-photo\n image-height-full\n :no-loader\n :fallback-src\n @click=\"clickable ? $emit('click', $event) : null\"\n @error=\"$emit('error', $event)\"\n @loaded=\"$emit('loaded', $event)\"\n @loading=\"$emit('loading', $event)\"\n @intersecting=\"$emit('intersecting', $event)\"\n />\n <img\n v-else\n class=\"m-avatar__picture maz-w-full maz-max-w-full\"\n :src=\"src ?? fallbackSrc\"\n :alt=\"alt\"\n :loading\n @error=\"handleImageError\"\n >\n </template>\n <slot v-if=\"caption && !src\" name=\"round-text\">\n <span class=\"m-avatar__initial\"> {{ getInitials(caption) }} </span>\n </slot>\n\n <button\n v-if=\"clickable\"\n type=\"button\"\n tabindex=\"-1\"\n class=\"m-avatar__button\"\n :style=\"{\n backgroundColor: src\n ? `var(--maz-color-${buttonColor}-alpha)`\n : `var(--maz-color-${buttonColor})`,\n }\"\n @click=\"$emit('click', $event)\"\n >\n <slot v-if=\"!noClickableIcon\" name=\"icon\">\n <PencilIcon class=\"m-avatar__button__icon\" />\n </slot>\n </button>\n </div>\n <slot name=\"caption\">\n <p v-if=\"showCaption && caption\" class=\"m-avatar__caption\">\n {{ caption }}\n </p>\n </slot>\n </Component>\n</template>\n\n<style lang=\"postcss\" scoped>\n .m-avatar {\n @apply maz-inline-flex maz-flex-col maz-gap-[0.5em] maz-align-top maz-flex-center;\n @apply !maz-no-underline;\n\n &__caption {\n @apply maz-w-full maz-truncate maz-text-center maz-font-medium maz-capitalize;\n }\n\n &__initial {\n @apply maz-text-[1.5em] maz-capitalize maz-text-white;\n }\n\n &__wrapper {\n @apply maz-relative maz-flex maz-h-[3em] maz-w-[3em] maz-flex-none maz-justify-center maz-overflow-hidden;\n\n &.--clickable {\n & .m-avatar__button {\n @apply maz-absolute maz-inset-0 maz-flex maz-w-full\n maz-cursor-pointer maz-border-none maz-bg-transparent\n maz-opacity-0 maz-transition-all maz-duration-200 maz-flex-center;\n\n transform: scale(0);\n\n &__icon {\n @apply maz-text-white;\n }\n }\n\n &:hover,\n &:focus {\n & .m-avatar__picture {\n filter: blur(1.5px);\n }\n\n & .m-avatar__button {\n @apply maz-opacity-100;\n\n transform: scale(1.05);\n }\n }\n }\n\n &.--bordered {\n @apply maz-border maz-border-solid maz-border-color-light dark:maz-border-color-lighter;\n }\n\n &.--rounded {\n &-sm {\n @apply maz-rounded-sm;\n\n .m-avatar__button {\n @apply maz-rounded-sm;\n }\n }\n\n &-md {\n @apply maz-rounded-md;\n\n .m-avatar__button {\n @apply maz-rounded-md;\n }\n }\n\n &-lg {\n @apply maz-rounded;\n\n .m-avatar__button {\n @apply maz-rounded-lg;\n }\n }\n\n &-xl {\n @apply maz-rounded-xl;\n\n .m-avatar__button {\n @apply maz-rounded-xl;\n }\n }\n\n &-full {\n @apply maz-rounded-full;\n\n .m-avatar__button {\n @apply maz-rounded-full;\n }\n }\n }\n\n &.--has-shadow {\n @apply maz-shadow;\n }\n\n &.--has-initial {\n @apply maz-items-center maz-bg-primary;\n }\n }\n\n &.--has-link {\n @apply maz-cursor-pointer;\n }\n}\n</style>\n"],"names":["props","__props","emits","__emit","MazLazyImg","defineAsyncComponent","PencilIcon","componentType","computed","isLink","getInitials","name","lettersCount","word","shouldDisplayImg","handleImageError","event","currentSrc","fallbackSrc"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,UAAMA,IAAQC,GAeRC,IAAQC,GAaRC,IAAaC,EAAqB,MAAM,OAAO,kBAAkB,CAAC,GAClEC,IAAaD,EAAqB,MAAM,OAAO,+BAAwB,CAAC,GA0DxEE,IAAgBC,EAAS,MACzBR,EAAM,KACD,eACLA,EAAM,OACD,MACF,KACR,GACKS,IAASD,EAAS,MAAM,CAAC,CAACR,EAAM,MAAM,CAAC,CAACA,EAAM,IAAI;AAExD,aAASU,EAAYC,GAAcC,IAAeZ,EAAM,aAAa;AAO5D,aANOW,EAAK,MAAM,GAAG,EAEL,IAAI,CAAQE,MAAAA,EAAK,CAAC,CAAC,EAEjB,KAAK,EAAE,EAEjB,MAAM,GAAGD,CAAY;AAAA,IAAA;AAGhC,UAAAE,IAAmBN,EAAS,MAAMR,EAAM,OAAQ,CAACA,EAAM,OAAO,CAACA,EAAM,OAAQ;AAEnF,aAASe,EAAiBC,GAAc;AAGtC,UAFMd,EAAA,SAASc,EAAM,MAAiB,GAElChB,EAAM,eAAegB,EAAM,kBAAkB,kBAAkB;AACjE,cAAMC,IAAa,IAAI,IAAID,EAAM,OAAO,GAAG,GACrCE,IAAc,IAAI,IAAIlB,EAAM,WAAW;AAEzC,YAAAiB,EAAW,SAASC,EAAY;AAClC;AAGI,QAAAF,EAAA,OAAO,MAAMhB,EAAM;AAAA,MAAA;AAAA,IAC3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('../assets/MazBadge.RMWNkgZL.css');const o=require("vue"),a=require("../chunks/_plugin-vue_export-helper.BHFhmbuH.cjs"),l=o.defineComponent({__name:"MazBadge",props:{color:{default:"primary"},size:{default:"0.8em"},nowrap:{type:Boolean,default:!1},outline:{type:Boolean,default:!1},pastel:{type:Boolean,default:!1},roundedSize:{default:"md"}},setup(r){return(e,n)=>(o.openBlock(),o.createElementBlock("span",{class:o.normalizeClass(["m-badge m-reset-css",[`--${e.color}`,{"--outline":e.outline,"--pastel":e.pastel,"--nowrap":e.nowrap},`--rounded-${e.roundedSize}`]]),style:o.normalizeStyle({fontSize:e.size})},[o.renderSlot(e.$slots,"default",{},void 0,!0)],6))}}),t=a._export_sfc(l,[["__scopeId","data-v-7471360e"]]);exports.default=t;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('../assets/MazBadge.Cgfo0F7e.css');const o=require("vue"),a=require("../chunks/_plugin-vue_export-helper.BHFhmbuH.cjs"),l=o.defineComponent({__name:"MazBadge",props:{color:{default:"primary"},size:{default:"0.8em"},nowrap:{type:Boolean,default:!1},outline:{type:Boolean,default:!1},pastel:{type:Boolean,default:!1},roundedSize:{default:"md"}},setup(r){return(e,n)=>(o.openBlock(),o.createElementBlock("span",{class:o.normalizeClass(["m-badge m-reset-css",[`--${e.color}`,{"--outline":e.outline,"--pastel":e.pastel,"--nowrap":e.nowrap},`--rounded-${e.roundedSize}`]]),style:o.normalizeStyle({fontSize:e.size})},[o.renderSlot(e.$slots,"default",{},void 0,!0)],6))}}),t=a._export_sfc(l,[["__scopeId","data-v-295a42e8"]]);exports.default=t;
2
2
  //# sourceMappingURL=MazBadge.cjs.map
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as o, openBlock as a, createElementBlock as l, normalizeClass as t, normalizeStyle as r, renderSlot as s } from "vue";
2
2
  import { _ as n } from "../chunks/_plugin-vue_export-helper.CHgC5LLL.mjs";
3
- import '../assets/MazBadge.RMWNkgZL.css';const d = /* @__PURE__ */ o({
3
+ import '../assets/MazBadge.Cgfo0F7e.css';const d = /* @__PURE__ */ o({
4
4
  __name: "MazBadge",
5
5
  props: {
6
6
  color: { default: "primary" },
@@ -22,7 +22,7 @@ import '../assets/MazBadge.RMWNkgZL.css';const d = /* @__PURE__ */ o({
22
22
  s(e.$slots, "default", {}, void 0, !0)
23
23
  ], 6));
24
24
  }
25
- }), m = /* @__PURE__ */ n(d, [["__scopeId", "data-v-7471360e"]]);
25
+ }), m = /* @__PURE__ */ n(d, [["__scopeId", "data-v-295a42e8"]]);
26
26
  export {
27
27
  m as default
28
28
  };
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('../assets/MazBottomSheet.Dqr-kpLb.css');const e=require("vue"),d=require("./MazBackdrop.cjs"),i=require("../chunks/_plugin-vue_export-helper.BHFhmbuH.cjs"),m=e.defineComponent({__name:"MazBottomSheet",props:{modelValue:{type:Boolean},noClose:{type:Boolean},noPadding:{type:Boolean}},emits:["update:model-value","open","close"],setup(p,{emit:l}){const s=l,a=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./MazBtn.cjs"))),r=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("../chunks/x-mark.Dz-FO7Es.cjs")));return(t,n)=>(e.openBlock(),e.createBlock(d.default,{"model-value":t.modelValue,"transition-name":"bottom-sheet-anim","backdrop-class":"--bottom-sheet","content-padding":!1,align:"end",justify:"none",variant:"bottom-sheet",onClose:n[0]||(n[0]=o=>t.$emit("close",o)),onOpen:n[1]||(n[1]=o=>t.$emit("open",o)),"onUpdate:modelValue":n[2]||(n[2]=o=>s("update:model-value",o))},{default:e.withCtx(({close:o})=>[e.createElementVNode("div",{class:e.normalizeClass(["m-bottom-sheet__container",{"--no-padding":t.noPadding}])},[e.renderSlot(t.$slots,"default",{close:o},void 0,!0),t.noClose?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(a),{key:0,size:"sm",class:"m-bottom-sheet__close",color:"transparent",onClick:o},{default:e.withCtx(()=>[e.createVNode(e.unref(r),{class:"maz-text-lg"})]),_:2},1032,["onClick"]))],2)]),_:3},8,["model-value"]))}}),u=i._export_sfc(m,[["__scopeId","data-v-7668c29f"]]);exports.default=u;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('../assets/MazBottomSheet.FbcAQBpM.css');const e=require("vue"),d=require("./MazBackdrop.cjs"),i=require("../chunks/_plugin-vue_export-helper.BHFhmbuH.cjs"),m=e.defineComponent({__name:"MazBottomSheet",props:{modelValue:{type:Boolean},noClose:{type:Boolean},noPadding:{type:Boolean}},emits:["update:model-value","open","close"],setup(p,{emit:l}){const s=l,a=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./MazBtn.cjs"))),r=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("../chunks/x-mark.Dz-FO7Es.cjs")));return(t,n)=>(e.openBlock(),e.createBlock(d.default,{"model-value":t.modelValue,"transition-name":"bottom-sheet-anim","backdrop-class":"--bottom-sheet","content-padding":!1,align:"end",justify:"none",variant:"bottom-sheet",onClose:n[0]||(n[0]=o=>t.$emit("close",o)),onOpen:n[1]||(n[1]=o=>t.$emit("open",o)),"onUpdate:modelValue":n[2]||(n[2]=o=>s("update:model-value",o))},{default:e.withCtx(({close:o})=>[e.createElementVNode("div",{class:e.normalizeClass(["m-bottom-sheet__container",{"--no-padding":t.noPadding}])},[e.renderSlot(t.$slots,"default",{close:o},void 0,!0),t.noClose?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(a),{key:0,size:"sm",class:"m-bottom-sheet__close",color:"transparent",onClick:o},{default:e.withCtx(()=>[e.createVNode(e.unref(r),{class:"maz-text-lg"})]),_:2},1032,["onClick"]))],2)]),_:3},8,["model-value"]))}}),u=i._export_sfc(m,[["__scopeId","data-v-bfbc366f"]]);exports.default=u;
2
2
  //# sourceMappingURL=MazBottomSheet.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"MazBottomSheet.cjs","sources":["../../src/components/MazBottomSheet.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport MazBackdrop from '@components/MazBackdrop.vue'\nimport { defineAsyncComponent } from 'vue'\n\nexport interface MazBottomSheetProps {\n /** @model Modal's model value */\n modelValue?: boolean\n /** Remove the close button */\n noClose?: boolean\n /** Remove the padding on the container */\n noPadding?: boolean\n}\n\ndefineProps<MazBottomSheetProps>()\n\nconst emits = defineEmits<{\n /** Emitted when the model value is updated */\n 'update:model-value': [value: boolean]\n /** Emitted when the component is opened */\n 'open': [value: void]\n /** Emitted when the component is closed */\n 'close': [value: void]\n}>()\n\nconst MazBtn = defineAsyncComponent(() => import('@components/MazBtn.vue'))\nconst XIcon = defineAsyncComponent(() => import('@icons/x-mark.svg'))\n</script>\n\n<template>\n <MazBackdrop\n :model-value=\"modelValue\"\n transition-name=\"bottom-sheet-anim\"\n backdrop-class=\"--bottom-sheet\"\n :content-padding=\"false\"\n align=\"end\"\n justify=\"none\"\n variant=\"bottom-sheet\"\n @close=\"$emit('close', $event)\"\n @open=\"$emit('open', $event)\"\n @update:model-value=\"emits('update:model-value', $event)\"\n >\n <template #default=\"{ close }\">\n <div\n class=\"m-bottom-sheet__container\"\n :class=\"{\n '--no-padding': noPadding,\n }\"\n >\n <!--\n @slot Slot content\n @binding {Function} close close function\n -->\n <slot :close=\"close\" />\n\n <MazBtn\n v-if=\"!noClose\"\n size=\"sm\"\n class=\"m-bottom-sheet__close\"\n color=\"transparent\"\n @click=\"close\"\n >\n <XIcon class=\"maz-text-lg\" />\n </MazBtn>\n </div>\n </template>\n </MazBackdrop>\n</template>\n\n<style lang=\"postcss\" scoped>\n.m-bottom-sheet {\n &__container {\n @apply maz-relative maz-bg-color maz-text-normal maz-elevation maz-w-full maz-px-12 maz-rounded-t-2xl;\n\n &:not(.--no-padding) {\n @apply maz-py-6;\n }\n\n box-shadow: 0 -5px 20px hsl(0deg 0% 0% / 20%);\n }\n\n &__content-wrapper {\n @apply maz-flex maz-flex-col maz-flex-center;\n }\n\n &__close {\n @apply !maz-absolute;\n @apply maz-right-2 maz-top-2;\n }\n}\n</style>\n"],"names":["emits","__emit","MazBtn","defineAsyncComponent","XIcon"],"mappings":"6ZAeA,MAAMA,EAAQC,EASRC,EAASC,EAAAA,qBAAqB,IAAM,QAAA,QAAA,EAAA,KAAA,IAAA,QAAO,cAAwB,CAAA,CAAC,EACpEC,EAAQD,EAAAA,qBAAqB,IAAM,QAAA,QAAA,EAAA,KAAA,IAAA,QAAO,+BAAmB,CAAA,CAAC"}
1
+ {"version":3,"file":"MazBottomSheet.cjs","sources":["../../src/components/MazBottomSheet.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { defineAsyncComponent } from 'vue'\nimport MazBackdrop from './MazBackdrop.vue'\n\nexport interface MazBottomSheetProps {\n /** @model Modal's model value */\n modelValue?: boolean\n /** Remove the close button */\n noClose?: boolean\n /** Remove the padding on the container */\n noPadding?: boolean\n}\n\ndefineProps<MazBottomSheetProps>()\n\nconst emits = defineEmits<{\n /** Emitted when the model value is updated */\n 'update:model-value': [value: boolean]\n /** Emitted when the component is opened */\n 'open': [value: void]\n /** Emitted when the component is closed */\n 'close': [value: void]\n}>()\n\nconst MazBtn = defineAsyncComponent(() => import('./MazBtn.vue'))\nconst XIcon = defineAsyncComponent(() => import('../../icons/x-mark.svg'))\n</script>\n\n<template>\n <MazBackdrop\n :model-value=\"modelValue\"\n transition-name=\"bottom-sheet-anim\"\n backdrop-class=\"--bottom-sheet\"\n :content-padding=\"false\"\n align=\"end\"\n justify=\"none\"\n variant=\"bottom-sheet\"\n @close=\"$emit('close', $event)\"\n @open=\"$emit('open', $event)\"\n @update:model-value=\"emits('update:model-value', $event)\"\n >\n <template #default=\"{ close }\">\n <div\n class=\"m-bottom-sheet__container\"\n :class=\"{\n '--no-padding': noPadding,\n }\"\n >\n <!--\n @slot Slot content\n @binding {Function} close close function\n -->\n <slot :close=\"close\" />\n\n <MazBtn\n v-if=\"!noClose\"\n size=\"sm\"\n class=\"m-bottom-sheet__close\"\n color=\"transparent\"\n @click=\"close\"\n >\n <XIcon class=\"maz-text-lg\" />\n </MazBtn>\n </div>\n </template>\n </MazBackdrop>\n</template>\n\n<style lang=\"postcss\" scoped>\n.m-bottom-sheet {\n &__container {\n @apply maz-relative maz-bg-color maz-text-normal maz-elevation maz-w-full maz-px-12 maz-rounded-t-2xl;\n\n &:not(.--no-padding) {\n @apply maz-py-6;\n }\n\n box-shadow: 0 -5px 20px hsl(0deg 0% 0% / 20%);\n }\n\n &__content-wrapper {\n @apply maz-flex maz-flex-col maz-flex-center;\n }\n\n &__close {\n @apply !maz-absolute;\n @apply maz-right-2 maz-top-2;\n }\n}\n</style>\n"],"names":["emits","__emit","MazBtn","defineAsyncComponent","XIcon"],"mappings":"6ZAeA,MAAMA,EAAQC,EASRC,EAASC,EAAAA,qBAAqB,IAAM,QAAA,QAAA,EAAA,KAAA,IAAA,QAAO,cAAc,CAAA,CAAC,EAC1DC,EAAQD,EAAAA,qBAAqB,IAAM,QAAA,QAAA,EAAA,KAAA,IAAA,QAAO,+BAAwB,CAAA,CAAC"}
@@ -1,7 +1,7 @@
1
- import { defineComponent as u, defineAsyncComponent as n, openBlock as a, createBlock as s, withCtx as l, createElementVNode as c, normalizeClass as f, renderSlot as C, unref as m, createVNode as B, createCommentVNode as v } from "vue";
2
- import k from "./MazBackdrop.mjs";
3
- import { _ as z } from "../chunks/_plugin-vue_export-helper.CHgC5LLL.mjs";
4
- import '../assets/MazBottomSheet.Dqr-kpLb.css';const _ = /* @__PURE__ */ u({
1
+ import { defineComponent as u, defineAsyncComponent as n, openBlock as a, createBlock as s, withCtx as l, createElementVNode as f, normalizeClass as c, renderSlot as C, unref as m, createVNode as B, createCommentVNode as b } from "vue";
2
+ import v from "./MazBackdrop.mjs";
3
+ import { _ as k } from "../chunks/_plugin-vue_export-helper.CHgC5LLL.mjs";
4
+ import '../assets/MazBottomSheet.FbcAQBpM.css';const z = /* @__PURE__ */ u({
5
5
  __name: "MazBottomSheet",
6
6
  props: {
7
7
  modelValue: { type: Boolean },
@@ -9,9 +9,9 @@ import '../assets/MazBottomSheet.Dqr-kpLb.css';const _ = /* @__PURE__ */ u({
9
9
  noPadding: { type: Boolean }
10
10
  },
11
11
  emits: ["update:model-value", "open", "close"],
12
- setup(b, { emit: d }) {
12
+ setup(_, { emit: d }) {
13
13
  const r = d, i = n(() => import("./MazBtn.mjs")), p = n(() => import("../chunks/x-mark.DTWA3lfG.mjs"));
14
- return (o, t) => (a(), s(k, {
14
+ return (o, t) => (a(), s(v, {
15
15
  "model-value": o.modelValue,
16
16
  "transition-name": "bottom-sheet-anim",
17
17
  "backdrop-class": "--bottom-sheet",
@@ -24,13 +24,13 @@ import '../assets/MazBottomSheet.Dqr-kpLb.css';const _ = /* @__PURE__ */ u({
24
24
  "onUpdate:modelValue": t[2] || (t[2] = (e) => r("update:model-value", e))
25
25
  }, {
26
26
  default: l(({ close: e }) => [
27
- c("div", {
28
- class: f(["m-bottom-sheet__container", {
27
+ f("div", {
28
+ class: c(["m-bottom-sheet__container", {
29
29
  "--no-padding": o.noPadding
30
30
  }])
31
31
  }, [
32
32
  C(o.$slots, "default", { close: e }, void 0, !0),
33
- o.noClose ? v("", !0) : (a(), s(m(i), {
33
+ o.noClose ? b("", !0) : (a(), s(m(i), {
34
34
  key: 0,
35
35
  size: "sm",
36
36
  class: "m-bottom-sheet__close",
@@ -47,7 +47,7 @@ import '../assets/MazBottomSheet.Dqr-kpLb.css';const _ = /* @__PURE__ */ u({
47
47
  _: 3
48
48
  }, 8, ["model-value"]));
49
49
  }
50
- }), M = /* @__PURE__ */ z(_, [["__scopeId", "data-v-7668c29f"]]);
50
+ }), M = /* @__PURE__ */ k(z, [["__scopeId", "data-v-bfbc366f"]]);
51
51
  export {
52
52
  M as default
53
53
  };
@@ -1 +1 @@
1
- {"version":3,"file":"MazBottomSheet.mjs","sources":["../../src/components/MazBottomSheet.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport MazBackdrop from '@components/MazBackdrop.vue'\nimport { defineAsyncComponent } from 'vue'\n\nexport interface MazBottomSheetProps {\n /** @model Modal's model value */\n modelValue?: boolean\n /** Remove the close button */\n noClose?: boolean\n /** Remove the padding on the container */\n noPadding?: boolean\n}\n\ndefineProps<MazBottomSheetProps>()\n\nconst emits = defineEmits<{\n /** Emitted when the model value is updated */\n 'update:model-value': [value: boolean]\n /** Emitted when the component is opened */\n 'open': [value: void]\n /** Emitted when the component is closed */\n 'close': [value: void]\n}>()\n\nconst MazBtn = defineAsyncComponent(() => import('@components/MazBtn.vue'))\nconst XIcon = defineAsyncComponent(() => import('@icons/x-mark.svg'))\n</script>\n\n<template>\n <MazBackdrop\n :model-value=\"modelValue\"\n transition-name=\"bottom-sheet-anim\"\n backdrop-class=\"--bottom-sheet\"\n :content-padding=\"false\"\n align=\"end\"\n justify=\"none\"\n variant=\"bottom-sheet\"\n @close=\"$emit('close', $event)\"\n @open=\"$emit('open', $event)\"\n @update:model-value=\"emits('update:model-value', $event)\"\n >\n <template #default=\"{ close }\">\n <div\n class=\"m-bottom-sheet__container\"\n :class=\"{\n '--no-padding': noPadding,\n }\"\n >\n <!--\n @slot Slot content\n @binding {Function} close close function\n -->\n <slot :close=\"close\" />\n\n <MazBtn\n v-if=\"!noClose\"\n size=\"sm\"\n class=\"m-bottom-sheet__close\"\n color=\"transparent\"\n @click=\"close\"\n >\n <XIcon class=\"maz-text-lg\" />\n </MazBtn>\n </div>\n </template>\n </MazBackdrop>\n</template>\n\n<style lang=\"postcss\" scoped>\n.m-bottom-sheet {\n &__container {\n @apply maz-relative maz-bg-color maz-text-normal maz-elevation maz-w-full maz-px-12 maz-rounded-t-2xl;\n\n &:not(.--no-padding) {\n @apply maz-py-6;\n }\n\n box-shadow: 0 -5px 20px hsl(0deg 0% 0% / 20%);\n }\n\n &__content-wrapper {\n @apply maz-flex maz-flex-col maz-flex-center;\n }\n\n &__close {\n @apply !maz-absolute;\n @apply maz-right-2 maz-top-2;\n }\n}\n</style>\n"],"names":["emits","__emit","MazBtn","defineAsyncComponent","XIcon"],"mappings":";;;;;;;;;;;;AAeA,UAAMA,IAAQC,GASRC,IAASC,EAAqB,MAAM,OAAO,cAAwB,CAAC,GACpEC,IAAQD,EAAqB,MAAM,OAAO,+BAAmB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"MazBottomSheet.mjs","sources":["../../src/components/MazBottomSheet.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { defineAsyncComponent } from 'vue'\nimport MazBackdrop from './MazBackdrop.vue'\n\nexport interface MazBottomSheetProps {\n /** @model Modal's model value */\n modelValue?: boolean\n /** Remove the close button */\n noClose?: boolean\n /** Remove the padding on the container */\n noPadding?: boolean\n}\n\ndefineProps<MazBottomSheetProps>()\n\nconst emits = defineEmits<{\n /** Emitted when the model value is updated */\n 'update:model-value': [value: boolean]\n /** Emitted when the component is opened */\n 'open': [value: void]\n /** Emitted when the component is closed */\n 'close': [value: void]\n}>()\n\nconst MazBtn = defineAsyncComponent(() => import('./MazBtn.vue'))\nconst XIcon = defineAsyncComponent(() => import('../../icons/x-mark.svg'))\n</script>\n\n<template>\n <MazBackdrop\n :model-value=\"modelValue\"\n transition-name=\"bottom-sheet-anim\"\n backdrop-class=\"--bottom-sheet\"\n :content-padding=\"false\"\n align=\"end\"\n justify=\"none\"\n variant=\"bottom-sheet\"\n @close=\"$emit('close', $event)\"\n @open=\"$emit('open', $event)\"\n @update:model-value=\"emits('update:model-value', $event)\"\n >\n <template #default=\"{ close }\">\n <div\n class=\"m-bottom-sheet__container\"\n :class=\"{\n '--no-padding': noPadding,\n }\"\n >\n <!--\n @slot Slot content\n @binding {Function} close close function\n -->\n <slot :close=\"close\" />\n\n <MazBtn\n v-if=\"!noClose\"\n size=\"sm\"\n class=\"m-bottom-sheet__close\"\n color=\"transparent\"\n @click=\"close\"\n >\n <XIcon class=\"maz-text-lg\" />\n </MazBtn>\n </div>\n </template>\n </MazBackdrop>\n</template>\n\n<style lang=\"postcss\" scoped>\n.m-bottom-sheet {\n &__container {\n @apply maz-relative maz-bg-color maz-text-normal maz-elevation maz-w-full maz-px-12 maz-rounded-t-2xl;\n\n &:not(.--no-padding) {\n @apply maz-py-6;\n }\n\n box-shadow: 0 -5px 20px hsl(0deg 0% 0% / 20%);\n }\n\n &__content-wrapper {\n @apply maz-flex maz-flex-col maz-flex-center;\n }\n\n &__close {\n @apply !maz-absolute;\n @apply maz-right-2 maz-top-2;\n }\n}\n</style>\n"],"names":["emits","__emit","MazBtn","defineAsyncComponent","XIcon"],"mappings":";;;;;;;;;;;;AAeA,UAAMA,IAAQC,GASRC,IAASC,EAAqB,MAAM,OAAO,cAAc,CAAC,GAC1DC,IAAQD,EAAqB,MAAM,OAAO,+BAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('../assets/MazBtn.7QWd6o3M.css');const e=require("vue"),v=require("../chunks/_plugin-vue_export-helper.BHFhmbuH.cjs"),z={key:0,class:"m-btn-loader-container"},b=e.defineComponent({__name:"MazBtn",props:{variant:{default:"button"},size:{default:"md"},color:{default:"primary"},type:{default:"button"},rounded:{type:Boolean},roundedSize:{default:"lg"},noRounded:{type:Boolean},outline:{type:Boolean},pastel:{type:Boolean},block:{type:Boolean},noUnderline:{type:Boolean},loading:{type:Boolean},disabled:{type:Boolean},fab:{type:Boolean},icon:{type:[String,Function,Object],default:void 0},leftIcon:{type:[String,Function,Object],default:void 0},rightIcon:{type:[String,Function,Object],default:void 0},noPadding:{type:Boolean},noElevation:{type:Boolean},justify:{default:"center"}},setup(s){const n=s,l=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./MazIcon.cjs"))),i=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./MazSpinner.cjs"))),{href:u,to:d}=e.useAttrs(),a=e.computed(()=>u?"a":d?"router-link":"button"),c=e.computed(()=>n.pastel?`--${n.color}-pastel`:n.outline?`--${n.color}-outline`:`--${n.color}`),r=e.computed(()=>(n.loading||n.disabled)&&a.value==="button"),m=e.computed(()=>r.value?"--cursor-default":"--cursor-pointer"),p=e.computed(()=>`--is-${n.variant}`),f=e.computed(()=>n.loading&&n.variant==="button"),y=e.computed(()=>a.value==="button"?n.type:void 0),t=e.computed(()=>n.size==="xl"?"maz-text-3xl":n.size==="lg"?"maz-text-2xl":n.size==="md"?"maz-text-xl":n.size==="sm"?"maz-text-lg":n.size==="xs"?"maz-text-base":n.size==="mini"?"maz-text-sm":"maz-text-xl");return(o,k)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.value),{disabled:r.value||void 0,class:e.normalizeClass(["m-btn m-reset-css",[`--${o.size}`,!o.fab&&!o.rounded&&o.roundedSize&&`--rounded-${o.roundedSize}`,c.value,m.value,p.value,{"--block":o.block,"--no-underline":o.noUnderline,"--fab":o.fab,"--loading":o.loading,"--disabled":r.value,"--rounded":o.rounded,"--no-rounded":o.noRounded,"--no-padding":o.noPadding,"--no-elevation":o.noElevation}]]),style:e.normalizeStyle([`--justify: ${o.justify}`]),type:y.value},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"left-icon",{},()=>[typeof o.leftIcon=="string"?(e.openBlock(),e.createBlock(e.unref(l),{key:0,name:o.leftIcon,class:e.normalizeClass([t.value])},null,8,["name","class"])):o.leftIcon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.leftIcon),{key:1,class:e.normalizeClass([t.value])},null,8,["class"])):e.createCommentVNode("",!0)],!0),e.renderSlot(o.$slots,"icon",{},()=>[typeof o.icon=="string"?(e.openBlock(),e.createBlock(e.unref(l),{key:0,name:o.icon,class:e.normalizeClass([t.value])},null,8,["name","class"])):o.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.icon),{key:1,class:e.normalizeClass([t.value])},null,8,["class"])):e.createCommentVNode("",!0)],!0),e.renderSlot(o.$slots,"default",{},void 0,!0),e.renderSlot(o.$slots,"right-icon",{},()=>[typeof o.rightIcon=="string"?(e.openBlock(),e.createBlock(e.unref(l),{key:0,name:o.rightIcon,class:e.normalizeClass([t.value])},null,8,["name","class"])):o.rightIcon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.rightIcon),{key:1,class:e.normalizeClass([t.value])},null,8,["class"])):e.createCommentVNode("",!0)],!0),f.value?(e.openBlock(),e.createElementBlock("div",z,[e.createVNode(e.unref(i),{size:"2em",color:o.color},null,8,["color"])])):e.createCommentVNode("",!0)]),_:3},8,["disabled","class","style","type"]))}}),B=v._export_sfc(b,[["__scopeId","data-v-db145b2a"]]);exports.default=B;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('../assets/MazBtn.Bz7wwOFh.css');const e=require("vue"),v=require("../chunks/_plugin-vue_export-helper.BHFhmbuH.cjs"),z={key:0,class:"m-btn-loader-container"},b=e.defineComponent({__name:"MazBtn",props:{variant:{default:"button"},size:{default:"md"},color:{default:"primary"},type:{default:"button"},rounded:{type:Boolean},roundedSize:{default:"lg"},noRounded:{type:Boolean},outline:{type:Boolean},pastel:{type:Boolean},block:{type:Boolean},noUnderline:{type:Boolean},loading:{type:Boolean},disabled:{type:Boolean},fab:{type:Boolean},icon:{type:[String,Function,Object],default:void 0},leftIcon:{type:[String,Function,Object],default:void 0},rightIcon:{type:[String,Function,Object],default:void 0},noPadding:{type:Boolean},noElevation:{type:Boolean},justify:{default:"center"}},setup(s){const n=s,l=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./MazIcon.cjs"))),i=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./MazSpinner.cjs"))),{href:u,to:d}=e.useAttrs(),a=e.computed(()=>u?"a":d?"router-link":"button"),c=e.computed(()=>n.pastel?`--${n.color}-pastel`:n.outline?`--${n.color}-outline`:`--${n.color}`),r=e.computed(()=>(n.loading||n.disabled)&&a.value==="button"),m=e.computed(()=>r.value?"--cursor-default":"--cursor-pointer"),p=e.computed(()=>`--is-${n.variant}`),f=e.computed(()=>n.loading&&n.variant==="button"),y=e.computed(()=>a.value==="button"?n.type:void 0),t=e.computed(()=>n.size==="xl"?"maz-text-3xl":n.size==="lg"?"maz-text-2xl":n.size==="md"?"maz-text-xl":n.size==="sm"?"maz-text-lg":n.size==="xs"?"maz-text-base":n.size==="mini"?"maz-text-sm":"maz-text-xl");return(o,k)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.value),{disabled:r.value||void 0,class:e.normalizeClass(["m-btn m-reset-css",[`--${o.size}`,!o.fab&&!o.rounded&&o.roundedSize&&`--rounded-${o.roundedSize}`,c.value,m.value,p.value,{"--block":o.block,"--no-underline":o.noUnderline,"--fab":o.fab,"--loading":o.loading,"--disabled":r.value,"--rounded":o.rounded,"--no-rounded":o.noRounded,"--no-padding":o.noPadding,"--no-elevation":o.noElevation}]]),style:e.normalizeStyle([`--justify: ${o.justify}`]),type:y.value},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"left-icon",{},()=>[typeof o.leftIcon=="string"?(e.openBlock(),e.createBlock(e.unref(l),{key:0,name:o.leftIcon,class:e.normalizeClass([t.value])},null,8,["name","class"])):o.leftIcon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.leftIcon),{key:1,class:e.normalizeClass([t.value])},null,8,["class"])):e.createCommentVNode("",!0)],!0),e.renderSlot(o.$slots,"icon",{},()=>[typeof o.icon=="string"?(e.openBlock(),e.createBlock(e.unref(l),{key:0,name:o.icon,class:e.normalizeClass([t.value])},null,8,["name","class"])):o.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.icon),{key:1,class:e.normalizeClass([t.value])},null,8,["class"])):e.createCommentVNode("",!0)],!0),e.renderSlot(o.$slots,"default",{},void 0,!0),e.renderSlot(o.$slots,"right-icon",{},()=>[typeof o.rightIcon=="string"?(e.openBlock(),e.createBlock(e.unref(l),{key:0,name:o.rightIcon,class:e.normalizeClass([t.value])},null,8,["name","class"])):o.rightIcon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.rightIcon),{key:1,class:e.normalizeClass([t.value])},null,8,["class"])):e.createCommentVNode("",!0)],!0),f.value?(e.openBlock(),e.createElementBlock("div",z,[e.createVNode(e.unref(i),{size:"2em",color:o.color},null,8,["color"])])):e.createCommentVNode("",!0)]),_:3},8,["disabled","class","style","type"]))}}),B=v._export_sfc(b,[["__scopeId","data-v-905e7603"]]);exports.default=B;
2
2
  //# sourceMappingURL=MazBtn.cjs.map