maz-ui 3.22.4 → 3.23.0

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 (238) hide show
  1. package/components/MazAvatar.mjs +2 -2
  2. package/components/MazBackdrop.mjs +67 -107
  3. package/components/MazBadge.mjs +41 -50
  4. package/components/MazBottomSheet.mjs +2 -2
  5. package/components/MazBtn.mjs +2 -2
  6. package/components/MazCard.mjs +2 -2
  7. package/components/MazCarousel.mjs +2 -2
  8. package/components/MazChart.mjs +53 -63
  9. package/components/MazCheckbox.mjs +84 -128
  10. package/components/MazDialog.mjs +2 -2
  11. package/components/MazDialogPromise.mjs +3 -3
  12. package/components/MazDrawer.mjs +2 -2
  13. package/components/MazDropdown.mjs +2 -2
  14. package/components/MazDropzone.mjs +2 -2
  15. package/components/MazFullscreenLoader.mjs +14 -18
  16. package/components/MazGallery.mjs +352 -558
  17. package/components/MazIcon.mjs +76 -140
  18. package/components/MazInput.mjs +2 -2
  19. package/components/MazInputNumber.mjs +72 -99
  20. package/components/MazInputPrice.mjs +2 -2
  21. package/components/MazInputTags.mjs +2 -2
  22. package/components/MazLazyImg.mjs +2 -2
  23. package/components/MazPhoneNumberInput.mjs +2 -2
  24. package/components/MazPicker.mjs +2 -2
  25. package/components/MazRadio.mjs +65 -94
  26. package/components/MazRadioButtons.mjs +64 -78
  27. package/components/MazSelect.mjs +2 -2
  28. package/components/MazSlider.mjs +213 -325
  29. package/components/MazSpinner.mjs +25 -34
  30. package/components/MazStepper.mjs +2 -2
  31. package/components/MazSwitch.mjs +43 -60
  32. package/components/MazTabs.mjs +16 -25
  33. package/components/MazTabsBar.mjs +2 -2
  34. package/components/MazTabsContent.mjs +34 -43
  35. package/components/MazTabsContentItem.mjs +49 -63
  36. package/components/MazTextarea.mjs +124 -169
  37. package/components/MazTransitionExpand.mjs +36 -54
  38. package/components/assets/MazBackdrop.css +1 -1
  39. package/components/assets/MazBottomSheet.css +1 -1
  40. package/components/assets/MazDialog.css +1 -1
  41. package/components/assets/MazDialogPromise.css +1 -1
  42. package/components/assets/MazDrawer.css +1 -1
  43. package/components/assets/MazPhoneNumberInput.css +1 -1
  44. package/components/assets/MazSelect.css +1 -1
  45. package/components/chunks/MazAvatar-1636f58b.mjs +126 -0
  46. package/components/chunks/MazBottomSheet-c24f92f8.mjs +217 -0
  47. package/components/chunks/MazBtn-124f3700.mjs +153 -0
  48. package/components/chunks/MazBtn-1e61862b.mjs +153 -0
  49. package/components/chunks/MazBtn-2d1d1ba5.mjs +153 -0
  50. package/components/chunks/MazBtn-3d74f737.mjs +153 -0
  51. package/components/chunks/MazBtn-4a447126.mjs +153 -0
  52. package/components/chunks/MazBtn-555928ed.mjs +153 -0
  53. package/components/chunks/MazBtn-571454f6.mjs +153 -0
  54. package/components/chunks/MazBtn-5e426592.mjs +153 -0
  55. package/components/chunks/MazBtn-6905cc39.mjs +153 -0
  56. package/components/chunks/MazBtn-6ce4cfd3.mjs +153 -0
  57. package/components/chunks/MazBtn-74656d5b.mjs +153 -0
  58. package/components/chunks/MazBtn-7706b2da.mjs +158 -0
  59. package/components/chunks/MazBtn-a7a913dd.mjs +153 -0
  60. package/components/chunks/MazBtn-ba27c61d.mjs +153 -0
  61. package/components/chunks/MazBtn-fb3c7af8.mjs +153 -0
  62. package/components/chunks/MazCard-bcc36489.mjs +214 -0
  63. package/components/chunks/MazCarousel-6da75122.mjs +107 -0
  64. package/components/chunks/MazCheckbox-040dc2c4.mjs +117 -0
  65. package/components/chunks/MazCheckbox-3a2b48b4.mjs +117 -0
  66. package/components/chunks/MazDialog-44eda544.mjs +250 -0
  67. package/components/chunks/MazDialogPromise-eec5acde.mjs +419 -0
  68. package/components/chunks/MazDrawer-b628b37e.mjs +206 -0
  69. package/components/chunks/MazDropdown-6f2248b0.mjs +345 -0
  70. package/components/chunks/MazDropzone-8cac10a6.mjs +242 -0
  71. package/components/chunks/MazGallery-6b8ecedf.mjs +617 -0
  72. package/components/chunks/MazIcon-52a76873.mjs +101 -0
  73. package/components/chunks/MazIcon-95e31ff8.mjs +96 -0
  74. package/components/chunks/MazInput-1ed4f946.mjs +283 -0
  75. package/components/chunks/MazInput-c51881ea.mjs +278 -0
  76. package/components/chunks/MazInput-e1373eaf.mjs +271 -0
  77. package/components/chunks/MazInputPrice-cd348d46.mjs +392 -0
  78. package/components/chunks/MazInputTags-aa95fae7.mjs +446 -0
  79. package/components/chunks/MazLazyImg-0412ab38.mjs +259 -0
  80. package/components/chunks/MazLazyImg-47d3449a.mjs +254 -0
  81. package/components/chunks/MazPhoneNumberInput-e1bf46f9.mjs +1216 -0
  82. package/components/chunks/MazPicker-c85774e5.mjs +1140 -0
  83. package/components/chunks/MazPickerCalendar-f5bbea58.mjs +532 -0
  84. package/components/chunks/MazPickerHeader-31a3619b.mjs +186 -0
  85. package/components/chunks/MazPickerMonthSwitcher-aaa759b9.mjs +97 -0
  86. package/components/chunks/MazPickerShortcuts-d0623e2d.mjs +74 -0
  87. package/components/chunks/MazPickerTime-de9cfc63.mjs +219 -0
  88. package/components/chunks/MazPickerYearSwitcher-746c84fc.mjs +106 -0
  89. package/components/chunks/MazSelect-6ff6bb96.mjs +652 -0
  90. package/components/chunks/MazSpinner-054f948c.mjs +39 -0
  91. package/components/chunks/MazSpinner-059ee1d2.mjs +39 -0
  92. package/components/chunks/MazSpinner-08ee440b.mjs +39 -0
  93. package/components/chunks/MazSpinner-13403729.mjs +39 -0
  94. package/components/chunks/MazSpinner-44011019.mjs +39 -0
  95. package/components/chunks/MazSpinner-452a1534.mjs +39 -0
  96. package/components/chunks/MazSpinner-4c02cfd2.mjs +39 -0
  97. package/components/chunks/MazSpinner-6d1d24d5.mjs +39 -0
  98. package/components/chunks/MazSpinner-6e7c4705.mjs +39 -0
  99. package/components/chunks/MazSpinner-7895f54f.mjs +39 -0
  100. package/components/chunks/MazSpinner-7eee202e.mjs +39 -0
  101. package/components/chunks/MazSpinner-805e14a6.mjs +39 -0
  102. package/components/chunks/MazSpinner-85080b43.mjs +39 -0
  103. package/components/chunks/MazSpinner-a13a50c9.mjs +39 -0
  104. package/components/chunks/MazSpinner-a6d61cee.mjs +43 -0
  105. package/components/chunks/MazSpinner-b065168a.mjs +39 -0
  106. package/components/chunks/MazSpinner-c67b05bb.mjs +39 -0
  107. package/components/chunks/MazSpinner-caa33afc.mjs +39 -0
  108. package/components/chunks/MazSpinner-cb8fbe9a.mjs +39 -0
  109. package/components/chunks/MazSpinner-d9ef329f.mjs +39 -0
  110. package/components/chunks/MazStepper-39f018f3.mjs +191 -0
  111. package/components/chunks/MazTabsBar-27965f16.mjs +132 -0
  112. package/components/chunks/MazTransitionExpand-55cfbecb.mjs +41 -0
  113. package/components/chunks/MazTransitionExpand-cd24498f.mjs +41 -0
  114. package/components/chunks/_plugin-vue_export-helper-dad06003.mjs +9 -0
  115. package/components/chunks/check-31d7ba2f.mjs +30 -0
  116. package/components/chunks/check-c9b483c0.mjs +30 -0
  117. package/components/chunks/{check-circle-7acfa4c4.mjs → check-circle-59c383ed.mjs} +10 -12
  118. package/components/chunks/chevron-down-2b60111a.mjs +30 -0
  119. package/components/chunks/chevron-left-39b4621e.mjs +30 -0
  120. package/components/chunks/chevron-right-949a60fa.mjs +30 -0
  121. package/components/chunks/debounce-19c516b6.mjs +11 -0
  122. package/components/chunks/examples.mobile.json-f63d22fb.mjs +4 -0
  123. package/components/chunks/{exclamation-circle-2e115536.mjs → exclamation-circle-e2620aab.mjs} +10 -12
  124. package/components/chunks/{exclamation-triangle-10eb48dc.mjs → exclamation-triangle-21bf116a.mjs} +10 -12
  125. package/components/chunks/{eye-fbb13657.mjs → eye-dc12ce09.mjs} +12 -15
  126. package/components/chunks/{eye-slash-342420ff.mjs → eye-slash-fa42a017.mjs} +10 -12
  127. package/components/chunks/{magnifying-glass-5dffa35e.mjs → magnifying-glass-908981c0.mjs} +10 -12
  128. package/components/chunks/minus-e71140e1.mjs +30 -0
  129. package/components/chunks/no-photography-4c6c77cf.mjs +4 -0
  130. package/components/chunks/{no-photography-b0d08d6f.mjs → no-photography-be94ddda.mjs} +12 -15
  131. package/components/chunks/{no-symbol-975ce547.mjs → no-symbol-87477ad0.mjs} +10 -12
  132. package/components/chunks/{pencil-2f766dc8.mjs → pencil-4c35b4e7.mjs} +10 -12
  133. package/components/chunks/plus-c20544c3.mjs +30 -0
  134. package/components/chunks/x-mark-35f2f1e7.mjs +30 -0
  135. package/components/chunks/x-mark-7761acf4.mjs +29 -0
  136. package/modules/chunks/MazBtn-82a868df.mjs +153 -0
  137. package/modules/chunks/MazIcon-169747b4.mjs +96 -0
  138. package/modules/chunks/MazSpinner-3febbfdc.mjs +39 -0
  139. package/modules/chunks/{arrow-top-right-on-square-32bbe5a1.mjs → arrow-top-right-on-square-15191934.mjs} +10 -12
  140. package/modules/chunks/chevron-left-39b4621e.mjs +30 -0
  141. package/modules/chunks/index-d9a25303.mjs +1628 -0
  142. package/modules/chunks/{link-4eb05848.mjs → link-bb14441d.mjs} +10 -12
  143. package/modules/chunks/no-photography-4c6c77cf.mjs +4 -0
  144. package/modules/chunks/x-mark-35f2f1e7.mjs +30 -0
  145. package/modules/index.mjs +45 -44
  146. package/nuxt/index.json +1 -1
  147. package/package.json +6 -2
  148. package/types/modules/index.d.ts +1 -0
  149. package/types/modules/resolvers/index.d.ts +2 -0
  150. package/components/chunks/MazAvatar-358d78d4.mjs +0 -138
  151. package/components/chunks/MazBottomSheet-61090f4a.mjs +0 -267
  152. package/components/chunks/MazBtn-0e02f0da.mjs +0 -184
  153. package/components/chunks/MazBtn-1daf9063.mjs +0 -184
  154. package/components/chunks/MazBtn-2f4fa942.mjs +0 -184
  155. package/components/chunks/MazBtn-31c6b731.mjs +0 -184
  156. package/components/chunks/MazBtn-48382169.mjs +0 -184
  157. package/components/chunks/MazBtn-4e1e116e.mjs +0 -184
  158. package/components/chunks/MazBtn-50abc4c5.mjs +0 -184
  159. package/components/chunks/MazBtn-84e12b6a.mjs +0 -184
  160. package/components/chunks/MazBtn-b42e3575.mjs +0 -184
  161. package/components/chunks/MazBtn-b56a7278.mjs +0 -184
  162. package/components/chunks/MazBtn-bbd6e9c8.mjs +0 -184
  163. package/components/chunks/MazBtn-cf0c8fcb.mjs +0 -184
  164. package/components/chunks/MazBtn-d92908b2.mjs +0 -191
  165. package/components/chunks/MazBtn-f48da79c.mjs +0 -184
  166. package/components/chunks/MazBtn-fec4c3b7.mjs +0 -184
  167. package/components/chunks/MazCard-4331dca0.mjs +0 -237
  168. package/components/chunks/MazCarousel-7825c7c9.mjs +0 -133
  169. package/components/chunks/MazCheckbox-ab5ddda2.mjs +0 -153
  170. package/components/chunks/MazCheckbox-e0bbe6ec.mjs +0 -153
  171. package/components/chunks/MazDialog-83e54b8c.mjs +0 -290
  172. package/components/chunks/MazDialogPromise-6967e821.mjs +0 -474
  173. package/components/chunks/MazDrawer-d778b3d2.mjs +0 -256
  174. package/components/chunks/MazDropdown-6f4482d7.mjs +0 -426
  175. package/components/chunks/MazDropzone-d1bb62dc.mjs +0 -325
  176. package/components/chunks/MazGallery-b2dc4286.mjs +0 -821
  177. package/components/chunks/MazIcon-b779da0a.mjs +0 -159
  178. package/components/chunks/MazIcon-bda198b4.mjs +0 -165
  179. package/components/chunks/MazInput-713b00d0.mjs +0 -326
  180. package/components/chunks/MazInput-b9386887.mjs +0 -341
  181. package/components/chunks/MazInput-c33627dd.mjs +0 -334
  182. package/components/chunks/MazInputPrice-452297f5.mjs +0 -481
  183. package/components/chunks/MazInputTags-7a463b81.mjs +0 -526
  184. package/components/chunks/MazLazyImg-6e395356.mjs +0 -336
  185. package/components/chunks/MazLazyImg-e0d8b6d0.mjs +0 -329
  186. package/components/chunks/MazPhoneNumberInput-48fe2445.mjs +0 -1536
  187. package/components/chunks/MazPicker-50fc11d1.mjs +0 -1352
  188. package/components/chunks/MazPickerCalendar-cacb361c.mjs +0 -689
  189. package/components/chunks/MazPickerHeader-63d45179.mjs +0 -216
  190. package/components/chunks/MazPickerMonthSwitcher-913c6e2c.mjs +0 -110
  191. package/components/chunks/MazPickerShortcuts-c6fabfc6.mjs +0 -88
  192. package/components/chunks/MazPickerTime-5e4475da.mjs +0 -301
  193. package/components/chunks/MazPickerYearSwitcher-dd4fa89c.mjs +0 -125
  194. package/components/chunks/MazSelect-2e5cd411.mjs +0 -850
  195. package/components/chunks/MazSpinner-022d7bee.mjs +0 -46
  196. package/components/chunks/MazSpinner-100c99b8.mjs +0 -46
  197. package/components/chunks/MazSpinner-191ad23b.mjs +0 -46
  198. package/components/chunks/MazSpinner-3155378b.mjs +0 -46
  199. package/components/chunks/MazSpinner-339a9006.mjs +0 -46
  200. package/components/chunks/MazSpinner-53979e96.mjs +0 -46
  201. package/components/chunks/MazSpinner-68d2f2ac.mjs +0 -46
  202. package/components/chunks/MazSpinner-6b563b22.mjs +0 -46
  203. package/components/chunks/MazSpinner-7cdc13e7.mjs +0 -46
  204. package/components/chunks/MazSpinner-8859d658.mjs +0 -46
  205. package/components/chunks/MazSpinner-8e180605.mjs +0 -52
  206. package/components/chunks/MazSpinner-9950424b.mjs +0 -46
  207. package/components/chunks/MazSpinner-c8270a93.mjs +0 -46
  208. package/components/chunks/MazSpinner-cb491238.mjs +0 -46
  209. package/components/chunks/MazSpinner-cb6f99f3.mjs +0 -46
  210. package/components/chunks/MazSpinner-ce4be8f1.mjs +0 -46
  211. package/components/chunks/MazSpinner-e5a9f319.mjs +0 -46
  212. package/components/chunks/MazSpinner-e92bd359.mjs +0 -46
  213. package/components/chunks/MazSpinner-eea9056d.mjs +0 -46
  214. package/components/chunks/MazSpinner-f1e69f29.mjs +0 -46
  215. package/components/chunks/MazStepper-4c19dbfc.mjs +0 -255
  216. package/components/chunks/MazTabsBar-3c2e2d69.mjs +0 -157
  217. package/components/chunks/MazTransitionExpand-474b00d4.mjs +0 -57
  218. package/components/chunks/MazTransitionExpand-f9e5a2d6.mjs +0 -57
  219. package/components/chunks/_plugin-vue_export-helper-cc2b3d55.mjs +0 -10
  220. package/components/chunks/check-8da249b1.mjs +0 -32
  221. package/components/chunks/check-f2fcce10.mjs +0 -32
  222. package/components/chunks/chevron-down-a78b9604.mjs +0 -32
  223. package/components/chunks/chevron-left-3365d59b.mjs +0 -32
  224. package/components/chunks/chevron-right-02f9e837.mjs +0 -32
  225. package/components/chunks/debounce-7d66ffa9.mjs +0 -12
  226. package/components/chunks/examples.mobile.json-618ba782.mjs +0 -4
  227. package/components/chunks/minus-c9cdee90.mjs +0 -32
  228. package/components/chunks/no-photography-7f2be516.mjs +0 -4
  229. package/components/chunks/plus-b1b0a5a8.mjs +0 -32
  230. package/components/chunks/x-mark-3b05101b.mjs +0 -31
  231. package/components/chunks/x-mark-c6ff45dd.mjs +0 -32
  232. package/modules/chunks/MazBtn-90ffd148.mjs +0 -184
  233. package/modules/chunks/MazIcon-988edef7.mjs +0 -159
  234. package/modules/chunks/MazSpinner-a16a3d8f.mjs +0 -46
  235. package/modules/chunks/chevron-left-3365d59b.mjs +0 -32
  236. package/modules/chunks/index-b1625fc2.mjs +0 -2315
  237. package/modules/chunks/no-photography-7f2be516.mjs +0 -4
  238. package/modules/chunks/x-mark-c6ff45dd.mjs +0 -32
@@ -1,336 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => {
4
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
- return value;
6
- };
7
- import "../assets/MazLazyImg.css";
8
- import { defineComponent, defineAsyncComponent, computed, withDirectives, openBlock, createElementBlock, normalizeClass, Fragment, renderList, createElementVNode, mergeProps, createVNode, unref, createCommentVNode, renderSlot } from "vue";
9
- const EMPTY_PHOTO = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7";
10
- const DEFAULT_OPTIONS = {
11
- baseClass: "m-lazy-img",
12
- loadedClass: "m-lazy-loaded",
13
- loadingClass: "m-lazy-loading",
14
- errorClass: "m-lazy-error",
15
- noPhotoClass: "m-lazy-no-photo",
16
- noPhoto: false,
17
- observerOnce: true,
18
- loadOnce: false,
19
- noUseErrorPhoto: false,
20
- observerOptions: {
21
- threshold: 0.1
22
- }
23
- };
24
- class LazyImg {
25
- constructor(opts = {}) {
26
- __publicField(this, "observers", []);
27
- __publicField(this, "defaultOptions", DEFAULT_OPTIONS);
28
- __publicField(this, "options");
29
- __publicField(this, "onImgLoadedCallback");
30
- __publicField(this, "onImgErrorCallback");
31
- __publicField(this, "hasImgLoaded", false);
32
- this.options = this.buildOptions(opts);
33
- this.onImgLoadedCallback = this.imageIsLoaded.bind(this);
34
- this.onImgErrorCallback = this.imageHasError.bind(this);
35
- }
36
- async loadErrorPhoto() {
37
- const { default: photo } = await import("./no-photography-7f2be516.mjs");
38
- return photo;
39
- }
40
- buildOptions(opts) {
41
- return {
42
- ...this.defaultOptions,
43
- ...opts,
44
- observerOptions: {
45
- ...this.defaultOptions.observerOptions,
46
- ...opts.observerOptions
47
- }
48
- };
49
- }
50
- removeClass(el, className) {
51
- el.classList.remove(className);
52
- }
53
- addClass(el, className) {
54
- el.classList.add(className);
55
- }
56
- removeAllStateClasses(el) {
57
- this.removeClass(el, this.options.loadedClass);
58
- this.removeClass(el, this.options.loadingClass);
59
- this.removeClass(el, this.options.errorClass);
60
- this.removeClass(el, this.options.noPhotoClass);
61
- }
62
- setBaseClass(el) {
63
- this.addClass(el, this.options.baseClass);
64
- }
65
- imageIsLoading(el) {
66
- var _a, _b;
67
- this.addClass(el, this.options.loadingClass);
68
- (_b = (_a = this.options).onLoading) == null ? void 0 : _b.call(_a, el);
69
- }
70
- imageHasNoPhoto(el) {
71
- this.removeClass(el, this.options.loadingClass);
72
- this.addClass(el, this.options.noPhotoClass);
73
- this.setDefaultPhoto(el);
74
- }
75
- imageIsLoaded(el) {
76
- var _a, _b;
77
- this.hasImgLoaded = true;
78
- this.removeClass(el, this.options.loadingClass);
79
- this.addClass(el, this.options.loadedClass);
80
- (_b = (_a = this.options).onLoaded) == null ? void 0 : _b.call(_a, el);
81
- }
82
- imageHasError(el, event) {
83
- var _a, _b;
84
- console.warn(`[maz-ui][MazLazyImg] Error while loading image`, event);
85
- this.removeClass(el, this.options.loadingClass);
86
- this.addClass(el, this.options.errorClass);
87
- (_b = (_a = this.options).onError) == null ? void 0 : _b.call(_a, el);
88
- this.setDefaultPhoto(el);
89
- }
90
- getImageUrl(el, binding) {
91
- const dataSrc = this.getImgElement(el).getAttribute("data-lazy-src");
92
- if (dataSrc)
93
- return dataSrc;
94
- binding.value;
95
- const bindingSrc = typeof binding.value === "object" ? binding.value.src : binding.value;
96
- if (!bindingSrc)
97
- console.warn(`[maz-ui][MazLazyImg] src url is not defined`);
98
- return bindingSrc;
99
- }
100
- async setPictureSourceUrls(el) {
101
- const sourceElements = el.querySelectorAll("source");
102
- if (sourceElements.length > 0) {
103
- for await (const source of sourceElements) {
104
- const srcSet = source.getAttribute("data-lazy-srcset");
105
- if (srcSet) {
106
- source.srcset = srcSet;
107
- } else {
108
- console.warn(
109
- '[maz-ui][MazLazyImg] the "[data-lazy-srcset]" attribute is not provided on "<source />"'
110
- );
111
- }
112
- }
113
- } else {
114
- console.warn(
115
- '[maz-ui][MazLazyImg] No "<source />" elements provided into the "<picture />" element'
116
- );
117
- this.imageHasError(el);
118
- }
119
- }
120
- hasBgImgMode(binding) {
121
- return binding.arg === "bg-image";
122
- }
123
- isPictureElement(el) {
124
- return el instanceof HTMLPictureElement;
125
- }
126
- getImgElement(el) {
127
- const isPictureElement = this.isPictureElement(el);
128
- return isPictureElement ? el.querySelector("img") : el;
129
- }
130
- async setDefaultPhoto(el) {
131
- if (this.options.noUseErrorPhoto)
132
- return;
133
- const errorPhoto = this.options.errorPhoto ?? await this.loadErrorPhoto();
134
- const sourceElements = el.querySelectorAll("source");
135
- if (sourceElements.length > 0) {
136
- for await (const source of sourceElements) {
137
- source.srcset = errorPhoto;
138
- }
139
- } else {
140
- this.setImgSrc(el, errorPhoto);
141
- }
142
- }
143
- addEventListenerToImg(el) {
144
- const imgElement = this.getImgElement(el);
145
- imgElement.addEventListener("load", () => this.onImgLoadedCallback(el), {
146
- once: true
147
- });
148
- imgElement.addEventListener("error", (err) => this.onImgErrorCallback(el, err), { once: true });
149
- }
150
- async loadImage(el, binding) {
151
- this.imageIsLoading(el);
152
- if (this.isPictureElement(el)) {
153
- this.addEventListenerToImg(el);
154
- await this.setPictureSourceUrls(el);
155
- } else {
156
- const imageUrl = this.getImageUrl(el, binding);
157
- if (!imageUrl)
158
- return this.imageHasError(el);
159
- if (this.hasBgImgMode(binding)) {
160
- el.style.backgroundImage = `url('${imageUrl}')`;
161
- this.imageIsLoaded(el);
162
- } else {
163
- this.addEventListenerToImg(el);
164
- this.setImgSrc(el, imageUrl);
165
- }
166
- }
167
- }
168
- setImgSrc(el, src) {
169
- const imgElement = this.getImgElement(el);
170
- imgElement.src = src;
171
- }
172
- handleIntersectionObserver(el, binding, entries, observer) {
173
- var _a, _b;
174
- this.observers.push(observer);
175
- for (const entry of entries) {
176
- if (entry.isIntersecting) {
177
- (_b = (_a = this.options).onIntersecting) == null ? void 0 : _b.call(_a, entry.target);
178
- if (this.options.observerOnce) {
179
- observer.unobserve(el);
180
- }
181
- if (this.options.loadOnce && this.hasImgLoaded)
182
- return;
183
- this.loadImage(el, binding);
184
- }
185
- }
186
- }
187
- createObserver(el, binding) {
188
- const observerCallback = (entries, intersectionObserver) => {
189
- this.handleIntersectionObserver(el, binding, entries, intersectionObserver);
190
- };
191
- const observerOptions = this.options.observerOptions;
192
- const observer = new IntersectionObserver(observerCallback, observerOptions);
193
- observer.observe(el);
194
- }
195
- async imageHandler(el, binding, type) {
196
- if (type === "update") {
197
- for await (const observer of this.observers)
198
- observer.unobserve(el);
199
- }
200
- if (window.IntersectionObserver) {
201
- this.createObserver(el, binding);
202
- } else {
203
- this.loadImage(el, binding);
204
- }
205
- }
206
- async bindUpdateHandler(el, binding, type) {
207
- if (this.options.noPhoto)
208
- return this.imageHasNoPhoto(el);
209
- await this.imageHandler(el, binding, type);
210
- }
211
- async add(el, binding) {
212
- if (this.hasBgImgMode(binding) && this.isPictureElement(el)) {
213
- throw new Error(`[MazLazyImg] You can't use the "bg-image" mode with "<picture />" element`);
214
- }
215
- setTimeout(() => this.setBaseClass(el), 0);
216
- if (!el.getAttribute("src"))
217
- this.setImgSrc(el, EMPTY_PHOTO);
218
- await this.bindUpdateHandler(el, binding, "bind");
219
- }
220
- async update(el, binding) {
221
- if (binding.value !== binding.oldValue) {
222
- this.hasImgLoaded = false;
223
- this.removeAllStateClasses(el);
224
- await this.bindUpdateHandler(el, binding, "update");
225
- }
226
- }
227
- remove(el, binding) {
228
- this.hasImgLoaded = false;
229
- if (this.hasBgImgMode(binding))
230
- el.style.backgroundImage = "";
231
- this.removeAllStateClasses(el);
232
- for (const observer of this.observers)
233
- observer.unobserve(el);
234
- this.observers = [];
235
- }
236
- }
237
- let instance;
238
- const vLazyImg = {
239
- created(el, binding) {
240
- const options = typeof binding.value === "object" ? binding.value : {};
241
- instance = new LazyImg(options);
242
- instance.add(el, binding);
243
- },
244
- updated(el, binding) {
245
- instance.update(el, binding);
246
- },
247
- unmounted(el, binding) {
248
- instance.remove(el, binding);
249
- }
250
- };
251
- const _hoisted_1 = ["data-lazy-srcset", "media"];
252
- const _hoisted_2 = ["alt"];
253
- const _hoisted_3 = {
254
- key: 0,
255
- class: "m-lazy-img-component-loader"
256
- };
257
- const _sfc_main = /* @__PURE__ */ defineComponent({
258
- __name: "MazLazyImg",
259
- props: {
260
- image: { type: [String, Object], default: void 0 },
261
- alt: { type: String, default: void 0 },
262
- noPhoto: { type: Boolean, default: false },
263
- noLoader: { type: Boolean, default: false },
264
- noObserverOnce: { type: Boolean, default: false },
265
- loadOnce: { type: Boolean, default: false },
266
- imageHeightFull: { type: Boolean, default: false },
267
- observerOptions: { type: Object, default: null }
268
- },
269
- emits: ["intersecting", "loading", "loaded", "error"],
270
- setup(__props) {
271
- const MazSpinner = defineAsyncComponent(() => import("./MazSpinner-ce4be8f1.mjs"));
272
- const props = __props;
273
- const sources = computed(() => {
274
- var _a;
275
- return typeof props.image === "string" ? [{ srcset: props.image }] : (_a = props.image) == null ? void 0 : _a.sources;
276
- });
277
- return (_ctx, _cache) => {
278
- return withDirectives((openBlock(), createElementBlock(
279
- "picture",
280
- {
281
- class: normalizeClass(["m-lazy-img-component", { "-use-loader": !__props.noLoader, "--height-full": __props.imageHeightFull }])
282
- },
283
- [
284
- (openBlock(true), createElementBlock(
285
- Fragment,
286
- null,
287
- renderList(sources.value, ({ srcset, media }, sourceIndex) => {
288
- return openBlock(), createElementBlock("source", {
289
- key: sourceIndex,
290
- "data-lazy-srcset": srcset,
291
- media
292
- }, null, 8, _hoisted_1);
293
- }),
294
- 128
295
- /* KEYED_FRAGMENT */
296
- )),
297
- createElementVNode("img", mergeProps(_ctx.$attrs, {
298
- src: "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",
299
- loading: "lazy",
300
- alt: __props.alt
301
- }), null, 16, _hoisted_2),
302
- !__props.noLoader ? (openBlock(), createElementBlock("div", _hoisted_3, [
303
- createVNode(unref(MazSpinner), { size: "2em" })
304
- ])) : createCommentVNode("v-if", true),
305
- renderSlot(_ctx.$slots, "default", {}, void 0, true)
306
- ],
307
- 2
308
- /* CLASS */
309
- )), [
310
- [unref(vLazyImg), {
311
- noPhoto: __props.noPhoto,
312
- observerOnce: !__props.noObserverOnce,
313
- loadOnce: __props.loadOnce,
314
- onIntersecting: (el) => _ctx.$emit("intersecting", el),
315
- onLoading: (el) => _ctx.$emit("loading", el),
316
- onLoaded: (el) => _ctx.$emit("loaded", el),
317
- onError: (el) => _ctx.$emit("error", el),
318
- observerOptions: __props.observerOptions
319
- }]
320
- ]);
321
- };
322
- }
323
- });
324
- const MazLazyImg_vue_vue_type_style_index_0_scoped_3bfe9795_lang = "";
325
- const _export_sfc = (sfc, props) => {
326
- const target = sfc.__vccOpts || sfc;
327
- for (const [key, val] of props) {
328
- target[key] = val;
329
- }
330
- return target;
331
- };
332
- const MazLazyImg = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-3bfe9795"]]);
333
- export {
334
- MazLazyImg as M,
335
- _export_sfc as _
336
- };
@@ -1,329 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => {
4
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
- return value;
6
- };
7
- import "../assets/MazLazyImg.css";
8
- import { defineComponent, defineAsyncComponent, computed, withDirectives, openBlock, createElementBlock, normalizeClass, Fragment, renderList, createElementVNode, mergeProps, createVNode, unref, createCommentVNode, renderSlot } from "vue";
9
- import { _ as _export_sfc } from "./MazAvatar-358d78d4.mjs";
10
- const EMPTY_PHOTO = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7";
11
- const DEFAULT_OPTIONS = {
12
- baseClass: "m-lazy-img",
13
- loadedClass: "m-lazy-loaded",
14
- loadingClass: "m-lazy-loading",
15
- errorClass: "m-lazy-error",
16
- noPhotoClass: "m-lazy-no-photo",
17
- noPhoto: false,
18
- observerOnce: true,
19
- loadOnce: false,
20
- noUseErrorPhoto: false,
21
- observerOptions: {
22
- threshold: 0.1
23
- }
24
- };
25
- class LazyImg {
26
- constructor(opts = {}) {
27
- __publicField(this, "observers", []);
28
- __publicField(this, "defaultOptions", DEFAULT_OPTIONS);
29
- __publicField(this, "options");
30
- __publicField(this, "onImgLoadedCallback");
31
- __publicField(this, "onImgErrorCallback");
32
- __publicField(this, "hasImgLoaded", false);
33
- this.options = this.buildOptions(opts);
34
- this.onImgLoadedCallback = this.imageIsLoaded.bind(this);
35
- this.onImgErrorCallback = this.imageHasError.bind(this);
36
- }
37
- async loadErrorPhoto() {
38
- const { default: photo } = await import("./no-photography-7f2be516.mjs");
39
- return photo;
40
- }
41
- buildOptions(opts) {
42
- return {
43
- ...this.defaultOptions,
44
- ...opts,
45
- observerOptions: {
46
- ...this.defaultOptions.observerOptions,
47
- ...opts.observerOptions
48
- }
49
- };
50
- }
51
- removeClass(el, className) {
52
- el.classList.remove(className);
53
- }
54
- addClass(el, className) {
55
- el.classList.add(className);
56
- }
57
- removeAllStateClasses(el) {
58
- this.removeClass(el, this.options.loadedClass);
59
- this.removeClass(el, this.options.loadingClass);
60
- this.removeClass(el, this.options.errorClass);
61
- this.removeClass(el, this.options.noPhotoClass);
62
- }
63
- setBaseClass(el) {
64
- this.addClass(el, this.options.baseClass);
65
- }
66
- imageIsLoading(el) {
67
- var _a, _b;
68
- this.addClass(el, this.options.loadingClass);
69
- (_b = (_a = this.options).onLoading) == null ? void 0 : _b.call(_a, el);
70
- }
71
- imageHasNoPhoto(el) {
72
- this.removeClass(el, this.options.loadingClass);
73
- this.addClass(el, this.options.noPhotoClass);
74
- this.setDefaultPhoto(el);
75
- }
76
- imageIsLoaded(el) {
77
- var _a, _b;
78
- this.hasImgLoaded = true;
79
- this.removeClass(el, this.options.loadingClass);
80
- this.addClass(el, this.options.loadedClass);
81
- (_b = (_a = this.options).onLoaded) == null ? void 0 : _b.call(_a, el);
82
- }
83
- imageHasError(el, event) {
84
- var _a, _b;
85
- console.warn(`[maz-ui][MazLazyImg] Error while loading image`, event);
86
- this.removeClass(el, this.options.loadingClass);
87
- this.addClass(el, this.options.errorClass);
88
- (_b = (_a = this.options).onError) == null ? void 0 : _b.call(_a, el);
89
- this.setDefaultPhoto(el);
90
- }
91
- getImageUrl(el, binding) {
92
- const dataSrc = this.getImgElement(el).getAttribute("data-lazy-src");
93
- if (dataSrc)
94
- return dataSrc;
95
- binding.value;
96
- const bindingSrc = typeof binding.value === "object" ? binding.value.src : binding.value;
97
- if (!bindingSrc)
98
- console.warn(`[maz-ui][MazLazyImg] src url is not defined`);
99
- return bindingSrc;
100
- }
101
- async setPictureSourceUrls(el) {
102
- const sourceElements = el.querySelectorAll("source");
103
- if (sourceElements.length > 0) {
104
- for await (const source of sourceElements) {
105
- const srcSet = source.getAttribute("data-lazy-srcset");
106
- if (srcSet) {
107
- source.srcset = srcSet;
108
- } else {
109
- console.warn(
110
- '[maz-ui][MazLazyImg] the "[data-lazy-srcset]" attribute is not provided on "<source />"'
111
- );
112
- }
113
- }
114
- } else {
115
- console.warn(
116
- '[maz-ui][MazLazyImg] No "<source />" elements provided into the "<picture />" element'
117
- );
118
- this.imageHasError(el);
119
- }
120
- }
121
- hasBgImgMode(binding) {
122
- return binding.arg === "bg-image";
123
- }
124
- isPictureElement(el) {
125
- return el instanceof HTMLPictureElement;
126
- }
127
- getImgElement(el) {
128
- const isPictureElement = this.isPictureElement(el);
129
- return isPictureElement ? el.querySelector("img") : el;
130
- }
131
- async setDefaultPhoto(el) {
132
- if (this.options.noUseErrorPhoto)
133
- return;
134
- const errorPhoto = this.options.errorPhoto ?? await this.loadErrorPhoto();
135
- const sourceElements = el.querySelectorAll("source");
136
- if (sourceElements.length > 0) {
137
- for await (const source of sourceElements) {
138
- source.srcset = errorPhoto;
139
- }
140
- } else {
141
- this.setImgSrc(el, errorPhoto);
142
- }
143
- }
144
- addEventListenerToImg(el) {
145
- const imgElement = this.getImgElement(el);
146
- imgElement.addEventListener("load", () => this.onImgLoadedCallback(el), {
147
- once: true
148
- });
149
- imgElement.addEventListener("error", (err) => this.onImgErrorCallback(el, err), { once: true });
150
- }
151
- async loadImage(el, binding) {
152
- this.imageIsLoading(el);
153
- if (this.isPictureElement(el)) {
154
- this.addEventListenerToImg(el);
155
- await this.setPictureSourceUrls(el);
156
- } else {
157
- const imageUrl = this.getImageUrl(el, binding);
158
- if (!imageUrl)
159
- return this.imageHasError(el);
160
- if (this.hasBgImgMode(binding)) {
161
- el.style.backgroundImage = `url('${imageUrl}')`;
162
- this.imageIsLoaded(el);
163
- } else {
164
- this.addEventListenerToImg(el);
165
- this.setImgSrc(el, imageUrl);
166
- }
167
- }
168
- }
169
- setImgSrc(el, src) {
170
- const imgElement = this.getImgElement(el);
171
- imgElement.src = src;
172
- }
173
- handleIntersectionObserver(el, binding, entries, observer) {
174
- var _a, _b;
175
- this.observers.push(observer);
176
- for (const entry of entries) {
177
- if (entry.isIntersecting) {
178
- (_b = (_a = this.options).onIntersecting) == null ? void 0 : _b.call(_a, entry.target);
179
- if (this.options.observerOnce) {
180
- observer.unobserve(el);
181
- }
182
- if (this.options.loadOnce && this.hasImgLoaded)
183
- return;
184
- this.loadImage(el, binding);
185
- }
186
- }
187
- }
188
- createObserver(el, binding) {
189
- const observerCallback = (entries, intersectionObserver) => {
190
- this.handleIntersectionObserver(el, binding, entries, intersectionObserver);
191
- };
192
- const observerOptions = this.options.observerOptions;
193
- const observer = new IntersectionObserver(observerCallback, observerOptions);
194
- observer.observe(el);
195
- }
196
- async imageHandler(el, binding, type) {
197
- if (type === "update") {
198
- for await (const observer of this.observers)
199
- observer.unobserve(el);
200
- }
201
- if (window.IntersectionObserver) {
202
- this.createObserver(el, binding);
203
- } else {
204
- this.loadImage(el, binding);
205
- }
206
- }
207
- async bindUpdateHandler(el, binding, type) {
208
- if (this.options.noPhoto)
209
- return this.imageHasNoPhoto(el);
210
- await this.imageHandler(el, binding, type);
211
- }
212
- async add(el, binding) {
213
- if (this.hasBgImgMode(binding) && this.isPictureElement(el)) {
214
- throw new Error(`[MazLazyImg] You can't use the "bg-image" mode with "<picture />" element`);
215
- }
216
- setTimeout(() => this.setBaseClass(el), 0);
217
- if (!el.getAttribute("src"))
218
- this.setImgSrc(el, EMPTY_PHOTO);
219
- await this.bindUpdateHandler(el, binding, "bind");
220
- }
221
- async update(el, binding) {
222
- if (binding.value !== binding.oldValue) {
223
- this.hasImgLoaded = false;
224
- this.removeAllStateClasses(el);
225
- await this.bindUpdateHandler(el, binding, "update");
226
- }
227
- }
228
- remove(el, binding) {
229
- this.hasImgLoaded = false;
230
- if (this.hasBgImgMode(binding))
231
- el.style.backgroundImage = "";
232
- this.removeAllStateClasses(el);
233
- for (const observer of this.observers)
234
- observer.unobserve(el);
235
- this.observers = [];
236
- }
237
- }
238
- let instance;
239
- const vLazyImg = {
240
- created(el, binding) {
241
- const options = typeof binding.value === "object" ? binding.value : {};
242
- instance = new LazyImg(options);
243
- instance.add(el, binding);
244
- },
245
- updated(el, binding) {
246
- instance.update(el, binding);
247
- },
248
- unmounted(el, binding) {
249
- instance.remove(el, binding);
250
- }
251
- };
252
- const _hoisted_1 = ["data-lazy-srcset", "media"];
253
- const _hoisted_2 = ["alt"];
254
- const _hoisted_3 = {
255
- key: 0,
256
- class: "m-lazy-img-component-loader"
257
- };
258
- const _sfc_main = /* @__PURE__ */ defineComponent({
259
- __name: "MazLazyImg",
260
- props: {
261
- image: { type: [String, Object], default: void 0 },
262
- alt: { type: String, default: void 0 },
263
- noPhoto: { type: Boolean, default: false },
264
- noLoader: { type: Boolean, default: false },
265
- noObserverOnce: { type: Boolean, default: false },
266
- loadOnce: { type: Boolean, default: false },
267
- imageHeightFull: { type: Boolean, default: false },
268
- observerOptions: { type: Object, default: null }
269
- },
270
- emits: ["intersecting", "loading", "loaded", "error"],
271
- setup(__props) {
272
- const MazSpinner = defineAsyncComponent(() => import("./MazSpinner-eea9056d.mjs"));
273
- const props = __props;
274
- const sources = computed(() => {
275
- var _a;
276
- return typeof props.image === "string" ? [{ srcset: props.image }] : (_a = props.image) == null ? void 0 : _a.sources;
277
- });
278
- return (_ctx, _cache) => {
279
- return withDirectives((openBlock(), createElementBlock(
280
- "picture",
281
- {
282
- class: normalizeClass(["m-lazy-img-component", { "-use-loader": !__props.noLoader, "--height-full": __props.imageHeightFull }])
283
- },
284
- [
285
- (openBlock(true), createElementBlock(
286
- Fragment,
287
- null,
288
- renderList(sources.value, ({ srcset, media }, sourceIndex) => {
289
- return openBlock(), createElementBlock("source", {
290
- key: sourceIndex,
291
- "data-lazy-srcset": srcset,
292
- media
293
- }, null, 8, _hoisted_1);
294
- }),
295
- 128
296
- /* KEYED_FRAGMENT */
297
- )),
298
- createElementVNode("img", mergeProps(_ctx.$attrs, {
299
- src: "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",
300
- loading: "lazy",
301
- alt: __props.alt
302
- }), null, 16, _hoisted_2),
303
- !__props.noLoader ? (openBlock(), createElementBlock("div", _hoisted_3, [
304
- createVNode(unref(MazSpinner), { size: "2em" })
305
- ])) : createCommentVNode("v-if", true),
306
- renderSlot(_ctx.$slots, "default", {}, void 0, true)
307
- ],
308
- 2
309
- /* CLASS */
310
- )), [
311
- [unref(vLazyImg), {
312
- noPhoto: __props.noPhoto,
313
- observerOnce: !__props.noObserverOnce,
314
- loadOnce: __props.loadOnce,
315
- onIntersecting: (el) => _ctx.$emit("intersecting", el),
316
- onLoading: (el) => _ctx.$emit("loading", el),
317
- onLoaded: (el) => _ctx.$emit("loaded", el),
318
- onError: (el) => _ctx.$emit("error", el),
319
- observerOptions: __props.observerOptions
320
- }]
321
- ]);
322
- };
323
- }
324
- });
325
- const MazLazyImg_vue_vue_type_style_index_0_scoped_3bfe9795_lang = "";
326
- const MazLazyImg = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-3bfe9795"]]);
327
- export {
328
- MazLazyImg as default
329
- };