officialblock 1.0.7 → 1.0.8

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 (73) hide show
  1. package/dist/index-Ch_ldWmA.js +1 -0
  2. package/dist/index-DXm2cqxo.mjs +485 -0
  3. package/dist/official-block.cjs.js +74 -74
  4. package/dist/official-block.es.js +13576 -10831
  5. package/dist/official-block.umd.js +78 -78
  6. package/dist/style.css +1 -1
  7. package/dist/swiper-JiLDDxAF.js +1 -0
  8. package/dist/swiper-acbnDJoL.mjs +2035 -0
  9. package/dist/utils-DD-vVZej.mjs +316 -0
  10. package/dist/utils-DOLLD0-F.js +1 -0
  11. package/package.json +2 -1
  12. package/src/components/ArticleList/article.vue +3 -3
  13. package/src/components/ArticleList/contact.vue +9 -9
  14. package/src/components/ArticleList/index.ts +1 -1
  15. package/src/components/ArticleList/index.vue +22 -80
  16. package/src/components/ArticleList/setting.vue +61 -71
  17. package/src/components/ArticleList/type.ts +12 -18
  18. package/src/components/BannerImage/index.ts +11 -0
  19. package/src/components/BannerImage/index.vue +153 -0
  20. package/src/components/BannerImage/setting.vue +55 -0
  21. package/src/components/BannerImage/type.ts +10 -0
  22. package/src/components/BannerPage/index.ts +11 -0
  23. package/src/components/BannerPage/index.vue +283 -0
  24. package/src/components/BannerPage/setting.vue +55 -0
  25. package/src/components/BannerPage/type.ts +10 -0
  26. package/src/components/BtnList/index.ts +11 -0
  27. package/src/components/BtnList/index.vue +588 -0
  28. package/src/components/BtnList/setting.vue +255 -0
  29. package/src/components/BtnList/type.ts +10 -0
  30. package/src/components/Button/index.vue +45 -33
  31. package/src/components/CustomSpace/index.ts +11 -0
  32. package/src/components/CustomSpace/index.vue +82 -0
  33. package/src/components/CustomSpace/setting.vue +89 -0
  34. package/src/components/CustomSpace/type.ts +10 -0
  35. package/src/components/GalleryList/index.ts +12 -0
  36. package/src/components/GalleryList/index.vue +311 -0
  37. package/src/components/GalleryList/setting.vue +268 -0
  38. package/src/components/GalleryList/type.ts +10 -0
  39. package/src/components/HeroSlide/index.ts +1 -1
  40. package/src/components/HeroSlide/index.vue +85 -133
  41. package/src/components/HeroSlide/setting.vue +435 -0
  42. package/src/components/HeroSlide/type.ts +5 -14
  43. package/src/components/LinkLIst/index.ts +11 -0
  44. package/src/components/LinkLIst/index.vue +317 -0
  45. package/src/components/LinkLIst/setting.vue +264 -0
  46. package/src/components/LinkLIst/type.ts +10 -0
  47. package/src/components/Media/index.vue +18 -18
  48. package/src/components/Operate/index.vue +17 -7
  49. package/src/components/Profile/index.vue +999 -0
  50. package/src/components/Profile/modal.vue +56 -0
  51. package/src/components/Profile/setting.vue +330 -0
  52. package/src/components/QuickLinks/index.vue +166 -0
  53. package/src/components/QuoteText/index.ts +11 -0
  54. package/src/components/QuoteText/index.vue +133 -0
  55. package/src/components/QuoteText/setting.vue +81 -0
  56. package/src/components/QuoteText/type.ts +10 -0
  57. package/src/components/ScrollKeyInfo/index.vue +0 -0
  58. package/src/components/Swiper/index.vue +538 -0
  59. package/src/components/index.ts +23 -5
  60. package/src/index.ts +56 -12
  61. package/src/main.ts +6 -3
  62. package/src/router/index.ts +6 -0
  63. package/src/style.css +17 -0
  64. package/src/styles/component-isolation.scss +256 -0
  65. package/src/styles/editor.scss +1 -1
  66. package/src/styles/layers.scss +256 -0
  67. package/src/styles/main.scss +21687 -0
  68. package/src/styles/mixins/style-isolation.scss +262 -0
  69. package/src/styles/smart-reset.scss +287 -0
  70. package/src/styles/test.scss +1 -1
  71. package/src/types/button.ts +10 -0
  72. package/src/views/StyleIsolationTest.vue +292 -0
  73. package/src/views/components/ArticleListDemo.vue +49 -10
@@ -0,0 +1,2035 @@
1
+ import { e as k, g as R, a as D, b as ie, c as Z, d as N, f as we, h as _, s as W, n as de, i as ce, j as Se, k as Te, l as xe, m as $, o as se, p as be, q as Y, r as ye } from "./utils-DD-vVZej.mjs";
2
+ let X;
3
+ function Ee() {
4
+ const i = _(), t = R();
5
+ return {
6
+ smoothScroll: t.documentElement && t.documentElement.style && "scrollBehavior" in t.documentElement.style,
7
+ touch: !!("ontouchstart" in i || i.DocumentTouch && t instanceof i.DocumentTouch)
8
+ };
9
+ }
10
+ function fe() {
11
+ return X || (X = Ee()), X;
12
+ }
13
+ let j;
14
+ function Pe(i) {
15
+ let {
16
+ userAgent: t
17
+ } = i === void 0 ? {} : i;
18
+ const e = fe(), s = _(), n = s.navigator.platform, r = t || s.navigator.userAgent, l = {
19
+ ios: !1,
20
+ android: !1
21
+ }, a = s.screen.width, d = s.screen.height, o = r.match(/(Android);?[\s\/]+([\d.]+)?/);
22
+ let c = r.match(/(iPad).*OS\s([\d_]+)/);
23
+ const f = r.match(/(iPod)(.*OS\s([\d_]+))?/), u = !c && r.match(/(iPhone\sOS|iOS)\s([\d_]+)/), p = n === "Win32";
24
+ let h = n === "MacIntel";
25
+ const v = ["1024x1366", "1366x1024", "834x1194", "1194x834", "834x1112", "1112x834", "768x1024", "1024x768", "820x1180", "1180x820", "810x1080", "1080x810"];
26
+ return !c && h && e.touch && v.indexOf(`${a}x${d}`) >= 0 && (c = r.match(/(Version)\/([\d.]+)/), c || (c = [0, 1, "13_0_0"]), h = !1), o && !p && (l.os = "android", l.android = !0), (c || u || f) && (l.os = "ios", l.ios = !0), l;
27
+ }
28
+ function ue(i) {
29
+ return i === void 0 && (i = {}), j || (j = Pe(i)), j;
30
+ }
31
+ let q;
32
+ function Me() {
33
+ const i = _(), t = ue();
34
+ let e = !1;
35
+ function s() {
36
+ const a = i.navigator.userAgent.toLowerCase();
37
+ return a.indexOf("safari") >= 0 && a.indexOf("chrome") < 0 && a.indexOf("android") < 0;
38
+ }
39
+ if (s()) {
40
+ const a = String(i.navigator.userAgent);
41
+ if (a.includes("Version/")) {
42
+ const [d, o] = a.split("Version/")[1].split(" ")[0].split(".").map((c) => Number(c));
43
+ e = d < 16 || d === 16 && o < 2;
44
+ }
45
+ }
46
+ const n = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(i.navigator.userAgent), r = s(), l = r || n && t.ios;
47
+ return {
48
+ isSafari: e || r,
49
+ needPerspectiveFix: e,
50
+ need3dFix: l,
51
+ isWebView: n
52
+ };
53
+ }
54
+ function pe() {
55
+ return q || (q = Me()), q;
56
+ }
57
+ function Ie(i) {
58
+ let {
59
+ swiper: t,
60
+ on: e,
61
+ emit: s
62
+ } = i;
63
+ const n = _();
64
+ let r = null, l = null;
65
+ const a = () => {
66
+ !t || t.destroyed || !t.initialized || (s("beforeResize"), s("resize"));
67
+ }, d = () => {
68
+ !t || t.destroyed || !t.initialized || (r = new ResizeObserver((f) => {
69
+ l = n.requestAnimationFrame(() => {
70
+ const {
71
+ width: u,
72
+ height: p
73
+ } = t;
74
+ let h = u, v = p;
75
+ f.forEach((E) => {
76
+ let {
77
+ contentBoxSize: m,
78
+ contentRect: S,
79
+ target: g
80
+ } = E;
81
+ g && g !== t.el || (h = S ? S.width : (m[0] || m).inlineSize, v = S ? S.height : (m[0] || m).blockSize);
82
+ }), (h !== u || v !== p) && a();
83
+ });
84
+ }), r.observe(t.el));
85
+ }, o = () => {
86
+ l && n.cancelAnimationFrame(l), r && r.unobserve && t.el && (r.unobserve(t.el), r = null);
87
+ }, c = () => {
88
+ !t || t.destroyed || !t.initialized || s("orientationchange");
89
+ };
90
+ e("init", () => {
91
+ if (t.params.resizeObserver && typeof n.ResizeObserver < "u") {
92
+ d();
93
+ return;
94
+ }
95
+ n.addEventListener("resize", a), n.addEventListener("orientationchange", c);
96
+ }), e("destroy", () => {
97
+ o(), n.removeEventListener("resize", a), n.removeEventListener("orientationchange", c);
98
+ });
99
+ }
100
+ function Ce(i) {
101
+ let {
102
+ swiper: t,
103
+ extendParams: e,
104
+ on: s,
105
+ emit: n
106
+ } = i;
107
+ const r = [], l = _(), a = function(c, f) {
108
+ f === void 0 && (f = {});
109
+ const u = l.MutationObserver || l.WebkitMutationObserver, p = new u((h) => {
110
+ if (t.__preventObserver__) return;
111
+ if (h.length === 1) {
112
+ n("observerUpdate", h[0]);
113
+ return;
114
+ }
115
+ const v = function() {
116
+ n("observerUpdate", h[0]);
117
+ };
118
+ l.requestAnimationFrame ? l.requestAnimationFrame(v) : l.setTimeout(v, 0);
119
+ });
120
+ p.observe(c, {
121
+ attributes: typeof f.attributes > "u" ? !0 : f.attributes,
122
+ childList: t.isElement || (typeof f.childList > "u" ? !0 : f).childList,
123
+ characterData: typeof f.characterData > "u" ? !0 : f.characterData
124
+ }), r.push(p);
125
+ }, d = () => {
126
+ if (t.params.observer) {
127
+ if (t.params.observeParents) {
128
+ const c = ye(t.hostEl);
129
+ for (let f = 0; f < c.length; f += 1)
130
+ a(c[f]);
131
+ }
132
+ a(t.hostEl, {
133
+ childList: t.params.observeSlideChildren
134
+ }), a(t.wrapperEl, {
135
+ attributes: !1
136
+ });
137
+ }
138
+ }, o = () => {
139
+ r.forEach((c) => {
140
+ c.disconnect();
141
+ }), r.splice(0, r.length);
142
+ };
143
+ e({
144
+ observer: !1,
145
+ observeParents: !1,
146
+ observeSlideChildren: !1
147
+ }), s("init", d), s("destroy", o);
148
+ }
149
+ var Le = {
150
+ on(i, t, e) {
151
+ const s = this;
152
+ if (!s.eventsListeners || s.destroyed || typeof t != "function") return s;
153
+ const n = e ? "unshift" : "push";
154
+ return i.split(" ").forEach((r) => {
155
+ s.eventsListeners[r] || (s.eventsListeners[r] = []), s.eventsListeners[r][n](t);
156
+ }), s;
157
+ },
158
+ once(i, t, e) {
159
+ const s = this;
160
+ if (!s.eventsListeners || s.destroyed || typeof t != "function") return s;
161
+ function n() {
162
+ s.off(i, n), n.__emitterProxy && delete n.__emitterProxy;
163
+ for (var r = arguments.length, l = new Array(r), a = 0; a < r; a++)
164
+ l[a] = arguments[a];
165
+ t.apply(s, l);
166
+ }
167
+ return n.__emitterProxy = t, s.on(i, n, e);
168
+ },
169
+ onAny(i, t) {
170
+ const e = this;
171
+ if (!e.eventsListeners || e.destroyed || typeof i != "function") return e;
172
+ const s = t ? "unshift" : "push";
173
+ return e.eventsAnyListeners.indexOf(i) < 0 && e.eventsAnyListeners[s](i), e;
174
+ },
175
+ offAny(i) {
176
+ const t = this;
177
+ if (!t.eventsListeners || t.destroyed || !t.eventsAnyListeners) return t;
178
+ const e = t.eventsAnyListeners.indexOf(i);
179
+ return e >= 0 && t.eventsAnyListeners.splice(e, 1), t;
180
+ },
181
+ off(i, t) {
182
+ const e = this;
183
+ return !e.eventsListeners || e.destroyed || !e.eventsListeners || i.split(" ").forEach((s) => {
184
+ typeof t > "u" ? e.eventsListeners[s] = [] : e.eventsListeners[s] && e.eventsListeners[s].forEach((n, r) => {
185
+ (n === t || n.__emitterProxy && n.__emitterProxy === t) && e.eventsListeners[s].splice(r, 1);
186
+ });
187
+ }), e;
188
+ },
189
+ emit() {
190
+ const i = this;
191
+ if (!i.eventsListeners || i.destroyed || !i.eventsListeners) return i;
192
+ let t, e, s;
193
+ for (var n = arguments.length, r = new Array(n), l = 0; l < n; l++)
194
+ r[l] = arguments[l];
195
+ return typeof r[0] == "string" || Array.isArray(r[0]) ? (t = r[0], e = r.slice(1, r.length), s = i) : (t = r[0].events, e = r[0].data, s = r[0].context || i), e.unshift(s), (Array.isArray(t) ? t : t.split(" ")).forEach((d) => {
196
+ i.eventsAnyListeners && i.eventsAnyListeners.length && i.eventsAnyListeners.forEach((o) => {
197
+ o.apply(s, [d, ...e]);
198
+ }), i.eventsListeners && i.eventsListeners[d] && i.eventsListeners[d].forEach((o) => {
199
+ o.apply(s, e);
200
+ });
201
+ }), i;
202
+ }
203
+ };
204
+ function ze() {
205
+ const i = this;
206
+ let t, e;
207
+ const s = i.el;
208
+ typeof i.params.width < "u" && i.params.width !== null ? t = i.params.width : t = s.clientWidth, typeof i.params.height < "u" && i.params.height !== null ? e = i.params.height : e = s.clientHeight, !(t === 0 && i.isHorizontal() || e === 0 && i.isVertical()) && (t = t - parseInt(N(s, "padding-left") || 0, 10) - parseInt(N(s, "padding-right") || 0, 10), e = e - parseInt(N(s, "padding-top") || 0, 10) - parseInt(N(s, "padding-bottom") || 0, 10), Number.isNaN(t) && (t = 0), Number.isNaN(e) && (e = 0), Object.assign(i, {
209
+ width: t,
210
+ height: e,
211
+ size: i.isHorizontal() ? t : e
212
+ }));
213
+ }
214
+ function Oe() {
215
+ const i = this;
216
+ function t(w, x) {
217
+ return parseFloat(w.getPropertyValue(i.getDirectionLabel(x)) || 0);
218
+ }
219
+ const e = i.params, {
220
+ wrapperEl: s,
221
+ slidesEl: n,
222
+ size: r,
223
+ rtlTranslate: l,
224
+ wrongRTL: a
225
+ } = i, d = i.virtual && e.virtual.enabled, o = d ? i.virtual.slides.length : i.slides.length, c = D(n, `.${i.params.slideClass}, swiper-slide`), f = d ? i.virtual.slides.length : c.length;
226
+ let u = [];
227
+ const p = [], h = [];
228
+ let v = e.slidesOffsetBefore;
229
+ typeof v == "function" && (v = e.slidesOffsetBefore.call(i));
230
+ let E = e.slidesOffsetAfter;
231
+ typeof E == "function" && (E = e.slidesOffsetAfter.call(i));
232
+ const m = i.snapGrid.length, S = i.slidesGrid.length;
233
+ let g = e.spaceBetween, b = -v, T = 0, C = 0;
234
+ if (typeof r > "u")
235
+ return;
236
+ typeof g == "string" && g.indexOf("%") >= 0 ? g = parseFloat(g.replace("%", "")) / 100 * r : typeof g == "string" && (g = parseFloat(g)), i.virtualSize = -g, c.forEach((w) => {
237
+ l ? w.style.marginLeft = "" : w.style.marginRight = "", w.style.marginBottom = "", w.style.marginTop = "";
238
+ }), e.centeredSlides && e.cssMode && ($(s, "--swiper-centered-offset-before", ""), $(s, "--swiper-centered-offset-after", ""));
239
+ const I = e.grid && e.grid.rows > 1 && i.grid;
240
+ I ? i.grid.initSlides(c) : i.grid && i.grid.unsetSlides();
241
+ let y;
242
+ const O = e.slidesPerView === "auto" && e.breakpoints && Object.keys(e.breakpoints).filter((w) => typeof e.breakpoints[w].slidesPerView < "u").length > 0;
243
+ for (let w = 0; w < f; w += 1) {
244
+ y = 0;
245
+ let x;
246
+ if (c[w] && (x = c[w]), I && i.grid.updateSlide(w, x, c), !(c[w] && N(x, "display") === "none")) {
247
+ if (e.slidesPerView === "auto") {
248
+ O && (c[w].style[i.getDirectionLabel("width")] = "");
249
+ const M = getComputedStyle(x), L = x.style.transform, B = x.style.webkitTransform;
250
+ if (L && (x.style.transform = "none"), B && (x.style.webkitTransform = "none"), e.roundLengths)
251
+ y = i.isHorizontal() ? se(x, "width") : se(x, "height");
252
+ else {
253
+ const F = t(M, "width"), P = t(M, "padding-left"), z = t(M, "padding-right"), A = t(M, "margin-left"), V = t(M, "margin-right"), te = M.getPropertyValue("box-sizing");
254
+ if (te && te === "border-box")
255
+ y = F + A + V;
256
+ else {
257
+ const {
258
+ clientWidth: ge,
259
+ offsetWidth: ve
260
+ } = x;
261
+ y = F + P + z + A + V + (ve - ge);
262
+ }
263
+ }
264
+ L && (x.style.transform = L), B && (x.style.webkitTransform = B), e.roundLengths && (y = Math.floor(y));
265
+ } else
266
+ y = (r - (e.slidesPerView - 1) * g) / e.slidesPerView, e.roundLengths && (y = Math.floor(y)), c[w] && (c[w].style[i.getDirectionLabel("width")] = `${y}px`);
267
+ c[w] && (c[w].swiperSlideSize = y), h.push(y), e.centeredSlides ? (b = b + y / 2 + T / 2 + g, T === 0 && w !== 0 && (b = b - r / 2 - g), w === 0 && (b = b - r / 2 - g), Math.abs(b) < 1 / 1e3 && (b = 0), e.roundLengths && (b = Math.floor(b)), C % e.slidesPerGroup === 0 && u.push(b), p.push(b)) : (e.roundLengths && (b = Math.floor(b)), (C - Math.min(i.params.slidesPerGroupSkip, C)) % i.params.slidesPerGroup === 0 && u.push(b), p.push(b), b = b + y + g), i.virtualSize += y + g, T = y, C += 1;
268
+ }
269
+ }
270
+ if (i.virtualSize = Math.max(i.virtualSize, r) + E, l && a && (e.effect === "slide" || e.effect === "coverflow") && (s.style.width = `${i.virtualSize + g}px`), e.setWrapperSize && (s.style[i.getDirectionLabel("width")] = `${i.virtualSize + g}px`), I && i.grid.updateWrapperSize(y, u), !e.centeredSlides) {
271
+ const w = [];
272
+ for (let x = 0; x < u.length; x += 1) {
273
+ let M = u[x];
274
+ e.roundLengths && (M = Math.floor(M)), u[x] <= i.virtualSize - r && w.push(M);
275
+ }
276
+ u = w, Math.floor(i.virtualSize - r) - Math.floor(u[u.length - 1]) > 1 && u.push(i.virtualSize - r);
277
+ }
278
+ if (d && e.loop) {
279
+ const w = h[0] + g;
280
+ if (e.slidesPerGroup > 1) {
281
+ const x = Math.ceil((i.virtual.slidesBefore + i.virtual.slidesAfter) / e.slidesPerGroup), M = w * e.slidesPerGroup;
282
+ for (let L = 0; L < x; L += 1)
283
+ u.push(u[u.length - 1] + M);
284
+ }
285
+ for (let x = 0; x < i.virtual.slidesBefore + i.virtual.slidesAfter; x += 1)
286
+ e.slidesPerGroup === 1 && u.push(u[u.length - 1] + w), p.push(p[p.length - 1] + w), i.virtualSize += w;
287
+ }
288
+ if (u.length === 0 && (u = [0]), g !== 0) {
289
+ const w = i.isHorizontal() && l ? "marginLeft" : i.getDirectionLabel("marginRight");
290
+ c.filter((x, M) => !e.cssMode || e.loop ? !0 : M !== c.length - 1).forEach((x) => {
291
+ x.style[w] = `${g}px`;
292
+ });
293
+ }
294
+ if (e.centeredSlides && e.centeredSlidesBounds) {
295
+ let w = 0;
296
+ h.forEach((M) => {
297
+ w += M + (g || 0);
298
+ }), w -= g;
299
+ const x = w > r ? w - r : 0;
300
+ u = u.map((M) => M <= 0 ? -v : M > x ? x + E : M);
301
+ }
302
+ if (e.centerInsufficientSlides) {
303
+ let w = 0;
304
+ h.forEach((M) => {
305
+ w += M + (g || 0);
306
+ }), w -= g;
307
+ const x = (e.slidesOffsetBefore || 0) + (e.slidesOffsetAfter || 0);
308
+ if (w + x < r) {
309
+ const M = (r - w - x) / 2;
310
+ u.forEach((L, B) => {
311
+ u[B] = L - M;
312
+ }), p.forEach((L, B) => {
313
+ p[B] = L + M;
314
+ });
315
+ }
316
+ }
317
+ if (Object.assign(i, {
318
+ slides: c,
319
+ snapGrid: u,
320
+ slidesGrid: p,
321
+ slidesSizesGrid: h
322
+ }), e.centeredSlides && e.cssMode && !e.centeredSlidesBounds) {
323
+ $(s, "--swiper-centered-offset-before", `${-u[0]}px`), $(s, "--swiper-centered-offset-after", `${i.size / 2 - h[h.length - 1] / 2}px`);
324
+ const w = -i.snapGrid[0], x = -i.slidesGrid[0];
325
+ i.snapGrid = i.snapGrid.map((M) => M + w), i.slidesGrid = i.slidesGrid.map((M) => M + x);
326
+ }
327
+ if (f !== o && i.emit("slidesLengthChange"), u.length !== m && (i.params.watchOverflow && i.checkOverflow(), i.emit("snapGridLengthChange")), p.length !== S && i.emit("slidesGridLengthChange"), e.watchSlidesProgress && i.updateSlidesOffset(), i.emit("slidesUpdated"), !d && !e.cssMode && (e.effect === "slide" || e.effect === "fade")) {
328
+ const w = `${e.containerModifierClass}backface-hidden`, x = i.el.classList.contains(w);
329
+ f <= e.maxBackfaceHiddenSlides ? x || i.el.classList.add(w) : x && i.el.classList.remove(w);
330
+ }
331
+ }
332
+ function Ae(i) {
333
+ const t = this, e = [], s = t.virtual && t.params.virtual.enabled;
334
+ let n = 0, r;
335
+ typeof i == "number" ? t.setTransition(i) : i === !0 && t.setTransition(t.params.speed);
336
+ const l = (a) => s ? t.slides[t.getSlideIndexByData(a)] : t.slides[a];
337
+ if (t.params.slidesPerView !== "auto" && t.params.slidesPerView > 1)
338
+ if (t.params.centeredSlides)
339
+ (t.visibleSlides || []).forEach((a) => {
340
+ e.push(a);
341
+ });
342
+ else
343
+ for (r = 0; r < Math.ceil(t.params.slidesPerView); r += 1) {
344
+ const a = t.activeIndex + r;
345
+ if (a > t.slides.length && !s) break;
346
+ e.push(l(a));
347
+ }
348
+ else
349
+ e.push(l(t.activeIndex));
350
+ for (r = 0; r < e.length; r += 1)
351
+ if (typeof e[r] < "u") {
352
+ const a = e[r].offsetHeight;
353
+ n = a > n ? a : n;
354
+ }
355
+ (n || n === 0) && (t.wrapperEl.style.height = `${n}px`);
356
+ }
357
+ function Ge() {
358
+ const i = this, t = i.slides, e = i.isElement ? i.isHorizontal() ? i.wrapperEl.offsetLeft : i.wrapperEl.offsetTop : 0;
359
+ for (let s = 0; s < t.length; s += 1)
360
+ t[s].swiperSlideOffset = (i.isHorizontal() ? t[s].offsetLeft : t[s].offsetTop) - e - i.cssOverflowAdjustment();
361
+ }
362
+ const re = (i, t, e) => {
363
+ t && !i.classList.contains(e) ? i.classList.add(e) : !t && i.classList.contains(e) && i.classList.remove(e);
364
+ };
365
+ function ke(i) {
366
+ i === void 0 && (i = this && this.translate || 0);
367
+ const t = this, e = t.params, {
368
+ slides: s,
369
+ rtlTranslate: n,
370
+ snapGrid: r
371
+ } = t;
372
+ if (s.length === 0) return;
373
+ typeof s[0].swiperSlideOffset > "u" && t.updateSlidesOffset();
374
+ let l = -i;
375
+ n && (l = i), t.visibleSlidesIndexes = [], t.visibleSlides = [];
376
+ let a = e.spaceBetween;
377
+ typeof a == "string" && a.indexOf("%") >= 0 ? a = parseFloat(a.replace("%", "")) / 100 * t.size : typeof a == "string" && (a = parseFloat(a));
378
+ for (let d = 0; d < s.length; d += 1) {
379
+ const o = s[d];
380
+ let c = o.swiperSlideOffset;
381
+ e.cssMode && e.centeredSlides && (c -= s[0].swiperSlideOffset);
382
+ const f = (l + (e.centeredSlides ? t.minTranslate() : 0) - c) / (o.swiperSlideSize + a), u = (l - r[0] + (e.centeredSlides ? t.minTranslate() : 0) - c) / (o.swiperSlideSize + a), p = -(l - c), h = p + t.slidesSizesGrid[d], v = p >= 0 && p <= t.size - t.slidesSizesGrid[d], E = p >= 0 && p < t.size - 1 || h > 1 && h <= t.size || p <= 0 && h >= t.size;
383
+ E && (t.visibleSlides.push(o), t.visibleSlidesIndexes.push(d)), re(o, E, e.slideVisibleClass), re(o, v, e.slideFullyVisibleClass), o.progress = n ? -f : f, o.originalProgress = n ? -u : u;
384
+ }
385
+ }
386
+ function Ve(i) {
387
+ const t = this;
388
+ if (typeof i > "u") {
389
+ const c = t.rtlTranslate ? -1 : 1;
390
+ i = t && t.translate && t.translate * c || 0;
391
+ }
392
+ const e = t.params, s = t.maxTranslate() - t.minTranslate();
393
+ let {
394
+ progress: n,
395
+ isBeginning: r,
396
+ isEnd: l,
397
+ progressLoop: a
398
+ } = t;
399
+ const d = r, o = l;
400
+ if (s === 0)
401
+ n = 0, r = !0, l = !0;
402
+ else {
403
+ n = (i - t.minTranslate()) / s;
404
+ const c = Math.abs(i - t.minTranslate()) < 1, f = Math.abs(i - t.maxTranslate()) < 1;
405
+ r = c || n <= 0, l = f || n >= 1, c && (n = 0), f && (n = 1);
406
+ }
407
+ if (e.loop) {
408
+ const c = t.getSlideIndexByData(0), f = t.getSlideIndexByData(t.slides.length - 1), u = t.slidesGrid[c], p = t.slidesGrid[f], h = t.slidesGrid[t.slidesGrid.length - 1], v = Math.abs(i);
409
+ v >= u ? a = (v - u) / h : a = (v + h - p) / h, a > 1 && (a -= 1);
410
+ }
411
+ Object.assign(t, {
412
+ progress: n,
413
+ progressLoop: a,
414
+ isBeginning: r,
415
+ isEnd: l
416
+ }), (e.watchSlidesProgress || e.centeredSlides && e.autoHeight) && t.updateSlidesProgress(i), r && !d && t.emit("reachBeginning toEdge"), l && !o && t.emit("reachEnd toEdge"), (d && !r || o && !l) && t.emit("fromEdge"), t.emit("progress", n);
417
+ }
418
+ const U = (i, t, e) => {
419
+ t && !i.classList.contains(e) ? i.classList.add(e) : !t && i.classList.contains(e) && i.classList.remove(e);
420
+ };
421
+ function De() {
422
+ const i = this, {
423
+ slides: t,
424
+ params: e,
425
+ slidesEl: s,
426
+ activeIndex: n
427
+ } = i, r = i.virtual && e.virtual.enabled, l = i.grid && e.grid && e.grid.rows > 1, a = (f) => D(s, `.${e.slideClass}${f}, swiper-slide${f}`)[0];
428
+ let d, o, c;
429
+ if (r)
430
+ if (e.loop) {
431
+ let f = n - i.virtual.slidesBefore;
432
+ f < 0 && (f = i.virtual.slides.length + f), f >= i.virtual.slides.length && (f -= i.virtual.slides.length), d = a(`[data-swiper-slide-index="${f}"]`);
433
+ } else
434
+ d = a(`[data-swiper-slide-index="${n}"]`);
435
+ else
436
+ l ? (d = t.find((f) => f.column === n), c = t.find((f) => f.column === n + 1), o = t.find((f) => f.column === n - 1)) : d = t[n];
437
+ d && (l || (c = Te(d, `.${e.slideClass}, swiper-slide`)[0], e.loop && !c && (c = t[0]), o = xe(d, `.${e.slideClass}, swiper-slide`)[0], e.loop && !o === 0 && (o = t[t.length - 1]))), t.forEach((f) => {
438
+ U(f, f === d, e.slideActiveClass), U(f, f === c, e.slideNextClass), U(f, f === o, e.slidePrevClass);
439
+ }), i.emitSlidesClasses();
440
+ }
441
+ const H = (i, t) => {
442
+ if (!i || i.destroyed || !i.params) return;
443
+ const e = () => i.isElement ? "swiper-slide" : `.${i.params.slideClass}`, s = t.closest(e());
444
+ if (s) {
445
+ let n = s.querySelector(`.${i.params.lazyPreloaderClass}`);
446
+ !n && i.isElement && (s.shadowRoot ? n = s.shadowRoot.querySelector(`.${i.params.lazyPreloaderClass}`) : requestAnimationFrame(() => {
447
+ s.shadowRoot && (n = s.shadowRoot.querySelector(`.${i.params.lazyPreloaderClass}`), n && n.remove());
448
+ })), n && n.remove();
449
+ }
450
+ }, K = (i, t) => {
451
+ if (!i.slides[t]) return;
452
+ const e = i.slides[t].querySelector('[loading="lazy"]');
453
+ e && e.removeAttribute("loading");
454
+ }, ee = (i) => {
455
+ if (!i || i.destroyed || !i.params) return;
456
+ let t = i.params.lazyPreloadPrevNext;
457
+ const e = i.slides.length;
458
+ if (!e || !t || t < 0) return;
459
+ t = Math.min(t, e);
460
+ const s = i.params.slidesPerView === "auto" ? i.slidesPerViewDynamic() : Math.ceil(i.params.slidesPerView), n = i.activeIndex;
461
+ if (i.params.grid && i.params.grid.rows > 1) {
462
+ const l = n, a = [l - t];
463
+ a.push(...Array.from({
464
+ length: t
465
+ }).map((d, o) => l + s + o)), i.slides.forEach((d, o) => {
466
+ a.includes(d.column) && K(i, o);
467
+ });
468
+ return;
469
+ }
470
+ const r = n + s - 1;
471
+ if (i.params.rewind || i.params.loop)
472
+ for (let l = n - t; l <= r + t; l += 1) {
473
+ const a = (l % e + e) % e;
474
+ (a < n || a > r) && K(i, a);
475
+ }
476
+ else
477
+ for (let l = Math.max(n - t, 0); l <= Math.min(r + t, e - 1); l += 1)
478
+ l !== n && (l > r || l < n) && K(i, l);
479
+ };
480
+ function Be(i) {
481
+ const {
482
+ slidesGrid: t,
483
+ params: e
484
+ } = i, s = i.rtlTranslate ? i.translate : -i.translate;
485
+ let n;
486
+ for (let r = 0; r < t.length; r += 1)
487
+ typeof t[r + 1] < "u" ? s >= t[r] && s < t[r + 1] - (t[r + 1] - t[r]) / 2 ? n = r : s >= t[r] && s < t[r + 1] && (n = r + 1) : s >= t[r] && (n = r);
488
+ return e.normalizeSlideIndex && (n < 0 || typeof n > "u") && (n = 0), n;
489
+ }
490
+ function Fe(i) {
491
+ const t = this, e = t.rtlTranslate ? t.translate : -t.translate, {
492
+ snapGrid: s,
493
+ params: n,
494
+ activeIndex: r,
495
+ realIndex: l,
496
+ snapIndex: a
497
+ } = t;
498
+ let d = i, o;
499
+ const c = (p) => {
500
+ let h = p - t.virtual.slidesBefore;
501
+ return h < 0 && (h = t.virtual.slides.length + h), h >= t.virtual.slides.length && (h -= t.virtual.slides.length), h;
502
+ };
503
+ if (typeof d > "u" && (d = Be(t)), s.indexOf(e) >= 0)
504
+ o = s.indexOf(e);
505
+ else {
506
+ const p = Math.min(n.slidesPerGroupSkip, d);
507
+ o = p + Math.floor((d - p) / n.slidesPerGroup);
508
+ }
509
+ if (o >= s.length && (o = s.length - 1), d === r && !t.params.loop) {
510
+ o !== a && (t.snapIndex = o, t.emit("snapIndexChange"));
511
+ return;
512
+ }
513
+ if (d === r && t.params.loop && t.virtual && t.params.virtual.enabled) {
514
+ t.realIndex = c(d);
515
+ return;
516
+ }
517
+ const f = t.grid && n.grid && n.grid.rows > 1;
518
+ let u;
519
+ if (t.virtual && n.virtual.enabled && n.loop)
520
+ u = c(d);
521
+ else if (f) {
522
+ const p = t.slides.find((v) => v.column === d);
523
+ let h = parseInt(p.getAttribute("data-swiper-slide-index"), 10);
524
+ Number.isNaN(h) && (h = Math.max(t.slides.indexOf(p), 0)), u = Math.floor(h / n.grid.rows);
525
+ } else if (t.slides[d]) {
526
+ const p = t.slides[d].getAttribute("data-swiper-slide-index");
527
+ p ? u = parseInt(p, 10) : u = d;
528
+ } else
529
+ u = d;
530
+ Object.assign(t, {
531
+ previousSnapIndex: a,
532
+ snapIndex: o,
533
+ previousRealIndex: l,
534
+ realIndex: u,
535
+ previousIndex: r,
536
+ activeIndex: d
537
+ }), t.initialized && ee(t), t.emit("activeIndexChange"), t.emit("snapIndexChange"), (t.initialized || t.params.runCallbacksOnInit) && (l !== u && t.emit("realIndexChange"), t.emit("slideChange"));
538
+ }
539
+ function Ne(i, t) {
540
+ const e = this, s = e.params;
541
+ let n = i.closest(`.${s.slideClass}, swiper-slide`);
542
+ !n && e.isElement && t && t.length > 1 && t.includes(i) && [...t.slice(t.indexOf(i) + 1, t.length)].forEach((a) => {
543
+ !n && a.matches && a.matches(`.${s.slideClass}, swiper-slide`) && (n = a);
544
+ });
545
+ let r = !1, l;
546
+ if (n) {
547
+ for (let a = 0; a < e.slides.length; a += 1)
548
+ if (e.slides[a] === n) {
549
+ r = !0, l = a;
550
+ break;
551
+ }
552
+ }
553
+ if (n && r)
554
+ e.clickedSlide = n, e.virtual && e.params.virtual.enabled ? e.clickedIndex = parseInt(n.getAttribute("data-swiper-slide-index"), 10) : e.clickedIndex = l;
555
+ else {
556
+ e.clickedSlide = void 0, e.clickedIndex = void 0;
557
+ return;
558
+ }
559
+ s.slideToClickedSlide && e.clickedIndex !== void 0 && e.clickedIndex !== e.activeIndex && e.slideToClickedSlide();
560
+ }
561
+ var _e = {
562
+ updateSize: ze,
563
+ updateSlides: Oe,
564
+ updateAutoHeight: Ae,
565
+ updateSlidesOffset: Ge,
566
+ updateSlidesProgress: ke,
567
+ updateProgress: Ve,
568
+ updateSlidesClasses: De,
569
+ updateActiveIndex: Fe,
570
+ updateClickedSlide: Ne
571
+ };
572
+ function Re(i) {
573
+ i === void 0 && (i = this.isHorizontal() ? "x" : "y");
574
+ const t = this, {
575
+ params: e,
576
+ rtlTranslate: s,
577
+ translate: n,
578
+ wrapperEl: r
579
+ } = t;
580
+ if (e.virtualTranslate)
581
+ return s ? -n : n;
582
+ if (e.cssMode)
583
+ return n;
584
+ let l = Se(r, i);
585
+ return l += t.cssOverflowAdjustment(), s && (l = -l), l || 0;
586
+ }
587
+ function $e(i, t) {
588
+ const e = this, {
589
+ rtlTranslate: s,
590
+ params: n,
591
+ wrapperEl: r,
592
+ progress: l
593
+ } = e;
594
+ let a = 0, d = 0;
595
+ const o = 0;
596
+ e.isHorizontal() ? a = s ? -i : i : d = i, n.roundLengths && (a = Math.floor(a), d = Math.floor(d)), e.previousTranslate = e.translate, e.translate = e.isHorizontal() ? a : d, n.cssMode ? r[e.isHorizontal() ? "scrollLeft" : "scrollTop"] = e.isHorizontal() ? -a : -d : n.virtualTranslate || (e.isHorizontal() ? a -= e.cssOverflowAdjustment() : d -= e.cssOverflowAdjustment(), r.style.transform = `translate3d(${a}px, ${d}px, ${o}px)`);
597
+ let c;
598
+ const f = e.maxTranslate() - e.minTranslate();
599
+ f === 0 ? c = 0 : c = (i - e.minTranslate()) / f, c !== l && e.updateProgress(i), e.emit("setTranslate", e.translate, t);
600
+ }
601
+ function He() {
602
+ return -this.snapGrid[0];
603
+ }
604
+ function We() {
605
+ return -this.snapGrid[this.snapGrid.length - 1];
606
+ }
607
+ function Ye(i, t, e, s, n) {
608
+ i === void 0 && (i = 0), t === void 0 && (t = this.params.speed), e === void 0 && (e = !0), s === void 0 && (s = !0);
609
+ const r = this, {
610
+ params: l,
611
+ wrapperEl: a
612
+ } = r;
613
+ if (r.animating && l.preventInteractionOnTransition)
614
+ return !1;
615
+ const d = r.minTranslate(), o = r.maxTranslate();
616
+ let c;
617
+ if (s && i > d ? c = d : s && i < o ? c = o : c = i, r.updateProgress(c), l.cssMode) {
618
+ const f = r.isHorizontal();
619
+ if (t === 0)
620
+ a[f ? "scrollLeft" : "scrollTop"] = -c;
621
+ else {
622
+ if (!r.support.smoothScroll)
623
+ return ce({
624
+ swiper: r,
625
+ targetPosition: -c,
626
+ side: f ? "left" : "top"
627
+ }), !0;
628
+ a.scrollTo({
629
+ [f ? "left" : "top"]: -c,
630
+ behavior: "smooth"
631
+ });
632
+ }
633
+ return !0;
634
+ }
635
+ return t === 0 ? (r.setTransition(0), r.setTranslate(c), e && (r.emit("beforeTransitionStart", t, n), r.emit("transitionEnd"))) : (r.setTransition(t), r.setTranslate(c), e && (r.emit("beforeTransitionStart", t, n), r.emit("transitionStart")), r.animating || (r.animating = !0, r.onTranslateToWrapperTransitionEnd || (r.onTranslateToWrapperTransitionEnd = function(u) {
636
+ !r || r.destroyed || u.target === this && (r.wrapperEl.removeEventListener("transitionend", r.onTranslateToWrapperTransitionEnd), r.onTranslateToWrapperTransitionEnd = null, delete r.onTranslateToWrapperTransitionEnd, r.animating = !1, e && r.emit("transitionEnd"));
637
+ }), r.wrapperEl.addEventListener("transitionend", r.onTranslateToWrapperTransitionEnd))), !0;
638
+ }
639
+ var Xe = {
640
+ getTranslate: Re,
641
+ setTranslate: $e,
642
+ minTranslate: He,
643
+ maxTranslate: We,
644
+ translateTo: Ye
645
+ };
646
+ function je(i, t) {
647
+ const e = this;
648
+ e.params.cssMode || (e.wrapperEl.style.transitionDuration = `${i}ms`, e.wrapperEl.style.transitionDelay = i === 0 ? "0ms" : ""), e.emit("setTransition", i, t);
649
+ }
650
+ function he(i) {
651
+ let {
652
+ swiper: t,
653
+ runCallbacks: e,
654
+ direction: s,
655
+ step: n
656
+ } = i;
657
+ const {
658
+ activeIndex: r,
659
+ previousIndex: l
660
+ } = t;
661
+ let a = s;
662
+ a || (r > l ? a = "next" : r < l ? a = "prev" : a = "reset"), t.emit(`transition${n}`), e && a === "reset" ? t.emit(`slideResetTransition${n}`) : e && r !== l && (t.emit(`slideChangeTransition${n}`), a === "next" ? t.emit(`slideNextTransition${n}`) : t.emit(`slidePrevTransition${n}`));
663
+ }
664
+ function qe(i, t) {
665
+ i === void 0 && (i = !0);
666
+ const e = this, {
667
+ params: s
668
+ } = e;
669
+ s.cssMode || (s.autoHeight && e.updateAutoHeight(), he({
670
+ swiper: e,
671
+ runCallbacks: i,
672
+ direction: t,
673
+ step: "Start"
674
+ }));
675
+ }
676
+ function Ue(i, t) {
677
+ i === void 0 && (i = !0);
678
+ const e = this, {
679
+ params: s
680
+ } = e;
681
+ e.animating = !1, !s.cssMode && (e.setTransition(0), he({
682
+ swiper: e,
683
+ runCallbacks: i,
684
+ direction: t,
685
+ step: "End"
686
+ }));
687
+ }
688
+ var Ke = {
689
+ setTransition: je,
690
+ transitionStart: qe,
691
+ transitionEnd: Ue
692
+ };
693
+ function Je(i, t, e, s, n) {
694
+ i === void 0 && (i = 0), e === void 0 && (e = !0), typeof i == "string" && (i = parseInt(i, 10));
695
+ const r = this;
696
+ let l = i;
697
+ l < 0 && (l = 0);
698
+ const {
699
+ params: a,
700
+ snapGrid: d,
701
+ slidesGrid: o,
702
+ previousIndex: c,
703
+ activeIndex: f,
704
+ rtlTranslate: u,
705
+ wrapperEl: p,
706
+ enabled: h
707
+ } = r;
708
+ if (!h && !s && !n || r.destroyed || r.animating && a.preventInteractionOnTransition)
709
+ return !1;
710
+ typeof t > "u" && (t = r.params.speed);
711
+ const v = Math.min(r.params.slidesPerGroupSkip, l);
712
+ let E = v + Math.floor((l - v) / r.params.slidesPerGroup);
713
+ E >= d.length && (E = d.length - 1);
714
+ const m = -d[E];
715
+ if (a.normalizeSlideIndex)
716
+ for (let I = 0; I < o.length; I += 1) {
717
+ const y = -Math.floor(m * 100), O = Math.floor(o[I] * 100), w = Math.floor(o[I + 1] * 100);
718
+ typeof o[I + 1] < "u" ? y >= O && y < w - (w - O) / 2 ? l = I : y >= O && y < w && (l = I + 1) : y >= O && (l = I);
719
+ }
720
+ if (r.initialized && l !== f && (!r.allowSlideNext && (u ? m > r.translate && m > r.minTranslate() : m < r.translate && m < r.minTranslate()) || !r.allowSlidePrev && m > r.translate && m > r.maxTranslate() && (f || 0) !== l))
721
+ return !1;
722
+ l !== (c || 0) && e && r.emit("beforeSlideChangeStart"), r.updateProgress(m);
723
+ let S;
724
+ l > f ? S = "next" : l < f ? S = "prev" : S = "reset";
725
+ const g = r.virtual && r.params.virtual.enabled;
726
+ if (!(g && n) && (u && -m === r.translate || !u && m === r.translate))
727
+ return r.updateActiveIndex(l), a.autoHeight && r.updateAutoHeight(), r.updateSlidesClasses(), a.effect !== "slide" && r.setTranslate(m), S !== "reset" && (r.transitionStart(e, S), r.transitionEnd(e, S)), !1;
728
+ if (a.cssMode) {
729
+ const I = r.isHorizontal(), y = u ? m : -m;
730
+ if (t === 0)
731
+ g && (r.wrapperEl.style.scrollSnapType = "none", r._immediateVirtual = !0), g && !r._cssModeVirtualInitialSet && r.params.initialSlide > 0 ? (r._cssModeVirtualInitialSet = !0, requestAnimationFrame(() => {
732
+ p[I ? "scrollLeft" : "scrollTop"] = y;
733
+ })) : p[I ? "scrollLeft" : "scrollTop"] = y, g && requestAnimationFrame(() => {
734
+ r.wrapperEl.style.scrollSnapType = "", r._immediateVirtual = !1;
735
+ });
736
+ else {
737
+ if (!r.support.smoothScroll)
738
+ return ce({
739
+ swiper: r,
740
+ targetPosition: y,
741
+ side: I ? "left" : "top"
742
+ }), !0;
743
+ p.scrollTo({
744
+ [I ? "left" : "top"]: y,
745
+ behavior: "smooth"
746
+ });
747
+ }
748
+ return !0;
749
+ }
750
+ const C = pe().isSafari;
751
+ return g && !n && C && r.isElement && r.virtual.update(!1, !1, l), r.setTransition(t), r.setTranslate(m), r.updateActiveIndex(l), r.updateSlidesClasses(), r.emit("beforeTransitionStart", t, s), r.transitionStart(e, S), t === 0 ? r.transitionEnd(e, S) : r.animating || (r.animating = !0, r.onSlideToWrapperTransitionEnd || (r.onSlideToWrapperTransitionEnd = function(y) {
752
+ !r || r.destroyed || y.target === this && (r.wrapperEl.removeEventListener("transitionend", r.onSlideToWrapperTransitionEnd), r.onSlideToWrapperTransitionEnd = null, delete r.onSlideToWrapperTransitionEnd, r.transitionEnd(e, S));
753
+ }), r.wrapperEl.addEventListener("transitionend", r.onSlideToWrapperTransitionEnd)), !0;
754
+ }
755
+ function Qe(i, t, e, s) {
756
+ i === void 0 && (i = 0), e === void 0 && (e = !0), typeof i == "string" && (i = parseInt(i, 10));
757
+ const n = this;
758
+ if (n.destroyed) return;
759
+ typeof t > "u" && (t = n.params.speed);
760
+ const r = n.grid && n.params.grid && n.params.grid.rows > 1;
761
+ let l = i;
762
+ if (n.params.loop)
763
+ if (n.virtual && n.params.virtual.enabled)
764
+ l = l + n.virtual.slidesBefore;
765
+ else {
766
+ let a;
767
+ if (r) {
768
+ const u = l * n.params.grid.rows;
769
+ a = n.slides.find((p) => p.getAttribute("data-swiper-slide-index") * 1 === u).column;
770
+ } else
771
+ a = n.getSlideIndexByData(l);
772
+ const d = r ? Math.ceil(n.slides.length / n.params.grid.rows) : n.slides.length, {
773
+ centeredSlides: o
774
+ } = n.params;
775
+ let c = n.params.slidesPerView;
776
+ c === "auto" ? c = n.slidesPerViewDynamic() : (c = Math.ceil(parseFloat(n.params.slidesPerView, 10)), o && c % 2 === 0 && (c = c + 1));
777
+ let f = d - a < c;
778
+ if (o && (f = f || a < Math.ceil(c / 2)), s && o && n.params.slidesPerView !== "auto" && !r && (f = !1), f) {
779
+ const u = o ? a < n.activeIndex ? "prev" : "next" : a - n.activeIndex - 1 < n.params.slidesPerView ? "next" : "prev";
780
+ n.loopFix({
781
+ direction: u,
782
+ slideTo: !0,
783
+ activeSlideIndex: u === "next" ? a + 1 : a - d + 1,
784
+ slideRealIndex: u === "next" ? n.realIndex : void 0
785
+ });
786
+ }
787
+ if (r) {
788
+ const u = l * n.params.grid.rows;
789
+ l = n.slides.find((p) => p.getAttribute("data-swiper-slide-index") * 1 === u).column;
790
+ } else
791
+ l = n.getSlideIndexByData(l);
792
+ }
793
+ return requestAnimationFrame(() => {
794
+ n.slideTo(l, t, e, s);
795
+ }), n;
796
+ }
797
+ function Ze(i, t, e) {
798
+ t === void 0 && (t = !0);
799
+ const s = this, {
800
+ enabled: n,
801
+ params: r,
802
+ animating: l
803
+ } = s;
804
+ if (!n || s.destroyed) return s;
805
+ typeof i > "u" && (i = s.params.speed);
806
+ let a = r.slidesPerGroup;
807
+ r.slidesPerView === "auto" && r.slidesPerGroup === 1 && r.slidesPerGroupAuto && (a = Math.max(s.slidesPerViewDynamic("current", !0), 1));
808
+ const d = s.activeIndex < r.slidesPerGroupSkip ? 1 : a, o = s.virtual && r.virtual.enabled;
809
+ if (r.loop) {
810
+ if (l && !o && r.loopPreventsSliding) return !1;
811
+ if (s.loopFix({
812
+ direction: "next"
813
+ }), s._clientLeft = s.wrapperEl.clientLeft, s.activeIndex === s.slides.length - 1 && r.cssMode)
814
+ return requestAnimationFrame(() => {
815
+ s.slideTo(s.activeIndex + d, i, t, e);
816
+ }), !0;
817
+ }
818
+ return r.rewind && s.isEnd ? s.slideTo(0, i, t, e) : s.slideTo(s.activeIndex + d, i, t, e);
819
+ }
820
+ function et(i, t, e) {
821
+ t === void 0 && (t = !0);
822
+ const s = this, {
823
+ params: n,
824
+ snapGrid: r,
825
+ slidesGrid: l,
826
+ rtlTranslate: a,
827
+ enabled: d,
828
+ animating: o
829
+ } = s;
830
+ if (!d || s.destroyed) return s;
831
+ typeof i > "u" && (i = s.params.speed);
832
+ const c = s.virtual && n.virtual.enabled;
833
+ if (n.loop) {
834
+ if (o && !c && n.loopPreventsSliding) return !1;
835
+ s.loopFix({
836
+ direction: "prev"
837
+ }), s._clientLeft = s.wrapperEl.clientLeft;
838
+ }
839
+ const f = a ? s.translate : -s.translate;
840
+ function u(S) {
841
+ return S < 0 ? -Math.floor(Math.abs(S)) : Math.floor(S);
842
+ }
843
+ const p = u(f), h = r.map((S) => u(S)), v = n.freeMode && n.freeMode.enabled;
844
+ let E = r[h.indexOf(p) - 1];
845
+ if (typeof E > "u" && (n.cssMode || v)) {
846
+ let S;
847
+ r.forEach((g, b) => {
848
+ p >= g && (S = b);
849
+ }), typeof S < "u" && (E = v ? r[S] : r[S > 0 ? S - 1 : S]);
850
+ }
851
+ let m = 0;
852
+ if (typeof E < "u" && (m = l.indexOf(E), m < 0 && (m = s.activeIndex - 1), n.slidesPerView === "auto" && n.slidesPerGroup === 1 && n.slidesPerGroupAuto && (m = m - s.slidesPerViewDynamic("previous", !0) + 1, m = Math.max(m, 0))), n.rewind && s.isBeginning) {
853
+ const S = s.params.virtual && s.params.virtual.enabled && s.virtual ? s.virtual.slides.length - 1 : s.slides.length - 1;
854
+ return s.slideTo(S, i, t, e);
855
+ } else if (n.loop && s.activeIndex === 0 && n.cssMode)
856
+ return requestAnimationFrame(() => {
857
+ s.slideTo(m, i, t, e);
858
+ }), !0;
859
+ return s.slideTo(m, i, t, e);
860
+ }
861
+ function tt(i, t, e) {
862
+ t === void 0 && (t = !0);
863
+ const s = this;
864
+ if (!s.destroyed)
865
+ return typeof i > "u" && (i = s.params.speed), s.slideTo(s.activeIndex, i, t, e);
866
+ }
867
+ function it(i, t, e, s) {
868
+ t === void 0 && (t = !0), s === void 0 && (s = 0.5);
869
+ const n = this;
870
+ if (n.destroyed) return;
871
+ typeof i > "u" && (i = n.params.speed);
872
+ let r = n.activeIndex;
873
+ const l = Math.min(n.params.slidesPerGroupSkip, r), a = l + Math.floor((r - l) / n.params.slidesPerGroup), d = n.rtlTranslate ? n.translate : -n.translate;
874
+ if (d >= n.snapGrid[a]) {
875
+ const o = n.snapGrid[a], c = n.snapGrid[a + 1];
876
+ d - o > (c - o) * s && (r += n.params.slidesPerGroup);
877
+ } else {
878
+ const o = n.snapGrid[a - 1], c = n.snapGrid[a];
879
+ d - o <= (c - o) * s && (r -= n.params.slidesPerGroup);
880
+ }
881
+ return r = Math.max(r, 0), r = Math.min(r, n.slidesGrid.length - 1), n.slideTo(r, i, t, e);
882
+ }
883
+ function st() {
884
+ const i = this;
885
+ if (i.destroyed) return;
886
+ const {
887
+ params: t,
888
+ slidesEl: e
889
+ } = i, s = t.slidesPerView === "auto" ? i.slidesPerViewDynamic() : t.slidesPerView;
890
+ let n = i.getSlideIndexWhenGrid(i.clickedIndex), r;
891
+ const l = i.isElement ? "swiper-slide" : `.${t.slideClass}`, a = i.grid && i.params.grid && i.params.grid.rows > 1;
892
+ if (t.loop) {
893
+ if (i.animating) return;
894
+ r = parseInt(i.clickedSlide.getAttribute("data-swiper-slide-index"), 10), t.centeredSlides ? i.slideToLoop(r) : n > (a ? (i.slides.length - s) / 2 - (i.params.grid.rows - 1) : i.slides.length - s) ? (i.loopFix(), n = i.getSlideIndex(D(e, `${l}[data-swiper-slide-index="${r}"]`)[0]), de(() => {
895
+ i.slideTo(n);
896
+ })) : i.slideTo(n);
897
+ } else
898
+ i.slideTo(n);
899
+ }
900
+ var rt = {
901
+ slideTo: Je,
902
+ slideToLoop: Qe,
903
+ slideNext: Ze,
904
+ slidePrev: et,
905
+ slideReset: tt,
906
+ slideToClosest: it,
907
+ slideToClickedSlide: st
908
+ };
909
+ function nt(i, t) {
910
+ const e = this, {
911
+ params: s,
912
+ slidesEl: n
913
+ } = e;
914
+ if (!s.loop || e.virtual && e.params.virtual.enabled) return;
915
+ const r = () => {
916
+ D(n, `.${s.slideClass}, swiper-slide`).forEach((p, h) => {
917
+ p.setAttribute("data-swiper-slide-index", h);
918
+ });
919
+ }, l = () => {
920
+ const u = D(n, `.${s.slideBlankClass}`);
921
+ u.forEach((p) => {
922
+ p.remove();
923
+ }), u.length > 0 && (e.recalcSlides(), e.updateSlides());
924
+ }, a = e.grid && s.grid && s.grid.rows > 1;
925
+ s.loopAddBlankSlides && (s.slidesPerGroup > 1 || a) && l();
926
+ const d = s.slidesPerGroup * (a ? s.grid.rows : 1), o = e.slides.length % d !== 0, c = a && e.slides.length % s.grid.rows !== 0, f = (u) => {
927
+ for (let p = 0; p < u; p += 1) {
928
+ const h = e.isElement ? Z("swiper-slide", [s.slideBlankClass]) : Z("div", [s.slideClass, s.slideBlankClass]);
929
+ e.slidesEl.append(h);
930
+ }
931
+ };
932
+ if (o) {
933
+ if (s.loopAddBlankSlides) {
934
+ const u = d - e.slides.length % d;
935
+ f(u), e.recalcSlides(), e.updateSlides();
936
+ } else
937
+ W("Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)");
938
+ r();
939
+ } else if (c) {
940
+ if (s.loopAddBlankSlides) {
941
+ const u = s.grid.rows - e.slides.length % s.grid.rows;
942
+ f(u), e.recalcSlides(), e.updateSlides();
943
+ } else
944
+ W("Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)");
945
+ r();
946
+ } else
947
+ r();
948
+ e.loopFix({
949
+ slideRealIndex: i,
950
+ direction: s.centeredSlides ? void 0 : "next",
951
+ initial: t
952
+ });
953
+ }
954
+ function at(i) {
955
+ let {
956
+ slideRealIndex: t,
957
+ slideTo: e = !0,
958
+ direction: s,
959
+ setTranslate: n,
960
+ activeSlideIndex: r,
961
+ initial: l,
962
+ byController: a,
963
+ byMousewheel: d
964
+ } = i === void 0 ? {} : i;
965
+ const o = this;
966
+ if (!o.params.loop) return;
967
+ o.emit("beforeLoopFix");
968
+ const {
969
+ slides: c,
970
+ allowSlidePrev: f,
971
+ allowSlideNext: u,
972
+ slidesEl: p,
973
+ params: h
974
+ } = o, {
975
+ centeredSlides: v,
976
+ initialSlide: E
977
+ } = h;
978
+ if (o.allowSlidePrev = !0, o.allowSlideNext = !0, o.virtual && h.virtual.enabled) {
979
+ e && (!h.centeredSlides && o.snapIndex === 0 ? o.slideTo(o.virtual.slides.length, 0, !1, !0) : h.centeredSlides && o.snapIndex < h.slidesPerView ? o.slideTo(o.virtual.slides.length + o.snapIndex, 0, !1, !0) : o.snapIndex === o.snapGrid.length - 1 && o.slideTo(o.virtual.slidesBefore, 0, !1, !0)), o.allowSlidePrev = f, o.allowSlideNext = u, o.emit("loopFix");
980
+ return;
981
+ }
982
+ let m = h.slidesPerView;
983
+ m === "auto" ? m = o.slidesPerViewDynamic() : (m = Math.ceil(parseFloat(h.slidesPerView, 10)), v && m % 2 === 0 && (m = m + 1));
984
+ const S = h.slidesPerGroupAuto ? m : h.slidesPerGroup;
985
+ let g = v ? Math.max(S, Math.ceil(m / 2)) : S;
986
+ g % S !== 0 && (g += S - g % S), g += h.loopAdditionalSlides, o.loopedSlides = g;
987
+ const b = o.grid && h.grid && h.grid.rows > 1;
988
+ c.length < m + g || o.params.effect === "cards" && c.length < m + g * 2 ? W("Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled or not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters") : b && h.grid.fill === "row" && W("Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`");
989
+ const T = [], C = [], I = b ? Math.ceil(c.length / h.grid.rows) : c.length, y = l && I - E < m && !v;
990
+ let O = y ? E : o.activeIndex;
991
+ typeof r > "u" ? r = o.getSlideIndex(c.find((P) => P.classList.contains(h.slideActiveClass))) : O = r;
992
+ const w = s === "next" || !s, x = s === "prev" || !s;
993
+ let M = 0, L = 0;
994
+ const F = (b ? c[r].column : r) + (v && typeof n > "u" ? -m / 2 + 0.5 : 0);
995
+ if (F < g) {
996
+ M = Math.max(g - F, S);
997
+ for (let P = 0; P < g - F; P += 1) {
998
+ const z = P - Math.floor(P / I) * I;
999
+ if (b) {
1000
+ const A = I - z - 1;
1001
+ for (let V = c.length - 1; V >= 0; V -= 1)
1002
+ c[V].column === A && T.push(V);
1003
+ } else
1004
+ T.push(I - z - 1);
1005
+ }
1006
+ } else if (F + m > I - g) {
1007
+ L = Math.max(F - (I - g * 2), S), y && (L = Math.max(L, m - I + E + 1));
1008
+ for (let P = 0; P < L; P += 1) {
1009
+ const z = P - Math.floor(P / I) * I;
1010
+ b ? c.forEach((A, V) => {
1011
+ A.column === z && C.push(V);
1012
+ }) : C.push(z);
1013
+ }
1014
+ }
1015
+ if (o.__preventObserver__ = !0, requestAnimationFrame(() => {
1016
+ o.__preventObserver__ = !1;
1017
+ }), o.params.effect === "cards" && c.length < m + g * 2 && (C.includes(r) && C.splice(C.indexOf(r), 1), T.includes(r) && T.splice(T.indexOf(r), 1)), x && T.forEach((P) => {
1018
+ c[P].swiperLoopMoveDOM = !0, p.prepend(c[P]), c[P].swiperLoopMoveDOM = !1;
1019
+ }), w && C.forEach((P) => {
1020
+ c[P].swiperLoopMoveDOM = !0, p.append(c[P]), c[P].swiperLoopMoveDOM = !1;
1021
+ }), o.recalcSlides(), h.slidesPerView === "auto" ? o.updateSlides() : b && (T.length > 0 && x || C.length > 0 && w) && o.slides.forEach((P, z) => {
1022
+ o.grid.updateSlide(z, P, o.slides);
1023
+ }), h.watchSlidesProgress && o.updateSlidesOffset(), e) {
1024
+ if (T.length > 0 && x) {
1025
+ if (typeof t > "u") {
1026
+ const P = o.slidesGrid[O], A = o.slidesGrid[O + M] - P;
1027
+ d ? o.setTranslate(o.translate - A) : (o.slideTo(O + Math.ceil(M), 0, !1, !0), n && (o.touchEventsData.startTranslate = o.touchEventsData.startTranslate - A, o.touchEventsData.currentTranslate = o.touchEventsData.currentTranslate - A));
1028
+ } else if (n) {
1029
+ const P = b ? T.length / h.grid.rows : T.length;
1030
+ o.slideTo(o.activeIndex + P, 0, !1, !0), o.touchEventsData.currentTranslate = o.translate;
1031
+ }
1032
+ } else if (C.length > 0 && w)
1033
+ if (typeof t > "u") {
1034
+ const P = o.slidesGrid[O], A = o.slidesGrid[O - L] - P;
1035
+ d ? o.setTranslate(o.translate - A) : (o.slideTo(O - L, 0, !1, !0), n && (o.touchEventsData.startTranslate = o.touchEventsData.startTranslate - A, o.touchEventsData.currentTranslate = o.touchEventsData.currentTranslate - A));
1036
+ } else {
1037
+ const P = b ? C.length / h.grid.rows : C.length;
1038
+ o.slideTo(o.activeIndex - P, 0, !1, !0);
1039
+ }
1040
+ }
1041
+ if (o.allowSlidePrev = f, o.allowSlideNext = u, o.controller && o.controller.control && !a) {
1042
+ const P = {
1043
+ slideRealIndex: t,
1044
+ direction: s,
1045
+ setTranslate: n,
1046
+ activeSlideIndex: r,
1047
+ byController: !0
1048
+ };
1049
+ Array.isArray(o.controller.control) ? o.controller.control.forEach((z) => {
1050
+ !z.destroyed && z.params.loop && z.loopFix({
1051
+ ...P,
1052
+ slideTo: z.params.slidesPerView === h.slidesPerView ? e : !1
1053
+ });
1054
+ }) : o.controller.control instanceof o.constructor && o.controller.control.params.loop && o.controller.control.loopFix({
1055
+ ...P,
1056
+ slideTo: o.controller.control.params.slidesPerView === h.slidesPerView ? e : !1
1057
+ });
1058
+ }
1059
+ o.emit("loopFix");
1060
+ }
1061
+ function lt() {
1062
+ const i = this, {
1063
+ params: t,
1064
+ slidesEl: e
1065
+ } = i;
1066
+ if (!t.loop || !e || i.virtual && i.params.virtual.enabled) return;
1067
+ i.recalcSlides();
1068
+ const s = [];
1069
+ i.slides.forEach((n) => {
1070
+ const r = typeof n.swiperSlideIndex > "u" ? n.getAttribute("data-swiper-slide-index") * 1 : n.swiperSlideIndex;
1071
+ s[r] = n;
1072
+ }), i.slides.forEach((n) => {
1073
+ n.removeAttribute("data-swiper-slide-index");
1074
+ }), s.forEach((n) => {
1075
+ e.append(n);
1076
+ }), i.recalcSlides(), i.slideTo(i.realIndex, 0);
1077
+ }
1078
+ var ot = {
1079
+ loopCreate: nt,
1080
+ loopFix: at,
1081
+ loopDestroy: lt
1082
+ };
1083
+ function dt(i) {
1084
+ const t = this;
1085
+ if (!t.params.simulateTouch || t.params.watchOverflow && t.isLocked || t.params.cssMode) return;
1086
+ const e = t.params.touchEventsTarget === "container" ? t.el : t.wrapperEl;
1087
+ t.isElement && (t.__preventObserver__ = !0), e.style.cursor = "move", e.style.cursor = i ? "grabbing" : "grab", t.isElement && requestAnimationFrame(() => {
1088
+ t.__preventObserver__ = !1;
1089
+ });
1090
+ }
1091
+ function ct() {
1092
+ const i = this;
1093
+ i.params.watchOverflow && i.isLocked || i.params.cssMode || (i.isElement && (i.__preventObserver__ = !0), i[i.params.touchEventsTarget === "container" ? "el" : "wrapperEl"].style.cursor = "", i.isElement && requestAnimationFrame(() => {
1094
+ i.__preventObserver__ = !1;
1095
+ }));
1096
+ }
1097
+ var ft = {
1098
+ setGrabCursor: dt,
1099
+ unsetGrabCursor: ct
1100
+ };
1101
+ function ut(i, t) {
1102
+ t === void 0 && (t = this);
1103
+ function e(s) {
1104
+ if (!s || s === R() || s === _()) return null;
1105
+ s.assignedSlot && (s = s.assignedSlot);
1106
+ const n = s.closest(i);
1107
+ return !n && !s.getRootNode ? null : n || e(s.getRootNode().host);
1108
+ }
1109
+ return e(t);
1110
+ }
1111
+ function ne(i, t, e) {
1112
+ const s = _(), {
1113
+ params: n
1114
+ } = i, r = n.edgeSwipeDetection, l = n.edgeSwipeThreshold;
1115
+ return r && (e <= l || e >= s.innerWidth - l) ? r === "prevent" ? (t.preventDefault(), !0) : !1 : !0;
1116
+ }
1117
+ function pt(i) {
1118
+ const t = this, e = R();
1119
+ let s = i;
1120
+ s.originalEvent && (s = s.originalEvent);
1121
+ const n = t.touchEventsData;
1122
+ if (s.type === "pointerdown") {
1123
+ if (n.pointerId !== null && n.pointerId !== s.pointerId)
1124
+ return;
1125
+ n.pointerId = s.pointerId;
1126
+ } else s.type === "touchstart" && s.targetTouches.length === 1 && (n.touchId = s.targetTouches[0].identifier);
1127
+ if (s.type === "touchstart") {
1128
+ ne(t, s, s.targetTouches[0].pageX);
1129
+ return;
1130
+ }
1131
+ const {
1132
+ params: r,
1133
+ touches: l,
1134
+ enabled: a
1135
+ } = t;
1136
+ if (!a || !r.simulateTouch && s.pointerType === "mouse" || t.animating && r.preventInteractionOnTransition)
1137
+ return;
1138
+ !t.animating && r.cssMode && r.loop && t.loopFix();
1139
+ let d = s.target;
1140
+ if (r.touchEventsTarget === "wrapper" && !be(d, t.wrapperEl) || "which" in s && s.which === 3 || "button" in s && s.button > 0 || n.isTouched && n.isMoved) return;
1141
+ const o = !!r.noSwipingClass && r.noSwipingClass !== "", c = s.composedPath ? s.composedPath() : s.path;
1142
+ o && s.target && s.target.shadowRoot && c && (d = c[0]);
1143
+ const f = r.noSwipingSelector ? r.noSwipingSelector : `.${r.noSwipingClass}`, u = !!(s.target && s.target.shadowRoot);
1144
+ if (r.noSwiping && (u ? ut(f, d) : d.closest(f))) {
1145
+ t.allowClick = !0;
1146
+ return;
1147
+ }
1148
+ if (r.swipeHandler && !d.closest(r.swipeHandler))
1149
+ return;
1150
+ l.currentX = s.pageX, l.currentY = s.pageY;
1151
+ const p = l.currentX, h = l.currentY;
1152
+ if (!ne(t, s, p))
1153
+ return;
1154
+ Object.assign(n, {
1155
+ isTouched: !0,
1156
+ isMoved: !1,
1157
+ allowTouchCallbacks: !0,
1158
+ isScrolling: void 0,
1159
+ startMoving: void 0
1160
+ }), l.startX = p, l.startY = h, n.touchStartTime = Y(), t.allowClick = !0, t.updateSize(), t.swipeDirection = void 0, r.threshold > 0 && (n.allowThresholdMove = !1);
1161
+ let v = !0;
1162
+ d.matches(n.focusableElements) && (v = !1, d.nodeName === "SELECT" && (n.isTouched = !1)), e.activeElement && e.activeElement.matches(n.focusableElements) && e.activeElement !== d && (s.pointerType === "mouse" || s.pointerType !== "mouse" && !d.matches(n.focusableElements)) && e.activeElement.blur();
1163
+ const E = v && t.allowTouchMove && r.touchStartPreventDefault;
1164
+ (r.touchStartForcePreventDefault || E) && !d.isContentEditable && s.preventDefault(), r.freeMode && r.freeMode.enabled && t.freeMode && t.animating && !r.cssMode && t.freeMode.onTouchStart(), t.emit("touchStart", s);
1165
+ }
1166
+ function ht(i) {
1167
+ const t = R(), e = this, s = e.touchEventsData, {
1168
+ params: n,
1169
+ touches: r,
1170
+ rtlTranslate: l,
1171
+ enabled: a
1172
+ } = e;
1173
+ if (!a || !n.simulateTouch && i.pointerType === "mouse") return;
1174
+ let d = i;
1175
+ if (d.originalEvent && (d = d.originalEvent), d.type === "pointermove" && (s.touchId !== null || d.pointerId !== s.pointerId))
1176
+ return;
1177
+ let o;
1178
+ if (d.type === "touchmove") {
1179
+ if (o = [...d.changedTouches].find((T) => T.identifier === s.touchId), !o || o.identifier !== s.touchId) return;
1180
+ } else
1181
+ o = d;
1182
+ if (!s.isTouched) {
1183
+ s.startMoving && s.isScrolling && e.emit("touchMoveOpposite", d);
1184
+ return;
1185
+ }
1186
+ const c = o.pageX, f = o.pageY;
1187
+ if (d.preventedByNestedSwiper) {
1188
+ r.startX = c, r.startY = f;
1189
+ return;
1190
+ }
1191
+ if (!e.allowTouchMove) {
1192
+ d.target.matches(s.focusableElements) || (e.allowClick = !1), s.isTouched && (Object.assign(r, {
1193
+ startX: c,
1194
+ startY: f,
1195
+ currentX: c,
1196
+ currentY: f
1197
+ }), s.touchStartTime = Y());
1198
+ return;
1199
+ }
1200
+ if (n.touchReleaseOnEdges && !n.loop)
1201
+ if (e.isVertical()) {
1202
+ if (f < r.startY && e.translate <= e.maxTranslate() || f > r.startY && e.translate >= e.minTranslate()) {
1203
+ s.isTouched = !1, s.isMoved = !1;
1204
+ return;
1205
+ }
1206
+ } else {
1207
+ if (l && (c > r.startX && -e.translate <= e.maxTranslate() || c < r.startX && -e.translate >= e.minTranslate()))
1208
+ return;
1209
+ if (!l && (c < r.startX && e.translate <= e.maxTranslate() || c > r.startX && e.translate >= e.minTranslate()))
1210
+ return;
1211
+ }
1212
+ if (t.activeElement && t.activeElement.matches(s.focusableElements) && t.activeElement !== d.target && d.pointerType !== "mouse" && t.activeElement.blur(), t.activeElement && d.target === t.activeElement && d.target.matches(s.focusableElements)) {
1213
+ s.isMoved = !0, e.allowClick = !1;
1214
+ return;
1215
+ }
1216
+ s.allowTouchCallbacks && e.emit("touchMove", d), r.previousX = r.currentX, r.previousY = r.currentY, r.currentX = c, r.currentY = f;
1217
+ const u = r.currentX - r.startX, p = r.currentY - r.startY;
1218
+ if (e.params.threshold && Math.sqrt(u ** 2 + p ** 2) < e.params.threshold) return;
1219
+ if (typeof s.isScrolling > "u") {
1220
+ let T;
1221
+ e.isHorizontal() && r.currentY === r.startY || e.isVertical() && r.currentX === r.startX ? s.isScrolling = !1 : u * u + p * p >= 25 && (T = Math.atan2(Math.abs(p), Math.abs(u)) * 180 / Math.PI, s.isScrolling = e.isHorizontal() ? T > n.touchAngle : 90 - T > n.touchAngle);
1222
+ }
1223
+ if (s.isScrolling && e.emit("touchMoveOpposite", d), typeof s.startMoving > "u" && (r.currentX !== r.startX || r.currentY !== r.startY) && (s.startMoving = !0), s.isScrolling || d.type === "touchmove" && s.preventTouchMoveFromPointerMove) {
1224
+ s.isTouched = !1;
1225
+ return;
1226
+ }
1227
+ if (!s.startMoving)
1228
+ return;
1229
+ e.allowClick = !1, !n.cssMode && d.cancelable && d.preventDefault(), n.touchMoveStopPropagation && !n.nested && d.stopPropagation();
1230
+ let h = e.isHorizontal() ? u : p, v = e.isHorizontal() ? r.currentX - r.previousX : r.currentY - r.previousY;
1231
+ n.oneWayMovement && (h = Math.abs(h) * (l ? 1 : -1), v = Math.abs(v) * (l ? 1 : -1)), r.diff = h, h *= n.touchRatio, l && (h = -h, v = -v);
1232
+ const E = e.touchesDirection;
1233
+ e.swipeDirection = h > 0 ? "prev" : "next", e.touchesDirection = v > 0 ? "prev" : "next";
1234
+ const m = e.params.loop && !n.cssMode, S = e.touchesDirection === "next" && e.allowSlideNext || e.touchesDirection === "prev" && e.allowSlidePrev;
1235
+ if (!s.isMoved) {
1236
+ if (m && S && e.loopFix({
1237
+ direction: e.swipeDirection
1238
+ }), s.startTranslate = e.getTranslate(), e.setTransition(0), e.animating) {
1239
+ const T = new window.CustomEvent("transitionend", {
1240
+ bubbles: !0,
1241
+ cancelable: !0,
1242
+ detail: {
1243
+ bySwiperTouchMove: !0
1244
+ }
1245
+ });
1246
+ e.wrapperEl.dispatchEvent(T);
1247
+ }
1248
+ s.allowMomentumBounce = !1, n.grabCursor && (e.allowSlideNext === !0 || e.allowSlidePrev === !0) && e.setGrabCursor(!0), e.emit("sliderFirstMove", d);
1249
+ }
1250
+ if ((/* @__PURE__ */ new Date()).getTime(), n._loopSwapReset !== !1 && s.isMoved && s.allowThresholdMove && E !== e.touchesDirection && m && S && Math.abs(h) >= 1) {
1251
+ Object.assign(r, {
1252
+ startX: c,
1253
+ startY: f,
1254
+ currentX: c,
1255
+ currentY: f,
1256
+ startTranslate: s.currentTranslate
1257
+ }), s.loopSwapReset = !0, s.startTranslate = s.currentTranslate;
1258
+ return;
1259
+ }
1260
+ e.emit("sliderMove", d), s.isMoved = !0, s.currentTranslate = h + s.startTranslate;
1261
+ let g = !0, b = n.resistanceRatio;
1262
+ if (n.touchReleaseOnEdges && (b = 0), h > 0 ? (m && S && s.allowThresholdMove && s.currentTranslate > (n.centeredSlides ? e.minTranslate() - e.slidesSizesGrid[e.activeIndex + 1] - (n.slidesPerView !== "auto" && e.slides.length - n.slidesPerView >= 2 ? e.slidesSizesGrid[e.activeIndex + 1] + e.params.spaceBetween : 0) - e.params.spaceBetween : e.minTranslate()) && e.loopFix({
1263
+ direction: "prev",
1264
+ setTranslate: !0,
1265
+ activeSlideIndex: 0
1266
+ }), s.currentTranslate > e.minTranslate() && (g = !1, n.resistance && (s.currentTranslate = e.minTranslate() - 1 + (-e.minTranslate() + s.startTranslate + h) ** b))) : h < 0 && (m && S && s.allowThresholdMove && s.currentTranslate < (n.centeredSlides ? e.maxTranslate() + e.slidesSizesGrid[e.slidesSizesGrid.length - 1] + e.params.spaceBetween + (n.slidesPerView !== "auto" && e.slides.length - n.slidesPerView >= 2 ? e.slidesSizesGrid[e.slidesSizesGrid.length - 1] + e.params.spaceBetween : 0) : e.maxTranslate()) && e.loopFix({
1267
+ direction: "next",
1268
+ setTranslate: !0,
1269
+ activeSlideIndex: e.slides.length - (n.slidesPerView === "auto" ? e.slidesPerViewDynamic() : Math.ceil(parseFloat(n.slidesPerView, 10)))
1270
+ }), s.currentTranslate < e.maxTranslate() && (g = !1, n.resistance && (s.currentTranslate = e.maxTranslate() + 1 - (e.maxTranslate() - s.startTranslate - h) ** b))), g && (d.preventedByNestedSwiper = !0), !e.allowSlideNext && e.swipeDirection === "next" && s.currentTranslate < s.startTranslate && (s.currentTranslate = s.startTranslate), !e.allowSlidePrev && e.swipeDirection === "prev" && s.currentTranslate > s.startTranslate && (s.currentTranslate = s.startTranslate), !e.allowSlidePrev && !e.allowSlideNext && (s.currentTranslate = s.startTranslate), n.threshold > 0)
1271
+ if (Math.abs(h) > n.threshold || s.allowThresholdMove) {
1272
+ if (!s.allowThresholdMove) {
1273
+ s.allowThresholdMove = !0, r.startX = r.currentX, r.startY = r.currentY, s.currentTranslate = s.startTranslate, r.diff = e.isHorizontal() ? r.currentX - r.startX : r.currentY - r.startY;
1274
+ return;
1275
+ }
1276
+ } else {
1277
+ s.currentTranslate = s.startTranslate;
1278
+ return;
1279
+ }
1280
+ !n.followFinger || n.cssMode || ((n.freeMode && n.freeMode.enabled && e.freeMode || n.watchSlidesProgress) && (e.updateActiveIndex(), e.updateSlidesClasses()), n.freeMode && n.freeMode.enabled && e.freeMode && e.freeMode.onTouchMove(), e.updateProgress(s.currentTranslate), e.setTranslate(s.currentTranslate));
1281
+ }
1282
+ function mt(i) {
1283
+ const t = this, e = t.touchEventsData;
1284
+ let s = i;
1285
+ s.originalEvent && (s = s.originalEvent);
1286
+ let n;
1287
+ if (s.type === "touchend" || s.type === "touchcancel") {
1288
+ if (n = [...s.changedTouches].find((T) => T.identifier === e.touchId), !n || n.identifier !== e.touchId) return;
1289
+ } else {
1290
+ if (e.touchId !== null || s.pointerId !== e.pointerId) return;
1291
+ n = s;
1292
+ }
1293
+ if (["pointercancel", "pointerout", "pointerleave", "contextmenu"].includes(s.type) && !(["pointercancel", "contextmenu"].includes(s.type) && (t.browser.isSafari || t.browser.isWebView)))
1294
+ return;
1295
+ e.pointerId = null, e.touchId = null;
1296
+ const {
1297
+ params: l,
1298
+ touches: a,
1299
+ rtlTranslate: d,
1300
+ slidesGrid: o,
1301
+ enabled: c
1302
+ } = t;
1303
+ if (!c || !l.simulateTouch && s.pointerType === "mouse") return;
1304
+ if (e.allowTouchCallbacks && t.emit("touchEnd", s), e.allowTouchCallbacks = !1, !e.isTouched) {
1305
+ e.isMoved && l.grabCursor && t.setGrabCursor(!1), e.isMoved = !1, e.startMoving = !1;
1306
+ return;
1307
+ }
1308
+ l.grabCursor && e.isMoved && e.isTouched && (t.allowSlideNext === !0 || t.allowSlidePrev === !0) && t.setGrabCursor(!1);
1309
+ const f = Y(), u = f - e.touchStartTime;
1310
+ if (t.allowClick) {
1311
+ const T = s.path || s.composedPath && s.composedPath();
1312
+ t.updateClickedSlide(T && T[0] || s.target, T), t.emit("tap click", s), u < 300 && f - e.lastClickTime < 300 && t.emit("doubleTap doubleClick", s);
1313
+ }
1314
+ if (e.lastClickTime = Y(), de(() => {
1315
+ t.destroyed || (t.allowClick = !0);
1316
+ }), !e.isTouched || !e.isMoved || !t.swipeDirection || a.diff === 0 && !e.loopSwapReset || e.currentTranslate === e.startTranslate && !e.loopSwapReset) {
1317
+ e.isTouched = !1, e.isMoved = !1, e.startMoving = !1;
1318
+ return;
1319
+ }
1320
+ e.isTouched = !1, e.isMoved = !1, e.startMoving = !1;
1321
+ let p;
1322
+ if (l.followFinger ? p = d ? t.translate : -t.translate : p = -e.currentTranslate, l.cssMode)
1323
+ return;
1324
+ if (l.freeMode && l.freeMode.enabled) {
1325
+ t.freeMode.onTouchEnd({
1326
+ currentPos: p
1327
+ });
1328
+ return;
1329
+ }
1330
+ const h = p >= -t.maxTranslate() && !t.params.loop;
1331
+ let v = 0, E = t.slidesSizesGrid[0];
1332
+ for (let T = 0; T < o.length; T += T < l.slidesPerGroupSkip ? 1 : l.slidesPerGroup) {
1333
+ const C = T < l.slidesPerGroupSkip - 1 ? 1 : l.slidesPerGroup;
1334
+ typeof o[T + C] < "u" ? (h || p >= o[T] && p < o[T + C]) && (v = T, E = o[T + C] - o[T]) : (h || p >= o[T]) && (v = T, E = o[o.length - 1] - o[o.length - 2]);
1335
+ }
1336
+ let m = null, S = null;
1337
+ l.rewind && (t.isBeginning ? S = l.virtual && l.virtual.enabled && t.virtual ? t.virtual.slides.length - 1 : t.slides.length - 1 : t.isEnd && (m = 0));
1338
+ const g = (p - o[v]) / E, b = v < l.slidesPerGroupSkip - 1 ? 1 : l.slidesPerGroup;
1339
+ if (u > l.longSwipesMs) {
1340
+ if (!l.longSwipes) {
1341
+ t.slideTo(t.activeIndex);
1342
+ return;
1343
+ }
1344
+ t.swipeDirection === "next" && (g >= l.longSwipesRatio ? t.slideTo(l.rewind && t.isEnd ? m : v + b) : t.slideTo(v)), t.swipeDirection === "prev" && (g > 1 - l.longSwipesRatio ? t.slideTo(v + b) : S !== null && g < 0 && Math.abs(g) > l.longSwipesRatio ? t.slideTo(S) : t.slideTo(v));
1345
+ } else {
1346
+ if (!l.shortSwipes) {
1347
+ t.slideTo(t.activeIndex);
1348
+ return;
1349
+ }
1350
+ t.navigation && (s.target === t.navigation.nextEl || s.target === t.navigation.prevEl) ? s.target === t.navigation.nextEl ? t.slideTo(v + b) : t.slideTo(v) : (t.swipeDirection === "next" && t.slideTo(m !== null ? m : v + b), t.swipeDirection === "prev" && t.slideTo(S !== null ? S : v));
1351
+ }
1352
+ }
1353
+ function ae() {
1354
+ const i = this, {
1355
+ params: t,
1356
+ el: e
1357
+ } = i;
1358
+ if (e && e.offsetWidth === 0) return;
1359
+ t.breakpoints && i.setBreakpoint();
1360
+ const {
1361
+ allowSlideNext: s,
1362
+ allowSlidePrev: n,
1363
+ snapGrid: r
1364
+ } = i, l = i.virtual && i.params.virtual.enabled;
1365
+ i.allowSlideNext = !0, i.allowSlidePrev = !0, i.updateSize(), i.updateSlides(), i.updateSlidesClasses();
1366
+ const a = l && t.loop;
1367
+ (t.slidesPerView === "auto" || t.slidesPerView > 1) && i.isEnd && !i.isBeginning && !i.params.centeredSlides && !a ? i.slideTo(i.slides.length - 1, 0, !1, !0) : i.params.loop && !l ? i.slideToLoop(i.realIndex, 0, !1, !0) : i.slideTo(i.activeIndex, 0, !1, !0), i.autoplay && i.autoplay.running && i.autoplay.paused && (clearTimeout(i.autoplay.resizeTimeout), i.autoplay.resizeTimeout = setTimeout(() => {
1368
+ i.autoplay && i.autoplay.running && i.autoplay.paused && i.autoplay.resume();
1369
+ }, 500)), i.allowSlidePrev = n, i.allowSlideNext = s, i.params.watchOverflow && r !== i.snapGrid && i.checkOverflow();
1370
+ }
1371
+ function gt(i) {
1372
+ const t = this;
1373
+ t.enabled && (t.allowClick || (t.params.preventClicks && i.preventDefault(), t.params.preventClicksPropagation && t.animating && (i.stopPropagation(), i.stopImmediatePropagation())));
1374
+ }
1375
+ function vt() {
1376
+ const i = this, {
1377
+ wrapperEl: t,
1378
+ rtlTranslate: e,
1379
+ enabled: s
1380
+ } = i;
1381
+ if (!s) return;
1382
+ i.previousTranslate = i.translate, i.isHorizontal() ? i.translate = -t.scrollLeft : i.translate = -t.scrollTop, i.translate === 0 && (i.translate = 0), i.updateActiveIndex(), i.updateSlidesClasses();
1383
+ let n;
1384
+ const r = i.maxTranslate() - i.minTranslate();
1385
+ r === 0 ? n = 0 : n = (i.translate - i.minTranslate()) / r, n !== i.progress && i.updateProgress(e ? -i.translate : i.translate), i.emit("setTranslate", i.translate, !1);
1386
+ }
1387
+ function wt(i) {
1388
+ const t = this;
1389
+ H(t, i.target), !(t.params.cssMode || t.params.slidesPerView !== "auto" && !t.params.autoHeight) && t.update();
1390
+ }
1391
+ function St() {
1392
+ const i = this;
1393
+ i.documentTouchHandlerProceeded || (i.documentTouchHandlerProceeded = !0, i.params.touchReleaseOnEdges && (i.el.style.touchAction = "auto"));
1394
+ }
1395
+ const me = (i, t) => {
1396
+ const e = R(), {
1397
+ params: s,
1398
+ el: n,
1399
+ wrapperEl: r,
1400
+ device: l
1401
+ } = i, a = !!s.nested, d = t === "on" ? "addEventListener" : "removeEventListener", o = t;
1402
+ !n || typeof n == "string" || (e[d]("touchstart", i.onDocumentTouchStart, {
1403
+ passive: !1,
1404
+ capture: a
1405
+ }), n[d]("touchstart", i.onTouchStart, {
1406
+ passive: !1
1407
+ }), n[d]("pointerdown", i.onTouchStart, {
1408
+ passive: !1
1409
+ }), e[d]("touchmove", i.onTouchMove, {
1410
+ passive: !1,
1411
+ capture: a
1412
+ }), e[d]("pointermove", i.onTouchMove, {
1413
+ passive: !1,
1414
+ capture: a
1415
+ }), e[d]("touchend", i.onTouchEnd, {
1416
+ passive: !0
1417
+ }), e[d]("pointerup", i.onTouchEnd, {
1418
+ passive: !0
1419
+ }), e[d]("pointercancel", i.onTouchEnd, {
1420
+ passive: !0
1421
+ }), e[d]("touchcancel", i.onTouchEnd, {
1422
+ passive: !0
1423
+ }), e[d]("pointerout", i.onTouchEnd, {
1424
+ passive: !0
1425
+ }), e[d]("pointerleave", i.onTouchEnd, {
1426
+ passive: !0
1427
+ }), e[d]("contextmenu", i.onTouchEnd, {
1428
+ passive: !0
1429
+ }), (s.preventClicks || s.preventClicksPropagation) && n[d]("click", i.onClick, !0), s.cssMode && r[d]("scroll", i.onScroll), s.updateOnWindowResize ? i[o](l.ios || l.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", ae, !0) : i[o]("observerUpdate", ae, !0), n[d]("load", i.onLoad, {
1430
+ capture: !0
1431
+ }));
1432
+ };
1433
+ function Tt() {
1434
+ const i = this, {
1435
+ params: t
1436
+ } = i;
1437
+ i.onTouchStart = pt.bind(i), i.onTouchMove = ht.bind(i), i.onTouchEnd = mt.bind(i), i.onDocumentTouchStart = St.bind(i), t.cssMode && (i.onScroll = vt.bind(i)), i.onClick = gt.bind(i), i.onLoad = wt.bind(i), me(i, "on");
1438
+ }
1439
+ function xt() {
1440
+ me(this, "off");
1441
+ }
1442
+ var bt = {
1443
+ attachEvents: Tt,
1444
+ detachEvents: xt
1445
+ };
1446
+ const le = (i, t) => i.grid && t.grid && t.grid.rows > 1;
1447
+ function yt() {
1448
+ const i = this, {
1449
+ realIndex: t,
1450
+ initialized: e,
1451
+ params: s,
1452
+ el: n
1453
+ } = i, r = s.breakpoints;
1454
+ if (!r || r && Object.keys(r).length === 0) return;
1455
+ const l = R(), a = s.breakpointsBase === "window" || !s.breakpointsBase ? s.breakpointsBase : "container", d = ["window", "container"].includes(s.breakpointsBase) || !s.breakpointsBase ? i.el : l.querySelector(s.breakpointsBase), o = i.getBreakpoint(r, a, d);
1456
+ if (!o || i.currentBreakpoint === o) return;
1457
+ const f = (o in r ? r[o] : void 0) || i.originalParams, u = le(i, s), p = le(i, f), h = i.params.grabCursor, v = f.grabCursor, E = s.enabled;
1458
+ u && !p ? (n.classList.remove(`${s.containerModifierClass}grid`, `${s.containerModifierClass}grid-column`), i.emitContainerClasses()) : !u && p && (n.classList.add(`${s.containerModifierClass}grid`), (f.grid.fill && f.grid.fill === "column" || !f.grid.fill && s.grid.fill === "column") && n.classList.add(`${s.containerModifierClass}grid-column`), i.emitContainerClasses()), h && !v ? i.unsetGrabCursor() : !h && v && i.setGrabCursor(), ["navigation", "pagination", "scrollbar"].forEach((C) => {
1459
+ if (typeof f[C] > "u") return;
1460
+ const I = s[C] && s[C].enabled, y = f[C] && f[C].enabled;
1461
+ I && !y && i[C].disable(), !I && y && i[C].enable();
1462
+ });
1463
+ const m = f.direction && f.direction !== s.direction, S = s.loop && (f.slidesPerView !== s.slidesPerView || m), g = s.loop;
1464
+ m && e && i.changeDirection(), k(i.params, f);
1465
+ const b = i.params.enabled, T = i.params.loop;
1466
+ Object.assign(i, {
1467
+ allowTouchMove: i.params.allowTouchMove,
1468
+ allowSlideNext: i.params.allowSlideNext,
1469
+ allowSlidePrev: i.params.allowSlidePrev
1470
+ }), E && !b ? i.disable() : !E && b && i.enable(), i.currentBreakpoint = o, i.emit("_beforeBreakpoint", f), e && (S ? (i.loopDestroy(), i.loopCreate(t), i.updateSlides()) : !g && T ? (i.loopCreate(t), i.updateSlides()) : g && !T && i.loopDestroy()), i.emit("breakpoint", f);
1471
+ }
1472
+ function Et(i, t, e) {
1473
+ if (t === void 0 && (t = "window"), !i || t === "container" && !e) return;
1474
+ let s = !1;
1475
+ const n = _(), r = t === "window" ? n.innerHeight : e.clientHeight, l = Object.keys(i).map((a) => {
1476
+ if (typeof a == "string" && a.indexOf("@") === 0) {
1477
+ const d = parseFloat(a.substr(1));
1478
+ return {
1479
+ value: r * d,
1480
+ point: a
1481
+ };
1482
+ }
1483
+ return {
1484
+ value: a,
1485
+ point: a
1486
+ };
1487
+ });
1488
+ l.sort((a, d) => parseInt(a.value, 10) - parseInt(d.value, 10));
1489
+ for (let a = 0; a < l.length; a += 1) {
1490
+ const {
1491
+ point: d,
1492
+ value: o
1493
+ } = l[a];
1494
+ t === "window" ? n.matchMedia(`(min-width: ${o}px)`).matches && (s = d) : o <= e.clientWidth && (s = d);
1495
+ }
1496
+ return s || "max";
1497
+ }
1498
+ var Pt = {
1499
+ setBreakpoint: yt,
1500
+ getBreakpoint: Et
1501
+ };
1502
+ function Mt(i, t) {
1503
+ const e = [];
1504
+ return i.forEach((s) => {
1505
+ typeof s == "object" ? Object.keys(s).forEach((n) => {
1506
+ s[n] && e.push(t + n);
1507
+ }) : typeof s == "string" && e.push(t + s);
1508
+ }), e;
1509
+ }
1510
+ function It() {
1511
+ const i = this, {
1512
+ classNames: t,
1513
+ params: e,
1514
+ rtl: s,
1515
+ el: n,
1516
+ device: r
1517
+ } = i, l = Mt(["initialized", e.direction, {
1518
+ "free-mode": i.params.freeMode && e.freeMode.enabled
1519
+ }, {
1520
+ autoheight: e.autoHeight
1521
+ }, {
1522
+ rtl: s
1523
+ }, {
1524
+ grid: e.grid && e.grid.rows > 1
1525
+ }, {
1526
+ "grid-column": e.grid && e.grid.rows > 1 && e.grid.fill === "column"
1527
+ }, {
1528
+ android: r.android
1529
+ }, {
1530
+ ios: r.ios
1531
+ }, {
1532
+ "css-mode": e.cssMode
1533
+ }, {
1534
+ centered: e.cssMode && e.centeredSlides
1535
+ }, {
1536
+ "watch-progress": e.watchSlidesProgress
1537
+ }], e.containerModifierClass);
1538
+ t.push(...l), n.classList.add(...t), i.emitContainerClasses();
1539
+ }
1540
+ function Ct() {
1541
+ const i = this, {
1542
+ el: t,
1543
+ classNames: e
1544
+ } = i;
1545
+ !t || typeof t == "string" || (t.classList.remove(...e), i.emitContainerClasses());
1546
+ }
1547
+ var Lt = {
1548
+ addClasses: It,
1549
+ removeClasses: Ct
1550
+ };
1551
+ function zt() {
1552
+ const i = this, {
1553
+ isLocked: t,
1554
+ params: e
1555
+ } = i, {
1556
+ slidesOffsetBefore: s
1557
+ } = e;
1558
+ if (s) {
1559
+ const n = i.slides.length - 1, r = i.slidesGrid[n] + i.slidesSizesGrid[n] + s * 2;
1560
+ i.isLocked = i.size > r;
1561
+ } else
1562
+ i.isLocked = i.snapGrid.length === 1;
1563
+ e.allowSlideNext === !0 && (i.allowSlideNext = !i.isLocked), e.allowSlidePrev === !0 && (i.allowSlidePrev = !i.isLocked), t && t !== i.isLocked && (i.isEnd = !1), t !== i.isLocked && i.emit(i.isLocked ? "lock" : "unlock");
1564
+ }
1565
+ var Ot = {
1566
+ checkOverflow: zt
1567
+ }, oe = {
1568
+ init: !0,
1569
+ direction: "horizontal",
1570
+ oneWayMovement: !1,
1571
+ swiperElementNodeName: "SWIPER-CONTAINER",
1572
+ touchEventsTarget: "wrapper",
1573
+ initialSlide: 0,
1574
+ speed: 300,
1575
+ cssMode: !1,
1576
+ updateOnWindowResize: !0,
1577
+ resizeObserver: !0,
1578
+ nested: !1,
1579
+ createElements: !1,
1580
+ eventsPrefix: "swiper",
1581
+ enabled: !0,
1582
+ focusableElements: "input, select, option, textarea, button, video, label",
1583
+ // Overrides
1584
+ width: null,
1585
+ height: null,
1586
+ //
1587
+ preventInteractionOnTransition: !1,
1588
+ // ssr
1589
+ userAgent: null,
1590
+ url: null,
1591
+ // To support iOS's swipe-to-go-back gesture (when being used in-app).
1592
+ edgeSwipeDetection: !1,
1593
+ edgeSwipeThreshold: 20,
1594
+ // Autoheight
1595
+ autoHeight: !1,
1596
+ // Set wrapper width
1597
+ setWrapperSize: !1,
1598
+ // Virtual Translate
1599
+ virtualTranslate: !1,
1600
+ // Effects
1601
+ effect: "slide",
1602
+ // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'
1603
+ // Breakpoints
1604
+ breakpoints: void 0,
1605
+ breakpointsBase: "window",
1606
+ // Slides grid
1607
+ spaceBetween: 0,
1608
+ slidesPerView: 1,
1609
+ slidesPerGroup: 1,
1610
+ slidesPerGroupSkip: 0,
1611
+ slidesPerGroupAuto: !1,
1612
+ centeredSlides: !1,
1613
+ centeredSlidesBounds: !1,
1614
+ slidesOffsetBefore: 0,
1615
+ // in px
1616
+ slidesOffsetAfter: 0,
1617
+ // in px
1618
+ normalizeSlideIndex: !0,
1619
+ centerInsufficientSlides: !1,
1620
+ // Disable swiper and hide navigation when container not overflow
1621
+ watchOverflow: !0,
1622
+ // Round length
1623
+ roundLengths: !1,
1624
+ // Touches
1625
+ touchRatio: 1,
1626
+ touchAngle: 45,
1627
+ simulateTouch: !0,
1628
+ shortSwipes: !0,
1629
+ longSwipes: !0,
1630
+ longSwipesRatio: 0.5,
1631
+ longSwipesMs: 300,
1632
+ followFinger: !0,
1633
+ allowTouchMove: !0,
1634
+ threshold: 5,
1635
+ touchMoveStopPropagation: !1,
1636
+ touchStartPreventDefault: !0,
1637
+ touchStartForcePreventDefault: !1,
1638
+ touchReleaseOnEdges: !1,
1639
+ // Unique Navigation Elements
1640
+ uniqueNavElements: !0,
1641
+ // Resistance
1642
+ resistance: !0,
1643
+ resistanceRatio: 0.85,
1644
+ // Progress
1645
+ watchSlidesProgress: !1,
1646
+ // Cursor
1647
+ grabCursor: !1,
1648
+ // Clicks
1649
+ preventClicks: !0,
1650
+ preventClicksPropagation: !0,
1651
+ slideToClickedSlide: !1,
1652
+ // loop
1653
+ loop: !1,
1654
+ loopAddBlankSlides: !0,
1655
+ loopAdditionalSlides: 0,
1656
+ loopPreventsSliding: !0,
1657
+ // rewind
1658
+ rewind: !1,
1659
+ // Swiping/no swiping
1660
+ allowSlidePrev: !0,
1661
+ allowSlideNext: !0,
1662
+ swipeHandler: null,
1663
+ // '.swipe-handler',
1664
+ noSwiping: !0,
1665
+ noSwipingClass: "swiper-no-swiping",
1666
+ noSwipingSelector: null,
1667
+ // Passive Listeners
1668
+ passiveListeners: !0,
1669
+ maxBackfaceHiddenSlides: 10,
1670
+ // NS
1671
+ containerModifierClass: "swiper-",
1672
+ // NEW
1673
+ slideClass: "swiper-slide",
1674
+ slideBlankClass: "swiper-slide-blank",
1675
+ slideActiveClass: "swiper-slide-active",
1676
+ slideVisibleClass: "swiper-slide-visible",
1677
+ slideFullyVisibleClass: "swiper-slide-fully-visible",
1678
+ slideNextClass: "swiper-slide-next",
1679
+ slidePrevClass: "swiper-slide-prev",
1680
+ wrapperClass: "swiper-wrapper",
1681
+ lazyPreloaderClass: "swiper-lazy-preloader",
1682
+ lazyPreloadPrevNext: 0,
1683
+ // Callbacks
1684
+ runCallbacksOnInit: !0,
1685
+ // Internals
1686
+ _emitClasses: !1
1687
+ };
1688
+ function At(i, t) {
1689
+ return function(s) {
1690
+ s === void 0 && (s = {});
1691
+ const n = Object.keys(s)[0], r = s[n];
1692
+ if (typeof r != "object" || r === null) {
1693
+ k(t, s);
1694
+ return;
1695
+ }
1696
+ if (i[n] === !0 && (i[n] = {
1697
+ enabled: !0
1698
+ }), n === "navigation" && i[n] && i[n].enabled && !i[n].prevEl && !i[n].nextEl && (i[n].auto = !0), ["pagination", "scrollbar"].indexOf(n) >= 0 && i[n] && i[n].enabled && !i[n].el && (i[n].auto = !0), !(n in i && "enabled" in r)) {
1699
+ k(t, s);
1700
+ return;
1701
+ }
1702
+ typeof i[n] == "object" && !("enabled" in i[n]) && (i[n].enabled = !0), i[n] || (i[n] = {
1703
+ enabled: !1
1704
+ }), k(t, s);
1705
+ };
1706
+ }
1707
+ const J = {
1708
+ eventsEmitter: Le,
1709
+ update: _e,
1710
+ translate: Xe,
1711
+ transition: Ke,
1712
+ slide: rt,
1713
+ loop: ot,
1714
+ grabCursor: ft,
1715
+ events: bt,
1716
+ breakpoints: Pt,
1717
+ checkOverflow: Ot,
1718
+ classes: Lt
1719
+ }, Q = {};
1720
+ class G {
1721
+ constructor() {
1722
+ let t, e;
1723
+ for (var s = arguments.length, n = new Array(s), r = 0; r < s; r++)
1724
+ n[r] = arguments[r];
1725
+ n.length === 1 && n[0].constructor && Object.prototype.toString.call(n[0]).slice(8, -1) === "Object" ? e = n[0] : [t, e] = n, e || (e = {}), e = k({}, e), t && !e.el && (e.el = t);
1726
+ const l = R();
1727
+ if (e.el && typeof e.el == "string" && l.querySelectorAll(e.el).length > 1) {
1728
+ const c = [];
1729
+ return l.querySelectorAll(e.el).forEach((f) => {
1730
+ const u = k({}, e, {
1731
+ el: f
1732
+ });
1733
+ c.push(new G(u));
1734
+ }), c;
1735
+ }
1736
+ const a = this;
1737
+ a.__swiper__ = !0, a.support = fe(), a.device = ue({
1738
+ userAgent: e.userAgent
1739
+ }), a.browser = pe(), a.eventsListeners = {}, a.eventsAnyListeners = [], a.modules = [...a.__modules__], e.modules && Array.isArray(e.modules) && a.modules.push(...e.modules);
1740
+ const d = {};
1741
+ a.modules.forEach((c) => {
1742
+ c({
1743
+ params: e,
1744
+ swiper: a,
1745
+ extendParams: At(e, d),
1746
+ on: a.on.bind(a),
1747
+ once: a.once.bind(a),
1748
+ off: a.off.bind(a),
1749
+ emit: a.emit.bind(a)
1750
+ });
1751
+ });
1752
+ const o = k({}, oe, d);
1753
+ return a.params = k({}, o, Q, e), a.originalParams = k({}, a.params), a.passedParams = k({}, e), a.params && a.params.on && Object.keys(a.params.on).forEach((c) => {
1754
+ a.on(c, a.params.on[c]);
1755
+ }), a.params && a.params.onAny && a.onAny(a.params.onAny), Object.assign(a, {
1756
+ enabled: a.params.enabled,
1757
+ el: t,
1758
+ // Classes
1759
+ classNames: [],
1760
+ // Slides
1761
+ slides: [],
1762
+ slidesGrid: [],
1763
+ snapGrid: [],
1764
+ slidesSizesGrid: [],
1765
+ // isDirection
1766
+ isHorizontal() {
1767
+ return a.params.direction === "horizontal";
1768
+ },
1769
+ isVertical() {
1770
+ return a.params.direction === "vertical";
1771
+ },
1772
+ // Indexes
1773
+ activeIndex: 0,
1774
+ realIndex: 0,
1775
+ //
1776
+ isBeginning: !0,
1777
+ isEnd: !1,
1778
+ // Props
1779
+ translate: 0,
1780
+ previousTranslate: 0,
1781
+ progress: 0,
1782
+ velocity: 0,
1783
+ animating: !1,
1784
+ cssOverflowAdjustment() {
1785
+ return Math.trunc(this.translate / 2 ** 23) * 2 ** 23;
1786
+ },
1787
+ // Locks
1788
+ allowSlideNext: a.params.allowSlideNext,
1789
+ allowSlidePrev: a.params.allowSlidePrev,
1790
+ // Touch Events
1791
+ touchEventsData: {
1792
+ isTouched: void 0,
1793
+ isMoved: void 0,
1794
+ allowTouchCallbacks: void 0,
1795
+ touchStartTime: void 0,
1796
+ isScrolling: void 0,
1797
+ currentTranslate: void 0,
1798
+ startTranslate: void 0,
1799
+ allowThresholdMove: void 0,
1800
+ // Form elements to match
1801
+ focusableElements: a.params.focusableElements,
1802
+ // Last click time
1803
+ lastClickTime: 0,
1804
+ clickTimeout: void 0,
1805
+ // Velocities
1806
+ velocities: [],
1807
+ allowMomentumBounce: void 0,
1808
+ startMoving: void 0,
1809
+ pointerId: null,
1810
+ touchId: null
1811
+ },
1812
+ // Clicks
1813
+ allowClick: !0,
1814
+ // Touches
1815
+ allowTouchMove: a.params.allowTouchMove,
1816
+ touches: {
1817
+ startX: 0,
1818
+ startY: 0,
1819
+ currentX: 0,
1820
+ currentY: 0,
1821
+ diff: 0
1822
+ },
1823
+ // Images
1824
+ imagesToLoad: [],
1825
+ imagesLoaded: 0
1826
+ }), a.emit("_swiper"), a.params.init && a.init(), a;
1827
+ }
1828
+ getDirectionLabel(t) {
1829
+ return this.isHorizontal() ? t : {
1830
+ width: "height",
1831
+ "margin-top": "margin-left",
1832
+ "margin-bottom ": "margin-right",
1833
+ "margin-left": "margin-top",
1834
+ "margin-right": "margin-bottom",
1835
+ "padding-left": "padding-top",
1836
+ "padding-right": "padding-bottom",
1837
+ marginRight: "marginBottom"
1838
+ }[t];
1839
+ }
1840
+ getSlideIndex(t) {
1841
+ const {
1842
+ slidesEl: e,
1843
+ params: s
1844
+ } = this, n = D(e, `.${s.slideClass}, swiper-slide`), r = ie(n[0]);
1845
+ return ie(t) - r;
1846
+ }
1847
+ getSlideIndexByData(t) {
1848
+ return this.getSlideIndex(this.slides.find((e) => e.getAttribute("data-swiper-slide-index") * 1 === t));
1849
+ }
1850
+ getSlideIndexWhenGrid(t) {
1851
+ return this.grid && this.params.grid && this.params.grid.rows > 1 && (this.params.grid.fill === "column" ? t = Math.floor(t / this.params.grid.rows) : this.params.grid.fill === "row" && (t = t % Math.ceil(this.slides.length / this.params.grid.rows))), t;
1852
+ }
1853
+ recalcSlides() {
1854
+ const t = this, {
1855
+ slidesEl: e,
1856
+ params: s
1857
+ } = t;
1858
+ t.slides = D(e, `.${s.slideClass}, swiper-slide`);
1859
+ }
1860
+ enable() {
1861
+ const t = this;
1862
+ t.enabled || (t.enabled = !0, t.params.grabCursor && t.setGrabCursor(), t.emit("enable"));
1863
+ }
1864
+ disable() {
1865
+ const t = this;
1866
+ t.enabled && (t.enabled = !1, t.params.grabCursor && t.unsetGrabCursor(), t.emit("disable"));
1867
+ }
1868
+ setProgress(t, e) {
1869
+ const s = this;
1870
+ t = Math.min(Math.max(t, 0), 1);
1871
+ const n = s.minTranslate(), l = (s.maxTranslate() - n) * t + n;
1872
+ s.translateTo(l, typeof e > "u" ? 0 : e), s.updateActiveIndex(), s.updateSlidesClasses();
1873
+ }
1874
+ emitContainerClasses() {
1875
+ const t = this;
1876
+ if (!t.params._emitClasses || !t.el) return;
1877
+ const e = t.el.className.split(" ").filter((s) => s.indexOf("swiper") === 0 || s.indexOf(t.params.containerModifierClass) === 0);
1878
+ t.emit("_containerClasses", e.join(" "));
1879
+ }
1880
+ getSlideClasses(t) {
1881
+ const e = this;
1882
+ return e.destroyed ? "" : t.className.split(" ").filter((s) => s.indexOf("swiper-slide") === 0 || s.indexOf(e.params.slideClass) === 0).join(" ");
1883
+ }
1884
+ emitSlidesClasses() {
1885
+ const t = this;
1886
+ if (!t.params._emitClasses || !t.el) return;
1887
+ const e = [];
1888
+ t.slides.forEach((s) => {
1889
+ const n = t.getSlideClasses(s);
1890
+ e.push({
1891
+ slideEl: s,
1892
+ classNames: n
1893
+ }), t.emit("_slideClass", s, n);
1894
+ }), t.emit("_slideClasses", e);
1895
+ }
1896
+ slidesPerViewDynamic(t, e) {
1897
+ t === void 0 && (t = "current"), e === void 0 && (e = !1);
1898
+ const s = this, {
1899
+ params: n,
1900
+ slides: r,
1901
+ slidesGrid: l,
1902
+ slidesSizesGrid: a,
1903
+ size: d,
1904
+ activeIndex: o
1905
+ } = s;
1906
+ let c = 1;
1907
+ if (typeof n.slidesPerView == "number") return n.slidesPerView;
1908
+ if (n.centeredSlides) {
1909
+ let f = r[o] ? Math.ceil(r[o].swiperSlideSize) : 0, u;
1910
+ for (let p = o + 1; p < r.length; p += 1)
1911
+ r[p] && !u && (f += Math.ceil(r[p].swiperSlideSize), c += 1, f > d && (u = !0));
1912
+ for (let p = o - 1; p >= 0; p -= 1)
1913
+ r[p] && !u && (f += r[p].swiperSlideSize, c += 1, f > d && (u = !0));
1914
+ } else if (t === "current")
1915
+ for (let f = o + 1; f < r.length; f += 1)
1916
+ (e ? l[f] + a[f] - l[o] < d : l[f] - l[o] < d) && (c += 1);
1917
+ else
1918
+ for (let f = o - 1; f >= 0; f -= 1)
1919
+ l[o] - l[f] < d && (c += 1);
1920
+ return c;
1921
+ }
1922
+ update() {
1923
+ const t = this;
1924
+ if (!t || t.destroyed) return;
1925
+ const {
1926
+ snapGrid: e,
1927
+ params: s
1928
+ } = t;
1929
+ s.breakpoints && t.setBreakpoint(), [...t.el.querySelectorAll('[loading="lazy"]')].forEach((l) => {
1930
+ l.complete && H(t, l);
1931
+ }), t.updateSize(), t.updateSlides(), t.updateProgress(), t.updateSlidesClasses();
1932
+ function n() {
1933
+ const l = t.rtlTranslate ? t.translate * -1 : t.translate, a = Math.min(Math.max(l, t.maxTranslate()), t.minTranslate());
1934
+ t.setTranslate(a), t.updateActiveIndex(), t.updateSlidesClasses();
1935
+ }
1936
+ let r;
1937
+ if (s.freeMode && s.freeMode.enabled && !s.cssMode)
1938
+ n(), s.autoHeight && t.updateAutoHeight();
1939
+ else {
1940
+ if ((s.slidesPerView === "auto" || s.slidesPerView > 1) && t.isEnd && !s.centeredSlides) {
1941
+ const l = t.virtual && s.virtual.enabled ? t.virtual.slides : t.slides;
1942
+ r = t.slideTo(l.length - 1, 0, !1, !0);
1943
+ } else
1944
+ r = t.slideTo(t.activeIndex, 0, !1, !0);
1945
+ r || n();
1946
+ }
1947
+ s.watchOverflow && e !== t.snapGrid && t.checkOverflow(), t.emit("update");
1948
+ }
1949
+ changeDirection(t, e) {
1950
+ e === void 0 && (e = !0);
1951
+ const s = this, n = s.params.direction;
1952
+ return t || (t = n === "horizontal" ? "vertical" : "horizontal"), t === n || t !== "horizontal" && t !== "vertical" || (s.el.classList.remove(`${s.params.containerModifierClass}${n}`), s.el.classList.add(`${s.params.containerModifierClass}${t}`), s.emitContainerClasses(), s.params.direction = t, s.slides.forEach((r) => {
1953
+ t === "vertical" ? r.style.width = "" : r.style.height = "";
1954
+ }), s.emit("changeDirection"), e && s.update()), s;
1955
+ }
1956
+ changeLanguageDirection(t) {
1957
+ const e = this;
1958
+ e.rtl && t === "rtl" || !e.rtl && t === "ltr" || (e.rtl = t === "rtl", e.rtlTranslate = e.params.direction === "horizontal" && e.rtl, e.rtl ? (e.el.classList.add(`${e.params.containerModifierClass}rtl`), e.el.dir = "rtl") : (e.el.classList.remove(`${e.params.containerModifierClass}rtl`), e.el.dir = "ltr"), e.update());
1959
+ }
1960
+ mount(t) {
1961
+ const e = this;
1962
+ if (e.mounted) return !0;
1963
+ let s = t || e.params.el;
1964
+ if (typeof s == "string" && (s = document.querySelector(s)), !s)
1965
+ return !1;
1966
+ s.swiper = e, s.parentNode && s.parentNode.host && s.parentNode.host.nodeName === e.params.swiperElementNodeName.toUpperCase() && (e.isElement = !0);
1967
+ const n = () => `.${(e.params.wrapperClass || "").trim().split(" ").join(".")}`;
1968
+ let l = s && s.shadowRoot && s.shadowRoot.querySelector ? s.shadowRoot.querySelector(n()) : D(s, n())[0];
1969
+ return !l && e.params.createElements && (l = Z("div", e.params.wrapperClass), s.append(l), D(s, `.${e.params.slideClass}`).forEach((a) => {
1970
+ l.append(a);
1971
+ })), Object.assign(e, {
1972
+ el: s,
1973
+ wrapperEl: l,
1974
+ slidesEl: e.isElement && !s.parentNode.host.slideSlots ? s.parentNode.host : l,
1975
+ hostEl: e.isElement ? s.parentNode.host : s,
1976
+ mounted: !0,
1977
+ // RTL
1978
+ rtl: s.dir.toLowerCase() === "rtl" || N(s, "direction") === "rtl",
1979
+ rtlTranslate: e.params.direction === "horizontal" && (s.dir.toLowerCase() === "rtl" || N(s, "direction") === "rtl"),
1980
+ wrongRTL: N(l, "display") === "-webkit-box"
1981
+ }), !0;
1982
+ }
1983
+ init(t) {
1984
+ const e = this;
1985
+ if (e.initialized || e.mount(t) === !1) return e;
1986
+ e.emit("beforeInit"), e.params.breakpoints && e.setBreakpoint(), e.addClasses(), e.updateSize(), e.updateSlides(), e.params.watchOverflow && e.checkOverflow(), e.params.grabCursor && e.enabled && e.setGrabCursor(), e.params.loop && e.virtual && e.params.virtual.enabled ? e.slideTo(e.params.initialSlide + e.virtual.slidesBefore, 0, e.params.runCallbacksOnInit, !1, !0) : e.slideTo(e.params.initialSlide, 0, e.params.runCallbacksOnInit, !1, !0), e.params.loop && e.loopCreate(void 0, !0), e.attachEvents();
1987
+ const n = [...e.el.querySelectorAll('[loading="lazy"]')];
1988
+ return e.isElement && n.push(...e.hostEl.querySelectorAll('[loading="lazy"]')), n.forEach((r) => {
1989
+ r.complete ? H(e, r) : r.addEventListener("load", (l) => {
1990
+ H(e, l.target);
1991
+ });
1992
+ }), ee(e), e.initialized = !0, ee(e), e.emit("init"), e.emit("afterInit"), e;
1993
+ }
1994
+ destroy(t, e) {
1995
+ t === void 0 && (t = !0), e === void 0 && (e = !0);
1996
+ const s = this, {
1997
+ params: n,
1998
+ el: r,
1999
+ wrapperEl: l,
2000
+ slides: a
2001
+ } = s;
2002
+ return typeof s.params > "u" || s.destroyed || (s.emit("beforeDestroy"), s.initialized = !1, s.detachEvents(), n.loop && s.loopDestroy(), e && (s.removeClasses(), r && typeof r != "string" && r.removeAttribute("style"), l && l.removeAttribute("style"), a && a.length && a.forEach((d) => {
2003
+ d.classList.remove(n.slideVisibleClass, n.slideFullyVisibleClass, n.slideActiveClass, n.slideNextClass, n.slidePrevClass), d.removeAttribute("style"), d.removeAttribute("data-swiper-slide-index");
2004
+ })), s.emit("destroy"), Object.keys(s.eventsListeners).forEach((d) => {
2005
+ s.off(d);
2006
+ }), t !== !1 && (s.el && typeof s.el != "string" && (s.el.swiper = null), we(s)), s.destroyed = !0), null;
2007
+ }
2008
+ static extendDefaults(t) {
2009
+ k(Q, t);
2010
+ }
2011
+ static get extendedDefaults() {
2012
+ return Q;
2013
+ }
2014
+ static get defaults() {
2015
+ return oe;
2016
+ }
2017
+ static installModule(t) {
2018
+ G.prototype.__modules__ || (G.prototype.__modules__ = []);
2019
+ const e = G.prototype.__modules__;
2020
+ typeof t == "function" && e.indexOf(t) < 0 && e.push(t);
2021
+ }
2022
+ static use(t) {
2023
+ return Array.isArray(t) ? (t.forEach((e) => G.installModule(e)), G) : (G.installModule(t), G);
2024
+ }
2025
+ }
2026
+ Object.keys(J).forEach((i) => {
2027
+ Object.keys(J[i]).forEach((t) => {
2028
+ G.prototype[t] = J[i][t];
2029
+ });
2030
+ });
2031
+ G.use([Ie, Ce]);
2032
+ export {
2033
+ G as Swiper,
2034
+ G as default
2035
+ };