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":"MazDialog.mjs","sources":["../../src/components/MazDialog.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type {\n ComponentPublicInstance,\n HTMLAttributes,\n StyleValue,\n} from 'vue'\nimport MazBackdrop, { type MazBackdropProps } from '@components/MazBackdrop.vue'\n\nimport {\n computed,\n defineAsyncComponent,\n nextTick,\n ref,\n useAttrs,\n useSlots,\n watch,\n} from 'vue'\n\ndefineOptions({\n name: 'MazDialog',\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<InternalProps & MazBackdropProps>(), {\n /** Title of the modal in header */\n title: undefined,\n /** Remove the close button in header */\n noClose: false,\n /** Modal's max-width */\n maxWidth: '100%',\n /** Modal's min-width */\n minWidth: '32rem',\n /** Modal's content becomes scrollable - warning: a overflow is applied */\n scrollable: false,\n /** Persistent dialog (not closable by clicking outside and remove close button) */\n persistent: false,\n})\n\ndefineEmits<{\n /** emitted when modal is open */\n 'open': [value: void]\n /** emitted when modal is close */\n 'close': [value: void]\n /** emitted when modal is open or close */\n 'update:model-value': [value: boolean]\n}>()\n\nconst MazBtn = defineAsyncComponent(() => import('@components/MazBtn.vue'))\n\nexport interface InternalProps {\n /** @model Modal's model value */\n modelValue?: boolean\n /** Title of the modal in header */\n title?: string\n /** Remove the close button in header */\n noClose?: boolean\n /** Modal's max-width */\n maxWidth?: string\n /** Modal's min-width */\n minWidth?: string\n /** Modal's content becomes scrollable - warning: a overflow is applied */\n scrollable?: boolean\n /** Persistent dialog (not closable by clicking outside and remove close button) */\n persistent?: boolean\n}\n\nexport type MazDialogProps = InternalProps & MazBackdropProps\n\nconst XIcon = defineAsyncComponent(() => import('@icons/x-mark.svg'))\n\nconst attrs = useAttrs()\n\nconst backdrop = ref<ComponentPublicInstance<typeof MazBackdrop>>()\n\ndefineExpose({\n close: () => backdrop.value?.close?.(),\n})\n\nconst backdropProps = computed(() => {\n const dialogPropKeys: (keyof MazDialogProps)[] = [\n 'modelValue',\n 'title',\n 'noClose',\n 'maxWidth',\n 'minWidth',\n 'scrollable',\n ]\n\n return Object.fromEntries(\n Object.entries(props).filter(([key]) => !dialogPropKeys.includes(key as keyof MazDialogProps)),\n ) as MazBackdropProps\n})\n\nconst backdropAttrs = computed(() => ({\n ...attrs,\n class: undefined,\n style: undefined,\n}))\nconst wrapperAttrs = computed<{\n class?: HTMLAttributes['class']\n}>(() => ({\n class: attrs.class,\n style: attrs.style as StyleValue,\n}))\n\nconst dialogContent = ref<HTMLElement>()\n\nconst slots = useSlots()\nconst hasFooter = computed(() => !!slots.footer)\n\nif (props.scrollable) {\n watch(() => props.modelValue, async (newVal) => {\n await nextTick()\n if (newVal && dialogContent.value) {\n setTimeout(() => {\n dialogContent.value?.scrollTo({ top: 0, behavior: 'instant' })\n }, 0)\n }\n })\n}\n</script>\n\n<template>\n <MazBackdrop\n v-bind=\"{ ...backdropAttrs, ...backdropProps }\"\n ref=\"backdrop\"\n v-slot=\"{ close, onBackdropClicked }\"\n :model-value=\"modelValue\"\n transition-name=\"modal-anim\"\n aria-labelledby=\"dialogTitle\"\n aria-describedby=\"dialogDesc\"\n content-padding\n justify=\"center\"\n variant=\"dialog\"\n @close=\"$emit('close', $event)\"\n @open=\"$emit('open', $event)\"\n @update:model-value=\"$emit('update:model-value', $event)\"\n >\n <div\n class=\"m-dialog\"\n role=\"dialog\"\n aria-modal=\"true\"\n :style=\"[{ '--max-width': maxWidth, '--min-width': minWidth }]\"\n :class=\"{ '--scrollable': scrollable }\"\n v-bind=\"wrapperAttrs\"\n >\n <!--\n @slot Header slot\n @binding {Function} close close function\n @binding {Function} onBackdropClicked onBackdropClicked function (respects persistent option)\n -->\n <slot name=\"header\" :close :on-backdrop-clicked>\n <div class=\"m-dialog-header\" :class=\"{ '--has-title': $slots.title || title }\">\n <h2\n v-if=\"$slots.title || title\"\n id=\"dialogTitle\"\n class=\"m-dialog-title\"\n >\n <!--\n @slot Title slot in the header\n -->\n <slot name=\"title\">\n {{ title }}\n </slot>\n </h2>\n\n <MazBtn\n v-if=\"!noClose && !persistent\"\n color=\"transparent\"\n size=\"sm\"\n :icon=\"XIcon\"\n @click=\"close\"\n />\n </div>\n </slot>\n <div id=\"dialogDesc\" ref=\"dialogContent\" class=\"m-dialog-content\" :class=\"{ '--bottom-padding': !hasFooter }\">\n <!--\n @slot Default content\n @binding {Function} close close function\n @binding {Function} onBackdropClicked onBackdropClicked function (respects persistent option)\n -->\n <slot :close :on-backdrop-clicked />\n </div>\n <div v-if=\"hasFooter\" class=\"m-dialog-footer\">\n <!--\n @slot Footer slot\n @binding {Function} close close function\n @binding {Function} onBackdropClicked onBackdropClicked function (respects persistent option)\n -->\n <slot name=\"footer\" :close :on-backdrop-clicked />\n </div>\n </div>\n </MazBackdrop>\n</template>\n\n<style lang=\"postcss\" scoped>\n.m-dialog {\n @apply maz-flex maz-origin-center maz-flex-col maz-min-w-full maz-rounded maz-bg-color maz-text-normal dark:maz-border dark:maz-border-color-light tab-s:maz-my-8 maz-max-w-full maz-touch-none;\n\n @screen tab-s {\n max-width: var(--max-width);\n min-width: var(--min-width);\n }\n\n &-header {\n @apply maz-flex maz-items-baseline maz-justify-end maz-pl-6 maz-pr-2 maz-pt-2 maz-pb-4;\n\n &.--has-title {\n @apply maz-justify-between;\n }\n }\n\n &-title {\n @apply maz-my-0 maz-text-xl maz-font-semibold;\n }\n\n &-footer {\n @apply maz-flex maz-items-center maz-justify-end maz-px-6 maz-py-4;\n }\n\n &-content {\n @apply maz-flex-1 maz-px-6;\n\n &-icon {\n flex: 0 0 auto;\n }\n\n &.--bottom-padding {\n @apply maz-pb-4;\n }\n }\n\n &.--scrollable {\n @apply maz-max-h-[95vh] maz-my-0;\n\n .m-dialog-content {\n @apply maz-overflow-auto maz-border-t maz-border-color-light maz-py-4;\n\n &:not(.--bottom-padding) {\n @apply maz-border-b;\n }\n }\n }\n}\n</style>\n"],"names":["props","__props","MazBtn","defineAsyncComponent","XIcon","attrs","useAttrs","backdrop","ref","__expose","_b","_a","backdropProps","computed","dialogPropKeys","key","backdropAttrs","wrapperAttrs","dialogContent","slots","useSlots","hasFooter","watch","newVal","nextTick"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,UAAMA,IAAQC,GAwBRC,IAASC,EAAqB,MAAM,OAAO,cAAwB,CAAC,GAqBpEC,IAAQD,EAAqB,MAAM,OAAO,+BAAmB,CAAC,GAE9DE,IAAQC,EAAS,GAEjBC,IAAWC,EAAiD;AAErD,IAAAC,EAAA;AAAA,MACX,OAAO,MAAA;;AAAM,gBAAAC,KAAAC,IAAAJ,EAAS,UAAT,gBAAAI,EAAgB,UAAhB,gBAAAD,EAAA,KAAAC;AAAA;AAAA,IAAwB,CACtC;AAEK,UAAAC,IAAgBC,EAAS,MAAM;AACnC,YAAMC,IAA2C;AAAA,QAC/C;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAEA,aAAO,OAAO;AAAA,QACZ,OAAO,QAAQd,CAAK,EAAE,OAAO,CAAC,CAACe,CAAG,MAAM,CAACD,EAAe,SAASC,CAA2B,CAAC;AAAA,MAC/F;AAAA,IAAA,CACD,GAEKC,IAAgBH,EAAS,OAAO;AAAA,MACpC,GAAGR;AAAA,MACH,OAAO;AAAA,MACP,OAAO;AAAA,IAAA,EACP,GACIY,IAAeJ,EAElB,OAAO;AAAA,MACR,OAAOR,EAAM;AAAA,MACb,OAAOA,EAAM;AAAA,IAAA,EACb,GAEIa,IAAgBV,EAAiB,GAEjCW,IAAQC,EAAS,GACjBC,IAAYR,EAAS,MAAM,CAAC,CAACM,EAAM,MAAM;AAE/C,WAAInB,EAAM,cACRsB,EAAM,MAAMtB,EAAM,YAAY,OAAOuB,MAAW;AAC9C,YAAMC,EAAS,GACXD,KAAUL,EAAc,SAC1B,WAAW,MAAM;;AACf,SAAAP,IAAAO,EAAc,UAAd,QAAAP,EAAqB,SAAS,EAAE,KAAK,GAAG,UAAU;SACjD,CAAC;AAAA,IACN,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"MazDialog.mjs","sources":["../../src/components/MazDialog.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type {\n ComponentPublicInstance,\n HTMLAttributes,\n StyleValue,\n} from 'vue'\nimport {\n computed,\n defineAsyncComponent,\n nextTick,\n ref,\n useAttrs,\n useSlots,\n watch,\n} from 'vue'\n\nimport MazBackdrop, { type MazBackdropProps } from './MazBackdrop.vue'\n\ndefineOptions({\n name: 'MazDialog',\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<InternalProps & MazBackdropProps>(), {\n /** Title of the modal in header */\n title: undefined,\n /** Remove the close button in header */\n noClose: false,\n /** Modal's max-width */\n maxWidth: '100%',\n /** Modal's min-width */\n minWidth: '32rem',\n /** Modal's content becomes scrollable - warning: a overflow is applied */\n scrollable: false,\n /** Persistent dialog (not closable by clicking outside and remove close button) */\n persistent: false,\n})\n\ndefineEmits<{\n /** emitted when modal is open */\n 'open': [value: void]\n /** emitted when modal is close */\n 'close': [value: void]\n /** emitted when modal is open or close */\n 'update:model-value': [value: boolean]\n}>()\n\nconst MazBtn = defineAsyncComponent(() => import('./MazBtn.vue'))\n\nexport interface InternalProps {\n /** @model Modal's model value */\n modelValue?: boolean\n /** Title of the modal in header */\n title?: string\n /** Remove the close button in header */\n noClose?: boolean\n /** Modal's max-width */\n maxWidth?: string\n /** Modal's min-width */\n minWidth?: string\n /** Modal's content becomes scrollable - warning: a overflow is applied */\n scrollable?: boolean\n /** Persistent dialog (not closable by clicking outside and remove close button) */\n persistent?: boolean\n}\n\nexport type MazDialogProps = InternalProps & MazBackdropProps\n\nconst XIcon = defineAsyncComponent(() => import('../../icons/x-mark.svg'))\n\nconst attrs = useAttrs()\n\nconst backdrop = ref<ComponentPublicInstance<typeof MazBackdrop>>()\n\ndefineExpose({\n close: () => backdrop.value?.close?.(),\n})\n\nconst backdropProps = computed(() => {\n const dialogPropKeys: (keyof MazDialogProps)[] = [\n 'modelValue',\n 'title',\n 'noClose',\n 'maxWidth',\n 'minWidth',\n 'scrollable',\n ]\n\n return Object.fromEntries(\n Object.entries(props).filter(([key]) => !dialogPropKeys.includes(key as keyof MazDialogProps)),\n ) as MazBackdropProps\n})\n\nconst backdropAttrs = computed(() => ({\n ...attrs,\n class: undefined,\n style: undefined,\n}))\nconst wrapperAttrs = computed<{\n class?: HTMLAttributes['class']\n}>(() => ({\n class: attrs.class,\n style: attrs.style as StyleValue,\n}))\n\nconst dialogContent = ref<HTMLElement>()\n\nconst slots = useSlots()\nconst hasFooter = computed(() => !!slots.footer)\n\nif (props.scrollable) {\n watch(() => props.modelValue, async (newVal) => {\n await nextTick()\n if (newVal && dialogContent.value) {\n setTimeout(() => {\n dialogContent.value?.scrollTo({ top: 0, behavior: 'instant' })\n }, 0)\n }\n })\n}\n</script>\n\n<template>\n <MazBackdrop\n v-bind=\"{ ...backdropAttrs, ...backdropProps }\"\n ref=\"backdrop\"\n v-slot=\"{ close, onBackdropClicked }\"\n :model-value=\"modelValue\"\n transition-name=\"modal-anim\"\n aria-labelledby=\"dialogTitle\"\n aria-describedby=\"dialogDesc\"\n content-padding\n justify=\"center\"\n variant=\"dialog\"\n @close=\"$emit('close', $event)\"\n @open=\"$emit('open', $event)\"\n @update:model-value=\"$emit('update:model-value', $event)\"\n >\n <div\n class=\"m-dialog\"\n role=\"dialog\"\n aria-modal=\"true\"\n :style=\"[{ '--max-width': maxWidth, '--min-width': minWidth }]\"\n :class=\"{ '--scrollable': scrollable }\"\n v-bind=\"wrapperAttrs\"\n >\n <!--\n @slot Header slot\n @binding {Function} close close function\n @binding {Function} onBackdropClicked onBackdropClicked function (respects persistent option)\n -->\n <slot name=\"header\" :close :on-backdrop-clicked>\n <div class=\"m-dialog-header\" :class=\"{ '--has-title': $slots.title || title }\">\n <h2\n v-if=\"$slots.title || title\"\n id=\"dialogTitle\"\n class=\"m-dialog-title\"\n >\n <!--\n @slot Title slot in the header\n -->\n <slot name=\"title\">\n {{ title }}\n </slot>\n </h2>\n\n <MazBtn\n v-if=\"!noClose && !persistent\"\n color=\"transparent\"\n size=\"sm\"\n :icon=\"XIcon\"\n @click=\"close\"\n />\n </div>\n </slot>\n <div id=\"dialogDesc\" ref=\"dialogContent\" class=\"m-dialog-content\" :class=\"{ '--bottom-padding': !hasFooter }\">\n <!--\n @slot Default content\n @binding {Function} close close function\n @binding {Function} onBackdropClicked onBackdropClicked function (respects persistent option)\n -->\n <slot :close :on-backdrop-clicked />\n </div>\n <div v-if=\"hasFooter\" class=\"m-dialog-footer\">\n <!--\n @slot Footer slot\n @binding {Function} close close function\n @binding {Function} onBackdropClicked onBackdropClicked function (respects persistent option)\n -->\n <slot name=\"footer\" :close :on-backdrop-clicked />\n </div>\n </div>\n </MazBackdrop>\n</template>\n\n<style lang=\"postcss\" scoped>\n.m-dialog {\n @apply maz-flex maz-origin-center maz-flex-col maz-min-w-full maz-rounded maz-bg-color maz-text-normal dark:maz-border dark:maz-border-color-light tab-s:maz-my-8 maz-max-w-full maz-touch-none;\n\n @screen tab-s {\n max-width: var(--max-width);\n min-width: var(--min-width);\n }\n\n &-header {\n @apply maz-flex maz-items-baseline maz-justify-end maz-pl-6 maz-pr-2 maz-pt-2 maz-pb-4;\n\n &.--has-title {\n @apply maz-justify-between;\n }\n }\n\n &-title {\n @apply maz-my-0 maz-text-xl maz-font-semibold;\n }\n\n &-footer {\n @apply maz-flex maz-items-center maz-justify-end maz-px-6 maz-py-4;\n }\n\n &-content {\n @apply maz-flex-1 maz-px-6;\n\n &-icon {\n flex: 0 0 auto;\n }\n\n &.--bottom-padding {\n @apply maz-pb-4;\n }\n }\n\n &.--scrollable {\n @apply maz-max-h-[95vh] maz-my-0;\n\n .m-dialog-content {\n @apply maz-overflow-auto maz-border-t maz-border-color-light maz-py-4;\n\n &:not(.--bottom-padding) {\n @apply maz-border-b;\n }\n }\n }\n}\n</style>\n"],"names":["props","__props","MazBtn","defineAsyncComponent","XIcon","attrs","useAttrs","backdrop","ref","__expose","_b","_a","backdropProps","computed","dialogPropKeys","key","backdropAttrs","wrapperAttrs","dialogContent","slots","useSlots","hasFooter","watch","newVal","nextTick"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,UAAMA,IAAQC,GAwBRC,IAASC,EAAqB,MAAM,OAAO,cAAc,CAAC,GAqB1DC,IAAQD,EAAqB,MAAM,OAAO,+BAAwB,CAAC,GAEnEE,IAAQC,EAAS,GAEjBC,IAAWC,EAAiD;AAErD,IAAAC,EAAA;AAAA,MACX,OAAO,MAAA;;AAAM,gBAAAC,KAAAC,IAAAJ,EAAS,UAAT,gBAAAI,EAAgB,UAAhB,gBAAAD,EAAA,KAAAC;AAAA;AAAA,IAAwB,CACtC;AAEK,UAAAC,IAAgBC,EAAS,MAAM;AACnC,YAAMC,IAA2C;AAAA,QAC/C;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAEA,aAAO,OAAO;AAAA,QACZ,OAAO,QAAQd,CAAK,EAAE,OAAO,CAAC,CAACe,CAAG,MAAM,CAACD,EAAe,SAASC,CAA2B,CAAC;AAAA,MAC/F;AAAA,IAAA,CACD,GAEKC,IAAgBH,EAAS,OAAO;AAAA,MACpC,GAAGR;AAAA,MACH,OAAO;AAAA,MACP,OAAO;AAAA,IAAA,EACP,GACIY,IAAeJ,EAElB,OAAO;AAAA,MACR,OAAOR,EAAM;AAAA,MACb,OAAOA,EAAM;AAAA,IAAA,EACb,GAEIa,IAAgBV,EAAiB,GAEjCW,IAAQC,EAAS,GACjBC,IAAYR,EAAS,MAAM,CAAC,CAACM,EAAM,MAAM;AAE/C,WAAInB,EAAM,cACRsB,EAAM,MAAMtB,EAAM,YAAY,OAAOuB,MAAW;AAC9C,YAAMC,EAAS,GACXD,KAAUL,EAAc,SAC1B,WAAW,MAAM;;AACf,SAAAP,IAAAO,EAAc,UAAd,QAAAP,EAAqB,SAAS,EAAE,KAAK,GAAG,UAAU;SACjD,CAAC;AAAA,IACN,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('../assets/MazDrawer.Cu4KVc_z.css');const e=require("vue"),c=require("./MazBackdrop.cjs"),p=require("../chunks/_plugin-vue_export-helper.BHFhmbuH.cjs"),f={class:"m-drawer-header__title"},v={key:0,class:"m-drawer-header__close"},C={class:"m-drawer-body"},w=e.defineComponent({__name:"MazDrawer",props:{title:{default:void 0},variant:{default:"right"},size:{default:"30rem"},backdropClass:{default:void 0},noClose:{type:Boolean,default:!1}},emits:["before-close","open","close","update:model-value"],setup(a){const n=a,s=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./MazBtn.cjs"))),l=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("../chunks/x-mark.Dz-FO7Es.cjs"))),i=e.computed(()=>n.variant==="left"?"start":n.variant==="right"?"end":"none"),d=e.computed(()=>n.variant==="top"?"start":n.variant==="bottom"?"end":"none"),u=e.useSlots(),m=e.computed(()=>!!(n.title||u.title));return(t,r)=>(e.openBlock(),e.createBlock(c.default,{"backdrop-class":["m-drawer",t.backdropClass],justify:i.value,align:d.value,variant:"drawer","transition-name":`drawer-anim-${t.variant}`,onClose:r[0]||(r[0]=o=>t.$emit("close")),onOpen:r[1]||(r[1]=o=>t.$emit("open")),onBeforeClose:r[2]||(r[2]=o=>t.$emit("before-close")),"onUpdate:modelValue":r[3]||(r[3]=o=>t.$emit("update:model-value",o))},{default:e.withCtx(({close:o})=>[e.createElementVNode("div",{class:e.normalizeClass(["m-drawer-content-wrap",[`--${t.variant}`]]),style:e.normalizeStyle({"--maz-drawer-size":t.size})},[e.createElementVNode("header",{class:e.normalizeClass(["m-drawer-header",[m.value?"--justify-between":"--justify-end"]])},[e.createElementVNode("h4",f,[e.renderSlot(t.$slots,"title",{close:o},()=>[e.createTextVNode(e.toDisplayString(t.title),1)],!0)]),t.noClose?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",v,[e.createVNode(e.unref(s),{size:"sm",color:"transparent",onClick:o},{default:e.withCtx(()=>[e.createVNode(e.unref(l),{class:"icon maz-text-lg"})]),_:2},1032,["onClick"])]))],2),e.createElementVNode("div",C,[e.renderSlot(t.$slots,"default",{close:o},void 0,!0)])],6)]),_:3},8,["backdrop-class","justify","align","transition-name"]))}}),y=p._export_sfc(w,[["__scopeId","data-v-8315a498"]]);exports.default=y;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('../assets/MazDrawer.BqaLe_QM.css');const e=require("vue"),c=require("./MazBackdrop.cjs"),p=require("../chunks/_plugin-vue_export-helper.BHFhmbuH.cjs"),f={class:"m-drawer-header__title"},v={key:0,class:"m-drawer-header__close"},C={class:"m-drawer-body"},w=e.defineComponent({__name:"MazDrawer",props:{title:{default:void 0},variant:{default:"right"},size:{default:"30rem"},backdropClass:{default:void 0},noClose:{type:Boolean,default:!1}},emits:["before-close","open","close","update:model-value"],setup(a){const n=a,s=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./MazBtn.cjs"))),l=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("../chunks/x-mark.Dz-FO7Es.cjs"))),i=e.computed(()=>n.variant==="left"?"start":n.variant==="right"?"end":"none"),d=e.computed(()=>n.variant==="top"?"start":n.variant==="bottom"?"end":"none"),u=e.useSlots(),m=e.computed(()=>!!(n.title||u.title));return(t,r)=>(e.openBlock(),e.createBlock(c.default,{"backdrop-class":["m-drawer",t.backdropClass],justify:i.value,align:d.value,variant:"drawer","transition-name":`drawer-anim-${t.variant}`,onClose:r[0]||(r[0]=o=>t.$emit("close")),onOpen:r[1]||(r[1]=o=>t.$emit("open")),onBeforeClose:r[2]||(r[2]=o=>t.$emit("before-close")),"onUpdate:modelValue":r[3]||(r[3]=o=>t.$emit("update:model-value",o))},{default:e.withCtx(({close:o})=>[e.createElementVNode("div",{class:e.normalizeClass(["m-drawer-content-wrap",[`--${t.variant}`]]),style:e.normalizeStyle({"--maz-drawer-size":t.size})},[e.createElementVNode("header",{class:e.normalizeClass(["m-drawer-header",[m.value?"--justify-between":"--justify-end"]])},[e.createElementVNode("h4",f,[e.renderSlot(t.$slots,"title",{close:o},()=>[e.createTextVNode(e.toDisplayString(t.title),1)],!0)]),t.noClose?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",v,[e.createVNode(e.unref(s),{size:"sm",color:"transparent",onClick:o},{default:e.withCtx(()=>[e.createVNode(e.unref(l),{class:"icon maz-text-lg"})]),_:2},1032,["onClick"])]))],2),e.createElementVNode("div",C,[e.renderSlot(t.$slots,"default",{close:o},void 0,!0)])],6)]),_:3},8,["backdrop-class","justify","align","transition-name"]))}}),y=p._export_sfc(w,[["__scopeId","data-v-c3777cb9"]]);exports.default=y;
2
2
  //# sourceMappingURL=MazDrawer.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"MazDrawer.cjs","sources":["../../src/components/MazDrawer.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport MazBackdrop from '@components/MazBackdrop.vue'\n\nimport { computed, defineAsyncComponent, useSlots } from 'vue'\n\nconst props = withDefaults(defineProps<MazDrawerProps>(), {\n title: undefined,\n variant: 'right',\n backdropClass: undefined,\n size: '30rem',\n noClose: false,\n})\n\ndefineEmits<{\n /** emitted before drawer is close */\n (name: 'before-close'): void\n /** emitted when drawer is open */\n (name: 'open'): void\n /** emitted when drawer is close (after animation) */\n (name: 'close'): void\n /**\n * emitted when drawer is open or close\n * @param {boolean} value - The value of the model\n */\n (name: 'update:model-value', value: boolean): void\n}>()\n\nexport interface MazDrawerProps {\n /** The title of the drawer */\n title?: string\n /**\n * The variant of the drawer\n * @values 'right', 'top', 'left', 'bottom'\n */\n variant?: 'right' | 'top' | 'left' | 'bottom'\n /** The size of the drawer */\n size?: string\n /** The class of the backdrop */\n backdropClass?: string\n /** Disable the close button */\n noClose?: boolean\n}\n\nconst MazBtn = defineAsyncComponent(() => import('@components/MazBtn.vue'))\nconst XIcon = defineAsyncComponent(() => import('@icons/x-mark.svg'))\n\nconst justify = computed(() => {\n if (props.variant === 'left') {\n return 'start'\n }\n else if (props.variant === 'right') {\n return 'end'\n }\n\n return 'none'\n})\n\nconst align = computed(() => {\n if (props.variant === 'top') {\n return 'start'\n }\n else if (props.variant === 'bottom') {\n return 'end'\n }\n\n return 'none'\n})\n\nconst slots = useSlots()\n\nconst hasTitle = computed(() => {\n return !!(props.title || slots.title)\n})\n</script>\n\n<template>\n <MazBackdrop\n :backdrop-class=\"['m-drawer', backdropClass]\"\n :justify\n :align\n variant=\"drawer\"\n :transition-name=\"`drawer-anim-${variant}`\"\n @close=\"$emit('close')\"\n @open=\"$emit('open')\"\n @before-close=\"$emit('before-close')\"\n @update:model-value=\"$emit('update:model-value', $event)\"\n >\n <template #default=\"{ close }\">\n <div\n class=\"m-drawer-content-wrap\"\n :class=\"[`--${variant}`]\"\n :style=\"{\n '--maz-drawer-size': size,\n }\"\n >\n <header class=\"m-drawer-header\" :class=\"[hasTitle ? '--justify-between' : '--justify-end']\">\n <h4 class=\"m-drawer-header__title\">\n <slot name=\"title\" :close=\"close\">\n {{ title }}\n </slot>\n </h4>\n <div v-if=\"!noClose\" class=\"m-drawer-header__close\">\n <MazBtn size=\"sm\" color=\"transparent\" @click=\"close\">\n <XIcon class=\"icon maz-text-lg\" />\n </MazBtn>\n </div>\n </header>\n <div class=\"m-drawer-body\">\n <slot :close=\"close\" />\n </div>\n </div>\n </template>\n </MazBackdrop>\n</template>\n\n<style lang=\"postcss\" scoped>\n.m-drawer {\n @apply maz-items-stretch;\n\n .m-drawer-content-wrap {\n @apply maz-overflow-y-auto maz-bg-color maz-pointer-events-auto maz-flex maz-flex-col;\n\n > .m-drawer-header {\n @apply maz-z-1 maz-flex maz-h-16 maz-shrink-0 maz-items-center maz-border-b maz-border-color-light maz-bg-color maz-bg-clip-padding maz-pl-4 maz-pr-2 maz-py-3;\n\n .m-drawer-header__title {\n @apply maz-m-0 maz-text-xl maz-font-semibold;\n }\n\n .m-drawer-header__close {\n @apply maz-flex maz-justify-end;\n }\n\n &.--justify-end {\n @apply maz-justify-end;\n }\n\n &.--justify-between {\n @apply maz-justify-between;\n }\n }\n\n > .m-drawer-body {\n @apply maz-z-0 maz-min-h-0 maz-flex-1 maz-overflow-x-auto maz-bg-clip-padding;\n }\n }\n\n .--left,\n .--right {\n &.m-drawer-content-wrap {\n @apply maz-min-h-screen maz-w-full tab-s:maz-w-[var(--maz-drawer-size)];\n }\n }\n\n .--top,\n .--bottom {\n &.m-drawer-content-wrap {\n @apply maz-w-full maz-h-auto;\n }\n }\n}\n</style>\n"],"names":["props","__props","MazBtn","defineAsyncComponent","XIcon","justify","computed","align","slots","useSlots","hasTitle"],"mappings":"mkBAKA,MAAMA,EAAQC,EAsCRC,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,EAE9DE,EAAUC,EAAAA,SAAS,IACnBN,EAAM,UAAY,OACb,QAEAA,EAAM,UAAY,QAClB,MAGF,MACR,EAEKO,EAAQD,EAAAA,SAAS,IACjBN,EAAM,UAAY,MACb,QAEAA,EAAM,UAAY,SAClB,MAGF,MACR,EAEKQ,EAAQC,EAAAA,SAAS,EAEjBC,EAAWJ,EAAAA,SAAS,IACjB,CAAC,EAAEN,EAAM,OAASQ,EAAM,MAChC"}
1
+ {"version":3,"file":"MazDrawer.cjs","sources":["../../src/components/MazDrawer.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, defineAsyncComponent, useSlots } from 'vue'\n\nimport MazBackdrop from './MazBackdrop.vue'\n\nconst props = withDefaults(defineProps<MazDrawerProps>(), {\n title: undefined,\n variant: 'right',\n backdropClass: undefined,\n size: '30rem',\n noClose: false,\n})\n\ndefineEmits<{\n /** emitted before drawer is close */\n (name: 'before-close'): void\n /** emitted when drawer is open */\n (name: 'open'): void\n /** emitted when drawer is close (after animation) */\n (name: 'close'): void\n /**\n * emitted when drawer is open or close\n * @param {boolean} value - The value of the model\n */\n (name: 'update:model-value', value: boolean): void\n}>()\n\nexport interface MazDrawerProps {\n /** The title of the drawer */\n title?: string\n /**\n * The variant of the drawer\n * @values 'right', 'top', 'left', 'bottom'\n */\n variant?: 'right' | 'top' | 'left' | 'bottom'\n /** The size of the drawer */\n size?: string\n /** The class of the backdrop */\n backdropClass?: string\n /** Disable the close button */\n noClose?: boolean\n}\n\nconst MazBtn = defineAsyncComponent(() => import('./MazBtn.vue'))\nconst XIcon = defineAsyncComponent(() => import('../../icons/x-mark.svg'))\n\nconst justify = computed(() => {\n if (props.variant === 'left') {\n return 'start'\n }\n else if (props.variant === 'right') {\n return 'end'\n }\n\n return 'none'\n})\n\nconst align = computed(() => {\n if (props.variant === 'top') {\n return 'start'\n }\n else if (props.variant === 'bottom') {\n return 'end'\n }\n\n return 'none'\n})\n\nconst slots = useSlots()\n\nconst hasTitle = computed(() => {\n return !!(props.title || slots.title)\n})\n</script>\n\n<template>\n <MazBackdrop\n :backdrop-class=\"['m-drawer', backdropClass]\"\n :justify\n :align\n variant=\"drawer\"\n :transition-name=\"`drawer-anim-${variant}`\"\n @close=\"$emit('close')\"\n @open=\"$emit('open')\"\n @before-close=\"$emit('before-close')\"\n @update:model-value=\"$emit('update:model-value', $event)\"\n >\n <template #default=\"{ close }\">\n <div\n class=\"m-drawer-content-wrap\"\n :class=\"[`--${variant}`]\"\n :style=\"{\n '--maz-drawer-size': size,\n }\"\n >\n <header class=\"m-drawer-header\" :class=\"[hasTitle ? '--justify-between' : '--justify-end']\">\n <h4 class=\"m-drawer-header__title\">\n <slot name=\"title\" :close=\"close\">\n {{ title }}\n </slot>\n </h4>\n <div v-if=\"!noClose\" class=\"m-drawer-header__close\">\n <MazBtn size=\"sm\" color=\"transparent\" @click=\"close\">\n <XIcon class=\"icon maz-text-lg\" />\n </MazBtn>\n </div>\n </header>\n <div class=\"m-drawer-body\">\n <slot :close=\"close\" />\n </div>\n </div>\n </template>\n </MazBackdrop>\n</template>\n\n<style lang=\"postcss\" scoped>\n.m-drawer {\n @apply maz-items-stretch;\n\n .m-drawer-content-wrap {\n @apply maz-overflow-y-auto maz-bg-color maz-pointer-events-auto maz-flex maz-flex-col;\n\n > .m-drawer-header {\n @apply maz-z-1 maz-flex maz-h-16 maz-shrink-0 maz-items-center maz-border-b maz-border-color-light maz-bg-color maz-bg-clip-padding maz-pl-4 maz-pr-2 maz-py-3;\n\n .m-drawer-header__title {\n @apply maz-m-0 maz-text-xl maz-font-semibold;\n }\n\n .m-drawer-header__close {\n @apply maz-flex maz-justify-end;\n }\n\n &.--justify-end {\n @apply maz-justify-end;\n }\n\n &.--justify-between {\n @apply maz-justify-between;\n }\n }\n\n > .m-drawer-body {\n @apply maz-z-0 maz-min-h-0 maz-flex-1 maz-overflow-x-auto maz-bg-clip-padding;\n }\n }\n\n .--left,\n .--right {\n &.m-drawer-content-wrap {\n @apply maz-min-h-screen maz-w-full tab-s:maz-w-[var(--maz-drawer-size)];\n }\n }\n\n .--top,\n .--bottom {\n &.m-drawer-content-wrap {\n @apply maz-w-full maz-h-auto;\n }\n }\n}\n</style>\n"],"names":["props","__props","MazBtn","defineAsyncComponent","XIcon","justify","computed","align","slots","useSlots","hasTitle"],"mappings":"mkBAKA,MAAMA,EAAQC,EAsCRC,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,EAEnEE,EAAUC,EAAAA,SAAS,IACnBN,EAAM,UAAY,OACb,QAEAA,EAAM,UAAY,QAClB,MAGF,MACR,EAEKO,EAAQD,EAAAA,SAAS,IACjBN,EAAM,UAAY,MACb,QAEAA,EAAM,UAAY,SAClB,MAGF,MACR,EAEKQ,EAAQC,EAAAA,SAAS,EAEjBC,EAAWJ,EAAAA,SAAS,IACjB,CAAC,EAAEN,EAAM,OAASQ,EAAM,MAChC"}
@@ -1,7 +1,7 @@
1
- import { defineComponent as k, defineAsyncComponent as s, computed as n, useSlots as $, openBlock as l, createBlock as b, withCtx as i, createElementVNode as o, normalizeClass as d, normalizeStyle as g, renderSlot as m, createTextVNode as B, toDisplayString as h, createElementBlock as j, createVNode as u, unref as p, createCommentVNode as V } from "vue";
1
+ import { defineComponent as k, defineAsyncComponent as s, computed as n, useSlots as $, openBlock as l, createBlock as b, withCtx as i, createElementVNode as a, normalizeClass as d, normalizeStyle as g, renderSlot as m, createTextVNode as B, toDisplayString as h, createElementBlock as j, createVNode as u, unref as p, createCommentVNode as V } from "vue";
2
2
  import M from "./MazBackdrop.mjs";
3
3
  import { _ as N } from "../chunks/_plugin-vue_export-helper.CHgC5LLL.mjs";
4
- import '../assets/MazDrawer.Cu4KVc_z.css';const S = { class: "m-drawer-header__title" }, D = {
4
+ import '../assets/MazDrawer.BqaLe_QM.css';const S = { class: "m-drawer-header__title" }, D = {
5
5
  key: 0,
6
6
  class: "m-drawer-header__close"
7
7
  }, _ = { class: "m-drawer-body" }, E = /* @__PURE__ */ k({
@@ -15,7 +15,7 @@ import '../assets/MazDrawer.Cu4KVc_z.css';const S = { class: "m-drawer-header__t
15
15
  },
16
16
  emits: ["before-close", "open", "close", "update:model-value"],
17
17
  setup(f) {
18
- const a = f, c = s(() => import("./MazBtn.mjs")), v = s(() => import("../chunks/x-mark.DTWA3lfG.mjs")), w = n(() => a.variant === "left" ? "start" : a.variant === "right" ? "end" : "none"), C = n(() => a.variant === "top" ? "start" : a.variant === "bottom" ? "end" : "none"), y = $(), z = n(() => !!(a.title || y.title));
18
+ const o = f, c = s(() => import("./MazBtn.mjs")), v = s(() => import("../chunks/x-mark.DTWA3lfG.mjs")), w = n(() => o.variant === "left" ? "start" : o.variant === "right" ? "end" : "none"), C = n(() => o.variant === "top" ? "start" : o.variant === "bottom" ? "end" : "none"), y = $(), z = n(() => !!(o.title || y.title));
19
19
  return (e, t) => (l(), b(M, {
20
20
  "backdrop-class": ["m-drawer", e.backdropClass],
21
21
  justify: w.value,
@@ -28,16 +28,16 @@ import '../assets/MazDrawer.Cu4KVc_z.css';const S = { class: "m-drawer-header__t
28
28
  "onUpdate:modelValue": t[3] || (t[3] = (r) => e.$emit("update:model-value", r))
29
29
  }, {
30
30
  default: i(({ close: r }) => [
31
- o("div", {
31
+ a("div", {
32
32
  class: d(["m-drawer-content-wrap", [`--${e.variant}`]]),
33
33
  style: g({
34
34
  "--maz-drawer-size": e.size
35
35
  })
36
36
  }, [
37
- o("header", {
37
+ a("header", {
38
38
  class: d(["m-drawer-header", [z.value ? "--justify-between" : "--justify-end"]])
39
39
  }, [
40
- o("h4", S, [
40
+ a("h4", S, [
41
41
  m(e.$slots, "title", { close: r }, () => [
42
42
  B(h(e.title), 1)
43
43
  ], !0)
@@ -55,7 +55,7 @@ import '../assets/MazDrawer.Cu4KVc_z.css';const S = { class: "m-drawer-header__t
55
55
  }, 1032, ["onClick"])
56
56
  ]))
57
57
  ], 2),
58
- o("div", _, [
58
+ a("div", _, [
59
59
  m(e.$slots, "default", { close: r }, void 0, !0)
60
60
  ])
61
61
  ], 6)
@@ -63,7 +63,7 @@ import '../assets/MazDrawer.Cu4KVc_z.css';const S = { class: "m-drawer-header__t
63
63
  _: 3
64
64
  }, 8, ["backdrop-class", "justify", "align", "transition-name"]));
65
65
  }
66
- }), O = /* @__PURE__ */ N(E, [["__scopeId", "data-v-8315a498"]]);
66
+ }), O = /* @__PURE__ */ N(E, [["__scopeId", "data-v-c3777cb9"]]);
67
67
  export {
68
68
  O as default
69
69
  };
@@ -1 +1 @@
1
- {"version":3,"file":"MazDrawer.mjs","sources":["../../src/components/MazDrawer.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport MazBackdrop from '@components/MazBackdrop.vue'\n\nimport { computed, defineAsyncComponent, useSlots } from 'vue'\n\nconst props = withDefaults(defineProps<MazDrawerProps>(), {\n title: undefined,\n variant: 'right',\n backdropClass: undefined,\n size: '30rem',\n noClose: false,\n})\n\ndefineEmits<{\n /** emitted before drawer is close */\n (name: 'before-close'): void\n /** emitted when drawer is open */\n (name: 'open'): void\n /** emitted when drawer is close (after animation) */\n (name: 'close'): void\n /**\n * emitted when drawer is open or close\n * @param {boolean} value - The value of the model\n */\n (name: 'update:model-value', value: boolean): void\n}>()\n\nexport interface MazDrawerProps {\n /** The title of the drawer */\n title?: string\n /**\n * The variant of the drawer\n * @values 'right', 'top', 'left', 'bottom'\n */\n variant?: 'right' | 'top' | 'left' | 'bottom'\n /** The size of the drawer */\n size?: string\n /** The class of the backdrop */\n backdropClass?: string\n /** Disable the close button */\n noClose?: boolean\n}\n\nconst MazBtn = defineAsyncComponent(() => import('@components/MazBtn.vue'))\nconst XIcon = defineAsyncComponent(() => import('@icons/x-mark.svg'))\n\nconst justify = computed(() => {\n if (props.variant === 'left') {\n return 'start'\n }\n else if (props.variant === 'right') {\n return 'end'\n }\n\n return 'none'\n})\n\nconst align = computed(() => {\n if (props.variant === 'top') {\n return 'start'\n }\n else if (props.variant === 'bottom') {\n return 'end'\n }\n\n return 'none'\n})\n\nconst slots = useSlots()\n\nconst hasTitle = computed(() => {\n return !!(props.title || slots.title)\n})\n</script>\n\n<template>\n <MazBackdrop\n :backdrop-class=\"['m-drawer', backdropClass]\"\n :justify\n :align\n variant=\"drawer\"\n :transition-name=\"`drawer-anim-${variant}`\"\n @close=\"$emit('close')\"\n @open=\"$emit('open')\"\n @before-close=\"$emit('before-close')\"\n @update:model-value=\"$emit('update:model-value', $event)\"\n >\n <template #default=\"{ close }\">\n <div\n class=\"m-drawer-content-wrap\"\n :class=\"[`--${variant}`]\"\n :style=\"{\n '--maz-drawer-size': size,\n }\"\n >\n <header class=\"m-drawer-header\" :class=\"[hasTitle ? '--justify-between' : '--justify-end']\">\n <h4 class=\"m-drawer-header__title\">\n <slot name=\"title\" :close=\"close\">\n {{ title }}\n </slot>\n </h4>\n <div v-if=\"!noClose\" class=\"m-drawer-header__close\">\n <MazBtn size=\"sm\" color=\"transparent\" @click=\"close\">\n <XIcon class=\"icon maz-text-lg\" />\n </MazBtn>\n </div>\n </header>\n <div class=\"m-drawer-body\">\n <slot :close=\"close\" />\n </div>\n </div>\n </template>\n </MazBackdrop>\n</template>\n\n<style lang=\"postcss\" scoped>\n.m-drawer {\n @apply maz-items-stretch;\n\n .m-drawer-content-wrap {\n @apply maz-overflow-y-auto maz-bg-color maz-pointer-events-auto maz-flex maz-flex-col;\n\n > .m-drawer-header {\n @apply maz-z-1 maz-flex maz-h-16 maz-shrink-0 maz-items-center maz-border-b maz-border-color-light maz-bg-color maz-bg-clip-padding maz-pl-4 maz-pr-2 maz-py-3;\n\n .m-drawer-header__title {\n @apply maz-m-0 maz-text-xl maz-font-semibold;\n }\n\n .m-drawer-header__close {\n @apply maz-flex maz-justify-end;\n }\n\n &.--justify-end {\n @apply maz-justify-end;\n }\n\n &.--justify-between {\n @apply maz-justify-between;\n }\n }\n\n > .m-drawer-body {\n @apply maz-z-0 maz-min-h-0 maz-flex-1 maz-overflow-x-auto maz-bg-clip-padding;\n }\n }\n\n .--left,\n .--right {\n &.m-drawer-content-wrap {\n @apply maz-min-h-screen maz-w-full tab-s:maz-w-[var(--maz-drawer-size)];\n }\n }\n\n .--top,\n .--bottom {\n &.m-drawer-content-wrap {\n @apply maz-w-full maz-h-auto;\n }\n }\n}\n</style>\n"],"names":["props","__props","MazBtn","defineAsyncComponent","XIcon","justify","computed","align","slots","useSlots","hasTitle"],"mappings":";;;;;;;;;;;;;;;;;AAKA,UAAMA,IAAQC,GAsCRC,IAASC,EAAqB,MAAM,OAAO,cAAwB,CAAC,GACpEC,IAAQD,EAAqB,MAAM,OAAO,+BAAmB,CAAC,GAE9DE,IAAUC,EAAS,MACnBN,EAAM,YAAY,SACb,UAEAA,EAAM,YAAY,UAClB,QAGF,MACR,GAEKO,IAAQD,EAAS,MACjBN,EAAM,YAAY,QACb,UAEAA,EAAM,YAAY,WAClB,QAGF,MACR,GAEKQ,IAAQC,EAAS,GAEjBC,IAAWJ,EAAS,MACjB,CAAC,EAAEN,EAAM,SAASQ,EAAM,MAChC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"MazDrawer.mjs","sources":["../../src/components/MazDrawer.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, defineAsyncComponent, useSlots } from 'vue'\n\nimport MazBackdrop from './MazBackdrop.vue'\n\nconst props = withDefaults(defineProps<MazDrawerProps>(), {\n title: undefined,\n variant: 'right',\n backdropClass: undefined,\n size: '30rem',\n noClose: false,\n})\n\ndefineEmits<{\n /** emitted before drawer is close */\n (name: 'before-close'): void\n /** emitted when drawer is open */\n (name: 'open'): void\n /** emitted when drawer is close (after animation) */\n (name: 'close'): void\n /**\n * emitted when drawer is open or close\n * @param {boolean} value - The value of the model\n */\n (name: 'update:model-value', value: boolean): void\n}>()\n\nexport interface MazDrawerProps {\n /** The title of the drawer */\n title?: string\n /**\n * The variant of the drawer\n * @values 'right', 'top', 'left', 'bottom'\n */\n variant?: 'right' | 'top' | 'left' | 'bottom'\n /** The size of the drawer */\n size?: string\n /** The class of the backdrop */\n backdropClass?: string\n /** Disable the close button */\n noClose?: boolean\n}\n\nconst MazBtn = defineAsyncComponent(() => import('./MazBtn.vue'))\nconst XIcon = defineAsyncComponent(() => import('../../icons/x-mark.svg'))\n\nconst justify = computed(() => {\n if (props.variant === 'left') {\n return 'start'\n }\n else if (props.variant === 'right') {\n return 'end'\n }\n\n return 'none'\n})\n\nconst align = computed(() => {\n if (props.variant === 'top') {\n return 'start'\n }\n else if (props.variant === 'bottom') {\n return 'end'\n }\n\n return 'none'\n})\n\nconst slots = useSlots()\n\nconst hasTitle = computed(() => {\n return !!(props.title || slots.title)\n})\n</script>\n\n<template>\n <MazBackdrop\n :backdrop-class=\"['m-drawer', backdropClass]\"\n :justify\n :align\n variant=\"drawer\"\n :transition-name=\"`drawer-anim-${variant}`\"\n @close=\"$emit('close')\"\n @open=\"$emit('open')\"\n @before-close=\"$emit('before-close')\"\n @update:model-value=\"$emit('update:model-value', $event)\"\n >\n <template #default=\"{ close }\">\n <div\n class=\"m-drawer-content-wrap\"\n :class=\"[`--${variant}`]\"\n :style=\"{\n '--maz-drawer-size': size,\n }\"\n >\n <header class=\"m-drawer-header\" :class=\"[hasTitle ? '--justify-between' : '--justify-end']\">\n <h4 class=\"m-drawer-header__title\">\n <slot name=\"title\" :close=\"close\">\n {{ title }}\n </slot>\n </h4>\n <div v-if=\"!noClose\" class=\"m-drawer-header__close\">\n <MazBtn size=\"sm\" color=\"transparent\" @click=\"close\">\n <XIcon class=\"icon maz-text-lg\" />\n </MazBtn>\n </div>\n </header>\n <div class=\"m-drawer-body\">\n <slot :close=\"close\" />\n </div>\n </div>\n </template>\n </MazBackdrop>\n</template>\n\n<style lang=\"postcss\" scoped>\n.m-drawer {\n @apply maz-items-stretch;\n\n .m-drawer-content-wrap {\n @apply maz-overflow-y-auto maz-bg-color maz-pointer-events-auto maz-flex maz-flex-col;\n\n > .m-drawer-header {\n @apply maz-z-1 maz-flex maz-h-16 maz-shrink-0 maz-items-center maz-border-b maz-border-color-light maz-bg-color maz-bg-clip-padding maz-pl-4 maz-pr-2 maz-py-3;\n\n .m-drawer-header__title {\n @apply maz-m-0 maz-text-xl maz-font-semibold;\n }\n\n .m-drawer-header__close {\n @apply maz-flex maz-justify-end;\n }\n\n &.--justify-end {\n @apply maz-justify-end;\n }\n\n &.--justify-between {\n @apply maz-justify-between;\n }\n }\n\n > .m-drawer-body {\n @apply maz-z-0 maz-min-h-0 maz-flex-1 maz-overflow-x-auto maz-bg-clip-padding;\n }\n }\n\n .--left,\n .--right {\n &.m-drawer-content-wrap {\n @apply maz-min-h-screen maz-w-full tab-s:maz-w-[var(--maz-drawer-size)];\n }\n }\n\n .--top,\n .--bottom {\n &.m-drawer-content-wrap {\n @apply maz-w-full maz-h-auto;\n }\n }\n}\n</style>\n"],"names":["props","__props","MazBtn","defineAsyncComponent","XIcon","justify","computed","align","slots","useSlots","hasTitle"],"mappings":";;;;;;;;;;;;;;;;;AAKA,UAAMA,IAAQC,GAsCRC,IAASC,EAAqB,MAAM,OAAO,cAAc,CAAC,GAC1DC,IAAQD,EAAqB,MAAM,OAAO,+BAAwB,CAAC,GAEnEE,IAAUC,EAAS,MACnBN,EAAM,YAAY,SACb,UAEAA,EAAM,YAAY,UAClB,QAGF,MACR,GAEKO,IAAQD,EAAS,MACjBN,EAAM,YAAY,QACb,UAEAA,EAAM,YAAY,WAClB,QAGF,MACR,GAEKQ,IAAQC,EAAS,GAEjBC,IAAWJ,EAAS,MACjB,CAAC,EAAEN,EAAM,SAASQ,EAAM,MAChC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"MazDropzone.cjs","sources":["../../src/components/MazDropzone.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DropzoneFile, DropzoneOptions } from 'dropzone'\n\nimport {\n type ComponentPublicInstance,\n computed,\n defineAsyncComponent,\n defineComponent,\n onBeforeUnmount,\n onMounted,\n type PropType,\n ref,\n} from 'vue'\n\nconst MazSpinner = defineAsyncComponent(() => import('@components/MazSpinner.vue'))\n\nfunction dropzoneFix<T>(component: T): T {\n return (component as any).default ?? component\n}\n\nexport interface MazDropzoneOptions extends DropzoneOptions {\n dictFilesDescriptions?: string\n autoRemoveOnError?: boolean\n}\n\nexport interface MazDropzoneFile extends DropzoneFile {\n manuallyAdded?: boolean\n}\n\nexport interface IMazDropzone extends Dropzone {\n options: MazDropzoneOptions\n}\n\nexport interface MazDropzoneInstance extends ComponentPublicInstance {\n manuallyAddFile: (file: DropzoneFile, fileUrl: string) => void\n setOption: (option: string, value: unknown) => IMazDropzone['options']\n processQueue: IMazDropzone['processQueue']\n removeFile: IMazDropzone['removeFile']\n removeAllFiles: IMazDropzone['removeAllFiles']\n destroy: IMazDropzone['destroy']\n disable: IMazDropzone['disable']\n enable: IMazDropzone['enable']\n accept: IMazDropzone['accept']\n addFile: IMazDropzone['addFile']\n resizeImage: IMazDropzone['resizeImage']\n cancelUpload: IMazDropzone['cancelUpload']\n getAcceptedFiles: () => MazDropzoneFile[]\n getRejectedFiles: () => MazDropzoneFile[]\n getFilesWithStatus: IMazDropzone['getFilesWithStatus']\n getQueuedFiles: IMazDropzone['getQueuedFiles']\n getUploadingFiles: IMazDropzone['getUploadingFiles']\n getAddedFiles: IMazDropzone['getAddedFiles']\n getActiveFiles: IMazDropzone['getActiveFiles']\n}\n\nconst previewTemplate = `<div class=\"dz-preview dz-file-preview maz-flex-1\">\n <div class=\"dz-image\">\n <div data-dz-thumbnail-bg></div>\n </div>\n <div class=\"dz-details\">\n <div class=\"dz-filename\"><span data-dz-name></span></div>\n <div class=\"dz-size\"><span data-dz-size></span></div>\n </div>\n <div class=\"dz-progress\">\n <span class=\"dz-upload\" data-dz-uploadprogress></span>\n </div>\n <div class=\"dz-success-mark\">\n <svg class=\"material-icons\" xmlns=\"http://www.w3.org/2000/svg\" height=\"6rem\" viewBox=\"0 0 24 24\" width=\"6rem\" fill=\"currentColor\"><path d=\"M0 0h24v24H0V0z\" fill=\"none\"/><path d=\"M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z\"/></svg>\n </div>\n <div class=\"dz-error-mark\">\n <svg class=\"material-icons\" xmlns=\"http://www.w3.org/2000/svg\" height=\"6rem\" viewBox=\"0 0 24 24\" width=\"6rem\" fill=\"currentColor\"><path d=\"M11 15h2v2h-2v-2zm0-8h2v6h-2V7zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"/></svg>\n </div>\n</div>`\n\nexport default defineComponent({\n name: 'MazDropzone',\n components: { MazSpinner },\n props: {\n options: { type: Object as PropType<MazDropzoneOptions>, required: true },\n height: {\n type: [Number, String] as PropType<number | string>,\n default: '245px',\n },\n width: {\n type: [Number, String] as PropType<number | string>,\n default: '100%',\n },\n noDestroyOnUnmount: { type: Boolean, default: false },\n },\n emits: [\n 'thumbnail',\n 'error',\n 'drop',\n 'dragstart',\n 'dragend',\n 'dragenter',\n 'dragover',\n 'dragleave',\n 'paste',\n 'addedfile',\n 'addedfiles',\n 'removedfile',\n 'success',\n 'processing',\n 'processingmultiple',\n 'uploadprogress',\n 'totaluploadprogress',\n 'sending',\n 'sendingmultiple',\n 'canceled',\n 'canceledmultiple',\n 'complete',\n 'completemultiple',\n 'maxfilesexceeded',\n 'maxfilesreached',\n 'queuecomplete',\n 'reset',\n ],\n setup(props, { emit }) {\n const ButtonElement = ref<HTMLButtonElement>()\n const dropzoneReady = ref(false)\n let dropzone: IMazDropzone\n const dropzoneOptions = ref<MazDropzoneOptions>()\n\n const dropzoneStyle = computed(() => ({\n width: typeof props.width === 'number' ? `${props.width}px` : props.width,\n height: typeof props.height === 'number' ? `${props.height}px` : props.height,\n }))\n\n const setOption = (option: string, value: unknown): MazDropzoneOptions => {\n dropzone.options = {\n ...dropzone.options,\n [option]: value,\n }\n return dropzone.options\n }\n const manuallyAddFile: MazDropzoneInstance['manuallyAddFile'] = (file, fileUrl) => {\n dropzone.emit('addedfile', file)\n dropzone.emit('thumbnail', file, fileUrl)\n dropzone.files.push(file)\n }\n const removeAllFiles: MazDropzoneInstance['removeAllFiles'] = shouldRemoveAllFiles =>\n dropzone.removeAllFiles(shouldRemoveAllFiles)\n const processQueue: MazDropzoneInstance['processQueue'] = () => dropzone.processQueue()\n const destroy: MazDropzoneInstance['destroy'] = () => dropzone.destroy()\n const disable: MazDropzoneInstance['disable'] = () => dropzone.disable()\n const enable: MazDropzoneInstance['enable'] = () => dropzone.enable()\n const accept: MazDropzoneInstance['accept'] = (file, done) => dropzone.accept(file, done)\n const addFile: MazDropzoneInstance['addFile'] = file => dropzone.addFile(file)\n const resizeImage: MazDropzoneInstance['resizeImage'] = (\n file,\n width,\n height,\n resizeMethod,\n callback,\n ) => dropzone.resizeImage(file, width, height, resizeMethod, callback)\n const cancelUpload: MazDropzoneInstance['cancelUpload'] = file =>\n dropzone.cancelUpload(file)\n const getAcceptedFiles: MazDropzoneInstance['getAcceptedFiles'] = () =>\n dropzone.getAcceptedFiles() as MazDropzoneFile[]\n const getRejectedFiles: MazDropzoneInstance['getRejectedFiles'] = () =>\n dropzone.getRejectedFiles() as MazDropzoneFile[]\n const getFilesWithStatus: MazDropzoneInstance['getFilesWithStatus'] = () =>\n dropzone.getFilesWithStatus(status)\n const getQueuedFiles: MazDropzoneInstance['getQueuedFiles'] = () => dropzone.getQueuedFiles()\n const getUploadingFiles: MazDropzoneInstance['getUploadingFiles'] = () =>\n dropzone.getUploadingFiles()\n const getAddedFiles: MazDropzoneInstance['getAddedFiles'] = () => dropzone.getAddedFiles()\n const getActiveFiles: MazDropzoneInstance['getActiveFiles'] = () => dropzone.getActiveFiles()\n\n const thumbnail: DropzoneOptions['thumbnail'] = (file: MazDropzoneFile, dataUrl) => {\n emit('thumbnail', { file, dataUrl })\n let thumbnailElement: HTMLImageElement\n file.previewElement.classList.remove('dz-file-preview')\n const ref = file.previewElement.querySelectorAll('[data-dz-thumbnail-bg]')\n\n ref.forEach((r: Element) => {\n thumbnailElement = r as HTMLImageElement\n thumbnailElement.alt = file.name\n thumbnailElement.style.backgroundImage = `url('${dataUrl}')`\n })\n\n if (file.status === 'success')\n dropzone.emit('complete', file)\n }\n\n const error: DropzoneOptions['error'] = (file, message, xhr) => {\n emit('error', { file, message, xhr })\n if (dropzone.options.autoRemoveOnError) {\n setTimeout(() => dropzone.removeFile(file), 3000)\n }\n }\n\n const errorMultiple: DropzoneOptions['errormultiple'] = (files, message, xhr) => {\n emit('error', { files, message, xhr })\n if (dropzone.options.autoRemoveOnError) {\n setTimeout(() => {\n for (const file of files) dropzone.removeFile(file)\n }, 3000)\n }\n }\n\n onMounted(async () => {\n const defaultOptions: MazDropzoneOptions = {\n parallelUploads: props.options.maxFiles,\n previewTemplate,\n addRemoveLinks: true,\n }\n\n if (ButtonElement.value) {\n const { default: DropzoneJs } = await import('dropzone')\n\n const Constructor = dropzoneFix(DropzoneJs)\n\n dropzone = new Constructor(ButtonElement.value, {\n ...defaultOptions,\n ...props.options,\n })\n\n if (dropzone) {\n dropzoneOptions.value = dropzone.options as MazDropzoneOptions\n\n dropzoneReady.value = true\n\n /**\n * Dropzone Events\n */\n\n dropzone.on('thumbnail', thumbnail)\n dropzone.on('error', error)\n dropzone.on('errormultiple', errorMultiple)\n dropzone.on('drop', (e: DragEvent) => emit('drop', e))\n dropzone.on('dragstart', (e: DragEvent) => emit('dragstart', e))\n dropzone.on('dragend', (e: DragEvent) => emit('dragend', e))\n dropzone.on('dragenter', (e: DragEvent) => emit('dragenter', e))\n dropzone.on('dragover', (e: DragEvent) => emit('dragover', e))\n dropzone.on('dragleave', (e: DragEvent) => emit('dragleave', e))\n dropzone.on('paste', (e: DragEvent) => emit('paste', e))\n dropzone.on('addedfile', (file: DropzoneFile) => emit('addedfile', file))\n dropzone.on('addedfiles', (files: DropzoneFile[]) => emit('addedfiles', files))\n dropzone.on('removedfile', (file: DropzoneFile) => emit('removedfile', file))\n dropzone.on(\n 'success',\n (file: DropzoneFile, response: Record<string, unknown> | string) =>\n emit('success', { file, response }),\n )\n dropzone.on('successmultiple', (files: DropzoneFile[], responseText: string) =>\n emit('success', { files, responseText }))\n dropzone.on('processing', (file: DropzoneFile) => emit('processing', file))\n dropzone.on('processingmultiple', (files: DropzoneFile[]) =>\n emit('processingmultiple', files))\n dropzone.on(\n 'uploadprogress',\n (file: DropzoneFile, progress: number, bytesSent: number) =>\n emit('uploadprogress', { file, progress, bytesSent }),\n )\n dropzone.on(\n 'totaluploadprogress',\n (totalProgress: number, totalBytes: number, totalBytesSent: number) =>\n emit('totaluploadprogress', {\n totalProgress,\n totalBytes,\n totalBytesSent,\n }),\n )\n dropzone.on('sending', (file: DropzoneFile, xhr: XMLHttpRequest, formData: FormData) =>\n emit('sending', { file, xhr, formData }))\n dropzone.on(\n 'sendingmultiple',\n (files: DropzoneFile[], xhr: XMLHttpRequest, formData: FormData) =>\n emit('sendingmultiple', { files, xhr, formData }),\n )\n dropzone.on('canceled', (file: DropzoneFile) => emit('canceled', file))\n dropzone.on('canceledmultiple', (files: DropzoneFile[]) =>\n emit('canceledmultiple', files))\n dropzone.on('complete', (file: DropzoneFile) => emit('complete', file))\n dropzone.on('completemultiple', (files: DropzoneFile[]) =>\n emit('completemultiple', files))\n dropzone.on('maxfilesexceeded', (file: DropzoneFile) => emit('maxfilesexceeded', file))\n dropzone.on('maxfilesreached', (files: DropzoneFile[]) =>\n emit('maxfilesreached', files))\n dropzone.on('queuecomplete', () => {\n if (getAcceptedFiles().every(file => file.manuallyAdded))\n return\n emit('queuecomplete')\n })\n dropzone.on('reset', () => emit('reset'))\n }\n }\n })\n\n onBeforeUnmount(() => {\n if (!props.noDestroyOnUnmount)\n dropzone.destroy()\n })\n\n return {\n ButtonElement,\n dropzoneReady,\n dropzoneOptions,\n dropzoneStyle,\n setOption,\n manuallyAddFile,\n removeAllFiles,\n processQueue,\n destroy,\n disable,\n enable,\n accept,\n addFile,\n resizeImage,\n cancelUpload,\n getAcceptedFiles,\n getRejectedFiles,\n getFilesWithStatus,\n getQueuedFiles,\n getUploadingFiles,\n getAddedFiles,\n getActiveFiles,\n }\n },\n})\n</script>\n\n<template>\n <button\n ref=\"ButtonElement\"\n type=\"button\"\n name=\"maz-dropzone\"\n class=\"maz-dropzone m-reset-css\"\n :style=\"[dropzoneStyle]\"\n >\n <template v-if=\"dropzoneReady\">\n <slot :options=\"dropzoneOptions\">\n <div class=\"dz-message\">\n <slot name=\"icon\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"2em\"\n width=\"2em\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n class=\"maz-dropzone__main-icon maz-text-normal\"\n aria-hidden=\"true\"\n >\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path\n d=\"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM19 18H6c-2.21 0-4-1.79-4-4 0-2.05 1.53-3.76 3.56-3.97l1.07-.11.5-.95C8.08 7.14 9.94 6 12 6c2.62 0 4.88 1.86 5.39 4.43l.3 1.5 1.53.11c1.56.1 2.78 1.41 2.78 2.96 0 1.65-1.35 3-3 3zM8 13h2.55v3h2.9v-3H16l-4-4z\"\n />\n </svg>\n </slot>\n <p class=\"maz-my-2 maz-text-normal\">\n {{ dropzoneOptions?.dictDefaultMessage }}\n </p>\n <p class=\"maz-my-0 maz-text-muted\">\n {{ dropzoneOptions?.dictFilesDescriptions }}\n </p>\n </div>\n </slot>\n </template>\n <MazSpinner v-else />\n </button>\n</template>\n\n<style lang=\"postcss\">\n @keyframes passing-through {\n 0% {\n opacity: 0;\n transform: translateY(40px);\n }\n\n 30%,\n 70% {\n opacity: 1;\n transform: translateY(0);\n }\n\n 100% {\n opacity: 0;\n transform: translateY(-40px);\n }\n}\n\n@keyframes slide-in {\n 0% {\n opacity: 0;\n transform: translateY(40px);\n }\n\n 30% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes pulse {\n 0% {\n transform: scale(1);\n }\n\n 10% {\n transform: scale(1.1);\n }\n\n 20% {\n transform: scale(1);\n }\n}\n\n.maz-dropzone {\n @apply maz-m-0 maz-inline-flex maz-items-center maz-justify-center maz-overflow-auto\n maz-rounded maz-border maz-border-dashed maz-border-color-light maz-bg-color\n maz-p-4 maz-text-center maz-outline-none\n maz-transition-all maz-duration-200 maz-ease-out;\n\n min-height: 245px;\n\n &:not(.dz-clickable) {\n @apply maz-bg-color-light;\n }\n\n &.dz-clickable,\n &.dz-clickable.dz-message,\n &.dz-clickable.dz-message * {\n @apply maz-cursor-pointer;\n }\n\n & .dz-message {\n @apply maz-flex maz-flex-col maz-items-center maz-justify-center maz-text-center;\n }\n\n &.dz-clickable {\n &:hover {\n @apply maz-border-color-lighter maz-bg-color-light;\n\n & .maz-dropzone__main-icon {\n @apply maz-text-primary maz-transition-all maz-duration-200 maz-ease-out;\n }\n }\n }\n\n &.dz-started .dz-message {\n @apply maz-hidden;\n }\n\n &.dz-drag-hover {\n @apply maz-border-solid;\n\n & .dz-message {\n @apply maz-opacity-50;\n }\n }\n\n & .dz-message .dz-button {\n @apply maz-cursor-pointer maz-border-none maz-bg-transparent maz-p-0;\n }\n\n & .dz-details {\n @apply maz-absolute maz-inset-0 maz-z-20 maz-flex maz-flex-col maz-items-center\n maz-justify-center maz-rounded maz-px-4 maz-py-8 maz-text-center maz-leading-10 maz-text-white maz-opacity-0;\n\n background-color: var(--maz-color-primary-alpha);\n transition: opacity 0.2s linear;\n\n & .dz-size {\n & span {\n @apply maz-text-base maz-text-white;\n }\n }\n\n & .dz-filename {\n width: 100%;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n\n span {\n color: white;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n }\n }\n }\n\n & .dz-image {\n overflow: hidden;\n position: relative;\n display: block;\n z-index: 10;\n width: 100%;\n height: 100%;\n margin: 0 auto;\n\n @apply maz-rounded maz-border-color-lighter;\n\n & img {\n display: block;\n }\n\n & > div[data-dz-thumbnail-bg] {\n width: inherit;\n height: inherit;\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n }\n }\n\n & .dz-preview {\n position: relative;\n display: inline-block;\n vertical-align: top;\n margin: 0;\n min-height: auto;\n height: 100%;\n background: transparent;\n max-width: 200px;\n overflow: hidden;\n\n &:not(:last-child) {\n margin-right: 0.5rem;\n }\n\n &.dz-file-preview {\n & .dz-image {\n border-radius: 20px;\n background: #999;\n background: linear-gradient(to bottom, #eee, #ddd);\n }\n\n & .dz-details {\n opacity: 1;\n }\n }\n\n &.dz-image-preview {\n background-color: transparent;\n\n & .dz-details {\n transition: opacity 0.2s linear;\n }\n }\n\n & .dz-remove {\n text-align: center;\n display: block;\n cursor: pointer;\n position: absolute;\n z-index: 30;\n color: white;\n top: inherit;\n left: 5px;\n right: 5px;\n bottom: 5px;\n padding: 10px 5px;\n border: 2px white solid;\n text-decoration: none;\n text-transform: uppercase;\n font-size: 0.8rem;\n opacity: 0;\n transition: all 300ms ease-in-out;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n\n @apply maz-rounded;\n\n &:hover {\n @apply maz-bg-white maz-text-primary;\n }\n }\n\n &:hover {\n z-index: 1000;\n\n & .dz-details,\n & .dz-remove {\n opacity: 1;\n }\n\n & .dz-image img {\n transform: scale(1.05, 1.05);\n filter: blur(8px);\n }\n }\n\n & .dz-error-message {\n pointer-events: none;\n z-index: 1000;\n position: absolute;\n display: block;\n display: none;\n opacity: 0;\n transition: opacity 0.3s ease;\n border-radius: 8px;\n top: 130px;\n background: #be2626;\n background: linear-gradient(to bottom, #be2626, #a92222);\n padding: 0.5em 1.2em;\n color: white;\n margin-left: auto;\n margin-right: auto;\n left: 0;\n width: 100%;\n text-align: center;\n }\n\n & .dz-success-mark,\n & .dz-error-mark {\n pointer-events: none;\n opacity: 0;\n z-index: 500;\n position: absolute;\n display: block;\n margin-left: auto;\n margin-top: auto;\n width: 100%;\n top: 30%;\n left: 0;\n\n @apply maz-flex maz-flex-col maz-items-center maz-justify-center;\n\n & .material-icons {\n background-color: var(--maz-color-success-alpha);\n border-radius: 50%;\n color: white;\n font-size: 70px;\n }\n }\n\n & .dz-error-mark {\n & .material-icons {\n background-color: var(--maz-color-danger-alpha);\n }\n }\n\n &.dz-success .dz-success-mark {\n animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);\n }\n\n &.dz-error {\n & .dz-error-message {\n display: block;\n }\n\n & .dz-error-mark {\n opacity: 1;\n animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);\n }\n\n & .dz-details {\n background-color: var(--maz-color-danger-alpha);\n }\n\n &:hover .dz-error-message {\n opacity: 1;\n pointer-events: auto;\n }\n\n & .dz-remove:hover {\n @apply maz-text-danger;\n }\n }\n\n & .dz-progress {\n opacity: 1;\n z-index: 1000;\n pointer-events: none;\n position: absolute;\n height: 1rem;\n top: 50%;\n margin-top: -0.5rem;\n transform: scale(1);\n overflow: visible;\n width: 50%;\n left: 25%;\n\n @apply maz-rounded-full maz-bg-gray-100;\n\n & .dz-upload {\n position: absolute;\n transition: width 300ms ease-in-out;\n\n @apply maz-absolute maz-inset-0 maz-w-0 maz-rounded-full maz-bg-success;\n }\n\n & .progress-title {\n display: inline-block;\n position: relative;\n top: -30px;\n }\n }\n\n &.dz-processing .dz-progress {\n opacity: 1;\n transition: all 0.2s linear;\n }\n\n &.dz-complete .dz-progress {\n opacity: 0;\n transition: opacity 0.4s ease-in;\n }\n\n &:not(.dz-processing) .dz-progress {\n animation: pulse 6s ease infinite;\n }\n }\n}\n</style>\n"],"names":["MazSpinner","defineAsyncComponent","dropzoneFix","component","previewTemplate","_sfc_main","defineComponent","props","emit","ButtonElement","ref","dropzoneReady","dropzone","dropzoneOptions","dropzoneStyle","computed","setOption","option","value","manuallyAddFile","file","fileUrl","removeAllFiles","shouldRemoveAllFiles","processQueue","destroy","disable","enable","accept","done","addFile","resizeImage","width","height","resizeMethod","callback","cancelUpload","getAcceptedFiles","getRejectedFiles","getFilesWithStatus","getQueuedFiles","getUploadingFiles","getAddedFiles","getActiveFiles","thumbnail","dataUrl","thumbnailElement","r","error","message","xhr","errorMultiple","files","onMounted","defaultOptions","DropzoneJs","Constructor","e","response","responseText","progress","bytesSent","totalProgress","totalBytes","totalBytesSent","formData","onBeforeUnmount","_resolveComponent","_openBlock","_createElementBlock","_ctx","_renderSlot","_createElementVNode","_hoisted_1","_cache","_hoisted_2","_toDisplayString","_a"],"mappings":"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"}
1
+ {"version":3,"file":"MazDropzone.cjs","sources":["../../src/components/MazDropzone.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DropzoneFile, DropzoneOptions } from 'dropzone'\n\nimport {\n type ComponentPublicInstance,\n computed,\n defineAsyncComponent,\n defineComponent,\n onBeforeUnmount,\n onMounted,\n type PropType,\n ref,\n} from 'vue'\n\nconst MazSpinner = defineAsyncComponent(() => import('./MazSpinner.vue'))\n\nfunction dropzoneFix<T>(component: T): T {\n return (component as any).default ?? component\n}\n\nexport interface MazDropzoneOptions extends DropzoneOptions {\n dictFilesDescriptions?: string\n autoRemoveOnError?: boolean\n}\n\nexport interface MazDropzoneFile extends DropzoneFile {\n manuallyAdded?: boolean\n}\n\nexport interface IMazDropzone extends Dropzone {\n options: MazDropzoneOptions\n}\n\nexport interface MazDropzoneInstance extends ComponentPublicInstance {\n manuallyAddFile: (file: DropzoneFile, fileUrl: string) => void\n setOption: (option: string, value: unknown) => IMazDropzone['options']\n processQueue: IMazDropzone['processQueue']\n removeFile: IMazDropzone['removeFile']\n removeAllFiles: IMazDropzone['removeAllFiles']\n destroy: IMazDropzone['destroy']\n disable: IMazDropzone['disable']\n enable: IMazDropzone['enable']\n accept: IMazDropzone['accept']\n addFile: IMazDropzone['addFile']\n resizeImage: IMazDropzone['resizeImage']\n cancelUpload: IMazDropzone['cancelUpload']\n getAcceptedFiles: () => MazDropzoneFile[]\n getRejectedFiles: () => MazDropzoneFile[]\n getFilesWithStatus: IMazDropzone['getFilesWithStatus']\n getQueuedFiles: IMazDropzone['getQueuedFiles']\n getUploadingFiles: IMazDropzone['getUploadingFiles']\n getAddedFiles: IMazDropzone['getAddedFiles']\n getActiveFiles: IMazDropzone['getActiveFiles']\n}\n\nconst previewTemplate = `<div class=\"dz-preview dz-file-preview maz-flex-1\">\n <div class=\"dz-image\">\n <div data-dz-thumbnail-bg></div>\n </div>\n <div class=\"dz-details\">\n <div class=\"dz-filename\"><span data-dz-name></span></div>\n <div class=\"dz-size\"><span data-dz-size></span></div>\n </div>\n <div class=\"dz-progress\">\n <span class=\"dz-upload\" data-dz-uploadprogress></span>\n </div>\n <div class=\"dz-success-mark\">\n <svg class=\"material-icons\" xmlns=\"http://www.w3.org/2000/svg\" height=\"6rem\" viewBox=\"0 0 24 24\" width=\"6rem\" fill=\"currentColor\"><path d=\"M0 0h24v24H0V0z\" fill=\"none\"/><path d=\"M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z\"/></svg>\n </div>\n <div class=\"dz-error-mark\">\n <svg class=\"material-icons\" xmlns=\"http://www.w3.org/2000/svg\" height=\"6rem\" viewBox=\"0 0 24 24\" width=\"6rem\" fill=\"currentColor\"><path d=\"M11 15h2v2h-2v-2zm0-8h2v6h-2V7zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"/></svg>\n </div>\n</div>`\n\nexport default defineComponent({\n name: 'MazDropzone',\n components: { MazSpinner },\n props: {\n options: { type: Object as PropType<MazDropzoneOptions>, required: true },\n height: {\n type: [Number, String] as PropType<number | string>,\n default: '245px',\n },\n width: {\n type: [Number, String] as PropType<number | string>,\n default: '100%',\n },\n noDestroyOnUnmount: { type: Boolean, default: false },\n },\n emits: [\n 'thumbnail',\n 'error',\n 'drop',\n 'dragstart',\n 'dragend',\n 'dragenter',\n 'dragover',\n 'dragleave',\n 'paste',\n 'addedfile',\n 'addedfiles',\n 'removedfile',\n 'success',\n 'processing',\n 'processingmultiple',\n 'uploadprogress',\n 'totaluploadprogress',\n 'sending',\n 'sendingmultiple',\n 'canceled',\n 'canceledmultiple',\n 'complete',\n 'completemultiple',\n 'maxfilesexceeded',\n 'maxfilesreached',\n 'queuecomplete',\n 'reset',\n ],\n setup(props, { emit }) {\n const ButtonElement = ref<HTMLButtonElement>()\n const dropzoneReady = ref(false)\n let dropzone: IMazDropzone\n const dropzoneOptions = ref<MazDropzoneOptions>()\n\n const dropzoneStyle = computed(() => ({\n width: typeof props.width === 'number' ? `${props.width}px` : props.width,\n height: typeof props.height === 'number' ? `${props.height}px` : props.height,\n }))\n\n const setOption = (option: string, value: unknown): MazDropzoneOptions => {\n dropzone.options = {\n ...dropzone.options,\n [option]: value,\n }\n return dropzone.options\n }\n const manuallyAddFile: MazDropzoneInstance['manuallyAddFile'] = (file, fileUrl) => {\n dropzone.emit('addedfile', file)\n dropzone.emit('thumbnail', file, fileUrl)\n dropzone.files.push(file)\n }\n const removeAllFiles: MazDropzoneInstance['removeAllFiles'] = shouldRemoveAllFiles =>\n dropzone.removeAllFiles(shouldRemoveAllFiles)\n const processQueue: MazDropzoneInstance['processQueue'] = () => dropzone.processQueue()\n const destroy: MazDropzoneInstance['destroy'] = () => dropzone.destroy()\n const disable: MazDropzoneInstance['disable'] = () => dropzone.disable()\n const enable: MazDropzoneInstance['enable'] = () => dropzone.enable()\n const accept: MazDropzoneInstance['accept'] = (file, done) => dropzone.accept(file, done)\n const addFile: MazDropzoneInstance['addFile'] = file => dropzone.addFile(file)\n const resizeImage: MazDropzoneInstance['resizeImage'] = (\n file,\n width,\n height,\n resizeMethod,\n callback,\n ) => dropzone.resizeImage(file, width, height, resizeMethod, callback)\n const cancelUpload: MazDropzoneInstance['cancelUpload'] = file =>\n dropzone.cancelUpload(file)\n const getAcceptedFiles: MazDropzoneInstance['getAcceptedFiles'] = () =>\n dropzone.getAcceptedFiles() as MazDropzoneFile[]\n const getRejectedFiles: MazDropzoneInstance['getRejectedFiles'] = () =>\n dropzone.getRejectedFiles() as MazDropzoneFile[]\n const getFilesWithStatus: MazDropzoneInstance['getFilesWithStatus'] = () =>\n dropzone.getFilesWithStatus(status)\n const getQueuedFiles: MazDropzoneInstance['getQueuedFiles'] = () => dropzone.getQueuedFiles()\n const getUploadingFiles: MazDropzoneInstance['getUploadingFiles'] = () =>\n dropzone.getUploadingFiles()\n const getAddedFiles: MazDropzoneInstance['getAddedFiles'] = () => dropzone.getAddedFiles()\n const getActiveFiles: MazDropzoneInstance['getActiveFiles'] = () => dropzone.getActiveFiles()\n\n const thumbnail: DropzoneOptions['thumbnail'] = (file: MazDropzoneFile, dataUrl) => {\n emit('thumbnail', { file, dataUrl })\n let thumbnailElement: HTMLImageElement\n file.previewElement.classList.remove('dz-file-preview')\n const ref = file.previewElement.querySelectorAll('[data-dz-thumbnail-bg]')\n\n ref.forEach((r: Element) => {\n thumbnailElement = r as HTMLImageElement\n thumbnailElement.alt = file.name\n thumbnailElement.style.backgroundImage = `url('${dataUrl}')`\n })\n\n if (file.status === 'success')\n dropzone.emit('complete', file)\n }\n\n const error: DropzoneOptions['error'] = (file, message, xhr) => {\n emit('error', { file, message, xhr })\n if (dropzone.options.autoRemoveOnError) {\n setTimeout(() => dropzone.removeFile(file), 3000)\n }\n }\n\n const errorMultiple: DropzoneOptions['errormultiple'] = (files, message, xhr) => {\n emit('error', { files, message, xhr })\n if (dropzone.options.autoRemoveOnError) {\n setTimeout(() => {\n for (const file of files) dropzone.removeFile(file)\n }, 3000)\n }\n }\n\n onMounted(async () => {\n const defaultOptions: MazDropzoneOptions = {\n parallelUploads: props.options.maxFiles,\n previewTemplate,\n addRemoveLinks: true,\n }\n\n if (ButtonElement.value) {\n const { default: DropzoneJs } = await import('dropzone')\n\n const Constructor = dropzoneFix(DropzoneJs)\n\n dropzone = new Constructor(ButtonElement.value, {\n ...defaultOptions,\n ...props.options,\n })\n\n if (dropzone) {\n dropzoneOptions.value = dropzone.options as MazDropzoneOptions\n\n dropzoneReady.value = true\n\n /**\n * Dropzone Events\n */\n\n dropzone.on('thumbnail', thumbnail)\n dropzone.on('error', error)\n dropzone.on('errormultiple', errorMultiple)\n dropzone.on('drop', (e: DragEvent) => emit('drop', e))\n dropzone.on('dragstart', (e: DragEvent) => emit('dragstart', e))\n dropzone.on('dragend', (e: DragEvent) => emit('dragend', e))\n dropzone.on('dragenter', (e: DragEvent) => emit('dragenter', e))\n dropzone.on('dragover', (e: DragEvent) => emit('dragover', e))\n dropzone.on('dragleave', (e: DragEvent) => emit('dragleave', e))\n dropzone.on('paste', (e: DragEvent) => emit('paste', e))\n dropzone.on('addedfile', (file: DropzoneFile) => emit('addedfile', file))\n dropzone.on('addedfiles', (files: DropzoneFile[]) => emit('addedfiles', files))\n dropzone.on('removedfile', (file: DropzoneFile) => emit('removedfile', file))\n dropzone.on(\n 'success',\n (file: DropzoneFile, response: Record<string, unknown> | string) =>\n emit('success', { file, response }),\n )\n dropzone.on('successmultiple', (files: DropzoneFile[], responseText: string) =>\n emit('success', { files, responseText }))\n dropzone.on('processing', (file: DropzoneFile) => emit('processing', file))\n dropzone.on('processingmultiple', (files: DropzoneFile[]) =>\n emit('processingmultiple', files))\n dropzone.on(\n 'uploadprogress',\n (file: DropzoneFile, progress: number, bytesSent: number) =>\n emit('uploadprogress', { file, progress, bytesSent }),\n )\n dropzone.on(\n 'totaluploadprogress',\n (totalProgress: number, totalBytes: number, totalBytesSent: number) =>\n emit('totaluploadprogress', {\n totalProgress,\n totalBytes,\n totalBytesSent,\n }),\n )\n dropzone.on('sending', (file: DropzoneFile, xhr: XMLHttpRequest, formData: FormData) =>\n emit('sending', { file, xhr, formData }))\n dropzone.on(\n 'sendingmultiple',\n (files: DropzoneFile[], xhr: XMLHttpRequest, formData: FormData) =>\n emit('sendingmultiple', { files, xhr, formData }),\n )\n dropzone.on('canceled', (file: DropzoneFile) => emit('canceled', file))\n dropzone.on('canceledmultiple', (files: DropzoneFile[]) =>\n emit('canceledmultiple', files))\n dropzone.on('complete', (file: DropzoneFile) => emit('complete', file))\n dropzone.on('completemultiple', (files: DropzoneFile[]) =>\n emit('completemultiple', files))\n dropzone.on('maxfilesexceeded', (file: DropzoneFile) => emit('maxfilesexceeded', file))\n dropzone.on('maxfilesreached', (files: DropzoneFile[]) =>\n emit('maxfilesreached', files))\n dropzone.on('queuecomplete', () => {\n if (getAcceptedFiles().every(file => file.manuallyAdded))\n return\n emit('queuecomplete')\n })\n dropzone.on('reset', () => emit('reset'))\n }\n }\n })\n\n onBeforeUnmount(() => {\n if (!props.noDestroyOnUnmount)\n dropzone.destroy()\n })\n\n return {\n ButtonElement,\n dropzoneReady,\n dropzoneOptions,\n dropzoneStyle,\n setOption,\n manuallyAddFile,\n removeAllFiles,\n processQueue,\n destroy,\n disable,\n enable,\n accept,\n addFile,\n resizeImage,\n cancelUpload,\n getAcceptedFiles,\n getRejectedFiles,\n getFilesWithStatus,\n getQueuedFiles,\n getUploadingFiles,\n getAddedFiles,\n getActiveFiles,\n }\n },\n})\n</script>\n\n<template>\n <button\n ref=\"ButtonElement\"\n type=\"button\"\n name=\"maz-dropzone\"\n class=\"maz-dropzone m-reset-css\"\n :style=\"[dropzoneStyle]\"\n >\n <template v-if=\"dropzoneReady\">\n <slot :options=\"dropzoneOptions\">\n <div class=\"dz-message\">\n <slot name=\"icon\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"2em\"\n width=\"2em\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n class=\"maz-dropzone__main-icon maz-text-normal\"\n aria-hidden=\"true\"\n >\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path\n d=\"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM19 18H6c-2.21 0-4-1.79-4-4 0-2.05 1.53-3.76 3.56-3.97l1.07-.11.5-.95C8.08 7.14 9.94 6 12 6c2.62 0 4.88 1.86 5.39 4.43l.3 1.5 1.53.11c1.56.1 2.78 1.41 2.78 2.96 0 1.65-1.35 3-3 3zM8 13h2.55v3h2.9v-3H16l-4-4z\"\n />\n </svg>\n </slot>\n <p class=\"maz-my-2 maz-text-normal\">\n {{ dropzoneOptions?.dictDefaultMessage }}\n </p>\n <p class=\"maz-my-0 maz-text-muted\">\n {{ dropzoneOptions?.dictFilesDescriptions }}\n </p>\n </div>\n </slot>\n </template>\n <MazSpinner v-else />\n </button>\n</template>\n\n<style lang=\"postcss\">\n @keyframes passing-through {\n 0% {\n opacity: 0;\n transform: translateY(40px);\n }\n\n 30%,\n 70% {\n opacity: 1;\n transform: translateY(0);\n }\n\n 100% {\n opacity: 0;\n transform: translateY(-40px);\n }\n}\n\n@keyframes slide-in {\n 0% {\n opacity: 0;\n transform: translateY(40px);\n }\n\n 30% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes pulse {\n 0% {\n transform: scale(1);\n }\n\n 10% {\n transform: scale(1.1);\n }\n\n 20% {\n transform: scale(1);\n }\n}\n\n.maz-dropzone {\n @apply maz-m-0 maz-inline-flex maz-items-center maz-justify-center maz-overflow-auto\n maz-rounded maz-border maz-border-dashed maz-border-color-light maz-bg-color\n maz-p-4 maz-text-center maz-outline-none\n maz-transition-all maz-duration-200 maz-ease-out;\n\n min-height: 245px;\n\n &:not(.dz-clickable) {\n @apply maz-bg-color-light;\n }\n\n &.dz-clickable,\n &.dz-clickable.dz-message,\n &.dz-clickable.dz-message * {\n @apply maz-cursor-pointer;\n }\n\n & .dz-message {\n @apply maz-flex maz-flex-col maz-items-center maz-justify-center maz-text-center;\n }\n\n &.dz-clickable {\n &:hover {\n @apply maz-border-color-lighter maz-bg-color-light;\n\n & .maz-dropzone__main-icon {\n @apply maz-text-primary maz-transition-all maz-duration-200 maz-ease-out;\n }\n }\n }\n\n &.dz-started .dz-message {\n @apply maz-hidden;\n }\n\n &.dz-drag-hover {\n @apply maz-border-solid;\n\n & .dz-message {\n @apply maz-opacity-50;\n }\n }\n\n & .dz-message .dz-button {\n @apply maz-cursor-pointer maz-border-none maz-bg-transparent maz-p-0;\n }\n\n & .dz-details {\n @apply maz-absolute maz-inset-0 maz-z-20 maz-flex maz-flex-col maz-items-center\n maz-justify-center maz-rounded maz-px-4 maz-py-8 maz-text-center maz-leading-10 maz-text-white maz-opacity-0;\n\n background-color: var(--maz-color-primary-alpha);\n transition: opacity 0.2s linear;\n\n & .dz-size {\n & span {\n @apply maz-text-base maz-text-white;\n }\n }\n\n & .dz-filename {\n width: 100%;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n\n span {\n color: white;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n }\n }\n }\n\n & .dz-image {\n overflow: hidden;\n position: relative;\n display: block;\n z-index: 10;\n width: 100%;\n height: 100%;\n margin: 0 auto;\n\n @apply maz-rounded maz-border-color-lighter;\n\n & img {\n display: block;\n }\n\n & > div[data-dz-thumbnail-bg] {\n width: inherit;\n height: inherit;\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n }\n }\n\n & .dz-preview {\n position: relative;\n display: inline-block;\n vertical-align: top;\n margin: 0;\n min-height: auto;\n height: 100%;\n background: transparent;\n max-width: 200px;\n overflow: hidden;\n\n &:not(:last-child) {\n margin-right: 0.5rem;\n }\n\n &.dz-file-preview {\n & .dz-image {\n border-radius: 20px;\n background: #999;\n background: linear-gradient(to bottom, #eee, #ddd);\n }\n\n & .dz-details {\n opacity: 1;\n }\n }\n\n &.dz-image-preview {\n background-color: transparent;\n\n & .dz-details {\n transition: opacity 0.2s linear;\n }\n }\n\n & .dz-remove {\n text-align: center;\n display: block;\n cursor: pointer;\n position: absolute;\n z-index: 30;\n color: white;\n top: inherit;\n left: 5px;\n right: 5px;\n bottom: 5px;\n padding: 10px 5px;\n border: 2px white solid;\n text-decoration: none;\n text-transform: uppercase;\n font-size: 0.8rem;\n opacity: 0;\n transition: all 300ms ease-in-out;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n\n @apply maz-rounded;\n\n &:hover {\n @apply maz-bg-white maz-text-primary;\n }\n }\n\n &:hover {\n z-index: 1000;\n\n & .dz-details,\n & .dz-remove {\n opacity: 1;\n }\n\n & .dz-image img {\n transform: scale(1.05, 1.05);\n filter: blur(8px);\n }\n }\n\n & .dz-error-message {\n pointer-events: none;\n z-index: 1000;\n position: absolute;\n display: block;\n display: none;\n opacity: 0;\n transition: opacity 0.3s ease;\n border-radius: 8px;\n top: 130px;\n background: #be2626;\n background: linear-gradient(to bottom, #be2626, #a92222);\n padding: 0.5em 1.2em;\n color: white;\n margin-left: auto;\n margin-right: auto;\n left: 0;\n width: 100%;\n text-align: center;\n }\n\n & .dz-success-mark,\n & .dz-error-mark {\n pointer-events: none;\n opacity: 0;\n z-index: 500;\n position: absolute;\n display: block;\n margin-left: auto;\n margin-top: auto;\n width: 100%;\n top: 30%;\n left: 0;\n\n @apply maz-flex maz-flex-col maz-items-center maz-justify-center;\n\n & .material-icons {\n background-color: var(--maz-color-success-alpha);\n border-radius: 50%;\n color: white;\n font-size: 70px;\n }\n }\n\n & .dz-error-mark {\n & .material-icons {\n background-color: var(--maz-color-danger-alpha);\n }\n }\n\n &.dz-success .dz-success-mark {\n animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);\n }\n\n &.dz-error {\n & .dz-error-message {\n display: block;\n }\n\n & .dz-error-mark {\n opacity: 1;\n animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);\n }\n\n & .dz-details {\n background-color: var(--maz-color-danger-alpha);\n }\n\n &:hover .dz-error-message {\n opacity: 1;\n pointer-events: auto;\n }\n\n & .dz-remove:hover {\n @apply maz-text-danger;\n }\n }\n\n & .dz-progress {\n opacity: 1;\n z-index: 1000;\n pointer-events: none;\n position: absolute;\n height: 1rem;\n top: 50%;\n margin-top: -0.5rem;\n transform: scale(1);\n overflow: visible;\n width: 50%;\n left: 25%;\n\n @apply maz-rounded-full maz-bg-gray-100;\n\n & .dz-upload {\n position: absolute;\n transition: width 300ms ease-in-out;\n\n @apply maz-absolute maz-inset-0 maz-w-0 maz-rounded-full maz-bg-success;\n }\n\n & .progress-title {\n display: inline-block;\n position: relative;\n top: -30px;\n }\n }\n\n &.dz-processing .dz-progress {\n opacity: 1;\n transition: all 0.2s linear;\n }\n\n &.dz-complete .dz-progress {\n opacity: 0;\n transition: opacity 0.4s ease-in;\n }\n\n &:not(.dz-processing) .dz-progress {\n animation: pulse 6s ease infinite;\n }\n }\n}\n</style>\n"],"names":["MazSpinner","defineAsyncComponent","dropzoneFix","component","previewTemplate","_sfc_main","defineComponent","props","emit","ButtonElement","ref","dropzoneReady","dropzone","dropzoneOptions","dropzoneStyle","computed","setOption","option","value","manuallyAddFile","file","fileUrl","removeAllFiles","shouldRemoveAllFiles","processQueue","destroy","disable","enable","accept","done","addFile","resizeImage","width","height","resizeMethod","callback","cancelUpload","getAcceptedFiles","getRejectedFiles","getFilesWithStatus","getQueuedFiles","getUploadingFiles","getAddedFiles","getActiveFiles","thumbnail","dataUrl","thumbnailElement","r","error","message","xhr","errorMultiple","files","onMounted","defaultOptions","DropzoneJs","Constructor","e","response","responseText","progress","bytesSent","totalProgress","totalBytes","totalBytesSent","formData","onBeforeUnmount","_resolveComponent","_openBlock","_createElementBlock","_ctx","_renderSlot","_createElementVNode","_hoisted_1","_cache","_hoisted_2","_toDisplayString","_a"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MazDropzone.mjs","sources":["../../src/components/MazDropzone.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DropzoneFile, DropzoneOptions } from 'dropzone'\n\nimport {\n type ComponentPublicInstance,\n computed,\n defineAsyncComponent,\n defineComponent,\n onBeforeUnmount,\n onMounted,\n type PropType,\n ref,\n} from 'vue'\n\nconst MazSpinner = defineAsyncComponent(() => import('@components/MazSpinner.vue'))\n\nfunction dropzoneFix<T>(component: T): T {\n return (component as any).default ?? component\n}\n\nexport interface MazDropzoneOptions extends DropzoneOptions {\n dictFilesDescriptions?: string\n autoRemoveOnError?: boolean\n}\n\nexport interface MazDropzoneFile extends DropzoneFile {\n manuallyAdded?: boolean\n}\n\nexport interface IMazDropzone extends Dropzone {\n options: MazDropzoneOptions\n}\n\nexport interface MazDropzoneInstance extends ComponentPublicInstance {\n manuallyAddFile: (file: DropzoneFile, fileUrl: string) => void\n setOption: (option: string, value: unknown) => IMazDropzone['options']\n processQueue: IMazDropzone['processQueue']\n removeFile: IMazDropzone['removeFile']\n removeAllFiles: IMazDropzone['removeAllFiles']\n destroy: IMazDropzone['destroy']\n disable: IMazDropzone['disable']\n enable: IMazDropzone['enable']\n accept: IMazDropzone['accept']\n addFile: IMazDropzone['addFile']\n resizeImage: IMazDropzone['resizeImage']\n cancelUpload: IMazDropzone['cancelUpload']\n getAcceptedFiles: () => MazDropzoneFile[]\n getRejectedFiles: () => MazDropzoneFile[]\n getFilesWithStatus: IMazDropzone['getFilesWithStatus']\n getQueuedFiles: IMazDropzone['getQueuedFiles']\n getUploadingFiles: IMazDropzone['getUploadingFiles']\n getAddedFiles: IMazDropzone['getAddedFiles']\n getActiveFiles: IMazDropzone['getActiveFiles']\n}\n\nconst previewTemplate = `<div class=\"dz-preview dz-file-preview maz-flex-1\">\n <div class=\"dz-image\">\n <div data-dz-thumbnail-bg></div>\n </div>\n <div class=\"dz-details\">\n <div class=\"dz-filename\"><span data-dz-name></span></div>\n <div class=\"dz-size\"><span data-dz-size></span></div>\n </div>\n <div class=\"dz-progress\">\n <span class=\"dz-upload\" data-dz-uploadprogress></span>\n </div>\n <div class=\"dz-success-mark\">\n <svg class=\"material-icons\" xmlns=\"http://www.w3.org/2000/svg\" height=\"6rem\" viewBox=\"0 0 24 24\" width=\"6rem\" fill=\"currentColor\"><path d=\"M0 0h24v24H0V0z\" fill=\"none\"/><path d=\"M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z\"/></svg>\n </div>\n <div class=\"dz-error-mark\">\n <svg class=\"material-icons\" xmlns=\"http://www.w3.org/2000/svg\" height=\"6rem\" viewBox=\"0 0 24 24\" width=\"6rem\" fill=\"currentColor\"><path d=\"M11 15h2v2h-2v-2zm0-8h2v6h-2V7zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"/></svg>\n </div>\n</div>`\n\nexport default defineComponent({\n name: 'MazDropzone',\n components: { MazSpinner },\n props: {\n options: { type: Object as PropType<MazDropzoneOptions>, required: true },\n height: {\n type: [Number, String] as PropType<number | string>,\n default: '245px',\n },\n width: {\n type: [Number, String] as PropType<number | string>,\n default: '100%',\n },\n noDestroyOnUnmount: { type: Boolean, default: false },\n },\n emits: [\n 'thumbnail',\n 'error',\n 'drop',\n 'dragstart',\n 'dragend',\n 'dragenter',\n 'dragover',\n 'dragleave',\n 'paste',\n 'addedfile',\n 'addedfiles',\n 'removedfile',\n 'success',\n 'processing',\n 'processingmultiple',\n 'uploadprogress',\n 'totaluploadprogress',\n 'sending',\n 'sendingmultiple',\n 'canceled',\n 'canceledmultiple',\n 'complete',\n 'completemultiple',\n 'maxfilesexceeded',\n 'maxfilesreached',\n 'queuecomplete',\n 'reset',\n ],\n setup(props, { emit }) {\n const ButtonElement = ref<HTMLButtonElement>()\n const dropzoneReady = ref(false)\n let dropzone: IMazDropzone\n const dropzoneOptions = ref<MazDropzoneOptions>()\n\n const dropzoneStyle = computed(() => ({\n width: typeof props.width === 'number' ? `${props.width}px` : props.width,\n height: typeof props.height === 'number' ? `${props.height}px` : props.height,\n }))\n\n const setOption = (option: string, value: unknown): MazDropzoneOptions => {\n dropzone.options = {\n ...dropzone.options,\n [option]: value,\n }\n return dropzone.options\n }\n const manuallyAddFile: MazDropzoneInstance['manuallyAddFile'] = (file, fileUrl) => {\n dropzone.emit('addedfile', file)\n dropzone.emit('thumbnail', file, fileUrl)\n dropzone.files.push(file)\n }\n const removeAllFiles: MazDropzoneInstance['removeAllFiles'] = shouldRemoveAllFiles =>\n dropzone.removeAllFiles(shouldRemoveAllFiles)\n const processQueue: MazDropzoneInstance['processQueue'] = () => dropzone.processQueue()\n const destroy: MazDropzoneInstance['destroy'] = () => dropzone.destroy()\n const disable: MazDropzoneInstance['disable'] = () => dropzone.disable()\n const enable: MazDropzoneInstance['enable'] = () => dropzone.enable()\n const accept: MazDropzoneInstance['accept'] = (file, done) => dropzone.accept(file, done)\n const addFile: MazDropzoneInstance['addFile'] = file => dropzone.addFile(file)\n const resizeImage: MazDropzoneInstance['resizeImage'] = (\n file,\n width,\n height,\n resizeMethod,\n callback,\n ) => dropzone.resizeImage(file, width, height, resizeMethod, callback)\n const cancelUpload: MazDropzoneInstance['cancelUpload'] = file =>\n dropzone.cancelUpload(file)\n const getAcceptedFiles: MazDropzoneInstance['getAcceptedFiles'] = () =>\n dropzone.getAcceptedFiles() as MazDropzoneFile[]\n const getRejectedFiles: MazDropzoneInstance['getRejectedFiles'] = () =>\n dropzone.getRejectedFiles() as MazDropzoneFile[]\n const getFilesWithStatus: MazDropzoneInstance['getFilesWithStatus'] = () =>\n dropzone.getFilesWithStatus(status)\n const getQueuedFiles: MazDropzoneInstance['getQueuedFiles'] = () => dropzone.getQueuedFiles()\n const getUploadingFiles: MazDropzoneInstance['getUploadingFiles'] = () =>\n dropzone.getUploadingFiles()\n const getAddedFiles: MazDropzoneInstance['getAddedFiles'] = () => dropzone.getAddedFiles()\n const getActiveFiles: MazDropzoneInstance['getActiveFiles'] = () => dropzone.getActiveFiles()\n\n const thumbnail: DropzoneOptions['thumbnail'] = (file: MazDropzoneFile, dataUrl) => {\n emit('thumbnail', { file, dataUrl })\n let thumbnailElement: HTMLImageElement\n file.previewElement.classList.remove('dz-file-preview')\n const ref = file.previewElement.querySelectorAll('[data-dz-thumbnail-bg]')\n\n ref.forEach((r: Element) => {\n thumbnailElement = r as HTMLImageElement\n thumbnailElement.alt = file.name\n thumbnailElement.style.backgroundImage = `url('${dataUrl}')`\n })\n\n if (file.status === 'success')\n dropzone.emit('complete', file)\n }\n\n const error: DropzoneOptions['error'] = (file, message, xhr) => {\n emit('error', { file, message, xhr })\n if (dropzone.options.autoRemoveOnError) {\n setTimeout(() => dropzone.removeFile(file), 3000)\n }\n }\n\n const errorMultiple: DropzoneOptions['errormultiple'] = (files, message, xhr) => {\n emit('error', { files, message, xhr })\n if (dropzone.options.autoRemoveOnError) {\n setTimeout(() => {\n for (const file of files) dropzone.removeFile(file)\n }, 3000)\n }\n }\n\n onMounted(async () => {\n const defaultOptions: MazDropzoneOptions = {\n parallelUploads: props.options.maxFiles,\n previewTemplate,\n addRemoveLinks: true,\n }\n\n if (ButtonElement.value) {\n const { default: DropzoneJs } = await import('dropzone')\n\n const Constructor = dropzoneFix(DropzoneJs)\n\n dropzone = new Constructor(ButtonElement.value, {\n ...defaultOptions,\n ...props.options,\n })\n\n if (dropzone) {\n dropzoneOptions.value = dropzone.options as MazDropzoneOptions\n\n dropzoneReady.value = true\n\n /**\n * Dropzone Events\n */\n\n dropzone.on('thumbnail', thumbnail)\n dropzone.on('error', error)\n dropzone.on('errormultiple', errorMultiple)\n dropzone.on('drop', (e: DragEvent) => emit('drop', e))\n dropzone.on('dragstart', (e: DragEvent) => emit('dragstart', e))\n dropzone.on('dragend', (e: DragEvent) => emit('dragend', e))\n dropzone.on('dragenter', (e: DragEvent) => emit('dragenter', e))\n dropzone.on('dragover', (e: DragEvent) => emit('dragover', e))\n dropzone.on('dragleave', (e: DragEvent) => emit('dragleave', e))\n dropzone.on('paste', (e: DragEvent) => emit('paste', e))\n dropzone.on('addedfile', (file: DropzoneFile) => emit('addedfile', file))\n dropzone.on('addedfiles', (files: DropzoneFile[]) => emit('addedfiles', files))\n dropzone.on('removedfile', (file: DropzoneFile) => emit('removedfile', file))\n dropzone.on(\n 'success',\n (file: DropzoneFile, response: Record<string, unknown> | string) =>\n emit('success', { file, response }),\n )\n dropzone.on('successmultiple', (files: DropzoneFile[], responseText: string) =>\n emit('success', { files, responseText }))\n dropzone.on('processing', (file: DropzoneFile) => emit('processing', file))\n dropzone.on('processingmultiple', (files: DropzoneFile[]) =>\n emit('processingmultiple', files))\n dropzone.on(\n 'uploadprogress',\n (file: DropzoneFile, progress: number, bytesSent: number) =>\n emit('uploadprogress', { file, progress, bytesSent }),\n )\n dropzone.on(\n 'totaluploadprogress',\n (totalProgress: number, totalBytes: number, totalBytesSent: number) =>\n emit('totaluploadprogress', {\n totalProgress,\n totalBytes,\n totalBytesSent,\n }),\n )\n dropzone.on('sending', (file: DropzoneFile, xhr: XMLHttpRequest, formData: FormData) =>\n emit('sending', { file, xhr, formData }))\n dropzone.on(\n 'sendingmultiple',\n (files: DropzoneFile[], xhr: XMLHttpRequest, formData: FormData) =>\n emit('sendingmultiple', { files, xhr, formData }),\n )\n dropzone.on('canceled', (file: DropzoneFile) => emit('canceled', file))\n dropzone.on('canceledmultiple', (files: DropzoneFile[]) =>\n emit('canceledmultiple', files))\n dropzone.on('complete', (file: DropzoneFile) => emit('complete', file))\n dropzone.on('completemultiple', (files: DropzoneFile[]) =>\n emit('completemultiple', files))\n dropzone.on('maxfilesexceeded', (file: DropzoneFile) => emit('maxfilesexceeded', file))\n dropzone.on('maxfilesreached', (files: DropzoneFile[]) =>\n emit('maxfilesreached', files))\n dropzone.on('queuecomplete', () => {\n if (getAcceptedFiles().every(file => file.manuallyAdded))\n return\n emit('queuecomplete')\n })\n dropzone.on('reset', () => emit('reset'))\n }\n }\n })\n\n onBeforeUnmount(() => {\n if (!props.noDestroyOnUnmount)\n dropzone.destroy()\n })\n\n return {\n ButtonElement,\n dropzoneReady,\n dropzoneOptions,\n dropzoneStyle,\n setOption,\n manuallyAddFile,\n removeAllFiles,\n processQueue,\n destroy,\n disable,\n enable,\n accept,\n addFile,\n resizeImage,\n cancelUpload,\n getAcceptedFiles,\n getRejectedFiles,\n getFilesWithStatus,\n getQueuedFiles,\n getUploadingFiles,\n getAddedFiles,\n getActiveFiles,\n }\n },\n})\n</script>\n\n<template>\n <button\n ref=\"ButtonElement\"\n type=\"button\"\n name=\"maz-dropzone\"\n class=\"maz-dropzone m-reset-css\"\n :style=\"[dropzoneStyle]\"\n >\n <template v-if=\"dropzoneReady\">\n <slot :options=\"dropzoneOptions\">\n <div class=\"dz-message\">\n <slot name=\"icon\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"2em\"\n width=\"2em\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n class=\"maz-dropzone__main-icon maz-text-normal\"\n aria-hidden=\"true\"\n >\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path\n d=\"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM19 18H6c-2.21 0-4-1.79-4-4 0-2.05 1.53-3.76 3.56-3.97l1.07-.11.5-.95C8.08 7.14 9.94 6 12 6c2.62 0 4.88 1.86 5.39 4.43l.3 1.5 1.53.11c1.56.1 2.78 1.41 2.78 2.96 0 1.65-1.35 3-3 3zM8 13h2.55v3h2.9v-3H16l-4-4z\"\n />\n </svg>\n </slot>\n <p class=\"maz-my-2 maz-text-normal\">\n {{ dropzoneOptions?.dictDefaultMessage }}\n </p>\n <p class=\"maz-my-0 maz-text-muted\">\n {{ dropzoneOptions?.dictFilesDescriptions }}\n </p>\n </div>\n </slot>\n </template>\n <MazSpinner v-else />\n </button>\n</template>\n\n<style lang=\"postcss\">\n @keyframes passing-through {\n 0% {\n opacity: 0;\n transform: translateY(40px);\n }\n\n 30%,\n 70% {\n opacity: 1;\n transform: translateY(0);\n }\n\n 100% {\n opacity: 0;\n transform: translateY(-40px);\n }\n}\n\n@keyframes slide-in {\n 0% {\n opacity: 0;\n transform: translateY(40px);\n }\n\n 30% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes pulse {\n 0% {\n transform: scale(1);\n }\n\n 10% {\n transform: scale(1.1);\n }\n\n 20% {\n transform: scale(1);\n }\n}\n\n.maz-dropzone {\n @apply maz-m-0 maz-inline-flex maz-items-center maz-justify-center maz-overflow-auto\n maz-rounded maz-border maz-border-dashed maz-border-color-light maz-bg-color\n maz-p-4 maz-text-center maz-outline-none\n maz-transition-all maz-duration-200 maz-ease-out;\n\n min-height: 245px;\n\n &:not(.dz-clickable) {\n @apply maz-bg-color-light;\n }\n\n &.dz-clickable,\n &.dz-clickable.dz-message,\n &.dz-clickable.dz-message * {\n @apply maz-cursor-pointer;\n }\n\n & .dz-message {\n @apply maz-flex maz-flex-col maz-items-center maz-justify-center maz-text-center;\n }\n\n &.dz-clickable {\n &:hover {\n @apply maz-border-color-lighter maz-bg-color-light;\n\n & .maz-dropzone__main-icon {\n @apply maz-text-primary maz-transition-all maz-duration-200 maz-ease-out;\n }\n }\n }\n\n &.dz-started .dz-message {\n @apply maz-hidden;\n }\n\n &.dz-drag-hover {\n @apply maz-border-solid;\n\n & .dz-message {\n @apply maz-opacity-50;\n }\n }\n\n & .dz-message .dz-button {\n @apply maz-cursor-pointer maz-border-none maz-bg-transparent maz-p-0;\n }\n\n & .dz-details {\n @apply maz-absolute maz-inset-0 maz-z-20 maz-flex maz-flex-col maz-items-center\n maz-justify-center maz-rounded maz-px-4 maz-py-8 maz-text-center maz-leading-10 maz-text-white maz-opacity-0;\n\n background-color: var(--maz-color-primary-alpha);\n transition: opacity 0.2s linear;\n\n & .dz-size {\n & span {\n @apply maz-text-base maz-text-white;\n }\n }\n\n & .dz-filename {\n width: 100%;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n\n span {\n color: white;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n }\n }\n }\n\n & .dz-image {\n overflow: hidden;\n position: relative;\n display: block;\n z-index: 10;\n width: 100%;\n height: 100%;\n margin: 0 auto;\n\n @apply maz-rounded maz-border-color-lighter;\n\n & img {\n display: block;\n }\n\n & > div[data-dz-thumbnail-bg] {\n width: inherit;\n height: inherit;\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n }\n }\n\n & .dz-preview {\n position: relative;\n display: inline-block;\n vertical-align: top;\n margin: 0;\n min-height: auto;\n height: 100%;\n background: transparent;\n max-width: 200px;\n overflow: hidden;\n\n &:not(:last-child) {\n margin-right: 0.5rem;\n }\n\n &.dz-file-preview {\n & .dz-image {\n border-radius: 20px;\n background: #999;\n background: linear-gradient(to bottom, #eee, #ddd);\n }\n\n & .dz-details {\n opacity: 1;\n }\n }\n\n &.dz-image-preview {\n background-color: transparent;\n\n & .dz-details {\n transition: opacity 0.2s linear;\n }\n }\n\n & .dz-remove {\n text-align: center;\n display: block;\n cursor: pointer;\n position: absolute;\n z-index: 30;\n color: white;\n top: inherit;\n left: 5px;\n right: 5px;\n bottom: 5px;\n padding: 10px 5px;\n border: 2px white solid;\n text-decoration: none;\n text-transform: uppercase;\n font-size: 0.8rem;\n opacity: 0;\n transition: all 300ms ease-in-out;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n\n @apply maz-rounded;\n\n &:hover {\n @apply maz-bg-white maz-text-primary;\n }\n }\n\n &:hover {\n z-index: 1000;\n\n & .dz-details,\n & .dz-remove {\n opacity: 1;\n }\n\n & .dz-image img {\n transform: scale(1.05, 1.05);\n filter: blur(8px);\n }\n }\n\n & .dz-error-message {\n pointer-events: none;\n z-index: 1000;\n position: absolute;\n display: block;\n display: none;\n opacity: 0;\n transition: opacity 0.3s ease;\n border-radius: 8px;\n top: 130px;\n background: #be2626;\n background: linear-gradient(to bottom, #be2626, #a92222);\n padding: 0.5em 1.2em;\n color: white;\n margin-left: auto;\n margin-right: auto;\n left: 0;\n width: 100%;\n text-align: center;\n }\n\n & .dz-success-mark,\n & .dz-error-mark {\n pointer-events: none;\n opacity: 0;\n z-index: 500;\n position: absolute;\n display: block;\n margin-left: auto;\n margin-top: auto;\n width: 100%;\n top: 30%;\n left: 0;\n\n @apply maz-flex maz-flex-col maz-items-center maz-justify-center;\n\n & .material-icons {\n background-color: var(--maz-color-success-alpha);\n border-radius: 50%;\n color: white;\n font-size: 70px;\n }\n }\n\n & .dz-error-mark {\n & .material-icons {\n background-color: var(--maz-color-danger-alpha);\n }\n }\n\n &.dz-success .dz-success-mark {\n animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);\n }\n\n &.dz-error {\n & .dz-error-message {\n display: block;\n }\n\n & .dz-error-mark {\n opacity: 1;\n animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);\n }\n\n & .dz-details {\n background-color: var(--maz-color-danger-alpha);\n }\n\n &:hover .dz-error-message {\n opacity: 1;\n pointer-events: auto;\n }\n\n & .dz-remove:hover {\n @apply maz-text-danger;\n }\n }\n\n & .dz-progress {\n opacity: 1;\n z-index: 1000;\n pointer-events: none;\n position: absolute;\n height: 1rem;\n top: 50%;\n margin-top: -0.5rem;\n transform: scale(1);\n overflow: visible;\n width: 50%;\n left: 25%;\n\n @apply maz-rounded-full maz-bg-gray-100;\n\n & .dz-upload {\n position: absolute;\n transition: width 300ms ease-in-out;\n\n @apply maz-absolute maz-inset-0 maz-w-0 maz-rounded-full maz-bg-success;\n }\n\n & .progress-title {\n display: inline-block;\n position: relative;\n top: -30px;\n }\n }\n\n &.dz-processing .dz-progress {\n opacity: 1;\n transition: all 0.2s linear;\n }\n\n &.dz-complete .dz-progress {\n opacity: 0;\n transition: opacity 0.4s ease-in;\n }\n\n &:not(.dz-processing) .dz-progress {\n animation: pulse 6s ease infinite;\n }\n }\n}\n</style>\n"],"names":["MazSpinner","defineAsyncComponent","dropzoneFix","component","previewTemplate","_sfc_main","defineComponent","props","emit","ButtonElement","ref","dropzoneReady","dropzone","dropzoneOptions","dropzoneStyle","computed","setOption","option","value","manuallyAddFile","file","fileUrl","removeAllFiles","shouldRemoveAllFiles","processQueue","destroy","disable","enable","accept","done","addFile","resizeImage","width","height","resizeMethod","callback","cancelUpload","getAcceptedFiles","getRejectedFiles","getFilesWithStatus","getQueuedFiles","getUploadingFiles","getAddedFiles","getActiveFiles","thumbnail","dataUrl","thumbnailElement","r","error","message","xhr","errorMultiple","files","onMounted","defaultOptions","DropzoneJs","Constructor","e","response","responseText","progress","bytesSent","totalProgress","totalBytes","totalBytesSent","formData","onBeforeUnmount","_resolveComponent","_openBlock","_createElementBlock","_ctx","_renderSlot","_createElementVNode","_hoisted_1","_cache","_hoisted_2","_toDisplayString","_a"],"mappings":"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"}
1
+ {"version":3,"file":"MazDropzone.mjs","sources":["../../src/components/MazDropzone.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DropzoneFile, DropzoneOptions } from 'dropzone'\n\nimport {\n type ComponentPublicInstance,\n computed,\n defineAsyncComponent,\n defineComponent,\n onBeforeUnmount,\n onMounted,\n type PropType,\n ref,\n} from 'vue'\n\nconst MazSpinner = defineAsyncComponent(() => import('./MazSpinner.vue'))\n\nfunction dropzoneFix<T>(component: T): T {\n return (component as any).default ?? component\n}\n\nexport interface MazDropzoneOptions extends DropzoneOptions {\n dictFilesDescriptions?: string\n autoRemoveOnError?: boolean\n}\n\nexport interface MazDropzoneFile extends DropzoneFile {\n manuallyAdded?: boolean\n}\n\nexport interface IMazDropzone extends Dropzone {\n options: MazDropzoneOptions\n}\n\nexport interface MazDropzoneInstance extends ComponentPublicInstance {\n manuallyAddFile: (file: DropzoneFile, fileUrl: string) => void\n setOption: (option: string, value: unknown) => IMazDropzone['options']\n processQueue: IMazDropzone['processQueue']\n removeFile: IMazDropzone['removeFile']\n removeAllFiles: IMazDropzone['removeAllFiles']\n destroy: IMazDropzone['destroy']\n disable: IMazDropzone['disable']\n enable: IMazDropzone['enable']\n accept: IMazDropzone['accept']\n addFile: IMazDropzone['addFile']\n resizeImage: IMazDropzone['resizeImage']\n cancelUpload: IMazDropzone['cancelUpload']\n getAcceptedFiles: () => MazDropzoneFile[]\n getRejectedFiles: () => MazDropzoneFile[]\n getFilesWithStatus: IMazDropzone['getFilesWithStatus']\n getQueuedFiles: IMazDropzone['getQueuedFiles']\n getUploadingFiles: IMazDropzone['getUploadingFiles']\n getAddedFiles: IMazDropzone['getAddedFiles']\n getActiveFiles: IMazDropzone['getActiveFiles']\n}\n\nconst previewTemplate = `<div class=\"dz-preview dz-file-preview maz-flex-1\">\n <div class=\"dz-image\">\n <div data-dz-thumbnail-bg></div>\n </div>\n <div class=\"dz-details\">\n <div class=\"dz-filename\"><span data-dz-name></span></div>\n <div class=\"dz-size\"><span data-dz-size></span></div>\n </div>\n <div class=\"dz-progress\">\n <span class=\"dz-upload\" data-dz-uploadprogress></span>\n </div>\n <div class=\"dz-success-mark\">\n <svg class=\"material-icons\" xmlns=\"http://www.w3.org/2000/svg\" height=\"6rem\" viewBox=\"0 0 24 24\" width=\"6rem\" fill=\"currentColor\"><path d=\"M0 0h24v24H0V0z\" fill=\"none\"/><path d=\"M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z\"/></svg>\n </div>\n <div class=\"dz-error-mark\">\n <svg class=\"material-icons\" xmlns=\"http://www.w3.org/2000/svg\" height=\"6rem\" viewBox=\"0 0 24 24\" width=\"6rem\" fill=\"currentColor\"><path d=\"M11 15h2v2h-2v-2zm0-8h2v6h-2V7zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"/></svg>\n </div>\n</div>`\n\nexport default defineComponent({\n name: 'MazDropzone',\n components: { MazSpinner },\n props: {\n options: { type: Object as PropType<MazDropzoneOptions>, required: true },\n height: {\n type: [Number, String] as PropType<number | string>,\n default: '245px',\n },\n width: {\n type: [Number, String] as PropType<number | string>,\n default: '100%',\n },\n noDestroyOnUnmount: { type: Boolean, default: false },\n },\n emits: [\n 'thumbnail',\n 'error',\n 'drop',\n 'dragstart',\n 'dragend',\n 'dragenter',\n 'dragover',\n 'dragleave',\n 'paste',\n 'addedfile',\n 'addedfiles',\n 'removedfile',\n 'success',\n 'processing',\n 'processingmultiple',\n 'uploadprogress',\n 'totaluploadprogress',\n 'sending',\n 'sendingmultiple',\n 'canceled',\n 'canceledmultiple',\n 'complete',\n 'completemultiple',\n 'maxfilesexceeded',\n 'maxfilesreached',\n 'queuecomplete',\n 'reset',\n ],\n setup(props, { emit }) {\n const ButtonElement = ref<HTMLButtonElement>()\n const dropzoneReady = ref(false)\n let dropzone: IMazDropzone\n const dropzoneOptions = ref<MazDropzoneOptions>()\n\n const dropzoneStyle = computed(() => ({\n width: typeof props.width === 'number' ? `${props.width}px` : props.width,\n height: typeof props.height === 'number' ? `${props.height}px` : props.height,\n }))\n\n const setOption = (option: string, value: unknown): MazDropzoneOptions => {\n dropzone.options = {\n ...dropzone.options,\n [option]: value,\n }\n return dropzone.options\n }\n const manuallyAddFile: MazDropzoneInstance['manuallyAddFile'] = (file, fileUrl) => {\n dropzone.emit('addedfile', file)\n dropzone.emit('thumbnail', file, fileUrl)\n dropzone.files.push(file)\n }\n const removeAllFiles: MazDropzoneInstance['removeAllFiles'] = shouldRemoveAllFiles =>\n dropzone.removeAllFiles(shouldRemoveAllFiles)\n const processQueue: MazDropzoneInstance['processQueue'] = () => dropzone.processQueue()\n const destroy: MazDropzoneInstance['destroy'] = () => dropzone.destroy()\n const disable: MazDropzoneInstance['disable'] = () => dropzone.disable()\n const enable: MazDropzoneInstance['enable'] = () => dropzone.enable()\n const accept: MazDropzoneInstance['accept'] = (file, done) => dropzone.accept(file, done)\n const addFile: MazDropzoneInstance['addFile'] = file => dropzone.addFile(file)\n const resizeImage: MazDropzoneInstance['resizeImage'] = (\n file,\n width,\n height,\n resizeMethod,\n callback,\n ) => dropzone.resizeImage(file, width, height, resizeMethod, callback)\n const cancelUpload: MazDropzoneInstance['cancelUpload'] = file =>\n dropzone.cancelUpload(file)\n const getAcceptedFiles: MazDropzoneInstance['getAcceptedFiles'] = () =>\n dropzone.getAcceptedFiles() as MazDropzoneFile[]\n const getRejectedFiles: MazDropzoneInstance['getRejectedFiles'] = () =>\n dropzone.getRejectedFiles() as MazDropzoneFile[]\n const getFilesWithStatus: MazDropzoneInstance['getFilesWithStatus'] = () =>\n dropzone.getFilesWithStatus(status)\n const getQueuedFiles: MazDropzoneInstance['getQueuedFiles'] = () => dropzone.getQueuedFiles()\n const getUploadingFiles: MazDropzoneInstance['getUploadingFiles'] = () =>\n dropzone.getUploadingFiles()\n const getAddedFiles: MazDropzoneInstance['getAddedFiles'] = () => dropzone.getAddedFiles()\n const getActiveFiles: MazDropzoneInstance['getActiveFiles'] = () => dropzone.getActiveFiles()\n\n const thumbnail: DropzoneOptions['thumbnail'] = (file: MazDropzoneFile, dataUrl) => {\n emit('thumbnail', { file, dataUrl })\n let thumbnailElement: HTMLImageElement\n file.previewElement.classList.remove('dz-file-preview')\n const ref = file.previewElement.querySelectorAll('[data-dz-thumbnail-bg]')\n\n ref.forEach((r: Element) => {\n thumbnailElement = r as HTMLImageElement\n thumbnailElement.alt = file.name\n thumbnailElement.style.backgroundImage = `url('${dataUrl}')`\n })\n\n if (file.status === 'success')\n dropzone.emit('complete', file)\n }\n\n const error: DropzoneOptions['error'] = (file, message, xhr) => {\n emit('error', { file, message, xhr })\n if (dropzone.options.autoRemoveOnError) {\n setTimeout(() => dropzone.removeFile(file), 3000)\n }\n }\n\n const errorMultiple: DropzoneOptions['errormultiple'] = (files, message, xhr) => {\n emit('error', { files, message, xhr })\n if (dropzone.options.autoRemoveOnError) {\n setTimeout(() => {\n for (const file of files) dropzone.removeFile(file)\n }, 3000)\n }\n }\n\n onMounted(async () => {\n const defaultOptions: MazDropzoneOptions = {\n parallelUploads: props.options.maxFiles,\n previewTemplate,\n addRemoveLinks: true,\n }\n\n if (ButtonElement.value) {\n const { default: DropzoneJs } = await import('dropzone')\n\n const Constructor = dropzoneFix(DropzoneJs)\n\n dropzone = new Constructor(ButtonElement.value, {\n ...defaultOptions,\n ...props.options,\n })\n\n if (dropzone) {\n dropzoneOptions.value = dropzone.options as MazDropzoneOptions\n\n dropzoneReady.value = true\n\n /**\n * Dropzone Events\n */\n\n dropzone.on('thumbnail', thumbnail)\n dropzone.on('error', error)\n dropzone.on('errormultiple', errorMultiple)\n dropzone.on('drop', (e: DragEvent) => emit('drop', e))\n dropzone.on('dragstart', (e: DragEvent) => emit('dragstart', e))\n dropzone.on('dragend', (e: DragEvent) => emit('dragend', e))\n dropzone.on('dragenter', (e: DragEvent) => emit('dragenter', e))\n dropzone.on('dragover', (e: DragEvent) => emit('dragover', e))\n dropzone.on('dragleave', (e: DragEvent) => emit('dragleave', e))\n dropzone.on('paste', (e: DragEvent) => emit('paste', e))\n dropzone.on('addedfile', (file: DropzoneFile) => emit('addedfile', file))\n dropzone.on('addedfiles', (files: DropzoneFile[]) => emit('addedfiles', files))\n dropzone.on('removedfile', (file: DropzoneFile) => emit('removedfile', file))\n dropzone.on(\n 'success',\n (file: DropzoneFile, response: Record<string, unknown> | string) =>\n emit('success', { file, response }),\n )\n dropzone.on('successmultiple', (files: DropzoneFile[], responseText: string) =>\n emit('success', { files, responseText }))\n dropzone.on('processing', (file: DropzoneFile) => emit('processing', file))\n dropzone.on('processingmultiple', (files: DropzoneFile[]) =>\n emit('processingmultiple', files))\n dropzone.on(\n 'uploadprogress',\n (file: DropzoneFile, progress: number, bytesSent: number) =>\n emit('uploadprogress', { file, progress, bytesSent }),\n )\n dropzone.on(\n 'totaluploadprogress',\n (totalProgress: number, totalBytes: number, totalBytesSent: number) =>\n emit('totaluploadprogress', {\n totalProgress,\n totalBytes,\n totalBytesSent,\n }),\n )\n dropzone.on('sending', (file: DropzoneFile, xhr: XMLHttpRequest, formData: FormData) =>\n emit('sending', { file, xhr, formData }))\n dropzone.on(\n 'sendingmultiple',\n (files: DropzoneFile[], xhr: XMLHttpRequest, formData: FormData) =>\n emit('sendingmultiple', { files, xhr, formData }),\n )\n dropzone.on('canceled', (file: DropzoneFile) => emit('canceled', file))\n dropzone.on('canceledmultiple', (files: DropzoneFile[]) =>\n emit('canceledmultiple', files))\n dropzone.on('complete', (file: DropzoneFile) => emit('complete', file))\n dropzone.on('completemultiple', (files: DropzoneFile[]) =>\n emit('completemultiple', files))\n dropzone.on('maxfilesexceeded', (file: DropzoneFile) => emit('maxfilesexceeded', file))\n dropzone.on('maxfilesreached', (files: DropzoneFile[]) =>\n emit('maxfilesreached', files))\n dropzone.on('queuecomplete', () => {\n if (getAcceptedFiles().every(file => file.manuallyAdded))\n return\n emit('queuecomplete')\n })\n dropzone.on('reset', () => emit('reset'))\n }\n }\n })\n\n onBeforeUnmount(() => {\n if (!props.noDestroyOnUnmount)\n dropzone.destroy()\n })\n\n return {\n ButtonElement,\n dropzoneReady,\n dropzoneOptions,\n dropzoneStyle,\n setOption,\n manuallyAddFile,\n removeAllFiles,\n processQueue,\n destroy,\n disable,\n enable,\n accept,\n addFile,\n resizeImage,\n cancelUpload,\n getAcceptedFiles,\n getRejectedFiles,\n getFilesWithStatus,\n getQueuedFiles,\n getUploadingFiles,\n getAddedFiles,\n getActiveFiles,\n }\n },\n})\n</script>\n\n<template>\n <button\n ref=\"ButtonElement\"\n type=\"button\"\n name=\"maz-dropzone\"\n class=\"maz-dropzone m-reset-css\"\n :style=\"[dropzoneStyle]\"\n >\n <template v-if=\"dropzoneReady\">\n <slot :options=\"dropzoneOptions\">\n <div class=\"dz-message\">\n <slot name=\"icon\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"2em\"\n width=\"2em\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n class=\"maz-dropzone__main-icon maz-text-normal\"\n aria-hidden=\"true\"\n >\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path\n d=\"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM19 18H6c-2.21 0-4-1.79-4-4 0-2.05 1.53-3.76 3.56-3.97l1.07-.11.5-.95C8.08 7.14 9.94 6 12 6c2.62 0 4.88 1.86 5.39 4.43l.3 1.5 1.53.11c1.56.1 2.78 1.41 2.78 2.96 0 1.65-1.35 3-3 3zM8 13h2.55v3h2.9v-3H16l-4-4z\"\n />\n </svg>\n </slot>\n <p class=\"maz-my-2 maz-text-normal\">\n {{ dropzoneOptions?.dictDefaultMessage }}\n </p>\n <p class=\"maz-my-0 maz-text-muted\">\n {{ dropzoneOptions?.dictFilesDescriptions }}\n </p>\n </div>\n </slot>\n </template>\n <MazSpinner v-else />\n </button>\n</template>\n\n<style lang=\"postcss\">\n @keyframes passing-through {\n 0% {\n opacity: 0;\n transform: translateY(40px);\n }\n\n 30%,\n 70% {\n opacity: 1;\n transform: translateY(0);\n }\n\n 100% {\n opacity: 0;\n transform: translateY(-40px);\n }\n}\n\n@keyframes slide-in {\n 0% {\n opacity: 0;\n transform: translateY(40px);\n }\n\n 30% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes pulse {\n 0% {\n transform: scale(1);\n }\n\n 10% {\n transform: scale(1.1);\n }\n\n 20% {\n transform: scale(1);\n }\n}\n\n.maz-dropzone {\n @apply maz-m-0 maz-inline-flex maz-items-center maz-justify-center maz-overflow-auto\n maz-rounded maz-border maz-border-dashed maz-border-color-light maz-bg-color\n maz-p-4 maz-text-center maz-outline-none\n maz-transition-all maz-duration-200 maz-ease-out;\n\n min-height: 245px;\n\n &:not(.dz-clickable) {\n @apply maz-bg-color-light;\n }\n\n &.dz-clickable,\n &.dz-clickable.dz-message,\n &.dz-clickable.dz-message * {\n @apply maz-cursor-pointer;\n }\n\n & .dz-message {\n @apply maz-flex maz-flex-col maz-items-center maz-justify-center maz-text-center;\n }\n\n &.dz-clickable {\n &:hover {\n @apply maz-border-color-lighter maz-bg-color-light;\n\n & .maz-dropzone__main-icon {\n @apply maz-text-primary maz-transition-all maz-duration-200 maz-ease-out;\n }\n }\n }\n\n &.dz-started .dz-message {\n @apply maz-hidden;\n }\n\n &.dz-drag-hover {\n @apply maz-border-solid;\n\n & .dz-message {\n @apply maz-opacity-50;\n }\n }\n\n & .dz-message .dz-button {\n @apply maz-cursor-pointer maz-border-none maz-bg-transparent maz-p-0;\n }\n\n & .dz-details {\n @apply maz-absolute maz-inset-0 maz-z-20 maz-flex maz-flex-col maz-items-center\n maz-justify-center maz-rounded maz-px-4 maz-py-8 maz-text-center maz-leading-10 maz-text-white maz-opacity-0;\n\n background-color: var(--maz-color-primary-alpha);\n transition: opacity 0.2s linear;\n\n & .dz-size {\n & span {\n @apply maz-text-base maz-text-white;\n }\n }\n\n & .dz-filename {\n width: 100%;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n\n span {\n color: white;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n }\n }\n }\n\n & .dz-image {\n overflow: hidden;\n position: relative;\n display: block;\n z-index: 10;\n width: 100%;\n height: 100%;\n margin: 0 auto;\n\n @apply maz-rounded maz-border-color-lighter;\n\n & img {\n display: block;\n }\n\n & > div[data-dz-thumbnail-bg] {\n width: inherit;\n height: inherit;\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n }\n }\n\n & .dz-preview {\n position: relative;\n display: inline-block;\n vertical-align: top;\n margin: 0;\n min-height: auto;\n height: 100%;\n background: transparent;\n max-width: 200px;\n overflow: hidden;\n\n &:not(:last-child) {\n margin-right: 0.5rem;\n }\n\n &.dz-file-preview {\n & .dz-image {\n border-radius: 20px;\n background: #999;\n background: linear-gradient(to bottom, #eee, #ddd);\n }\n\n & .dz-details {\n opacity: 1;\n }\n }\n\n &.dz-image-preview {\n background-color: transparent;\n\n & .dz-details {\n transition: opacity 0.2s linear;\n }\n }\n\n & .dz-remove {\n text-align: center;\n display: block;\n cursor: pointer;\n position: absolute;\n z-index: 30;\n color: white;\n top: inherit;\n left: 5px;\n right: 5px;\n bottom: 5px;\n padding: 10px 5px;\n border: 2px white solid;\n text-decoration: none;\n text-transform: uppercase;\n font-size: 0.8rem;\n opacity: 0;\n transition: all 300ms ease-in-out;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n\n @apply maz-rounded;\n\n &:hover {\n @apply maz-bg-white maz-text-primary;\n }\n }\n\n &:hover {\n z-index: 1000;\n\n & .dz-details,\n & .dz-remove {\n opacity: 1;\n }\n\n & .dz-image img {\n transform: scale(1.05, 1.05);\n filter: blur(8px);\n }\n }\n\n & .dz-error-message {\n pointer-events: none;\n z-index: 1000;\n position: absolute;\n display: block;\n display: none;\n opacity: 0;\n transition: opacity 0.3s ease;\n border-radius: 8px;\n top: 130px;\n background: #be2626;\n background: linear-gradient(to bottom, #be2626, #a92222);\n padding: 0.5em 1.2em;\n color: white;\n margin-left: auto;\n margin-right: auto;\n left: 0;\n width: 100%;\n text-align: center;\n }\n\n & .dz-success-mark,\n & .dz-error-mark {\n pointer-events: none;\n opacity: 0;\n z-index: 500;\n position: absolute;\n display: block;\n margin-left: auto;\n margin-top: auto;\n width: 100%;\n top: 30%;\n left: 0;\n\n @apply maz-flex maz-flex-col maz-items-center maz-justify-center;\n\n & .material-icons {\n background-color: var(--maz-color-success-alpha);\n border-radius: 50%;\n color: white;\n font-size: 70px;\n }\n }\n\n & .dz-error-mark {\n & .material-icons {\n background-color: var(--maz-color-danger-alpha);\n }\n }\n\n &.dz-success .dz-success-mark {\n animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);\n }\n\n &.dz-error {\n & .dz-error-message {\n display: block;\n }\n\n & .dz-error-mark {\n opacity: 1;\n animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);\n }\n\n & .dz-details {\n background-color: var(--maz-color-danger-alpha);\n }\n\n &:hover .dz-error-message {\n opacity: 1;\n pointer-events: auto;\n }\n\n & .dz-remove:hover {\n @apply maz-text-danger;\n }\n }\n\n & .dz-progress {\n opacity: 1;\n z-index: 1000;\n pointer-events: none;\n position: absolute;\n height: 1rem;\n top: 50%;\n margin-top: -0.5rem;\n transform: scale(1);\n overflow: visible;\n width: 50%;\n left: 25%;\n\n @apply maz-rounded-full maz-bg-gray-100;\n\n & .dz-upload {\n position: absolute;\n transition: width 300ms ease-in-out;\n\n @apply maz-absolute maz-inset-0 maz-w-0 maz-rounded-full maz-bg-success;\n }\n\n & .progress-title {\n display: inline-block;\n position: relative;\n top: -30px;\n }\n }\n\n &.dz-processing .dz-progress {\n opacity: 1;\n transition: all 0.2s linear;\n }\n\n &.dz-complete .dz-progress {\n opacity: 0;\n transition: opacity 0.4s ease-in;\n }\n\n &:not(.dz-processing) .dz-progress {\n animation: pulse 6s ease infinite;\n }\n }\n}\n</style>\n"],"names":["MazSpinner","defineAsyncComponent","dropzoneFix","component","previewTemplate","_sfc_main","defineComponent","props","emit","ButtonElement","ref","dropzoneReady","dropzone","dropzoneOptions","dropzoneStyle","computed","setOption","option","value","manuallyAddFile","file","fileUrl","removeAllFiles","shouldRemoveAllFiles","processQueue","destroy","disable","enable","accept","done","addFile","resizeImage","width","height","resizeMethod","callback","cancelUpload","getAcceptedFiles","getRejectedFiles","getFilesWithStatus","getQueuedFiles","getUploadingFiles","getAddedFiles","getActiveFiles","thumbnail","dataUrl","thumbnailElement","r","error","message","xhr","errorMultiple","files","onMounted","defaultOptions","DropzoneJs","Constructor","e","response","responseText","progress","bytesSent","totalProgress","totalBytes","totalBytesSent","formData","onBeforeUnmount","_resolveComponent","_openBlock","_createElementBlock","_ctx","_renderSlot","_createElementVNode","_hoisted_1","_cache","_hoisted_2","_toDisplayString","_a"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('../assets/MazFullscreenLoader.DTW_WUM6.css');const e=require("vue"),l=require("./MazSpinner.cjs"),n=require("../chunks/_plugin-vue_export-helper.BHFhmbuH.cjs"),s={key:0},c=e.defineComponent({__name:"MazFullscreenLoader",props:{color:{default:"primary"},size:{default:"3em"},teleportSelector:{default:"body"}},setup(u){function t(){document.documentElement.classList.add("--maz-fullscreen-loader-present")}function r(){document.documentElement.classList.remove("--maz-fullscreen-loader-present")}return e.onMounted(()=>{t()}),e.onUnmounted(()=>{r()}),(o,d)=>(e.openBlock(),e.createBlock(e.Teleport,{to:o.teleportSelector},[e.createElementVNode("div",e.mergeProps({class:"m-fullscreen-loader m-reset-css"},o.$attrs),[e.createVNode(l.default,{color:o.color,size:o.size},null,8,["color","size"]),o.$slots.default?(e.openBlock(),e.createElementBlock("span",s,[e.renderSlot(o.$slots,"default",{},void 0,!0)])):e.createCommentVNode("",!0)],16)],8,["to"]))}}),a=n._export_sfc(c,[["__scopeId","data-v-bc98dd46"]]);exports.default=a;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('../assets/MazFullscreenLoader.Dkg4LB9B.css');const e=require("vue"),l=require("./MazSpinner.cjs"),n=require("../chunks/_plugin-vue_export-helper.BHFhmbuH.cjs"),s={key:0},a=e.defineComponent({__name:"MazFullscreenLoader",props:{color:{default:"primary"},size:{default:"3em"},teleportSelector:{default:"body"}},setup(u){function t(){document.documentElement.classList.add("--maz-fullscreen-loader-present")}function r(){document.documentElement.classList.remove("--maz-fullscreen-loader-present")}return e.onMounted(()=>{t()}),e.onUnmounted(()=>{r()}),(o,d)=>(e.openBlock(),e.createBlock(e.Teleport,{to:o.teleportSelector},[e.createElementVNode("div",e.mergeProps({class:"m-fullscreen-loader m-reset-css"},o.$attrs),[e.createVNode(l.default,{color:o.color,size:o.size},null,8,["color","size"]),o.$slots.default?(e.openBlock(),e.createElementBlock("span",s,[e.renderSlot(o.$slots,"default",{},void 0,!0)])):e.createCommentVNode("",!0)],16)],8,["to"]))}}),c=n._export_sfc(a,[["__scopeId","data-v-35d05aed"]]);exports.default=c;
2
2
  //# sourceMappingURL=MazFullscreenLoader.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"MazFullscreenLoader.cjs","sources":["../../src/components/MazFullscreenLoader.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { Color } from '@components/types'\nimport MazSpinner from '@components/MazSpinner.vue'\nimport { onMounted, onUnmounted } from 'vue'\n\nconst { color = 'primary', size = '3em', teleportSelector = 'body' } = defineProps<MazFullscreenLoaderProps>()\n\nexport interface MazFullscreenLoaderProps {\n /** The color of the spinner */\n color?: Color\n /** The size of the spinner */\n size?: string\n /** The selector to teleport the loader */\n teleportSelector?: string\n}\n\nfunction addClassToDocument() {\n document.documentElement.classList.add('--maz-fullscreen-loader-present')\n}\n\nfunction removeClassFromDocument() {\n document.documentElement.classList.remove('--maz-fullscreen-loader-present')\n}\n\nonMounted(() => {\n addClassToDocument()\n})\n\nonUnmounted(() => {\n removeClassFromDocument()\n})\n</script>\n\n<template>\n <Teleport :to=\"teleportSelector\">\n <div\n class=\"m-fullscreen-loader m-reset-css\"\n v-bind=\"$attrs\"\n >\n <MazSpinner :color=\"color\" :size=\"size\" />\n\n <span v-if=\"$slots.default\">\n <slot />\n </span>\n </div>\n </Teleport>\n</template>\n\n<style lang=\"postcss\">\n html.--maz-fullscreen-loader-present {\n overflow-y: hidden;\n height: 100vh;\n}\n</style>\n\n<style lang=\"postcss\" scoped>\n.m-fullscreen-loader {\n @apply maz-fixed maz-inset-0 maz-z-default-backdrop maz-flex maz-flex-col maz-gap-2 maz-bg-overlay maz-text-center maz-backdrop-blur maz-flex-center;\n}\n</style>\n"],"names":["addClassToDocument","removeClassFromDocument","onMounted","onUnmounted"],"mappings":"6XAgBA,SAASA,GAAqB,CACnB,SAAA,gBAAgB,UAAU,IAAI,iCAAiC,CAAA,CAG1E,SAASC,GAA0B,CACxB,SAAA,gBAAgB,UAAU,OAAO,iCAAiC,CAAA,CAG7EC,OAAAA,EAAAA,UAAU,IAAM,CACKF,EAAA,CAAA,CACpB,EAEDG,EAAAA,YAAY,IAAM,CACQF,EAAA,CAAA,CACzB"}
1
+ {"version":3,"file":"MazFullscreenLoader.cjs","sources":["../../src/components/MazFullscreenLoader.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { Color } from './types'\nimport { onMounted, onUnmounted } from 'vue'\nimport MazSpinner from './MazSpinner.vue'\n\nconst { color = 'primary', size = '3em', teleportSelector = 'body' } = defineProps<MazFullscreenLoaderProps>()\n\nexport interface MazFullscreenLoaderProps {\n /** The color of the spinner */\n color?: Color\n /** The size of the spinner */\n size?: string\n /** The selector to teleport the loader */\n teleportSelector?: string\n}\n\nfunction addClassToDocument() {\n document.documentElement.classList.add('--maz-fullscreen-loader-present')\n}\n\nfunction removeClassFromDocument() {\n document.documentElement.classList.remove('--maz-fullscreen-loader-present')\n}\n\nonMounted(() => {\n addClassToDocument()\n})\n\nonUnmounted(() => {\n removeClassFromDocument()\n})\n</script>\n\n<template>\n <Teleport :to=\"teleportSelector\">\n <div\n class=\"m-fullscreen-loader m-reset-css\"\n v-bind=\"$attrs\"\n >\n <MazSpinner :color=\"color\" :size=\"size\" />\n\n <span v-if=\"$slots.default\">\n <slot />\n </span>\n </div>\n </Teleport>\n</template>\n\n<style lang=\"postcss\">\n html.--maz-fullscreen-loader-present {\n overflow-y: hidden;\n height: 100vh;\n}\n</style>\n\n<style lang=\"postcss\" scoped>\n.m-fullscreen-loader {\n @apply maz-fixed maz-inset-0 maz-z-default-backdrop maz-flex maz-flex-col maz-gap-2 maz-bg-overlay maz-text-center maz-backdrop-blur maz-flex-center;\n}\n</style>\n"],"names":["addClassToDocument","removeClassFromDocument","onMounted","onUnmounted"],"mappings":"6XAgBA,SAASA,GAAqB,CACnB,SAAA,gBAAgB,UAAU,IAAI,iCAAiC,CAAA,CAG1E,SAASC,GAA0B,CACxB,SAAA,gBAAgB,UAAU,OAAO,iCAAiC,CAAA,CAG7EC,OAAAA,EAAAA,UAAU,IAAM,CACKF,EAAA,CAAA,CACpB,EAEDG,EAAAA,YAAY,IAAM,CACQF,EAAA,CAAA,CACzB"}
@@ -1,7 +1,7 @@
1
1
  import { defineComponent as l, onMounted as s, onUnmounted as n, openBlock as o, createBlock as a, Teleport as c, createElementVNode as d, mergeProps as m, createVNode as u, createElementBlock as p, renderSlot as i, createCommentVNode as f } from "vue";
2
2
  import z from "./MazSpinner.mjs";
3
3
  import { _ } from "../chunks/_plugin-vue_export-helper.CHgC5LLL.mjs";
4
- import '../assets/MazFullscreenLoader.DTW_WUM6.css';const v = { key: 0 }, k = /* @__PURE__ */ l({
4
+ import '../assets/MazFullscreenLoader.Dkg4LB9B.css';const v = { key: 0 }, k = /* @__PURE__ */ l({
5
5
  __name: "MazFullscreenLoader",
6
6
  props: {
7
7
  color: { default: "primary" },
@@ -31,7 +31,7 @@ import '../assets/MazFullscreenLoader.DTW_WUM6.css';const v = { key: 0 }, k = /*
31
31
  ], 16)
32
32
  ], 8, ["to"]));
33
33
  }
34
- }), y = /* @__PURE__ */ _(k, [["__scopeId", "data-v-bc98dd46"]]);
34
+ }), y = /* @__PURE__ */ _(k, [["__scopeId", "data-v-35d05aed"]]);
35
35
  export {
36
36
  y as default
37
37
  };
@@ -1 +1 @@
1
- {"version":3,"file":"MazFullscreenLoader.mjs","sources":["../../src/components/MazFullscreenLoader.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { Color } from '@components/types'\nimport MazSpinner from '@components/MazSpinner.vue'\nimport { onMounted, onUnmounted } from 'vue'\n\nconst { color = 'primary', size = '3em', teleportSelector = 'body' } = defineProps<MazFullscreenLoaderProps>()\n\nexport interface MazFullscreenLoaderProps {\n /** The color of the spinner */\n color?: Color\n /** The size of the spinner */\n size?: string\n /** The selector to teleport the loader */\n teleportSelector?: string\n}\n\nfunction addClassToDocument() {\n document.documentElement.classList.add('--maz-fullscreen-loader-present')\n}\n\nfunction removeClassFromDocument() {\n document.documentElement.classList.remove('--maz-fullscreen-loader-present')\n}\n\nonMounted(() => {\n addClassToDocument()\n})\n\nonUnmounted(() => {\n removeClassFromDocument()\n})\n</script>\n\n<template>\n <Teleport :to=\"teleportSelector\">\n <div\n class=\"m-fullscreen-loader m-reset-css\"\n v-bind=\"$attrs\"\n >\n <MazSpinner :color=\"color\" :size=\"size\" />\n\n <span v-if=\"$slots.default\">\n <slot />\n </span>\n </div>\n </Teleport>\n</template>\n\n<style lang=\"postcss\">\n html.--maz-fullscreen-loader-present {\n overflow-y: hidden;\n height: 100vh;\n}\n</style>\n\n<style lang=\"postcss\" scoped>\n.m-fullscreen-loader {\n @apply maz-fixed maz-inset-0 maz-z-default-backdrop maz-flex maz-flex-col maz-gap-2 maz-bg-overlay maz-text-center maz-backdrop-blur maz-flex-center;\n}\n</style>\n"],"names":["addClassToDocument","removeClassFromDocument","onMounted","onUnmounted"],"mappings":";;;;;;;;;;;AAgBA,aAASA,IAAqB;AACnB,eAAA,gBAAgB,UAAU,IAAI,iCAAiC;AAAA,IAAA;AAG1E,aAASC,IAA0B;AACxB,eAAA,gBAAgB,UAAU,OAAO,iCAAiC;AAAA,IAAA;AAG7E,WAAAC,EAAU,MAAM;AACK,MAAAF,EAAA;AAAA,IAAA,CACpB,GAEDG,EAAY,MAAM;AACQ,MAAAF,EAAA;AAAA,IAAA,CACzB;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"MazFullscreenLoader.mjs","sources":["../../src/components/MazFullscreenLoader.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { Color } from './types'\nimport { onMounted, onUnmounted } from 'vue'\nimport MazSpinner from './MazSpinner.vue'\n\nconst { color = 'primary', size = '3em', teleportSelector = 'body' } = defineProps<MazFullscreenLoaderProps>()\n\nexport interface MazFullscreenLoaderProps {\n /** The color of the spinner */\n color?: Color\n /** The size of the spinner */\n size?: string\n /** The selector to teleport the loader */\n teleportSelector?: string\n}\n\nfunction addClassToDocument() {\n document.documentElement.classList.add('--maz-fullscreen-loader-present')\n}\n\nfunction removeClassFromDocument() {\n document.documentElement.classList.remove('--maz-fullscreen-loader-present')\n}\n\nonMounted(() => {\n addClassToDocument()\n})\n\nonUnmounted(() => {\n removeClassFromDocument()\n})\n</script>\n\n<template>\n <Teleport :to=\"teleportSelector\">\n <div\n class=\"m-fullscreen-loader m-reset-css\"\n v-bind=\"$attrs\"\n >\n <MazSpinner :color=\"color\" :size=\"size\" />\n\n <span v-if=\"$slots.default\">\n <slot />\n </span>\n </div>\n </Teleport>\n</template>\n\n<style lang=\"postcss\">\n html.--maz-fullscreen-loader-present {\n overflow-y: hidden;\n height: 100vh;\n}\n</style>\n\n<style lang=\"postcss\" scoped>\n.m-fullscreen-loader {\n @apply maz-fixed maz-inset-0 maz-z-default-backdrop maz-flex maz-flex-col maz-gap-2 maz-bg-overlay maz-text-center maz-backdrop-blur maz-flex-center;\n}\n</style>\n"],"names":["addClassToDocument","removeClassFromDocument","onMounted","onUnmounted"],"mappings":";;;;;;;;;;;AAgBA,aAASA,IAAqB;AACnB,eAAA,gBAAgB,UAAU,IAAI,iCAAiC;AAAA,IAAA;AAG1E,aAASC,IAA0B;AACxB,eAAA,gBAAgB,UAAU,OAAO,iCAAiC;AAAA,IAAA;AAG7E,WAAAC,EAAU,MAAM;AACK,MAAAF,EAAA;AAAA,IAAA,CACpB,GAEDG,EAAY,MAAM;AACQ,MAAAF,EAAA;AAAA,IAAA,CACzB;;;;;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('../assets/MazGallery.ChuEM3_y.css');const e=require("vue"),i=require("../chunks/fullscreen-img.directive.CeREtf7H.cjs"),f=require("../chunks/lazy-img.directive.BeENE6S9.cjs"),v=require("../chunks/_plugin-vue_export-helper.BHFhmbuH.cjs"),p={class:"m-gallery__wrapper maz-flex maz-flex-1"},z=["alt"],A={key:0,class:"m-gallery__remaining-layer maz-flex maz-bg-overlay maz-flex-center"},b={class:"maz-text-2xl maz-text-white"},B=e.defineComponent({__name:"MazGallery",props:{images:{type:Array,default:()=>[]},imagesShownCount:{type:Number,default:5},noRemaining:{type:Boolean,default:!1},height:{type:[Number,String],default:150},noHeight:{type:Boolean,default:!1},width:{type:[Number,String],default:"100%"},noWidth:{type:Boolean,default:!1},noRadius:{type:Boolean,default:!1},noZoom:{type:Boolean,default:!1},hasEmptyLayer:{type:Boolean,default:!0},lazy:{type:Boolean,default:!0},blur:{type:Boolean,default:!0},scale:{type:Boolean,default:!0},separatorColor:{type:String,default:"transparent"}},setup(t){const a=t,g=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("../chunks/no-photography.BPChQgKp.cjs")));e.onBeforeMount(()=>{a.imagesShownCount>5&&console.warn('[MazUI](m-gallery) The maximum of "images-shown-count" is 5')});const m=e.computed(()=>{const n=a.noWidth,r=a.width,o=a.noHeight,l=a.height;return{...n?{}:{flex:`0 0 ${typeof r}`=="number"?`${r}px`:r,width:typeof r=="number"?`${r}px`:r},...o?{}:{height:typeof l=="number"?`${l}px`:`${l}`,minHeight:typeof l=="number"?`${l}px`:`${l}`}}}),s=e.computed(()=>a.imagesShownCount<=5?a.imagesShownCount:5),c=e.computed(()=>a.images.length-(a.images.length<s.value?a.images.length:s.value)),u=e.computed(()=>a.images.map(n=>typeof n=="object"?{...n,thumbnail:n.thumbnail??n.src}:{src:n,thumbnail:n,alt:void 0})),d=e.computed(()=>u.value.slice(0,s.value)),h=e.computed(()=>u.value.slice(s.value,a.images.length));function y(n){return a.noRemaining?!1:(c.value&&n+1)===d.value.length}return(n,r)=>t.images.length>0||t.hasEmptyLayer?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["m-gallery m-reset-css",{"maz-rounded":!t.noRadius}]),style:e.normalizeStyle([m.value,{"--gallery-separator-color":t.separatorColor}])},[e.createElementVNode("section",p,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,(o,l)=>(e.openBlock(),e.createElementBlock("figure",{key:l,class:e.normalizeClass(["m-gallery__item !maz-my-0 maz-flex maz-flex-center",[`m-gallery__item--${l+1}`]])},[e.withDirectives(e.createElementVNode("img",{class:"m-gallery__item__image maz-flex-1",src:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",alt:o.alt,loading:"lazy"},null,8,z),[[e.unref(f.directive),{src:o.thumbnail,disabled:!t.lazy},"bg-image"],[e.unref(i.directive),{src:o.src,alt:o.alt,disabled:t.noZoom||y(l),blurOnHover:t.blur,scaleOnHover:t.scale}]]),y(l)?e.withDirectives((e.openBlock(),e.createElementBlock("div",A,[e.createElementVNode("span",b,"+"+e.toDisplayString(c.value),1)])),[[e.unref(i.directive),{src:o.src,alt:o.alt,disabled:t.noZoom,blurOnHover:!1,scaleOnHover:t.scale}]]):e.createCommentVNode("",!0)],2))),128)),t.hasEmptyLayer&&t.images.length===0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["empty-layer maz-flex maz-w-full maz-bg-color-light maz-text-normal maz-flex-center",{"maz-rounded-xl":!t.noRadius}]),style:e.normalizeStyle([m.value])},[e.createVNode(e.unref(g),{class:"maz-h-8 maz-w-8"})],6)):e.createCommentVNode("",!0)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,(o,l)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:l,class:"m-gallery__hidden"})),[[e.unref(i.directive),{src:o.src,disabled:t.noZoom}]])),128))],6)):e.createCommentVNode("",!0)}}),x=v._export_sfc(B,[["__scopeId","data-v-b484d6ae"]]);exports.default=x;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('../assets/MazGallery.BoPDBMcv.css');const e=require("vue"),i=require("../chunks/fullscreen-img.directive.CK-8DToy.cjs"),f=require("../chunks/lazy-img.directive.BeENE6S9.cjs"),v=require("../chunks/_plugin-vue_export-helper.BHFhmbuH.cjs"),p={class:"m-gallery__wrapper maz-flex maz-flex-1"},z=["alt"],A={key:0,class:"m-gallery__remaining-layer maz-flex maz-bg-overlay maz-flex-center"},b={class:"maz-text-2xl maz-text-white"},B=e.defineComponent({__name:"MazGallery",props:{images:{type:Array,default:()=>[]},imagesShownCount:{type:Number,default:5},noRemaining:{type:Boolean,default:!1},height:{type:[Number,String],default:150},noHeight:{type:Boolean,default:!1},width:{type:[Number,String],default:"100%"},noWidth:{type:Boolean,default:!1},noRadius:{type:Boolean,default:!1},noZoom:{type:Boolean,default:!1},hasEmptyLayer:{type:Boolean,default:!0},lazy:{type:Boolean,default:!0},blur:{type:Boolean,default:!0},scale:{type:Boolean,default:!0},separatorColor:{type:String,default:"transparent"}},setup(t){const a=t,g=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("../chunks/no-photography.BPChQgKp.cjs")));e.onBeforeMount(()=>{a.imagesShownCount>5&&console.warn('[MazUI](m-gallery) The maximum of "images-shown-count" is 5')});const c=e.computed(()=>{const n=a.noWidth,r=a.width,o=a.noHeight,l=a.height;return{...n?{}:{flex:`0 0 ${typeof r}`=="number"?`${r}px`:r,width:typeof r=="number"?`${r}px`:r},...o?{}:{height:typeof l=="number"?`${l}px`:`${l}`,minHeight:typeof l=="number"?`${l}px`:`${l}`}}}),s=e.computed(()=>a.imagesShownCount<=5?a.imagesShownCount:5),m=e.computed(()=>a.images.length-(a.images.length<s.value?a.images.length:s.value)),u=e.computed(()=>a.images.map(n=>typeof n=="object"?{...n,thumbnail:n.thumbnail??n.src}:{src:n,thumbnail:n,alt:void 0})),d=e.computed(()=>u.value.slice(0,s.value)),h=e.computed(()=>u.value.slice(s.value,a.images.length));function y(n){return a.noRemaining?!1:(m.value&&n+1)===d.value.length}return(n,r)=>t.images.length>0||t.hasEmptyLayer?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["m-gallery m-reset-css",{"maz-rounded":!t.noRadius}]),style:e.normalizeStyle([c.value,{"--gallery-separator-color":t.separatorColor}])},[e.createElementVNode("section",p,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,(o,l)=>(e.openBlock(),e.createElementBlock("figure",{key:l,class:e.normalizeClass(["m-gallery__item !maz-my-0 maz-flex maz-flex-center",[`m-gallery__item--${l+1}`]])},[e.withDirectives(e.createElementVNode("img",{class:"m-gallery__item__image maz-flex-1",src:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",alt:o.alt,loading:"lazy"},null,8,z),[[e.unref(f.directive),{src:o.thumbnail,disabled:!t.lazy},"bg-image"],[e.unref(i.directive),{src:o.src,alt:o.alt,disabled:t.noZoom||y(l),blurOnHover:t.blur,scaleOnHover:t.scale}]]),y(l)?e.withDirectives((e.openBlock(),e.createElementBlock("div",A,[e.createElementVNode("span",b,"+"+e.toDisplayString(m.value),1)])),[[e.unref(i.directive),{src:o.src,alt:o.alt,disabled:t.noZoom,blurOnHover:!1,scaleOnHover:t.scale}]]):e.createCommentVNode("",!0)],2))),128)),t.hasEmptyLayer&&t.images.length===0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["empty-layer maz-flex maz-w-full maz-bg-color-light maz-text-normal maz-flex-center",{"maz-rounded-xl":!t.noRadius}]),style:e.normalizeStyle([c.value])},[e.createVNode(e.unref(g),{class:"maz-h-8 maz-w-8"})],6)):e.createCommentVNode("",!0)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,(o,l)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:l,class:"m-gallery__hidden"})),[[e.unref(i.directive),{src:o.src,disabled:t.noZoom}]])),128))],6)):e.createCommentVNode("",!0)}}),x=v._export_sfc(B,[["__scopeId","data-v-9ae9c1b7"]]);exports.default=x;
2
2
  //# sourceMappingURL=MazGallery.cjs.map