maz-ui 3.22.4 → 3.23.1

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 (249) 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-683effc1.mjs +153 -0
  56. package/components/chunks/MazBtn-6905cc39.mjs +153 -0
  57. package/components/chunks/MazBtn-6ce4cfd3.mjs +153 -0
  58. package/components/chunks/MazBtn-74656d5b.mjs +153 -0
  59. package/components/chunks/MazBtn-7706b2da.mjs +158 -0
  60. package/components/chunks/MazBtn-a7a913dd.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-8a217995.mjs +271 -0
  76. package/components/chunks/MazInput-c51881ea.mjs +278 -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-e4620d8b.mjs +1140 -0
  83. package/components/chunks/MazPickerCalendar-da62262c.mjs +535 -0
  84. package/components/chunks/MazPickerHeader-a2e041eb.mjs +186 -0
  85. package/components/chunks/MazPickerMonthSwitcher-5bf8bd08.mjs +97 -0
  86. package/components/chunks/MazPickerShortcuts-7f95430e.mjs +74 -0
  87. package/components/chunks/MazPickerTime-717402ae.mjs +219 -0
  88. package/components/chunks/MazPickerYearSwitcher-85f97b6d.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-51aa73ca.mjs +39 -0
  98. package/components/chunks/MazSpinner-6d1d24d5.mjs +39 -0
  99. package/components/chunks/MazSpinner-6e7c4705.mjs +39 -0
  100. package/components/chunks/MazSpinner-7895f54f.mjs +39 -0
  101. package/components/chunks/MazSpinner-7eee202e.mjs +39 -0
  102. package/components/chunks/MazSpinner-805e14a6.mjs +39 -0
  103. package/components/chunks/MazSpinner-85080b43.mjs +39 -0
  104. package/components/chunks/MazSpinner-a13a50c9.mjs +39 -0
  105. package/components/chunks/MazSpinner-a6d61cee.mjs +43 -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-2f302422.cjs +1 -0
  137. package/modules/chunks/MazBtn-760c3b29.mjs +153 -0
  138. package/modules/chunks/MazIcon-0bd6b78e.mjs +96 -0
  139. package/modules/chunks/MazIcon-599a907f.cjs +1 -0
  140. package/modules/chunks/MazSpinner-03bd76bd.mjs +39 -0
  141. package/modules/chunks/MazSpinner-6ffa8db1.cjs +1 -0
  142. package/modules/chunks/{arrow-top-right-on-square-32bbe5a1.mjs → arrow-top-right-on-square-15191934.mjs} +10 -12
  143. package/modules/chunks/arrow-top-right-on-square-8e4ea6e2.cjs +1 -0
  144. package/modules/chunks/chevron-left-36731110.cjs +1 -0
  145. package/modules/chunks/chevron-left-39b4621e.mjs +30 -0
  146. package/modules/chunks/index-6a90ef88.mjs +1618 -0
  147. package/modules/chunks/index-794680d2.cjs +124 -0
  148. package/modules/chunks/{link-4eb05848.mjs → link-bb14441d.mjs} +10 -12
  149. package/modules/chunks/link-c7791a2a.cjs +1 -0
  150. package/modules/chunks/no-photography-0f6fcaf4.cjs +1 -0
  151. package/modules/chunks/no-photography-4c6c77cf.mjs +4 -0
  152. package/modules/chunks/x-mark-35f2f1e7.mjs +30 -0
  153. package/modules/chunks/x-mark-a28deca5.cjs +1 -0
  154. package/modules/index.cjs +1 -0
  155. package/modules/index.mjs +42 -42
  156. package/nuxt/index.json +1 -1
  157. package/package.json +14 -4
  158. package/types/resolvers/index.d.ts +1 -0
  159. package/types/resolvers/unplugin-vue-components-resolver.d.ts +8 -0
  160. package/types/utils/index.d.ts +3 -0
  161. package/components/chunks/MazAvatar-358d78d4.mjs +0 -138
  162. package/components/chunks/MazBottomSheet-61090f4a.mjs +0 -267
  163. package/components/chunks/MazBtn-0e02f0da.mjs +0 -184
  164. package/components/chunks/MazBtn-1daf9063.mjs +0 -184
  165. package/components/chunks/MazBtn-2f4fa942.mjs +0 -184
  166. package/components/chunks/MazBtn-31c6b731.mjs +0 -184
  167. package/components/chunks/MazBtn-48382169.mjs +0 -184
  168. package/components/chunks/MazBtn-4e1e116e.mjs +0 -184
  169. package/components/chunks/MazBtn-50abc4c5.mjs +0 -184
  170. package/components/chunks/MazBtn-84e12b6a.mjs +0 -184
  171. package/components/chunks/MazBtn-b42e3575.mjs +0 -184
  172. package/components/chunks/MazBtn-b56a7278.mjs +0 -184
  173. package/components/chunks/MazBtn-bbd6e9c8.mjs +0 -184
  174. package/components/chunks/MazBtn-cf0c8fcb.mjs +0 -184
  175. package/components/chunks/MazBtn-d92908b2.mjs +0 -191
  176. package/components/chunks/MazBtn-f48da79c.mjs +0 -184
  177. package/components/chunks/MazBtn-fec4c3b7.mjs +0 -184
  178. package/components/chunks/MazCard-4331dca0.mjs +0 -237
  179. package/components/chunks/MazCarousel-7825c7c9.mjs +0 -133
  180. package/components/chunks/MazCheckbox-ab5ddda2.mjs +0 -153
  181. package/components/chunks/MazCheckbox-e0bbe6ec.mjs +0 -153
  182. package/components/chunks/MazDialog-83e54b8c.mjs +0 -290
  183. package/components/chunks/MazDialogPromise-6967e821.mjs +0 -474
  184. package/components/chunks/MazDrawer-d778b3d2.mjs +0 -256
  185. package/components/chunks/MazDropdown-6f4482d7.mjs +0 -426
  186. package/components/chunks/MazDropzone-d1bb62dc.mjs +0 -325
  187. package/components/chunks/MazGallery-b2dc4286.mjs +0 -821
  188. package/components/chunks/MazIcon-b779da0a.mjs +0 -159
  189. package/components/chunks/MazIcon-bda198b4.mjs +0 -165
  190. package/components/chunks/MazInput-713b00d0.mjs +0 -326
  191. package/components/chunks/MazInput-b9386887.mjs +0 -341
  192. package/components/chunks/MazInput-c33627dd.mjs +0 -334
  193. package/components/chunks/MazInputPrice-452297f5.mjs +0 -481
  194. package/components/chunks/MazInputTags-7a463b81.mjs +0 -526
  195. package/components/chunks/MazLazyImg-6e395356.mjs +0 -336
  196. package/components/chunks/MazLazyImg-e0d8b6d0.mjs +0 -329
  197. package/components/chunks/MazPhoneNumberInput-48fe2445.mjs +0 -1536
  198. package/components/chunks/MazPicker-50fc11d1.mjs +0 -1352
  199. package/components/chunks/MazPickerCalendar-cacb361c.mjs +0 -689
  200. package/components/chunks/MazPickerHeader-63d45179.mjs +0 -216
  201. package/components/chunks/MazPickerMonthSwitcher-913c6e2c.mjs +0 -110
  202. package/components/chunks/MazPickerShortcuts-c6fabfc6.mjs +0 -88
  203. package/components/chunks/MazPickerTime-5e4475da.mjs +0 -301
  204. package/components/chunks/MazPickerYearSwitcher-dd4fa89c.mjs +0 -125
  205. package/components/chunks/MazSelect-2e5cd411.mjs +0 -850
  206. package/components/chunks/MazSpinner-022d7bee.mjs +0 -46
  207. package/components/chunks/MazSpinner-100c99b8.mjs +0 -46
  208. package/components/chunks/MazSpinner-191ad23b.mjs +0 -46
  209. package/components/chunks/MazSpinner-3155378b.mjs +0 -46
  210. package/components/chunks/MazSpinner-339a9006.mjs +0 -46
  211. package/components/chunks/MazSpinner-53979e96.mjs +0 -46
  212. package/components/chunks/MazSpinner-68d2f2ac.mjs +0 -46
  213. package/components/chunks/MazSpinner-6b563b22.mjs +0 -46
  214. package/components/chunks/MazSpinner-7cdc13e7.mjs +0 -46
  215. package/components/chunks/MazSpinner-8859d658.mjs +0 -46
  216. package/components/chunks/MazSpinner-8e180605.mjs +0 -52
  217. package/components/chunks/MazSpinner-9950424b.mjs +0 -46
  218. package/components/chunks/MazSpinner-c8270a93.mjs +0 -46
  219. package/components/chunks/MazSpinner-cb491238.mjs +0 -46
  220. package/components/chunks/MazSpinner-cb6f99f3.mjs +0 -46
  221. package/components/chunks/MazSpinner-ce4be8f1.mjs +0 -46
  222. package/components/chunks/MazSpinner-e5a9f319.mjs +0 -46
  223. package/components/chunks/MazSpinner-e92bd359.mjs +0 -46
  224. package/components/chunks/MazSpinner-eea9056d.mjs +0 -46
  225. package/components/chunks/MazSpinner-f1e69f29.mjs +0 -46
  226. package/components/chunks/MazStepper-4c19dbfc.mjs +0 -255
  227. package/components/chunks/MazTabsBar-3c2e2d69.mjs +0 -157
  228. package/components/chunks/MazTransitionExpand-474b00d4.mjs +0 -57
  229. package/components/chunks/MazTransitionExpand-f9e5a2d6.mjs +0 -57
  230. package/components/chunks/_plugin-vue_export-helper-cc2b3d55.mjs +0 -10
  231. package/components/chunks/check-8da249b1.mjs +0 -32
  232. package/components/chunks/check-f2fcce10.mjs +0 -32
  233. package/components/chunks/chevron-down-a78b9604.mjs +0 -32
  234. package/components/chunks/chevron-left-3365d59b.mjs +0 -32
  235. package/components/chunks/chevron-right-02f9e837.mjs +0 -32
  236. package/components/chunks/debounce-7d66ffa9.mjs +0 -12
  237. package/components/chunks/examples.mobile.json-618ba782.mjs +0 -4
  238. package/components/chunks/minus-c9cdee90.mjs +0 -32
  239. package/components/chunks/no-photography-7f2be516.mjs +0 -4
  240. package/components/chunks/plus-b1b0a5a8.mjs +0 -32
  241. package/components/chunks/x-mark-3b05101b.mjs +0 -31
  242. package/components/chunks/x-mark-c6ff45dd.mjs +0 -32
  243. package/modules/chunks/MazBtn-90ffd148.mjs +0 -184
  244. package/modules/chunks/MazIcon-988edef7.mjs +0 -159
  245. package/modules/chunks/MazSpinner-a16a3d8f.mjs +0 -46
  246. package/modules/chunks/chevron-left-3365d59b.mjs +0 -32
  247. package/modules/chunks/index-b1625fc2.mjs +0 -2315
  248. package/modules/chunks/no-photography-7f2be516.mjs +0 -4
  249. 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
- };