maz-ui 4.0.0-alpha.3 → 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 (802) 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/arrow-top-right-on-square.PZtr8Zs0.cjs.map +1 -1
  125. package/dist/chunks/arrow-top-right-on-square.wYk3YJI_.mjs.map +1 -1
  126. package/dist/chunks/arrow-up.CDxvryQT.cjs.map +1 -1
  127. package/dist/chunks/arrow-up.HdMpMK4c.mjs.map +1 -1
  128. package/dist/chunks/banknotes.CQ9Qxg-e.mjs.map +1 -1
  129. package/dist/chunks/banknotes.CdkS5KVY.cjs.map +1 -1
  130. package/dist/chunks/check-circle.D3i-p-t3.cjs.map +1 -1
  131. package/dist/chunks/check-circle.DhFkXzgc.mjs.map +1 -1
  132. package/dist/chunks/check.B-gxQRxL.mjs.map +1 -1
  133. package/dist/chunks/check._ETzZCli.cjs.map +1 -1
  134. package/dist/chunks/chevron-double-left.C1WkQBYN.mjs.map +1 -1
  135. package/dist/chunks/chevron-double-left.D2o-BlKu.cjs.map +1 -1
  136. package/dist/chunks/chevron-down.CWWH3GZ1.mjs.map +1 -1
  137. package/dist/chunks/chevron-down.DdnENkzR.cjs.map +1 -1
  138. package/dist/chunks/chevron-left.BYUi62el.cjs.map +1 -1
  139. package/dist/chunks/chevron-left.njfuF_Vt.mjs.map +1 -1
  140. package/dist/chunks/chevron-right.B0RH9GgM.cjs.map +1 -1
  141. package/dist/chunks/chevron-right.CEEKGU2c.mjs.map +1 -1
  142. package/dist/chunks/ellipsis-horizontal.BKw73_U9.mjs.map +1 -1
  143. package/dist/chunks/ellipsis-horizontal.C28slEaT.cjs.map +1 -1
  144. package/dist/chunks/exclamation-circle.BXs0Yj0f.cjs.map +1 -1
  145. package/dist/chunks/exclamation-circle.D4z1YE7G.mjs.map +1 -1
  146. package/dist/chunks/exclamation-triangle.BtW3be9S.cjs.map +1 -1
  147. package/dist/chunks/exclamation-triangle.DiZZcE2l.mjs.map +1 -1
  148. package/dist/chunks/eye-slash.BrQSe1kT.mjs.map +1 -1
  149. package/dist/chunks/eye-slash.C65GdgwJ.cjs.map +1 -1
  150. package/dist/chunks/eye.CzqaR8eU.cjs.map +1 -1
  151. package/dist/chunks/eye.yaEU50DN.mjs.map +1 -1
  152. package/dist/chunks/{fullscreen-img.directive.CrLLYi0D.mjs → fullscreen-img.directive.CEBhPyiD.mjs} +22 -22
  153. package/dist/chunks/fullscreen-img.directive.CEBhPyiD.mjs.map +1 -0
  154. package/dist/chunks/{fullscreen-img.directive.CeREtf7H.cjs → fullscreen-img.directive.CK-8DToy.cjs} +2 -2
  155. package/dist/chunks/fullscreen-img.directive.CK-8DToy.cjs.map +1 -0
  156. package/dist/chunks/information-circle.89FseEuJ.cjs.map +1 -1
  157. package/dist/chunks/information-circle.CEsJ8VHx.mjs.map +1 -1
  158. package/dist/chunks/lazy-img.directive.BeENE6S9.cjs.map +1 -1
  159. package/dist/chunks/lazy-img.directive.DqXA0UFo.mjs.map +1 -1
  160. package/dist/chunks/link.CUxj8BQ5.cjs.map +1 -1
  161. package/dist/chunks/link.qHT4E8pY.mjs.map +1 -1
  162. package/dist/chunks/magnifying-glass.6EkSEo-G.mjs.map +1 -1
  163. package/dist/chunks/magnifying-glass.CSf_M2wG.cjs.map +1 -1
  164. package/dist/chunks/minus.B8s20I4l.cjs.map +1 -1
  165. package/dist/chunks/minus.BHEyT7J2.mjs.map +1 -1
  166. package/dist/chunks/no-photography.B6pz0xMN.mjs.map +1 -1
  167. package/dist/chunks/no-photography.BJX8HSus.mjs.map +1 -1
  168. package/dist/chunks/no-photography.BPChQgKp.cjs.map +1 -1
  169. package/dist/chunks/no-photography.CLNgmzDi.cjs.map +1 -1
  170. package/dist/chunks/no-symbol.D1DeANDx.cjs.map +1 -1
  171. package/dist/chunks/no-symbol.DqVEpOgn.mjs.map +1 -1
  172. package/dist/chunks/pencil.Cl_0Egfc.mjs.map +1 -1
  173. package/dist/chunks/pencil.TIXFeSep.cjs.map +1 -1
  174. package/dist/chunks/plus.CNCGxFPJ.mjs.map +1 -1
  175. package/dist/chunks/plus.CbUgaWqj.cjs.map +1 -1
  176. package/dist/chunks/trash.hx3p13ce.cjs.map +1 -1
  177. package/dist/chunks/trash.lmwqE3cE.mjs.map +1 -1
  178. package/dist/chunks/{utils.Bex2hM45.mjs → utils.BxNCknPj.mjs} +11 -11
  179. package/dist/chunks/utils.BxNCknPj.mjs.map +1 -0
  180. package/dist/chunks/{utils.vGzCTXH5.cjs → utils.K864VNFX.cjs} +2 -2
  181. package/dist/chunks/utils.K864VNFX.cjs.map +1 -0
  182. package/dist/chunks/x-mark.DTWA3lfG.mjs.map +1 -1
  183. package/dist/chunks/x-mark.Dz-FO7Es.cjs.map +1 -1
  184. package/dist/components/MazAccordion.cjs +1 -1
  185. package/dist/components/MazAccordion.cjs.map +1 -1
  186. package/dist/components/MazAccordion.mjs +13 -13
  187. package/dist/components/MazAccordion.mjs.map +1 -1
  188. package/dist/components/MazAnimatedCounter.cjs +1 -1
  189. package/dist/components/MazAnimatedCounter.cjs.map +1 -1
  190. package/dist/components/MazAnimatedCounter.mjs +2 -2
  191. package/dist/components/MazAnimatedCounter.mjs.map +1 -1
  192. package/dist/components/MazAnimatedText.cjs +1 -1
  193. package/dist/components/MazAnimatedText.cjs.map +1 -1
  194. package/dist/components/MazAnimatedText.mjs +11 -11
  195. package/dist/components/MazAnimatedText.mjs.map +1 -1
  196. package/dist/components/MazAvatar.cjs +1 -1
  197. package/dist/components/MazAvatar.cjs.map +1 -1
  198. package/dist/components/MazAvatar.mjs +2 -2
  199. package/dist/components/MazAvatar.mjs.map +1 -1
  200. package/dist/components/MazBadge.cjs +1 -1
  201. package/dist/components/MazBadge.mjs +2 -2
  202. package/dist/components/MazBottomSheet.cjs +1 -1
  203. package/dist/components/MazBottomSheet.cjs.map +1 -1
  204. package/dist/components/MazBottomSheet.mjs +10 -10
  205. package/dist/components/MazBottomSheet.mjs.map +1 -1
  206. package/dist/components/MazBtn.cjs +1 -1
  207. package/dist/components/MazBtn.cjs.map +1 -1
  208. package/dist/components/MazBtn.mjs +2 -2
  209. package/dist/components/MazBtn.mjs.map +1 -1
  210. package/dist/components/MazCard.cjs +1 -1
  211. package/dist/components/MazCard.cjs.map +1 -1
  212. package/dist/components/MazCard.mjs +2 -2
  213. package/dist/components/MazCard.mjs.map +1 -1
  214. package/dist/components/MazCardSpotlight.cjs +1 -1
  215. package/dist/components/MazCardSpotlight.cjs.map +1 -1
  216. package/dist/components/MazCardSpotlight.mjs +2 -2
  217. package/dist/components/MazCardSpotlight.mjs.map +1 -1
  218. package/dist/components/MazCarousel.cjs +1 -1
  219. package/dist/components/MazCarousel.cjs.map +1 -1
  220. package/dist/components/MazCarousel.mjs +2 -2
  221. package/dist/components/MazCarousel.mjs.map +1 -1
  222. package/dist/components/MazCheckbox.cjs +1 -1
  223. package/dist/components/MazCheckbox.cjs.map +1 -1
  224. package/dist/components/MazCheckbox.mjs +6 -6
  225. package/dist/components/MazCheckbox.mjs.map +1 -1
  226. package/dist/components/MazChecklist.cjs +1 -1
  227. package/dist/components/MazChecklist.cjs.map +1 -1
  228. package/dist/components/MazChecklist.mjs +3 -3
  229. package/dist/components/MazChecklist.mjs.map +1 -1
  230. package/dist/components/MazCircularProgressBar.cjs +1 -1
  231. package/dist/components/MazCircularProgressBar.cjs.map +1 -1
  232. package/dist/components/MazCircularProgressBar.mjs +2 -2
  233. package/dist/components/MazCircularProgressBar.mjs.map +1 -1
  234. package/dist/components/MazDialog.cjs +1 -1
  235. package/dist/components/MazDialog.cjs.map +1 -1
  236. package/dist/components/MazDialog.mjs +2 -2
  237. package/dist/components/MazDialog.mjs.map +1 -1
  238. package/dist/components/MazDrawer.cjs +1 -1
  239. package/dist/components/MazDrawer.cjs.map +1 -1
  240. package/dist/components/MazDrawer.mjs +8 -8
  241. package/dist/components/MazDrawer.mjs.map +1 -1
  242. package/dist/components/MazDropzone.cjs.map +1 -1
  243. package/dist/components/MazDropzone.mjs.map +1 -1
  244. package/dist/components/MazFullscreenLoader.cjs +1 -1
  245. package/dist/components/MazFullscreenLoader.cjs.map +1 -1
  246. package/dist/components/MazFullscreenLoader.mjs +2 -2
  247. package/dist/components/MazFullscreenLoader.mjs.map +1 -1
  248. package/dist/components/MazGallery.cjs +1 -1
  249. package/dist/components/MazGallery.cjs.map +1 -1
  250. package/dist/components/MazGallery.mjs +3 -3
  251. package/dist/components/MazGallery.mjs.map +1 -1
  252. package/dist/components/MazInput.cjs +1 -1
  253. package/dist/components/MazInput.cjs.map +1 -1
  254. package/dist/components/MazInput.mjs +2 -2
  255. package/dist/components/MazInput.mjs.map +1 -1
  256. package/dist/components/MazInputCode.cjs +1 -1
  257. package/dist/components/MazInputCode.cjs.map +1 -1
  258. package/dist/components/MazInputCode.mjs +5 -5
  259. package/dist/components/MazInputCode.mjs.map +1 -1
  260. package/dist/components/MazInputNumber.cjs +1 -1
  261. package/dist/components/MazInputNumber.mjs +1 -1
  262. package/dist/components/MazInputPhoneNumber.cjs +1 -1
  263. package/dist/components/MazInputPhoneNumber.mjs +1 -1
  264. package/dist/components/MazInputPrice.cjs +1 -1
  265. package/dist/components/MazInputPrice.mjs +1 -1
  266. package/dist/components/MazInputTags.cjs +1 -1
  267. package/dist/components/MazInputTags.cjs.map +1 -1
  268. package/dist/components/MazInputTags.mjs +8 -8
  269. package/dist/components/MazInputTags.mjs.map +1 -1
  270. package/dist/components/MazLazyImg.cjs +1 -1
  271. package/dist/components/MazLazyImg.cjs.map +1 -1
  272. package/dist/components/MazLazyImg.mjs +5 -5
  273. package/dist/components/MazLazyImg.mjs.map +1 -1
  274. package/dist/components/MazLink.cjs +1 -1
  275. package/dist/components/MazLink.cjs.map +1 -1
  276. package/dist/components/MazLink.mjs +2 -2
  277. package/dist/components/MazLink.mjs.map +1 -1
  278. package/dist/components/MazLoadingBar.cjs +1 -1
  279. package/dist/components/MazLoadingBar.cjs.map +1 -1
  280. package/dist/components/MazLoadingBar.mjs +4 -4
  281. package/dist/components/MazLoadingBar.mjs.map +1 -1
  282. package/dist/components/MazPagination.cjs +1 -1
  283. package/dist/components/MazPagination.cjs.map +1 -1
  284. package/dist/components/MazPagination.mjs +2 -2
  285. package/dist/components/MazPagination.mjs.map +1 -1
  286. package/dist/components/MazPicker.cjs +1 -1
  287. package/dist/components/MazPicker.mjs +1 -1
  288. package/dist/components/MazPullToRefresh.cjs +1 -1
  289. package/dist/components/MazPullToRefresh.cjs.map +1 -1
  290. package/dist/components/MazPullToRefresh.mjs +2 -2
  291. package/dist/components/MazPullToRefresh.mjs.map +1 -1
  292. package/dist/components/MazRadio.cjs +1 -1
  293. package/dist/components/MazRadio.cjs.map +1 -1
  294. package/dist/components/MazRadio.mjs +7 -7
  295. package/dist/components/MazRadio.mjs.map +1 -1
  296. package/dist/components/MazRadioButtons.cjs +1 -1
  297. package/dist/components/MazRadioButtons.cjs.map +1 -1
  298. package/dist/components/MazRadioButtons.mjs +2 -2
  299. package/dist/components/MazRadioButtons.mjs.map +1 -1
  300. package/dist/components/MazReadingProgressBar.cjs +1 -1
  301. package/dist/components/MazReadingProgressBar.cjs.map +1 -1
  302. package/dist/components/MazReadingProgressBar.mjs +7 -7
  303. package/dist/components/MazReadingProgressBar.mjs.map +1 -1
  304. package/dist/components/MazSelect.cjs +1 -1
  305. package/dist/components/MazSelect.cjs.map +1 -1
  306. package/dist/components/MazSelect.mjs +7 -7
  307. package/dist/components/MazSelect.mjs.map +1 -1
  308. package/dist/components/MazSlider.cjs +1 -1
  309. package/dist/components/MazSlider.cjs.map +1 -1
  310. package/dist/components/MazSlider.mjs +11 -11
  311. package/dist/components/MazSlider.mjs.map +1 -1
  312. package/dist/components/MazSpinner.cjs +1 -1
  313. package/dist/components/MazSpinner.mjs +2 -2
  314. package/dist/components/MazStepper.cjs +1 -1
  315. package/dist/components/MazStepper.cjs.map +1 -1
  316. package/dist/components/MazStepper.mjs +22 -22
  317. package/dist/components/MazStepper.mjs.map +1 -1
  318. package/dist/components/MazTable.cjs +1 -1
  319. package/dist/components/MazTable.mjs +3 -3
  320. package/dist/components/MazTableCell.cjs +1 -1
  321. package/dist/components/MazTableCell.cjs.map +1 -1
  322. package/dist/components/MazTableCell.mjs +7 -7
  323. package/dist/components/MazTableCell.mjs.map +1 -1
  324. package/dist/components/MazTableRow.cjs +1 -1
  325. package/dist/components/MazTableRow.cjs.map +1 -1
  326. package/dist/components/MazTableRow.mjs +7 -7
  327. package/dist/components/MazTableRow.mjs.map +1 -1
  328. package/dist/components/MazTableTitle.cjs +1 -1
  329. package/dist/components/MazTableTitle.cjs.map +1 -1
  330. package/dist/components/MazTableTitle.mjs +3 -3
  331. package/dist/components/MazTableTitle.mjs.map +1 -1
  332. package/dist/components/MazTabsBar.cjs +1 -1
  333. package/dist/components/MazTabsBar.cjs.map +1 -1
  334. package/dist/components/MazTabsBar.mjs +2 -2
  335. package/dist/components/MazTabsBar.mjs.map +1 -1
  336. package/dist/components/MazTabsContentItem.cjs +1 -1
  337. package/dist/components/MazTabsContentItem.cjs.map +1 -1
  338. package/dist/components/MazTabsContentItem.mjs +2 -2
  339. package/dist/components/MazTabsContentItem.mjs.map +1 -1
  340. package/dist/components/MazTextarea.cjs +1 -1
  341. package/dist/components/MazTextarea.cjs.map +1 -1
  342. package/dist/components/MazTextarea.mjs +6 -6
  343. package/dist/components/MazTextarea.mjs.map +1 -1
  344. package/dist/composables/useAos.cjs.map +1 -1
  345. package/dist/composables/useAos.mjs.map +1 -1
  346. package/dist/composables/useBreakpoints.cjs.map +1 -1
  347. package/dist/composables/useBreakpoints.mjs.map +1 -1
  348. package/dist/composables/useDialog.cjs.map +1 -1
  349. package/dist/composables/useDialog.mjs.map +1 -1
  350. package/dist/composables/useFormField.cjs +1 -1
  351. package/dist/composables/useFormField.cjs.map +1 -1
  352. package/dist/composables/useFormField.mjs +19 -19
  353. package/dist/composables/useFormField.mjs.map +1 -1
  354. package/dist/composables/useFormValidator.cjs +1 -1
  355. package/dist/composables/useFormValidator.cjs.map +1 -1
  356. package/dist/composables/useFormValidator.mjs +11 -11
  357. package/dist/composables/useFormValidator.mjs.map +1 -1
  358. package/dist/composables/useIdleTimeout.cjs.map +1 -1
  359. package/dist/composables/useIdleTimeout.mjs.map +1 -1
  360. package/dist/composables/useStringMatching.cjs +1 -1
  361. package/dist/composables/useStringMatching.cjs.map +1 -1
  362. package/dist/composables/useStringMatching.mjs +1 -1
  363. package/dist/composables/useStringMatching.mjs.map +1 -1
  364. package/dist/composables/useSwipe.cjs +1 -1
  365. package/dist/composables/useSwipe.cjs.map +1 -1
  366. package/dist/composables/useSwipe.mjs +3 -3
  367. package/dist/composables/useSwipe.mjs.map +1 -1
  368. package/dist/composables/useThemeHandler.cjs +1 -1
  369. package/dist/composables/useThemeHandler.cjs.map +1 -1
  370. package/dist/composables/useThemeHandler.mjs +1 -1
  371. package/dist/composables/useThemeHandler.mjs.map +1 -1
  372. package/dist/composables/useToast.cjs.map +1 -1
  373. package/dist/composables/useToast.mjs.map +1 -1
  374. package/dist/composables/useUserVisibilty.cjs.map +1 -1
  375. package/dist/composables/useUserVisibilty.mjs.map +1 -1
  376. package/dist/composables/useWait.cjs.map +1 -1
  377. package/dist/composables/useWait.mjs.map +1 -1
  378. package/dist/composables/useWindowSize.cjs +1 -1
  379. package/dist/composables/useWindowSize.cjs.map +1 -1
  380. package/dist/composables/useWindowSize.mjs +5 -5
  381. package/dist/composables/useWindowSize.mjs.map +1 -1
  382. package/dist/css/main.css +1 -1
  383. package/dist/directives/vClickOutside.cjs.map +1 -1
  384. package/dist/directives/vClickOutside.mjs.map +1 -1
  385. package/dist/directives/vClosable.cjs.map +1 -1
  386. package/dist/directives/vClosable.mjs.map +1 -1
  387. package/dist/directives/vFullscreenImg.cjs +1 -1
  388. package/dist/directives/vFullscreenImg.mjs +1 -1
  389. package/dist/directives/vLazyImg.cjs.map +1 -1
  390. package/dist/directives/vLazyImg.mjs.map +1 -1
  391. package/dist/directives/vTooltip.cjs.map +1 -1
  392. package/dist/directives/vTooltip.mjs.map +1 -1
  393. package/dist/filters/pascalCase.cjs.map +1 -1
  394. package/dist/filters/pascalCase.mjs.map +1 -1
  395. package/dist/helpers/countryCodeToUnicodeFlag.cjs.map +1 -1
  396. package/dist/helpers/countryCodeToUnicodeFlag.mjs.map +1 -1
  397. package/dist/index.cjs +1 -1
  398. package/dist/index.mjs +5 -5
  399. package/dist/nuxt/module.d.mts +1 -1
  400. package/dist/nuxt/module.d.ts +1 -1
  401. package/dist/nuxt/module.json +1 -1
  402. package/dist/nuxt/module.mjs +13 -8
  403. package/dist/nuxt/runtime/plugins/dialog.js +2 -2
  404. package/dist/plugins/aos.cjs.map +1 -1
  405. package/dist/plugins/aos.mjs.map +1 -1
  406. package/dist/plugins/dialog.cjs.map +1 -1
  407. package/dist/plugins/dialog.mjs.map +1 -1
  408. package/dist/plugins/toaster.cjs +1 -1
  409. package/dist/plugins/toaster.cjs.map +1 -1
  410. package/dist/plugins/toaster.mjs +2 -2
  411. package/dist/plugins/toaster.mjs.map +1 -1
  412. package/dist/resolvers/UnpluginVueComponentsResolver.cjs.map +1 -1
  413. package/dist/resolvers/UnpluginVueComponentsResolver.mjs.map +1 -1
  414. package/dist/types/components/MazAvatar.vue.d.ts +1 -1
  415. package/dist/types/components/MazCard.vue.d.ts +1 -1
  416. package/dist/types/components/MazDialogPromise/useMazDialogPromise.d.ts +1 -1
  417. package/dist/types/components/MazDropdown.vue.d.ts +1 -1
  418. package/dist/types/components/MazInputPhoneNumber/CountrySelector.vue.d.ts +3 -3
  419. package/dist/types/components/MazInputPhoneNumber/types.d.ts +1 -1
  420. package/dist/types/components/MazInputPhoneNumber.vue.d.ts +1 -1
  421. package/dist/types/components/MazLazyImg.vue.d.ts +1 -1
  422. package/dist/types/components/MazLink.vue.d.ts +1 -1
  423. package/dist/types/components/MazPicker/MazPickerCalendar.vue.d.ts +1 -1
  424. package/dist/types/components/MazPicker/MazPickerCalendarMonth/MazPickerCalendarGrid.vue.d.ts +1 -1
  425. package/dist/types/components/MazPicker/MazPickerCalendarMonth/MazPickerCalendarMonth.vue.d.ts +1 -1
  426. package/dist/types/components/MazPicker/MazPickerContainer.vue.d.ts +1 -1
  427. package/dist/types/components/MazPicker/MazPickerHeader.vue.d.ts +1 -1
  428. package/dist/types/components/MazPicker/MazPickerShortcuts.vue.d.ts +1 -1
  429. package/dist/types/components/MazPicker/MazPickerTime.vue.d.ts +2 -2
  430. package/dist/types/components/MazPicker/utils.d.ts +1 -1
  431. package/dist/types/components/MazSlider.vue.d.ts +1 -1
  432. package/dist/types/components/constantes.d.ts +1 -2
  433. package/dist/types/components/types.d.ts +2 -1
  434. package/dist/types/composables/useFormField.d.ts +2 -2
  435. package/dist/types/composables/useFormValidator/types.d.ts +3 -3
  436. package/dist/types/composables/useFormValidator.d.ts +3 -3
  437. package/dist/types/directives/vClickOutside.d.ts +1 -1
  438. package/dist/types/directives/vClosable.d.ts +1 -1
  439. package/dist/types/directives/vLazyImg.d.ts +2 -1
  440. package/dist/types/directives/vTooltip.d.ts +1 -1
  441. package/package.json +6 -6
  442. package/{dist/tailwindcss → tailwindcss}/tailwind.css +1 -1
  443. package/dist/assets/MazBtn.7QWd6o3M.css +0 -1
  444. package/dist/assets/MazGallery.ChuEM3_y.css +0 -1
  445. package/dist/assets/MazInput.C5uUOQLJ.css +0 -1
  446. package/dist/assets/MazInputCode.C1Mlb3p3.css +0 -1
  447. package/dist/assets/MazLink.DQ7r1i9T.css +0 -1
  448. package/dist/assets/MazLoadingBar.C6sNjytz.css +0 -1
  449. package/dist/assets/MazPicker.fY2qT4ER.css +0 -1
  450. package/dist/assets/MazPickerCalendarMonth.GACBSeof.css +0 -1
  451. package/dist/assets/MazReadingProgressBar.CbqVvC8N.css +0 -1
  452. package/dist/assets/MazSpinner.DTuz1RdS.css +0 -1
  453. package/dist/assets/MazTable.D06R_2nI.css +0 -1
  454. package/dist/assets/MazTableCell.BDmda4j7.css +0 -1
  455. package/dist/assets/MazTableRow.Copw9RJN.css +0 -1
  456. package/dist/assets/MazTableTitle.Cspgmj1g.css +0 -1
  457. package/dist/assets/PhoneInput.utJQQXVJ.css +0 -1
  458. package/dist/bin/maz.mjs +0 -2
  459. package/dist/chunks/CountrySelector.C5XZelLY.mjs.map +0 -1
  460. package/dist/chunks/CountrySelector.mFGaqpPf.cjs.map +0 -1
  461. package/dist/chunks/MazInputNumber.vue_vue_type_script_setup_true_lang.Bbod2mLd.mjs.map +0 -1
  462. package/dist/chunks/MazInputNumber.vue_vue_type_script_setup_true_lang.DiawfWBC.cjs.map +0 -1
  463. package/dist/chunks/MazInputPrice.vue_vue_type_script_setup_true_lang.C3X2lwRl.mjs.map +0 -1
  464. package/dist/chunks/MazInputPrice.vue_vue_type_script_setup_true_lang.CCatmP_L.cjs.map +0 -1
  465. package/dist/chunks/MazPicker.BZE8cw36.cjs.map +0 -1
  466. package/dist/chunks/MazPicker.DCnOkRvv.mjs.map +0 -1
  467. package/dist/chunks/MazPickerCalendar.CVZ8VoYr.cjs.map +0 -1
  468. package/dist/chunks/MazPickerCalendar.NeYLrtl-.mjs.map +0 -1
  469. package/dist/chunks/MazPickerCalendarMonth.DpvQC45k.cjs.map +0 -1
  470. package/dist/chunks/MazPickerCalendarMonth.rnaiDHFM.mjs.map +0 -1
  471. package/dist/chunks/MazPickerCalendarSwitcher.DC2wff_J.cjs.map +0 -1
  472. package/dist/chunks/MazPickerCalendarSwitcher.DFGrD6Cr.mjs.map +0 -1
  473. package/dist/chunks/MazPickerHeader.B7YY9SJI.mjs.map +0 -1
  474. package/dist/chunks/MazPickerHeader.l7NcmiGH.cjs.map +0 -1
  475. package/dist/chunks/MazPickerMonthSwitcher.CAPx3PCt.mjs.map +0 -1
  476. package/dist/chunks/MazPickerMonthSwitcher.CbplWFfL.cjs.map +0 -1
  477. package/dist/chunks/MazPickerShortcuts.Bawm0q33.mjs.map +0 -1
  478. package/dist/chunks/MazPickerShortcuts.LxFs0Y6N.cjs.map +0 -1
  479. package/dist/chunks/MazPickerTime.7cxq-Qac.cjs.map +0 -1
  480. package/dist/chunks/MazPickerTime.C27aFPPw.mjs.map +0 -1
  481. package/dist/chunks/MazPickerYearSwitcher.DMBOaMYy.mjs.map +0 -1
  482. package/dist/chunks/MazPickerYearSwitcher.Dku2IMIJ.cjs.map +0 -1
  483. package/dist/chunks/MazTable.vue_vue_type_style_index_0_scoped_4101f1d3_lang.Ctmf2NVE.cjs.map +0 -1
  484. package/dist/chunks/MazTable.vue_vue_type_style_index_0_scoped_4101f1d3_lang.Dwkx-V96.mjs.map +0 -1
  485. package/dist/chunks/PhoneInput.9GQJbL9x.mjs.map +0 -1
  486. package/dist/chunks/PhoneInput.D5DG4S60.cjs.map +0 -1
  487. package/dist/chunks/fullscreen-img.directive.CeREtf7H.cjs.map +0 -1
  488. package/dist/chunks/fullscreen-img.directive.CrLLYi0D.mjs.map +0 -1
  489. package/dist/chunks/utils.Bex2hM45.mjs.map +0 -1
  490. package/dist/chunks/utils.vGzCTXH5.cjs.map +0 -1
  491. package/dist/types/tailwindcss/tailwind.config.d.ts +0 -121
  492. package/dist/types/tailwindcss/utils/colors.d.ts +0 -1
  493. package/dist/types/tailwindcss/variables/breakpoints.d.ts +0 -15
  494. package/dist/types/tailwindcss/variables/colors.d.ts +0 -32
  495. package/dist/types/tailwindcss/variables/utilities.d.ts +0 -22
  496. package/dist/types/tailwindcss/variables/z-indexes.d.ts +0 -14
  497. /package/{dist/icons → icons}/academic-cap.svg +0 -0
  498. /package/{dist/icons → icons}/adjustments-horizontal.svg +0 -0
  499. /package/{dist/icons → icons}/adjustments-vertical.svg +0 -0
  500. /package/{dist/icons → icons}/archive-box-arrow-down.svg +0 -0
  501. /package/{dist/icons → icons}/archive-box-x-mark.svg +0 -0
  502. /package/{dist/icons → icons}/archive-box.svg +0 -0
  503. /package/{dist/icons → icons}/arrow-down-circle.svg +0 -0
  504. /package/{dist/icons → icons}/arrow-down-left.svg +0 -0
  505. /package/{dist/icons → icons}/arrow-down-on-square-stack.svg +0 -0
  506. /package/{dist/icons → icons}/arrow-down-on-square.svg +0 -0
  507. /package/{dist/icons → icons}/arrow-down-right.svg +0 -0
  508. /package/{dist/icons → icons}/arrow-down-tray.svg +0 -0
  509. /package/{dist/icons → icons}/arrow-down.svg +0 -0
  510. /package/{dist/icons → icons}/arrow-left-circle.svg +0 -0
  511. /package/{dist/icons → icons}/arrow-left-end-on-rectangle.svg +0 -0
  512. /package/{dist/icons → icons}/arrow-left-on-rectangle.svg +0 -0
  513. /package/{dist/icons → icons}/arrow-left-start-on-rectangle.svg +0 -0
  514. /package/{dist/icons → icons}/arrow-left.svg +0 -0
  515. /package/{dist/icons → icons}/arrow-long-down.svg +0 -0
  516. /package/{dist/icons → icons}/arrow-long-left.svg +0 -0
  517. /package/{dist/icons → icons}/arrow-long-right.svg +0 -0
  518. /package/{dist/icons → icons}/arrow-long-up.svg +0 -0
  519. /package/{dist/icons → icons}/arrow-path-rounded-square.svg +0 -0
  520. /package/{dist/icons → icons}/arrow-path.svg +0 -0
  521. /package/{dist/icons → icons}/arrow-right-circle.svg +0 -0
  522. /package/{dist/icons → icons}/arrow-right-end-on-rectangle.svg +0 -0
  523. /package/{dist/icons → icons}/arrow-right-on-rectangle.svg +0 -0
  524. /package/{dist/icons → icons}/arrow-right-start-on-rectangle.svg +0 -0
  525. /package/{dist/icons → icons}/arrow-right.svg +0 -0
  526. /package/{dist/icons → icons}/arrow-small-down.svg +0 -0
  527. /package/{dist/icons → icons}/arrow-small-left.svg +0 -0
  528. /package/{dist/icons → icons}/arrow-small-right.svg +0 -0
  529. /package/{dist/icons → icons}/arrow-small-up.svg +0 -0
  530. /package/{dist/icons → icons}/arrow-top-right-on-square.svg +0 -0
  531. /package/{dist/icons → icons}/arrow-trending-down.svg +0 -0
  532. /package/{dist/icons → icons}/arrow-trending-up.svg +0 -0
  533. /package/{dist/icons → icons}/arrow-up-circle.svg +0 -0
  534. /package/{dist/icons → icons}/arrow-up-left.svg +0 -0
  535. /package/{dist/icons → icons}/arrow-up-on-square-stack.svg +0 -0
  536. /package/{dist/icons → icons}/arrow-up-on-square.svg +0 -0
  537. /package/{dist/icons → icons}/arrow-up-right.svg +0 -0
  538. /package/{dist/icons → icons}/arrow-up-tray.svg +0 -0
  539. /package/{dist/icons → icons}/arrow-up.svg +0 -0
  540. /package/{dist/icons → icons}/arrow-uturn-down.svg +0 -0
  541. /package/{dist/icons → icons}/arrow-uturn-left.svg +0 -0
  542. /package/{dist/icons → icons}/arrow-uturn-right.svg +0 -0
  543. /package/{dist/icons → icons}/arrow-uturn-up.svg +0 -0
  544. /package/{dist/icons → icons}/arrows-pointing-in.svg +0 -0
  545. /package/{dist/icons → icons}/arrows-pointing-out.svg +0 -0
  546. /package/{dist/icons → icons}/arrows-right-left.svg +0 -0
  547. /package/{dist/icons → icons}/arrows-up-down.svg +0 -0
  548. /package/{dist/icons → icons}/at-symbol.svg +0 -0
  549. /package/{dist/icons → icons}/backspace.svg +0 -0
  550. /package/{dist/icons → icons}/backward.svg +0 -0
  551. /package/{dist/icons → icons}/banknotes.svg +0 -0
  552. /package/{dist/icons → icons}/bars-2.svg +0 -0
  553. /package/{dist/icons → icons}/bars-3-bottom-left.svg +0 -0
  554. /package/{dist/icons → icons}/bars-3-bottom-right.svg +0 -0
  555. /package/{dist/icons → icons}/bars-3-center-left.svg +0 -0
  556. /package/{dist/icons → icons}/bars-3.svg +0 -0
  557. /package/{dist/icons → icons}/bars-4.svg +0 -0
  558. /package/{dist/icons → icons}/bars-arrow-down.svg +0 -0
  559. /package/{dist/icons → icons}/bars-arrow-up.svg +0 -0
  560. /package/{dist/icons → icons}/battery-0.svg +0 -0
  561. /package/{dist/icons → icons}/battery-100.svg +0 -0
  562. /package/{dist/icons → icons}/battery-50.svg +0 -0
  563. /package/{dist/icons → icons}/beaker.svg +0 -0
  564. /package/{dist/icons → icons}/bell-alert.svg +0 -0
  565. /package/{dist/icons → icons}/bell-slash.svg +0 -0
  566. /package/{dist/icons → icons}/bell-snooze.svg +0 -0
  567. /package/{dist/icons → icons}/bell.svg +0 -0
  568. /package/{dist/icons → icons}/bolt-slash.svg +0 -0
  569. /package/{dist/icons → icons}/bolt.svg +0 -0
  570. /package/{dist/icons → icons}/book-open.svg +0 -0
  571. /package/{dist/icons → icons}/bookmark-slash.svg +0 -0
  572. /package/{dist/icons → icons}/bookmark-square.svg +0 -0
  573. /package/{dist/icons → icons}/bookmark.svg +0 -0
  574. /package/{dist/icons → icons}/briefcase.svg +0 -0
  575. /package/{dist/icons → icons}/bug-ant.svg +0 -0
  576. /package/{dist/icons → icons}/building-library.svg +0 -0
  577. /package/{dist/icons → icons}/building-office-2.svg +0 -0
  578. /package/{dist/icons → icons}/building-office.svg +0 -0
  579. /package/{dist/icons → icons}/building-storefront.svg +0 -0
  580. /package/{dist/icons → icons}/cake.svg +0 -0
  581. /package/{dist/icons → icons}/calculator.svg +0 -0
  582. /package/{dist/icons → icons}/calendar-days.svg +0 -0
  583. /package/{dist/icons → icons}/calendar.svg +0 -0
  584. /package/{dist/icons → icons}/camera.svg +0 -0
  585. /package/{dist/icons → icons}/chart-bar-square.svg +0 -0
  586. /package/{dist/icons → icons}/chart-bar.svg +0 -0
  587. /package/{dist/icons → icons}/chart-pie.svg +0 -0
  588. /package/{dist/icons → icons}/chat-bubble-bottom-center-text.svg +0 -0
  589. /package/{dist/icons → icons}/chat-bubble-bottom-center.svg +0 -0
  590. /package/{dist/icons → icons}/chat-bubble-left-ellipsis.svg +0 -0
  591. /package/{dist/icons → icons}/chat-bubble-left-right.svg +0 -0
  592. /package/{dist/icons → icons}/chat-bubble-left.svg +0 -0
  593. /package/{dist/icons → icons}/chat-bubble-oval-left-ellipsis.svg +0 -0
  594. /package/{dist/icons → icons}/chat-bubble-oval-left.svg +0 -0
  595. /package/{dist/icons → icons}/check-badge.svg +0 -0
  596. /package/{dist/icons → icons}/check-circle.svg +0 -0
  597. /package/{dist/icons → icons}/check.svg +0 -0
  598. /package/{dist/icons → icons}/chevron-double-down.svg +0 -0
  599. /package/{dist/icons → icons}/chevron-double-left.svg +0 -0
  600. /package/{dist/icons → icons}/chevron-double-right.svg +0 -0
  601. /package/{dist/icons → icons}/chevron-double-up.svg +0 -0
  602. /package/{dist/icons → icons}/chevron-down.svg +0 -0
  603. /package/{dist/icons → icons}/chevron-left.svg +0 -0
  604. /package/{dist/icons → icons}/chevron-right.svg +0 -0
  605. /package/{dist/icons → icons}/chevron-up-down.svg +0 -0
  606. /package/{dist/icons → icons}/chevron-up.svg +0 -0
  607. /package/{dist/icons → icons}/circle-stack.svg +0 -0
  608. /package/{dist/icons → icons}/clipboard-document-check.svg +0 -0
  609. /package/{dist/icons → icons}/clipboard-document-list.svg +0 -0
  610. /package/{dist/icons → icons}/clipboard-document.svg +0 -0
  611. /package/{dist/icons → icons}/clipboard.svg +0 -0
  612. /package/{dist/icons → icons}/clock.svg +0 -0
  613. /package/{dist/icons → icons}/cloud-arrow-down.svg +0 -0
  614. /package/{dist/icons → icons}/cloud-arrow-up.svg +0 -0
  615. /package/{dist/icons → icons}/cloud.svg +0 -0
  616. /package/{dist/icons → icons}/code-bracket-square.svg +0 -0
  617. /package/{dist/icons → icons}/code-bracket.svg +0 -0
  618. /package/{dist/icons → icons}/cog-6-tooth.svg +0 -0
  619. /package/{dist/icons → icons}/cog-8-tooth.svg +0 -0
  620. /package/{dist/icons → icons}/cog.svg +0 -0
  621. /package/{dist/icons → icons}/command-line.svg +0 -0
  622. /package/{dist/icons → icons}/computer-desktop.svg +0 -0
  623. /package/{dist/icons → icons}/cpu-chip.svg +0 -0
  624. /package/{dist/icons → icons}/credit-card.svg +0 -0
  625. /package/{dist/icons → icons}/cube-transparent.svg +0 -0
  626. /package/{dist/icons → icons}/cube.svg +0 -0
  627. /package/{dist/icons → icons}/currency-bangladeshi.svg +0 -0
  628. /package/{dist/icons → icons}/currency-dollar.svg +0 -0
  629. /package/{dist/icons → icons}/currency-euro.svg +0 -0
  630. /package/{dist/icons → icons}/currency-pound.svg +0 -0
  631. /package/{dist/icons → icons}/currency-rupee.svg +0 -0
  632. /package/{dist/icons → icons}/currency-yen.svg +0 -0
  633. /package/{dist/icons → icons}/cursor-arrow-rays.svg +0 -0
  634. /package/{dist/icons → icons}/cursor-arrow-ripple.svg +0 -0
  635. /package/{dist/icons → icons}/device-phone-mobile.svg +0 -0
  636. /package/{dist/icons → icons}/device-tablet.svg +0 -0
  637. /package/{dist/icons → icons}/document-arrow-down.svg +0 -0
  638. /package/{dist/icons → icons}/document-arrow-up.svg +0 -0
  639. /package/{dist/icons → icons}/document-chart-bar.svg +0 -0
  640. /package/{dist/icons → icons}/document-check.svg +0 -0
  641. /package/{dist/icons → icons}/document-duplicate.svg +0 -0
  642. /package/{dist/icons → icons}/document-magnifying-glass.svg +0 -0
  643. /package/{dist/icons → icons}/document-minus.svg +0 -0
  644. /package/{dist/icons → icons}/document-plus.svg +0 -0
  645. /package/{dist/icons → icons}/document-text.svg +0 -0
  646. /package/{dist/icons → icons}/document.svg +0 -0
  647. /package/{dist/icons → icons}/ellipsis-horizontal-circle.svg +0 -0
  648. /package/{dist/icons → icons}/ellipsis-horizontal.svg +0 -0
  649. /package/{dist/icons → icons}/ellipsis-vertical.svg +0 -0
  650. /package/{dist/icons → icons}/envelope-open.svg +0 -0
  651. /package/{dist/icons → icons}/envelope.svg +0 -0
  652. /package/{dist/icons → icons}/exclamation-circle.svg +0 -0
  653. /package/{dist/icons → icons}/exclamation-triangle.svg +0 -0
  654. /package/{dist/icons → icons}/eye-dropper.svg +0 -0
  655. /package/{dist/icons → icons}/eye-slash.svg +0 -0
  656. /package/{dist/icons → icons}/eye.svg +0 -0
  657. /package/{dist/icons → icons}/face-frown.svg +0 -0
  658. /package/{dist/icons → icons}/face-smile.svg +0 -0
  659. /package/{dist/icons → icons}/film.svg +0 -0
  660. /package/{dist/icons → icons}/finger-print.svg +0 -0
  661. /package/{dist/icons → icons}/fire.svg +0 -0
  662. /package/{dist/icons → icons}/flag.svg +0 -0
  663. /package/{dist/icons → icons}/folder-arrow-down.svg +0 -0
  664. /package/{dist/icons → icons}/folder-minus.svg +0 -0
  665. /package/{dist/icons → icons}/folder-open.svg +0 -0
  666. /package/{dist/icons → icons}/folder-plus.svg +0 -0
  667. /package/{dist/icons → icons}/folder.svg +0 -0
  668. /package/{dist/icons → icons}/fork.svg +0 -0
  669. /package/{dist/icons → icons}/forward.svg +0 -0
  670. /package/{dist/icons → icons}/funnel.svg +0 -0
  671. /package/{dist/icons → icons}/gif.svg +0 -0
  672. /package/{dist/icons → icons}/gift-top.svg +0 -0
  673. /package/{dist/icons → icons}/gift.svg +0 -0
  674. /package/{dist/icons → icons}/github.svg +0 -0
  675. /package/{dist/icons → icons}/globe-alt.svg +0 -0
  676. /package/{dist/icons → icons}/globe-americas.svg +0 -0
  677. /package/{dist/icons → icons}/globe-asia-australia.svg +0 -0
  678. /package/{dist/icons → icons}/globe-europe-africa.svg +0 -0
  679. /package/{dist/icons → icons}/hand-raised.svg +0 -0
  680. /package/{dist/icons → icons}/hand-thumb-down.svg +0 -0
  681. /package/{dist/icons → icons}/hand-thumb-up.svg +0 -0
  682. /package/{dist/icons → icons}/hashtag.svg +0 -0
  683. /package/{dist/icons → icons}/heart.svg +0 -0
  684. /package/{dist/icons → icons}/home-modern.svg +0 -0
  685. /package/{dist/icons → icons}/home.svg +0 -0
  686. /package/{dist/icons → icons}/identification.svg +0 -0
  687. /package/{dist/icons → icons}/inbox-arrow-down.svg +0 -0
  688. /package/{dist/icons → icons}/inbox-stack.svg +0 -0
  689. /package/{dist/icons → icons}/inbox.svg +0 -0
  690. /package/{dist/icons → icons}/information-circle.svg +0 -0
  691. /package/{dist/icons → icons}/key.svg +0 -0
  692. /package/{dist/icons → icons}/language.svg +0 -0
  693. /package/{dist/icons → icons}/lifebuoy.svg +0 -0
  694. /package/{dist/icons → icons}/light-bulb.svg +0 -0
  695. /package/{dist/icons → icons}/link.svg +0 -0
  696. /package/{dist/icons → icons}/list-bullet.svg +0 -0
  697. /package/{dist/icons → icons}/lock-closed.svg +0 -0
  698. /package/{dist/icons → icons}/lock-open.svg +0 -0
  699. /package/{dist/icons → icons}/magnifying-glass-circle.svg +0 -0
  700. /package/{dist/icons → icons}/magnifying-glass-minus.svg +0 -0
  701. /package/{dist/icons → icons}/magnifying-glass-plus.svg +0 -0
  702. /package/{dist/icons → icons}/magnifying-glass.svg +0 -0
  703. /package/{dist/icons → icons}/map-pin.svg +0 -0
  704. /package/{dist/icons → icons}/map.svg +0 -0
  705. /package/{dist/icons → icons}/megaphone.svg +0 -0
  706. /package/{dist/icons → icons}/microphone.svg +0 -0
  707. /package/{dist/icons → icons}/minus-circle.svg +0 -0
  708. /package/{dist/icons → icons}/minus-small.svg +0 -0
  709. /package/{dist/icons → icons}/minus.svg +0 -0
  710. /package/{dist/icons → icons}/moon.svg +0 -0
  711. /package/{dist/icons → icons}/musical-note.svg +0 -0
  712. /package/{dist/icons → icons}/newspaper.svg +0 -0
  713. /package/{dist/icons → icons}/no-photography.svg +0 -0
  714. /package/{dist/icons → icons}/no-symbol.svg +0 -0
  715. /package/{dist/icons → icons}/paint-brush.svg +0 -0
  716. /package/{dist/icons → icons}/paper-airplane.svg +0 -0
  717. /package/{dist/icons → icons}/paper-clip.svg +0 -0
  718. /package/{dist/icons → icons}/pause-circle.svg +0 -0
  719. /package/{dist/icons → icons}/pause.svg +0 -0
  720. /package/{dist/icons → icons}/pencil-square.svg +0 -0
  721. /package/{dist/icons → icons}/pencil.svg +0 -0
  722. /package/{dist/icons → icons}/phone-arrow-down-left.svg +0 -0
  723. /package/{dist/icons → icons}/phone-arrow-up-right.svg +0 -0
  724. /package/{dist/icons → icons}/phone-x-mark.svg +0 -0
  725. /package/{dist/icons → icons}/phone.svg +0 -0
  726. /package/{dist/icons → icons}/photo.svg +0 -0
  727. /package/{dist/icons → icons}/play-circle.svg +0 -0
  728. /package/{dist/icons → icons}/play-pause.svg +0 -0
  729. /package/{dist/icons → icons}/play.svg +0 -0
  730. /package/{dist/icons → icons}/plus-circle.svg +0 -0
  731. /package/{dist/icons → icons}/plus-small.svg +0 -0
  732. /package/{dist/icons → icons}/plus.svg +0 -0
  733. /package/{dist/icons → icons}/power.svg +0 -0
  734. /package/{dist/icons → icons}/presentation-chart-bar.svg +0 -0
  735. /package/{dist/icons → icons}/presentation-chart-line.svg +0 -0
  736. /package/{dist/icons → icons}/printer.svg +0 -0
  737. /package/{dist/icons → icons}/puzzle-piece.svg +0 -0
  738. /package/{dist/icons → icons}/qr-code.svg +0 -0
  739. /package/{dist/icons → icons}/question-mark-circle.svg +0 -0
  740. /package/{dist/icons → icons}/queue-list.svg +0 -0
  741. /package/{dist/icons → icons}/radio.svg +0 -0
  742. /package/{dist/icons → icons}/receipt-percent.svg +0 -0
  743. /package/{dist/icons → icons}/receipt-refund.svg +0 -0
  744. /package/{dist/icons → icons}/rectangle-group.svg +0 -0
  745. /package/{dist/icons → icons}/rectangle-stack.svg +0 -0
  746. /package/{dist/icons → icons}/rocket-launch.svg +0 -0
  747. /package/{dist/icons → icons}/rss.svg +0 -0
  748. /package/{dist/icons → icons}/scale.svg +0 -0
  749. /package/{dist/icons → icons}/scissors.svg +0 -0
  750. /package/{dist/icons → icons}/server-stack.svg +0 -0
  751. /package/{dist/icons → icons}/server.svg +0 -0
  752. /package/{dist/icons → icons}/share.svg +0 -0
  753. /package/{dist/icons → icons}/shield-check.svg +0 -0
  754. /package/{dist/icons → icons}/shield-exclamation.svg +0 -0
  755. /package/{dist/icons → icons}/shopping-bag.svg +0 -0
  756. /package/{dist/icons → icons}/shopping-cart.svg +0 -0
  757. /package/{dist/icons → icons}/signal-slash.svg +0 -0
  758. /package/{dist/icons → icons}/signal.svg +0 -0
  759. /package/{dist/icons → icons}/sparkles.svg +0 -0
  760. /package/{dist/icons → icons}/speaker-wave.svg +0 -0
  761. /package/{dist/icons → icons}/speaker-x-mark.svg +0 -0
  762. /package/{dist/icons → icons}/square-2-stack.svg +0 -0
  763. /package/{dist/icons → icons}/square-3-stack-3d.svg +0 -0
  764. /package/{dist/icons → icons}/squares-2x2.svg +0 -0
  765. /package/{dist/icons → icons}/squares-plus.svg +0 -0
  766. /package/{dist/icons → icons}/star-solid.svg +0 -0
  767. /package/{dist/icons → icons}/star.svg +0 -0
  768. /package/{dist/icons → icons}/stop-circle.svg +0 -0
  769. /package/{dist/icons → icons}/stop.svg +0 -0
  770. /package/{dist/icons → icons}/sun.svg +0 -0
  771. /package/{dist/icons → icons}/swatch.svg +0 -0
  772. /package/{dist/icons → icons}/table-cells.svg +0 -0
  773. /package/{dist/icons → icons}/tag.svg +0 -0
  774. /package/{dist/icons → icons}/ticket.svg +0 -0
  775. /package/{dist/icons → icons}/trash.svg +0 -0
  776. /package/{dist/icons → icons}/trophy.svg +0 -0
  777. /package/{dist/icons → icons}/truck.svg +0 -0
  778. /package/{dist/icons → icons}/tv.svg +0 -0
  779. /package/{dist/icons → icons}/user-circle.svg +0 -0
  780. /package/{dist/icons → icons}/user-group.svg +0 -0
  781. /package/{dist/icons → icons}/user-minus.svg +0 -0
  782. /package/{dist/icons → icons}/user-plus.svg +0 -0
  783. /package/{dist/icons → icons}/user.svg +0 -0
  784. /package/{dist/icons → icons}/users.svg +0 -0
  785. /package/{dist/icons → icons}/variable.svg +0 -0
  786. /package/{dist/icons → icons}/video-camera-slash.svg +0 -0
  787. /package/{dist/icons → icons}/video-camera.svg +0 -0
  788. /package/{dist/icons → icons}/view-columns.svg +0 -0
  789. /package/{dist/icons → icons}/viewfinder-circle.svg +0 -0
  790. /package/{dist/icons → icons}/wallet.svg +0 -0
  791. /package/{dist/icons → icons}/wifi.svg +0 -0
  792. /package/{dist/icons → icons}/window.svg +0 -0
  793. /package/{dist/icons → icons}/wrench-screwdriver.svg +0 -0
  794. /package/{dist/icons → icons}/wrench.svg +0 -0
  795. /package/{dist/icons → icons}/x-circle.svg +0 -0
  796. /package/{dist/icons → icons}/x-mark.svg +0 -0
  797. /package/{dist/tailwindcss → tailwindcss}/tailwind.config.ts +0 -0
  798. /package/{dist/tailwindcss → tailwindcss}/utils/colors.ts +0 -0
  799. /package/{dist/tailwindcss → tailwindcss}/variables/breakpoints.ts +0 -0
  800. /package/{dist/tailwindcss → tailwindcss}/variables/colors.ts +0 -0
  801. /package/{dist/tailwindcss → tailwindcss}/variables/utilities.ts +0 -0
  802. /package/{dist/tailwindcss → tailwindcss}/variables/z-indexes.ts +0 -0
@@ -1,11 +1,11 @@
1
- import '../assets/fullscreen-img.hjNozahA.css';var ue = Object.defineProperty;
1
+ import '../assets/fullscreen-img.Dnt1uj_5.css';var ue = Object.defineProperty;
2
2
  var ce = (l, e, s) => e in l ? ue(l, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : l[e] = s;
3
3
  var f = (l, e, s) => ce(l, typeof e != "symbol" ? e + "" : e, s);
4
4
  import { mount as me } from "../helpers/mountComponent.mjs";
5
- import { defineComponent as de, defineAsyncComponent as X, ref as u, reactive as ve, computed as j, watch as fe, onMounted as pe, onBeforeUnmount as he, openBlock as H, createElementBlock as $, withModifiers as h, withKeys as ge, createVNode as I, unref as _, createCommentVNode as Y, createElementVNode as B, normalizeClass as ye, withDirectives as we, vShow as Le } from "vue";
6
- import be from "../components/MazSpinner.mjs";
7
- import { checkAvailability as Ee } from "../helpers/checkAvailability.mjs";
8
- import { _ as Ie } from "./_plugin-vue_export-helper.CHgC5LLL.mjs";
5
+ import { defineComponent as de, defineAsyncComponent as X, ref as u, reactive as ve, computed as j, watch as fe, onMounted as pe, onBeforeUnmount as he, openBlock as H, createElementBlock as $, withModifiers as h, withKeys as ge, createVNode as b, unref as _, createCommentVNode as Y, createElementVNode as B, normalizeClass as ye, withDirectives as we, vShow as Le } from "vue";
6
+ import Ee from "../components/MazSpinner.mjs";
7
+ import { checkAvailability as Ie } from "../helpers/checkAvailability.mjs";
8
+ import { _ as be } from "./_plugin-vue_export-helper.CHgC5LLL.mjs";
9
9
  const xe = ["onKeypress"], ke = { class: "m-fullscreen-img-scroller" }, Ae = ["src", "alt"], Ce = /* @__PURE__ */ de({
10
10
  __name: "MazFullscreenImg",
11
11
  props: {
@@ -27,9 +27,9 @@ const xe = ["onKeypress"], ke = { class: "m-fullscreen-img-scroller" }, Ae = ["s
27
27
  const s = l, r = e, k = X(() => import("./x-mark.DTWA3lfG.mjs")), g = X(() => import("./chevron-left.njfuF_Vt.mjs")), A = u(!1), y = u(!1), w = u(!1), C = u(!1), c = u(!1), v = ve({
28
28
  running: !1,
29
29
  ended: !1
30
- }), z = u(s.clickedElement), G = j(() => s.clickedElement.getBoundingClientRect()), L = u(), P = u(s.src), M = u(s.alt), W = u(), a = u(), b = u(!0), J = j(() => ({
30
+ }), z = u(s.clickedElement), G = j(() => s.clickedElement.getBoundingClientRect()), L = u(), P = u(s.src), M = u(s.alt), W = u(), a = u(), E = u(!0), J = j(() => ({
31
31
  "--is-zoomed": c.value,
32
- "--invisible": b.value,
32
+ "--invisible": E.value,
33
33
  "--absolute": !c.value
34
34
  }));
35
35
  function Q() {
@@ -43,11 +43,11 @@ const xe = ["onKeypress"], ke = { class: "m-fullscreen-img-scroller" }, Ae = ["s
43
43
  },
44
44
  { immediate: !0 }
45
45
  );
46
- function E() {
46
+ function I() {
47
47
  r("before-close"), ie();
48
48
  }
49
49
  function D(t) {
50
- t.key === "Escape" && (t.preventDefault(), E()), (t.key === "ArrowLeft" || t.key === "ArrowRight") && (t.preventDefault(), O(t.key === "ArrowRight" ? "next" : "previous"));
50
+ t.key === "Escape" && (t.preventDefault(), I()), (t.key === "ArrowLeft" || t.key === "ArrowRight") && (t.preventDefault(), O(t.key === "ArrowRight" ? "next" : "previous"));
51
51
  }
52
52
  function ee() {
53
53
  document.documentElement.classList.add("--m-fullscreen-open");
@@ -67,14 +67,14 @@ const xe = ["onKeypress"], ke = { class: "m-fullscreen-img-scroller" }, Ae = ["s
67
67
  M.value = i, P.value = o ?? P.value;
68
68
  }
69
69
  function O(t) {
70
- b.value = !0;
70
+ E.value = !0;
71
71
  const n = document.querySelector(
72
72
  `.m-fullscreen-img-instance.${s.openInstanceClass}`
73
73
  );
74
74
  if (n) {
75
75
  const o = N(), i = o.indexOf(n), m = t === "next" ? i + 1 : i - 1, d = o[ne(o, m)];
76
- z.value = d, d && se(n, d), r(t), A.value = !1, y.value = !0, Ee(() => A.value === !0, () => {
77
- b.value = !1, c.value ? R() : p();
76
+ z.value = d, d && se(n, d), r(t), A.value = !1, y.value = !0, Ie(() => A.value === !0, () => {
77
+ E.value = !1, c.value ? R() : p();
78
78
  }, {
79
79
  expectedValue: !0,
80
80
  interval: 100,
@@ -95,7 +95,7 @@ const xe = ["onKeypress"], ke = { class: "m-fullscreen-img-scroller" }, Ae = ["s
95
95
  }
96
96
  function V(t) {
97
97
  var o;
98
- v.running = !0, b.value = !1;
98
+ v.running = !0, E.value = !1;
99
99
  const n = (o = a.value) == null ? void 0 : o.animate(t, {
100
100
  duration: s.animation.duration,
101
101
  easing: s.animation.easing
@@ -193,8 +193,8 @@ const xe = ["onKeypress"], ke = { class: "m-fullscreen-img-scroller" }, Ae = ["s
193
193
  role: "button",
194
194
  class: "m-fullscreen-img m-reset-css",
195
195
  tabindex: "0",
196
- onClick: h(E, ["stop"]),
197
- onKeypress: ge(h(E, ["prevent"]), ["esc"])
196
+ onClick: h(I, ["stop"]),
197
+ onKeypress: ge(h(I, ["prevent"]), ["esc"])
198
198
  }, [
199
199
  w.value && C.value ? (H(), $("button", {
200
200
  key: 0,
@@ -202,7 +202,7 @@ const xe = ["onKeypress"], ke = { class: "m-fullscreen-img-scroller" }, Ae = ["s
202
202
  class: "m-fullscreen-btn --next",
203
203
  onClick: n[0] || (n[0] = h((o) => O("next"), ["stop"]))
204
204
  }, [
205
- I(_(g), { class: "maz-rotate-180" })
205
+ b(_(g), { class: "maz-rotate-180" })
206
206
  ])) : Y("", !0),
207
207
  w.value && C.value ? (H(), $("button", {
208
208
  key: 1,
@@ -210,14 +210,14 @@ const xe = ["onKeypress"], ke = { class: "m-fullscreen-img-scroller" }, Ae = ["s
210
210
  class: "m-fullscreen-btn --previous",
211
211
  onClick: n[1] || (n[1] = h((o) => O("previous"), ["stop"]))
212
212
  }, [
213
- I(_(g))
213
+ b(_(g))
214
214
  ])) : Y("", !0),
215
215
  B("button", {
216
216
  type: "button",
217
217
  class: "m-fullscreen-btn --close",
218
- onClick: E
218
+ onClick: I
219
219
  }, [
220
- I(_(k))
220
+ b(_(k))
221
221
  ]),
222
222
  B("div", ke, [
223
223
  B("img", {
@@ -230,13 +230,13 @@ const xe = ["onKeypress"], ke = { class: "m-fullscreen-img-scroller" }, Ae = ["s
230
230
  onLoad: Q,
231
231
  onClick: n[2] || (n[2] = h((o) => t.zoom && oe(), ["stop"]))
232
232
  }, null, 42, Ae),
233
- we(I(be, { class: "m-fullscreen-img-loader" }, null, 512), [
233
+ we(b(Ee, { class: "m-fullscreen-img-loader" }, null, 512), [
234
234
  [Le, y.value]
235
235
  ])
236
236
  ])
237
237
  ], 40, xe));
238
238
  }
239
- }), ze = /* @__PURE__ */ Ie(Ce, [["__scopeId", "data-v-3b977d1e"]]), U = "m-fullscreen-is-open";
239
+ }), ze = /* @__PURE__ */ be(Ce, [["__scopeId", "data-v-9d1598d9"]]), U = "m-fullscreen-is-open";
240
240
  class Pe {
241
241
  constructor() {
242
242
  f(this, "options");
@@ -326,4 +326,4 @@ const Be = {
326
326
  export {
327
327
  Be as d
328
328
  };
329
- //# sourceMappingURL=fullscreen-img.directive.CrLLYi0D.mjs.map
329
+ //# sourceMappingURL=fullscreen-img.directive.CEBhPyiD.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fullscreen-img.directive.CEBhPyiD.mjs","sources":["../../src/directives/vFullscreenImg/MazFullscreenImg.vue","../../src/directives/vFullscreenImg/fullscreen-img.handler.ts","../../src/directives/vFullscreenImg/fullscreen-img.directive.ts"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { HTMLAttributes } from 'vue'\nimport { computed, defineAsyncComponent, onBeforeUnmount, onMounted, reactive, ref, watch } from 'vue'\nimport MazSpinner from '../../components/MazSpinner.vue'\n\nimport { checkAvailability } from '../../helpers/checkAvailability'\n\nconst props = withDefaults(defineProps<MazFullscreenImgProps>(), {\n zoom: true,\n offset: undefined,\n destroy: undefined,\n alt: undefined,\n animation: () => ({\n duration: 300,\n easing: 'ease-in-out',\n }),\n clickedElementBounds: undefined,\n openInstanceClass: 'm-fullscreen-img-instance',\n})\n\nconst emits = defineEmits(['close', 'previous', 'next', 'before-close'])\n\nconst XMark = defineAsyncComponent(() => import('../../../icons/x-mark.svg'))\nconst ChevronLeft = defineAsyncComponent(() => import('../../../icons/chevron-left.svg'))\n\nexport interface MazFullscreenImgProps {\n src: string\n clickedElementBounds?: {\n top: number\n left: number\n height: number\n width: number\n }\n offset?: number\n animation?: {\n duration?: number\n easing?: string\n }\n openInstanceClass?: string\n clickedElement: HTMLElement\n destroy?: () => void\n alt?: string | null\n zoom?: boolean\n}\n\nconst imageLoaded = ref(false)\nconst showLoader = ref(false)\nconst loadedOnce = ref(false)\nconst hasMultipleInstances = ref(false)\nconst isZoomed = ref(false)\nconst animationState = reactive({\n running: false,\n ended: false,\n})\n\nconst currentClickedElement = ref(props.clickedElement)\nconst currentClickedElementBounds = computed(() => props.clickedElement.getBoundingClientRect())\nconst isLandscapeImage = ref()\n\nconst currentSrc = ref(props.src)\nconst currentAlt = ref<string | null | undefined>(props.alt)\n\nconst FullscreenImgElement = ref<HTMLDivElement>()\nconst ImgElement = ref<HTMLImageElement>()\nconst hideImage = ref(true)\n\nconst imageZoomClasses = computed<HTMLAttributes['class']>(() => {\n return {\n '--is-zoomed': isZoomed.value,\n '--invisible': hideImage.value,\n '--absolute': !isZoomed.value,\n }\n})\n\nfunction onImageLoaded() {\n if (ImgElement.value) {\n isLandscapeImage.value = ImgElement.value?.naturalWidth > ImgElement.value?.naturalHeight\n }\n\n imageLoaded.value = true\n showLoader.value = false\n loadedOnce.value = true\n}\n\nwatch(\n loadedOnce,\n (value) => {\n if (value) {\n openFullscreen()\n }\n },\n { immediate: true },\n)\n\nfunction close() {\n emits('before-close')\n closeFullscreen()\n}\n\nfunction keydownLister(e: KeyboardEvent) {\n if (e.key === 'Escape') {\n e.preventDefault()\n close()\n }\n\n if (e.key === 'ArrowLeft' || e.key === 'ArrowRight') {\n e.preventDefault()\n nextPreviousImage(e.key === 'ArrowRight' ? 'next' : 'previous')\n }\n}\n\nfunction addClassToDocument() {\n document.documentElement.classList.add('--m-fullscreen-open')\n}\n\nfunction removeClassFromDocument() {\n document.documentElement.classList.remove('--m-fullscreen-open')\n}\n\nfunction getAllInstances(): HTMLElement[] {\n return [...document.querySelectorAll('.m-fullscreen-img-instance')] as HTMLElement[]\n}\n\nfunction getNewInstanceIndex(allInstances: HTMLElement[], newInstanceIndex: number): number {\n if (newInstanceIndex < 0) {\n return allInstances.length - 1\n }\n if (newInstanceIndex >= allInstances.length) {\n return 0\n }\n return newInstanceIndex\n}\n\nfunction useNextInstance(currentInstance: HTMLElement, nextInstance: HTMLElement) {\n currentInstance.classList.remove(props.openInstanceClass)\n nextInstance.classList.add(props.openInstanceClass)\n\n const src: string | null = nextInstance.getAttribute('data-src')\n const alt: string | null = nextInstance.getAttribute('data-alt')\n\n currentAlt.value = alt\n currentSrc.value = src ?? currentSrc.value\n}\n\nfunction nextPreviousImage(which: 'next' | 'previous'): void {\n hideImage.value = true\n\n const currentInstance: HTMLElement | null = document.querySelector(\n `.m-fullscreen-img-instance.${props.openInstanceClass}`,\n )\n\n if (currentInstance) {\n const allInstances = getAllInstances()\n const currentInstanceIndex = allInstances.indexOf(currentInstance)\n const newInstanceIndex\n = which === 'next' ? currentInstanceIndex + 1 : currentInstanceIndex - 1\n\n const nextInstance = allInstances[getNewInstanceIndex(allInstances, newInstanceIndex)]\n currentClickedElement.value = nextInstance\n\n if (nextInstance) {\n useNextInstance(currentInstance, nextInstance)\n }\n\n emits(which)\n\n imageLoaded.value = false\n showLoader.value = true\n\n checkAvailability(() => imageLoaded.value === true, () => {\n hideImage.value = false\n if (isZoomed.value) {\n setZoomStyles()\n }\n else {\n setEndAnimationStyles()\n }\n }, {\n expectedValue: true,\n interval: 100,\n maxAttempts: 50,\n })\n }\n}\n\nfunction setZoomStyles() {\n const imgElement = ImgElement.value\n\n if (!imgElement) {\n console.error('[maz-ui](vFullscreenImg) ImgElement is not defined')\n return\n }\n\n imgElement.style.removeProperty('max-width')\n imgElement.style.removeProperty('max-height')\n imgElement?.style.removeProperty('top')\n imgElement?.style.removeProperty('left')\n\n if (!isLandscapeImage.value) {\n imgElement.style.width = `100vw`\n imgElement.style.removeProperty('height')\n }\n else {\n imgElement.style.height = `100vh`\n imgElement.style.removeProperty('width')\n }\n}\n\nfunction toggleZoom() {\n if (isZoomed.value) {\n isZoomed.value = !isZoomed.value\n setEndAnimationStyles()\n }\n else {\n isZoomed.value = !isZoomed.value\n setZoomStyles()\n }\n}\n\nfunction runAnimation(frames: Keyframe[] | PropertyIndexedKeyframes) {\n animationState.running = true\n hideImage.value = false\n\n const animation = ImgElement.value?.animate(frames, {\n duration: props.animation.duration,\n easing: props.animation.easing,\n })\n\n if (!animation) {\n console.error('[maz-ui](vFullscreenImg) animation is not defined')\n animationState.running = false\n animationState.ended = true\n return\n }\n\n return animation\n}\n\nfunction getPositionsOfClikedElement(offset = props.offset ?? 0) {\n const width = currentClickedElement.value.clientWidth || 1\n const height = currentClickedElement.value.clientHeight || 1\n\n const windowWidth = window.innerWidth\n const windowHeight = window.innerHeight\n\n const scale = Math.min(\n (windowWidth - 2 * offset) / width,\n (windowHeight - 2 * offset) / height,\n )\n\n const centerX = (windowWidth - width * scale) / 2\n const centerY = (windowHeight - height * scale) / 2\n\n return {\n centerX,\n centerY,\n width,\n height,\n scale,\n }\n}\n\nfunction getAnimationFrames({ trigger }: { trigger: 'open' | 'close' }) {\n const { width, height, scale, centerX, centerY } = getPositionsOfClikedElement()\n\n const { top, left, width: clickedElementWidth, height: clickedElementHeight } = currentClickedElementBounds.value\n\n const frames = [\n {\n top: `${top}px`,\n left: `${left}px`,\n width: `${clickedElementWidth}px`,\n height: `${clickedElementHeight}px`,\n opacity: 0,\n },\n {\n top: `${centerY}px`,\n left: `${centerX}px`,\n width: `${width * scale}px`,\n height: `${height * scale}px`,\n opacity: 1,\n },\n ]\n\n return {\n frames: trigger === 'open' ? frames : frames.reverse(),\n }\n}\n\nfunction setEndAnimationStyles() {\n const { height, width, scale } = getPositionsOfClikedElement()\n\n const finalStyles = isLandscapeImage.value\n ? {\n width: `${width * scale}px`,\n maxHeight: `${height * scale}px`,\n }\n : {\n height: `${height * scale}px`,\n maxWidth: `${width * scale}px`,\n }\n\n if (!ImgElement.value) {\n console.error('[maz-ui](vFullscreenImg) ImgElement is not defined')\n return\n }\n\n if (isLandscapeImage.value) {\n ImgElement.value.style.removeProperty('height')\n ImgElement.value.style.removeProperty('maxHeight')\n }\n else {\n ImgElement.value.style.removeProperty('width')\n ImgElement.value.style.removeProperty('maxWidth')\n }\n\n Object.assign(ImgElement.value.style, finalStyles)\n}\n\nfunction openFullscreen() {\n const { frames } = getAnimationFrames({\n trigger: 'open',\n })\n\n const openAnimation = runAnimation(frames)\n\n if (!openAnimation) {\n console.error('[maz-ui](vFullscreenImg) open animation is not defined')\n setEndAnimationStyles()\n return\n }\n\n openAnimation.onfinish = () => {\n setEndAnimationStyles()\n animationState.running = false\n animationState.ended = true\n }\n}\n\nfunction closeFullscreen() {\n const { frames } = getAnimationFrames({\n trigger: 'close',\n })\n\n const closeAnimation = runAnimation(frames)\n\n function onFinish() {\n emits('close')\n FullscreenImgElement.value?.remove()\n props.destroy?.()\n animationState.running = false\n animationState.ended = true\n }\n\n if (!closeAnimation) {\n console.error('[maz-ui](vFullscreenImg) close animation is not defined')\n onFinish()\n return\n }\n\n closeAnimation.onfinish = onFinish\n}\n\nfunction onResizeWindow() {\n if (!isZoomed.value) {\n setEndAnimationStyles()\n }\n}\n\nonMounted(() => {\n showLoader.value = true\n document.addEventListener('keydown', keydownLister)\n window.addEventListener('resize', onResizeWindow)\n addClassToDocument()\n hasMultipleInstances.value = getAllInstances().length > 1\n})\n\nonBeforeUnmount(() => {\n document.removeEventListener('keydown', keydownLister)\n window.removeEventListener('resize', onResizeWindow)\n removeClassFromDocument()\n})\n</script>\n\n<template>\n <div\n ref=\"FullscreenImgElement\"\n role=\"button\"\n class=\"m-fullscreen-img m-reset-css\"\n tabindex=\"0\"\n @click.stop=\"close\"\n @keypress.esc.prevent=\"close\"\n >\n <button\n v-if=\"loadedOnce && hasMultipleInstances\"\n type=\"button\"\n class=\"m-fullscreen-btn --next\"\n @click.stop=\"nextPreviousImage('next')\"\n >\n <ChevronLeft class=\"maz-rotate-180\" />\n </button>\n <button\n v-if=\"loadedOnce && hasMultipleInstances\"\n type=\"button\"\n class=\"m-fullscreen-btn --previous\"\n @click.stop=\"nextPreviousImage('previous')\"\n >\n <ChevronLeft />\n </button>\n\n <button type=\"button\" class=\"m-fullscreen-btn --close\" @click=\"close\">\n <XMark />\n </button>\n\n <div class=\"m-fullscreen-img-scroller\">\n <!-- eslint-disable-next-line vuejs-accessibility/no-static-element-interactions, vuejs-accessibility/click-events-have-key-events -->\n <img\n ref=\"ImgElement\"\n :src=\"currentSrc\"\n :alt=\"currentAlt ?? undefined\"\n tabindex=\"0\"\n :class=\"[imageZoomClasses]\"\n @load=\"onImageLoaded\"\n @click.stop=\"zoom && toggleZoom()\"\n >\n\n <MazSpinner v-show=\"showLoader\" class=\"m-fullscreen-img-loader\" />\n </div>\n </div>\n</template>\n\n<style lang=\"postcss\">\n html.--m-fullscreen-open {\n @apply maz-h-screen maz-overflow-hidden;\n}\n</style>\n\n<style lang=\"postcss\" scoped>\n .m-fullscreen-img {\n @apply maz-fixed maz-inset-0 maz-z-default-backdrop maz-h-screen maz-w-screen maz-items-center maz-bg-overlay maz-outline-none maz-backdrop-blur;\n\n .m-fullscreen-img-scroller {\n @apply maz-flex maz-h-screen maz-w-screen maz-overflow-auto maz-flex-center;\n }\n\n img {\n @apply maz-z-2 maz-outline-none maz-cursor-zoom-in maz-object-center maz-object-contain;\n\n &.--is-zoomed {\n @apply maz-cursor-zoom-out;\n }\n\n &.--invisible {\n @apply maz-invisible;\n }\n\n &.--absolute {\n @apply maz-absolute;\n }\n }\n\n .m-fullscreen-img-loader {\n @apply maz-absolute maz-text-2xl maz-z-15;\n }\n\n .m-fullscreen-btn {\n @apply maz-absolute maz-z-15 maz-flex maz-h-20 maz-w-[7%] maz-min-w-[5em] maz-cursor-pointer maz-p-4 maz-transition-colors maz-duration-200;\n\n svg {\n @apply maz-text-3xl maz-transition-transform maz-duration-300 maz-ease-in-out;\n }\n\n &:hover {\n svg {\n @apply maz-scale-150;\n }\n }\n\n &.--close {\n @apply maz-right-0 maz-top-0 maz-items-start maz-justify-end;\n }\n\n &.--previous {\n @apply maz-left-0 maz-top-1/2 maz-h-screen maz--translate-y-1/2 maz-transform maz-items-center maz-justify-start;\n }\n\n &.--next {\n @apply maz-right-0 maz-top-1/2 maz-h-screen maz--translate-y-1/2 maz-transform maz-items-center maz-justify-end;\n }\n }\n}\n</style>\n","import type { DirectiveBinding } from 'vue'\n\nimport type { MazFullscreenImgProps } from './MazFullscreenImg.vue'\nimport { mount } from '../../helpers/mountComponent'\nimport MazFullscreenImg from './MazFullscreenImg.vue'\n\nexport interface vFullscreenImgOptions {\n disabled?: boolean\n scaleOnHover?: boolean\n blurOnHover?: boolean\n zoom?: boolean\n offset?: number\n animation?: {\n duration?: number\n easing?: string\n }\n}\n\ninterface vFullscreenImgBindingOptions extends vFullscreenImgOptions {\n src: string\n alt?: string | null\n}\n\nexport type vFullscreenImgBindingValue = string | vFullscreenImgBindingOptions | undefined\n\nexport type vFullscreenImgBinding = DirectiveBinding<vFullscreenImgBindingValue>\n\nconst STATE_OPEN_CLASS = 'm-fullscreen-is-open'\n\nexport class FullscreenImgHandler {\n private options: vFullscreenImgBindingOptions\n private defaultOptions: vFullscreenImgOptions = {\n scaleOnHover: false,\n blurOnHover: false,\n disabled: false,\n zoom: true,\n offset: 80,\n animation: {\n duration: 300,\n easing: 'ease-in-out',\n },\n }\n\n private mouseEnterListener: () => void\n private mouseLeaveListener: () => void\n private renderPreviewListener: () => void\n\n private buildOptions(\n el: HTMLElement,\n binding: vFullscreenImgBinding,\n ): vFullscreenImgBindingOptions {\n const options\n = typeof binding.value === 'object' ? binding.value : { src: binding.value, alt: undefined }\n\n const src = options?.src ?? this.getImgSrc(el)\n const alt = options?.alt ?? this.getImgAlt(el)\n\n return {\n ...this.defaultOptions,\n ...options,\n src,\n alt,\n }\n }\n\n get allInstances(): HTMLElement[] {\n return [...document.querySelectorAll('.m-fullscreen-img-instance')] as HTMLElement[]\n }\n\n private getImgSrc(el: HTMLElement) {\n const imgSrc = this.options?.src || el.getAttribute('src') || el.getAttribute('data-src')\n\n if (!imgSrc) {\n throw new Error(\n '[maz-ui](fullscreen-img) src of image must be provided by `v-fullscreen=\"\"`, `v-fullscreen=\"{ src: \"\" }\"`, `src=\"\"` or `data-src=\"\"` atributes',\n )\n }\n\n return imgSrc\n }\n\n private getImgAlt(el: HTMLElement) {\n return this.options?.alt || el.getAttribute('alt') || el.getAttribute('data-alt')\n }\n\n public create(el: HTMLElement, binding: vFullscreenImgBinding) {\n this.options = this.buildOptions(el, binding)\n\n if (this.options.disabled)\n return\n\n el.style.cursor = 'move'\n\n if (this.options.scaleOnHover || this.options.blurOnHover) {\n el.style.transition = 'all 200ms ease-in-out'\n }\n\n /**\n * Set class & data attribute to use it with previous & next functions\n */\n el.classList.add('m-fullscreen-img-instance')\n\n el.setAttribute('data-src', this.getImgSrc(el))\n\n const alt = this.getImgAlt(el)\n if (alt) {\n el.setAttribute('data-alt', alt)\n }\n\n this.mouseEnterListener = () => this.mouseEnter(el)\n this.mouseLeaveListener = () => this.mouseLeave(el)\n this.renderPreviewListener = () => this.renderPreview(el)\n\n el.addEventListener('mouseenter', this.mouseEnterListener)\n el.addEventListener('mouseleave', this.mouseLeaveListener)\n el.addEventListener('click', this.renderPreviewListener)\n }\n\n public update(el: HTMLElement, binding: vFullscreenImgBinding): void {\n this.options = this.buildOptions(el, binding)\n }\n\n public remove(el: HTMLElement): void {\n el.removeEventListener('mouseenter', this.mouseEnterListener)\n el.removeEventListener('mouseleave', this.mouseLeaveListener)\n el.removeEventListener('click', this.renderPreviewListener)\n\n el.classList.remove('m-fullscreen-img-instance')\n\n el.style.cursor = ''\n }\n\n private renderPreview(el: HTMLElement) {\n el.classList.add(STATE_OPEN_CLASS)\n\n return mount<typeof MazFullscreenImg, MazFullscreenImgProps>(MazFullscreenImg, {\n props: {\n ...this.options,\n openInstanceClass: STATE_OPEN_CLASS,\n clickedElement: el,\n clickedElementBounds: el.getBoundingClientRect(),\n },\n addDestroyInProps: true,\n })\n }\n\n private mouseLeave(el: HTMLElement): void {\n if (this.options.scaleOnHover)\n el.style.transform = ''\n if (this.options.blurOnHover)\n el.style.filter = ''\n el.style.zIndex = ''\n }\n\n private mouseEnter(el: HTMLElement): void {\n el.style.zIndex = '1'\n if (this.options.scaleOnHover)\n el.style.transform = 'scale(1.04)'\n if (this.options.blurOnHover)\n el.style.filter = 'blur(3px)'\n }\n}\n","import type { ObjectDirective } from 'vue'\nimport { FullscreenImgHandler, type vFullscreenImgBindingValue } from './fullscreen-img.handler'\n\nlet instance: FullscreenImgHandler\n\nconst directive = {\n mounted(el: HTMLElement, binding) {\n instance = new FullscreenImgHandler()\n return instance.create(el, binding)\n },\n updated(el: HTMLElement, binding) {\n return instance.update(el, binding)\n },\n unmounted(el: HTMLElement) {\n return instance.remove(el)\n },\n} satisfies ObjectDirective<HTMLElement, vFullscreenImgBindingValue>\n\nexport { directive as vFullscreenImg }\n"],"names":["props","__props","emits","__emit","XMark","defineAsyncComponent","ChevronLeft","imageLoaded","ref","showLoader","loadedOnce","hasMultipleInstances","isZoomed","animationState","reactive","currentClickedElement","currentClickedElementBounds","computed","isLandscapeImage","currentSrc","currentAlt","FullscreenImgElement","ImgElement","hideImage","imageZoomClasses","onImageLoaded","_a","_b","watch","value","openFullscreen","close","closeFullscreen","keydownLister","e","nextPreviousImage","addClassToDocument","removeClassFromDocument","getAllInstances","getNewInstanceIndex","allInstances","newInstanceIndex","useNextInstance","currentInstance","nextInstance","src","alt","which","currentInstanceIndex","checkAvailability","setZoomStyles","setEndAnimationStyles","imgElement","toggleZoom","runAnimation","frames","animation","getPositionsOfClikedElement","offset","width","height","windowWidth","windowHeight","scale","centerX","centerY","getAnimationFrames","trigger","top","left","clickedElementWidth","clickedElementHeight","finalStyles","openAnimation","closeAnimation","onFinish","onResizeWindow","onMounted","onBeforeUnmount","STATE_OPEN_CLASS","FullscreenImgHandler","__publicField","el","binding","options","imgSrc","mount","MazFullscreenImg","instance","directive"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,UAAMA,IAAQC,GAaRC,IAAQC,GAERC,IAAQC,EAAqB,MAAM,OAAO,uBAA2B,CAAC,GACtEC,IAAcD,EAAqB,MAAM,OAAO,6BAAiC,CAAC,GAsBlFE,IAAcC,EAAI,EAAK,GACvBC,IAAaD,EAAI,EAAK,GACtBE,IAAaF,EAAI,EAAK,GACtBG,IAAuBH,EAAI,EAAK,GAChCI,IAAWJ,EAAI,EAAK,GACpBK,IAAiBC,GAAS;AAAA,MAC9B,SAAS;AAAA,MACT,OAAO;AAAA,IAAA,CACR,GAEKC,IAAwBP,EAAIR,EAAM,cAAc,GAChDgB,IAA8BC,EAAS,MAAMjB,EAAM,eAAe,uBAAuB,GACzFkB,IAAmBV,EAAI,GAEvBW,IAAaX,EAAIR,EAAM,GAAG,GAC1BoB,IAAaZ,EAA+BR,EAAM,GAAG,GAErDqB,IAAuBb,EAAoB,GAC3Cc,IAAad,EAAsB,GACnCe,IAAYf,EAAI,EAAI,GAEpBgB,IAAmBP,EAAkC,OAClD;AAAA,MACL,eAAeL,EAAS;AAAA,MACxB,eAAeW,EAAU;AAAA,MACzB,cAAc,CAACX,EAAS;AAAA,IAC1B,EACD;AAED,aAASa,IAAgB;;AACvB,MAAIH,EAAW,UACbJ,EAAiB,UAAQQ,IAAAJ,EAAW,UAAX,gBAAAI,EAAkB,kBAAeC,IAAAL,EAAW,UAAX,gBAAAK,EAAkB,iBAG9EpB,EAAY,QAAQ,IACpBE,EAAW,QAAQ,IACnBC,EAAW,QAAQ;AAAA,IAAA;AAGrB,IAAAkB;AAAA,MACElB;AAAA,MACA,CAACmB,MAAU;AACT,QAAIA,KACaC,GAAA;AAAA,MAEnB;AAAA,MACA,EAAE,WAAW,GAAK;AAAA,IACpB;AAEA,aAASC,IAAQ;AACf,MAAA7B,EAAM,cAAc,GACJ8B,GAAA;AAAA,IAAA;AAGlB,aAASC,EAAcC,GAAkB;AACnC,MAAAA,EAAE,QAAQ,aACZA,EAAE,eAAe,GACXH,EAAA,KAGJG,EAAE,QAAQ,eAAeA,EAAE,QAAQ,kBACrCA,EAAE,eAAe,GACjBC,EAAkBD,EAAE,QAAQ,eAAe,SAAS,UAAU;AAAA,IAChE;AAGF,aAASE,KAAqB;AACnB,eAAA,gBAAgB,UAAU,IAAI,qBAAqB;AAAA,IAAA;AAG9D,aAASC,KAA0B;AACxB,eAAA,gBAAgB,UAAU,OAAO,qBAAqB;AAAA,IAAA;AAGjE,aAASC,IAAiC;AACxC,aAAO,CAAC,GAAG,SAAS,iBAAiB,4BAA4B,CAAC;AAAA,IAAA;AAG3D,aAAAC,GAAoBC,GAA6BC,GAAkC;AAC1F,aAAIA,IAAmB,IACdD,EAAa,SAAS,IAE3BC,KAAoBD,EAAa,SAC5B,IAEFC;AAAA,IAAA;AAGA,aAAAC,GAAgBC,GAA8BC,GAA2B;AAChE,MAAAD,EAAA,UAAU,OAAO3C,EAAM,iBAAiB,GAC3C4C,EAAA,UAAU,IAAI5C,EAAM,iBAAiB;AAE5C,YAAA6C,IAAqBD,EAAa,aAAa,UAAU,GACzDE,IAAqBF,EAAa,aAAa,UAAU;AAE/D,MAAAxB,EAAW,QAAQ0B,GACR3B,EAAA,QAAQ0B,KAAO1B,EAAW;AAAA,IAAA;AAGvC,aAASgB,EAAkBY,GAAkC;AAC3D,MAAAxB,EAAU,QAAQ;AAElB,YAAMoB,IAAsC,SAAS;AAAA,QACnD,8BAA8B3C,EAAM,iBAAiB;AAAA,MACvD;AAEA,UAAI2C,GAAiB;AACnB,cAAMH,IAAeF,EAAgB,GAC/BU,IAAuBR,EAAa,QAAQG,CAAe,GAC3DF,IACAM,MAAU,SAASC,IAAuB,IAAIA,IAAuB,GAErEJ,IAAeJ,EAAaD,GAAoBC,GAAcC,CAAgB,CAAC;AACrF,QAAA1B,EAAsB,QAAQ6B,GAE1BA,KACFF,GAAgBC,GAAiBC,CAAY,GAG/C1C,EAAM6C,CAAK,GAEXxC,EAAY,QAAQ,IACpBE,EAAW,QAAQ,IAEnBwC,GAAkB,MAAM1C,EAAY,UAAU,IAAM,MAAM;AACxD,UAAAgB,EAAU,QAAQ,IACdX,EAAS,QACGsC,EAAA,IAGQC,EAAA;AAAA,QACxB,GACC;AAAA,UACD,eAAe;AAAA,UACf,UAAU;AAAA,UACV,aAAa;AAAA,QAAA,CACd;AAAA,MAAA;AAAA,IACH;AAGF,aAASD,IAAgB;AACvB,YAAME,IAAa9B,EAAW;AAE9B,UAAI,CAAC8B,GAAY;AACf,gBAAQ,MAAM,oDAAoD;AAClE;AAAA,MAAA;AAGS,MAAAA,EAAA,MAAM,eAAe,WAAW,GAChCA,EAAA,MAAM,eAAe,YAAY,GAChCA,KAAA,QAAAA,EAAA,MAAM,eAAe,QACrBA,KAAA,QAAAA,EAAA,MAAM,eAAe,SAE5BlC,EAAiB,SAKpBkC,EAAW,MAAM,SAAS,SACfA,EAAA,MAAM,eAAe,OAAO,MALvCA,EAAW,MAAM,QAAQ,SACdA,EAAA,MAAM,eAAe,QAAQ;AAAA,IAK1C;AAGF,aAASC,KAAa;AACpB,MAAIzC,EAAS,SACFA,EAAA,QAAQ,CAACA,EAAS,OACLuC,EAAA,MAGbvC,EAAA,QAAQ,CAACA,EAAS,OACbsC,EAAA;AAAA,IAChB;AAGF,aAASI,EAAaC,GAA+C;;AACnE,MAAA1C,EAAe,UAAU,IACzBU,EAAU,QAAQ;AAElB,YAAMiC,KAAY9B,IAAAJ,EAAW,UAAX,gBAAAI,EAAkB,QAAQ6B,GAAQ;AAAA,QAClD,UAAUvD,EAAM,UAAU;AAAA,QAC1B,QAAQA,EAAM,UAAU;AAAA,MAAA;AAG1B,UAAI,CAACwD,GAAW;AACd,gBAAQ,MAAM,mDAAmD,GACjE3C,EAAe,UAAU,IACzBA,EAAe,QAAQ;AACvB;AAAA,MAAA;AAGK,aAAA2C;AAAA,IAAA;AAGT,aAASC,EAA4BC,IAAS1D,EAAM,UAAU,GAAG;AACzD,YAAA2D,IAAQ5C,EAAsB,MAAM,eAAe,GACnD6C,IAAS7C,EAAsB,MAAM,gBAAgB,GAErD8C,IAAc,OAAO,YACrBC,IAAe,OAAO,aAEtBC,IAAQ,KAAK;AAAA,SAChBF,IAAc,IAAIH,KAAUC;AAAA,SAC5BG,IAAe,IAAIJ,KAAUE;AAAA,MAChC,GAEMI,KAAWH,IAAcF,IAAQI,KAAS,GAC1CE,KAAWH,IAAeF,IAASG,KAAS;AAE3C,aAAA;AAAA,QACL,SAAAC;AAAA,QACA,SAAAC;AAAA,QACA,OAAAN;AAAA,QACA,QAAAC;AAAA,QACA,OAAAG;AAAA,MACF;AAAA,IAAA;AAGO,aAAAG,EAAmB,EAAE,SAAAC,KAA0C;AACtE,YAAM,EAAE,OAAAR,GAAO,QAAAC,GAAQ,OAAAG,GAAO,SAAAC,GAAS,SAAAC,MAAYR,EAA4B,GAEzE,EAAE,KAAAW,GAAK,MAAAC,GAAM,OAAOC,IAAqB,QAAQC,OAAyBvD,EAA4B,OAEtGuC,IAAS;AAAA,QACb;AAAA,UACE,KAAK,GAAGa,CAAG;AAAA,UACX,MAAM,GAAGC,CAAI;AAAA,UACb,OAAO,GAAGC,EAAmB;AAAA,UAC7B,QAAQ,GAAGC,EAAoB;AAAA,UAC/B,SAAS;AAAA,QACX;AAAA,QACA;AAAA,UACE,KAAK,GAAGN,CAAO;AAAA,UACf,MAAM,GAAGD,CAAO;AAAA,UAChB,OAAO,GAAGL,IAAQI,CAAK;AAAA,UACvB,QAAQ,GAAGH,IAASG,CAAK;AAAA,UACzB,SAAS;AAAA,QAAA;AAAA,MAEb;AAEO,aAAA;AAAA,QACL,QAAQI,MAAY,SAASZ,IAASA,EAAO,QAAQ;AAAA,MACvD;AAAA,IAAA;AAGF,aAASJ,IAAwB;AAC/B,YAAM,EAAE,QAAAS,GAAQ,OAAAD,GAAO,OAAAI,EAAA,IAAUN,EAA4B,GAEvDe,IAActD,EAAiB,QACjC;AAAA,QACE,OAAO,GAAGyC,IAAQI,CAAK;AAAA,QACvB,WAAW,GAAGH,IAASG,CAAK;AAAA,MAAA,IAE9B;AAAA,QACE,QAAQ,GAAGH,IAASG,CAAK;AAAA,QACzB,UAAU,GAAGJ,IAAQI,CAAK;AAAA,MAC5B;AAEA,UAAA,CAACzC,EAAW,OAAO;AACrB,gBAAQ,MAAM,oDAAoD;AAClE;AAAA,MAAA;AAGF,MAAIJ,EAAiB,SACRI,EAAA,MAAM,MAAM,eAAe,QAAQ,GACnCA,EAAA,MAAM,MAAM,eAAe,WAAW,MAGtCA,EAAA,MAAM,MAAM,eAAe,OAAO,GAClCA,EAAA,MAAM,MAAM,eAAe,UAAU,IAGlD,OAAO,OAAOA,EAAW,MAAM,OAAOkD,CAAW;AAAA,IAAA;AAGnD,aAAS1C,KAAiB;AAClB,YAAA,EAAE,QAAAyB,EAAO,IAAIW,EAAmB;AAAA,QACpC,SAAS;AAAA,MAAA,CACV,GAEKO,IAAgBnB,EAAaC,CAAM;AAEzC,UAAI,CAACkB,GAAe;AAClB,gBAAQ,MAAM,wDAAwD,GAChDtB,EAAA;AACtB;AAAA,MAAA;AAGF,MAAAsB,EAAc,WAAW,MAAM;AACP,QAAAtB,EAAA,GACtBtC,EAAe,UAAU,IACzBA,EAAe,QAAQ;AAAA,MACzB;AAAA,IAAA;AAGF,aAASmB,KAAkB;AACnB,YAAA,EAAE,QAAAuB,EAAO,IAAIW,EAAmB;AAAA,QACpC,SAAS;AAAA,MAAA,CACV,GAEKQ,IAAiBpB,EAAaC,CAAM;AAE1C,eAASoB,IAAW;;AAClB,QAAAzE,EAAM,OAAO,IACbwB,IAAAL,EAAqB,UAArB,QAAAK,EAA4B,WAC5BC,IAAA3B,EAAM,YAAN,QAAA2B,EAAA,KAAA3B,IACAa,EAAe,UAAU,IACzBA,EAAe,QAAQ;AAAA,MAAA;AAGzB,UAAI,CAAC6D,GAAgB;AACnB,gBAAQ,MAAM,yDAAyD,GAC9DC,EAAA;AACT;AAAA,MAAA;AAGF,MAAAD,EAAe,WAAWC;AAAA,IAAA;AAG5B,aAASC,IAAiB;AACpB,MAAChE,EAAS,SACUuC,EAAA;AAAA,IACxB;AAGF,WAAA0B,GAAU,MAAM;AACd,MAAApE,EAAW,QAAQ,IACV,SAAA,iBAAiB,WAAWwB,CAAa,GAC3C,OAAA,iBAAiB,UAAU2C,CAAc,GAC7BxC,GAAA,GACEzB,EAAA,QAAQ2B,EAAgB,EAAE,SAAS;AAAA,IAAA,CACzD,GAEDwC,GAAgB,MAAM;AACX,eAAA,oBAAoB,WAAW7C,CAAa,GAC9C,OAAA,oBAAoB,UAAU2C,CAAc,GAC3BvC,GAAA;AAAA,IAAA,CACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qEClWK0C,IAAmB;AAElB,MAAMC,GAAqB;AAAA,EAA3B;AACG,IAAAC,EAAA;AACA,IAAAA,EAAA,wBAAwC;AAAA,MAC9C,cAAc;AAAA,MACd,aAAa;AAAA,MACb,UAAU;AAAA,MACV,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,WAAW;AAAA,QACT,UAAU;AAAA,QACV,QAAQ;AAAA,MAAA;AAAA,IAEZ;AAEQ,IAAAA,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA;AAAA;AAAA,EAEA,aACNC,GACAC,GAC8B;AAC9B,UAAMC,IACF,OAAOD,EAAQ,SAAU,WAAWA,EAAQ,QAAQ,EAAE,KAAKA,EAAQ,OAAO,KAAK,OAAU,GAEvFtC,KAAMuC,KAAA,gBAAAA,EAAS,QAAO,KAAK,UAAUF,CAAE,GACvCpC,KAAMsC,KAAA,gBAAAA,EAAS,QAAO,KAAK,UAAUF,CAAE;AAEtC,WAAA;AAAA,MACL,GAAG,KAAK;AAAA,MACR,GAAGE;AAAA,MACH,KAAAvC;AAAA,MACA,KAAAC;AAAA,IACF;AAAA,EAAA;AAAA,EAGF,IAAI,eAA8B;AAChC,WAAO,CAAC,GAAG,SAAS,iBAAiB,4BAA4B,CAAC;AAAA,EAAA;AAAA,EAG5D,UAAUoC,GAAiB;;AAC3B,UAAAG,MAAS3D,IAAA,KAAK,YAAL,gBAAAA,EAAc,QAAOwD,EAAG,aAAa,KAAK,KAAKA,EAAG,aAAa,UAAU;AAExF,QAAI,CAACG;AACH,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAGK,WAAAA;AAAA,EAAA;AAAA,EAGD,UAAUH,GAAiB;;AAC1B,aAAAxD,IAAA,KAAK,YAAL,gBAAAA,EAAc,QAAOwD,EAAG,aAAa,KAAK,KAAKA,EAAG,aAAa,UAAU;AAAA,EAAA;AAAA,EAG3E,OAAOA,GAAiBC,GAAgC;AAG7D,QAFA,KAAK,UAAU,KAAK,aAAaD,GAAIC,CAAO,GAExC,KAAK,QAAQ;AACf;AAEF,IAAAD,EAAG,MAAM,SAAS,SAEd,KAAK,QAAQ,gBAAgB,KAAK,QAAQ,iBAC5CA,EAAG,MAAM,aAAa,0BAMrBA,EAAA,UAAU,IAAI,2BAA2B,GAE5CA,EAAG,aAAa,YAAY,KAAK,UAAUA,CAAE,CAAC;AAExC,UAAApC,IAAM,KAAK,UAAUoC,CAAE;AAC7B,IAAIpC,KACCoC,EAAA,aAAa,YAAYpC,CAAG,GAGjC,KAAK,qBAAqB,MAAM,KAAK,WAAWoC,CAAE,GAClD,KAAK,qBAAqB,MAAM,KAAK,WAAWA,CAAE,GAClD,KAAK,wBAAwB,MAAM,KAAK,cAAcA,CAAE,GAErDA,EAAA,iBAAiB,cAAc,KAAK,kBAAkB,GACtDA,EAAA,iBAAiB,cAAc,KAAK,kBAAkB,GACtDA,EAAA,iBAAiB,SAAS,KAAK,qBAAqB;AAAA,EAAA;AAAA,EAGlD,OAAOA,GAAiBC,GAAsC;AACnE,SAAK,UAAU,KAAK,aAAaD,GAAIC,CAAO;AAAA,EAAA;AAAA,EAGvC,OAAOD,GAAuB;AAChC,IAAAA,EAAA,oBAAoB,cAAc,KAAK,kBAAkB,GACzDA,EAAA,oBAAoB,cAAc,KAAK,kBAAkB,GACzDA,EAAA,oBAAoB,SAAS,KAAK,qBAAqB,GAEvDA,EAAA,UAAU,OAAO,2BAA2B,GAE/CA,EAAG,MAAM,SAAS;AAAA,EAAA;AAAA,EAGZ,cAAcA,GAAiB;AAClC,WAAAA,EAAA,UAAU,IAAIH,CAAgB,GAE1BO,GAAsDC,IAAkB;AAAA,MAC7E,OAAO;AAAA,QACL,GAAG,KAAK;AAAA,QACR,mBAAmBR;AAAA,QACnB,gBAAgBG;AAAA,QAChB,sBAAsBA,EAAG,sBAAsB;AAAA,MACjD;AAAA,MACA,mBAAmB;AAAA,IAAA,CACpB;AAAA,EAAA;AAAA,EAGK,WAAWA,GAAuB;AACxC,IAAI,KAAK,QAAQ,iBACfA,EAAG,MAAM,YAAY,KACnB,KAAK,QAAQ,gBACfA,EAAG,MAAM,SAAS,KACpBA,EAAG,MAAM,SAAS;AAAA,EAAA;AAAA,EAGZ,WAAWA,GAAuB;AACxC,IAAAA,EAAG,MAAM,SAAS,KACd,KAAK,QAAQ,iBACfA,EAAG,MAAM,YAAY,gBACnB,KAAK,QAAQ,gBACfA,EAAG,MAAM,SAAS;AAAA,EAAA;AAExB;AC9JA,IAAIM;AAEJ,MAAMC,KAAY;AAAA,EAChB,QAAQP,GAAiBC,GAAS;AAChC,WAAAK,IAAW,IAAIR,GAAqB,GAC7BQ,EAAS,OAAON,GAAIC,CAAO;AAAA,EACpC;AAAA,EACA,QAAQD,GAAiBC,GAAS;AACzB,WAAAK,EAAS,OAAON,GAAIC,CAAO;AAAA,EACpC;AAAA,EACA,UAAUD,GAAiB;AAClB,WAAAM,EAAS,OAAON,CAAE;AAAA,EAAA;AAE7B;"}
@@ -1,2 +1,2 @@
1
- "use strict";require('../assets/fullscreen-img.hjNozahA.css');var ee=Object.defineProperty;var te=(a,e,r)=>e in a?ee(a,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[e]=r;var v=(a,e,r)=>te(a,typeof e!="symbol"?e+"":e,r);const ne=require("../helpers/mountComponent.cjs"),n=require("vue"),se=require("../components/MazSpinner.cjs"),re=require("../helpers/checkAvailability.cjs"),oe=require("./_plugin-vue_export-helper.BHFhmbuH.cjs"),ie=["onKeypress"],le={class:"m-fullscreen-img-scroller"},ae=["src","alt"],ue=n.defineComponent({__name:"MazFullscreenImg",props:{src:{},clickedElementBounds:{default:void 0},offset:{default:void 0},animation:{default:()=>({duration:300,easing:"ease-in-out"})},openInstanceClass:{default:"m-fullscreen-img-instance"},clickedElement:{},destroy:{type:Function,default:void 0},alt:{default:void 0},zoom:{type:Boolean,default:!0}},emits:["close","previous","next","before-close"],setup(a,{emit:e}){const r=a,i=e,I=n.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./x-mark.Dz-FO7Es.cjs"))),h=n.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./chevron-left.BYUi62el.cjs"))),k=n.ref(!1),g=n.ref(!1),y=n.ref(!1),x=n.ref(!1),c=n.ref(!1),f=n.reactive({running:!1,ended:!1}),A=n.ref(r.clickedElement),D=n.computed(()=>r.clickedElement.getBoundingClientRect()),w=n.ref(),C=n.ref(r.src),_=n.ref(r.alt),H=n.ref(),u=n.ref(),L=n.ref(!0),R=n.computed(()=>({"--is-zoomed":c.value,"--invisible":L.value,"--absolute":!c.value}));function Z(){var t,s;u.value&&(w.value=((t=u.value)==null?void 0:t.naturalWidth)>((s=u.value)==null?void 0:s.naturalHeight)),k.value=!0,g.value=!1,y.value=!0}n.watch(y,t=>{t&&U()},{immediate:!0});function E(){i("before-close"),G()}function S(t){t.key==="Escape"&&(t.preventDefault(),E()),(t.key==="ArrowLeft"||t.key==="ArrowRight")&&(t.preventDefault(),P(t.key==="ArrowRight"?"next":"previous"))}function K(){document.documentElement.classList.add("--m-fullscreen-open")}function T(){document.documentElement.classList.remove("--m-fullscreen-open")}function F(){return[...document.querySelectorAll(".m-fullscreen-img-instance")]}function X(t,s){return s<0?t.length-1:s>=t.length?0:s}function j(t,s){t.classList.remove(r.openInstanceClass),s.classList.add(r.openInstanceClass);const o=s.getAttribute("data-src"),l=s.getAttribute("data-alt");_.value=l,C.value=o??C.value}function P(t){L.value=!0;const s=document.querySelector(`.m-fullscreen-img-instance.${r.openInstanceClass}`);if(s){const o=F(),l=o.indexOf(s),m=t==="next"?l+1:l-1,d=o[X(o,m)];A.value=d,d&&j(s,d),i(t),k.value=!1,g.value=!0,re.checkAvailability(()=>k.value===!0,()=>{L.value=!1,c.value?$():p()},{expectedValue:!0,interval:100,maxAttempts:50})}}function $(){const t=u.value;if(!t){console.error("[maz-ui](vFullscreenImg) ImgElement is not defined");return}t.style.removeProperty("max-width"),t.style.removeProperty("max-height"),t==null||t.style.removeProperty("top"),t==null||t.style.removeProperty("left"),w.value?(t.style.height="100vh",t.style.removeProperty("width")):(t.style.width="100vw",t.style.removeProperty("height"))}function Y(){c.value?(c.value=!c.value,p()):(c.value=!c.value,$())}function B(t){var o;f.running=!0,L.value=!1;const s=(o=u.value)==null?void 0:o.animate(t,{duration:r.animation.duration,easing:r.animation.easing});if(!s){console.error("[maz-ui](vFullscreenImg) animation is not defined"),f.running=!1,f.ended=!0;return}return s}function M(t=r.offset??0){const s=A.value.clientWidth||1,o=A.value.clientHeight||1,l=window.innerWidth,m=window.innerHeight,d=Math.min((l-2*t)/s,(m-2*t)/o),z=(l-s*d)/2,O=(m-o*d)/2;return{centerX:z,centerY:O,width:s,height:o,scale:d}}function N({trigger:t}){const{width:s,height:o,scale:l,centerX:m,centerY:d}=M(),{top:z,left:O,width:J,height:Q}=D.value,q=[{top:`${z}px`,left:`${O}px`,width:`${J}px`,height:`${Q}px`,opacity:0},{top:`${d}px`,left:`${m}px`,width:`${s*l}px`,height:`${o*l}px`,opacity:1}];return{frames:t==="open"?q:q.reverse()}}function p(){const{height:t,width:s,scale:o}=M(),l=w.value?{width:`${s*o}px`,maxHeight:`${t*o}px`}:{height:`${t*o}px`,maxWidth:`${s*o}px`};if(!u.value){console.error("[maz-ui](vFullscreenImg) ImgElement is not defined");return}w.value?(u.value.style.removeProperty("height"),u.value.style.removeProperty("maxHeight")):(u.value.style.removeProperty("width"),u.value.style.removeProperty("maxWidth")),Object.assign(u.value.style,l)}function U(){const{frames:t}=N({trigger:"open"}),s=B(t);if(!s){console.error("[maz-ui](vFullscreenImg) open animation is not defined"),p();return}s.onfinish=()=>{p(),f.running=!1,f.ended=!0}}function G(){const{frames:t}=N({trigger:"close"}),s=B(t);function o(){var l,m;i("close"),(l=H.value)==null||l.remove(),(m=r.destroy)==null||m.call(r),f.running=!1,f.ended=!0}if(!s){console.error("[maz-ui](vFullscreenImg) close animation is not defined"),o();return}s.onfinish=o}function V(){c.value||p()}return n.onMounted(()=>{g.value=!0,document.addEventListener("keydown",S),window.addEventListener("resize",V),K(),x.value=F().length>1}),n.onBeforeUnmount(()=>{document.removeEventListener("keydown",S),window.removeEventListener("resize",V),T()}),(t,s)=>(n.openBlock(),n.createElementBlock("div",{ref_key:"FullscreenImgElement",ref:H,role:"button",class:"m-fullscreen-img m-reset-css",tabindex:"0",onClick:n.withModifiers(E,["stop"]),onKeypress:n.withKeys(n.withModifiers(E,["prevent"]),["esc"])},[y.value&&x.value?(n.openBlock(),n.createElementBlock("button",{key:0,type:"button",class:"m-fullscreen-btn --next",onClick:s[0]||(s[0]=n.withModifiers(o=>P("next"),["stop"]))},[n.createVNode(n.unref(h),{class:"maz-rotate-180"})])):n.createCommentVNode("",!0),y.value&&x.value?(n.openBlock(),n.createElementBlock("button",{key:1,type:"button",class:"m-fullscreen-btn --previous",onClick:s[1]||(s[1]=n.withModifiers(o=>P("previous"),["stop"]))},[n.createVNode(n.unref(h))])):n.createCommentVNode("",!0),n.createElementVNode("button",{type:"button",class:"m-fullscreen-btn --close",onClick:E},[n.createVNode(n.unref(I))]),n.createElementVNode("div",le,[n.createElementVNode("img",{ref_key:"ImgElement",ref:u,src:C.value,alt:_.value??void 0,tabindex:"0",class:n.normalizeClass([R.value]),onLoad:Z,onClick:s[2]||(s[2]=n.withModifiers(o=>t.zoom&&Y(),["stop"]))},null,42,ae),n.withDirectives(n.createVNode(se.default,{class:"m-fullscreen-img-loader"},null,512),[[n.vShow,g.value]])])],40,ie))}}),ce=oe._export_sfc(ue,[["__scopeId","data-v-3b977d1e"]]),W="m-fullscreen-is-open";class me{constructor(){v(this,"options");v(this,"defaultOptions",{scaleOnHover:!1,blurOnHover:!1,disabled:!1,zoom:!0,offset:80,animation:{duration:300,easing:"ease-in-out"}});v(this,"mouseEnterListener");v(this,"mouseLeaveListener");v(this,"renderPreviewListener")}buildOptions(e,r){const i=typeof r.value=="object"?r.value:{src:r.value,alt:void 0},I=(i==null?void 0:i.src)??this.getImgSrc(e),h=(i==null?void 0:i.alt)??this.getImgAlt(e);return{...this.defaultOptions,...i,src:I,alt:h}}get allInstances(){return[...document.querySelectorAll(".m-fullscreen-img-instance")]}getImgSrc(e){var i;const r=((i=this.options)==null?void 0:i.src)||e.getAttribute("src")||e.getAttribute("data-src");if(!r)throw new Error('[maz-ui](fullscreen-img) src of image must be provided by `v-fullscreen=""`, `v-fullscreen="{ src: "" }"`, `src=""` or `data-src=""` atributes');return r}getImgAlt(e){var r;return((r=this.options)==null?void 0:r.alt)||e.getAttribute("alt")||e.getAttribute("data-alt")}create(e,r){if(this.options=this.buildOptions(e,r),this.options.disabled)return;e.style.cursor="move",(this.options.scaleOnHover||this.options.blurOnHover)&&(e.style.transition="all 200ms ease-in-out"),e.classList.add("m-fullscreen-img-instance"),e.setAttribute("data-src",this.getImgSrc(e));const i=this.getImgAlt(e);i&&e.setAttribute("data-alt",i),this.mouseEnterListener=()=>this.mouseEnter(e),this.mouseLeaveListener=()=>this.mouseLeave(e),this.renderPreviewListener=()=>this.renderPreview(e),e.addEventListener("mouseenter",this.mouseEnterListener),e.addEventListener("mouseleave",this.mouseLeaveListener),e.addEventListener("click",this.renderPreviewListener)}update(e,r){this.options=this.buildOptions(e,r)}remove(e){e.removeEventListener("mouseenter",this.mouseEnterListener),e.removeEventListener("mouseleave",this.mouseLeaveListener),e.removeEventListener("click",this.renderPreviewListener),e.classList.remove("m-fullscreen-img-instance"),e.style.cursor=""}renderPreview(e){return e.classList.add(W),ne.mount(ce,{props:{...this.options,openInstanceClass:W,clickedElement:e,clickedElementBounds:e.getBoundingClientRect()},addDestroyInProps:!0})}mouseLeave(e){this.options.scaleOnHover&&(e.style.transform=""),this.options.blurOnHover&&(e.style.filter=""),e.style.zIndex=""}mouseEnter(e){e.style.zIndex="1",this.options.scaleOnHover&&(e.style.transform="scale(1.04)"),this.options.blurOnHover&&(e.style.filter="blur(3px)")}}let b;const de={mounted(a,e){return b=new me,b.create(a,e)},updated(a,e){return b.update(a,e)},unmounted(a){return b.remove(a)}};exports.directive=de;
2
- //# sourceMappingURL=fullscreen-img.directive.CeREtf7H.cjs.map
1
+ "use strict";require('../assets/fullscreen-img.Dnt1uj_5.css');var ee=Object.defineProperty;var te=(a,e,r)=>e in a?ee(a,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[e]=r;var v=(a,e,r)=>te(a,typeof e!="symbol"?e+"":e,r);const ne=require("../helpers/mountComponent.cjs"),n=require("vue"),se=require("../components/MazSpinner.cjs"),re=require("../helpers/checkAvailability.cjs"),oe=require("./_plugin-vue_export-helper.BHFhmbuH.cjs"),ie=["onKeypress"],le={class:"m-fullscreen-img-scroller"},ae=["src","alt"],ue=n.defineComponent({__name:"MazFullscreenImg",props:{src:{},clickedElementBounds:{default:void 0},offset:{default:void 0},animation:{default:()=>({duration:300,easing:"ease-in-out"})},openInstanceClass:{default:"m-fullscreen-img-instance"},clickedElement:{},destroy:{type:Function,default:void 0},alt:{default:void 0},zoom:{type:Boolean,default:!0}},emits:["close","previous","next","before-close"],setup(a,{emit:e}){const r=a,i=e,I=n.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./x-mark.Dz-FO7Es.cjs"))),h=n.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./chevron-left.BYUi62el.cjs"))),k=n.ref(!1),g=n.ref(!1),y=n.ref(!1),x=n.ref(!1),c=n.ref(!1),f=n.reactive({running:!1,ended:!1}),A=n.ref(r.clickedElement),D=n.computed(()=>r.clickedElement.getBoundingClientRect()),w=n.ref(),C=n.ref(r.src),_=n.ref(r.alt),H=n.ref(),u=n.ref(),L=n.ref(!0),R=n.computed(()=>({"--is-zoomed":c.value,"--invisible":L.value,"--absolute":!c.value}));function Z(){var t,s;u.value&&(w.value=((t=u.value)==null?void 0:t.naturalWidth)>((s=u.value)==null?void 0:s.naturalHeight)),k.value=!0,g.value=!1,y.value=!0}n.watch(y,t=>{t&&U()},{immediate:!0});function E(){i("before-close"),G()}function S(t){t.key==="Escape"&&(t.preventDefault(),E()),(t.key==="ArrowLeft"||t.key==="ArrowRight")&&(t.preventDefault(),P(t.key==="ArrowRight"?"next":"previous"))}function K(){document.documentElement.classList.add("--m-fullscreen-open")}function T(){document.documentElement.classList.remove("--m-fullscreen-open")}function F(){return[...document.querySelectorAll(".m-fullscreen-img-instance")]}function X(t,s){return s<0?t.length-1:s>=t.length?0:s}function j(t,s){t.classList.remove(r.openInstanceClass),s.classList.add(r.openInstanceClass);const o=s.getAttribute("data-src"),l=s.getAttribute("data-alt");_.value=l,C.value=o??C.value}function P(t){L.value=!0;const s=document.querySelector(`.m-fullscreen-img-instance.${r.openInstanceClass}`);if(s){const o=F(),l=o.indexOf(s),m=t==="next"?l+1:l-1,d=o[X(o,m)];A.value=d,d&&j(s,d),i(t),k.value=!1,g.value=!0,re.checkAvailability(()=>k.value===!0,()=>{L.value=!1,c.value?$():p()},{expectedValue:!0,interval:100,maxAttempts:50})}}function $(){const t=u.value;if(!t){console.error("[maz-ui](vFullscreenImg) ImgElement is not defined");return}t.style.removeProperty("max-width"),t.style.removeProperty("max-height"),t==null||t.style.removeProperty("top"),t==null||t.style.removeProperty("left"),w.value?(t.style.height="100vh",t.style.removeProperty("width")):(t.style.width="100vw",t.style.removeProperty("height"))}function Y(){c.value?(c.value=!c.value,p()):(c.value=!c.value,$())}function B(t){var o;f.running=!0,L.value=!1;const s=(o=u.value)==null?void 0:o.animate(t,{duration:r.animation.duration,easing:r.animation.easing});if(!s){console.error("[maz-ui](vFullscreenImg) animation is not defined"),f.running=!1,f.ended=!0;return}return s}function M(t=r.offset??0){const s=A.value.clientWidth||1,o=A.value.clientHeight||1,l=window.innerWidth,m=window.innerHeight,d=Math.min((l-2*t)/s,(m-2*t)/o),z=(l-s*d)/2,O=(m-o*d)/2;return{centerX:z,centerY:O,width:s,height:o,scale:d}}function N({trigger:t}){const{width:s,height:o,scale:l,centerX:m,centerY:d}=M(),{top:z,left:O,width:J,height:Q}=D.value,q=[{top:`${z}px`,left:`${O}px`,width:`${J}px`,height:`${Q}px`,opacity:0},{top:`${d}px`,left:`${m}px`,width:`${s*l}px`,height:`${o*l}px`,opacity:1}];return{frames:t==="open"?q:q.reverse()}}function p(){const{height:t,width:s,scale:o}=M(),l=w.value?{width:`${s*o}px`,maxHeight:`${t*o}px`}:{height:`${t*o}px`,maxWidth:`${s*o}px`};if(!u.value){console.error("[maz-ui](vFullscreenImg) ImgElement is not defined");return}w.value?(u.value.style.removeProperty("height"),u.value.style.removeProperty("maxHeight")):(u.value.style.removeProperty("width"),u.value.style.removeProperty("maxWidth")),Object.assign(u.value.style,l)}function U(){const{frames:t}=N({trigger:"open"}),s=B(t);if(!s){console.error("[maz-ui](vFullscreenImg) open animation is not defined"),p();return}s.onfinish=()=>{p(),f.running=!1,f.ended=!0}}function G(){const{frames:t}=N({trigger:"close"}),s=B(t);function o(){var l,m;i("close"),(l=H.value)==null||l.remove(),(m=r.destroy)==null||m.call(r),f.running=!1,f.ended=!0}if(!s){console.error("[maz-ui](vFullscreenImg) close animation is not defined"),o();return}s.onfinish=o}function V(){c.value||p()}return n.onMounted(()=>{g.value=!0,document.addEventListener("keydown",S),window.addEventListener("resize",V),K(),x.value=F().length>1}),n.onBeforeUnmount(()=>{document.removeEventListener("keydown",S),window.removeEventListener("resize",V),T()}),(t,s)=>(n.openBlock(),n.createElementBlock("div",{ref_key:"FullscreenImgElement",ref:H,role:"button",class:"m-fullscreen-img m-reset-css",tabindex:"0",onClick:n.withModifiers(E,["stop"]),onKeypress:n.withKeys(n.withModifiers(E,["prevent"]),["esc"])},[y.value&&x.value?(n.openBlock(),n.createElementBlock("button",{key:0,type:"button",class:"m-fullscreen-btn --next",onClick:s[0]||(s[0]=n.withModifiers(o=>P("next"),["stop"]))},[n.createVNode(n.unref(h),{class:"maz-rotate-180"})])):n.createCommentVNode("",!0),y.value&&x.value?(n.openBlock(),n.createElementBlock("button",{key:1,type:"button",class:"m-fullscreen-btn --previous",onClick:s[1]||(s[1]=n.withModifiers(o=>P("previous"),["stop"]))},[n.createVNode(n.unref(h))])):n.createCommentVNode("",!0),n.createElementVNode("button",{type:"button",class:"m-fullscreen-btn --close",onClick:E},[n.createVNode(n.unref(I))]),n.createElementVNode("div",le,[n.createElementVNode("img",{ref_key:"ImgElement",ref:u,src:C.value,alt:_.value??void 0,tabindex:"0",class:n.normalizeClass([R.value]),onLoad:Z,onClick:s[2]||(s[2]=n.withModifiers(o=>t.zoom&&Y(),["stop"]))},null,42,ae),n.withDirectives(n.createVNode(se.default,{class:"m-fullscreen-img-loader"},null,512),[[n.vShow,g.value]])])],40,ie))}}),ce=oe._export_sfc(ue,[["__scopeId","data-v-9d1598d9"]]),W="m-fullscreen-is-open";class me{constructor(){v(this,"options");v(this,"defaultOptions",{scaleOnHover:!1,blurOnHover:!1,disabled:!1,zoom:!0,offset:80,animation:{duration:300,easing:"ease-in-out"}});v(this,"mouseEnterListener");v(this,"mouseLeaveListener");v(this,"renderPreviewListener")}buildOptions(e,r){const i=typeof r.value=="object"?r.value:{src:r.value,alt:void 0},I=(i==null?void 0:i.src)??this.getImgSrc(e),h=(i==null?void 0:i.alt)??this.getImgAlt(e);return{...this.defaultOptions,...i,src:I,alt:h}}get allInstances(){return[...document.querySelectorAll(".m-fullscreen-img-instance")]}getImgSrc(e){var i;const r=((i=this.options)==null?void 0:i.src)||e.getAttribute("src")||e.getAttribute("data-src");if(!r)throw new Error('[maz-ui](fullscreen-img) src of image must be provided by `v-fullscreen=""`, `v-fullscreen="{ src: "" }"`, `src=""` or `data-src=""` atributes');return r}getImgAlt(e){var r;return((r=this.options)==null?void 0:r.alt)||e.getAttribute("alt")||e.getAttribute("data-alt")}create(e,r){if(this.options=this.buildOptions(e,r),this.options.disabled)return;e.style.cursor="move",(this.options.scaleOnHover||this.options.blurOnHover)&&(e.style.transition="all 200ms ease-in-out"),e.classList.add("m-fullscreen-img-instance"),e.setAttribute("data-src",this.getImgSrc(e));const i=this.getImgAlt(e);i&&e.setAttribute("data-alt",i),this.mouseEnterListener=()=>this.mouseEnter(e),this.mouseLeaveListener=()=>this.mouseLeave(e),this.renderPreviewListener=()=>this.renderPreview(e),e.addEventListener("mouseenter",this.mouseEnterListener),e.addEventListener("mouseleave",this.mouseLeaveListener),e.addEventListener("click",this.renderPreviewListener)}update(e,r){this.options=this.buildOptions(e,r)}remove(e){e.removeEventListener("mouseenter",this.mouseEnterListener),e.removeEventListener("mouseleave",this.mouseLeaveListener),e.removeEventListener("click",this.renderPreviewListener),e.classList.remove("m-fullscreen-img-instance"),e.style.cursor=""}renderPreview(e){return e.classList.add(W),ne.mount(ce,{props:{...this.options,openInstanceClass:W,clickedElement:e,clickedElementBounds:e.getBoundingClientRect()},addDestroyInProps:!0})}mouseLeave(e){this.options.scaleOnHover&&(e.style.transform=""),this.options.blurOnHover&&(e.style.filter=""),e.style.zIndex=""}mouseEnter(e){e.style.zIndex="1",this.options.scaleOnHover&&(e.style.transform="scale(1.04)"),this.options.blurOnHover&&(e.style.filter="blur(3px)")}}let b;const de={mounted(a,e){return b=new me,b.create(a,e)},updated(a,e){return b.update(a,e)},unmounted(a){return b.remove(a)}};exports.directive=de;
2
+ //# sourceMappingURL=fullscreen-img.directive.CK-8DToy.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fullscreen-img.directive.CK-8DToy.cjs","sources":["../../src/directives/vFullscreenImg/MazFullscreenImg.vue","../../src/directives/vFullscreenImg/fullscreen-img.handler.ts","../../src/directives/vFullscreenImg/fullscreen-img.directive.ts"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { HTMLAttributes } from 'vue'\nimport { computed, defineAsyncComponent, onBeforeUnmount, onMounted, reactive, ref, watch } from 'vue'\nimport MazSpinner from '../../components/MazSpinner.vue'\n\nimport { checkAvailability } from '../../helpers/checkAvailability'\n\nconst props = withDefaults(defineProps<MazFullscreenImgProps>(), {\n zoom: true,\n offset: undefined,\n destroy: undefined,\n alt: undefined,\n animation: () => ({\n duration: 300,\n easing: 'ease-in-out',\n }),\n clickedElementBounds: undefined,\n openInstanceClass: 'm-fullscreen-img-instance',\n})\n\nconst emits = defineEmits(['close', 'previous', 'next', 'before-close'])\n\nconst XMark = defineAsyncComponent(() => import('../../../icons/x-mark.svg'))\nconst ChevronLeft = defineAsyncComponent(() => import('../../../icons/chevron-left.svg'))\n\nexport interface MazFullscreenImgProps {\n src: string\n clickedElementBounds?: {\n top: number\n left: number\n height: number\n width: number\n }\n offset?: number\n animation?: {\n duration?: number\n easing?: string\n }\n openInstanceClass?: string\n clickedElement: HTMLElement\n destroy?: () => void\n alt?: string | null\n zoom?: boolean\n}\n\nconst imageLoaded = ref(false)\nconst showLoader = ref(false)\nconst loadedOnce = ref(false)\nconst hasMultipleInstances = ref(false)\nconst isZoomed = ref(false)\nconst animationState = reactive({\n running: false,\n ended: false,\n})\n\nconst currentClickedElement = ref(props.clickedElement)\nconst currentClickedElementBounds = computed(() => props.clickedElement.getBoundingClientRect())\nconst isLandscapeImage = ref()\n\nconst currentSrc = ref(props.src)\nconst currentAlt = ref<string | null | undefined>(props.alt)\n\nconst FullscreenImgElement = ref<HTMLDivElement>()\nconst ImgElement = ref<HTMLImageElement>()\nconst hideImage = ref(true)\n\nconst imageZoomClasses = computed<HTMLAttributes['class']>(() => {\n return {\n '--is-zoomed': isZoomed.value,\n '--invisible': hideImage.value,\n '--absolute': !isZoomed.value,\n }\n})\n\nfunction onImageLoaded() {\n if (ImgElement.value) {\n isLandscapeImage.value = ImgElement.value?.naturalWidth > ImgElement.value?.naturalHeight\n }\n\n imageLoaded.value = true\n showLoader.value = false\n loadedOnce.value = true\n}\n\nwatch(\n loadedOnce,\n (value) => {\n if (value) {\n openFullscreen()\n }\n },\n { immediate: true },\n)\n\nfunction close() {\n emits('before-close')\n closeFullscreen()\n}\n\nfunction keydownLister(e: KeyboardEvent) {\n if (e.key === 'Escape') {\n e.preventDefault()\n close()\n }\n\n if (e.key === 'ArrowLeft' || e.key === 'ArrowRight') {\n e.preventDefault()\n nextPreviousImage(e.key === 'ArrowRight' ? 'next' : 'previous')\n }\n}\n\nfunction addClassToDocument() {\n document.documentElement.classList.add('--m-fullscreen-open')\n}\n\nfunction removeClassFromDocument() {\n document.documentElement.classList.remove('--m-fullscreen-open')\n}\n\nfunction getAllInstances(): HTMLElement[] {\n return [...document.querySelectorAll('.m-fullscreen-img-instance')] as HTMLElement[]\n}\n\nfunction getNewInstanceIndex(allInstances: HTMLElement[], newInstanceIndex: number): number {\n if (newInstanceIndex < 0) {\n return allInstances.length - 1\n }\n if (newInstanceIndex >= allInstances.length) {\n return 0\n }\n return newInstanceIndex\n}\n\nfunction useNextInstance(currentInstance: HTMLElement, nextInstance: HTMLElement) {\n currentInstance.classList.remove(props.openInstanceClass)\n nextInstance.classList.add(props.openInstanceClass)\n\n const src: string | null = nextInstance.getAttribute('data-src')\n const alt: string | null = nextInstance.getAttribute('data-alt')\n\n currentAlt.value = alt\n currentSrc.value = src ?? currentSrc.value\n}\n\nfunction nextPreviousImage(which: 'next' | 'previous'): void {\n hideImage.value = true\n\n const currentInstance: HTMLElement | null = document.querySelector(\n `.m-fullscreen-img-instance.${props.openInstanceClass}`,\n )\n\n if (currentInstance) {\n const allInstances = getAllInstances()\n const currentInstanceIndex = allInstances.indexOf(currentInstance)\n const newInstanceIndex\n = which === 'next' ? currentInstanceIndex + 1 : currentInstanceIndex - 1\n\n const nextInstance = allInstances[getNewInstanceIndex(allInstances, newInstanceIndex)]\n currentClickedElement.value = nextInstance\n\n if (nextInstance) {\n useNextInstance(currentInstance, nextInstance)\n }\n\n emits(which)\n\n imageLoaded.value = false\n showLoader.value = true\n\n checkAvailability(() => imageLoaded.value === true, () => {\n hideImage.value = false\n if (isZoomed.value) {\n setZoomStyles()\n }\n else {\n setEndAnimationStyles()\n }\n }, {\n expectedValue: true,\n interval: 100,\n maxAttempts: 50,\n })\n }\n}\n\nfunction setZoomStyles() {\n const imgElement = ImgElement.value\n\n if (!imgElement) {\n console.error('[maz-ui](vFullscreenImg) ImgElement is not defined')\n return\n }\n\n imgElement.style.removeProperty('max-width')\n imgElement.style.removeProperty('max-height')\n imgElement?.style.removeProperty('top')\n imgElement?.style.removeProperty('left')\n\n if (!isLandscapeImage.value) {\n imgElement.style.width = `100vw`\n imgElement.style.removeProperty('height')\n }\n else {\n imgElement.style.height = `100vh`\n imgElement.style.removeProperty('width')\n }\n}\n\nfunction toggleZoom() {\n if (isZoomed.value) {\n isZoomed.value = !isZoomed.value\n setEndAnimationStyles()\n }\n else {\n isZoomed.value = !isZoomed.value\n setZoomStyles()\n }\n}\n\nfunction runAnimation(frames: Keyframe[] | PropertyIndexedKeyframes) {\n animationState.running = true\n hideImage.value = false\n\n const animation = ImgElement.value?.animate(frames, {\n duration: props.animation.duration,\n easing: props.animation.easing,\n })\n\n if (!animation) {\n console.error('[maz-ui](vFullscreenImg) animation is not defined')\n animationState.running = false\n animationState.ended = true\n return\n }\n\n return animation\n}\n\nfunction getPositionsOfClikedElement(offset = props.offset ?? 0) {\n const width = currentClickedElement.value.clientWidth || 1\n const height = currentClickedElement.value.clientHeight || 1\n\n const windowWidth = window.innerWidth\n const windowHeight = window.innerHeight\n\n const scale = Math.min(\n (windowWidth - 2 * offset) / width,\n (windowHeight - 2 * offset) / height,\n )\n\n const centerX = (windowWidth - width * scale) / 2\n const centerY = (windowHeight - height * scale) / 2\n\n return {\n centerX,\n centerY,\n width,\n height,\n scale,\n }\n}\n\nfunction getAnimationFrames({ trigger }: { trigger: 'open' | 'close' }) {\n const { width, height, scale, centerX, centerY } = getPositionsOfClikedElement()\n\n const { top, left, width: clickedElementWidth, height: clickedElementHeight } = currentClickedElementBounds.value\n\n const frames = [\n {\n top: `${top}px`,\n left: `${left}px`,\n width: `${clickedElementWidth}px`,\n height: `${clickedElementHeight}px`,\n opacity: 0,\n },\n {\n top: `${centerY}px`,\n left: `${centerX}px`,\n width: `${width * scale}px`,\n height: `${height * scale}px`,\n opacity: 1,\n },\n ]\n\n return {\n frames: trigger === 'open' ? frames : frames.reverse(),\n }\n}\n\nfunction setEndAnimationStyles() {\n const { height, width, scale } = getPositionsOfClikedElement()\n\n const finalStyles = isLandscapeImage.value\n ? {\n width: `${width * scale}px`,\n maxHeight: `${height * scale}px`,\n }\n : {\n height: `${height * scale}px`,\n maxWidth: `${width * scale}px`,\n }\n\n if (!ImgElement.value) {\n console.error('[maz-ui](vFullscreenImg) ImgElement is not defined')\n return\n }\n\n if (isLandscapeImage.value) {\n ImgElement.value.style.removeProperty('height')\n ImgElement.value.style.removeProperty('maxHeight')\n }\n else {\n ImgElement.value.style.removeProperty('width')\n ImgElement.value.style.removeProperty('maxWidth')\n }\n\n Object.assign(ImgElement.value.style, finalStyles)\n}\n\nfunction openFullscreen() {\n const { frames } = getAnimationFrames({\n trigger: 'open',\n })\n\n const openAnimation = runAnimation(frames)\n\n if (!openAnimation) {\n console.error('[maz-ui](vFullscreenImg) open animation is not defined')\n setEndAnimationStyles()\n return\n }\n\n openAnimation.onfinish = () => {\n setEndAnimationStyles()\n animationState.running = false\n animationState.ended = true\n }\n}\n\nfunction closeFullscreen() {\n const { frames } = getAnimationFrames({\n trigger: 'close',\n })\n\n const closeAnimation = runAnimation(frames)\n\n function onFinish() {\n emits('close')\n FullscreenImgElement.value?.remove()\n props.destroy?.()\n animationState.running = false\n animationState.ended = true\n }\n\n if (!closeAnimation) {\n console.error('[maz-ui](vFullscreenImg) close animation is not defined')\n onFinish()\n return\n }\n\n closeAnimation.onfinish = onFinish\n}\n\nfunction onResizeWindow() {\n if (!isZoomed.value) {\n setEndAnimationStyles()\n }\n}\n\nonMounted(() => {\n showLoader.value = true\n document.addEventListener('keydown', keydownLister)\n window.addEventListener('resize', onResizeWindow)\n addClassToDocument()\n hasMultipleInstances.value = getAllInstances().length > 1\n})\n\nonBeforeUnmount(() => {\n document.removeEventListener('keydown', keydownLister)\n window.removeEventListener('resize', onResizeWindow)\n removeClassFromDocument()\n})\n</script>\n\n<template>\n <div\n ref=\"FullscreenImgElement\"\n role=\"button\"\n class=\"m-fullscreen-img m-reset-css\"\n tabindex=\"0\"\n @click.stop=\"close\"\n @keypress.esc.prevent=\"close\"\n >\n <button\n v-if=\"loadedOnce && hasMultipleInstances\"\n type=\"button\"\n class=\"m-fullscreen-btn --next\"\n @click.stop=\"nextPreviousImage('next')\"\n >\n <ChevronLeft class=\"maz-rotate-180\" />\n </button>\n <button\n v-if=\"loadedOnce && hasMultipleInstances\"\n type=\"button\"\n class=\"m-fullscreen-btn --previous\"\n @click.stop=\"nextPreviousImage('previous')\"\n >\n <ChevronLeft />\n </button>\n\n <button type=\"button\" class=\"m-fullscreen-btn --close\" @click=\"close\">\n <XMark />\n </button>\n\n <div class=\"m-fullscreen-img-scroller\">\n <!-- eslint-disable-next-line vuejs-accessibility/no-static-element-interactions, vuejs-accessibility/click-events-have-key-events -->\n <img\n ref=\"ImgElement\"\n :src=\"currentSrc\"\n :alt=\"currentAlt ?? undefined\"\n tabindex=\"0\"\n :class=\"[imageZoomClasses]\"\n @load=\"onImageLoaded\"\n @click.stop=\"zoom && toggleZoom()\"\n >\n\n <MazSpinner v-show=\"showLoader\" class=\"m-fullscreen-img-loader\" />\n </div>\n </div>\n</template>\n\n<style lang=\"postcss\">\n html.--m-fullscreen-open {\n @apply maz-h-screen maz-overflow-hidden;\n}\n</style>\n\n<style lang=\"postcss\" scoped>\n .m-fullscreen-img {\n @apply maz-fixed maz-inset-0 maz-z-default-backdrop maz-h-screen maz-w-screen maz-items-center maz-bg-overlay maz-outline-none maz-backdrop-blur;\n\n .m-fullscreen-img-scroller {\n @apply maz-flex maz-h-screen maz-w-screen maz-overflow-auto maz-flex-center;\n }\n\n img {\n @apply maz-z-2 maz-outline-none maz-cursor-zoom-in maz-object-center maz-object-contain;\n\n &.--is-zoomed {\n @apply maz-cursor-zoom-out;\n }\n\n &.--invisible {\n @apply maz-invisible;\n }\n\n &.--absolute {\n @apply maz-absolute;\n }\n }\n\n .m-fullscreen-img-loader {\n @apply maz-absolute maz-text-2xl maz-z-15;\n }\n\n .m-fullscreen-btn {\n @apply maz-absolute maz-z-15 maz-flex maz-h-20 maz-w-[7%] maz-min-w-[5em] maz-cursor-pointer maz-p-4 maz-transition-colors maz-duration-200;\n\n svg {\n @apply maz-text-3xl maz-transition-transform maz-duration-300 maz-ease-in-out;\n }\n\n &:hover {\n svg {\n @apply maz-scale-150;\n }\n }\n\n &.--close {\n @apply maz-right-0 maz-top-0 maz-items-start maz-justify-end;\n }\n\n &.--previous {\n @apply maz-left-0 maz-top-1/2 maz-h-screen maz--translate-y-1/2 maz-transform maz-items-center maz-justify-start;\n }\n\n &.--next {\n @apply maz-right-0 maz-top-1/2 maz-h-screen maz--translate-y-1/2 maz-transform maz-items-center maz-justify-end;\n }\n }\n}\n</style>\n","import type { DirectiveBinding } from 'vue'\n\nimport type { MazFullscreenImgProps } from './MazFullscreenImg.vue'\nimport { mount } from '../../helpers/mountComponent'\nimport MazFullscreenImg from './MazFullscreenImg.vue'\n\nexport interface vFullscreenImgOptions {\n disabled?: boolean\n scaleOnHover?: boolean\n blurOnHover?: boolean\n zoom?: boolean\n offset?: number\n animation?: {\n duration?: number\n easing?: string\n }\n}\n\ninterface vFullscreenImgBindingOptions extends vFullscreenImgOptions {\n src: string\n alt?: string | null\n}\n\nexport type vFullscreenImgBindingValue = string | vFullscreenImgBindingOptions | undefined\n\nexport type vFullscreenImgBinding = DirectiveBinding<vFullscreenImgBindingValue>\n\nconst STATE_OPEN_CLASS = 'm-fullscreen-is-open'\n\nexport class FullscreenImgHandler {\n private options: vFullscreenImgBindingOptions\n private defaultOptions: vFullscreenImgOptions = {\n scaleOnHover: false,\n blurOnHover: false,\n disabled: false,\n zoom: true,\n offset: 80,\n animation: {\n duration: 300,\n easing: 'ease-in-out',\n },\n }\n\n private mouseEnterListener: () => void\n private mouseLeaveListener: () => void\n private renderPreviewListener: () => void\n\n private buildOptions(\n el: HTMLElement,\n binding: vFullscreenImgBinding,\n ): vFullscreenImgBindingOptions {\n const options\n = typeof binding.value === 'object' ? binding.value : { src: binding.value, alt: undefined }\n\n const src = options?.src ?? this.getImgSrc(el)\n const alt = options?.alt ?? this.getImgAlt(el)\n\n return {\n ...this.defaultOptions,\n ...options,\n src,\n alt,\n }\n }\n\n get allInstances(): HTMLElement[] {\n return [...document.querySelectorAll('.m-fullscreen-img-instance')] as HTMLElement[]\n }\n\n private getImgSrc(el: HTMLElement) {\n const imgSrc = this.options?.src || el.getAttribute('src') || el.getAttribute('data-src')\n\n if (!imgSrc) {\n throw new Error(\n '[maz-ui](fullscreen-img) src of image must be provided by `v-fullscreen=\"\"`, `v-fullscreen=\"{ src: \"\" }\"`, `src=\"\"` or `data-src=\"\"` atributes',\n )\n }\n\n return imgSrc\n }\n\n private getImgAlt(el: HTMLElement) {\n return this.options?.alt || el.getAttribute('alt') || el.getAttribute('data-alt')\n }\n\n public create(el: HTMLElement, binding: vFullscreenImgBinding) {\n this.options = this.buildOptions(el, binding)\n\n if (this.options.disabled)\n return\n\n el.style.cursor = 'move'\n\n if (this.options.scaleOnHover || this.options.blurOnHover) {\n el.style.transition = 'all 200ms ease-in-out'\n }\n\n /**\n * Set class & data attribute to use it with previous & next functions\n */\n el.classList.add('m-fullscreen-img-instance')\n\n el.setAttribute('data-src', this.getImgSrc(el))\n\n const alt = this.getImgAlt(el)\n if (alt) {\n el.setAttribute('data-alt', alt)\n }\n\n this.mouseEnterListener = () => this.mouseEnter(el)\n this.mouseLeaveListener = () => this.mouseLeave(el)\n this.renderPreviewListener = () => this.renderPreview(el)\n\n el.addEventListener('mouseenter', this.mouseEnterListener)\n el.addEventListener('mouseleave', this.mouseLeaveListener)\n el.addEventListener('click', this.renderPreviewListener)\n }\n\n public update(el: HTMLElement, binding: vFullscreenImgBinding): void {\n this.options = this.buildOptions(el, binding)\n }\n\n public remove(el: HTMLElement): void {\n el.removeEventListener('mouseenter', this.mouseEnterListener)\n el.removeEventListener('mouseleave', this.mouseLeaveListener)\n el.removeEventListener('click', this.renderPreviewListener)\n\n el.classList.remove('m-fullscreen-img-instance')\n\n el.style.cursor = ''\n }\n\n private renderPreview(el: HTMLElement) {\n el.classList.add(STATE_OPEN_CLASS)\n\n return mount<typeof MazFullscreenImg, MazFullscreenImgProps>(MazFullscreenImg, {\n props: {\n ...this.options,\n openInstanceClass: STATE_OPEN_CLASS,\n clickedElement: el,\n clickedElementBounds: el.getBoundingClientRect(),\n },\n addDestroyInProps: true,\n })\n }\n\n private mouseLeave(el: HTMLElement): void {\n if (this.options.scaleOnHover)\n el.style.transform = ''\n if (this.options.blurOnHover)\n el.style.filter = ''\n el.style.zIndex = ''\n }\n\n private mouseEnter(el: HTMLElement): void {\n el.style.zIndex = '1'\n if (this.options.scaleOnHover)\n el.style.transform = 'scale(1.04)'\n if (this.options.blurOnHover)\n el.style.filter = 'blur(3px)'\n }\n}\n","import type { ObjectDirective } from 'vue'\nimport { FullscreenImgHandler, type vFullscreenImgBindingValue } from './fullscreen-img.handler'\n\nlet instance: FullscreenImgHandler\n\nconst directive = {\n mounted(el: HTMLElement, binding) {\n instance = new FullscreenImgHandler()\n return instance.create(el, binding)\n },\n updated(el: HTMLElement, binding) {\n return instance.update(el, binding)\n },\n unmounted(el: HTMLElement) {\n return instance.remove(el)\n },\n} satisfies ObjectDirective<HTMLElement, vFullscreenImgBindingValue>\n\nexport { directive as vFullscreenImg }\n"],"names":["props","__props","emits","__emit","XMark","defineAsyncComponent","ChevronLeft","imageLoaded","ref","showLoader","loadedOnce","hasMultipleInstances","isZoomed","animationState","reactive","currentClickedElement","currentClickedElementBounds","computed","isLandscapeImage","currentSrc","currentAlt","FullscreenImgElement","ImgElement","hideImage","imageZoomClasses","onImageLoaded","_a","_b","watch","value","openFullscreen","close","closeFullscreen","keydownLister","e","nextPreviousImage","addClassToDocument","removeClassFromDocument","getAllInstances","getNewInstanceIndex","allInstances","newInstanceIndex","useNextInstance","currentInstance","nextInstance","src","alt","which","currentInstanceIndex","checkAvailability","setZoomStyles","setEndAnimationStyles","imgElement","toggleZoom","runAnimation","frames","animation","getPositionsOfClikedElement","offset","width","height","windowWidth","windowHeight","scale","centerX","centerY","getAnimationFrames","trigger","top","left","clickedElementWidth","clickedElementHeight","finalStyles","openAnimation","closeAnimation","onFinish","onResizeWindow","onMounted","onBeforeUnmount","STATE_OPEN_CLASS","FullscreenImgHandler","__publicField","el","binding","options","imgSrc","mount","MazFullscreenImg","instance","directive"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"information-circle.89FseEuJ.cjs","sources":["../../src/icons/information-circle.svg"],"sourcesContent":["import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n}\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, _cache[0] || (_cache[0] = [\n _createElementVNode(\"path\", {\n stroke: \"currentColor\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n \"stroke-width\": \"1.5\",\n d: \"m11.25 11.25.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0m-9-3.75h.008v.008H12z\"\n }, null, -1)\n ])))\n}\nexport default { render: render }"],"names":["_hoisted_1","render","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","informationCircle"],"mappings":"uGAEMA,EAAa,CACjB,MAAO,6BACP,MAAO,MACP,OAAQ,MACR,KAAM,OACN,QAAS,WACX,EAEO,SAASC,EAAOC,EAAMC,EAAQ,CACnC,OAAQC,EAAU,UAAA,EAAIC,EAAmB,mBAAC,MAAOL,EAAYG,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,CACrFG,EAAAA,mBAAoB,OAAQ,CAC1B,OAAQ,eACR,iBAAkB,QAClB,kBAAmB,QACnB,eAAgB,MAChB,EAAG,oJACT,EAAO,KAAM,EAAE,CACf,EAAI,CACJ,CACA,MAAeC,EAAA,CAAE,OAAQN,CAAM"}
1
+ {"version":3,"file":"information-circle.89FseEuJ.cjs","sources":["../../icons/information-circle.svg"],"sourcesContent":["import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n}\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, _cache[0] || (_cache[0] = [\n _createElementVNode(\"path\", {\n stroke: \"currentColor\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n \"stroke-width\": \"1.5\",\n d: \"m11.25 11.25.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0m-9-3.75h.008v.008H12z\"\n }, null, -1)\n ])))\n}\nexport default { render: render }"],"names":["_hoisted_1","render","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","informationCircle"],"mappings":"uGAEMA,EAAa,CACjB,MAAO,6BACP,MAAO,MACP,OAAQ,MACR,KAAM,OACN,QAAS,WACX,EAEO,SAASC,EAAOC,EAAMC,EAAQ,CACnC,OAAQC,EAAU,UAAA,EAAIC,EAAmB,mBAAC,MAAOL,EAAYG,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,CACrFG,EAAAA,mBAAoB,OAAQ,CAC1B,OAAQ,eACR,iBAAkB,QAClB,kBAAmB,QACnB,eAAgB,MAChB,EAAG,oJACT,EAAO,KAAM,EAAE,CACf,EAAI,CACJ,CACA,MAAeC,EAAA,CAAE,OAAQN,CAAM"}
@@ -1 +1 @@
1
- {"version":3,"file":"information-circle.CEsJ8VHx.mjs","sources":["../../src/icons/information-circle.svg"],"sourcesContent":["import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n}\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, _cache[0] || (_cache[0] = [\n _createElementVNode(\"path\", {\n stroke: \"currentColor\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n \"stroke-width\": \"1.5\",\n d: \"m11.25 11.25.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0m-9-3.75h.008v.008H12z\"\n }, null, -1)\n ])))\n}\nexport default { render: render }"],"names":["_hoisted_1","render","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","informationCircle"],"mappings":";AAEA,MAAMA,IAAa;AAAA,EACjB,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,SAAS;AACX;AAEO,SAASC,EAAOC,GAAMC,GAAQ;AACnC,SAAQC,EAAU,GAAIC,EAAoB,OAAOL,GAAYG,EAAO,CAAC,MAAMA,EAAO,CAAC,IAAI;AAAA,IACrFG,EAAoB,QAAQ;AAAA,MAC1B,QAAQ;AAAA,MACR,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,gBAAgB;AAAA,MAChB,GAAG;AAAA,IACT,GAAO,MAAM,EAAE;AAAA,EACf,EAAI;AACJ;AACA,MAAeC,IAAA,EAAE,QAAQN,EAAM;"}
1
+ {"version":3,"file":"information-circle.CEsJ8VHx.mjs","sources":["../../icons/information-circle.svg"],"sourcesContent":["import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n}\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, _cache[0] || (_cache[0] = [\n _createElementVNode(\"path\", {\n stroke: \"currentColor\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n \"stroke-width\": \"1.5\",\n d: \"m11.25 11.25.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0m-9-3.75h.008v.008H12z\"\n }, null, -1)\n ])))\n}\nexport default { render: render }"],"names":["_hoisted_1","render","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","informationCircle"],"mappings":";AAEA,MAAMA,IAAa;AAAA,EACjB,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,SAAS;AACX;AAEO,SAASC,EAAOC,GAAMC,GAAQ;AACnC,SAAQC,EAAU,GAAIC,EAAoB,OAAOL,GAAYG,EAAO,CAAC,MAAMA,EAAO,CAAC,IAAI;AAAA,IACrFG,EAAoB,QAAQ;AAAA,MAC1B,QAAQ;AAAA,MACR,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,gBAAgB;AAAA,MAChB,GAAG;AAAA,IACT,GAAO,MAAM,EAAE;AAAA,EACf,EAAI;AACJ;AACA,MAAeC,IAAA,EAAE,QAAQN,EAAM;"}
@@ -1 +1 @@
1
- {"version":3,"file":"lazy-img.directive.BeENE6S9.cjs","sources":["../../src/directives/vLazyImg/lazy-img.handler.ts","../../src/directives/vLazyImg/lazy-img.directive.ts"],"sourcesContent":["import type { ClassOptions, vLazyImgBinding, vLazyImgOptions } from './types'\n\nexport * from './types'\n\nconst EMPTY_PHOTO = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'\n\nexport const DEFAULT_OPTIONS: ClassOptions = {\n baseClass: 'm-lazy-img',\n loadedClass: 'm-lazy-loaded',\n loadingClass: 'm-lazy-loading',\n errorClass: 'm-lazy-error',\n noPhotoClass: 'm-lazy-no-photo',\n noPhoto: false,\n observerOnce: true,\n loadOnce: false,\n noUseErrorPhoto: false,\n observerOptions: {\n threshold: 0.1,\n },\n}\n\nexport class LazyImg {\n private observers: IntersectionObserver[] = []\n private readonly defaultOptions: ClassOptions = DEFAULT_OPTIONS\n private options: ClassOptions\n private onImgLoadedCallback: (el: HTMLElement) => void\n private onImgErrorCallback: (el: HTMLElement, err: ErrorEvent) => void\n private hasImgLoaded = false\n\n constructor(opts: vLazyImgOptions = {}) {\n this.options = this.buildOptions(opts)\n this.onImgLoadedCallback = this.imageIsLoaded.bind(this)\n this.onImgErrorCallback = this.imageHasError.bind(this)\n }\n\n private async loadErrorPhoto() {\n const { default: photo } = await import('@icons/no-photography.svg?url')\n return photo\n }\n\n private buildOptions(opts: vLazyImgOptions): ClassOptions {\n return {\n ...this.defaultOptions,\n ...opts,\n observerOptions: {\n ...this.defaultOptions.observerOptions,\n ...opts.observerOptions,\n },\n }\n }\n\n private removeClass(el: HTMLElement, className: string) {\n el.classList.remove(className)\n }\n\n private addClass(el: HTMLElement, className: string) {\n el.classList.add(className)\n }\n\n private removeAllStateClasses(el: HTMLElement) {\n this.removeClass(el, this.options.loadedClass)\n this.removeClass(el, this.options.loadingClass)\n this.removeClass(el, this.options.errorClass)\n this.removeClass(el, this.options.noPhotoClass)\n }\n\n private setBaseClass(el: HTMLElement) {\n this.addClass(el, this.options.baseClass)\n }\n\n private imageIsLoading(el: HTMLElement) {\n this.addClass(el, this.options.loadingClass)\n this.options.onLoading?.(el)\n }\n\n private imageHasNoPhoto(el: HTMLElement) {\n this.removeClass(el, this.options.loadingClass)\n this.addClass(el, this.options.noPhotoClass)\n\n this.setDefaultPhoto(el)\n }\n\n private imageIsLoaded(el: HTMLElement): void {\n this.hasImgLoaded = true\n this.removeClass(el, this.options.loadingClass)\n this.addClass(el, this.options.loadedClass)\n this.options.onLoaded?.(el)\n }\n\n private imageHasError(el: HTMLElement): void {\n this.removeClass(el, this.options.loadingClass)\n this.addClass(el, this.options.errorClass)\n\n this.options.onError?.(el)\n\n this.setDefaultPhoto(el)\n }\n\n private getSrc(binding: vLazyImgBinding) {\n return typeof binding.value === 'object' ? binding.value.src : binding.value\n }\n\n private getImageUrl(el: HTMLElement, binding: vLazyImgBinding): string | null | undefined {\n const dataSrc = this.getImgElement(el).getAttribute('data-lazy-src')\n if (dataSrc)\n return dataSrc\n\n return this.getSrc(binding)\n }\n\n private async setPictureSourceUrls(el: HTMLElement): Promise<void> {\n const sourceElements = el.querySelectorAll('source')\n\n if (sourceElements.length > 0) {\n for await (const source of sourceElements) {\n const srcSet = source.getAttribute('data-lazy-srcset')\n if (srcSet) {\n source.srcset = srcSet\n }\n else {\n return this.imageHasError(el)\n }\n }\n }\n else {\n this.imageHasError(el)\n }\n }\n\n private hasBgImgMode(binding: vLazyImgBinding): boolean {\n return binding.arg === 'bg-image'\n }\n\n private isPictureElement(el: HTMLElement): boolean {\n return el instanceof HTMLPictureElement\n }\n\n private getImgElement(el: HTMLElement): HTMLImageElement {\n const isPictureElement = this.isPictureElement(el)\n return (isPictureElement ? el.querySelector('img') : el) as HTMLImageElement\n }\n\n private async setDefaultPhoto(el: HTMLElement) {\n if (this.options.noUseErrorPhoto)\n return\n\n const fallbackSrc = this.options.fallbackSrc ?? this.options.errorPhoto\n\n if (typeof fallbackSrc === 'string') {\n this.addClass(el, this.options.noPhotoClass)\n }\n\n const errorPhoto = fallbackSrc ?? (await this.loadErrorPhoto())\n\n const sourceElements = el.querySelectorAll('source')\n if (sourceElements.length > 0) {\n for await (const source of sourceElements) {\n source.srcset = errorPhoto\n }\n }\n else {\n this.setImgSrc(el, errorPhoto)\n }\n }\n\n private addEventListenerToImg(el: HTMLElement) {\n const imgElement = this.getImgElement(el)\n imgElement.addEventListener('load', () => this.onImgLoadedCallback(el), {\n once: true,\n })\n imgElement.addEventListener('error', err => this.onImgErrorCallback(el, err), { once: true })\n }\n\n private async loadImage(el: HTMLElement, binding: vLazyImgBinding): Promise<void> {\n this.imageIsLoading(el)\n\n if (this.isPictureElement(el)) {\n this.addEventListenerToImg(el)\n\n await this.setPictureSourceUrls(el)\n }\n else {\n const imageUrl = this.getImageUrl(el, binding)\n\n if (!imageUrl)\n return this.imageHasError(el)\n\n if (this.hasBgImgMode(binding)) {\n el.style.backgroundImage = `url('${imageUrl}')`\n this.imageIsLoaded(el)\n }\n else {\n this.addEventListenerToImg(el)\n\n this.setImgSrc(el, imageUrl)\n }\n }\n }\n\n public setImgSrc(el: HTMLElement, src: string) {\n const imgElement = this.getImgElement(el)\n imgElement.src = src\n }\n\n private handleIntersectionObserver(\n el: HTMLElement,\n binding: vLazyImgBinding,\n entries: IntersectionObserverEntry[],\n observer: IntersectionObserver,\n ) {\n this.observers.push(observer)\n\n for (const entry of entries) {\n if (entry.isIntersecting) {\n this.options.onIntersecting?.(entry.target)\n\n if (this.options.observerOnce) {\n observer.unobserve(el)\n }\n\n if (this.options.loadOnce && this.hasImgLoaded)\n return\n this.loadImage(el, binding)\n }\n }\n }\n\n private createObserver(el: HTMLElement, binding: vLazyImgBinding) {\n const observerCallback = (\n entries: IntersectionObserverEntry[],\n intersectionObserver: IntersectionObserver,\n ) => {\n this.handleIntersectionObserver(el, binding, entries, intersectionObserver)\n }\n\n const observerOptions: ClassOptions['observerOptions'] = this.options.observerOptions\n const observer = new IntersectionObserver(observerCallback, observerOptions)\n\n observer.observe(el)\n }\n\n private async imageHandler(\n el: HTMLElement,\n binding: vLazyImgBinding,\n type: 'bind' | 'update',\n ): Promise<void> {\n if (type === 'update') {\n // Clean all previous observers\n for await (const observer of this.observers) observer.unobserve(el)\n }\n\n if (window.IntersectionObserver) {\n this.createObserver(el, binding)\n }\n else {\n this.loadImage(el, binding)\n }\n }\n\n private async bindUpdateHandler(\n el: HTMLElement,\n binding: vLazyImgBinding,\n type: 'bind' | 'update',\n ): Promise<void> {\n if (this.options.noPhoto)\n return this.imageHasNoPhoto(el)\n\n await this.imageHandler(el, binding, type)\n }\n\n public async add(el: HTMLElement, binding: vLazyImgBinding): Promise<void> {\n if (this.hasBgImgMode(binding) && this.isPictureElement(el)) {\n throw new Error(`[MazLazyImg] You can't use the \"bg-image\" mode with \"<picture />\" element`)\n }\n\n setTimeout(() => this.setBaseClass(el), 0)\n\n if (!el.getAttribute('src')) {\n this.setImgSrc(el, EMPTY_PHOTO)\n }\n\n await this.bindUpdateHandler(el, binding, 'bind')\n }\n\n public async update(el: HTMLElement, binding: vLazyImgBinding): Promise<void> {\n if (binding.value !== binding.oldValue) {\n this.hasImgLoaded = false\n this.removeAllStateClasses(el)\n\n await this.bindUpdateHandler(el, binding, 'update')\n }\n }\n\n public remove(el: HTMLElement, binding: vLazyImgBinding) {\n this.hasImgLoaded = false\n if (this.hasBgImgMode(binding)) {\n el.style.backgroundImage = ''\n }\n\n this.removeAllStateClasses(el)\n\n for (const observer of this.observers) {\n observer.unobserve(el)\n }\n\n this.observers = []\n }\n}\n","import type { ObjectDirective } from 'vue'\nimport { LazyImg, type vLazyImgBindingValue } from './lazy-img.handler'\n\nlet instance: LazyImg\n\nconst directive = {\n created(el, binding) {\n const options = typeof binding.value === 'object' ? binding.value : {}\n instance = new LazyImg(options)\n instance.add(el, binding)\n },\n updated(el, binding): void {\n instance.update(el, binding)\n },\n unmounted(el, binding): void {\n instance.remove(el, binding)\n },\n} satisfies ObjectDirective<HTMLElement, vLazyImgBindingValue>\n\nexport { directive as vLazyImg }\n"],"names":["EMPTY_PHOTO","DEFAULT_OPTIONS","LazyImg","opts","__publicField","photo","el","className","_b","_a","binding","dataSrc","sourceElements","source","srcSet","fallbackSrc","errorPhoto","imgElement","err","imageUrl","src","entries","observer","entry","observerCallback","intersectionObserver","observerOptions","type","instance","directive","options"],"mappings":"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"}
1
+ {"version":3,"file":"lazy-img.directive.BeENE6S9.cjs","sources":["../../src/directives/vLazyImg/lazy-img.handler.ts","../../src/directives/vLazyImg/lazy-img.directive.ts"],"sourcesContent":["import type { ClassOptions, vLazyImgBinding, vLazyImgOptions } from './types'\n\nexport * from './types'\n\nconst EMPTY_PHOTO = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'\n\nexport const DEFAULT_OPTIONS: ClassOptions = {\n baseClass: 'm-lazy-img',\n loadedClass: 'm-lazy-loaded',\n loadingClass: 'm-lazy-loading',\n errorClass: 'm-lazy-error',\n noPhotoClass: 'm-lazy-no-photo',\n noPhoto: false,\n observerOnce: true,\n loadOnce: false,\n noUseErrorPhoto: false,\n observerOptions: {\n threshold: 0.1,\n },\n}\n\nexport class LazyImg {\n private observers: IntersectionObserver[] = []\n private readonly defaultOptions: ClassOptions = DEFAULT_OPTIONS\n private options: ClassOptions\n private onImgLoadedCallback: (el: HTMLElement) => void\n private onImgErrorCallback: (el: HTMLElement, err: ErrorEvent) => void\n private hasImgLoaded = false\n\n constructor(opts: vLazyImgOptions = {}) {\n this.options = this.buildOptions(opts)\n this.onImgLoadedCallback = this.imageIsLoaded.bind(this)\n this.onImgErrorCallback = this.imageHasError.bind(this)\n }\n\n private async loadErrorPhoto() {\n const { default: photo } = await import('../../../icons/no-photography.svg?url')\n return photo\n }\n\n private buildOptions(opts: vLazyImgOptions): ClassOptions {\n return {\n ...this.defaultOptions,\n ...opts,\n observerOptions: {\n ...this.defaultOptions.observerOptions,\n ...opts.observerOptions,\n },\n }\n }\n\n private removeClass(el: HTMLElement, className: string) {\n el.classList.remove(className)\n }\n\n private addClass(el: HTMLElement, className: string) {\n el.classList.add(className)\n }\n\n private removeAllStateClasses(el: HTMLElement) {\n this.removeClass(el, this.options.loadedClass)\n this.removeClass(el, this.options.loadingClass)\n this.removeClass(el, this.options.errorClass)\n this.removeClass(el, this.options.noPhotoClass)\n }\n\n private setBaseClass(el: HTMLElement) {\n this.addClass(el, this.options.baseClass)\n }\n\n private imageIsLoading(el: HTMLElement) {\n this.addClass(el, this.options.loadingClass)\n this.options.onLoading?.(el)\n }\n\n private imageHasNoPhoto(el: HTMLElement) {\n this.removeClass(el, this.options.loadingClass)\n this.addClass(el, this.options.noPhotoClass)\n\n this.setDefaultPhoto(el)\n }\n\n private imageIsLoaded(el: HTMLElement): void {\n this.hasImgLoaded = true\n this.removeClass(el, this.options.loadingClass)\n this.addClass(el, this.options.loadedClass)\n this.options.onLoaded?.(el)\n }\n\n private imageHasError(el: HTMLElement): void {\n this.removeClass(el, this.options.loadingClass)\n this.addClass(el, this.options.errorClass)\n\n this.options.onError?.(el)\n\n this.setDefaultPhoto(el)\n }\n\n private getSrc(binding: vLazyImgBinding) {\n return typeof binding.value === 'object' ? binding.value.src : binding.value\n }\n\n private getImageUrl(el: HTMLElement, binding: vLazyImgBinding): string | null | undefined {\n const dataSrc = this.getImgElement(el).getAttribute('data-lazy-src')\n if (dataSrc)\n return dataSrc\n\n return this.getSrc(binding)\n }\n\n private async setPictureSourceUrls(el: HTMLElement): Promise<void> {\n const sourceElements = el.querySelectorAll('source')\n\n if (sourceElements.length > 0) {\n for await (const source of sourceElements) {\n const srcSet = source.getAttribute('data-lazy-srcset')\n if (srcSet) {\n source.srcset = srcSet\n }\n else {\n return this.imageHasError(el)\n }\n }\n }\n else {\n this.imageHasError(el)\n }\n }\n\n private hasBgImgMode(binding: vLazyImgBinding): boolean {\n return binding.arg === 'bg-image'\n }\n\n private isPictureElement(el: HTMLElement): boolean {\n return el instanceof HTMLPictureElement\n }\n\n private getImgElement(el: HTMLElement): HTMLImageElement {\n const isPictureElement = this.isPictureElement(el)\n return (isPictureElement ? el.querySelector('img') : el) as HTMLImageElement\n }\n\n private async setDefaultPhoto(el: HTMLElement) {\n if (this.options.noUseErrorPhoto)\n return\n\n const fallbackSrc = this.options.fallbackSrc ?? this.options.errorPhoto\n\n if (typeof fallbackSrc === 'string') {\n this.addClass(el, this.options.noPhotoClass)\n }\n\n const errorPhoto = fallbackSrc ?? (await this.loadErrorPhoto())\n\n const sourceElements = el.querySelectorAll('source')\n if (sourceElements.length > 0) {\n for await (const source of sourceElements) {\n source.srcset = errorPhoto\n }\n }\n else {\n this.setImgSrc(el, errorPhoto)\n }\n }\n\n private addEventListenerToImg(el: HTMLElement) {\n const imgElement = this.getImgElement(el)\n imgElement.addEventListener('load', () => this.onImgLoadedCallback(el), {\n once: true,\n })\n imgElement.addEventListener('error', err => this.onImgErrorCallback(el, err), { once: true })\n }\n\n private async loadImage(el: HTMLElement, binding: vLazyImgBinding): Promise<void> {\n this.imageIsLoading(el)\n\n if (this.isPictureElement(el)) {\n this.addEventListenerToImg(el)\n\n await this.setPictureSourceUrls(el)\n }\n else {\n const imageUrl = this.getImageUrl(el, binding)\n\n if (!imageUrl)\n return this.imageHasError(el)\n\n if (this.hasBgImgMode(binding)) {\n el.style.backgroundImage = `url('${imageUrl}')`\n this.imageIsLoaded(el)\n }\n else {\n this.addEventListenerToImg(el)\n\n this.setImgSrc(el, imageUrl)\n }\n }\n }\n\n public setImgSrc(el: HTMLElement, src: string) {\n const imgElement = this.getImgElement(el)\n imgElement.src = src\n }\n\n private handleIntersectionObserver(\n el: HTMLElement,\n binding: vLazyImgBinding,\n entries: IntersectionObserverEntry[],\n observer: IntersectionObserver,\n ) {\n this.observers.push(observer)\n\n for (const entry of entries) {\n if (entry.isIntersecting) {\n this.options.onIntersecting?.(entry.target)\n\n if (this.options.observerOnce) {\n observer.unobserve(el)\n }\n\n if (this.options.loadOnce && this.hasImgLoaded)\n return\n this.loadImage(el, binding)\n }\n }\n }\n\n private createObserver(el: HTMLElement, binding: vLazyImgBinding) {\n const observerCallback = (\n entries: IntersectionObserverEntry[],\n intersectionObserver: IntersectionObserver,\n ) => {\n this.handleIntersectionObserver(el, binding, entries, intersectionObserver)\n }\n\n const observerOptions: ClassOptions['observerOptions'] = this.options.observerOptions\n const observer = new IntersectionObserver(observerCallback, observerOptions)\n\n observer.observe(el)\n }\n\n private async imageHandler(\n el: HTMLElement,\n binding: vLazyImgBinding,\n type: 'bind' | 'update',\n ): Promise<void> {\n if (type === 'update') {\n // Clean all previous observers\n for await (const observer of this.observers) observer.unobserve(el)\n }\n\n if (window.IntersectionObserver) {\n this.createObserver(el, binding)\n }\n else {\n this.loadImage(el, binding)\n }\n }\n\n private async bindUpdateHandler(\n el: HTMLElement,\n binding: vLazyImgBinding,\n type: 'bind' | 'update',\n ): Promise<void> {\n if (this.options.noPhoto)\n return this.imageHasNoPhoto(el)\n\n await this.imageHandler(el, binding, type)\n }\n\n public async add(el: HTMLElement, binding: vLazyImgBinding): Promise<void> {\n if (this.hasBgImgMode(binding) && this.isPictureElement(el)) {\n throw new Error(`[MazLazyImg] You can't use the \"bg-image\" mode with \"<picture />\" element`)\n }\n\n setTimeout(() => this.setBaseClass(el), 0)\n\n if (!el.getAttribute('src')) {\n this.setImgSrc(el, EMPTY_PHOTO)\n }\n\n await this.bindUpdateHandler(el, binding, 'bind')\n }\n\n public async update(el: HTMLElement, binding: vLazyImgBinding): Promise<void> {\n if (binding.value !== binding.oldValue) {\n this.hasImgLoaded = false\n this.removeAllStateClasses(el)\n\n await this.bindUpdateHandler(el, binding, 'update')\n }\n }\n\n public remove(el: HTMLElement, binding: vLazyImgBinding) {\n this.hasImgLoaded = false\n if (this.hasBgImgMode(binding)) {\n el.style.backgroundImage = ''\n }\n\n this.removeAllStateClasses(el)\n\n for (const observer of this.observers) {\n observer.unobserve(el)\n }\n\n this.observers = []\n }\n}\n","import type { ObjectDirective } from 'vue'\nimport { LazyImg, type vLazyImgBindingValue } from './lazy-img.handler'\n\nlet instance: LazyImg\n\nconst directive = {\n created(el, binding) {\n const options = typeof binding.value === 'object' ? binding.value : {}\n instance = new LazyImg(options)\n instance.add(el, binding)\n },\n updated(el, binding): void {\n instance.update(el, binding)\n },\n unmounted(el, binding): void {\n instance.remove(el, binding)\n },\n} satisfies ObjectDirective<HTMLElement, vLazyImgBindingValue>\n\nexport { directive as vLazyImg }\n"],"names":["EMPTY_PHOTO","DEFAULT_OPTIONS","LazyImg","opts","__publicField","photo","el","className","_b","_a","binding","dataSrc","sourceElements","source","srcSet","fallbackSrc","errorPhoto","imgElement","err","imageUrl","src","entries","observer","entry","observerCallback","intersectionObserver","observerOptions","type","instance","directive","options"],"mappings":"iLAIA,MAAMA,EAAc,iFAEPC,EAAgC,CAC3C,UAAW,aACX,YAAa,gBACb,aAAc,iBACd,WAAY,eACZ,aAAc,kBACd,QAAS,GACT,aAAc,GACd,SAAU,GACV,gBAAiB,GACjB,gBAAiB,CACf,UAAW,EAAA,CAEf,EAEO,MAAMC,CAAQ,CAQnB,YAAYC,EAAwB,GAAI,CAPhCC,EAAA,iBAAoC,CAAC,GAC5BA,EAAA,sBAA+BH,GACxCG,EAAA,gBACAA,EAAA,4BACAA,EAAA,2BACAA,EAAA,oBAAe,IAGhB,KAAA,QAAU,KAAK,aAAaD,CAAI,EACrC,KAAK,oBAAsB,KAAK,cAAc,KAAK,IAAI,EACvD,KAAK,mBAAqB,KAAK,cAAc,KAAK,IAAI,CAAA,CAGxD,MAAc,gBAAiB,CAC7B,KAAM,CAAE,QAASE,GAAU,MAAM,QAAO,QAAA,EAAA,KAAA,IAAA,QAAA,+BAAuC,CAAA,EACxE,OAAAA,CAAA,CAGD,aAAaF,EAAqC,CACjD,MAAA,CACL,GAAG,KAAK,eACR,GAAGA,EACH,gBAAiB,CACf,GAAG,KAAK,eAAe,gBACvB,GAAGA,EAAK,eAAA,CAEZ,CAAA,CAGM,YAAYG,EAAiBC,EAAmB,CACnDD,EAAA,UAAU,OAAOC,CAAS,CAAA,CAGvB,SAASD,EAAiBC,EAAmB,CAChDD,EAAA,UAAU,IAAIC,CAAS,CAAA,CAGpB,sBAAsBD,EAAiB,CAC7C,KAAK,YAAYA,EAAI,KAAK,QAAQ,WAAW,EAC7C,KAAK,YAAYA,EAAI,KAAK,QAAQ,YAAY,EAC9C,KAAK,YAAYA,EAAI,KAAK,QAAQ,UAAU,EAC5C,KAAK,YAAYA,EAAI,KAAK,QAAQ,YAAY,CAAA,CAGxC,aAAaA,EAAiB,CACpC,KAAK,SAASA,EAAI,KAAK,QAAQ,SAAS,CAAA,CAGlC,eAAeA,EAAiB,SACtC,KAAK,SAASA,EAAI,KAAK,QAAQ,YAAY,GACtCE,GAAAC,EAAA,KAAA,SAAQ,YAAR,MAAAD,EAAA,KAAAC,EAAoBH,EAAE,CAGrB,gBAAgBA,EAAiB,CACvC,KAAK,YAAYA,EAAI,KAAK,QAAQ,YAAY,EAC9C,KAAK,SAASA,EAAI,KAAK,QAAQ,YAAY,EAE3C,KAAK,gBAAgBA,CAAE,CAAA,CAGjB,cAAcA,EAAuB,SAC3C,KAAK,aAAe,GACpB,KAAK,YAAYA,EAAI,KAAK,QAAQ,YAAY,EAC9C,KAAK,SAASA,EAAI,KAAK,QAAQ,WAAW,GACrCE,GAAAC,EAAA,KAAA,SAAQ,WAAR,MAAAD,EAAA,KAAAC,EAAmBH,EAAE,CAGpB,cAAcA,EAAuB,SAC3C,KAAK,YAAYA,EAAI,KAAK,QAAQ,YAAY,EAC9C,KAAK,SAASA,EAAI,KAAK,QAAQ,UAAU,GAEpCE,GAAAC,EAAA,KAAA,SAAQ,UAAR,MAAAD,EAAA,KAAAC,EAAkBH,GAEvB,KAAK,gBAAgBA,CAAE,CAAA,CAGjB,OAAOI,EAA0B,CACvC,OAAO,OAAOA,EAAQ,OAAU,SAAWA,EAAQ,MAAM,IAAMA,EAAQ,KAAA,CAGjE,YAAYJ,EAAiBI,EAAqD,CACxF,MAAMC,EAAU,KAAK,cAAcL,CAAE,EAAE,aAAa,eAAe,EAC/D,OAAAK,GAGG,KAAK,OAAOD,CAAO,CAAA,CAG5B,MAAc,qBAAqBJ,EAAgC,CAC3D,MAAAM,EAAiBN,EAAG,iBAAiB,QAAQ,EAE/C,GAAAM,EAAe,OAAS,EAC1B,gBAAiBC,KAAUD,EAAgB,CACnC,MAAAE,EAASD,EAAO,aAAa,kBAAkB,EACrD,GAAIC,EACFD,EAAO,OAASC,MAGT,QAAA,KAAK,cAAcR,CAAE,CAC9B,MAIF,KAAK,cAAcA,CAAE,CACvB,CAGM,aAAaI,EAAmC,CACtD,OAAOA,EAAQ,MAAQ,UAAA,CAGjB,iBAAiBJ,EAA0B,CACjD,OAAOA,aAAc,kBAAA,CAGf,cAAcA,EAAmC,CAEvD,OADyB,KAAK,iBAAiBA,CAAE,EACtBA,EAAG,cAAc,KAAK,EAAIA,CAAA,CAGvD,MAAc,gBAAgBA,EAAiB,CAC7C,GAAI,KAAK,QAAQ,gBACf,OAEF,MAAMS,EAAc,KAAK,QAAQ,aAAe,KAAK,QAAQ,WAEzD,OAAOA,GAAgB,UACzB,KAAK,SAAST,EAAI,KAAK,QAAQ,YAAY,EAG7C,MAAMU,EAAaD,GAAgB,MAAM,KAAK,eAAe,EAEvDH,EAAiBN,EAAG,iBAAiB,QAAQ,EAC/C,GAAAM,EAAe,OAAS,EAC1B,gBAAiBC,KAAUD,EACzBC,EAAO,OAASG,OAIb,KAAA,UAAUV,EAAIU,CAAU,CAC/B,CAGM,sBAAsBV,EAAiB,CACvC,MAAAW,EAAa,KAAK,cAAcX,CAAE,EACxCW,EAAW,iBAAiB,OAAQ,IAAM,KAAK,oBAAoBX,CAAE,EAAG,CACtE,KAAM,EAAA,CACP,EACUW,EAAA,iBAAiB,QAASC,GAAO,KAAK,mBAAmBZ,EAAIY,CAAG,EAAG,CAAE,KAAM,EAAA,CAAM,CAAA,CAG9F,MAAc,UAAUZ,EAAiBI,EAAyC,CAG5E,GAFJ,KAAK,eAAeJ,CAAE,EAElB,KAAK,iBAAiBA,CAAE,EAC1B,KAAK,sBAAsBA,CAAE,EAEvB,MAAA,KAAK,qBAAqBA,CAAE,MAE/B,CACH,MAAMa,EAAW,KAAK,YAAYb,EAAII,CAAO,EAE7C,GAAI,CAACS,EACI,OAAA,KAAK,cAAcb,CAAE,EAE1B,KAAK,aAAaI,CAAO,GACxBJ,EAAA,MAAM,gBAAkB,QAAQa,CAAQ,KAC3C,KAAK,cAAcb,CAAE,IAGrB,KAAK,sBAAsBA,CAAE,EAExB,KAAA,UAAUA,EAAIa,CAAQ,EAC7B,CACF,CAGK,UAAUb,EAAiBc,EAAa,CACvC,MAAAH,EAAa,KAAK,cAAcX,CAAE,EACxCW,EAAW,IAAMG,CAAA,CAGX,2BACNd,EACAI,EACAW,EACAC,EACA,SACK,KAAA,UAAU,KAAKA,CAAQ,EAE5B,UAAWC,KAASF,EAClB,GAAIE,EAAM,eAAgB,CAOpB,IANCf,GAAAC,EAAA,KAAA,SAAQ,iBAAR,MAAAD,EAAA,KAAAC,EAAyBc,EAAM,QAEhC,KAAK,QAAQ,cACfD,EAAS,UAAUhB,CAAE,EAGnB,KAAK,QAAQ,UAAY,KAAK,aAChC,OACG,KAAA,UAAUA,EAAII,CAAO,CAAA,CAE9B,CAGM,eAAeJ,EAAiBI,EAA0B,CAC1D,MAAAc,EAAmB,CACvBH,EACAI,IACG,CACH,KAAK,2BAA2BnB,EAAII,EAASW,EAASI,CAAoB,CAC5E,EAEMC,EAAmD,KAAK,QAAQ,gBACrD,IAAI,qBAAqBF,EAAkBE,CAAe,EAElE,QAAQpB,CAAE,CAAA,CAGrB,MAAc,aACZA,EACAI,EACAiB,EACe,CACf,GAAIA,IAAS,SAEX,gBAAiBL,KAAY,KAAK,UAAWA,EAAS,UAAUhB,CAAE,EAGhE,OAAO,qBACJ,KAAA,eAAeA,EAAII,CAAO,EAG1B,KAAA,UAAUJ,EAAII,CAAO,CAC5B,CAGF,MAAc,kBACZJ,EACAI,EACAiB,EACe,CACf,GAAI,KAAK,QAAQ,QACR,OAAA,KAAK,gBAAgBrB,CAAE,EAEhC,MAAM,KAAK,aAAaA,EAAII,EAASiB,CAAI,CAAA,CAG3C,MAAa,IAAIrB,EAAiBI,EAAyC,CACzE,GAAI,KAAK,aAAaA,CAAO,GAAK,KAAK,iBAAiBJ,CAAE,EAClD,MAAA,IAAI,MAAM,2EAA2E,EAG7F,WAAW,IAAM,KAAK,aAAaA,CAAE,EAAG,CAAC,EAEpCA,EAAG,aAAa,KAAK,GACnB,KAAA,UAAUA,EAAIN,CAAW,EAGhC,MAAM,KAAK,kBAAkBM,EAAII,EAAS,MAAM,CAAA,CAGlD,MAAa,OAAOJ,EAAiBI,EAAyC,CACxEA,EAAQ,QAAUA,EAAQ,WAC5B,KAAK,aAAe,GACpB,KAAK,sBAAsBJ,CAAE,EAE7B,MAAM,KAAK,kBAAkBA,EAAII,EAAS,QAAQ,EACpD,CAGK,OAAOJ,EAAiBI,EAA0B,CACvD,KAAK,aAAe,GAChB,KAAK,aAAaA,CAAO,IAC3BJ,EAAG,MAAM,gBAAkB,IAG7B,KAAK,sBAAsBA,CAAE,EAElB,UAAAgB,KAAY,KAAK,UAC1BA,EAAS,UAAUhB,CAAE,EAGvB,KAAK,UAAY,CAAC,CAAA,CAEtB,CChTA,IAAIsB,EAEJ,MAAMC,EAAY,CAChB,QAAQvB,EAAII,EAAS,CACnB,MAAMoB,EAAU,OAAOpB,EAAQ,OAAU,SAAWA,EAAQ,MAAQ,CAAC,EAC1DkB,EAAA,IAAI1B,EAAQ4B,CAAO,EACrBF,EAAA,IAAItB,EAAII,CAAO,CAC1B,EACA,QAAQJ,EAAII,EAAe,CAChBkB,EAAA,OAAOtB,EAAII,CAAO,CAC7B,EACA,UAAUJ,EAAII,EAAe,CAClBkB,EAAA,OAAOtB,EAAII,CAAO,CAAA,CAE/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"lazy-img.directive.DqXA0UFo.mjs","sources":["../../src/directives/vLazyImg/lazy-img.handler.ts","../../src/directives/vLazyImg/lazy-img.directive.ts"],"sourcesContent":["import type { ClassOptions, vLazyImgBinding, vLazyImgOptions } from './types'\n\nexport * from './types'\n\nconst EMPTY_PHOTO = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'\n\nexport const DEFAULT_OPTIONS: ClassOptions = {\n baseClass: 'm-lazy-img',\n loadedClass: 'm-lazy-loaded',\n loadingClass: 'm-lazy-loading',\n errorClass: 'm-lazy-error',\n noPhotoClass: 'm-lazy-no-photo',\n noPhoto: false,\n observerOnce: true,\n loadOnce: false,\n noUseErrorPhoto: false,\n observerOptions: {\n threshold: 0.1,\n },\n}\n\nexport class LazyImg {\n private observers: IntersectionObserver[] = []\n private readonly defaultOptions: ClassOptions = DEFAULT_OPTIONS\n private options: ClassOptions\n private onImgLoadedCallback: (el: HTMLElement) => void\n private onImgErrorCallback: (el: HTMLElement, err: ErrorEvent) => void\n private hasImgLoaded = false\n\n constructor(opts: vLazyImgOptions = {}) {\n this.options = this.buildOptions(opts)\n this.onImgLoadedCallback = this.imageIsLoaded.bind(this)\n this.onImgErrorCallback = this.imageHasError.bind(this)\n }\n\n private async loadErrorPhoto() {\n const { default: photo } = await import('@icons/no-photography.svg?url')\n return photo\n }\n\n private buildOptions(opts: vLazyImgOptions): ClassOptions {\n return {\n ...this.defaultOptions,\n ...opts,\n observerOptions: {\n ...this.defaultOptions.observerOptions,\n ...opts.observerOptions,\n },\n }\n }\n\n private removeClass(el: HTMLElement, className: string) {\n el.classList.remove(className)\n }\n\n private addClass(el: HTMLElement, className: string) {\n el.classList.add(className)\n }\n\n private removeAllStateClasses(el: HTMLElement) {\n this.removeClass(el, this.options.loadedClass)\n this.removeClass(el, this.options.loadingClass)\n this.removeClass(el, this.options.errorClass)\n this.removeClass(el, this.options.noPhotoClass)\n }\n\n private setBaseClass(el: HTMLElement) {\n this.addClass(el, this.options.baseClass)\n }\n\n private imageIsLoading(el: HTMLElement) {\n this.addClass(el, this.options.loadingClass)\n this.options.onLoading?.(el)\n }\n\n private imageHasNoPhoto(el: HTMLElement) {\n this.removeClass(el, this.options.loadingClass)\n this.addClass(el, this.options.noPhotoClass)\n\n this.setDefaultPhoto(el)\n }\n\n private imageIsLoaded(el: HTMLElement): void {\n this.hasImgLoaded = true\n this.removeClass(el, this.options.loadingClass)\n this.addClass(el, this.options.loadedClass)\n this.options.onLoaded?.(el)\n }\n\n private imageHasError(el: HTMLElement): void {\n this.removeClass(el, this.options.loadingClass)\n this.addClass(el, this.options.errorClass)\n\n this.options.onError?.(el)\n\n this.setDefaultPhoto(el)\n }\n\n private getSrc(binding: vLazyImgBinding) {\n return typeof binding.value === 'object' ? binding.value.src : binding.value\n }\n\n private getImageUrl(el: HTMLElement, binding: vLazyImgBinding): string | null | undefined {\n const dataSrc = this.getImgElement(el).getAttribute('data-lazy-src')\n if (dataSrc)\n return dataSrc\n\n return this.getSrc(binding)\n }\n\n private async setPictureSourceUrls(el: HTMLElement): Promise<void> {\n const sourceElements = el.querySelectorAll('source')\n\n if (sourceElements.length > 0) {\n for await (const source of sourceElements) {\n const srcSet = source.getAttribute('data-lazy-srcset')\n if (srcSet) {\n source.srcset = srcSet\n }\n else {\n return this.imageHasError(el)\n }\n }\n }\n else {\n this.imageHasError(el)\n }\n }\n\n private hasBgImgMode(binding: vLazyImgBinding): boolean {\n return binding.arg === 'bg-image'\n }\n\n private isPictureElement(el: HTMLElement): boolean {\n return el instanceof HTMLPictureElement\n }\n\n private getImgElement(el: HTMLElement): HTMLImageElement {\n const isPictureElement = this.isPictureElement(el)\n return (isPictureElement ? el.querySelector('img') : el) as HTMLImageElement\n }\n\n private async setDefaultPhoto(el: HTMLElement) {\n if (this.options.noUseErrorPhoto)\n return\n\n const fallbackSrc = this.options.fallbackSrc ?? this.options.errorPhoto\n\n if (typeof fallbackSrc === 'string') {\n this.addClass(el, this.options.noPhotoClass)\n }\n\n const errorPhoto = fallbackSrc ?? (await this.loadErrorPhoto())\n\n const sourceElements = el.querySelectorAll('source')\n if (sourceElements.length > 0) {\n for await (const source of sourceElements) {\n source.srcset = errorPhoto\n }\n }\n else {\n this.setImgSrc(el, errorPhoto)\n }\n }\n\n private addEventListenerToImg(el: HTMLElement) {\n const imgElement = this.getImgElement(el)\n imgElement.addEventListener('load', () => this.onImgLoadedCallback(el), {\n once: true,\n })\n imgElement.addEventListener('error', err => this.onImgErrorCallback(el, err), { once: true })\n }\n\n private async loadImage(el: HTMLElement, binding: vLazyImgBinding): Promise<void> {\n this.imageIsLoading(el)\n\n if (this.isPictureElement(el)) {\n this.addEventListenerToImg(el)\n\n await this.setPictureSourceUrls(el)\n }\n else {\n const imageUrl = this.getImageUrl(el, binding)\n\n if (!imageUrl)\n return this.imageHasError(el)\n\n if (this.hasBgImgMode(binding)) {\n el.style.backgroundImage = `url('${imageUrl}')`\n this.imageIsLoaded(el)\n }\n else {\n this.addEventListenerToImg(el)\n\n this.setImgSrc(el, imageUrl)\n }\n }\n }\n\n public setImgSrc(el: HTMLElement, src: string) {\n const imgElement = this.getImgElement(el)\n imgElement.src = src\n }\n\n private handleIntersectionObserver(\n el: HTMLElement,\n binding: vLazyImgBinding,\n entries: IntersectionObserverEntry[],\n observer: IntersectionObserver,\n ) {\n this.observers.push(observer)\n\n for (const entry of entries) {\n if (entry.isIntersecting) {\n this.options.onIntersecting?.(entry.target)\n\n if (this.options.observerOnce) {\n observer.unobserve(el)\n }\n\n if (this.options.loadOnce && this.hasImgLoaded)\n return\n this.loadImage(el, binding)\n }\n }\n }\n\n private createObserver(el: HTMLElement, binding: vLazyImgBinding) {\n const observerCallback = (\n entries: IntersectionObserverEntry[],\n intersectionObserver: IntersectionObserver,\n ) => {\n this.handleIntersectionObserver(el, binding, entries, intersectionObserver)\n }\n\n const observerOptions: ClassOptions['observerOptions'] = this.options.observerOptions\n const observer = new IntersectionObserver(observerCallback, observerOptions)\n\n observer.observe(el)\n }\n\n private async imageHandler(\n el: HTMLElement,\n binding: vLazyImgBinding,\n type: 'bind' | 'update',\n ): Promise<void> {\n if (type === 'update') {\n // Clean all previous observers\n for await (const observer of this.observers) observer.unobserve(el)\n }\n\n if (window.IntersectionObserver) {\n this.createObserver(el, binding)\n }\n else {\n this.loadImage(el, binding)\n }\n }\n\n private async bindUpdateHandler(\n el: HTMLElement,\n binding: vLazyImgBinding,\n type: 'bind' | 'update',\n ): Promise<void> {\n if (this.options.noPhoto)\n return this.imageHasNoPhoto(el)\n\n await this.imageHandler(el, binding, type)\n }\n\n public async add(el: HTMLElement, binding: vLazyImgBinding): Promise<void> {\n if (this.hasBgImgMode(binding) && this.isPictureElement(el)) {\n throw new Error(`[MazLazyImg] You can't use the \"bg-image\" mode with \"<picture />\" element`)\n }\n\n setTimeout(() => this.setBaseClass(el), 0)\n\n if (!el.getAttribute('src')) {\n this.setImgSrc(el, EMPTY_PHOTO)\n }\n\n await this.bindUpdateHandler(el, binding, 'bind')\n }\n\n public async update(el: HTMLElement, binding: vLazyImgBinding): Promise<void> {\n if (binding.value !== binding.oldValue) {\n this.hasImgLoaded = false\n this.removeAllStateClasses(el)\n\n await this.bindUpdateHandler(el, binding, 'update')\n }\n }\n\n public remove(el: HTMLElement, binding: vLazyImgBinding) {\n this.hasImgLoaded = false\n if (this.hasBgImgMode(binding)) {\n el.style.backgroundImage = ''\n }\n\n this.removeAllStateClasses(el)\n\n for (const observer of this.observers) {\n observer.unobserve(el)\n }\n\n this.observers = []\n }\n}\n","import type { ObjectDirective } from 'vue'\nimport { LazyImg, type vLazyImgBindingValue } from './lazy-img.handler'\n\nlet instance: LazyImg\n\nconst directive = {\n created(el, binding) {\n const options = typeof binding.value === 'object' ? binding.value : {}\n instance = new LazyImg(options)\n instance.add(el, binding)\n },\n updated(el, binding): void {\n instance.update(el, binding)\n },\n unmounted(el, binding): void {\n instance.remove(el, binding)\n },\n} satisfies ObjectDirective<HTMLElement, vLazyImgBindingValue>\n\nexport { directive as vLazyImg }\n"],"names":["EMPTY_PHOTO","DEFAULT_OPTIONS","LazyImg","opts","__publicField","photo","el","className","_a","_b","binding","dataSrc","sourceElements","source","srcSet","fallbackSrc","errorPhoto","imgElement","err","imageUrl","src","entries","observer","entry","observerCallback","intersectionObserver","observerOptions","type","instance","directive","options"],"mappings":"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"}
1
+ {"version":3,"file":"lazy-img.directive.DqXA0UFo.mjs","sources":["../../src/directives/vLazyImg/lazy-img.handler.ts","../../src/directives/vLazyImg/lazy-img.directive.ts"],"sourcesContent":["import type { ClassOptions, vLazyImgBinding, vLazyImgOptions } from './types'\n\nexport * from './types'\n\nconst EMPTY_PHOTO = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'\n\nexport const DEFAULT_OPTIONS: ClassOptions = {\n baseClass: 'm-lazy-img',\n loadedClass: 'm-lazy-loaded',\n loadingClass: 'm-lazy-loading',\n errorClass: 'm-lazy-error',\n noPhotoClass: 'm-lazy-no-photo',\n noPhoto: false,\n observerOnce: true,\n loadOnce: false,\n noUseErrorPhoto: false,\n observerOptions: {\n threshold: 0.1,\n },\n}\n\nexport class LazyImg {\n private observers: IntersectionObserver[] = []\n private readonly defaultOptions: ClassOptions = DEFAULT_OPTIONS\n private options: ClassOptions\n private onImgLoadedCallback: (el: HTMLElement) => void\n private onImgErrorCallback: (el: HTMLElement, err: ErrorEvent) => void\n private hasImgLoaded = false\n\n constructor(opts: vLazyImgOptions = {}) {\n this.options = this.buildOptions(opts)\n this.onImgLoadedCallback = this.imageIsLoaded.bind(this)\n this.onImgErrorCallback = this.imageHasError.bind(this)\n }\n\n private async loadErrorPhoto() {\n const { default: photo } = await import('../../../icons/no-photography.svg?url')\n return photo\n }\n\n private buildOptions(opts: vLazyImgOptions): ClassOptions {\n return {\n ...this.defaultOptions,\n ...opts,\n observerOptions: {\n ...this.defaultOptions.observerOptions,\n ...opts.observerOptions,\n },\n }\n }\n\n private removeClass(el: HTMLElement, className: string) {\n el.classList.remove(className)\n }\n\n private addClass(el: HTMLElement, className: string) {\n el.classList.add(className)\n }\n\n private removeAllStateClasses(el: HTMLElement) {\n this.removeClass(el, this.options.loadedClass)\n this.removeClass(el, this.options.loadingClass)\n this.removeClass(el, this.options.errorClass)\n this.removeClass(el, this.options.noPhotoClass)\n }\n\n private setBaseClass(el: HTMLElement) {\n this.addClass(el, this.options.baseClass)\n }\n\n private imageIsLoading(el: HTMLElement) {\n this.addClass(el, this.options.loadingClass)\n this.options.onLoading?.(el)\n }\n\n private imageHasNoPhoto(el: HTMLElement) {\n this.removeClass(el, this.options.loadingClass)\n this.addClass(el, this.options.noPhotoClass)\n\n this.setDefaultPhoto(el)\n }\n\n private imageIsLoaded(el: HTMLElement): void {\n this.hasImgLoaded = true\n this.removeClass(el, this.options.loadingClass)\n this.addClass(el, this.options.loadedClass)\n this.options.onLoaded?.(el)\n }\n\n private imageHasError(el: HTMLElement): void {\n this.removeClass(el, this.options.loadingClass)\n this.addClass(el, this.options.errorClass)\n\n this.options.onError?.(el)\n\n this.setDefaultPhoto(el)\n }\n\n private getSrc(binding: vLazyImgBinding) {\n return typeof binding.value === 'object' ? binding.value.src : binding.value\n }\n\n private getImageUrl(el: HTMLElement, binding: vLazyImgBinding): string | null | undefined {\n const dataSrc = this.getImgElement(el).getAttribute('data-lazy-src')\n if (dataSrc)\n return dataSrc\n\n return this.getSrc(binding)\n }\n\n private async setPictureSourceUrls(el: HTMLElement): Promise<void> {\n const sourceElements = el.querySelectorAll('source')\n\n if (sourceElements.length > 0) {\n for await (const source of sourceElements) {\n const srcSet = source.getAttribute('data-lazy-srcset')\n if (srcSet) {\n source.srcset = srcSet\n }\n else {\n return this.imageHasError(el)\n }\n }\n }\n else {\n this.imageHasError(el)\n }\n }\n\n private hasBgImgMode(binding: vLazyImgBinding): boolean {\n return binding.arg === 'bg-image'\n }\n\n private isPictureElement(el: HTMLElement): boolean {\n return el instanceof HTMLPictureElement\n }\n\n private getImgElement(el: HTMLElement): HTMLImageElement {\n const isPictureElement = this.isPictureElement(el)\n return (isPictureElement ? el.querySelector('img') : el) as HTMLImageElement\n }\n\n private async setDefaultPhoto(el: HTMLElement) {\n if (this.options.noUseErrorPhoto)\n return\n\n const fallbackSrc = this.options.fallbackSrc ?? this.options.errorPhoto\n\n if (typeof fallbackSrc === 'string') {\n this.addClass(el, this.options.noPhotoClass)\n }\n\n const errorPhoto = fallbackSrc ?? (await this.loadErrorPhoto())\n\n const sourceElements = el.querySelectorAll('source')\n if (sourceElements.length > 0) {\n for await (const source of sourceElements) {\n source.srcset = errorPhoto\n }\n }\n else {\n this.setImgSrc(el, errorPhoto)\n }\n }\n\n private addEventListenerToImg(el: HTMLElement) {\n const imgElement = this.getImgElement(el)\n imgElement.addEventListener('load', () => this.onImgLoadedCallback(el), {\n once: true,\n })\n imgElement.addEventListener('error', err => this.onImgErrorCallback(el, err), { once: true })\n }\n\n private async loadImage(el: HTMLElement, binding: vLazyImgBinding): Promise<void> {\n this.imageIsLoading(el)\n\n if (this.isPictureElement(el)) {\n this.addEventListenerToImg(el)\n\n await this.setPictureSourceUrls(el)\n }\n else {\n const imageUrl = this.getImageUrl(el, binding)\n\n if (!imageUrl)\n return this.imageHasError(el)\n\n if (this.hasBgImgMode(binding)) {\n el.style.backgroundImage = `url('${imageUrl}')`\n this.imageIsLoaded(el)\n }\n else {\n this.addEventListenerToImg(el)\n\n this.setImgSrc(el, imageUrl)\n }\n }\n }\n\n public setImgSrc(el: HTMLElement, src: string) {\n const imgElement = this.getImgElement(el)\n imgElement.src = src\n }\n\n private handleIntersectionObserver(\n el: HTMLElement,\n binding: vLazyImgBinding,\n entries: IntersectionObserverEntry[],\n observer: IntersectionObserver,\n ) {\n this.observers.push(observer)\n\n for (const entry of entries) {\n if (entry.isIntersecting) {\n this.options.onIntersecting?.(entry.target)\n\n if (this.options.observerOnce) {\n observer.unobserve(el)\n }\n\n if (this.options.loadOnce && this.hasImgLoaded)\n return\n this.loadImage(el, binding)\n }\n }\n }\n\n private createObserver(el: HTMLElement, binding: vLazyImgBinding) {\n const observerCallback = (\n entries: IntersectionObserverEntry[],\n intersectionObserver: IntersectionObserver,\n ) => {\n this.handleIntersectionObserver(el, binding, entries, intersectionObserver)\n }\n\n const observerOptions: ClassOptions['observerOptions'] = this.options.observerOptions\n const observer = new IntersectionObserver(observerCallback, observerOptions)\n\n observer.observe(el)\n }\n\n private async imageHandler(\n el: HTMLElement,\n binding: vLazyImgBinding,\n type: 'bind' | 'update',\n ): Promise<void> {\n if (type === 'update') {\n // Clean all previous observers\n for await (const observer of this.observers) observer.unobserve(el)\n }\n\n if (window.IntersectionObserver) {\n this.createObserver(el, binding)\n }\n else {\n this.loadImage(el, binding)\n }\n }\n\n private async bindUpdateHandler(\n el: HTMLElement,\n binding: vLazyImgBinding,\n type: 'bind' | 'update',\n ): Promise<void> {\n if (this.options.noPhoto)\n return this.imageHasNoPhoto(el)\n\n await this.imageHandler(el, binding, type)\n }\n\n public async add(el: HTMLElement, binding: vLazyImgBinding): Promise<void> {\n if (this.hasBgImgMode(binding) && this.isPictureElement(el)) {\n throw new Error(`[MazLazyImg] You can't use the \"bg-image\" mode with \"<picture />\" element`)\n }\n\n setTimeout(() => this.setBaseClass(el), 0)\n\n if (!el.getAttribute('src')) {\n this.setImgSrc(el, EMPTY_PHOTO)\n }\n\n await this.bindUpdateHandler(el, binding, 'bind')\n }\n\n public async update(el: HTMLElement, binding: vLazyImgBinding): Promise<void> {\n if (binding.value !== binding.oldValue) {\n this.hasImgLoaded = false\n this.removeAllStateClasses(el)\n\n await this.bindUpdateHandler(el, binding, 'update')\n }\n }\n\n public remove(el: HTMLElement, binding: vLazyImgBinding) {\n this.hasImgLoaded = false\n if (this.hasBgImgMode(binding)) {\n el.style.backgroundImage = ''\n }\n\n this.removeAllStateClasses(el)\n\n for (const observer of this.observers) {\n observer.unobserve(el)\n }\n\n this.observers = []\n }\n}\n","import type { ObjectDirective } from 'vue'\nimport { LazyImg, type vLazyImgBindingValue } from './lazy-img.handler'\n\nlet instance: LazyImg\n\nconst directive = {\n created(el, binding) {\n const options = typeof binding.value === 'object' ? binding.value : {}\n instance = new LazyImg(options)\n instance.add(el, binding)\n },\n updated(el, binding): void {\n instance.update(el, binding)\n },\n unmounted(el, binding): void {\n instance.remove(el, binding)\n },\n} satisfies ObjectDirective<HTMLElement, vLazyImgBindingValue>\n\nexport { directive as vLazyImg }\n"],"names":["EMPTY_PHOTO","DEFAULT_OPTIONS","LazyImg","opts","__publicField","photo","el","className","_a","_b","binding","dataSrc","sourceElements","source","srcSet","fallbackSrc","errorPhoto","imgElement","err","imageUrl","src","entries","observer","entry","observerCallback","intersectionObserver","observerOptions","type","instance","directive","options"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"link.CUxj8BQ5.cjs","sources":["../../src/icons/link.svg"],"sourcesContent":["import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n}\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, _cache[0] || (_cache[0] = [\n _createElementVNode(\"path\", {\n stroke: \"currentColor\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n \"stroke-width\": \"1.5\",\n d: \"M13.19 8.688a4.5 4.5 0 0 1 1.242 7.244l-4.5 4.5a4.5 4.5 0 0 1-6.364-6.364l1.757-1.757m13.35-.622 1.757-1.757a4.5 4.5 0 0 0-6.364-6.364l-4.5 4.5a4.5 4.5 0 0 0 1.242 7.244\"\n }, null, -1)\n ])))\n}\nexport default { render: render }"],"names":["_hoisted_1","render","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","link"],"mappings":"uGAEMA,EAAa,CACjB,MAAO,6BACP,MAAO,MACP,OAAQ,MACR,KAAM,OACN,QAAS,WACX,EAEO,SAASC,EAAOC,EAAMC,EAAQ,CACnC,OAAQC,EAAU,UAAA,EAAIC,EAAmB,mBAAC,MAAOL,EAAYG,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,CACrFG,EAAAA,mBAAoB,OAAQ,CAC1B,OAAQ,eACR,iBAAkB,QAClB,kBAAmB,QACnB,eAAgB,MAChB,EAAG,2KACT,EAAO,KAAM,EAAE,CACf,EAAI,CACJ,CACA,MAAeC,EAAA,CAAE,OAAQN,CAAM"}
1
+ {"version":3,"file":"link.CUxj8BQ5.cjs","sources":["../../icons/link.svg"],"sourcesContent":["import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n}\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, _cache[0] || (_cache[0] = [\n _createElementVNode(\"path\", {\n stroke: \"currentColor\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n \"stroke-width\": \"1.5\",\n d: \"M13.19 8.688a4.5 4.5 0 0 1 1.242 7.244l-4.5 4.5a4.5 4.5 0 0 1-6.364-6.364l1.757-1.757m13.35-.622 1.757-1.757a4.5 4.5 0 0 0-6.364-6.364l-4.5 4.5a4.5 4.5 0 0 0 1.242 7.244\"\n }, null, -1)\n ])))\n}\nexport default { render: render }"],"names":["_hoisted_1","render","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","link"],"mappings":"uGAEMA,EAAa,CACjB,MAAO,6BACP,MAAO,MACP,OAAQ,MACR,KAAM,OACN,QAAS,WACX,EAEO,SAASC,EAAOC,EAAMC,EAAQ,CACnC,OAAQC,EAAU,UAAA,EAAIC,EAAmB,mBAAC,MAAOL,EAAYG,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,CACrFG,EAAAA,mBAAoB,OAAQ,CAC1B,OAAQ,eACR,iBAAkB,QAClB,kBAAmB,QACnB,eAAgB,MAChB,EAAG,2KACT,EAAO,KAAM,EAAE,CACf,EAAI,CACJ,CACA,MAAeC,EAAA,CAAE,OAAQN,CAAM"}
@@ -1 +1 @@
1
- {"version":3,"file":"link.qHT4E8pY.mjs","sources":["../../src/icons/link.svg"],"sourcesContent":["import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n}\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, _cache[0] || (_cache[0] = [\n _createElementVNode(\"path\", {\n stroke: \"currentColor\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n \"stroke-width\": \"1.5\",\n d: \"M13.19 8.688a4.5 4.5 0 0 1 1.242 7.244l-4.5 4.5a4.5 4.5 0 0 1-6.364-6.364l1.757-1.757m13.35-.622 1.757-1.757a4.5 4.5 0 0 0-6.364-6.364l-4.5 4.5a4.5 4.5 0 0 0 1.242 7.244\"\n }, null, -1)\n ])))\n}\nexport default { render: render }"],"names":["_hoisted_1","render","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","link"],"mappings":";AAEA,MAAMA,IAAa;AAAA,EACjB,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,SAAS;AACX;AAEO,SAASC,EAAOC,GAAMC,GAAQ;AACnC,SAAQC,EAAU,GAAIC,EAAoB,OAAOL,GAAYG,EAAO,CAAC,MAAMA,EAAO,CAAC,IAAI;AAAA,IACrFG,EAAoB,QAAQ;AAAA,MAC1B,QAAQ;AAAA,MACR,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,gBAAgB;AAAA,MAChB,GAAG;AAAA,IACT,GAAO,MAAM,EAAE;AAAA,EACf,EAAI;AACJ;AACA,MAAeC,IAAA,EAAE,QAAQN,EAAM;"}
1
+ {"version":3,"file":"link.qHT4E8pY.mjs","sources":["../../icons/link.svg"],"sourcesContent":["import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n}\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, _cache[0] || (_cache[0] = [\n _createElementVNode(\"path\", {\n stroke: \"currentColor\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n \"stroke-width\": \"1.5\",\n d: \"M13.19 8.688a4.5 4.5 0 0 1 1.242 7.244l-4.5 4.5a4.5 4.5 0 0 1-6.364-6.364l1.757-1.757m13.35-.622 1.757-1.757a4.5 4.5 0 0 0-6.364-6.364l-4.5 4.5a4.5 4.5 0 0 0 1.242 7.244\"\n }, null, -1)\n ])))\n}\nexport default { render: render }"],"names":["_hoisted_1","render","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","link"],"mappings":";AAEA,MAAMA,IAAa;AAAA,EACjB,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,SAAS;AACX;AAEO,SAASC,EAAOC,GAAMC,GAAQ;AACnC,SAAQC,EAAU,GAAIC,EAAoB,OAAOL,GAAYG,EAAO,CAAC,MAAMA,EAAO,CAAC,IAAI;AAAA,IACrFG,EAAoB,QAAQ;AAAA,MAC1B,QAAQ;AAAA,MACR,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,gBAAgB;AAAA,MAChB,GAAG;AAAA,IACT,GAAO,MAAM,EAAE;AAAA,EACf,EAAI;AACJ;AACA,MAAeC,IAAA,EAAE,QAAQN,EAAM;"}
@@ -1 +1 @@
1
- {"version":3,"file":"magnifying-glass.6EkSEo-G.mjs","sources":["../../src/icons/magnifying-glass.svg"],"sourcesContent":["import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n}\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, _cache[0] || (_cache[0] = [\n _createElementVNode(\"path\", {\n stroke: \"currentColor\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n \"stroke-width\": \"1.5\",\n d: \"m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607\"\n }, null, -1)\n ])))\n}\nexport default { render: render }"],"names":["_hoisted_1","render","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","magnifyingGlass"],"mappings":";AAEA,MAAMA,IAAa;AAAA,EACjB,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,SAAS;AACX;AAEO,SAASC,EAAOC,GAAMC,GAAQ;AACnC,SAAQC,EAAU,GAAIC,EAAoB,OAAOL,GAAYG,EAAO,CAAC,MAAMA,EAAO,CAAC,IAAI;AAAA,IACrFG,EAAoB,QAAQ;AAAA,MAC1B,QAAQ;AAAA,MACR,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,gBAAgB;AAAA,MAChB,GAAG;AAAA,IACT,GAAO,MAAM,EAAE;AAAA,EACf,EAAI;AACJ;AACA,MAAeC,IAAA,EAAE,QAAQN,EAAM;"}
1
+ {"version":3,"file":"magnifying-glass.6EkSEo-G.mjs","sources":["../../icons/magnifying-glass.svg"],"sourcesContent":["import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n}\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, _cache[0] || (_cache[0] = [\n _createElementVNode(\"path\", {\n stroke: \"currentColor\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n \"stroke-width\": \"1.5\",\n d: \"m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607\"\n }, null, -1)\n ])))\n}\nexport default { render: render }"],"names":["_hoisted_1","render","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","magnifyingGlass"],"mappings":";AAEA,MAAMA,IAAa;AAAA,EACjB,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,SAAS;AACX;AAEO,SAASC,EAAOC,GAAMC,GAAQ;AACnC,SAAQC,EAAU,GAAIC,EAAoB,OAAOL,GAAYG,EAAO,CAAC,MAAMA,EAAO,CAAC,IAAI;AAAA,IACrFG,EAAoB,QAAQ;AAAA,MAC1B,QAAQ;AAAA,MACR,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,gBAAgB;AAAA,MAChB,GAAG;AAAA,IACT,GAAO,MAAM,EAAE;AAAA,EACf,EAAI;AACJ;AACA,MAAeC,IAAA,EAAE,QAAQN,EAAM;"}
@@ -1 +1 @@
1
- {"version":3,"file":"magnifying-glass.CSf_M2wG.cjs","sources":["../../src/icons/magnifying-glass.svg"],"sourcesContent":["import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n}\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, _cache[0] || (_cache[0] = [\n _createElementVNode(\"path\", {\n stroke: \"currentColor\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n \"stroke-width\": \"1.5\",\n d: \"m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607\"\n }, null, -1)\n ])))\n}\nexport default { render: render }"],"names":["_hoisted_1","render","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","magnifyingGlass"],"mappings":"uGAEMA,EAAa,CACjB,MAAO,6BACP,MAAO,MACP,OAAQ,MACR,KAAM,OACN,QAAS,WACX,EAEO,SAASC,EAAOC,EAAMC,EAAQ,CACnC,OAAQC,EAAU,UAAA,EAAIC,EAAmB,mBAAC,MAAOL,EAAYG,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,CACrFG,EAAAA,mBAAoB,OAAQ,CAC1B,OAAQ,eACR,iBAAkB,QAClB,kBAAmB,QACnB,eAAgB,MAChB,EAAG,8EACT,EAAO,KAAM,EAAE,CACf,EAAI,CACJ,CACA,MAAeC,EAAA,CAAE,OAAQN,CAAM"}
1
+ {"version":3,"file":"magnifying-glass.CSf_M2wG.cjs","sources":["../../icons/magnifying-glass.svg"],"sourcesContent":["import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n}\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, _cache[0] || (_cache[0] = [\n _createElementVNode(\"path\", {\n stroke: \"currentColor\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n \"stroke-width\": \"1.5\",\n d: \"m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607\"\n }, null, -1)\n ])))\n}\nexport default { render: render }"],"names":["_hoisted_1","render","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","magnifyingGlass"],"mappings":"uGAEMA,EAAa,CACjB,MAAO,6BACP,MAAO,MACP,OAAQ,MACR,KAAM,OACN,QAAS,WACX,EAEO,SAASC,EAAOC,EAAMC,EAAQ,CACnC,OAAQC,EAAU,UAAA,EAAIC,EAAmB,mBAAC,MAAOL,EAAYG,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,CACrFG,EAAAA,mBAAoB,OAAQ,CAC1B,OAAQ,eACR,iBAAkB,QAClB,kBAAmB,QACnB,eAAgB,MAChB,EAAG,8EACT,EAAO,KAAM,EAAE,CACf,EAAI,CACJ,CACA,MAAeC,EAAA,CAAE,OAAQN,CAAM"}
@@ -1 +1 @@
1
- {"version":3,"file":"minus.B8s20I4l.cjs","sources":["../../src/icons/minus.svg"],"sourcesContent":["import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n}\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, _cache[0] || (_cache[0] = [\n _createElementVNode(\"path\", {\n stroke: \"currentColor\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n \"stroke-width\": \"1.5\",\n d: \"M5 12h14\"\n }, null, -1)\n ])))\n}\nexport default { render: render }"],"names":["_hoisted_1","render","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","minus"],"mappings":"uGAEMA,EAAa,CACjB,MAAO,6BACP,MAAO,MACP,OAAQ,MACR,KAAM,OACN,QAAS,WACX,EAEO,SAASC,EAAOC,EAAMC,EAAQ,CACnC,OAAQC,EAAU,UAAA,EAAIC,EAAmB,mBAAC,MAAOL,EAAYG,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,CACrFG,EAAAA,mBAAoB,OAAQ,CAC1B,OAAQ,eACR,iBAAkB,QAClB,kBAAmB,QACnB,eAAgB,MAChB,EAAG,UACT,EAAO,KAAM,EAAE,CACf,EAAI,CACJ,CACA,MAAeC,EAAA,CAAE,OAAQN,CAAM"}
1
+ {"version":3,"file":"minus.B8s20I4l.cjs","sources":["../../icons/minus.svg"],"sourcesContent":["import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n}\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, _cache[0] || (_cache[0] = [\n _createElementVNode(\"path\", {\n stroke: \"currentColor\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n \"stroke-width\": \"1.5\",\n d: \"M5 12h14\"\n }, null, -1)\n ])))\n}\nexport default { render: render }"],"names":["_hoisted_1","render","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","minus"],"mappings":"uGAEMA,EAAa,CACjB,MAAO,6BACP,MAAO,MACP,OAAQ,MACR,KAAM,OACN,QAAS,WACX,EAEO,SAASC,EAAOC,EAAMC,EAAQ,CACnC,OAAQC,EAAU,UAAA,EAAIC,EAAmB,mBAAC,MAAOL,EAAYG,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,CACrFG,EAAAA,mBAAoB,OAAQ,CAC1B,OAAQ,eACR,iBAAkB,QAClB,kBAAmB,QACnB,eAAgB,MAChB,EAAG,UACT,EAAO,KAAM,EAAE,CACf,EAAI,CACJ,CACA,MAAeC,EAAA,CAAE,OAAQN,CAAM"}
@@ -1 +1 @@
1
- {"version":3,"file":"minus.BHEyT7J2.mjs","sources":["../../src/icons/minus.svg"],"sourcesContent":["import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n}\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, _cache[0] || (_cache[0] = [\n _createElementVNode(\"path\", {\n stroke: \"currentColor\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n \"stroke-width\": \"1.5\",\n d: \"M5 12h14\"\n }, null, -1)\n ])))\n}\nexport default { render: render }"],"names":["_hoisted_1","render","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","minus"],"mappings":";AAEA,MAAMA,IAAa;AAAA,EACjB,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,SAAS;AACX;AAEO,SAASC,EAAOC,GAAMC,GAAQ;AACnC,SAAQC,EAAU,GAAIC,EAAoB,OAAOL,GAAYG,EAAO,CAAC,MAAMA,EAAO,CAAC,IAAI;AAAA,IACrFG,EAAoB,QAAQ;AAAA,MAC1B,QAAQ;AAAA,MACR,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,gBAAgB;AAAA,MAChB,GAAG;AAAA,IACT,GAAO,MAAM,EAAE;AAAA,EACf,EAAI;AACJ;AACA,MAAeC,IAAA,EAAE,QAAQN,EAAM;"}
1
+ {"version":3,"file":"minus.BHEyT7J2.mjs","sources":["../../icons/minus.svg"],"sourcesContent":["import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n}\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, _cache[0] || (_cache[0] = [\n _createElementVNode(\"path\", {\n stroke: \"currentColor\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n \"stroke-width\": \"1.5\",\n d: \"M5 12h14\"\n }, null, -1)\n ])))\n}\nexport default { render: render }"],"names":["_hoisted_1","render","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","minus"],"mappings":";AAEA,MAAMA,IAAa;AAAA,EACjB,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,SAAS;AACX;AAEO,SAASC,EAAOC,GAAMC,GAAQ;AACnC,SAAQC,EAAU,GAAIC,EAAoB,OAAOL,GAAYG,EAAO,CAAC,MAAMA,EAAO,CAAC,IAAI;AAAA,IACrFG,EAAoB,QAAQ;AAAA,MAC1B,QAAQ;AAAA,MACR,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,gBAAgB;AAAA,MAChB,GAAG;AAAA,IACT,GAAO,MAAM,EAAE;AAAA,EACf,EAAI;AACJ;AACA,MAAeC,IAAA,EAAE,QAAQN,EAAM;"}
@@ -1 +1 @@
1
- {"version":3,"file":"no-photography.B6pz0xMN.mjs","sources":["../../src/icons/no-photography.svg"],"sourcesContent":["import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n viewBox: \"0 0 24 24\"\n}\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, _cache[0] || (_cache[0] = [\n _createElementVNode(\"rect\", {\n width: \"1em\",\n height: \"1em\",\n fill: \"none\"\n }, null, -1),\n _createElementVNode(\"path\", { d: \"M8.9 6.07 7.48 4.66 9 3h6l1.83 2H20c1.1 0 2 .9 2 2v12c0 .05-.01.1-.02.16L20 17.17V7h-4.05l-1.83-2H9.88zm11.59 17.24L18.17 21H4c-1.1 0-2-.9-2-2V7c0-.59.27-1.12.68-1.49l-2-2L2.1 2.1l19.8 19.8zM9.19 12.02c-.11.31-.19.63-.19.98 0 1.66 1.34 3 3 3 .35 0 .67-.08.98-.19zM16.17 19l-1.68-1.68c-.73.43-1.58.68-2.49.68-2.76 0-5-2.24-5-5 0-.91.25-1.76.68-2.49L4.17 7H4v12zm-1.36-7.02 2.07 2.07c.08-.34.12-.69.12-1.05 0-2.76-2.24-5-5-5-.36 0-.71.04-1.06.12l2.07 2.07c.84.3 1.5.96 1.8 1.79\" }, null, -1)\n ])))\n}\nexport default { render: render }"],"names":["_hoisted_1","render","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","noPhotography"],"mappings":";AAEA,MAAMA,IAAa;AAAA,EACjB,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,eAAe;AAAA,EACf,SAAS;AACX;AAEO,SAASC,EAAOC,GAAMC,GAAQ;AACnC,SAAQC,EAAU,GAAIC,EAAoB,OAAOL,GAAYG,EAAO,CAAC,MAAMA,EAAO,CAAC,IAAI;AAAA,IACrFG,EAAoB,QAAQ;AAAA,MAC1B,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM;AAAA,IACZ,GAAO,MAAM,EAAE;AAAA,IACXA,EAAoB,QAAQ,EAAE,GAAG,8dAA+d,GAAE,MAAM,EAAE;AAAA,EAC9gB,EAAI;AACJ;AACA,MAAeC,IAAA,EAAE,QAAQN,EAAM;"}
1
+ {"version":3,"file":"no-photography.B6pz0xMN.mjs","sources":["../../icons/no-photography.svg"],"sourcesContent":["import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n viewBox: \"0 0 24 24\"\n}\n\nexport function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"svg\", _hoisted_1, _cache[0] || (_cache[0] = [\n _createElementVNode(\"rect\", {\n width: \"1em\",\n height: \"1em\",\n fill: \"none\"\n }, null, -1),\n _createElementVNode(\"path\", { d: \"M8.9 6.07 7.48 4.66 9 3h6l1.83 2H20c1.1 0 2 .9 2 2v12c0 .05-.01.1-.02.16L20 17.17V7h-4.05l-1.83-2H9.88zm11.59 17.24L18.17 21H4c-1.1 0-2-.9-2-2V7c0-.59.27-1.12.68-1.49l-2-2L2.1 2.1l19.8 19.8zM9.19 12.02c-.11.31-.19.63-.19.98 0 1.66 1.34 3 3 3 .35 0 .67-.08.98-.19zM16.17 19l-1.68-1.68c-.73.43-1.58.68-2.49.68-2.76 0-5-2.24-5-5 0-.91.25-1.76.68-2.49L4.17 7H4v12zm-1.36-7.02 2.07 2.07c.08-.34.12-.69.12-1.05 0-2.76-2.24-5-5-5-.36 0-.71.04-1.06.12l2.07 2.07c.84.3 1.5.96 1.8 1.79\" }, null, -1)\n ])))\n}\nexport default { render: render }"],"names":["_hoisted_1","render","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","noPhotography"],"mappings":";AAEA,MAAMA,IAAa;AAAA,EACjB,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,eAAe;AAAA,EACf,SAAS;AACX;AAEO,SAASC,EAAOC,GAAMC,GAAQ;AACnC,SAAQC,EAAU,GAAIC,EAAoB,OAAOL,GAAYG,EAAO,CAAC,MAAMA,EAAO,CAAC,IAAI;AAAA,IACrFG,EAAoB,QAAQ;AAAA,MAC1B,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM;AAAA,IACZ,GAAO,MAAM,EAAE;AAAA,IACXA,EAAoB,QAAQ,EAAE,GAAG,8dAA+d,GAAE,MAAM,EAAE;AAAA,EAC9gB,EAAI;AACJ;AACA,MAAeC,IAAA,EAAE,QAAQN,EAAM;"}
@@ -1 +1 @@
1
- {"version":3,"file":"no-photography.BJX8HSus.mjs","sources":["../../src/icons/no-photography.svg?url"],"sourcesContent":["export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20stroke='none'%20height='1em'%20width='1em'%20fill='currentColor'%20aria-hidden='true'%3e%3cg%3e%3crect%20fill='none'%20height='1em'%20width='1em'%20/%3e%3cg%3e%3cpath%20d='M8.9,6.07L7.48,4.66L9,3h6l1.83,2H20c1.1,0,2,0.9,2,2v12c0,0.05-0.01,0.1-0.02,0.16L20,17.17V7h-4.05l-1.83-2H9.88%20L8.9,6.07z%20M20.49,23.31L18.17,21H4c-1.1,0-2-0.9-2-2V7c0-0.59,0.27-1.12,0.68-1.49l-2-2L2.1,2.1l19.8,19.8L20.49,23.31z%20M9.19,12.02C9.08,12.33,9,12.65,9,13c0,1.66,1.34,3,3,3c0.35,0,0.67-0.08,0.98-0.19L9.19,12.02z%20M16.17,19l-1.68-1.68%20C13.76,17.75,12.91,18,12,18c-2.76,0-5-2.24-5-5c0-0.91,0.25-1.76,0.68-2.49L4.17,7H4v12H16.17z%20M14.81,11.98l2.07,2.07%20C16.96,13.71,17,13.36,17,13c0-2.76-2.24-5-5-5c-0.36,0-0.71,0.04-1.06,0.12l2.07,2.07C13.85,10.49,14.51,11.15,14.81,11.98z'%20/%3e%3c/g%3e%3c/g%3e%3c/svg%3e\""],"names":["noPhotography"],"mappings":"AAAA,MAAeA,IAAA;"}
1
+ {"version":3,"file":"no-photography.BJX8HSus.mjs","sources":["../../icons/no-photography.svg?url"],"sourcesContent":["export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20stroke='none'%20height='1em'%20width='1em'%20fill='currentColor'%20aria-hidden='true'%3e%3cg%3e%3crect%20fill='none'%20height='1em'%20width='1em'%20/%3e%3cg%3e%3cpath%20d='M8.9,6.07L7.48,4.66L9,3h6l1.83,2H20c1.1,0,2,0.9,2,2v12c0,0.05-0.01,0.1-0.02,0.16L20,17.17V7h-4.05l-1.83-2H9.88%20L8.9,6.07z%20M20.49,23.31L18.17,21H4c-1.1,0-2-0.9-2-2V7c0-0.59,0.27-1.12,0.68-1.49l-2-2L2.1,2.1l19.8,19.8L20.49,23.31z%20M9.19,12.02C9.08,12.33,9,12.65,9,13c0,1.66,1.34,3,3,3c0.35,0,0.67-0.08,0.98-0.19L9.19,12.02z%20M16.17,19l-1.68-1.68%20C13.76,17.75,12.91,18,12,18c-2.76,0-5-2.24-5-5c0-0.91,0.25-1.76,0.68-2.49L4.17,7H4v12H16.17z%20M14.81,11.98l2.07,2.07%20C16.96,13.71,17,13.36,17,13c0-2.76-2.24-5-5-5c-0.36,0-0.71,0.04-1.06,0.12l2.07,2.07C13.85,10.49,14.51,11.15,14.81,11.98z'%20/%3e%3c/g%3e%3c/g%3e%3c/svg%3e\""],"names":["noPhotography"],"mappings":"AAAA,MAAeA,IAAA;"}