maz-ui 3.22.3 → 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 (243) 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.d.ts +41 -0
  17. package/components/MazGallery.mjs +370 -567
  18. package/components/MazIcon.mjs +76 -140
  19. package/components/MazInput.mjs +2 -2
  20. package/components/MazInputNumber.mjs +72 -99
  21. package/components/MazInputPrice.mjs +2 -2
  22. package/components/MazInputTags.mjs +2 -2
  23. package/components/MazLazyImg.mjs +2 -2
  24. package/components/MazPhoneNumberInput.mjs +2 -2
  25. package/components/MazPicker.mjs +2 -2
  26. package/components/MazRadio.mjs +65 -94
  27. package/components/MazRadioButtons.mjs +64 -78
  28. package/components/MazSelect.mjs +2 -2
  29. package/components/MazSlider.mjs +213 -325
  30. package/components/MazSpinner.mjs +25 -34
  31. package/components/MazStepper.mjs +2 -2
  32. package/components/MazSwitch.mjs +43 -60
  33. package/components/MazTabs.mjs +16 -25
  34. package/components/MazTabsBar.mjs +2 -2
  35. package/components/MazTabsContent.mjs +34 -43
  36. package/components/MazTabsContentItem.mjs +49 -63
  37. package/components/MazTextarea.mjs +124 -169
  38. package/components/MazTransitionExpand.mjs +36 -54
  39. package/components/assets/MazBackdrop.css +1 -1
  40. package/components/assets/MazBottomSheet.css +1 -1
  41. package/components/assets/MazDialog.css +1 -1
  42. package/components/assets/MazDialogPromise.css +1 -1
  43. package/components/assets/MazDrawer.css +1 -1
  44. package/components/assets/MazGallery.css +1 -1
  45. package/components/assets/MazPhoneNumberInput.css +1 -1
  46. package/components/assets/MazSelect.css +1 -1
  47. package/components/chunks/MazAvatar-1636f58b.mjs +126 -0
  48. package/components/chunks/MazBottomSheet-c24f92f8.mjs +217 -0
  49. package/components/chunks/MazBtn-124f3700.mjs +153 -0
  50. package/components/chunks/MazBtn-1e61862b.mjs +153 -0
  51. package/components/chunks/MazBtn-2d1d1ba5.mjs +153 -0
  52. package/components/chunks/MazBtn-3d74f737.mjs +153 -0
  53. package/components/chunks/MazBtn-4a447126.mjs +153 -0
  54. package/components/chunks/MazBtn-555928ed.mjs +153 -0
  55. package/components/chunks/MazBtn-571454f6.mjs +153 -0
  56. package/components/chunks/MazBtn-5e426592.mjs +153 -0
  57. package/components/chunks/MazBtn-6905cc39.mjs +153 -0
  58. package/components/chunks/MazBtn-6ce4cfd3.mjs +153 -0
  59. package/components/chunks/MazBtn-74656d5b.mjs +153 -0
  60. package/components/chunks/MazBtn-7706b2da.mjs +158 -0
  61. package/components/chunks/MazBtn-a7a913dd.mjs +153 -0
  62. package/components/chunks/MazBtn-ba27c61d.mjs +153 -0
  63. package/components/chunks/MazBtn-fb3c7af8.mjs +153 -0
  64. package/components/chunks/MazCard-bcc36489.mjs +214 -0
  65. package/components/chunks/MazCarousel-6da75122.mjs +107 -0
  66. package/components/chunks/MazCheckbox-040dc2c4.mjs +117 -0
  67. package/components/chunks/MazCheckbox-3a2b48b4.mjs +117 -0
  68. package/components/chunks/MazDialog-44eda544.mjs +250 -0
  69. package/components/chunks/MazDialogPromise-eec5acde.mjs +419 -0
  70. package/components/chunks/MazDrawer-b628b37e.mjs +206 -0
  71. package/components/chunks/MazDropdown-6f2248b0.mjs +345 -0
  72. package/components/chunks/MazDropzone-8cac10a6.mjs +242 -0
  73. package/components/chunks/MazGallery-6b8ecedf.mjs +617 -0
  74. package/components/chunks/MazIcon-52a76873.mjs +101 -0
  75. package/components/chunks/MazIcon-95e31ff8.mjs +96 -0
  76. package/components/chunks/MazInput-1ed4f946.mjs +283 -0
  77. package/components/chunks/MazInput-c51881ea.mjs +278 -0
  78. package/components/chunks/MazInput-e1373eaf.mjs +271 -0
  79. package/components/chunks/MazInputPrice-cd348d46.mjs +392 -0
  80. package/components/chunks/MazInputTags-aa95fae7.mjs +446 -0
  81. package/components/chunks/MazLazyImg-0412ab38.mjs +259 -0
  82. package/components/chunks/MazLazyImg-47d3449a.mjs +254 -0
  83. package/components/chunks/MazPhoneNumberInput-e1bf46f9.mjs +1216 -0
  84. package/components/chunks/MazPicker-c85774e5.mjs +1140 -0
  85. package/components/chunks/MazPickerCalendar-f5bbea58.mjs +532 -0
  86. package/components/chunks/MazPickerHeader-31a3619b.mjs +186 -0
  87. package/components/chunks/MazPickerMonthSwitcher-aaa759b9.mjs +97 -0
  88. package/components/chunks/MazPickerShortcuts-d0623e2d.mjs +74 -0
  89. package/components/chunks/MazPickerTime-de9cfc63.mjs +219 -0
  90. package/components/chunks/MazPickerYearSwitcher-746c84fc.mjs +106 -0
  91. package/components/chunks/MazSelect-6ff6bb96.mjs +652 -0
  92. package/components/chunks/MazSpinner-054f948c.mjs +39 -0
  93. package/components/chunks/MazSpinner-059ee1d2.mjs +39 -0
  94. package/components/chunks/MazSpinner-08ee440b.mjs +39 -0
  95. package/components/chunks/MazSpinner-13403729.mjs +39 -0
  96. package/components/chunks/MazSpinner-44011019.mjs +39 -0
  97. package/components/chunks/MazSpinner-452a1534.mjs +39 -0
  98. package/components/chunks/MazSpinner-4c02cfd2.mjs +39 -0
  99. package/components/chunks/MazSpinner-6d1d24d5.mjs +39 -0
  100. package/components/chunks/MazSpinner-6e7c4705.mjs +39 -0
  101. package/components/chunks/MazSpinner-7895f54f.mjs +39 -0
  102. package/components/chunks/MazSpinner-7eee202e.mjs +39 -0
  103. package/components/chunks/MazSpinner-805e14a6.mjs +39 -0
  104. package/components/chunks/MazSpinner-85080b43.mjs +39 -0
  105. package/components/chunks/MazSpinner-a13a50c9.mjs +39 -0
  106. package/components/chunks/MazSpinner-a6d61cee.mjs +43 -0
  107. package/components/chunks/MazSpinner-b065168a.mjs +39 -0
  108. package/components/chunks/MazSpinner-c67b05bb.mjs +39 -0
  109. package/components/chunks/MazSpinner-caa33afc.mjs +39 -0
  110. package/components/chunks/MazSpinner-cb8fbe9a.mjs +39 -0
  111. package/components/chunks/MazSpinner-d9ef329f.mjs +39 -0
  112. package/components/chunks/MazStepper-39f018f3.mjs +191 -0
  113. package/components/chunks/MazTabsBar-27965f16.mjs +132 -0
  114. package/components/chunks/MazTransitionExpand-55cfbecb.mjs +41 -0
  115. package/components/chunks/MazTransitionExpand-cd24498f.mjs +41 -0
  116. package/components/chunks/_plugin-vue_export-helper-dad06003.mjs +9 -0
  117. package/components/chunks/check-31d7ba2f.mjs +30 -0
  118. package/components/chunks/check-c9b483c0.mjs +30 -0
  119. package/components/chunks/{check-circle-7acfa4c4.mjs → check-circle-59c383ed.mjs} +10 -12
  120. package/components/chunks/chevron-down-2b60111a.mjs +30 -0
  121. package/components/chunks/chevron-left-39b4621e.mjs +30 -0
  122. package/components/chunks/chevron-right-949a60fa.mjs +30 -0
  123. package/components/chunks/debounce-19c516b6.mjs +11 -0
  124. package/components/chunks/examples.mobile.json-f63d22fb.mjs +4 -0
  125. package/components/chunks/{exclamation-circle-2e115536.mjs → exclamation-circle-e2620aab.mjs} +10 -12
  126. package/components/chunks/{exclamation-triangle-10eb48dc.mjs → exclamation-triangle-21bf116a.mjs} +10 -12
  127. package/components/chunks/{eye-fbb13657.mjs → eye-dc12ce09.mjs} +12 -15
  128. package/components/chunks/{eye-slash-342420ff.mjs → eye-slash-fa42a017.mjs} +10 -12
  129. package/components/chunks/{magnifying-glass-5dffa35e.mjs → magnifying-glass-908981c0.mjs} +10 -12
  130. package/components/chunks/minus-e71140e1.mjs +30 -0
  131. package/components/chunks/no-photography-4c6c77cf.mjs +4 -0
  132. package/components/chunks/{no-photography-b0d08d6f.mjs → no-photography-be94ddda.mjs} +12 -15
  133. package/components/chunks/{no-symbol-975ce547.mjs → no-symbol-87477ad0.mjs} +10 -12
  134. package/components/chunks/{pencil-2f766dc8.mjs → pencil-4c35b4e7.mjs} +10 -12
  135. package/components/chunks/plus-c20544c3.mjs +30 -0
  136. package/components/chunks/x-mark-35f2f1e7.mjs +30 -0
  137. package/components/chunks/x-mark-7761acf4.mjs +29 -0
  138. package/modules/chunks/MazBtn-82a868df.mjs +153 -0
  139. package/modules/chunks/MazIcon-169747b4.mjs +96 -0
  140. package/modules/chunks/MazSpinner-3febbfdc.mjs +39 -0
  141. package/modules/chunks/{arrow-top-right-on-square-32bbe5a1.mjs → arrow-top-right-on-square-15191934.mjs} +10 -12
  142. package/modules/chunks/chevron-left-39b4621e.mjs +30 -0
  143. package/modules/chunks/index-d9a25303.mjs +1628 -0
  144. package/modules/chunks/{link-4eb05848.mjs → link-bb14441d.mjs} +10 -12
  145. package/modules/chunks/no-photography-4c6c77cf.mjs +4 -0
  146. package/modules/chunks/x-mark-35f2f1e7.mjs +30 -0
  147. package/modules/index.mjs +45 -44
  148. package/nuxt/index.json +1 -1
  149. package/nuxt/types.d.mts +3 -2
  150. package/nuxt/types.d.ts +3 -2
  151. package/package.json +11 -7
  152. package/types/components/MazGallery.vue.d.ts +41 -0
  153. package/types/modules/index.d.ts +1 -0
  154. package/types/modules/resolvers/index.d.ts +2 -0
  155. package/components/chunks/MazAvatar-358d78d4.mjs +0 -138
  156. package/components/chunks/MazBottomSheet-61090f4a.mjs +0 -267
  157. package/components/chunks/MazBtn-0e02f0da.mjs +0 -184
  158. package/components/chunks/MazBtn-2f4fa942.mjs +0 -184
  159. package/components/chunks/MazBtn-31c6b731.mjs +0 -184
  160. package/components/chunks/MazBtn-48382169.mjs +0 -184
  161. package/components/chunks/MazBtn-4e1e116e.mjs +0 -184
  162. package/components/chunks/MazBtn-50abc4c5.mjs +0 -184
  163. package/components/chunks/MazBtn-84e12b6a.mjs +0 -184
  164. package/components/chunks/MazBtn-b42e3575.mjs +0 -184
  165. package/components/chunks/MazBtn-b56a7278.mjs +0 -184
  166. package/components/chunks/MazBtn-bbd6e9c8.mjs +0 -184
  167. package/components/chunks/MazBtn-cf0c8fcb.mjs +0 -184
  168. package/components/chunks/MazBtn-d92908b2.mjs +0 -191
  169. package/components/chunks/MazBtn-f48da79c.mjs +0 -184
  170. package/components/chunks/MazBtn-f7e94b59.mjs +0 -184
  171. package/components/chunks/MazBtn-fec4c3b7.mjs +0 -184
  172. package/components/chunks/MazCard-01b81dd2.mjs +0 -237
  173. package/components/chunks/MazCarousel-7825c7c9.mjs +0 -133
  174. package/components/chunks/MazCheckbox-ab5ddda2.mjs +0 -153
  175. package/components/chunks/MazCheckbox-e0bbe6ec.mjs +0 -153
  176. package/components/chunks/MazDialog-83e54b8c.mjs +0 -290
  177. package/components/chunks/MazDialogPromise-6967e821.mjs +0 -474
  178. package/components/chunks/MazDrawer-d778b3d2.mjs +0 -256
  179. package/components/chunks/MazDropdown-6f4482d7.mjs +0 -426
  180. package/components/chunks/MazDropzone-d1bb62dc.mjs +0 -325
  181. package/components/chunks/MazGallery-a8f6748b.mjs +0 -812
  182. package/components/chunks/MazIcon-b779da0a.mjs +0 -159
  183. package/components/chunks/MazIcon-bda198b4.mjs +0 -165
  184. package/components/chunks/MazInput-713b00d0.mjs +0 -326
  185. package/components/chunks/MazInput-b9386887.mjs +0 -341
  186. package/components/chunks/MazInput-c33627dd.mjs +0 -334
  187. package/components/chunks/MazInputPrice-452297f5.mjs +0 -481
  188. package/components/chunks/MazInputTags-7a463b81.mjs +0 -526
  189. package/components/chunks/MazLazyImg-6e395356.mjs +0 -336
  190. package/components/chunks/MazLazyImg-e0d8b6d0.mjs +0 -329
  191. package/components/chunks/MazPhoneNumberInput-48fe2445.mjs +0 -1536
  192. package/components/chunks/MazPicker-50fc11d1.mjs +0 -1352
  193. package/components/chunks/MazPickerCalendar-cacb361c.mjs +0 -689
  194. package/components/chunks/MazPickerHeader-63d45179.mjs +0 -216
  195. package/components/chunks/MazPickerMonthSwitcher-913c6e2c.mjs +0 -110
  196. package/components/chunks/MazPickerShortcuts-c6fabfc6.mjs +0 -88
  197. package/components/chunks/MazPickerTime-5e4475da.mjs +0 -301
  198. package/components/chunks/MazPickerYearSwitcher-dd4fa89c.mjs +0 -125
  199. package/components/chunks/MazSelect-2e5cd411.mjs +0 -850
  200. package/components/chunks/MazSpinner-022d7bee.mjs +0 -46
  201. package/components/chunks/MazSpinner-100c99b8.mjs +0 -46
  202. package/components/chunks/MazSpinner-191ad23b.mjs +0 -46
  203. package/components/chunks/MazSpinner-3155378b.mjs +0 -46
  204. package/components/chunks/MazSpinner-339a9006.mjs +0 -46
  205. package/components/chunks/MazSpinner-53979e96.mjs +0 -46
  206. package/components/chunks/MazSpinner-68d2f2ac.mjs +0 -46
  207. package/components/chunks/MazSpinner-6b563b22.mjs +0 -46
  208. package/components/chunks/MazSpinner-7cdc13e7.mjs +0 -46
  209. package/components/chunks/MazSpinner-8859d658.mjs +0 -46
  210. package/components/chunks/MazSpinner-8e180605.mjs +0 -52
  211. package/components/chunks/MazSpinner-98dd1f9d.mjs +0 -46
  212. package/components/chunks/MazSpinner-9950424b.mjs +0 -46
  213. package/components/chunks/MazSpinner-c8270a93.mjs +0 -46
  214. package/components/chunks/MazSpinner-cb491238.mjs +0 -46
  215. package/components/chunks/MazSpinner-cb6f99f3.mjs +0 -46
  216. package/components/chunks/MazSpinner-ce4be8f1.mjs +0 -46
  217. package/components/chunks/MazSpinner-e5a9f319.mjs +0 -46
  218. package/components/chunks/MazSpinner-e92bd359.mjs +0 -46
  219. package/components/chunks/MazSpinner-eea9056d.mjs +0 -46
  220. package/components/chunks/MazStepper-4c19dbfc.mjs +0 -255
  221. package/components/chunks/MazTabsBar-3c2e2d69.mjs +0 -157
  222. package/components/chunks/MazTransitionExpand-f293b830.mjs +0 -57
  223. package/components/chunks/MazTransitionExpand-f9e5a2d6.mjs +0 -57
  224. package/components/chunks/_plugin-vue_export-helper-cc2b3d55.mjs +0 -10
  225. package/components/chunks/check-8da249b1.mjs +0 -32
  226. package/components/chunks/check-f2fcce10.mjs +0 -32
  227. package/components/chunks/chevron-down-a78b9604.mjs +0 -32
  228. package/components/chunks/chevron-left-3365d59b.mjs +0 -32
  229. package/components/chunks/chevron-right-02f9e837.mjs +0 -32
  230. package/components/chunks/debounce-7d66ffa9.mjs +0 -12
  231. package/components/chunks/examples.mobile.json-618ba782.mjs +0 -4
  232. package/components/chunks/minus-c9cdee90.mjs +0 -32
  233. package/components/chunks/no-photography-7f2be516.mjs +0 -4
  234. package/components/chunks/plus-b1b0a5a8.mjs +0 -32
  235. package/components/chunks/x-mark-3b05101b.mjs +0 -31
  236. package/components/chunks/x-mark-c6ff45dd.mjs +0 -32
  237. package/modules/chunks/MazBtn-90ffd148.mjs +0 -184
  238. package/modules/chunks/MazIcon-988edef7.mjs +0 -159
  239. package/modules/chunks/MazSpinner-a16a3d8f.mjs +0 -46
  240. package/modules/chunks/chevron-left-3365d59b.mjs +0 -32
  241. package/modules/chunks/index-b1625fc2.mjs +0 -2315
  242. package/modules/chunks/no-photography-7f2be516.mjs +0 -4
  243. 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
- };