@marimo-team/islands 0.23.1-dev7 → 0.23.1-dev8

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.
@@ -0,0 +1,3065 @@
1
+ import { s as __toESM } from "./chunk-BNovOVIE.js";
2
+ import { t as require_react } from "./react-Bs6Z0kvn.js";
3
+ import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
4
+ import { l as useEventListener, t as Button, y as cn } from "./button-Cn59RsBF.js";
5
+ import { t as require_jsx_runtime } from "./jsx-runtime-9hcJiI23.js";
6
+ import { t as useIframeCapabilities } from "./useIframeCapabilities---aRgGdv.js";
7
+ var import_compiler_runtime = require_compiler_runtime(), import_react = /* @__PURE__ */ __toESM(require_react(), 1);
8
+ function isObject$2(t2) {
9
+ return typeof t2 == "object" && !!t2 && "constructor" in t2 && t2.constructor === Object;
10
+ }
11
+ function extend$2(t2 = {}, d = {}) {
12
+ let f = [
13
+ "__proto__",
14
+ "constructor",
15
+ "prototype"
16
+ ];
17
+ Object.keys(d).filter((t3) => f.indexOf(t3) < 0).forEach((f2) => {
18
+ t2[f2] === void 0 ? t2[f2] = d[f2] : isObject$2(d[f2]) && isObject$2(t2[f2]) && Object.keys(d[f2]).length > 0 && extend$2(t2[f2], d[f2]);
19
+ });
20
+ }
21
+ var ssrDocument = {
22
+ body: {},
23
+ addEventListener() {
24
+ },
25
+ removeEventListener() {
26
+ },
27
+ activeElement: {
28
+ blur() {
29
+ },
30
+ nodeName: ""
31
+ },
32
+ querySelector() {
33
+ return null;
34
+ },
35
+ querySelectorAll() {
36
+ return [];
37
+ },
38
+ getElementById() {
39
+ return null;
40
+ },
41
+ createEvent() {
42
+ return { initEvent() {
43
+ } };
44
+ },
45
+ createElement() {
46
+ return {
47
+ children: [],
48
+ childNodes: [],
49
+ style: {},
50
+ setAttribute() {
51
+ },
52
+ getElementsByTagName() {
53
+ return [];
54
+ }
55
+ };
56
+ },
57
+ createElementNS() {
58
+ return {};
59
+ },
60
+ importNode() {
61
+ return null;
62
+ },
63
+ location: {
64
+ hash: "",
65
+ host: "",
66
+ hostname: "",
67
+ href: "",
68
+ origin: "",
69
+ pathname: "",
70
+ protocol: "",
71
+ search: ""
72
+ }
73
+ };
74
+ function getDocument() {
75
+ let t2 = typeof document < "u" ? document : {};
76
+ return extend$2(t2, ssrDocument), t2;
77
+ }
78
+ var ssrWindow = {
79
+ document: ssrDocument,
80
+ navigator: { userAgent: "" },
81
+ location: {
82
+ hash: "",
83
+ host: "",
84
+ hostname: "",
85
+ href: "",
86
+ origin: "",
87
+ pathname: "",
88
+ protocol: "",
89
+ search: ""
90
+ },
91
+ history: {
92
+ replaceState() {
93
+ },
94
+ pushState() {
95
+ },
96
+ go() {
97
+ },
98
+ back() {
99
+ }
100
+ },
101
+ CustomEvent: function() {
102
+ return this;
103
+ },
104
+ addEventListener() {
105
+ },
106
+ removeEventListener() {
107
+ },
108
+ getComputedStyle() {
109
+ return { getPropertyValue() {
110
+ return "";
111
+ } };
112
+ },
113
+ Image() {
114
+ },
115
+ Date() {
116
+ },
117
+ screen: {},
118
+ setTimeout() {
119
+ },
120
+ clearTimeout() {
121
+ },
122
+ matchMedia() {
123
+ return {};
124
+ },
125
+ requestAnimationFrame(t2) {
126
+ return typeof setTimeout > "u" ? (t2(), null) : setTimeout(t2, 0);
127
+ },
128
+ cancelAnimationFrame(t2) {
129
+ typeof setTimeout > "u" || clearTimeout(t2);
130
+ }
131
+ };
132
+ function getWindow() {
133
+ let t2 = typeof window < "u" ? window : {};
134
+ return extend$2(t2, ssrWindow), t2;
135
+ }
136
+ function classesToTokens(t2 = "") {
137
+ return t2.trim().split(" ").filter((t3) => !!t3.trim());
138
+ }
139
+ function deleteProps(t2) {
140
+ let d = t2;
141
+ Object.keys(d).forEach((t3) => {
142
+ try {
143
+ d[t3] = null;
144
+ } catch {
145
+ }
146
+ try {
147
+ delete d[t3];
148
+ } catch {
149
+ }
150
+ });
151
+ }
152
+ function nextTick(t2, d = 0) {
153
+ return setTimeout(t2, d);
154
+ }
155
+ function now() {
156
+ return Date.now();
157
+ }
158
+ function getComputedStyle$1(t2) {
159
+ let d = getWindow(), f;
160
+ return d.getComputedStyle && (f = d.getComputedStyle(t2, null)), !f && t2.currentStyle && (f = t2.currentStyle), f || (f = t2.style), f;
161
+ }
162
+ function getTranslate(t2, d = "x") {
163
+ let f = getWindow(), p, m, h, g = getComputedStyle$1(t2);
164
+ return f.WebKitCSSMatrix ? (m = g.transform || g.webkitTransform, m.split(",").length > 6 && (m = m.split(", ").map((t3) => t3.replace(",", ".")).join(", ")), h = new f.WebKitCSSMatrix(m === "none" ? "" : m)) : (h = g.MozTransform || g.OTransform || g.MsTransform || g.msTransform || g.transform || g.getPropertyValue("transform").replace("translate(", "matrix(1, 0, 0, 1,"), p = h.toString().split(",")), d === "x" && (m = f.WebKitCSSMatrix ? h.m41 : p.length === 16 ? parseFloat(p[12]) : parseFloat(p[4])), d === "y" && (m = f.WebKitCSSMatrix ? h.m42 : p.length === 16 ? parseFloat(p[13]) : parseFloat(p[5])), m || 0;
165
+ }
166
+ function isObject$1(t2) {
167
+ return typeof t2 == "object" && !!t2 && t2.constructor && Object.prototype.toString.call(t2).slice(8, -1) === "Object";
168
+ }
169
+ function isNode(t2) {
170
+ return typeof window < "u" && window.HTMLElement !== void 0 ? t2 instanceof HTMLElement : t2 && (t2.nodeType === 1 || t2.nodeType === 11);
171
+ }
172
+ function extend$1(...t2) {
173
+ let d = Object(t2[0]);
174
+ for (let f = 1; f < t2.length; f += 1) {
175
+ let p = t2[f];
176
+ if (p != null && !isNode(p)) {
177
+ let t3 = Object.keys(Object(p)).filter((t4) => t4 !== "__proto__" && t4 !== "constructor" && t4 !== "prototype");
178
+ for (let f2 = 0, m = t3.length; f2 < m; f2 += 1) {
179
+ let m2 = t3[f2], h = Object.getOwnPropertyDescriptor(p, m2);
180
+ h !== void 0 && h.enumerable && (isObject$1(d[m2]) && isObject$1(p[m2]) ? p[m2].__swiper__ ? d[m2] = p[m2] : extend$1(d[m2], p[m2]) : !isObject$1(d[m2]) && isObject$1(p[m2]) ? (d[m2] = {}, p[m2].__swiper__ ? d[m2] = p[m2] : extend$1(d[m2], p[m2])) : d[m2] = p[m2]);
181
+ }
182
+ }
183
+ }
184
+ return d;
185
+ }
186
+ function setCSSProperty(t2, d, f) {
187
+ t2.style.setProperty(d, f);
188
+ }
189
+ function animateCSSModeScroll({ swiper: t2, targetPosition: d, side: f }) {
190
+ let p = getWindow(), m = -t2.translate, h = null, g, _ = t2.params.speed;
191
+ t2.wrapperEl.style.scrollSnapType = "none", p.cancelAnimationFrame(t2.cssModeFrameID);
192
+ let v = d > m ? "next" : "prev", y = (t3, d2) => v === "next" && t3 >= d2 || v === "prev" && t3 <= d2, b = () => {
193
+ g = (/* @__PURE__ */ new Date()).getTime(), h === null && (h = g);
194
+ let v2 = Math.max(Math.min((g - h) / _, 1), 0), x = m + (0.5 - Math.cos(v2 * Math.PI) / 2) * (d - m);
195
+ if (y(x, d) && (x = d), t2.wrapperEl.scrollTo({ [f]: x }), y(x, d)) {
196
+ t2.wrapperEl.style.overflow = "hidden", t2.wrapperEl.style.scrollSnapType = "", setTimeout(() => {
197
+ t2.wrapperEl.style.overflow = "", t2.wrapperEl.scrollTo({ [f]: x });
198
+ }), p.cancelAnimationFrame(t2.cssModeFrameID);
199
+ return;
200
+ }
201
+ t2.cssModeFrameID = p.requestAnimationFrame(b);
202
+ };
203
+ b();
204
+ }
205
+ function elementChildren(t2, d = "") {
206
+ let f = getWindow(), p = [...t2.children];
207
+ return f.HTMLSlotElement && t2 instanceof HTMLSlotElement && p.push(...t2.assignedElements()), d ? p.filter((t3) => t3.matches(d)) : p;
208
+ }
209
+ function elementIsChildOfSlot(t2, d) {
210
+ let f = [d];
211
+ for (; f.length > 0; ) {
212
+ let d2 = f.shift();
213
+ if (t2 === d2) return true;
214
+ f.push(...d2.children, ...d2.shadowRoot ? d2.shadowRoot.children : [], ...d2.assignedElements ? d2.assignedElements() : []);
215
+ }
216
+ }
217
+ function elementIsChildOf(t2, d) {
218
+ let f = getWindow(), p = d.contains(t2);
219
+ return !p && f.HTMLSlotElement && d instanceof HTMLSlotElement && (p = [...d.assignedElements()].includes(t2), p || (p = elementIsChildOfSlot(t2, d))), p;
220
+ }
221
+ function showWarning(t2) {
222
+ try {
223
+ console.warn(t2);
224
+ return;
225
+ } catch {
226
+ }
227
+ }
228
+ function createElement(t2, d = []) {
229
+ let f = document.createElement(t2);
230
+ return f.classList.add(...Array.isArray(d) ? d : classesToTokens(d)), f;
231
+ }
232
+ function elementOffset(t2) {
233
+ let d = getWindow(), f = getDocument(), p = t2.getBoundingClientRect(), m = f.body, h = t2.clientTop || m.clientTop || 0, g = t2.clientLeft || m.clientLeft || 0, _ = t2 === d ? d.scrollY : t2.scrollTop, v = t2 === d ? d.scrollX : t2.scrollLeft;
234
+ return {
235
+ top: p.top + _ - h,
236
+ left: p.left + v - g
237
+ };
238
+ }
239
+ function elementPrevAll(t2, d) {
240
+ let f = [];
241
+ for (; t2.previousElementSibling; ) {
242
+ let p = t2.previousElementSibling;
243
+ d ? p.matches(d) && f.push(p) : f.push(p), t2 = p;
244
+ }
245
+ return f;
246
+ }
247
+ function elementNextAll(t2, d) {
248
+ let f = [];
249
+ for (; t2.nextElementSibling; ) {
250
+ let p = t2.nextElementSibling;
251
+ d ? p.matches(d) && f.push(p) : f.push(p), t2 = p;
252
+ }
253
+ return f;
254
+ }
255
+ function elementStyle(t2, d) {
256
+ return getWindow().getComputedStyle(t2, null).getPropertyValue(d);
257
+ }
258
+ function elementIndex(t2) {
259
+ let d = t2, f;
260
+ if (d) {
261
+ for (f = 0; (d = d.previousSibling) !== null; ) d.nodeType === 1 && (f += 1);
262
+ return f;
263
+ }
264
+ }
265
+ function elementParents(t2, d) {
266
+ let f = [], p = t2.parentElement;
267
+ for (; p; ) d ? p.matches(d) && f.push(p) : f.push(p), p = p.parentElement;
268
+ return f;
269
+ }
270
+ function elementOuterSize(t2, d, f) {
271
+ let p = getWindow();
272
+ return f ? t2[d === "width" ? "offsetWidth" : "offsetHeight"] + parseFloat(p.getComputedStyle(t2, null).getPropertyValue(d === "width" ? "margin-right" : "margin-top")) + parseFloat(p.getComputedStyle(t2, null).getPropertyValue(d === "width" ? "margin-left" : "margin-bottom")) : t2.offsetWidth;
273
+ }
274
+ function makeElementsArray(t2) {
275
+ return (Array.isArray(t2) ? t2 : [t2]).filter((t3) => !!t3);
276
+ }
277
+ function setInnerHTML(t2, d = "") {
278
+ typeof trustedTypes < "u" ? t2.innerHTML = trustedTypes.createPolicy("html", { createHTML: (t3) => t3 }).createHTML(d) : t2.innerHTML = d;
279
+ }
280
+ function Virtual({ swiper: t2, extendParams: d, on: f, emit: p }) {
281
+ d({ virtual: {
282
+ enabled: false,
283
+ slides: [],
284
+ cache: true,
285
+ slidesPerViewAutoSlideSize: 320,
286
+ renderSlide: null,
287
+ renderExternal: null,
288
+ renderExternalUpdate: true,
289
+ addSlidesBefore: 0,
290
+ addSlidesAfter: 0
291
+ } });
292
+ let m, h = getDocument();
293
+ t2.virtual = {
294
+ cache: {},
295
+ from: void 0,
296
+ to: void 0,
297
+ slides: [],
298
+ offset: 0,
299
+ slidesGrid: []
300
+ };
301
+ let g = h.createElement("div");
302
+ function _(d2, f2) {
303
+ let p2 = t2.params.virtual;
304
+ if (p2.cache && t2.virtual.cache[f2]) return t2.virtual.cache[f2];
305
+ let m2;
306
+ return p2.renderSlide ? (m2 = p2.renderSlide.call(t2, d2, f2), typeof m2 == "string" && (setInnerHTML(g, m2), m2 = g.children[0])) : m2 = t2.isElement ? createElement("swiper-slide") : createElement("div", t2.params.slideClass), m2.setAttribute("data-swiper-slide-index", f2), p2.renderSlide || setInnerHTML(m2, d2), p2.cache && (t2.virtual.cache[f2] = m2), m2;
307
+ }
308
+ function v(d2, f2, m2) {
309
+ let { slidesPerGroup: h2, centeredSlides: g2, slidesPerView: v2, loop: y2, initialSlide: b2 } = t2.params;
310
+ if (f2 && !y2 && b2 > 0) return;
311
+ let { addSlidesBefore: x2, addSlidesAfter: S2, slidesPerViewAutoSlideSize: C } = t2.params.virtual, { from: w, to: T, slides: E, slidesGrid: D, offset: O } = t2.virtual;
312
+ t2.params.cssMode || t2.updateActiveIndex();
313
+ let k = m2 === void 0 ? t2.activeIndex || 0 : m2, A;
314
+ A = t2.rtlTranslate ? "right" : t2.isHorizontal() ? "left" : "top";
315
+ let j;
316
+ if (v2 === "auto") if (C) {
317
+ let d3 = t2.size;
318
+ d3 || (d3 = t2.isHorizontal() ? t2.el.getBoundingClientRect().width : t2.el.getBoundingClientRect().height), j = Math.max(1, Math.ceil(d3 / C));
319
+ } else j = 1;
320
+ else j = v2;
321
+ let M, N;
322
+ g2 ? (M = Math.floor(j / 2) + h2 + S2, N = Math.floor(j / 2) + h2 + x2) : (M = j + (h2 - 1) + S2, N = (y2 ? j : h2) + x2);
323
+ let P = k - N, F = k + M;
324
+ y2 || (P = Math.max(P, 0), F = Math.min(F, E.length - 1));
325
+ let I = (t2.slidesGrid[P] || 0) - (t2.slidesGrid[0] || 0);
326
+ y2 && k >= N ? (P -= N, g2 || (I += t2.slidesGrid[0])) : y2 && k < N && (P = -N, g2 && (I += t2.slidesGrid[0])), Object.assign(t2.virtual, {
327
+ from: P,
328
+ to: F,
329
+ offset: I,
330
+ slidesGrid: t2.slidesGrid,
331
+ slidesBefore: N,
332
+ slidesAfter: M
333
+ });
334
+ function R() {
335
+ t2.updateSlides(), t2.updateProgress(), t2.updateSlidesClasses(), p("virtualUpdate");
336
+ }
337
+ if (w === P && T === F && !d2) {
338
+ t2.slidesGrid !== D && I !== O && t2.slides.forEach((d3) => {
339
+ d3.style[A] = `${I - Math.abs(t2.cssOverflowAdjustment())}px`;
340
+ }), t2.updateProgress(), p("virtualUpdate");
341
+ return;
342
+ }
343
+ if (t2.params.virtual.renderExternal) {
344
+ t2.params.virtual.renderExternal.call(t2, {
345
+ offset: I,
346
+ from: P,
347
+ to: F,
348
+ slides: (function() {
349
+ let t3 = [];
350
+ for (let d3 = P; d3 <= F; d3 += 1) t3.push(E[d3]);
351
+ return t3;
352
+ })()
353
+ }), t2.params.virtual.renderExternalUpdate ? R() : p("virtualUpdate");
354
+ return;
355
+ }
356
+ let z = [], B = [], V = (t3) => {
357
+ let d3 = t3;
358
+ return t3 < 0 ? d3 = E.length + t3 : d3 >= E.length && (d3 -= E.length), d3;
359
+ };
360
+ if (d2) t2.slides.filter((d3) => d3.matches(`.${t2.params.slideClass}, swiper-slide`)).forEach((t3) => {
361
+ t3.remove();
362
+ });
363
+ else for (let d3 = w; d3 <= T; d3 += 1) if (d3 < P || d3 > F) {
364
+ let f3 = V(d3);
365
+ t2.slides.filter((d4) => d4.matches(`.${t2.params.slideClass}[data-swiper-slide-index="${f3}"], swiper-slide[data-swiper-slide-index="${f3}"]`)).forEach((t3) => {
366
+ t3.remove();
367
+ });
368
+ }
369
+ let H = y2 ? -E.length : 0, U = y2 ? E.length * 2 : E.length;
370
+ for (let t3 = H; t3 < U; t3 += 1) if (t3 >= P && t3 <= F) {
371
+ let f3 = V(t3);
372
+ T === void 0 || d2 ? B.push(f3) : (t3 > T && B.push(f3), t3 < w && z.push(f3));
373
+ }
374
+ if (B.forEach((d3) => {
375
+ t2.slidesEl.append(_(E[d3], d3));
376
+ }), y2) for (let d3 = z.length - 1; d3 >= 0; --d3) {
377
+ let f3 = z[d3];
378
+ t2.slidesEl.prepend(_(E[f3], f3));
379
+ }
380
+ else z.sort((t3, d3) => d3 - t3), z.forEach((d3) => {
381
+ t2.slidesEl.prepend(_(E[d3], d3));
382
+ });
383
+ elementChildren(t2.slidesEl, ".swiper-slide, swiper-slide").forEach((d3) => {
384
+ d3.style[A] = `${I - Math.abs(t2.cssOverflowAdjustment())}px`;
385
+ }), R();
386
+ }
387
+ function y(d2) {
388
+ if (typeof d2 == "object" && "length" in d2) for (let f2 = 0; f2 < d2.length; f2 += 1) d2[f2] && t2.virtual.slides.push(d2[f2]);
389
+ else t2.virtual.slides.push(d2);
390
+ v(true);
391
+ }
392
+ function b(d2) {
393
+ let f2 = t2.activeIndex, p2 = f2 + 1, m2 = 1;
394
+ if (Array.isArray(d2)) {
395
+ for (let f3 = 0; f3 < d2.length; f3 += 1) d2[f3] && t2.virtual.slides.unshift(d2[f3]);
396
+ p2 = f2 + d2.length, m2 = d2.length;
397
+ } else t2.virtual.slides.unshift(d2);
398
+ if (t2.params.virtual.cache) {
399
+ let d3 = t2.virtual.cache, f3 = {};
400
+ Object.keys(d3).forEach((t3) => {
401
+ let p3 = d3[t3], h2 = p3.getAttribute("data-swiper-slide-index");
402
+ h2 && p3.setAttribute("data-swiper-slide-index", parseInt(h2, 10) + m2), f3[parseInt(t3, 10) + m2] = p3;
403
+ }), t2.virtual.cache = f3;
404
+ }
405
+ v(true), t2.slideTo(p2, 0);
406
+ }
407
+ function x(d2) {
408
+ if (d2 == null) return;
409
+ let f2 = t2.activeIndex;
410
+ if (Array.isArray(d2)) for (let p2 = d2.length - 1; p2 >= 0; --p2) t2.params.virtual.cache && (delete t2.virtual.cache[d2[p2]], Object.keys(t2.virtual.cache).forEach((f3) => {
411
+ f3 > d2 && (t2.virtual.cache[f3 - 1] = t2.virtual.cache[f3], t2.virtual.cache[f3 - 1].setAttribute("data-swiper-slide-index", f3 - 1), delete t2.virtual.cache[f3]);
412
+ })), t2.virtual.slides.splice(d2[p2], 1), d2[p2] < f2 && --f2, f2 = Math.max(f2, 0);
413
+ else t2.params.virtual.cache && (delete t2.virtual.cache[d2], Object.keys(t2.virtual.cache).forEach((f3) => {
414
+ f3 > d2 && (t2.virtual.cache[f3 - 1] = t2.virtual.cache[f3], t2.virtual.cache[f3 - 1].setAttribute("data-swiper-slide-index", f3 - 1), delete t2.virtual.cache[f3]);
415
+ })), t2.virtual.slides.splice(d2, 1), d2 < f2 && --f2, f2 = Math.max(f2, 0);
416
+ v(true), t2.slideTo(f2, 0);
417
+ }
418
+ function S() {
419
+ t2.virtual.slides = [], t2.params.virtual.cache && (t2.virtual.cache = {}), v(true), t2.slideTo(0, 0);
420
+ }
421
+ f("beforeInit", () => {
422
+ if (!t2.params.virtual.enabled) return;
423
+ let d2;
424
+ if (t2.passedParams.virtual.slides === void 0) {
425
+ let f2 = [...t2.slidesEl.children].filter((d3) => d3.matches(`.${t2.params.slideClass}, swiper-slide`));
426
+ f2 && f2.length && (t2.virtual.slides = [...f2], d2 = true, f2.forEach((d3, f3) => {
427
+ d3.setAttribute("data-swiper-slide-index", f3), t2.virtual.cache[f3] = d3, d3.remove();
428
+ }));
429
+ }
430
+ d2 || (t2.virtual.slides = t2.params.virtual.slides), t2.classNames.push(`${t2.params.containerModifierClass}virtual`), t2.params.watchSlidesProgress = true, t2.originalParams.watchSlidesProgress = true, v(false, true);
431
+ }), f("setTranslate", () => {
432
+ t2.params.virtual.enabled && (t2.params.cssMode && !t2._immediateVirtual ? (clearTimeout(m), m = setTimeout(() => {
433
+ v();
434
+ }, 100)) : v());
435
+ }), f("init update resize", () => {
436
+ t2.params.virtual.enabled && t2.params.cssMode && setCSSProperty(t2.wrapperEl, "--swiper-virtual-size", `${t2.virtualSize}px`);
437
+ }), Object.assign(t2.virtual, {
438
+ appendSlide: y,
439
+ prependSlide: b,
440
+ removeSlide: x,
441
+ removeAllSlides: S,
442
+ update: v
443
+ });
444
+ }
445
+ function Keyboard({ swiper: t2, extendParams: d, on: f, emit: p }) {
446
+ let m = getDocument(), h = getWindow();
447
+ t2.keyboard = { enabled: false }, d({ keyboard: {
448
+ enabled: false,
449
+ onlyInViewport: true,
450
+ pageUpDown: true,
451
+ speed: void 0
452
+ } });
453
+ function g(d2) {
454
+ if (!t2.enabled) return;
455
+ let { rtlTranslate: f2 } = t2, g2 = d2;
456
+ g2.originalEvent && (g2 = g2.originalEvent);
457
+ let _2 = g2.keyCode || g2.charCode, v2 = t2.params.keyboard.pageUpDown, y = v2 && _2 === 33, b = v2 && _2 === 34, x = _2 === 37, S = _2 === 39, C = _2 === 38, w = _2 === 40;
458
+ if (!t2.allowSlideNext && (t2.isHorizontal() && S || t2.isVertical() && w || b) || !t2.allowSlidePrev && (t2.isHorizontal() && x || t2.isVertical() && C || y)) return false;
459
+ if (g2.shiftKey || g2.altKey || g2.ctrlKey || g2.metaKey || m.activeElement && (m.activeElement.isContentEditable || m.activeElement.nodeName && (m.activeElement.nodeName.toLowerCase() === "input" || m.activeElement.nodeName.toLowerCase() === "textarea"))) return;
460
+ if (t2.params.keyboard.onlyInViewport && (y || b || x || S || C || w)) {
461
+ let d3 = false;
462
+ if (elementParents(t2.el, `.${t2.params.slideClass}, swiper-slide`).length > 0 && elementParents(t2.el, `.${t2.params.slideActiveClass}`).length === 0) return;
463
+ let p2 = t2.el, m2 = p2.clientWidth, g3 = p2.clientHeight, _3 = h.innerWidth, v3 = h.innerHeight, y2 = elementOffset(p2);
464
+ f2 && (y2.left -= p2.scrollLeft);
465
+ let b2 = [
466
+ [y2.left, y2.top],
467
+ [y2.left + m2, y2.top],
468
+ [y2.left, y2.top + g3],
469
+ [y2.left + m2, y2.top + g3]
470
+ ];
471
+ for (let t3 = 0; t3 < b2.length; t3 += 1) {
472
+ let f3 = b2[t3];
473
+ if (f3[0] >= 0 && f3[0] <= _3 && f3[1] >= 0 && f3[1] <= v3) {
474
+ if (f3[0] === 0 && f3[1] === 0) continue;
475
+ d3 = true;
476
+ }
477
+ }
478
+ if (!d3) return;
479
+ }
480
+ let T = t2.params.keyboard.speed;
481
+ t2.isHorizontal() ? ((y || b || x || S) && (g2.preventDefault ? g2.preventDefault() : g2.returnValue = false), ((b || S) && !f2 || (y || x) && f2) && t2.slideNext(T), ((y || x) && !f2 || (b || S) && f2) && t2.slidePrev(T)) : ((y || b || C || w) && (g2.preventDefault ? g2.preventDefault() : g2.returnValue = false), (b || w) && t2.slideNext(T), (y || C) && t2.slidePrev(T)), p("keyPress", _2);
482
+ }
483
+ function _() {
484
+ t2.keyboard.enabled || (m.addEventListener("keydown", g), t2.keyboard.enabled = true);
485
+ }
486
+ function v() {
487
+ t2.keyboard.enabled && (m.removeEventListener("keydown", g), t2.keyboard.enabled = false);
488
+ }
489
+ f("init", () => {
490
+ t2.params.keyboard.enabled && _();
491
+ }), f("destroy", () => {
492
+ t2.keyboard.enabled && v();
493
+ }), Object.assign(t2.keyboard, {
494
+ enable: _,
495
+ disable: v
496
+ });
497
+ }
498
+ function createElementIfNotDefined(t2, d, f, p) {
499
+ return t2.params.createElements && Object.keys(p).forEach((m) => {
500
+ if (!f[m] && f.auto === true) {
501
+ let h = elementChildren(t2.el, `.${p[m]}`)[0];
502
+ h || (h = createElement("div", p[m]), h.className = p[m], t2.el.append(h)), f[m] = h, d[m] = h;
503
+ }
504
+ }), f;
505
+ }
506
+ var arrowSvg = '<svg class="swiper-navigation-icon" width="11" height="20" viewBox="0 0 11 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.38296 20.0762C0.111788 19.805 0.111788 19.3654 0.38296 19.0942L9.19758 10.2796L0.38296 1.46497C0.111788 1.19379 0.111788 0.754138 0.38296 0.482966C0.654131 0.211794 1.09379 0.211794 1.36496 0.482966L10.4341 9.55214C10.8359 9.9539 10.8359 10.6053 10.4341 11.007L1.36496 20.0762C1.09379 20.3474 0.654131 20.3474 0.38296 20.0762Z" fill="currentColor"/></svg>';
507
+ function Navigation({ swiper: t2, extendParams: d, on: f, emit: p }) {
508
+ d({ navigation: {
509
+ nextEl: null,
510
+ prevEl: null,
511
+ addIcons: true,
512
+ hideOnClick: false,
513
+ disabledClass: "swiper-button-disabled",
514
+ hiddenClass: "swiper-button-hidden",
515
+ lockClass: "swiper-button-lock",
516
+ navigationDisabledClass: "swiper-navigation-disabled"
517
+ } }), t2.navigation = {
518
+ nextEl: null,
519
+ prevEl: null,
520
+ arrowSvg
521
+ };
522
+ function m(d2) {
523
+ let f2;
524
+ return d2 && typeof d2 == "string" && t2.isElement && (f2 = t2.el.querySelector(d2) || t2.hostEl.querySelector(d2), f2) ? f2 : (d2 && (typeof d2 == "string" && (f2 = [...document.querySelectorAll(d2)]), t2.params.uniqueNavElements && typeof d2 == "string" && f2 && f2.length > 1 && t2.el.querySelectorAll(d2).length === 1 ? f2 = t2.el.querySelector(d2) : f2 && f2.length === 1 && (f2 = f2[0])), d2 && !f2 ? d2 : f2);
525
+ }
526
+ function h(d2, f2) {
527
+ let p2 = t2.params.navigation;
528
+ d2 = makeElementsArray(d2), d2.forEach((d3) => {
529
+ d3 && (d3.classList[f2 ? "add" : "remove"](...p2.disabledClass.split(" ")), d3.tagName === "BUTTON" && (d3.disabled = f2), t2.params.watchOverflow && t2.enabled && d3.classList[t2.isLocked ? "add" : "remove"](p2.lockClass));
530
+ });
531
+ }
532
+ function g() {
533
+ let { nextEl: d2, prevEl: f2 } = t2.navigation;
534
+ if (t2.params.loop) {
535
+ h(f2, false), h(d2, false);
536
+ return;
537
+ }
538
+ h(f2, t2.isBeginning && !t2.params.rewind), h(d2, t2.isEnd && !t2.params.rewind);
539
+ }
540
+ function _(d2) {
541
+ d2.preventDefault(), !(t2.isBeginning && !t2.params.loop && !t2.params.rewind) && (t2.slidePrev(), p("navigationPrev"));
542
+ }
543
+ function v(d2) {
544
+ d2.preventDefault(), !(t2.isEnd && !t2.params.loop && !t2.params.rewind) && (t2.slideNext(), p("navigationNext"));
545
+ }
546
+ function y() {
547
+ let d2 = t2.params.navigation;
548
+ if (t2.params.navigation = createElementIfNotDefined(t2, t2.originalParams.navigation, t2.params.navigation, {
549
+ nextEl: "swiper-button-next",
550
+ prevEl: "swiper-button-prev"
551
+ }), !(d2.nextEl || d2.prevEl)) return;
552
+ let f2 = m(d2.nextEl), p2 = m(d2.prevEl);
553
+ Object.assign(t2.navigation, {
554
+ nextEl: f2,
555
+ prevEl: p2
556
+ }), f2 = makeElementsArray(f2), p2 = makeElementsArray(p2);
557
+ let h2 = (f3, p3) => {
558
+ if (f3) {
559
+ if (d2.addIcons && f3.matches(".swiper-button-next,.swiper-button-prev") && !f3.querySelector("svg")) {
560
+ let t3 = document.createElement("div");
561
+ setInnerHTML(t3, arrowSvg), f3.appendChild(t3.querySelector("svg")), t3.remove();
562
+ }
563
+ f3.addEventListener("click", p3 === "next" ? v : _);
564
+ }
565
+ !t2.enabled && f3 && f3.classList.add(...d2.lockClass.split(" "));
566
+ };
567
+ f2.forEach((t3) => h2(t3, "next")), p2.forEach((t3) => h2(t3, "prev"));
568
+ }
569
+ function b() {
570
+ let { nextEl: d2, prevEl: f2 } = t2.navigation;
571
+ d2 = makeElementsArray(d2), f2 = makeElementsArray(f2);
572
+ let p2 = (d3, f3) => {
573
+ d3.removeEventListener("click", f3 === "next" ? v : _), d3.classList.remove(...t2.params.navigation.disabledClass.split(" "));
574
+ };
575
+ d2.forEach((t3) => p2(t3, "next")), f2.forEach((t3) => p2(t3, "prev"));
576
+ }
577
+ f("init", () => {
578
+ t2.params.navigation.enabled === false ? S() : (y(), g());
579
+ }), f("toEdge fromEdge lock unlock", () => {
580
+ g();
581
+ }), f("destroy", () => {
582
+ b();
583
+ }), f("enable disable", () => {
584
+ let { nextEl: d2, prevEl: f2 } = t2.navigation;
585
+ if (d2 = makeElementsArray(d2), f2 = makeElementsArray(f2), t2.enabled) {
586
+ g();
587
+ return;
588
+ }
589
+ [...d2, ...f2].filter((t3) => !!t3).forEach((d3) => d3.classList.add(t2.params.navigation.lockClass));
590
+ }), f("click", (d2, f2) => {
591
+ let { nextEl: m2, prevEl: h2 } = t2.navigation;
592
+ m2 = makeElementsArray(m2), h2 = makeElementsArray(h2);
593
+ let g2 = f2.target, _2 = h2.includes(g2) || m2.includes(g2);
594
+ if (t2.isElement && !_2) {
595
+ let t3 = f2.path || f2.composedPath && f2.composedPath();
596
+ t3 && (_2 = t3.find((t4) => m2.includes(t4) || h2.includes(t4)));
597
+ }
598
+ if (t2.params.navigation.hideOnClick && !_2) {
599
+ if (t2.pagination && t2.params.pagination && t2.params.pagination.clickable && (t2.pagination.el === g2 || t2.pagination.el.contains(g2))) return;
600
+ let d3;
601
+ m2.length ? d3 = m2[0].classList.contains(t2.params.navigation.hiddenClass) : h2.length && (d3 = h2[0].classList.contains(t2.params.navigation.hiddenClass)), p(d3 === true ? "navigationShow" : "navigationHide"), [...m2, ...h2].filter((t3) => !!t3).forEach((d4) => d4.classList.toggle(t2.params.navigation.hiddenClass));
602
+ }
603
+ });
604
+ let x = () => {
605
+ t2.el.classList.remove(...t2.params.navigation.navigationDisabledClass.split(" ")), y(), g();
606
+ }, S = () => {
607
+ t2.el.classList.add(...t2.params.navigation.navigationDisabledClass.split(" ")), b();
608
+ };
609
+ Object.assign(t2.navigation, {
610
+ enable: x,
611
+ disable: S,
612
+ update: g,
613
+ init: y,
614
+ destroy: b
615
+ });
616
+ }
617
+ function classesToSelector(t2 = "") {
618
+ return `.${t2.trim().replace(/([\.:!+\/()[\]#>~*^$|=,'"@{}\\])/g, "\\$1").replace(/ /g, ".")}`;
619
+ }
620
+ function Pagination({ swiper: t2, extendParams: d, on: f, emit: p }) {
621
+ let m = "swiper-pagination";
622
+ d({ pagination: {
623
+ el: null,
624
+ bulletElement: "span",
625
+ clickable: false,
626
+ hideOnClick: false,
627
+ renderBullet: null,
628
+ renderProgressbar: null,
629
+ renderFraction: null,
630
+ renderCustom: null,
631
+ progressbarOpposite: false,
632
+ type: "bullets",
633
+ dynamicBullets: false,
634
+ dynamicMainBullets: 1,
635
+ formatFractionCurrent: (t3) => t3,
636
+ formatFractionTotal: (t3) => t3,
637
+ bulletClass: `${m}-bullet`,
638
+ bulletActiveClass: `${m}-bullet-active`,
639
+ modifierClass: `${m}-`,
640
+ currentClass: `${m}-current`,
641
+ totalClass: `${m}-total`,
642
+ hiddenClass: `${m}-hidden`,
643
+ progressbarFillClass: `${m}-progressbar-fill`,
644
+ progressbarOppositeClass: `${m}-progressbar-opposite`,
645
+ clickableClass: `${m}-clickable`,
646
+ lockClass: `${m}-lock`,
647
+ horizontalClass: `${m}-horizontal`,
648
+ verticalClass: `${m}-vertical`,
649
+ paginationDisabledClass: `${m}-disabled`
650
+ } }), t2.pagination = {
651
+ el: null,
652
+ bullets: []
653
+ };
654
+ let h, g = 0;
655
+ function _() {
656
+ return !t2.params.pagination.el || !t2.pagination.el || Array.isArray(t2.pagination.el) && t2.pagination.el.length === 0;
657
+ }
658
+ function v(d2, f2) {
659
+ let { bulletActiveClass: p2 } = t2.params.pagination;
660
+ d2 && (d2 = d2[`${f2 === "prev" ? "previous" : "next"}ElementSibling`], d2 && (d2.classList.add(`${p2}-${f2}`), d2 = d2[`${f2 === "prev" ? "previous" : "next"}ElementSibling`], d2 && d2.classList.add(`${p2}-${f2}-${f2}`)));
661
+ }
662
+ function y(t3, d2, f2) {
663
+ if (t3 %= f2, d2 %= f2, d2 === t3 + 1) return "next";
664
+ if (d2 === t3 - 1) return "previous";
665
+ }
666
+ function b(d2) {
667
+ let f2 = d2.target.closest(classesToSelector(t2.params.pagination.bulletClass));
668
+ if (!f2) return;
669
+ d2.preventDefault();
670
+ let p2 = elementIndex(f2) * t2.params.slidesPerGroup;
671
+ if (t2.params.loop) {
672
+ if (t2.realIndex === p2) return;
673
+ let d3 = y(t2.realIndex, p2, t2.slides.length);
674
+ d3 === "next" ? t2.slideNext() : d3 === "previous" ? t2.slidePrev() : t2.slideToLoop(p2);
675
+ } else t2.slideTo(p2);
676
+ }
677
+ function x() {
678
+ let d2 = t2.rtl, f2 = t2.params.pagination;
679
+ if (_()) return;
680
+ let m2 = t2.pagination.el;
681
+ m2 = makeElementsArray(m2);
682
+ let y2, b2, x2 = t2.virtual && t2.params.virtual.enabled ? t2.virtual.slides.length : t2.slides.length, S2 = t2.params.loop ? Math.ceil(x2 / t2.params.slidesPerGroup) : t2.snapGrid.length;
683
+ if (t2.params.loop ? (b2 = t2.previousRealIndex || 0, y2 = t2.params.slidesPerGroup > 1 ? Math.floor(t2.realIndex / t2.params.slidesPerGroup) : t2.realIndex) : t2.snapIndex === void 0 ? (b2 = t2.previousIndex || 0, y2 = t2.activeIndex || 0) : (y2 = t2.snapIndex, b2 = t2.previousSnapIndex), f2.type === "bullets" && t2.pagination.bullets && t2.pagination.bullets.length > 0) {
684
+ let p2 = t2.pagination.bullets, _2, x3, S3;
685
+ if (f2.dynamicBullets && (h = elementOuterSize(p2[0], t2.isHorizontal() ? "width" : "height", true), m2.forEach((d3) => {
686
+ d3.style[t2.isHorizontal() ? "width" : "height"] = `${h * (f2.dynamicMainBullets + 4)}px`;
687
+ }), f2.dynamicMainBullets > 1 && b2 !== void 0 && (g += y2 - (b2 || 0), g > f2.dynamicMainBullets - 1 ? g = f2.dynamicMainBullets - 1 : g < 0 && (g = 0)), _2 = Math.max(y2 - g, 0), x3 = _2 + (Math.min(p2.length, f2.dynamicMainBullets) - 1), S3 = (x3 + _2) / 2), p2.forEach((t3) => {
688
+ let d3 = [...[
689
+ "",
690
+ "-next",
691
+ "-next-next",
692
+ "-prev",
693
+ "-prev-prev",
694
+ "-main"
695
+ ].map((t4) => `${f2.bulletActiveClass}${t4}`)].map((t4) => typeof t4 == "string" && t4.includes(" ") ? t4.split(" ") : t4).flat();
696
+ t3.classList.remove(...d3);
697
+ }), m2.length > 1) p2.forEach((d3) => {
698
+ let p3 = elementIndex(d3);
699
+ p3 === y2 ? d3.classList.add(...f2.bulletActiveClass.split(" ")) : t2.isElement && d3.setAttribute("part", "bullet"), f2.dynamicBullets && (p3 >= _2 && p3 <= x3 && d3.classList.add(...`${f2.bulletActiveClass}-main`.split(" ")), p3 === _2 && v(d3, "prev"), p3 === x3 && v(d3, "next"));
700
+ });
701
+ else {
702
+ let d3 = p2[y2];
703
+ if (d3 && d3.classList.add(...f2.bulletActiveClass.split(" ")), t2.isElement && p2.forEach((t3, d4) => {
704
+ t3.setAttribute("part", d4 === y2 ? "bullet-active" : "bullet");
705
+ }), f2.dynamicBullets) {
706
+ let t3 = p2[_2], d4 = p2[x3];
707
+ for (let t4 = _2; t4 <= x3; t4 += 1) p2[t4] && p2[t4].classList.add(...`${f2.bulletActiveClass}-main`.split(" "));
708
+ v(t3, "prev"), v(d4, "next");
709
+ }
710
+ }
711
+ if (f2.dynamicBullets) {
712
+ let m3 = Math.min(p2.length, f2.dynamicMainBullets + 4), g2 = (h * m3 - h) / 2 - S3 * h, _3 = d2 ? "right" : "left";
713
+ p2.forEach((d3) => {
714
+ d3.style[t2.isHorizontal() ? _3 : "top"] = `${g2}px`;
715
+ });
716
+ }
717
+ }
718
+ m2.forEach((d3, m3) => {
719
+ if (f2.type === "fraction" && (d3.querySelectorAll(classesToSelector(f2.currentClass)).forEach((t3) => {
720
+ t3.textContent = f2.formatFractionCurrent(y2 + 1);
721
+ }), d3.querySelectorAll(classesToSelector(f2.totalClass)).forEach((t3) => {
722
+ t3.textContent = f2.formatFractionTotal(S2);
723
+ })), f2.type === "progressbar") {
724
+ let p2;
725
+ p2 = f2.progressbarOpposite ? t2.isHorizontal() ? "vertical" : "horizontal" : t2.isHorizontal() ? "horizontal" : "vertical";
726
+ let m4 = (y2 + 1) / S2, h2 = 1, g2 = 1;
727
+ p2 === "horizontal" ? h2 = m4 : g2 = m4, d3.querySelectorAll(classesToSelector(f2.progressbarFillClass)).forEach((d4) => {
728
+ d4.style.transform = `translate3d(0,0,0) scaleX(${h2}) scaleY(${g2})`, d4.style.transitionDuration = `${t2.params.speed}ms`;
729
+ });
730
+ }
731
+ f2.type === "custom" && f2.renderCustom ? (setInnerHTML(d3, f2.renderCustom(t2, y2 + 1, S2)), m3 === 0 && p("paginationRender", d3)) : (m3 === 0 && p("paginationRender", d3), p("paginationUpdate", d3)), t2.params.watchOverflow && t2.enabled && d3.classList[t2.isLocked ? "add" : "remove"](f2.lockClass);
732
+ });
733
+ }
734
+ function S() {
735
+ let d2 = t2.params.pagination;
736
+ if (_()) return;
737
+ let f2 = t2.virtual && t2.params.virtual.enabled ? t2.virtual.slides.length : t2.grid && t2.params.grid.rows > 1 ? t2.slides.length / Math.ceil(t2.params.grid.rows) : t2.slides.length, m2 = t2.pagination.el;
738
+ m2 = makeElementsArray(m2);
739
+ let h2 = "";
740
+ if (d2.type === "bullets") {
741
+ let p2 = t2.params.loop ? Math.ceil(f2 / t2.params.slidesPerGroup) : t2.snapGrid.length;
742
+ t2.params.freeMode && t2.params.freeMode.enabled && p2 > f2 && (p2 = f2);
743
+ for (let f3 = 0; f3 < p2; f3 += 1) d2.renderBullet ? h2 += d2.renderBullet.call(t2, f3, d2.bulletClass) : h2 += `<${d2.bulletElement} ${t2.isElement ? 'part="bullet"' : ""} class="${d2.bulletClass}"></${d2.bulletElement}>`;
744
+ }
745
+ d2.type === "fraction" && (h2 = d2.renderFraction ? d2.renderFraction.call(t2, d2.currentClass, d2.totalClass) : `<span class="${d2.currentClass}"></span> / <span class="${d2.totalClass}"></span>`), d2.type === "progressbar" && (h2 = d2.renderProgressbar ? d2.renderProgressbar.call(t2, d2.progressbarFillClass) : `<span class="${d2.progressbarFillClass}"></span>`), t2.pagination.bullets = [], m2.forEach((f3) => {
746
+ d2.type !== "custom" && setInnerHTML(f3, h2 || ""), d2.type === "bullets" && t2.pagination.bullets.push(...f3.querySelectorAll(classesToSelector(d2.bulletClass)));
747
+ }), d2.type !== "custom" && p("paginationRender", m2[0]);
748
+ }
749
+ function C() {
750
+ t2.params.pagination = createElementIfNotDefined(t2, t2.originalParams.pagination, t2.params.pagination, { el: "swiper-pagination" });
751
+ let d2 = t2.params.pagination;
752
+ if (!d2.el) return;
753
+ let f2;
754
+ typeof d2.el == "string" && t2.isElement && (f2 = t2.el.querySelector(d2.el)), !f2 && typeof d2.el == "string" && (f2 = [...document.querySelectorAll(d2.el)]), f2 || (f2 = d2.el), !(!f2 || f2.length === 0) && (t2.params.uniqueNavElements && typeof d2.el == "string" && Array.isArray(f2) && f2.length > 1 && (f2 = [...t2.el.querySelectorAll(d2.el)], f2.length > 1 && (f2 = f2.find((d3) => elementParents(d3, ".swiper")[0] === t2.el))), Array.isArray(f2) && f2.length === 1 && (f2 = f2[0]), Object.assign(t2.pagination, { el: f2 }), f2 = makeElementsArray(f2), f2.forEach((f3) => {
755
+ d2.type === "bullets" && d2.clickable && f3.classList.add(...(d2.clickableClass || "").split(" ")), f3.classList.add(d2.modifierClass + d2.type), f3.classList.add(t2.isHorizontal() ? d2.horizontalClass : d2.verticalClass), d2.type === "bullets" && d2.dynamicBullets && (f3.classList.add(`${d2.modifierClass}${d2.type}-dynamic`), g = 0, d2.dynamicMainBullets < 1 && (d2.dynamicMainBullets = 1)), d2.type === "progressbar" && d2.progressbarOpposite && f3.classList.add(d2.progressbarOppositeClass), d2.clickable && f3.addEventListener("click", b), t2.enabled || f3.classList.add(d2.lockClass);
756
+ }));
757
+ }
758
+ function w() {
759
+ let d2 = t2.params.pagination;
760
+ if (_()) return;
761
+ let f2 = t2.pagination.el;
762
+ f2 && (f2 = makeElementsArray(f2), f2.forEach((f3) => {
763
+ f3.classList.remove(d2.hiddenClass), f3.classList.remove(d2.modifierClass + d2.type), f3.classList.remove(t2.isHorizontal() ? d2.horizontalClass : d2.verticalClass), d2.clickable && (f3.classList.remove(...(d2.clickableClass || "").split(" ")), f3.removeEventListener("click", b));
764
+ })), t2.pagination.bullets && t2.pagination.bullets.forEach((t3) => t3.classList.remove(...d2.bulletActiveClass.split(" ")));
765
+ }
766
+ f("changeDirection", () => {
767
+ if (!t2.pagination || !t2.pagination.el) return;
768
+ let d2 = t2.params.pagination, { el: f2 } = t2.pagination;
769
+ f2 = makeElementsArray(f2), f2.forEach((f3) => {
770
+ f3.classList.remove(d2.horizontalClass, d2.verticalClass), f3.classList.add(t2.isHorizontal() ? d2.horizontalClass : d2.verticalClass);
771
+ });
772
+ }), f("init", () => {
773
+ t2.params.pagination.enabled === false ? E() : (C(), S(), x());
774
+ }), f("activeIndexChange", () => {
775
+ t2.snapIndex === void 0 && x();
776
+ }), f("snapIndexChange", () => {
777
+ x();
778
+ }), f("snapGridLengthChange", () => {
779
+ S(), x();
780
+ }), f("destroy", () => {
781
+ w();
782
+ }), f("enable disable", () => {
783
+ let { el: d2 } = t2.pagination;
784
+ d2 && (d2 = makeElementsArray(d2), d2.forEach((d3) => d3.classList[t2.enabled ? "remove" : "add"](t2.params.pagination.lockClass)));
785
+ }), f("lock unlock", () => {
786
+ x();
787
+ }), f("click", (d2, f2) => {
788
+ let m2 = f2.target, h2 = makeElementsArray(t2.pagination.el);
789
+ if (t2.params.pagination.el && t2.params.pagination.hideOnClick && h2 && h2.length > 0 && !m2.classList.contains(t2.params.pagination.bulletClass)) {
790
+ if (t2.navigation && (t2.navigation.nextEl && m2 === t2.navigation.nextEl || t2.navigation.prevEl && m2 === t2.navigation.prevEl)) return;
791
+ h2[0].classList.contains(t2.params.pagination.hiddenClass) === true ? p("paginationShow") : p("paginationHide"), h2.forEach((d3) => d3.classList.toggle(t2.params.pagination.hiddenClass));
792
+ }
793
+ });
794
+ let T = () => {
795
+ t2.el.classList.remove(t2.params.pagination.paginationDisabledClass);
796
+ let { el: d2 } = t2.pagination;
797
+ d2 && (d2 = makeElementsArray(d2), d2.forEach((d3) => d3.classList.remove(t2.params.pagination.paginationDisabledClass))), C(), S(), x();
798
+ }, E = () => {
799
+ t2.el.classList.add(t2.params.pagination.paginationDisabledClass);
800
+ let { el: d2 } = t2.pagination;
801
+ d2 && (d2 = makeElementsArray(d2), d2.forEach((d3) => d3.classList.add(t2.params.pagination.paginationDisabledClass))), w();
802
+ };
803
+ Object.assign(t2.pagination, {
804
+ enable: T,
805
+ disable: E,
806
+ render: S,
807
+ update: x,
808
+ init: C,
809
+ destroy: w
810
+ });
811
+ }
812
+ function Zoom({ swiper: t2, extendParams: d, on: f, emit: p }) {
813
+ let m = getWindow();
814
+ d({ zoom: {
815
+ enabled: false,
816
+ limitToOriginalSize: false,
817
+ maxRatio: 3,
818
+ minRatio: 1,
819
+ panOnMouseMove: false,
820
+ toggle: true,
821
+ containerClass: "swiper-zoom-container",
822
+ zoomedSlideClass: "swiper-slide-zoomed"
823
+ } }), t2.zoom = { enabled: false };
824
+ let h = 1, g = false, _ = false, v = {
825
+ x: 0,
826
+ y: 0
827
+ }, y, b, x = [], S = {
828
+ originX: 0,
829
+ originY: 0,
830
+ slideEl: void 0,
831
+ slideWidth: void 0,
832
+ slideHeight: void 0,
833
+ imageEl: void 0,
834
+ imageWrapEl: void 0,
835
+ maxRatio: 3
836
+ }, C = {
837
+ isTouched: void 0,
838
+ isMoved: void 0,
839
+ currentX: void 0,
840
+ currentY: void 0,
841
+ minX: void 0,
842
+ minY: void 0,
843
+ maxX: void 0,
844
+ maxY: void 0,
845
+ width: void 0,
846
+ height: void 0,
847
+ startX: void 0,
848
+ startY: void 0,
849
+ touchesStart: {},
850
+ touchesCurrent: {}
851
+ }, w = {
852
+ x: void 0,
853
+ y: void 0,
854
+ prevPositionX: void 0,
855
+ prevPositionY: void 0,
856
+ prevTime: void 0
857
+ }, E = 1;
858
+ Object.defineProperty(t2.zoom, "scale", {
859
+ get() {
860
+ return E;
861
+ },
862
+ set(t3) {
863
+ if (E !== t3) {
864
+ let d2 = S.imageEl, f2 = S.slideEl;
865
+ p("zoomChange", t3, d2, f2);
866
+ }
867
+ E = t3;
868
+ }
869
+ });
870
+ function D() {
871
+ if (x.length < 2) return 1;
872
+ let t3 = x[0].pageX, d2 = x[0].pageY, f2 = x[1].pageX, p2 = x[1].pageY;
873
+ return Math.sqrt((f2 - t3) ** 2 + (p2 - d2) ** 2);
874
+ }
875
+ function O() {
876
+ let d2 = t2.params.zoom, f2 = S.imageWrapEl.getAttribute("data-swiper-zoom") || d2.maxRatio;
877
+ if (d2.limitToOriginalSize && S.imageEl && S.imageEl.naturalWidth) {
878
+ let t3 = S.imageEl.naturalWidth / S.imageEl.offsetWidth;
879
+ return Math.min(t3, f2);
880
+ }
881
+ return f2;
882
+ }
883
+ function k() {
884
+ if (x.length < 2) return {
885
+ x: null,
886
+ y: null
887
+ };
888
+ let t3 = S.imageEl.getBoundingClientRect();
889
+ return [(x[0].pageX + (x[1].pageX - x[0].pageX) / 2 - t3.x - m.scrollX) / h, (x[0].pageY + (x[1].pageY - x[0].pageY) / 2 - t3.y - m.scrollY) / h];
890
+ }
891
+ function A() {
892
+ return t2.isElement ? "swiper-slide" : `.${t2.params.slideClass}`;
893
+ }
894
+ function M(d2) {
895
+ let f2 = A();
896
+ return !!(d2.target.matches(f2) || t2.slides.filter((t3) => t3.contains(d2.target)).length > 0);
897
+ }
898
+ function N(d2) {
899
+ let f2 = `.${t2.params.zoom.containerClass}`;
900
+ return !!(d2.target.matches(f2) || [...t2.hostEl.querySelectorAll(f2)].filter((t3) => t3.contains(d2.target)).length > 0);
901
+ }
902
+ function P(d2) {
903
+ if (d2.pointerType === "mouse" && x.splice(0, x.length), !M(d2)) return;
904
+ let f2 = t2.params.zoom;
905
+ if (y = false, b = false, x.push(d2), !(x.length < 2)) {
906
+ if (y = true, S.scaleStart = D(), !S.slideEl) {
907
+ S.slideEl = d2.target.closest(`.${t2.params.slideClass}, swiper-slide`), S.slideEl || (S.slideEl = t2.slides[t2.activeIndex]);
908
+ let p2 = S.slideEl.querySelector(`.${f2.containerClass}`);
909
+ if (p2 && (p2 = p2.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]), S.imageEl = p2, p2 ? S.imageWrapEl = elementParents(S.imageEl, `.${f2.containerClass}`)[0] : S.imageWrapEl = void 0, !S.imageWrapEl) {
910
+ S.imageEl = void 0;
911
+ return;
912
+ }
913
+ S.maxRatio = O();
914
+ }
915
+ if (S.imageEl) {
916
+ let [t3, d3] = k();
917
+ S.originX = t3, S.originY = d3, S.imageEl.style.transitionDuration = "0ms";
918
+ }
919
+ g = true;
920
+ }
921
+ }
922
+ function F(d2) {
923
+ if (!M(d2)) return;
924
+ let f2 = t2.params.zoom, p2 = t2.zoom, m2 = x.findIndex((t3) => t3.pointerId === d2.pointerId);
925
+ m2 >= 0 && (x[m2] = d2), !(x.length < 2) && (b = true, S.scaleMove = D(), S.imageEl && (p2.scale = S.scaleMove / S.scaleStart * h, p2.scale > S.maxRatio && (p2.scale = S.maxRatio - 1 + (p2.scale - S.maxRatio + 1) ** 0.5), p2.scale < f2.minRatio && (p2.scale = f2.minRatio + 1 - (f2.minRatio - p2.scale + 1) ** 0.5), S.imageEl.style.transform = `translate3d(0,0,0) scale(${p2.scale})`));
926
+ }
927
+ function I(d2) {
928
+ if (!M(d2) || d2.pointerType === "mouse" && d2.type === "pointerout") return;
929
+ let f2 = t2.params.zoom, p2 = t2.zoom, m2 = x.findIndex((t3) => t3.pointerId === d2.pointerId);
930
+ m2 >= 0 && x.splice(m2, 1), !(!y || !b) && (y = false, b = false, S.imageEl && (p2.scale = Math.max(Math.min(p2.scale, S.maxRatio), f2.minRatio), S.imageEl.style.transitionDuration = `${t2.params.speed}ms`, S.imageEl.style.transform = `translate3d(0,0,0) scale(${p2.scale})`, h = p2.scale, g = false, p2.scale > 1 && S.slideEl ? S.slideEl.classList.add(`${f2.zoomedSlideClass}`) : p2.scale <= 1 && S.slideEl && S.slideEl.classList.remove(`${f2.zoomedSlideClass}`), p2.scale === 1 && (S.originX = 0, S.originY = 0, S.slideEl = void 0)));
931
+ }
932
+ let R;
933
+ function z() {
934
+ t2.touchEventsData.preventTouchMoveFromPointerMove = false;
935
+ }
936
+ function B() {
937
+ clearTimeout(R), t2.touchEventsData.preventTouchMoveFromPointerMove = true, R = setTimeout(() => {
938
+ t2.destroyed || z();
939
+ });
940
+ }
941
+ function V(d2) {
942
+ let f2 = t2.device;
943
+ if (!S.imageEl || C.isTouched) return;
944
+ f2.android && d2.cancelable && d2.preventDefault(), C.isTouched = true;
945
+ let p2 = x.length > 0 ? x[0] : d2;
946
+ C.touchesStart.x = p2.pageX, C.touchesStart.y = p2.pageY;
947
+ }
948
+ function U(d2) {
949
+ let f2 = d2.pointerType === "mouse" && t2.params.zoom.panOnMouseMove;
950
+ if (!M(d2) || !N(d2)) return;
951
+ let p2 = t2.zoom;
952
+ if (!S.imageEl) return;
953
+ if (!C.isTouched || !S.slideEl) {
954
+ f2 && K(d2);
955
+ return;
956
+ }
957
+ if (f2) {
958
+ K(d2);
959
+ return;
960
+ }
961
+ C.isMoved || (C.width = S.imageEl.offsetWidth || S.imageEl.clientWidth, C.height = S.imageEl.offsetHeight || S.imageEl.clientHeight, C.startX = getTranslate(S.imageWrapEl, "x") || 0, C.startY = getTranslate(S.imageWrapEl, "y") || 0, S.slideWidth = S.slideEl.offsetWidth, S.slideHeight = S.slideEl.offsetHeight, S.imageWrapEl.style.transitionDuration = "0ms");
962
+ let m2 = C.width * p2.scale, _2 = C.height * p2.scale;
963
+ if (C.minX = Math.min(S.slideWidth / 2 - m2 / 2, 0), C.maxX = -C.minX, C.minY = Math.min(S.slideHeight / 2 - _2 / 2, 0), C.maxY = -C.minY, C.touchesCurrent.x = x.length > 0 ? x[0].pageX : d2.pageX, C.touchesCurrent.y = x.length > 0 ? x[0].pageY : d2.pageY, Math.max(Math.abs(C.touchesCurrent.x - C.touchesStart.x), Math.abs(C.touchesCurrent.y - C.touchesStart.y)) > 5 && (t2.allowClick = false), !C.isMoved && !g) {
964
+ if (t2.isHorizontal() && (Math.floor(C.minX) === Math.floor(C.startX) && C.touchesCurrent.x < C.touchesStart.x || Math.floor(C.maxX) === Math.floor(C.startX) && C.touchesCurrent.x > C.touchesStart.x)) {
965
+ C.isTouched = false, z();
966
+ return;
967
+ }
968
+ if (!t2.isHorizontal() && (Math.floor(C.minY) === Math.floor(C.startY) && C.touchesCurrent.y < C.touchesStart.y || Math.floor(C.maxY) === Math.floor(C.startY) && C.touchesCurrent.y > C.touchesStart.y)) {
969
+ C.isTouched = false, z();
970
+ return;
971
+ }
972
+ }
973
+ d2.cancelable && d2.preventDefault(), d2.stopPropagation(), B(), C.isMoved = true;
974
+ let v2 = (p2.scale - h) / (S.maxRatio - t2.params.zoom.minRatio), { originX: y2, originY: b2 } = S;
975
+ C.currentX = C.touchesCurrent.x - C.touchesStart.x + C.startX + v2 * (C.width - y2 * 2), C.currentY = C.touchesCurrent.y - C.touchesStart.y + C.startY + v2 * (C.height - b2 * 2), C.currentX < C.minX && (C.currentX = C.minX + 1 - (C.minX - C.currentX + 1) ** 0.8), C.currentX > C.maxX && (C.currentX = C.maxX - 1 + (C.currentX - C.maxX + 1) ** 0.8), C.currentY < C.minY && (C.currentY = C.minY + 1 - (C.minY - C.currentY + 1) ** 0.8), C.currentY > C.maxY && (C.currentY = C.maxY - 1 + (C.currentY - C.maxY + 1) ** 0.8), w.prevPositionX || (w.prevPositionX = C.touchesCurrent.x), w.prevPositionY || (w.prevPositionY = C.touchesCurrent.y), w.prevTime || (w.prevTime = Date.now()), w.x = (C.touchesCurrent.x - w.prevPositionX) / (Date.now() - w.prevTime) / 2, w.y = (C.touchesCurrent.y - w.prevPositionY) / (Date.now() - w.prevTime) / 2, Math.abs(C.touchesCurrent.x - w.prevPositionX) < 2 && (w.x = 0), Math.abs(C.touchesCurrent.y - w.prevPositionY) < 2 && (w.y = 0), w.prevPositionX = C.touchesCurrent.x, w.prevPositionY = C.touchesCurrent.y, w.prevTime = Date.now(), S.imageWrapEl.style.transform = `translate3d(${C.currentX}px, ${C.currentY}px,0)`;
976
+ }
977
+ function W() {
978
+ let d2 = t2.zoom;
979
+ if (x.length = 0, !S.imageEl) return;
980
+ if (!C.isTouched || !C.isMoved) {
981
+ C.isTouched = false, C.isMoved = false;
982
+ return;
983
+ }
984
+ C.isTouched = false, C.isMoved = false;
985
+ let f2 = 300, p2 = 300, m2 = w.x * f2, h2 = C.currentX + m2, g2 = w.y * p2, _2 = C.currentY + g2;
986
+ w.x !== 0 && (f2 = Math.abs((h2 - C.currentX) / w.x)), w.y !== 0 && (p2 = Math.abs((_2 - C.currentY) / w.y));
987
+ let v2 = Math.max(f2, p2);
988
+ C.currentX = h2, C.currentY = _2;
989
+ let y2 = C.width * d2.scale, b2 = C.height * d2.scale;
990
+ C.minX = Math.min(S.slideWidth / 2 - y2 / 2, 0), C.maxX = -C.minX, C.minY = Math.min(S.slideHeight / 2 - b2 / 2, 0), C.maxY = -C.minY, C.currentX = Math.max(Math.min(C.currentX, C.maxX), C.minX), C.currentY = Math.max(Math.min(C.currentY, C.maxY), C.minY), S.imageWrapEl.style.transitionDuration = `${v2}ms`, S.imageWrapEl.style.transform = `translate3d(${C.currentX}px, ${C.currentY}px,0)`;
991
+ }
992
+ function G() {
993
+ let d2 = t2.zoom;
994
+ S.slideEl && t2.activeIndex !== t2.slides.indexOf(S.slideEl) && (S.imageEl && (S.imageEl.style.transform = "translate3d(0,0,0) scale(1)"), S.imageWrapEl && (S.imageWrapEl.style.transform = "translate3d(0,0,0)"), S.slideEl.classList.remove(`${t2.params.zoom.zoomedSlideClass}`), d2.scale = 1, h = 1, S.slideEl = void 0, S.imageEl = void 0, S.imageWrapEl = void 0, S.originX = 0, S.originY = 0);
995
+ }
996
+ function K(t3) {
997
+ if (h <= 1 || !S.imageWrapEl || !M(t3) || !N(t3)) return;
998
+ let d2 = m.getComputedStyle(S.imageWrapEl).transform, f2 = new m.DOMMatrix(d2);
999
+ if (!_) {
1000
+ _ = true, v.x = t3.clientX, v.y = t3.clientY, C.startX = f2.e, C.startY = f2.f, C.width = S.imageEl.offsetWidth || S.imageEl.clientWidth, C.height = S.imageEl.offsetHeight || S.imageEl.clientHeight, S.slideWidth = S.slideEl.offsetWidth, S.slideHeight = S.slideEl.offsetHeight;
1001
+ return;
1002
+ }
1003
+ let p2 = (t3.clientX - v.x) * -3, g2 = (t3.clientY - v.y) * -3, y2 = C.width * h, b2 = C.height * h, x2 = S.slideWidth, w2 = S.slideHeight, T = Math.min(x2 / 2 - y2 / 2, 0), E2 = -T, D2 = Math.min(w2 / 2 - b2 / 2, 0), O2 = -D2, k2 = Math.max(Math.min(C.startX + p2, E2), T), A2 = Math.max(Math.min(C.startY + g2, O2), D2);
1004
+ S.imageWrapEl.style.transitionDuration = "0ms", S.imageWrapEl.style.transform = `translate3d(${k2}px, ${A2}px, 0)`, v.x = t3.clientX, v.y = t3.clientY, C.startX = k2, C.startY = A2, C.currentX = k2, C.currentY = A2;
1005
+ }
1006
+ function J(d2) {
1007
+ let f2 = t2.zoom, p2 = t2.params.zoom;
1008
+ if (!S.slideEl) {
1009
+ d2 && d2.target && (S.slideEl = d2.target.closest(`.${t2.params.slideClass}, swiper-slide`)), S.slideEl || (t2.params.virtual && t2.params.virtual.enabled && t2.virtual ? S.slideEl = elementChildren(t2.slidesEl, `.${t2.params.slideActiveClass}`)[0] : S.slideEl = t2.slides[t2.activeIndex]);
1010
+ let f3 = S.slideEl.querySelector(`.${p2.containerClass}`);
1011
+ f3 && (f3 = f3.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]), S.imageEl = f3, f3 ? S.imageWrapEl = elementParents(S.imageEl, `.${p2.containerClass}`)[0] : S.imageWrapEl = void 0;
1012
+ }
1013
+ if (!S.imageEl || !S.imageWrapEl) return;
1014
+ S.maxRatio = O(), t2.params.cssMode && (t2.wrapperEl.style.overflow = "hidden", t2.wrapperEl.style.touchAction = "none"), S.slideEl.classList.add(`${p2.zoomedSlideClass}`);
1015
+ let g2, _2, v2, y2, b2, x2, w2, T, E2, D2, k2, A2, j, M2, N2, P2, F2, I2;
1016
+ C.touchesStart.x === void 0 && d2 ? (g2 = d2.pageX, _2 = d2.pageY) : (g2 = C.touchesStart.x, _2 = C.touchesStart.y);
1017
+ let R2 = h, z2 = typeof d2 == "number" ? d2 : null;
1018
+ h === 1 && z2 && (g2 = void 0, _2 = void 0, C.touchesStart.x = void 0, C.touchesStart.y = void 0);
1019
+ let B2 = O();
1020
+ f2.scale = z2 || B2, h = z2 || B2, d2 && !(h === 1 && z2) ? (F2 = S.slideEl.offsetWidth, I2 = S.slideEl.offsetHeight, v2 = elementOffset(S.slideEl).left + m.scrollX, y2 = elementOffset(S.slideEl).top + m.scrollY, b2 = v2 + F2 / 2 - g2, x2 = y2 + I2 / 2 - _2, E2 = S.imageEl.offsetWidth || S.imageEl.clientWidth, D2 = S.imageEl.offsetHeight || S.imageEl.clientHeight, k2 = E2 * f2.scale, A2 = D2 * f2.scale, j = Math.min(F2 / 2 - k2 / 2, 0), M2 = Math.min(I2 / 2 - A2 / 2, 0), N2 = -j, P2 = -M2, R2 > 0 && z2 && typeof C.currentX == "number" && typeof C.currentY == "number" ? (w2 = C.currentX * f2.scale / R2, T = C.currentY * f2.scale / R2) : (w2 = b2 * f2.scale, T = x2 * f2.scale), w2 < j && (w2 = j), w2 > N2 && (w2 = N2), T < M2 && (T = M2), T > P2 && (T = P2)) : (w2 = 0, T = 0), z2 && f2.scale === 1 && (S.originX = 0, S.originY = 0), C.currentX = w2, C.currentY = T, S.imageWrapEl.style.transitionDuration = "300ms", S.imageWrapEl.style.transform = `translate3d(${w2}px, ${T}px,0)`, S.imageEl.style.transitionDuration = "300ms", S.imageEl.style.transform = `translate3d(0,0,0) scale(${f2.scale})`;
1021
+ }
1022
+ function Y() {
1023
+ let d2 = t2.zoom, f2 = t2.params.zoom;
1024
+ if (!S.slideEl) {
1025
+ t2.params.virtual && t2.params.virtual.enabled && t2.virtual ? S.slideEl = elementChildren(t2.slidesEl, `.${t2.params.slideActiveClass}`)[0] : S.slideEl = t2.slides[t2.activeIndex];
1026
+ let d3 = S.slideEl.querySelector(`.${f2.containerClass}`);
1027
+ d3 && (d3 = d3.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]), S.imageEl = d3, d3 ? S.imageWrapEl = elementParents(S.imageEl, `.${f2.containerClass}`)[0] : S.imageWrapEl = void 0;
1028
+ }
1029
+ !S.imageEl || !S.imageWrapEl || (S.maxRatio = O(), t2.params.cssMode && (t2.wrapperEl.style.overflow = "", t2.wrapperEl.style.touchAction = ""), d2.scale = 1, h = 1, C.currentX = void 0, C.currentY = void 0, C.touchesStart.x = void 0, C.touchesStart.y = void 0, S.imageWrapEl.style.transitionDuration = "300ms", S.imageWrapEl.style.transform = "translate3d(0,0,0)", S.imageEl.style.transitionDuration = "300ms", S.imageEl.style.transform = "translate3d(0,0,0) scale(1)", S.slideEl.classList.remove(`${f2.zoomedSlideClass}`), S.slideEl = void 0, S.originX = 0, S.originY = 0, t2.params.zoom.panOnMouseMove && (v = {
1030
+ x: 0,
1031
+ y: 0
1032
+ }, _ && (_ = false, C.startX = 0, C.startY = 0)));
1033
+ }
1034
+ function X(d2) {
1035
+ let f2 = t2.zoom;
1036
+ f2.scale && f2.scale !== 1 ? Y() : J(d2);
1037
+ }
1038
+ function Z() {
1039
+ return {
1040
+ passiveListener: t2.params.passiveListeners ? {
1041
+ passive: true,
1042
+ capture: false
1043
+ } : false,
1044
+ activeListenerWithCapture: t2.params.passiveListeners ? {
1045
+ passive: false,
1046
+ capture: true
1047
+ } : true
1048
+ };
1049
+ }
1050
+ function Q() {
1051
+ let d2 = t2.zoom;
1052
+ if (d2.enabled) return;
1053
+ d2.enabled = true;
1054
+ let { passiveListener: f2, activeListenerWithCapture: p2 } = Z();
1055
+ t2.wrapperEl.addEventListener("pointerdown", P, f2), t2.wrapperEl.addEventListener("pointermove", F, p2), [
1056
+ "pointerup",
1057
+ "pointercancel",
1058
+ "pointerout"
1059
+ ].forEach((d3) => {
1060
+ t2.wrapperEl.addEventListener(d3, I, f2);
1061
+ }), t2.wrapperEl.addEventListener("pointermove", U, p2);
1062
+ }
1063
+ function $() {
1064
+ let d2 = t2.zoom;
1065
+ if (!d2.enabled) return;
1066
+ d2.enabled = false;
1067
+ let { passiveListener: f2, activeListenerWithCapture: p2 } = Z();
1068
+ t2.wrapperEl.removeEventListener("pointerdown", P, f2), t2.wrapperEl.removeEventListener("pointermove", F, p2), [
1069
+ "pointerup",
1070
+ "pointercancel",
1071
+ "pointerout"
1072
+ ].forEach((d3) => {
1073
+ t2.wrapperEl.removeEventListener(d3, I, f2);
1074
+ }), t2.wrapperEl.removeEventListener("pointermove", U, p2);
1075
+ }
1076
+ f("init", () => {
1077
+ t2.params.zoom.enabled && Q();
1078
+ }), f("destroy", () => {
1079
+ $();
1080
+ }), f("touchStart", (d2, f2) => {
1081
+ t2.zoom.enabled && V(f2);
1082
+ }), f("touchEnd", (d2, f2) => {
1083
+ t2.zoom.enabled && W();
1084
+ }), f("doubleTap", (d2, f2) => {
1085
+ !t2.animating && t2.params.zoom.enabled && t2.zoom.enabled && t2.params.zoom.toggle && X(f2);
1086
+ }), f("transitionEnd", () => {
1087
+ t2.zoom.enabled && t2.params.zoom.enabled && G();
1088
+ }), f("slideChange", () => {
1089
+ t2.zoom.enabled && t2.params.zoom.enabled && t2.params.cssMode && G();
1090
+ }), Object.assign(t2.zoom, {
1091
+ enable: Q,
1092
+ disable: $,
1093
+ in: J,
1094
+ out: Y,
1095
+ toggle: X
1096
+ });
1097
+ }
1098
+ var support;
1099
+ function calcSupport() {
1100
+ let t2 = getWindow(), d = getDocument();
1101
+ return {
1102
+ smoothScroll: d.documentElement && d.documentElement.style && "scrollBehavior" in d.documentElement.style,
1103
+ touch: !!("ontouchstart" in t2 || t2.DocumentTouch && d instanceof t2.DocumentTouch)
1104
+ };
1105
+ }
1106
+ function getSupport() {
1107
+ return support || (support = calcSupport()), support;
1108
+ }
1109
+ var deviceCached;
1110
+ function calcDevice({ userAgent: t2 } = {}) {
1111
+ let d = getSupport(), f = getWindow(), p = f.navigator.platform, m = t2 || f.navigator.userAgent, h = {
1112
+ ios: false,
1113
+ android: false
1114
+ }, g = f.screen.width, _ = f.screen.height, v = m.match(/(Android);?[\s\/]+([\d.]+)?/), y = m.match(/(iPad)(?!\1).*OS\s([\d_]+)/), b = m.match(/(iPod)(.*OS\s([\d_]+))?/), x = !y && m.match(/(iPhone\sOS|iOS)\s([\d_]+)/), S = p === "Win32", C = p === "MacIntel";
1115
+ return !y && C && d.touch && [
1116
+ "1024x1366",
1117
+ "1366x1024",
1118
+ "834x1194",
1119
+ "1194x834",
1120
+ "834x1112",
1121
+ "1112x834",
1122
+ "768x1024",
1123
+ "1024x768",
1124
+ "820x1180",
1125
+ "1180x820",
1126
+ "810x1080",
1127
+ "1080x810"
1128
+ ].indexOf(`${g}x${_}`) >= 0 && (y = m.match(/(Version)\/([\d.]+)/), y || (y = [
1129
+ 0,
1130
+ 1,
1131
+ "13_0_0"
1132
+ ]), C = false), v && !S && (h.os = "android", h.android = true), (y || x || b) && (h.os = "ios", h.ios = true), h;
1133
+ }
1134
+ function getDevice(t2 = {}) {
1135
+ return deviceCached || (deviceCached = calcDevice(t2)), deviceCached;
1136
+ }
1137
+ var browser;
1138
+ function calcBrowser() {
1139
+ let t2 = getWindow(), d = getDevice(), f = false;
1140
+ function p() {
1141
+ let d2 = t2.navigator.userAgent.toLowerCase();
1142
+ return d2.indexOf("safari") >= 0 && d2.indexOf("chrome") < 0 && d2.indexOf("android") < 0;
1143
+ }
1144
+ if (p()) {
1145
+ let d2 = String(t2.navigator.userAgent);
1146
+ if (d2.includes("Version/")) {
1147
+ let [t3, p2] = d2.split("Version/")[1].split(" ")[0].split(".").map((t4) => Number(t4));
1148
+ f = t3 < 16 || t3 === 16 && p2 < 2;
1149
+ }
1150
+ }
1151
+ let m = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(t2.navigator.userAgent), h = p(), g = h || m && d.ios;
1152
+ return {
1153
+ isSafari: f || h,
1154
+ needPerspectiveFix: f,
1155
+ need3dFix: g,
1156
+ isWebView: m
1157
+ };
1158
+ }
1159
+ function getBrowser() {
1160
+ return browser || (browser = calcBrowser()), browser;
1161
+ }
1162
+ function Resize({ swiper: t2, on: d, emit: f }) {
1163
+ let p = getWindow(), m = null, h = null, g = () => {
1164
+ !t2 || t2.destroyed || !t2.initialized || (f("beforeResize"), f("resize"));
1165
+ }, _ = () => {
1166
+ !t2 || t2.destroyed || !t2.initialized || (m = new ResizeObserver((d2) => {
1167
+ h = p.requestAnimationFrame(() => {
1168
+ let { width: f2, height: p2 } = t2, m2 = f2, h2 = p2;
1169
+ d2.forEach(({ contentBoxSize: d3, contentRect: f3, target: p3 }) => {
1170
+ p3 && p3 !== t2.el || (m2 = f3 ? f3.width : (d3[0] || d3).inlineSize, h2 = f3 ? f3.height : (d3[0] || d3).blockSize);
1171
+ }), (m2 !== f2 || h2 !== p2) && g();
1172
+ });
1173
+ }), m.observe(t2.el));
1174
+ }, v = () => {
1175
+ h && p.cancelAnimationFrame(h), m && m.unobserve && t2.el && (m.unobserve(t2.el), m = null);
1176
+ }, y = () => {
1177
+ !t2 || t2.destroyed || !t2.initialized || f("orientationchange");
1178
+ };
1179
+ d("init", () => {
1180
+ if (t2.params.resizeObserver && p.ResizeObserver !== void 0) {
1181
+ _();
1182
+ return;
1183
+ }
1184
+ p.addEventListener("resize", g), p.addEventListener("orientationchange", y);
1185
+ }), d("destroy", () => {
1186
+ v(), p.removeEventListener("resize", g), p.removeEventListener("orientationchange", y);
1187
+ });
1188
+ }
1189
+ function Observer({ swiper: t2, extendParams: d, on: f, emit: p }) {
1190
+ let m = [], h = getWindow(), g = (d2, f2 = {}) => {
1191
+ let g2 = new (h.MutationObserver || h.WebkitMutationObserver)((d3) => {
1192
+ if (t2.__preventObserver__) return;
1193
+ if (d3.length === 1) {
1194
+ p("observerUpdate", d3[0]);
1195
+ return;
1196
+ }
1197
+ let f3 = function() {
1198
+ p("observerUpdate", d3[0]);
1199
+ };
1200
+ h.requestAnimationFrame ? h.requestAnimationFrame(f3) : h.setTimeout(f3, 0);
1201
+ });
1202
+ g2.observe(d2, {
1203
+ attributes: f2.attributes === void 0 ? true : f2.attributes,
1204
+ childList: t2.isElement || (f2.childList === void 0 ? true : f2).childList,
1205
+ characterData: f2.characterData === void 0 ? true : f2.characterData
1206
+ }), m.push(g2);
1207
+ };
1208
+ d({
1209
+ observer: false,
1210
+ observeParents: false,
1211
+ observeSlideChildren: false
1212
+ }), f("init", () => {
1213
+ if (t2.params.observer) {
1214
+ if (t2.params.observeParents) {
1215
+ let d2 = elementParents(t2.hostEl);
1216
+ for (let t3 = 0; t3 < d2.length; t3 += 1) g(d2[t3]);
1217
+ }
1218
+ g(t2.hostEl, { childList: t2.params.observeSlideChildren }), g(t2.wrapperEl, { attributes: false });
1219
+ }
1220
+ }), f("destroy", () => {
1221
+ m.forEach((t3) => {
1222
+ t3.disconnect();
1223
+ }), m.splice(0, m.length);
1224
+ });
1225
+ }
1226
+ var eventsEmitter = {
1227
+ on(t2, d, f) {
1228
+ let p = this;
1229
+ if (!p.eventsListeners || p.destroyed || typeof d != "function") return p;
1230
+ let m = f ? "unshift" : "push";
1231
+ return t2.split(" ").forEach((t3) => {
1232
+ p.eventsListeners[t3] || (p.eventsListeners[t3] = []), p.eventsListeners[t3][m](d);
1233
+ }), p;
1234
+ },
1235
+ once(t2, d, f) {
1236
+ let p = this;
1237
+ if (!p.eventsListeners || p.destroyed || typeof d != "function") return p;
1238
+ function m(...f2) {
1239
+ p.off(t2, m), m.__emitterProxy && delete m.__emitterProxy, d.apply(p, f2);
1240
+ }
1241
+ return m.__emitterProxy = d, p.on(t2, m, f);
1242
+ },
1243
+ onAny(t2, d) {
1244
+ let f = this;
1245
+ if (!f.eventsListeners || f.destroyed || typeof t2 != "function") return f;
1246
+ let p = d ? "unshift" : "push";
1247
+ return f.eventsAnyListeners.indexOf(t2) < 0 && f.eventsAnyListeners[p](t2), f;
1248
+ },
1249
+ offAny(t2) {
1250
+ let d = this;
1251
+ if (!d.eventsListeners || d.destroyed || !d.eventsAnyListeners) return d;
1252
+ let f = d.eventsAnyListeners.indexOf(t2);
1253
+ return f >= 0 && d.eventsAnyListeners.splice(f, 1), d;
1254
+ },
1255
+ off(t2, d) {
1256
+ let f = this;
1257
+ return !f.eventsListeners || f.destroyed || !f.eventsListeners || t2.split(" ").forEach((t3) => {
1258
+ d === void 0 ? f.eventsListeners[t3] = [] : f.eventsListeners[t3] && f.eventsListeners[t3].forEach((p, m) => {
1259
+ (p === d || p.__emitterProxy && p.__emitterProxy === d) && f.eventsListeners[t3].splice(m, 1);
1260
+ });
1261
+ }), f;
1262
+ },
1263
+ emit(...t2) {
1264
+ let d = this;
1265
+ if (!d.eventsListeners || d.destroyed || !d.eventsListeners) return d;
1266
+ let f, p, m;
1267
+ return typeof t2[0] == "string" || Array.isArray(t2[0]) ? (f = t2[0], p = t2.slice(1, t2.length), m = d) : (f = t2[0].events, p = t2[0].data, m = t2[0].context || d), p.unshift(m), (Array.isArray(f) ? f : f.split(" ")).forEach((t3) => {
1268
+ d.eventsAnyListeners && d.eventsAnyListeners.length && d.eventsAnyListeners.forEach((d2) => {
1269
+ d2.apply(m, [t3, ...p]);
1270
+ }), d.eventsListeners && d.eventsListeners[t3] && d.eventsListeners[t3].forEach((t4) => {
1271
+ t4.apply(m, p);
1272
+ });
1273
+ }), d;
1274
+ }
1275
+ };
1276
+ function updateSize() {
1277
+ let t2 = this, d, f, p = t2.el;
1278
+ d = t2.params.width !== void 0 && t2.params.width !== null ? t2.params.width : p.clientWidth, f = t2.params.height !== void 0 && t2.params.height !== null ? t2.params.height : p.clientHeight, !(d === 0 && t2.isHorizontal() || f === 0 && t2.isVertical()) && (d = d - parseInt(elementStyle(p, "padding-left") || 0, 10) - parseInt(elementStyle(p, "padding-right") || 0, 10), f = f - parseInt(elementStyle(p, "padding-top") || 0, 10) - parseInt(elementStyle(p, "padding-bottom") || 0, 10), Number.isNaN(d) && (d = 0), Number.isNaN(f) && (f = 0), Object.assign(t2, {
1279
+ width: d,
1280
+ height: f,
1281
+ size: t2.isHorizontal() ? d : f
1282
+ }));
1283
+ }
1284
+ function updateSlides() {
1285
+ let t2 = this;
1286
+ function d(d2, f2) {
1287
+ return parseFloat(d2.getPropertyValue(t2.getDirectionLabel(f2)) || 0);
1288
+ }
1289
+ let f = t2.params, { wrapperEl: p, slidesEl: m, rtlTranslate: h, wrongRTL: g } = t2, _ = t2.virtual && f.virtual.enabled, v = _ ? t2.virtual.slides.length : t2.slides.length, y = elementChildren(m, `.${t2.params.slideClass}, swiper-slide`), b = _ ? t2.virtual.slides.length : y.length, x = [], S = [], C = [], w = f.slidesOffsetBefore;
1290
+ typeof w == "function" && (w = f.slidesOffsetBefore.call(t2));
1291
+ let T = f.slidesOffsetAfter;
1292
+ typeof T == "function" && (T = f.slidesOffsetAfter.call(t2));
1293
+ let E = t2.snapGrid.length, D = t2.slidesGrid.length, O = t2.size - w - T, k = f.spaceBetween, A = -w, j = 0, M = 0;
1294
+ if (O === void 0) return;
1295
+ typeof k == "string" && k.indexOf("%") >= 0 ? k = parseFloat(k.replace("%", "")) / 100 * O : typeof k == "string" && (k = parseFloat(k)), t2.virtualSize = -k - w - T, y.forEach((t3) => {
1296
+ h ? t3.style.marginLeft = "" : t3.style.marginRight = "", t3.style.marginBottom = "", t3.style.marginTop = "";
1297
+ }), f.centeredSlides && f.cssMode && (setCSSProperty(p, "--swiper-centered-offset-before", ""), setCSSProperty(p, "--swiper-centered-offset-after", "")), f.cssMode && (setCSSProperty(p, "--swiper-slides-offset-before", `${w}px`), setCSSProperty(p, "--swiper-slides-offset-after", `${T}px`));
1298
+ let N = f.grid && f.grid.rows > 1 && t2.grid;
1299
+ N ? t2.grid.initSlides(y) : t2.grid && t2.grid.unsetSlides();
1300
+ let P, I = f.slidesPerView === "auto" && f.breakpoints && Object.keys(f.breakpoints).filter((t3) => f.breakpoints[t3].slidesPerView !== void 0).length > 0;
1301
+ for (let p2 = 0; p2 < b; p2 += 1) {
1302
+ P = 0;
1303
+ let m2 = y[p2];
1304
+ if (!(m2 && (N && t2.grid.updateSlide(p2, m2, y), elementStyle(m2, "display") === "none"))) {
1305
+ if (_ && f.slidesPerView === "auto") f.virtual.slidesPerViewAutoSlideSize && (P = f.virtual.slidesPerViewAutoSlideSize), P && m2 && (f.roundLengths && (P = Math.floor(P)), m2.style[t2.getDirectionLabel("width")] = `${P}px`);
1306
+ else if (f.slidesPerView === "auto") {
1307
+ I && (m2.style[t2.getDirectionLabel("width")] = "");
1308
+ let p3 = getComputedStyle(m2), h2 = m2.style.transform, g2 = m2.style.webkitTransform;
1309
+ if (h2 && (m2.style.transform = "none"), g2 && (m2.style.webkitTransform = "none"), f.roundLengths) P = t2.isHorizontal() ? elementOuterSize(m2, "width", true) : elementOuterSize(m2, "height", true);
1310
+ else {
1311
+ let t3 = d(p3, "width"), f2 = d(p3, "padding-left"), h3 = d(p3, "padding-right"), g3 = d(p3, "margin-left"), _2 = d(p3, "margin-right"), v2 = p3.getPropertyValue("box-sizing");
1312
+ if (v2 && v2 === "border-box") P = t3 + g3 + _2;
1313
+ else {
1314
+ let { clientWidth: d2, offsetWidth: p4 } = m2;
1315
+ P = t3 + f2 + h3 + g3 + _2 + (p4 - d2);
1316
+ }
1317
+ }
1318
+ h2 && (m2.style.transform = h2), g2 && (m2.style.webkitTransform = g2), f.roundLengths && (P = Math.floor(P));
1319
+ } else P = (O - (f.slidesPerView - 1) * k) / f.slidesPerView, f.roundLengths && (P = Math.floor(P)), m2 && (m2.style[t2.getDirectionLabel("width")] = `${P}px`);
1320
+ m2 && (m2.swiperSlideSize = P), C.push(P), f.centeredSlides ? (A = A + P / 2 + j / 2 + k, j === 0 && p2 !== 0 && (A = A - O / 2 - k), p2 === 0 && (A = A - O / 2 - k), Math.abs(A) < 1 / 1e3 && (A = 0), f.roundLengths && (A = Math.floor(A)), M % f.slidesPerGroup === 0 && x.push(A), S.push(A)) : (f.roundLengths && (A = Math.floor(A)), (M - Math.min(t2.params.slidesPerGroupSkip, M)) % t2.params.slidesPerGroup === 0 && x.push(A), S.push(A), A = A + P + k), t2.virtualSize += P + k, j = P, M += 1;
1321
+ }
1322
+ }
1323
+ if (t2.virtualSize = Math.max(t2.virtualSize, O) + T, h && g && (f.effect === "slide" || f.effect === "coverflow") && (p.style.width = `${t2.virtualSize + k}px`), f.setWrapperSize && (p.style[t2.getDirectionLabel("width")] = `${t2.virtualSize + k}px`), N && t2.grid.updateWrapperSize(P, x), !f.centeredSlides) {
1324
+ let d2 = f.slidesPerView !== "auto" && f.slidesPerView % 1 != 0, p2 = f.snapToSlideEdge && !f.loop && (f.slidesPerView === "auto" || d2), m2 = x.length;
1325
+ if (p2) {
1326
+ let t3;
1327
+ if (f.slidesPerView === "auto") {
1328
+ t3 = 1;
1329
+ let d3 = 0;
1330
+ for (let f2 = C.length - 1; f2 >= 0 && (d3 += C[f2] + (f2 < C.length - 1 ? k : 0), d3 <= O); --f2) t3 = C.length - f2;
1331
+ } else t3 = Math.floor(f.slidesPerView);
1332
+ m2 = Math.max(b - t3, 0);
1333
+ }
1334
+ let h2 = [];
1335
+ for (let d3 = 0; d3 < x.length; d3 += 1) {
1336
+ let g2 = x[d3];
1337
+ f.roundLengths && (g2 = Math.floor(g2)), p2 ? d3 <= m2 && h2.push(g2) : x[d3] <= t2.virtualSize - O && h2.push(g2);
1338
+ }
1339
+ x = h2, Math.floor(t2.virtualSize - O) - Math.floor(x[x.length - 1]) > 1 && (p2 || x.push(t2.virtualSize - O));
1340
+ }
1341
+ if (_ && f.loop) {
1342
+ let d2 = C[0] + k;
1343
+ if (f.slidesPerGroup > 1) {
1344
+ let p2 = Math.ceil((t2.virtual.slidesBefore + t2.virtual.slidesAfter) / f.slidesPerGroup), m2 = d2 * f.slidesPerGroup;
1345
+ for (let t3 = 0; t3 < p2; t3 += 1) x.push(x[x.length - 1] + m2);
1346
+ }
1347
+ for (let p2 = 0; p2 < t2.virtual.slidesBefore + t2.virtual.slidesAfter; p2 += 1) f.slidesPerGroup === 1 && x.push(x[x.length - 1] + d2), S.push(S[S.length - 1] + d2), t2.virtualSize += d2;
1348
+ }
1349
+ if (x.length === 0 && (x = [0]), k !== 0) {
1350
+ let d2 = t2.isHorizontal() && h ? "marginLeft" : t2.getDirectionLabel("marginRight");
1351
+ y.filter((t3, d3) => !f.cssMode || f.loop ? true : d3 !== y.length - 1).forEach((t3) => {
1352
+ t3.style[d2] = `${k}px`;
1353
+ });
1354
+ }
1355
+ if (f.centeredSlides && f.centeredSlidesBounds) {
1356
+ let t3 = 0;
1357
+ C.forEach((d3) => {
1358
+ t3 += d3 + (k || 0);
1359
+ }), t3 -= k;
1360
+ let d2 = t3 > O ? t3 - O : 0;
1361
+ x = x.map((t4) => t4 <= 0 ? -w : t4 > d2 ? d2 + T : t4);
1362
+ }
1363
+ if (f.centerInsufficientSlides) {
1364
+ let t3 = 0;
1365
+ if (C.forEach((d2) => {
1366
+ t3 += d2 + (k || 0);
1367
+ }), t3 -= k, t3 < O) {
1368
+ let d2 = (O - t3) / 2;
1369
+ x.forEach((t4, f2) => {
1370
+ x[f2] = t4 - d2;
1371
+ }), S.forEach((t4, f2) => {
1372
+ S[f2] = t4 + d2;
1373
+ });
1374
+ }
1375
+ }
1376
+ if (Object.assign(t2, {
1377
+ slides: y,
1378
+ snapGrid: x,
1379
+ slidesGrid: S,
1380
+ slidesSizesGrid: C
1381
+ }), f.centeredSlides && f.cssMode && !f.centeredSlidesBounds) {
1382
+ setCSSProperty(p, "--swiper-centered-offset-before", `${-x[0]}px`), setCSSProperty(p, "--swiper-centered-offset-after", `${t2.size / 2 - C[C.length - 1] / 2}px`);
1383
+ let d2 = -t2.snapGrid[0], f2 = -t2.slidesGrid[0];
1384
+ t2.snapGrid = t2.snapGrid.map((t3) => t3 + d2), t2.slidesGrid = t2.slidesGrid.map((t3) => t3 + f2);
1385
+ }
1386
+ if (b !== v && t2.emit("slidesLengthChange"), x.length !== E && (t2.params.watchOverflow && t2.checkOverflow(), t2.emit("snapGridLengthChange")), S.length !== D && t2.emit("slidesGridLengthChange"), f.watchSlidesProgress && t2.updateSlidesOffset(), t2.emit("slidesUpdated"), !_ && !f.cssMode && (f.effect === "slide" || f.effect === "fade")) {
1387
+ let d2 = `${f.containerModifierClass}backface-hidden`, p2 = t2.el.classList.contains(d2);
1388
+ b <= f.maxBackfaceHiddenSlides ? p2 || t2.el.classList.add(d2) : p2 && t2.el.classList.remove(d2);
1389
+ }
1390
+ }
1391
+ function updateAutoHeight(t2) {
1392
+ let d = this, f = [], p = d.virtual && d.params.virtual.enabled, m = 0, h;
1393
+ typeof t2 == "number" ? d.setTransition(t2) : t2 === true && d.setTransition(d.params.speed);
1394
+ let g = (t3) => p ? d.slides[d.getSlideIndexByData(t3)] : d.slides[t3];
1395
+ if (d.params.slidesPerView !== "auto" && d.params.slidesPerView > 1) if (d.params.centeredSlides) (d.visibleSlides || []).forEach((t3) => {
1396
+ f.push(t3);
1397
+ });
1398
+ else for (h = 0; h < Math.ceil(d.params.slidesPerView); h += 1) {
1399
+ let t3 = d.activeIndex + h;
1400
+ if (t3 > d.slides.length && !p) break;
1401
+ f.push(g(t3));
1402
+ }
1403
+ else f.push(g(d.activeIndex));
1404
+ for (h = 0; h < f.length; h += 1) if (f[h] !== void 0) {
1405
+ let t3 = f[h].offsetHeight;
1406
+ m = t3 > m ? t3 : m;
1407
+ }
1408
+ (m || m === 0) && (d.wrapperEl.style.height = `${m}px`);
1409
+ }
1410
+ function updateSlidesOffset() {
1411
+ let t2 = this, d = t2.slides, f = t2.isElement ? t2.isHorizontal() ? t2.wrapperEl.offsetLeft : t2.wrapperEl.offsetTop : 0;
1412
+ for (let p = 0; p < d.length; p += 1) d[p].swiperSlideOffset = (t2.isHorizontal() ? d[p].offsetLeft : d[p].offsetTop) - f - t2.cssOverflowAdjustment();
1413
+ }
1414
+ var toggleSlideClasses$1 = (t2, d, f) => {
1415
+ d && !t2.classList.contains(f) ? t2.classList.add(f) : !d && t2.classList.contains(f) && t2.classList.remove(f);
1416
+ };
1417
+ function updateSlidesProgress(t2 = this && this.translate || 0) {
1418
+ let d = this, f = d.params, { slides: p, rtlTranslate: m, snapGrid: h } = d;
1419
+ if (p.length === 0) return;
1420
+ p[0].swiperSlideOffset === void 0 && d.updateSlidesOffset();
1421
+ let g = -t2;
1422
+ m && (g = t2), d.visibleSlidesIndexes = [], d.visibleSlides = [];
1423
+ let _ = f.spaceBetween;
1424
+ typeof _ == "string" && _.indexOf("%") >= 0 ? _ = parseFloat(_.replace("%", "")) / 100 * d.size : typeof _ == "string" && (_ = parseFloat(_));
1425
+ for (let t3 = 0; t3 < p.length; t3 += 1) {
1426
+ let v = p[t3], y = v.swiperSlideOffset;
1427
+ f.cssMode && f.centeredSlides && (y -= p[0].swiperSlideOffset);
1428
+ let b = (g + (f.centeredSlides ? d.minTranslate() : 0) - y) / (v.swiperSlideSize + _), x = (g - h[0] + (f.centeredSlides ? d.minTranslate() : 0) - y) / (v.swiperSlideSize + _), S = -(g - y), C = S + d.slidesSizesGrid[t3], w = S >= 0 && S <= d.size - d.slidesSizesGrid[t3], T = S >= 0 && S < d.size - 1 || C > 1 && C <= d.size || S <= 0 && C >= d.size;
1429
+ T && (d.visibleSlides.push(v), d.visibleSlidesIndexes.push(t3)), toggleSlideClasses$1(v, T, f.slideVisibleClass), toggleSlideClasses$1(v, w, f.slideFullyVisibleClass), v.progress = m ? -b : b, v.originalProgress = m ? -x : x;
1430
+ }
1431
+ }
1432
+ function updateProgress(t2) {
1433
+ let d = this;
1434
+ if (t2 === void 0) {
1435
+ let f2 = d.rtlTranslate ? -1 : 1;
1436
+ t2 = d && d.translate && d.translate * f2 || 0;
1437
+ }
1438
+ let f = d.params, p = d.maxTranslate() - d.minTranslate(), { progress: m, isBeginning: h, isEnd: g, progressLoop: _ } = d, v = h, y = g;
1439
+ if (p === 0) m = 0, h = true, g = true;
1440
+ else {
1441
+ m = (t2 - d.minTranslate()) / p;
1442
+ let f2 = Math.abs(t2 - d.minTranslate()) < 1, _2 = Math.abs(t2 - d.maxTranslate()) < 1;
1443
+ h = f2 || m <= 0, g = _2 || m >= 1, f2 && (m = 0), _2 && (m = 1);
1444
+ }
1445
+ if (f.loop) {
1446
+ let f2 = d.getSlideIndexByData(0), p2 = d.getSlideIndexByData(d.slides.length - 1), m2 = d.slidesGrid[f2], h2 = d.slidesGrid[p2], g2 = d.slidesGrid[d.slidesGrid.length - 1], v2 = Math.abs(t2);
1447
+ _ = v2 >= m2 ? (v2 - m2) / g2 : (v2 + g2 - h2) / g2, _ > 1 && --_;
1448
+ }
1449
+ Object.assign(d, {
1450
+ progress: m,
1451
+ progressLoop: _,
1452
+ isBeginning: h,
1453
+ isEnd: g
1454
+ }), (f.watchSlidesProgress || f.centeredSlides && f.autoHeight) && d.updateSlidesProgress(t2), h && !v && d.emit("reachBeginning toEdge"), g && !y && d.emit("reachEnd toEdge"), (v && !h || y && !g) && d.emit("fromEdge"), d.emit("progress", m);
1455
+ }
1456
+ var toggleSlideClasses = (t2, d, f) => {
1457
+ d && !t2.classList.contains(f) ? t2.classList.add(f) : !d && t2.classList.contains(f) && t2.classList.remove(f);
1458
+ };
1459
+ function updateSlidesClasses() {
1460
+ let t2 = this, { slides: d, params: f, slidesEl: p, activeIndex: m } = t2, h = t2.virtual && f.virtual.enabled, g = t2.grid && f.grid && f.grid.rows > 1, _ = (t3) => elementChildren(p, `.${f.slideClass}${t3}, swiper-slide${t3}`)[0], v, y, b;
1461
+ if (h) if (f.loop) {
1462
+ let d2 = m - t2.virtual.slidesBefore;
1463
+ d2 < 0 && (d2 = t2.virtual.slides.length + d2), d2 >= t2.virtual.slides.length && (d2 -= t2.virtual.slides.length), v = _(`[data-swiper-slide-index="${d2}"]`);
1464
+ } else v = _(`[data-swiper-slide-index="${m}"]`);
1465
+ else g ? (v = d.find((t3) => t3.column === m), b = d.find((t3) => t3.column === m + 1), y = d.find((t3) => t3.column === m - 1)) : v = d[m];
1466
+ v && (g || (b = elementNextAll(v, `.${f.slideClass}, swiper-slide`)[0], f.loop && !b && (b = d[0]), y = elementPrevAll(v, `.${f.slideClass}, swiper-slide`)[0], f.loop)), d.forEach((t3) => {
1467
+ toggleSlideClasses(t3, t3 === v, f.slideActiveClass), toggleSlideClasses(t3, t3 === b, f.slideNextClass), toggleSlideClasses(t3, t3 === y, f.slidePrevClass);
1468
+ }), t2.emitSlidesClasses();
1469
+ }
1470
+ var processLazyPreloader = (t2, d) => {
1471
+ if (!t2 || t2.destroyed || !t2.params) return;
1472
+ let f = d.closest((() => t2.isElement ? "swiper-slide" : `.${t2.params.slideClass}`)());
1473
+ if (f) {
1474
+ let d2 = f.querySelector(`.${t2.params.lazyPreloaderClass}`);
1475
+ !d2 && t2.isElement && (f.shadowRoot ? d2 = f.shadowRoot.querySelector(`.${t2.params.lazyPreloaderClass}`) : requestAnimationFrame(() => {
1476
+ f.shadowRoot && (d2 = f.shadowRoot.querySelector(`.${t2.params.lazyPreloaderClass}`), d2 && !d2.lazyPreloaderManaged && d2.remove());
1477
+ })), d2 && !d2.lazyPreloaderManaged && d2.remove();
1478
+ }
1479
+ }, unlazy = (t2, d) => {
1480
+ if (!t2.slides[d]) return;
1481
+ let f = t2.slides[d].querySelector('[loading="lazy"]');
1482
+ f && f.removeAttribute("loading");
1483
+ }, preload = (t2) => {
1484
+ if (!t2 || t2.destroyed || !t2.params) return;
1485
+ let d = t2.params.lazyPreloadPrevNext, f = t2.slides.length;
1486
+ if (!f || !d || d < 0) return;
1487
+ d = Math.min(d, f);
1488
+ let p = t2.params.slidesPerView === "auto" ? t2.slidesPerViewDynamic() : Math.ceil(t2.params.slidesPerView), m = t2.activeIndex;
1489
+ if (t2.params.grid && t2.params.grid.rows > 1) {
1490
+ let f2 = m, h2 = [f2 - d];
1491
+ h2.push(...Array.from({ length: d }).map((t3, d2) => f2 + p + d2)), t2.slides.forEach((d2, f3) => {
1492
+ h2.includes(d2.column) && unlazy(t2, f3);
1493
+ });
1494
+ return;
1495
+ }
1496
+ let h = m + p - 1;
1497
+ if (t2.params.rewind || t2.params.loop) for (let p2 = m - d; p2 <= h + d; p2 += 1) {
1498
+ let d2 = (p2 % f + f) % f;
1499
+ (d2 < m || d2 > h) && unlazy(t2, d2);
1500
+ }
1501
+ else for (let p2 = Math.max(m - d, 0); p2 <= Math.min(h + d, f - 1); p2 += 1) p2 !== m && (p2 > h || p2 < m) && unlazy(t2, p2);
1502
+ };
1503
+ function getActiveIndexByTranslate(t2) {
1504
+ let { slidesGrid: d, params: f } = t2, p = t2.rtlTranslate ? t2.translate : -t2.translate, m;
1505
+ for (let t3 = 0; t3 < d.length; t3 += 1) d[t3 + 1] === void 0 ? p >= d[t3] && (m = t3) : p >= d[t3] && p < d[t3 + 1] - (d[t3 + 1] - d[t3]) / 2 ? m = t3 : p >= d[t3] && p < d[t3 + 1] && (m = t3 + 1);
1506
+ return f.normalizeSlideIndex && (m < 0 || m === void 0) && (m = 0), m;
1507
+ }
1508
+ function updateActiveIndex(t2) {
1509
+ let d = this, f = d.rtlTranslate ? d.translate : -d.translate, { snapGrid: p, params: m, activeIndex: h, realIndex: g, snapIndex: _ } = d, v = t2, y, b = (t3) => {
1510
+ let f2 = t3 - d.virtual.slidesBefore;
1511
+ return f2 < 0 && (f2 = d.virtual.slides.length + f2), f2 >= d.virtual.slides.length && (f2 -= d.virtual.slides.length), f2;
1512
+ };
1513
+ if (v === void 0 && (v = getActiveIndexByTranslate(d)), p.indexOf(f) >= 0) y = p.indexOf(f);
1514
+ else {
1515
+ let t3 = Math.min(m.slidesPerGroupSkip, v);
1516
+ y = t3 + Math.floor((v - t3) / m.slidesPerGroup);
1517
+ }
1518
+ if (y >= p.length && (y = p.length - 1), v === h && !d.params.loop) {
1519
+ y !== _ && (d.snapIndex = y, d.emit("snapIndexChange"));
1520
+ return;
1521
+ }
1522
+ if (v === h && d.params.loop && d.virtual && d.params.virtual.enabled) {
1523
+ d.realIndex = b(v);
1524
+ return;
1525
+ }
1526
+ let x = d.grid && m.grid && m.grid.rows > 1, S;
1527
+ if (d.virtual && m.virtual.enabled) S = m.loop ? b(v) : v;
1528
+ else if (x) {
1529
+ let t3 = d.slides.find((t4) => t4.column === v), f2 = parseInt(t3.getAttribute("data-swiper-slide-index"), 10);
1530
+ Number.isNaN(f2) && (f2 = Math.max(d.slides.indexOf(t3), 0)), S = Math.floor(f2 / m.grid.rows);
1531
+ } else if (d.slides[v]) {
1532
+ let t3 = d.slides[v].getAttribute("data-swiper-slide-index");
1533
+ S = t3 ? parseInt(t3, 10) : v;
1534
+ } else S = v;
1535
+ Object.assign(d, {
1536
+ previousSnapIndex: _,
1537
+ snapIndex: y,
1538
+ previousRealIndex: g,
1539
+ realIndex: S,
1540
+ previousIndex: h,
1541
+ activeIndex: v
1542
+ }), d.initialized && preload(d), d.emit("activeIndexChange"), d.emit("snapIndexChange"), (d.initialized || d.params.runCallbacksOnInit) && (g !== S && d.emit("realIndexChange"), d.emit("slideChange"));
1543
+ }
1544
+ function updateClickedSlide(t2, d) {
1545
+ let f = this, p = f.params, m = t2.closest(`.${p.slideClass}, swiper-slide`);
1546
+ !m && f.isElement && d && d.length > 1 && d.includes(t2) && [...d.slice(d.indexOf(t2) + 1, d.length)].forEach((t3) => {
1547
+ !m && t3.matches && t3.matches(`.${p.slideClass}, swiper-slide`) && (m = t3);
1548
+ });
1549
+ let h = false, g;
1550
+ if (m) {
1551
+ for (let t3 = 0; t3 < f.slides.length; t3 += 1) if (f.slides[t3] === m) {
1552
+ h = true, g = t3;
1553
+ break;
1554
+ }
1555
+ }
1556
+ if (m && h) f.clickedSlide = m, f.virtual && f.params.virtual.enabled ? f.clickedIndex = parseInt(m.getAttribute("data-swiper-slide-index"), 10) : f.clickedIndex = g;
1557
+ else {
1558
+ f.clickedSlide = void 0, f.clickedIndex = void 0;
1559
+ return;
1560
+ }
1561
+ p.slideToClickedSlide && f.clickedIndex !== void 0 && f.clickedIndex !== f.activeIndex && f.slideToClickedSlide();
1562
+ }
1563
+ var update = {
1564
+ updateSize,
1565
+ updateSlides,
1566
+ updateAutoHeight,
1567
+ updateSlidesOffset,
1568
+ updateSlidesProgress,
1569
+ updateProgress,
1570
+ updateSlidesClasses,
1571
+ updateActiveIndex,
1572
+ updateClickedSlide
1573
+ };
1574
+ function getSwiperTranslate(t2 = this.isHorizontal() ? "x" : "y") {
1575
+ let d = this, { params: f, rtlTranslate: p, translate: m, wrapperEl: h } = d;
1576
+ if (f.virtualTranslate) return p ? -m : m;
1577
+ if (f.cssMode) return m;
1578
+ let g = getTranslate(h, t2);
1579
+ return g += d.cssOverflowAdjustment(), p && (g = -g), g || 0;
1580
+ }
1581
+ function setTranslate(t2, d) {
1582
+ let f = this, { rtlTranslate: p, params: m, wrapperEl: h, progress: g } = f, _ = 0, v = 0;
1583
+ f.isHorizontal() ? _ = p ? -t2 : t2 : v = t2, m.roundLengths && (_ = Math.floor(_), v = Math.floor(v)), f.previousTranslate = f.translate, f.translate = f.isHorizontal() ? _ : v, m.cssMode ? h[f.isHorizontal() ? "scrollLeft" : "scrollTop"] = f.isHorizontal() ? -_ : -v : m.virtualTranslate || (f.isHorizontal() ? _ -= f.cssOverflowAdjustment() : v -= f.cssOverflowAdjustment(), h.style.transform = `translate3d(${_}px, ${v}px, 0px)`);
1584
+ let y, b = f.maxTranslate() - f.minTranslate();
1585
+ y = b === 0 ? 0 : (t2 - f.minTranslate()) / b, y !== g && f.updateProgress(t2), f.emit("setTranslate", f.translate, d);
1586
+ }
1587
+ function minTranslate() {
1588
+ return -this.snapGrid[0];
1589
+ }
1590
+ function maxTranslate() {
1591
+ return -this.snapGrid[this.snapGrid.length - 1];
1592
+ }
1593
+ function translateTo(t2 = 0, d = this.params.speed, f = true, p = true, m) {
1594
+ let h = this, { params: g, wrapperEl: _ } = h;
1595
+ if (h.animating && g.preventInteractionOnTransition) return false;
1596
+ let v = h.minTranslate(), y = h.maxTranslate(), b;
1597
+ if (b = p && t2 > v ? v : p && t2 < y ? y : t2, h.updateProgress(b), g.cssMode) {
1598
+ let t3 = h.isHorizontal();
1599
+ if (d === 0) _[t3 ? "scrollLeft" : "scrollTop"] = -b;
1600
+ else {
1601
+ if (!h.support.smoothScroll) return animateCSSModeScroll({
1602
+ swiper: h,
1603
+ targetPosition: -b,
1604
+ side: t3 ? "left" : "top"
1605
+ }), true;
1606
+ _.scrollTo({
1607
+ [t3 ? "left" : "top"]: -b,
1608
+ behavior: "smooth"
1609
+ });
1610
+ }
1611
+ return true;
1612
+ }
1613
+ return d === 0 ? (h.setTransition(0), h.setTranslate(b), f && (h.emit("beforeTransitionStart", d, m), h.emit("transitionEnd"))) : (h.setTransition(d), h.setTranslate(b), f && (h.emit("beforeTransitionStart", d, m), h.emit("transitionStart")), h.animating || (h.animating = true, h.onTranslateToWrapperTransitionEnd || (h.onTranslateToWrapperTransitionEnd = function(t3) {
1614
+ !h || h.destroyed || t3.target === this && (h.wrapperEl.removeEventListener("transitionend", h.onTranslateToWrapperTransitionEnd), h.onTranslateToWrapperTransitionEnd = null, delete h.onTranslateToWrapperTransitionEnd, h.animating = false, f && h.emit("transitionEnd"));
1615
+ }), h.wrapperEl.addEventListener("transitionend", h.onTranslateToWrapperTransitionEnd))), true;
1616
+ }
1617
+ var translate = {
1618
+ getTranslate: getSwiperTranslate,
1619
+ setTranslate,
1620
+ minTranslate,
1621
+ maxTranslate,
1622
+ translateTo
1623
+ };
1624
+ function setTransition(t2, d) {
1625
+ let f = this;
1626
+ f.params.cssMode || (f.wrapperEl.style.transitionDuration = `${t2}ms`, f.wrapperEl.style.transitionDelay = t2 === 0 ? "0ms" : ""), f.emit("setTransition", t2, d);
1627
+ }
1628
+ function transitionEmit({ swiper: t2, runCallbacks: d, direction: f, step: p }) {
1629
+ let { activeIndex: m, previousIndex: h } = t2, g = f;
1630
+ g || (g = m > h ? "next" : m < h ? "prev" : "reset"), t2.emit(`transition${p}`), d && g === "reset" ? t2.emit(`slideResetTransition${p}`) : d && m !== h && (t2.emit(`slideChangeTransition${p}`), g === "next" ? t2.emit(`slideNextTransition${p}`) : t2.emit(`slidePrevTransition${p}`));
1631
+ }
1632
+ function transitionStart(t2 = true, d) {
1633
+ let f = this, { params: p } = f;
1634
+ p.cssMode || (p.autoHeight && f.updateAutoHeight(), transitionEmit({
1635
+ swiper: f,
1636
+ runCallbacks: t2,
1637
+ direction: d,
1638
+ step: "Start"
1639
+ }));
1640
+ }
1641
+ function transitionEnd(t2 = true, d) {
1642
+ let f = this, { params: p } = f;
1643
+ f.animating = false, !p.cssMode && (f.setTransition(0), transitionEmit({
1644
+ swiper: f,
1645
+ runCallbacks: t2,
1646
+ direction: d,
1647
+ step: "End"
1648
+ }));
1649
+ }
1650
+ var transition = {
1651
+ setTransition,
1652
+ transitionStart,
1653
+ transitionEnd
1654
+ };
1655
+ function slideTo(t2 = 0, d, f = true, p, m) {
1656
+ typeof t2 == "string" && (t2 = parseInt(t2, 10));
1657
+ let h = this, g = t2;
1658
+ g < 0 && (g = 0);
1659
+ let { params: _, snapGrid: v, slidesGrid: y, previousIndex: b, activeIndex: x, rtlTranslate: S, wrapperEl: C, enabled: w } = h;
1660
+ if (!w && !p && !m || h.destroyed || h.animating && _.preventInteractionOnTransition) return false;
1661
+ d === void 0 && (d = h.params.speed);
1662
+ let T = Math.min(h.params.slidesPerGroupSkip, g), E = T + Math.floor((g - T) / h.params.slidesPerGroup);
1663
+ E >= v.length && (E = v.length - 1);
1664
+ let D = -v[E];
1665
+ if (_.normalizeSlideIndex) for (let t3 = 0; t3 < y.length; t3 += 1) {
1666
+ let d2 = -Math.floor(D * 100), f2 = Math.floor(y[t3] * 100), p2 = Math.floor(y[t3 + 1] * 100);
1667
+ y[t3 + 1] === void 0 ? d2 >= f2 && (g = t3) : d2 >= f2 && d2 < p2 - (p2 - f2) / 2 ? g = t3 : d2 >= f2 && d2 < p2 && (g = t3 + 1);
1668
+ }
1669
+ if (h.initialized && g !== x && (!h.allowSlideNext && (S ? D > h.translate && D > h.minTranslate() : D < h.translate && D < h.minTranslate()) || !h.allowSlidePrev && D > h.translate && D > h.maxTranslate() && (x || 0) !== g)) return false;
1670
+ g !== (b || 0) && f && h.emit("beforeSlideChangeStart"), h.updateProgress(D);
1671
+ let O;
1672
+ O = g > x ? "next" : g < x ? "prev" : "reset";
1673
+ let k = h.virtual && h.params.virtual.enabled;
1674
+ if (!(k && m) && (S && -D === h.translate || !S && D === h.translate)) return h.updateActiveIndex(g), _.autoHeight && h.updateAutoHeight(), h.updateSlidesClasses(), _.effect !== "slide" && h.setTranslate(D), O !== "reset" && (h.transitionStart(f, O), h.transitionEnd(f, O)), false;
1675
+ if (_.cssMode) {
1676
+ let t3 = h.isHorizontal(), f2 = S ? D : -D;
1677
+ if (d === 0) k && (h.wrapperEl.style.scrollSnapType = "none", h._immediateVirtual = true), k && !h._cssModeVirtualInitialSet && h.params.initialSlide > 0 ? (h._cssModeVirtualInitialSet = true, requestAnimationFrame(() => {
1678
+ C[t3 ? "scrollLeft" : "scrollTop"] = f2;
1679
+ })) : C[t3 ? "scrollLeft" : "scrollTop"] = f2, k && requestAnimationFrame(() => {
1680
+ h.wrapperEl.style.scrollSnapType = "", h._immediateVirtual = false;
1681
+ });
1682
+ else {
1683
+ if (!h.support.smoothScroll) return animateCSSModeScroll({
1684
+ swiper: h,
1685
+ targetPosition: f2,
1686
+ side: t3 ? "left" : "top"
1687
+ }), true;
1688
+ C.scrollTo({
1689
+ [t3 ? "left" : "top"]: f2,
1690
+ behavior: "smooth"
1691
+ });
1692
+ }
1693
+ return true;
1694
+ }
1695
+ let A = getBrowser().isSafari;
1696
+ return k && !m && A && h.isElement && h.virtual.update(false, false, g), h.setTransition(d), h.setTranslate(D), h.updateActiveIndex(g), h.updateSlidesClasses(), h.emit("beforeTransitionStart", d, p), h.transitionStart(f, O), d === 0 ? h.transitionEnd(f, O) : h.animating || (h.animating = true, h.onSlideToWrapperTransitionEnd || (h.onSlideToWrapperTransitionEnd = function(t3) {
1697
+ !h || h.destroyed || t3.target === this && (h.wrapperEl.removeEventListener("transitionend", h.onSlideToWrapperTransitionEnd), h.onSlideToWrapperTransitionEnd = null, delete h.onSlideToWrapperTransitionEnd, h.transitionEnd(f, O));
1698
+ }), h.wrapperEl.addEventListener("transitionend", h.onSlideToWrapperTransitionEnd)), true;
1699
+ }
1700
+ function slideToLoop(t2 = 0, d, f = true, p) {
1701
+ typeof t2 == "string" && (t2 = parseInt(t2, 10));
1702
+ let m = this;
1703
+ if (m.destroyed) return;
1704
+ d === void 0 && (d = m.params.speed);
1705
+ let h = m.grid && m.params.grid && m.params.grid.rows > 1, g = t2;
1706
+ if (m.params.loop) if (m.virtual && m.params.virtual.enabled) g += m.virtual.slidesBefore;
1707
+ else {
1708
+ let t3;
1709
+ if (h) {
1710
+ let d3 = g * m.params.grid.rows;
1711
+ t3 = m.slides.find((t4) => t4.getAttribute("data-swiper-slide-index") * 1 === d3).column;
1712
+ } else t3 = m.getSlideIndexByData(g);
1713
+ let d2 = h ? Math.ceil(m.slides.length / m.params.grid.rows) : m.slides.length, { centeredSlides: f2, slidesOffsetBefore: _, slidesOffsetAfter: v } = m.params, y = f2 || !!_ || !!v, b = m.params.slidesPerView;
1714
+ b === "auto" ? b = m.slidesPerViewDynamic() : (b = Math.ceil(parseFloat(m.params.slidesPerView, 10)), y && b % 2 == 0 && (b += 1));
1715
+ let x = d2 - t3 < b;
1716
+ if (y && (x || (x = t3 < Math.ceil(b / 2))), p && y && m.params.slidesPerView !== "auto" && !h && (x = false), x) {
1717
+ let f3 = y ? t3 < m.activeIndex ? "prev" : "next" : t3 - m.activeIndex - 1 < m.params.slidesPerView ? "next" : "prev";
1718
+ m.loopFix({
1719
+ direction: f3,
1720
+ slideTo: true,
1721
+ activeSlideIndex: f3 === "next" ? t3 + 1 : t3 - d2 + 1,
1722
+ slideRealIndex: f3 === "next" ? m.realIndex : void 0
1723
+ });
1724
+ }
1725
+ if (h) {
1726
+ let t4 = g * m.params.grid.rows;
1727
+ g = m.slides.find((d3) => d3.getAttribute("data-swiper-slide-index") * 1 === t4).column;
1728
+ } else g = m.getSlideIndexByData(g);
1729
+ }
1730
+ return requestAnimationFrame(() => {
1731
+ m.slideTo(g, d, f, p);
1732
+ }), m;
1733
+ }
1734
+ function slideNext(t2, d = true, f) {
1735
+ let p = this, { enabled: m, params: h, animating: g } = p;
1736
+ if (!m || p.destroyed) return p;
1737
+ t2 === void 0 && (t2 = p.params.speed);
1738
+ let _ = h.slidesPerGroup;
1739
+ h.slidesPerView === "auto" && h.slidesPerGroup === 1 && h.slidesPerGroupAuto && (_ = Math.max(p.slidesPerViewDynamic("current", true), 1));
1740
+ let v = p.activeIndex < h.slidesPerGroupSkip ? 1 : _, y = p.virtual && h.virtual.enabled;
1741
+ if (h.loop) {
1742
+ if (g && !y && h.loopPreventsSliding) return false;
1743
+ if (p.loopFix({ direction: "next" }), p._clientLeft = p.wrapperEl.clientLeft, p.activeIndex === p.slides.length - 1 && h.cssMode) return requestAnimationFrame(() => {
1744
+ p.slideTo(p.activeIndex + v, t2, d, f);
1745
+ }), true;
1746
+ }
1747
+ return h.rewind && p.isEnd ? p.slideTo(0, t2, d, f) : p.slideTo(p.activeIndex + v, t2, d, f);
1748
+ }
1749
+ function slidePrev(t2, d = true, f) {
1750
+ let p = this, { params: m, snapGrid: h, slidesGrid: g, rtlTranslate: _, enabled: v, animating: y } = p;
1751
+ if (!v || p.destroyed) return p;
1752
+ t2 === void 0 && (t2 = p.params.speed);
1753
+ let b = p.virtual && m.virtual.enabled;
1754
+ if (m.loop) {
1755
+ if (y && !b && m.loopPreventsSliding) return false;
1756
+ p.loopFix({ direction: "prev" }), p._clientLeft = p.wrapperEl.clientLeft;
1757
+ }
1758
+ let x = _ ? p.translate : -p.translate;
1759
+ function S(t3) {
1760
+ return t3 < 0 ? -Math.floor(Math.abs(t3)) : Math.floor(t3);
1761
+ }
1762
+ let C = S(x), w = h.map((t3) => S(t3)), T = m.freeMode && m.freeMode.enabled, E = h[w.indexOf(C) - 1];
1763
+ if (E === void 0 && (m.cssMode || T)) {
1764
+ let t3;
1765
+ h.forEach((d2, f2) => {
1766
+ C >= d2 && (t3 = f2);
1767
+ }), t3 !== void 0 && (E = T ? h[t3] : h[t3 > 0 ? t3 - 1 : t3]);
1768
+ }
1769
+ let D = 0;
1770
+ if (E !== void 0 && (D = g.indexOf(E), D < 0 && (D = p.activeIndex - 1), m.slidesPerView === "auto" && m.slidesPerGroup === 1 && m.slidesPerGroupAuto && (D = D - p.slidesPerViewDynamic("previous", true) + 1, D = Math.max(D, 0))), m.rewind && p.isBeginning) {
1771
+ let m2 = p.params.virtual && p.params.virtual.enabled && p.virtual ? p.virtual.slides.length - 1 : p.slides.length - 1;
1772
+ return p.slideTo(m2, t2, d, f);
1773
+ } else if (m.loop && p.activeIndex === 0 && m.cssMode) return requestAnimationFrame(() => {
1774
+ p.slideTo(D, t2, d, f);
1775
+ }), true;
1776
+ return p.slideTo(D, t2, d, f);
1777
+ }
1778
+ function slideReset(t2, d = true, f) {
1779
+ let p = this;
1780
+ if (!p.destroyed) return t2 === void 0 && (t2 = p.params.speed), p.slideTo(p.activeIndex, t2, d, f);
1781
+ }
1782
+ function slideToClosest(t2, d = true, f, p = 0.5) {
1783
+ let m = this;
1784
+ if (m.destroyed) return;
1785
+ t2 === void 0 && (t2 = m.params.speed);
1786
+ let h = m.activeIndex, g = Math.min(m.params.slidesPerGroupSkip, h), _ = g + Math.floor((h - g) / m.params.slidesPerGroup), v = m.rtlTranslate ? m.translate : -m.translate;
1787
+ if (v >= m.snapGrid[_]) {
1788
+ let t3 = m.snapGrid[_], d2 = m.snapGrid[_ + 1];
1789
+ v - t3 > (d2 - t3) * p && (h += m.params.slidesPerGroup);
1790
+ } else {
1791
+ let t3 = m.snapGrid[_ - 1], d2 = m.snapGrid[_];
1792
+ v - t3 <= (d2 - t3) * p && (h -= m.params.slidesPerGroup);
1793
+ }
1794
+ return h = Math.max(h, 0), h = Math.min(h, m.slidesGrid.length - 1), m.slideTo(h, t2, d, f);
1795
+ }
1796
+ function slideToClickedSlide() {
1797
+ let t2 = this;
1798
+ if (t2.destroyed) return;
1799
+ let { params: d, slidesEl: f } = t2, p = d.slidesPerView === "auto" ? t2.slidesPerViewDynamic() : d.slidesPerView, m = t2.getSlideIndexWhenGrid(t2.clickedIndex), h, g = t2.isElement ? "swiper-slide" : `.${d.slideClass}`, _ = t2.grid && t2.params.grid && t2.params.grid.rows > 1;
1800
+ if (d.loop) {
1801
+ if (t2.animating) return;
1802
+ h = parseInt(t2.clickedSlide.getAttribute("data-swiper-slide-index"), 10), d.centeredSlides ? t2.slideToLoop(h) : m > (_ ? (t2.slides.length - p) / 2 - (t2.params.grid.rows - 1) : t2.slides.length - p) ? (t2.loopFix(), m = t2.getSlideIndex(elementChildren(f, `${g}[data-swiper-slide-index="${h}"]`)[0]), nextTick(() => {
1803
+ t2.slideTo(m);
1804
+ })) : t2.slideTo(m);
1805
+ } else t2.slideTo(m);
1806
+ }
1807
+ var slide = {
1808
+ slideTo,
1809
+ slideToLoop,
1810
+ slideNext,
1811
+ slidePrev,
1812
+ slideReset,
1813
+ slideToClosest,
1814
+ slideToClickedSlide
1815
+ };
1816
+ function loopCreate(t2, d) {
1817
+ let f = this, { params: p, slidesEl: m } = f;
1818
+ if (!p.loop || f.virtual && f.params.virtual.enabled) return;
1819
+ let h = () => {
1820
+ elementChildren(m, `.${p.slideClass}, swiper-slide`).forEach((t3, d2) => {
1821
+ t3.setAttribute("data-swiper-slide-index", d2);
1822
+ });
1823
+ }, g = () => {
1824
+ let t3 = elementChildren(m, `.${p.slideBlankClass}`);
1825
+ t3.forEach((t4) => {
1826
+ t4.remove();
1827
+ }), t3.length > 0 && (f.recalcSlides(), f.updateSlides());
1828
+ }, _ = f.grid && p.grid && p.grid.rows > 1;
1829
+ p.loopAddBlankSlides && (p.slidesPerGroup > 1 || _) && g();
1830
+ let v = p.slidesPerGroup * (_ ? p.grid.rows : 1), y = f.slides.length % v !== 0, b = _ && f.slides.length % p.grid.rows !== 0, x = (t3) => {
1831
+ for (let d2 = 0; d2 < t3; d2 += 1) {
1832
+ let t4 = f.isElement ? createElement("swiper-slide", [p.slideBlankClass]) : createElement("div", [p.slideClass, p.slideBlankClass]);
1833
+ f.slidesEl.append(t4);
1834
+ }
1835
+ };
1836
+ y ? (p.loopAddBlankSlides ? (x(v - f.slides.length % v), f.recalcSlides(), f.updateSlides()) : showWarning("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)"), h()) : (b && (p.loopAddBlankSlides ? (x(p.grid.rows - f.slides.length % p.grid.rows), f.recalcSlides(), f.updateSlides()) : showWarning("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)")), h());
1837
+ let S = p.centeredSlides || !!p.slidesOffsetBefore || !!p.slidesOffsetAfter;
1838
+ f.loopFix({
1839
+ slideRealIndex: t2,
1840
+ direction: S ? void 0 : "next",
1841
+ initial: d
1842
+ });
1843
+ }
1844
+ function loopFix({ slideRealIndex: t2, slideTo: d = true, direction: f, setTranslate: p, activeSlideIndex: m, initial: h, byController: g, byMousewheel: _ } = {}) {
1845
+ let v = this;
1846
+ if (!v.params.loop) return;
1847
+ v.emit("beforeLoopFix");
1848
+ let { slides: y, allowSlidePrev: b, allowSlideNext: x, slidesEl: S, params: C } = v, { centeredSlides: w, slidesOffsetBefore: T, slidesOffsetAfter: E, initialSlide: D } = C, O = w || !!T || !!E;
1849
+ if (v.allowSlidePrev = true, v.allowSlideNext = true, v.virtual && C.virtual.enabled) {
1850
+ d && (!O && v.snapIndex === 0 ? v.slideTo(v.virtual.slides.length, 0, false, true) : O && v.snapIndex < C.slidesPerView ? v.slideTo(v.virtual.slides.length + v.snapIndex, 0, false, true) : v.snapIndex === v.snapGrid.length - 1 && v.slideTo(v.virtual.slidesBefore, 0, false, true)), v.allowSlidePrev = b, v.allowSlideNext = x, v.emit("loopFix");
1851
+ return;
1852
+ }
1853
+ let k = C.slidesPerView;
1854
+ k === "auto" ? k = v.slidesPerViewDynamic() : (k = Math.ceil(parseFloat(C.slidesPerView, 10)), O && k % 2 == 0 && (k += 1));
1855
+ let A = C.slidesPerGroupAuto ? k : C.slidesPerGroup, j = O ? Math.max(A, Math.ceil(k / 2)) : A;
1856
+ j % A !== 0 && (j += A - j % A), j += C.loopAdditionalSlides, v.loopedSlides = j;
1857
+ let M = v.grid && C.grid && C.grid.rows > 1;
1858
+ y.length < k + j || v.params.effect === "cards" && y.length < k + j * 2 ? showWarning("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") : M && C.grid.fill === "row" && showWarning("Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`");
1859
+ let N = [], P = [], F = M ? Math.ceil(y.length / C.grid.rows) : y.length, I = h && F - D < k && !O, L = I ? D : v.activeIndex;
1860
+ m === void 0 ? m = v.getSlideIndex(y.find((t3) => t3.classList.contains(C.slideActiveClass))) : L = m;
1861
+ let R = f === "next" || !f, z = f === "prev" || !f, V = 0, H = 0, U = (M ? y[m].column : m) + (O && p === void 0 ? -k / 2 + 0.5 : 0);
1862
+ if (U < j) {
1863
+ V = Math.max(j - U, A);
1864
+ for (let t3 = 0; t3 < j - U; t3 += 1) {
1865
+ let d2 = t3 - Math.floor(t3 / F) * F;
1866
+ if (M) {
1867
+ let t4 = F - d2 - 1;
1868
+ for (let d3 = y.length - 1; d3 >= 0; --d3) y[d3].column === t4 && N.push(d3);
1869
+ } else N.push(F - d2 - 1);
1870
+ }
1871
+ } else if (U + k > F - j) {
1872
+ H = Math.max(U - (F - j * 2), A), I && (H = Math.max(H, k - F + D + 1));
1873
+ for (let t3 = 0; t3 < H; t3 += 1) {
1874
+ let d2 = t3 - Math.floor(t3 / F) * F;
1875
+ M ? y.forEach((t4, f2) => {
1876
+ t4.column === d2 && P.push(f2);
1877
+ }) : P.push(d2);
1878
+ }
1879
+ }
1880
+ if (v.__preventObserver__ = true, requestAnimationFrame(() => {
1881
+ v.__preventObserver__ = false;
1882
+ }), v.params.effect === "cards" && y.length < k + j * 2 && (P.includes(m) && P.splice(P.indexOf(m), 1), N.includes(m) && N.splice(N.indexOf(m), 1)), z && N.forEach((t3) => {
1883
+ y[t3].swiperLoopMoveDOM = true, S.prepend(y[t3]), y[t3].swiperLoopMoveDOM = false;
1884
+ }), R && P.forEach((t3) => {
1885
+ y[t3].swiperLoopMoveDOM = true, S.append(y[t3]), y[t3].swiperLoopMoveDOM = false;
1886
+ }), v.recalcSlides(), C.slidesPerView === "auto" ? v.updateSlides() : M && (N.length > 0 && z || P.length > 0 && R) && v.slides.forEach((t3, d2) => {
1887
+ v.grid.updateSlide(d2, t3, v.slides);
1888
+ }), C.watchSlidesProgress && v.updateSlidesOffset(), d) {
1889
+ if (N.length > 0 && z) {
1890
+ if (t2 === void 0) {
1891
+ let t3 = v.slidesGrid[L], d2 = v.slidesGrid[L + V] - t3;
1892
+ _ ? v.setTranslate(v.translate - d2) : (v.slideTo(L + Math.ceil(V), 0, false, true), p && (v.touchEventsData.startTranslate = v.touchEventsData.startTranslate - d2, v.touchEventsData.currentTranslate = v.touchEventsData.currentTranslate - d2));
1893
+ } else if (p) {
1894
+ let t3 = M ? N.length / C.grid.rows : N.length;
1895
+ v.slideTo(v.activeIndex + t3, 0, false, true), v.touchEventsData.currentTranslate = v.translate;
1896
+ }
1897
+ } else if (P.length > 0 && R) if (t2 === void 0) {
1898
+ let t3 = v.slidesGrid[L], d2 = v.slidesGrid[L - H] - t3;
1899
+ _ ? v.setTranslate(v.translate - d2) : (v.slideTo(L - H, 0, false, true), p && (v.touchEventsData.startTranslate = v.touchEventsData.startTranslate - d2, v.touchEventsData.currentTranslate = v.touchEventsData.currentTranslate - d2));
1900
+ } else {
1901
+ let t3 = M ? P.length / C.grid.rows : P.length;
1902
+ v.slideTo(v.activeIndex - t3, 0, false, true);
1903
+ }
1904
+ }
1905
+ if (v.allowSlidePrev = b, v.allowSlideNext = x, v.controller && v.controller.control && !g) {
1906
+ let h2 = {
1907
+ slideRealIndex: t2,
1908
+ direction: f,
1909
+ setTranslate: p,
1910
+ activeSlideIndex: m,
1911
+ byController: true
1912
+ };
1913
+ Array.isArray(v.controller.control) ? v.controller.control.forEach((t3) => {
1914
+ !t3.destroyed && t3.params.loop && t3.loopFix({
1915
+ ...h2,
1916
+ slideTo: t3.params.slidesPerView === C.slidesPerView ? d : false
1917
+ });
1918
+ }) : v.controller.control instanceof v.constructor && v.controller.control.params.loop && v.controller.control.loopFix({
1919
+ ...h2,
1920
+ slideTo: v.controller.control.params.slidesPerView === C.slidesPerView ? d : false
1921
+ });
1922
+ }
1923
+ v.emit("loopFix");
1924
+ }
1925
+ function loopDestroy() {
1926
+ let t2 = this, { params: d, slidesEl: f } = t2;
1927
+ if (!d.loop || !f || t2.virtual && t2.params.virtual.enabled) return;
1928
+ t2.recalcSlides();
1929
+ let p = [];
1930
+ t2.slides.forEach((t3) => {
1931
+ let d2 = t3.swiperSlideIndex === void 0 ? t3.getAttribute("data-swiper-slide-index") * 1 : t3.swiperSlideIndex;
1932
+ p[d2] = t3;
1933
+ }), t2.slides.forEach((t3) => {
1934
+ t3.removeAttribute("data-swiper-slide-index");
1935
+ }), p.forEach((t3) => {
1936
+ f.append(t3);
1937
+ }), t2.recalcSlides(), t2.slideTo(t2.realIndex, 0);
1938
+ }
1939
+ var loop = {
1940
+ loopCreate,
1941
+ loopFix,
1942
+ loopDestroy
1943
+ };
1944
+ function setGrabCursor(t2) {
1945
+ let d = this;
1946
+ if (!d.params.simulateTouch || d.params.watchOverflow && d.isLocked || d.params.cssMode) return;
1947
+ let f = d.params.touchEventsTarget === "container" ? d.el : d.wrapperEl;
1948
+ d.isElement && (d.__preventObserver__ = true), f.style.cursor = "move", f.style.cursor = t2 ? "grabbing" : "grab", d.isElement && requestAnimationFrame(() => {
1949
+ d.__preventObserver__ = false;
1950
+ });
1951
+ }
1952
+ function unsetGrabCursor() {
1953
+ let t2 = this;
1954
+ t2.params.watchOverflow && t2.isLocked || t2.params.cssMode || (t2.isElement && (t2.__preventObserver__ = true), t2[t2.params.touchEventsTarget === "container" ? "el" : "wrapperEl"].style.cursor = "", t2.isElement && requestAnimationFrame(() => {
1955
+ t2.__preventObserver__ = false;
1956
+ }));
1957
+ }
1958
+ var grabCursor = {
1959
+ setGrabCursor,
1960
+ unsetGrabCursor
1961
+ };
1962
+ function closestElement(t2, d = this) {
1963
+ function f(d2) {
1964
+ if (!d2 || d2 === getDocument() || d2 === getWindow()) return null;
1965
+ d2.assignedSlot && (d2 = d2.assignedSlot);
1966
+ let p = d2.closest(t2);
1967
+ return !p && !d2.getRootNode ? null : p || f(d2.getRootNode().host);
1968
+ }
1969
+ return f(d);
1970
+ }
1971
+ function preventEdgeSwipe(t2, d, f) {
1972
+ let p = getWindow(), { params: m } = t2, h = m.edgeSwipeDetection, g = m.edgeSwipeThreshold;
1973
+ return h && (f <= g || f >= p.innerWidth - g) ? h === "prevent" ? (d.preventDefault(), true) : false : true;
1974
+ }
1975
+ function onTouchStart(t2) {
1976
+ let d = this, f = getDocument(), p = t2;
1977
+ p.originalEvent && (p = p.originalEvent);
1978
+ let m = d.touchEventsData;
1979
+ if (p.type === "pointerdown") {
1980
+ if (m.pointerId !== null && m.pointerId !== p.pointerId) return;
1981
+ m.pointerId = p.pointerId;
1982
+ } else p.type === "touchstart" && p.targetTouches.length === 1 && (m.touchId = p.targetTouches[0].identifier);
1983
+ if (p.type === "touchstart") {
1984
+ preventEdgeSwipe(d, p, p.targetTouches[0].pageX);
1985
+ return;
1986
+ }
1987
+ let { params: h, touches: g, enabled: _ } = d;
1988
+ if (!_ || !h.simulateTouch && p.pointerType === "mouse" || d.animating && h.preventInteractionOnTransition) return;
1989
+ !d.animating && h.cssMode && h.loop && d.loopFix();
1990
+ let v = p.target;
1991
+ if (h.touchEventsTarget === "wrapper" && !elementIsChildOf(v, d.wrapperEl) || "which" in p && p.which === 3 || "button" in p && p.button > 0 || m.isTouched && m.isMoved) return;
1992
+ let y = !!h.noSwipingClass && h.noSwipingClass !== "", b = p.composedPath ? p.composedPath() : p.path;
1993
+ y && p.target && p.target.shadowRoot && b && (v = b[0]);
1994
+ let x = h.noSwipingSelector ? h.noSwipingSelector : `.${h.noSwipingClass}`, S = !!(p.target && p.target.shadowRoot);
1995
+ if (h.noSwiping && (S ? closestElement(x, v) : v.closest(x))) {
1996
+ d.allowClick = true;
1997
+ return;
1998
+ }
1999
+ if (h.swipeHandler && !v.closest(h.swipeHandler)) return;
2000
+ g.currentX = p.pageX, g.currentY = p.pageY;
2001
+ let w = g.currentX, T = g.currentY;
2002
+ if (!preventEdgeSwipe(d, p, w)) return;
2003
+ Object.assign(m, {
2004
+ isTouched: true,
2005
+ isMoved: false,
2006
+ allowTouchCallbacks: true,
2007
+ isScrolling: void 0,
2008
+ startMoving: void 0
2009
+ }), g.startX = w, g.startY = T, m.touchStartTime = now(), d.allowClick = true, d.updateSize(), d.swipeDirection = void 0, h.threshold > 0 && (m.allowThresholdMove = false);
2010
+ let E = true;
2011
+ v.matches(m.focusableElements) && (E = false, v.nodeName === "SELECT" && (m.isTouched = false)), f.activeElement && f.activeElement.matches(m.focusableElements) && f.activeElement !== v && (p.pointerType === "mouse" || p.pointerType !== "mouse" && !v.matches(m.focusableElements)) && f.activeElement.blur();
2012
+ let D = E && d.allowTouchMove && h.touchStartPreventDefault;
2013
+ (h.touchStartForcePreventDefault || D) && !v.isContentEditable && p.preventDefault(), h.freeMode && h.freeMode.enabled && d.freeMode && d.animating && !h.cssMode && d.freeMode.onTouchStart(), d.emit("touchStart", p);
2014
+ }
2015
+ function onTouchMove(t2) {
2016
+ let d = getDocument(), f = this, p = f.touchEventsData, { params: m, touches: h, rtlTranslate: g, enabled: _ } = f;
2017
+ if (!_ || !m.simulateTouch && t2.pointerType === "mouse") return;
2018
+ let v = t2;
2019
+ if (v.originalEvent && (v = v.originalEvent), v.type === "pointermove" && (p.touchId !== null || v.pointerId !== p.pointerId)) return;
2020
+ let y;
2021
+ if (v.type === "touchmove") {
2022
+ if (y = [...v.changedTouches].find((t3) => t3.identifier === p.touchId), !y || y.identifier !== p.touchId) return;
2023
+ } else y = v;
2024
+ if (!p.isTouched) {
2025
+ p.startMoving && p.isScrolling && f.emit("touchMoveOpposite", v);
2026
+ return;
2027
+ }
2028
+ let b = y.pageX, x = y.pageY;
2029
+ if (v.preventedByNestedSwiper) {
2030
+ h.startX = b, h.startY = x;
2031
+ return;
2032
+ }
2033
+ if (!f.allowTouchMove) {
2034
+ v.target.matches(p.focusableElements) || (f.allowClick = false), p.isTouched && (Object.assign(h, {
2035
+ startX: b,
2036
+ startY: x,
2037
+ currentX: b,
2038
+ currentY: x
2039
+ }), p.touchStartTime = now());
2040
+ return;
2041
+ }
2042
+ if (m.touchReleaseOnEdges && !m.loop) {
2043
+ if (f.isVertical()) {
2044
+ if (x < h.startY && f.translate <= f.maxTranslate() || x > h.startY && f.translate >= f.minTranslate()) {
2045
+ p.isTouched = false, p.isMoved = false;
2046
+ return;
2047
+ }
2048
+ } else if (g && (b > h.startX && -f.translate <= f.maxTranslate() || b < h.startX && -f.translate >= f.minTranslate())) return;
2049
+ else if (!g && (b < h.startX && f.translate <= f.maxTranslate() || b > h.startX && f.translate >= f.minTranslate())) return;
2050
+ }
2051
+ if (d.activeElement && d.activeElement.matches(p.focusableElements) && d.activeElement !== v.target && v.pointerType !== "mouse" && d.activeElement.blur(), d.activeElement && v.target === d.activeElement && v.target.matches(p.focusableElements)) {
2052
+ p.isMoved = true, f.allowClick = false;
2053
+ return;
2054
+ }
2055
+ p.allowTouchCallbacks && f.emit("touchMove", v), h.previousX = h.currentX, h.previousY = h.currentY, h.currentX = b, h.currentY = x;
2056
+ let S = h.currentX - h.startX, w = h.currentY - h.startY;
2057
+ if (f.params.threshold && Math.sqrt(S ** 2 + w ** 2) < f.params.threshold) return;
2058
+ if (p.isScrolling === void 0) {
2059
+ let t3;
2060
+ f.isHorizontal() && h.currentY === h.startY || f.isVertical() && h.currentX === h.startX ? p.isScrolling = false : S * S + w * w >= 25 && (t3 = Math.atan2(Math.abs(w), Math.abs(S)) * 180 / Math.PI, p.isScrolling = f.isHorizontal() ? t3 > m.touchAngle : 90 - t3 > m.touchAngle);
2061
+ }
2062
+ if (p.isScrolling && f.emit("touchMoveOpposite", v), p.startMoving === void 0 && (h.currentX !== h.startX || h.currentY !== h.startY) && (p.startMoving = true), p.isScrolling || v.type === "touchmove" && p.preventTouchMoveFromPointerMove) {
2063
+ p.isTouched = false;
2064
+ return;
2065
+ }
2066
+ if (!p.startMoving) return;
2067
+ f.allowClick = false, !m.cssMode && v.cancelable && v.preventDefault(), m.touchMoveStopPropagation && !m.nested && v.stopPropagation();
2068
+ let T = f.isHorizontal() ? S : w, E = f.isHorizontal() ? h.currentX - h.previousX : h.currentY - h.previousY;
2069
+ m.oneWayMovement && (T = Math.abs(T) * (g ? 1 : -1), E = Math.abs(E) * (g ? 1 : -1)), h.diff = T, T *= m.touchRatio, g && (T = -T, E = -E);
2070
+ let D = f.touchesDirection;
2071
+ f.swipeDirection = T > 0 ? "prev" : "next", f.touchesDirection = E > 0 ? "prev" : "next";
2072
+ let O = f.params.loop && !m.cssMode, A = f.touchesDirection === "next" && f.allowSlideNext || f.touchesDirection === "prev" && f.allowSlidePrev;
2073
+ if (!p.isMoved) {
2074
+ if (O && A && f.loopFix({ direction: f.swipeDirection }), p.startTranslate = f.getTranslate(), f.setTransition(0), f.animating) {
2075
+ let t3 = new window.CustomEvent("transitionend", {
2076
+ bubbles: true,
2077
+ cancelable: true,
2078
+ detail: { bySwiperTouchMove: true }
2079
+ });
2080
+ f.wrapperEl.dispatchEvent(t3);
2081
+ }
2082
+ p.allowMomentumBounce = false, m.grabCursor && (f.allowSlideNext === true || f.allowSlidePrev === true) && f.setGrabCursor(true), f.emit("sliderFirstMove", v);
2083
+ }
2084
+ if ((/* @__PURE__ */ new Date()).getTime(), m._loopSwapReset !== false && p.isMoved && p.allowThresholdMove && D !== f.touchesDirection && O && A && Math.abs(T) >= 1) {
2085
+ Object.assign(h, {
2086
+ startX: b,
2087
+ startY: x,
2088
+ currentX: b,
2089
+ currentY: x,
2090
+ startTranslate: p.currentTranslate
2091
+ }), p.loopSwapReset = true, p.startTranslate = p.currentTranslate;
2092
+ return;
2093
+ }
2094
+ f.emit("sliderMove", v), p.isMoved = true, p.currentTranslate = T + p.startTranslate;
2095
+ let j = true, M = m.resistanceRatio;
2096
+ if (m.touchReleaseOnEdges && (M = 0), T > 0 ? (O && A && p.allowThresholdMove && p.currentTranslate > (m.centeredSlides ? f.minTranslate() - f.slidesSizesGrid[f.activeIndex + 1] - (m.slidesPerView !== "auto" && f.slides.length - m.slidesPerView >= 2 ? f.slidesSizesGrid[f.activeIndex + 1] + f.params.spaceBetween : 0) - f.params.spaceBetween : f.minTranslate()) && f.loopFix({
2097
+ direction: "prev",
2098
+ setTranslate: true,
2099
+ activeSlideIndex: 0
2100
+ }), p.currentTranslate > f.minTranslate() && (j = false, m.resistance && (p.currentTranslate = f.minTranslate() - 1 + (-f.minTranslate() + p.startTranslate + T) ** M))) : T < 0 && (O && A && p.allowThresholdMove && p.currentTranslate < (m.centeredSlides ? f.maxTranslate() + f.slidesSizesGrid[f.slidesSizesGrid.length - 1] + f.params.spaceBetween + (m.slidesPerView !== "auto" && f.slides.length - m.slidesPerView >= 2 ? f.slidesSizesGrid[f.slidesSizesGrid.length - 1] + f.params.spaceBetween : 0) : f.maxTranslate()) && f.loopFix({
2101
+ direction: "next",
2102
+ setTranslate: true,
2103
+ activeSlideIndex: f.slides.length - (m.slidesPerView === "auto" ? f.slidesPerViewDynamic() : Math.ceil(parseFloat(m.slidesPerView, 10)))
2104
+ }), p.currentTranslate < f.maxTranslate() && (j = false, m.resistance && (p.currentTranslate = f.maxTranslate() + 1 - (f.maxTranslate() - p.startTranslate - T) ** M))), j && (v.preventedByNestedSwiper = true), !f.allowSlideNext && f.swipeDirection === "next" && p.currentTranslate < p.startTranslate && (p.currentTranslate = p.startTranslate), !f.allowSlidePrev && f.swipeDirection === "prev" && p.currentTranslate > p.startTranslate && (p.currentTranslate = p.startTranslate), !f.allowSlidePrev && !f.allowSlideNext && (p.currentTranslate = p.startTranslate), m.threshold > 0) if (Math.abs(T) > m.threshold || p.allowThresholdMove) {
2105
+ if (!p.allowThresholdMove) {
2106
+ p.allowThresholdMove = true, h.startX = h.currentX, h.startY = h.currentY, p.currentTranslate = p.startTranslate, h.diff = f.isHorizontal() ? h.currentX - h.startX : h.currentY - h.startY;
2107
+ return;
2108
+ }
2109
+ } else {
2110
+ p.currentTranslate = p.startTranslate;
2111
+ return;
2112
+ }
2113
+ !m.followFinger || m.cssMode || ((m.freeMode && m.freeMode.enabled && f.freeMode || m.watchSlidesProgress) && (f.updateActiveIndex(), f.updateSlidesClasses()), m.freeMode && m.freeMode.enabled && f.freeMode && f.freeMode.onTouchMove(), f.updateProgress(p.currentTranslate), f.setTranslate(p.currentTranslate));
2114
+ }
2115
+ function onTouchEnd(t2) {
2116
+ let d = this, f = d.touchEventsData, p = t2;
2117
+ p.originalEvent && (p = p.originalEvent);
2118
+ let m;
2119
+ if (p.type === "touchend" || p.type === "touchcancel") {
2120
+ if (m = [...p.changedTouches].find((t3) => t3.identifier === f.touchId), !m || m.identifier !== f.touchId) return;
2121
+ } else {
2122
+ if (f.touchId !== null || p.pointerId !== f.pointerId) return;
2123
+ m = p;
2124
+ }
2125
+ if ([
2126
+ "pointercancel",
2127
+ "pointerout",
2128
+ "pointerleave",
2129
+ "contextmenu"
2130
+ ].includes(p.type) && !(["pointercancel", "contextmenu"].includes(p.type) && (d.browser.isSafari || d.browser.isWebView))) return;
2131
+ f.pointerId = null, f.touchId = null;
2132
+ let { params: h, touches: g, rtlTranslate: _, slidesGrid: v, enabled: y } = d;
2133
+ if (!y || !h.simulateTouch && p.pointerType === "mouse") return;
2134
+ if (f.allowTouchCallbacks && d.emit("touchEnd", p), f.allowTouchCallbacks = false, !f.isTouched) {
2135
+ f.isMoved && h.grabCursor && d.setGrabCursor(false), f.isMoved = false, f.startMoving = false;
2136
+ return;
2137
+ }
2138
+ h.grabCursor && f.isMoved && f.isTouched && (d.allowSlideNext === true || d.allowSlidePrev === true) && d.setGrabCursor(false);
2139
+ let b = now(), x = b - f.touchStartTime;
2140
+ if (d.allowClick) {
2141
+ let t3 = p.path || p.composedPath && p.composedPath();
2142
+ d.updateClickedSlide(t3 && t3[0] || p.target, t3), d.emit("tap click", p), x < 300 && b - f.lastClickTime < 300 && d.emit("doubleTap doubleClick", p);
2143
+ }
2144
+ if (f.lastClickTime = now(), nextTick(() => {
2145
+ d.destroyed || (d.allowClick = true);
2146
+ }), !f.isTouched || !f.isMoved || !d.swipeDirection || g.diff === 0 && !f.loopSwapReset || f.currentTranslate === f.startTranslate && !f.loopSwapReset) {
2147
+ f.isTouched = false, f.isMoved = false, f.startMoving = false;
2148
+ return;
2149
+ }
2150
+ f.isTouched = false, f.isMoved = false, f.startMoving = false;
2151
+ let S;
2152
+ if (S = h.followFinger ? _ ? d.translate : -d.translate : -f.currentTranslate, h.cssMode) return;
2153
+ if (h.freeMode && h.freeMode.enabled) {
2154
+ d.freeMode.onTouchEnd({ currentPos: S });
2155
+ return;
2156
+ }
2157
+ let C = S >= -d.maxTranslate() && !d.params.loop, w = 0, T = d.slidesSizesGrid[0];
2158
+ for (let t3 = 0; t3 < v.length; t3 += t3 < h.slidesPerGroupSkip ? 1 : h.slidesPerGroup) {
2159
+ let d2 = t3 < h.slidesPerGroupSkip - 1 ? 1 : h.slidesPerGroup;
2160
+ v[t3 + d2] === void 0 ? (C || S >= v[t3]) && (w = t3, T = v[v.length - 1] - v[v.length - 2]) : (C || S >= v[t3] && S < v[t3 + d2]) && (w = t3, T = v[t3 + d2] - v[t3]);
2161
+ }
2162
+ let E = null, D = null;
2163
+ h.rewind && (d.isBeginning ? D = h.virtual && h.virtual.enabled && d.virtual ? d.virtual.slides.length - 1 : d.slides.length - 1 : d.isEnd && (E = 0));
2164
+ let A = (S - v[w]) / T, j = w < h.slidesPerGroupSkip - 1 ? 1 : h.slidesPerGroup;
2165
+ if (x > h.longSwipesMs) {
2166
+ if (!h.longSwipes) {
2167
+ d.slideTo(d.activeIndex);
2168
+ return;
2169
+ }
2170
+ d.swipeDirection === "next" && (A >= h.longSwipesRatio ? d.slideTo(h.rewind && d.isEnd ? E : w + j) : d.slideTo(w)), d.swipeDirection === "prev" && (A > 1 - h.longSwipesRatio ? d.slideTo(w + j) : D !== null && A < 0 && Math.abs(A) > h.longSwipesRatio ? d.slideTo(D) : d.slideTo(w));
2171
+ } else {
2172
+ if (!h.shortSwipes) {
2173
+ d.slideTo(d.activeIndex);
2174
+ return;
2175
+ }
2176
+ d.navigation && (p.target === d.navigation.nextEl || p.target === d.navigation.prevEl) ? p.target === d.navigation.nextEl ? d.slideTo(w + j) : d.slideTo(w) : (d.swipeDirection === "next" && d.slideTo(E === null ? w + j : E), d.swipeDirection === "prev" && d.slideTo(D === null ? w : D));
2177
+ }
2178
+ }
2179
+ function onResize() {
2180
+ let t2 = this, { params: d, el: f } = t2;
2181
+ if (f && f.offsetWidth === 0) return;
2182
+ d.breakpoints && t2.setBreakpoint();
2183
+ let { allowSlideNext: p, allowSlidePrev: m, snapGrid: h } = t2, g = t2.virtual && t2.params.virtual.enabled;
2184
+ t2.allowSlideNext = true, t2.allowSlidePrev = true, t2.updateSize(), t2.updateSlides(), t2.updateSlidesClasses();
2185
+ let _ = g && d.loop;
2186
+ (d.slidesPerView === "auto" || d.slidesPerView > 1) && t2.isEnd && !t2.isBeginning && !t2.params.centeredSlides && !_ ? t2.slideTo(t2.slides.length - 1, 0, false, true) : t2.params.loop && !g ? t2.slideToLoop(t2.realIndex, 0, false, true) : t2.slideTo(t2.activeIndex, 0, false, true), t2.autoplay && t2.autoplay.running && t2.autoplay.paused && (clearTimeout(t2.autoplay.resizeTimeout), t2.autoplay.resizeTimeout = setTimeout(() => {
2187
+ t2.autoplay && t2.autoplay.running && t2.autoplay.paused && t2.autoplay.resume();
2188
+ }, 500)), t2.allowSlidePrev = m, t2.allowSlideNext = p, t2.params.watchOverflow && h !== t2.snapGrid && t2.checkOverflow();
2189
+ }
2190
+ function onClick(t2) {
2191
+ let d = this;
2192
+ d.enabled && (d.allowClick || (d.params.preventClicks && t2.preventDefault(), d.params.preventClicksPropagation && d.animating && (t2.stopPropagation(), t2.stopImmediatePropagation())));
2193
+ }
2194
+ function onScroll() {
2195
+ let t2 = this, { wrapperEl: d, rtlTranslate: f, enabled: p } = t2;
2196
+ if (!p) return;
2197
+ t2.previousTranslate = t2.translate, t2.isHorizontal() ? t2.translate = -d.scrollLeft : t2.translate = -d.scrollTop, t2.translate === 0 && (t2.translate = 0), t2.updateActiveIndex(), t2.updateSlidesClasses();
2198
+ let m, h = t2.maxTranslate() - t2.minTranslate();
2199
+ m = h === 0 ? 0 : (t2.translate - t2.minTranslate()) / h, m !== t2.progress && t2.updateProgress(f ? -t2.translate : t2.translate), t2.emit("setTranslate", t2.translate, false);
2200
+ }
2201
+ function onLoad(t2) {
2202
+ let d = this;
2203
+ processLazyPreloader(d, t2.target), !(d.params.cssMode || d.params.slidesPerView !== "auto" && !d.params.autoHeight) && d.update();
2204
+ }
2205
+ function onDocumentTouchStart() {
2206
+ let t2 = this;
2207
+ t2.documentTouchHandlerProceeded || (t2.documentTouchHandlerProceeded = true, t2.params.touchReleaseOnEdges && (t2.el.style.touchAction = "auto"));
2208
+ }
2209
+ var events = (t2, d) => {
2210
+ let f = getDocument(), { params: p, el: m, wrapperEl: h, device: g } = t2, _ = !!p.nested, v = d === "on" ? "addEventListener" : "removeEventListener", y = d;
2211
+ !m || typeof m == "string" || (f[v]("touchstart", t2.onDocumentTouchStart, {
2212
+ passive: false,
2213
+ capture: _
2214
+ }), m[v]("touchstart", t2.onTouchStart, { passive: false }), m[v]("pointerdown", t2.onTouchStart, { passive: false }), f[v]("touchmove", t2.onTouchMove, {
2215
+ passive: false,
2216
+ capture: _
2217
+ }), f[v]("pointermove", t2.onTouchMove, {
2218
+ passive: false,
2219
+ capture: _
2220
+ }), f[v]("touchend", t2.onTouchEnd, { passive: true }), f[v]("pointerup", t2.onTouchEnd, { passive: true }), f[v]("pointercancel", t2.onTouchEnd, { passive: true }), f[v]("touchcancel", t2.onTouchEnd, { passive: true }), f[v]("pointerout", t2.onTouchEnd, { passive: true }), f[v]("pointerleave", t2.onTouchEnd, { passive: true }), f[v]("contextmenu", t2.onTouchEnd, { passive: true }), (p.preventClicks || p.preventClicksPropagation) && m[v]("click", t2.onClick, true), p.cssMode && h[v]("scroll", t2.onScroll), p.updateOnWindowResize ? t2[y](g.ios || g.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", onResize, true) : t2[y]("observerUpdate", onResize, true), m[v]("load", t2.onLoad, { capture: true }));
2221
+ };
2222
+ function attachEvents() {
2223
+ let t2 = this, { params: d } = t2;
2224
+ t2.onTouchStart = onTouchStart.bind(t2), t2.onTouchMove = onTouchMove.bind(t2), t2.onTouchEnd = onTouchEnd.bind(t2), t2.onDocumentTouchStart = onDocumentTouchStart.bind(t2), d.cssMode && (t2.onScroll = onScroll.bind(t2)), t2.onClick = onClick.bind(t2), t2.onLoad = onLoad.bind(t2), events(t2, "on");
2225
+ }
2226
+ function detachEvents() {
2227
+ events(this, "off");
2228
+ }
2229
+ var events$1 = {
2230
+ attachEvents,
2231
+ detachEvents
2232
+ }, isGridEnabled = (t2, d) => t2.grid && d.grid && d.grid.rows > 1;
2233
+ function setBreakpoint() {
2234
+ let t2 = this, { realIndex: d, initialized: f, params: p, el: m } = t2, h = p.breakpoints;
2235
+ if (!h || h && Object.keys(h).length === 0) return;
2236
+ let g = getDocument(), _ = p.breakpointsBase === "window" || !p.breakpointsBase ? p.breakpointsBase : "container", v = ["window", "container"].includes(p.breakpointsBase) || !p.breakpointsBase ? t2.el : g.querySelector(p.breakpointsBase), y = t2.getBreakpoint(h, _, v);
2237
+ if (!y || t2.currentBreakpoint === y) return;
2238
+ let b = (y in h ? h[y] : void 0) || t2.originalParams, x = isGridEnabled(t2, p), S = isGridEnabled(t2, b), w = t2.params.grabCursor, T = b.grabCursor, E = p.enabled;
2239
+ x && !S ? (m.classList.remove(`${p.containerModifierClass}grid`, `${p.containerModifierClass}grid-column`), t2.emitContainerClasses()) : !x && S && (m.classList.add(`${p.containerModifierClass}grid`), (b.grid.fill && b.grid.fill === "column" || !b.grid.fill && p.grid.fill === "column") && m.classList.add(`${p.containerModifierClass}grid-column`), t2.emitContainerClasses()), w && !T ? t2.unsetGrabCursor() : !w && T && t2.setGrabCursor(), [
2240
+ "navigation",
2241
+ "pagination",
2242
+ "scrollbar"
2243
+ ].forEach((d2) => {
2244
+ if (b[d2] === void 0) return;
2245
+ let f2 = p[d2] && p[d2].enabled, m2 = b[d2] && b[d2].enabled;
2246
+ f2 && !m2 && t2[d2].disable(), !f2 && m2 && t2[d2].enable();
2247
+ });
2248
+ let D = b.direction && b.direction !== p.direction, O = p.loop && (b.slidesPerView !== p.slidesPerView || D), k = p.loop;
2249
+ D && f && t2.changeDirection(), extend$1(t2.params, b);
2250
+ let A = t2.params.enabled, j = t2.params.loop;
2251
+ Object.assign(t2, {
2252
+ allowTouchMove: t2.params.allowTouchMove,
2253
+ allowSlideNext: t2.params.allowSlideNext,
2254
+ allowSlidePrev: t2.params.allowSlidePrev
2255
+ }), E && !A ? t2.disable() : !E && A && t2.enable(), t2.currentBreakpoint = y, t2.emit("_beforeBreakpoint", b), f && (O ? (t2.loopDestroy(), t2.loopCreate(d), t2.updateSlides()) : !k && j ? (t2.loopCreate(d), t2.updateSlides()) : k && !j && t2.loopDestroy()), t2.emit("breakpoint", b);
2256
+ }
2257
+ function getBreakpoint(t2, d = "window", f) {
2258
+ if (!t2 || d === "container" && !f) return;
2259
+ let p = false, m = getWindow(), h = d === "window" ? m.innerHeight : f.clientHeight, g = Object.keys(t2).map((t3) => typeof t3 == "string" && t3.indexOf("@") === 0 ? {
2260
+ value: h * parseFloat(t3.substr(1)),
2261
+ point: t3
2262
+ } : {
2263
+ value: t3,
2264
+ point: t3
2265
+ });
2266
+ g.sort((t3, d2) => parseInt(t3.value, 10) - parseInt(d2.value, 10));
2267
+ for (let t3 = 0; t3 < g.length; t3 += 1) {
2268
+ let { point: h2, value: _ } = g[t3];
2269
+ d === "window" ? m.matchMedia(`(min-width: ${_}px)`).matches && (p = h2) : _ <= f.clientWidth && (p = h2);
2270
+ }
2271
+ return p || "max";
2272
+ }
2273
+ var breakpoints = {
2274
+ setBreakpoint,
2275
+ getBreakpoint
2276
+ };
2277
+ function prepareClasses(t2, d) {
2278
+ let f = [];
2279
+ return t2.forEach((t3) => {
2280
+ typeof t3 == "object" ? Object.keys(t3).forEach((p) => {
2281
+ t3[p] && f.push(d + p);
2282
+ }) : typeof t3 == "string" && f.push(d + t3);
2283
+ }), f;
2284
+ }
2285
+ function addClasses() {
2286
+ let t2 = this, { classNames: d, params: f, rtl: p, el: m, device: h } = t2, g = prepareClasses([
2287
+ "initialized",
2288
+ f.direction,
2289
+ { "free-mode": t2.params.freeMode && f.freeMode.enabled },
2290
+ { autoheight: f.autoHeight },
2291
+ { rtl: p },
2292
+ { grid: f.grid && f.grid.rows > 1 },
2293
+ { "grid-column": f.grid && f.grid.rows > 1 && f.grid.fill === "column" },
2294
+ { android: h.android },
2295
+ { ios: h.ios },
2296
+ { "css-mode": f.cssMode },
2297
+ { centered: f.cssMode && f.centeredSlides },
2298
+ { "watch-progress": f.watchSlidesProgress }
2299
+ ], f.containerModifierClass);
2300
+ d.push(...g), m.classList.add(...d), t2.emitContainerClasses();
2301
+ }
2302
+ function removeClasses() {
2303
+ let t2 = this, { el: d, classNames: f } = t2;
2304
+ !d || typeof d == "string" || (d.classList.remove(...f), t2.emitContainerClasses());
2305
+ }
2306
+ var classes = {
2307
+ addClasses,
2308
+ removeClasses
2309
+ };
2310
+ function checkOverflow() {
2311
+ let t2 = this, { isLocked: d, params: f } = t2, { slidesOffsetBefore: p } = f;
2312
+ if (p) {
2313
+ let d2 = t2.slides.length - 1, f2 = t2.slidesGrid[d2] + t2.slidesSizesGrid[d2] + p * 2;
2314
+ t2.isLocked = t2.size > f2;
2315
+ } else t2.isLocked = t2.snapGrid.length === 1;
2316
+ f.allowSlideNext === true && (t2.allowSlideNext = !t2.isLocked), f.allowSlidePrev === true && (t2.allowSlidePrev = !t2.isLocked), d && d !== t2.isLocked && (t2.isEnd = false), d !== t2.isLocked && t2.emit(t2.isLocked ? "lock" : "unlock");
2317
+ }
2318
+ var checkOverflow$1 = { checkOverflow }, defaults = {
2319
+ init: true,
2320
+ direction: "horizontal",
2321
+ oneWayMovement: false,
2322
+ swiperElementNodeName: "SWIPER-CONTAINER",
2323
+ touchEventsTarget: "wrapper",
2324
+ initialSlide: 0,
2325
+ speed: 300,
2326
+ cssMode: false,
2327
+ updateOnWindowResize: true,
2328
+ resizeObserver: true,
2329
+ nested: false,
2330
+ createElements: false,
2331
+ eventsPrefix: "swiper",
2332
+ enabled: true,
2333
+ focusableElements: "input, select, option, textarea, button, video, label",
2334
+ width: null,
2335
+ height: null,
2336
+ preventInteractionOnTransition: false,
2337
+ userAgent: null,
2338
+ url: null,
2339
+ edgeSwipeDetection: false,
2340
+ edgeSwipeThreshold: 20,
2341
+ autoHeight: false,
2342
+ setWrapperSize: false,
2343
+ virtualTranslate: false,
2344
+ effect: "slide",
2345
+ breakpoints: void 0,
2346
+ breakpointsBase: "window",
2347
+ spaceBetween: 0,
2348
+ slidesPerView: 1,
2349
+ slidesPerGroup: 1,
2350
+ slidesPerGroupSkip: 0,
2351
+ slidesPerGroupAuto: false,
2352
+ centeredSlides: false,
2353
+ centeredSlidesBounds: false,
2354
+ slidesOffsetBefore: 0,
2355
+ slidesOffsetAfter: 0,
2356
+ normalizeSlideIndex: true,
2357
+ centerInsufficientSlides: false,
2358
+ snapToSlideEdge: false,
2359
+ watchOverflow: true,
2360
+ roundLengths: false,
2361
+ touchRatio: 1,
2362
+ touchAngle: 45,
2363
+ simulateTouch: true,
2364
+ shortSwipes: true,
2365
+ longSwipes: true,
2366
+ longSwipesRatio: 0.5,
2367
+ longSwipesMs: 300,
2368
+ followFinger: true,
2369
+ allowTouchMove: true,
2370
+ threshold: 5,
2371
+ touchMoveStopPropagation: false,
2372
+ touchStartPreventDefault: true,
2373
+ touchStartForcePreventDefault: false,
2374
+ touchReleaseOnEdges: false,
2375
+ uniqueNavElements: true,
2376
+ resistance: true,
2377
+ resistanceRatio: 0.85,
2378
+ watchSlidesProgress: false,
2379
+ grabCursor: false,
2380
+ preventClicks: true,
2381
+ preventClicksPropagation: true,
2382
+ slideToClickedSlide: false,
2383
+ loop: false,
2384
+ loopAddBlankSlides: true,
2385
+ loopAdditionalSlides: 0,
2386
+ loopPreventsSliding: true,
2387
+ rewind: false,
2388
+ allowSlidePrev: true,
2389
+ allowSlideNext: true,
2390
+ swipeHandler: null,
2391
+ noSwiping: true,
2392
+ noSwipingClass: "swiper-no-swiping",
2393
+ noSwipingSelector: null,
2394
+ passiveListeners: true,
2395
+ maxBackfaceHiddenSlides: 10,
2396
+ containerModifierClass: "swiper-",
2397
+ slideClass: "swiper-slide",
2398
+ slideBlankClass: "swiper-slide-blank",
2399
+ slideActiveClass: "swiper-slide-active",
2400
+ slideVisibleClass: "swiper-slide-visible",
2401
+ slideFullyVisibleClass: "swiper-slide-fully-visible",
2402
+ slideNextClass: "swiper-slide-next",
2403
+ slidePrevClass: "swiper-slide-prev",
2404
+ wrapperClass: "swiper-wrapper",
2405
+ lazyPreloaderClass: "swiper-lazy-preloader",
2406
+ lazyPreloadPrevNext: 0,
2407
+ runCallbacksOnInit: true,
2408
+ _emitClasses: false
2409
+ };
2410
+ function moduleExtendParams(t2, d) {
2411
+ return function(f = {}) {
2412
+ let p = Object.keys(f)[0], m = f[p];
2413
+ if (typeof m != "object" || !m) {
2414
+ extend$1(d, f);
2415
+ return;
2416
+ }
2417
+ if (t2[p] === true && (t2[p] = { enabled: true }), p === "navigation" && t2[p] && t2[p].enabled && !t2[p].prevEl && !t2[p].nextEl && (t2[p].auto = true), ["pagination", "scrollbar"].indexOf(p) >= 0 && t2[p] && t2[p].enabled && !t2[p].el && (t2[p].auto = true), !(p in t2 && "enabled" in m)) {
2418
+ extend$1(d, f);
2419
+ return;
2420
+ }
2421
+ typeof t2[p] == "object" && !("enabled" in t2[p]) && (t2[p].enabled = true), t2[p] || (t2[p] = { enabled: false }), extend$1(d, f);
2422
+ };
2423
+ }
2424
+ var prototypes = {
2425
+ eventsEmitter,
2426
+ update,
2427
+ translate,
2428
+ transition,
2429
+ slide,
2430
+ loop,
2431
+ grabCursor,
2432
+ events: events$1,
2433
+ breakpoints,
2434
+ checkOverflow: checkOverflow$1,
2435
+ classes
2436
+ }, extendedDefaults = {}, Swiper$1 = class t {
2437
+ constructor(...d) {
2438
+ let f, p;
2439
+ d.length === 1 && d[0].constructor && Object.prototype.toString.call(d[0]).slice(8, -1) === "Object" ? p = d[0] : [f, p] = d, p || (p = {}), p = extend$1({}, p), f && !p.el && (p.el = f);
2440
+ let m = getDocument();
2441
+ if (p.el && typeof p.el == "string" && m.querySelectorAll(p.el).length > 1) {
2442
+ let d2 = [];
2443
+ return m.querySelectorAll(p.el).forEach((f2) => {
2444
+ let m2 = extend$1({}, p, { el: f2 });
2445
+ d2.push(new t(m2));
2446
+ }), d2;
2447
+ }
2448
+ let h = this;
2449
+ h.__swiper__ = true, h.support = getSupport(), h.device = getDevice({ userAgent: p.userAgent }), h.browser = getBrowser(), h.eventsListeners = {}, h.eventsAnyListeners = [], h.modules = [...h.__modules__], p.modules && Array.isArray(p.modules) && p.modules.forEach((t2) => {
2450
+ typeof t2 == "function" && h.modules.indexOf(t2) < 0 && h.modules.push(t2);
2451
+ });
2452
+ let g = {};
2453
+ return h.modules.forEach((t2) => {
2454
+ t2({
2455
+ params: p,
2456
+ swiper: h,
2457
+ extendParams: moduleExtendParams(p, g),
2458
+ on: h.on.bind(h),
2459
+ once: h.once.bind(h),
2460
+ off: h.off.bind(h),
2461
+ emit: h.emit.bind(h)
2462
+ });
2463
+ }), h.params = extend$1({}, extend$1({}, defaults, g), extendedDefaults, p), h.originalParams = extend$1({}, h.params), h.passedParams = extend$1({}, p), h.params && h.params.on && Object.keys(h.params.on).forEach((t2) => {
2464
+ h.on(t2, h.params.on[t2]);
2465
+ }), h.params && h.params.onAny && h.onAny(h.params.onAny), Object.assign(h, {
2466
+ enabled: h.params.enabled,
2467
+ el: f,
2468
+ classNames: [],
2469
+ slides: [],
2470
+ slidesGrid: [],
2471
+ snapGrid: [],
2472
+ slidesSizesGrid: [],
2473
+ isHorizontal() {
2474
+ return h.params.direction === "horizontal";
2475
+ },
2476
+ isVertical() {
2477
+ return h.params.direction === "vertical";
2478
+ },
2479
+ activeIndex: 0,
2480
+ realIndex: 0,
2481
+ isBeginning: true,
2482
+ isEnd: false,
2483
+ translate: 0,
2484
+ previousTranslate: 0,
2485
+ progress: 0,
2486
+ velocity: 0,
2487
+ animating: false,
2488
+ cssOverflowAdjustment() {
2489
+ return Math.trunc(this.translate / 2 ** 23) * 2 ** 23;
2490
+ },
2491
+ allowSlideNext: h.params.allowSlideNext,
2492
+ allowSlidePrev: h.params.allowSlidePrev,
2493
+ touchEventsData: {
2494
+ isTouched: void 0,
2495
+ isMoved: void 0,
2496
+ allowTouchCallbacks: void 0,
2497
+ touchStartTime: void 0,
2498
+ isScrolling: void 0,
2499
+ currentTranslate: void 0,
2500
+ startTranslate: void 0,
2501
+ allowThresholdMove: void 0,
2502
+ focusableElements: h.params.focusableElements,
2503
+ lastClickTime: 0,
2504
+ clickTimeout: void 0,
2505
+ velocities: [],
2506
+ allowMomentumBounce: void 0,
2507
+ startMoving: void 0,
2508
+ pointerId: null,
2509
+ touchId: null
2510
+ },
2511
+ allowClick: true,
2512
+ allowTouchMove: h.params.allowTouchMove,
2513
+ touches: {
2514
+ startX: 0,
2515
+ startY: 0,
2516
+ currentX: 0,
2517
+ currentY: 0,
2518
+ diff: 0
2519
+ },
2520
+ imagesToLoad: [],
2521
+ imagesLoaded: 0
2522
+ }), h.emit("_swiper"), h.params.init && h.init(), h;
2523
+ }
2524
+ getDirectionLabel(t2) {
2525
+ return this.isHorizontal() ? t2 : {
2526
+ width: "height",
2527
+ "margin-top": "margin-left",
2528
+ "margin-bottom ": "margin-right",
2529
+ "margin-left": "margin-top",
2530
+ "margin-right": "margin-bottom",
2531
+ "padding-left": "padding-top",
2532
+ "padding-right": "padding-bottom",
2533
+ marginRight: "marginBottom"
2534
+ }[t2];
2535
+ }
2536
+ getSlideIndex(t2) {
2537
+ let { slidesEl: d, params: f } = this, p = elementIndex(elementChildren(d, `.${f.slideClass}, swiper-slide`)[0]);
2538
+ return elementIndex(t2) - p;
2539
+ }
2540
+ getSlideIndexByData(t2) {
2541
+ return this.getSlideIndex(this.slides.find((d) => d.getAttribute("data-swiper-slide-index") * 1 === t2));
2542
+ }
2543
+ getSlideIndexWhenGrid(t2) {
2544
+ return this.grid && this.params.grid && this.params.grid.rows > 1 && (this.params.grid.fill === "column" ? t2 = Math.floor(t2 / this.params.grid.rows) : this.params.grid.fill === "row" && (t2 %= Math.ceil(this.slides.length / this.params.grid.rows))), t2;
2545
+ }
2546
+ recalcSlides() {
2547
+ let t2 = this, { slidesEl: d, params: f } = t2;
2548
+ t2.slides = elementChildren(d, `.${f.slideClass}, swiper-slide`);
2549
+ }
2550
+ enable() {
2551
+ let t2 = this;
2552
+ t2.enabled || (t2.enabled = true, t2.params.grabCursor && t2.setGrabCursor(), t2.emit("enable"));
2553
+ }
2554
+ disable() {
2555
+ let t2 = this;
2556
+ t2.enabled && (t2.enabled = false, t2.params.grabCursor && t2.unsetGrabCursor(), t2.emit("disable"));
2557
+ }
2558
+ setProgress(t2, d) {
2559
+ let f = this;
2560
+ t2 = Math.min(Math.max(t2, 0), 1);
2561
+ let p = f.minTranslate(), m = (f.maxTranslate() - p) * t2 + p;
2562
+ f.translateTo(m, d === void 0 ? 0 : d), f.updateActiveIndex(), f.updateSlidesClasses();
2563
+ }
2564
+ emitContainerClasses() {
2565
+ let t2 = this;
2566
+ if (!t2.params._emitClasses || !t2.el) return;
2567
+ let d = t2.el.className.split(" ").filter((d2) => d2.indexOf("swiper") === 0 || d2.indexOf(t2.params.containerModifierClass) === 0);
2568
+ t2.emit("_containerClasses", d.join(" "));
2569
+ }
2570
+ getSlideClasses(t2) {
2571
+ let d = this;
2572
+ return d.destroyed ? "" : t2.className.split(" ").filter((t3) => t3.indexOf("swiper-slide") === 0 || t3.indexOf(d.params.slideClass) === 0).join(" ");
2573
+ }
2574
+ emitSlidesClasses() {
2575
+ let t2 = this;
2576
+ if (!t2.params._emitClasses || !t2.el) return;
2577
+ let d = [];
2578
+ t2.slides.forEach((f) => {
2579
+ let p = t2.getSlideClasses(f);
2580
+ d.push({
2581
+ slideEl: f,
2582
+ classNames: p
2583
+ }), t2.emit("_slideClass", f, p);
2584
+ }), t2.emit("_slideClasses", d);
2585
+ }
2586
+ slidesPerViewDynamic(t2 = "current", d = false) {
2587
+ let { params: f, slides: p, slidesGrid: m, slidesSizesGrid: h, size: g, activeIndex: _ } = this, v = 1;
2588
+ if (typeof f.slidesPerView == "number") return f.slidesPerView;
2589
+ if (f.centeredSlides) {
2590
+ let t3 = p[_] ? Math.ceil(p[_].swiperSlideSize) : 0, d2;
2591
+ for (let f2 = _ + 1; f2 < p.length; f2 += 1) p[f2] && !d2 && (t3 += Math.ceil(p[f2].swiperSlideSize), v += 1, t3 > g && (d2 = true));
2592
+ for (let f2 = _ - 1; f2 >= 0; --f2) p[f2] && !d2 && (t3 += p[f2].swiperSlideSize, v += 1, t3 > g && (d2 = true));
2593
+ } else if (t2 === "current") for (let t3 = _ + 1; t3 < p.length; t3 += 1) (d ? m[t3] + h[t3] - m[_] < g : m[t3] - m[_] < g) && (v += 1);
2594
+ else for (let t3 = _ - 1; t3 >= 0; --t3) m[_] - m[t3] < g && (v += 1);
2595
+ return v;
2596
+ }
2597
+ update() {
2598
+ let t2 = this;
2599
+ if (!t2 || t2.destroyed) return;
2600
+ let { snapGrid: d, params: f } = t2;
2601
+ f.breakpoints && t2.setBreakpoint(), [...t2.el.querySelectorAll('[loading="lazy"]')].forEach((d2) => {
2602
+ d2.complete && processLazyPreloader(t2, d2);
2603
+ }), t2.updateSize(), t2.updateSlides(), t2.updateProgress(), t2.updateSlidesClasses();
2604
+ function p() {
2605
+ let d2 = t2.rtlTranslate ? t2.translate * -1 : t2.translate, f2 = Math.min(Math.max(d2, t2.maxTranslate()), t2.minTranslate());
2606
+ t2.setTranslate(f2), t2.updateActiveIndex(), t2.updateSlidesClasses();
2607
+ }
2608
+ let m;
2609
+ if (f.freeMode && f.freeMode.enabled && !f.cssMode) p(), f.autoHeight && t2.updateAutoHeight();
2610
+ else {
2611
+ if ((f.slidesPerView === "auto" || f.slidesPerView > 1) && t2.isEnd && !f.centeredSlides) {
2612
+ let d2 = t2.virtual && f.virtual.enabled ? t2.virtual.slides : t2.slides;
2613
+ m = t2.slideTo(d2.length - 1, 0, false, true);
2614
+ } else m = t2.slideTo(t2.activeIndex, 0, false, true);
2615
+ m || p();
2616
+ }
2617
+ f.watchOverflow && d !== t2.snapGrid && t2.checkOverflow(), t2.emit("update");
2618
+ }
2619
+ changeDirection(t2, d = true) {
2620
+ let f = this, p = f.params.direction;
2621
+ return t2 || (t2 = p === "horizontal" ? "vertical" : "horizontal"), t2 === p || t2 !== "horizontal" && t2 !== "vertical" ? f : (f.el.classList.remove(`${f.params.containerModifierClass}${p}`), f.el.classList.add(`${f.params.containerModifierClass}${t2}`), f.emitContainerClasses(), f.params.direction = t2, f.slides.forEach((d2) => {
2622
+ t2 === "vertical" ? d2.style.width = "" : d2.style.height = "";
2623
+ }), f.emit("changeDirection"), d && f.update(), f);
2624
+ }
2625
+ changeLanguageDirection(t2) {
2626
+ let d = this;
2627
+ d.rtl && t2 === "rtl" || !d.rtl && t2 === "ltr" || (d.rtl = t2 === "rtl", d.rtlTranslate = d.params.direction === "horizontal" && d.rtl, d.rtl ? (d.el.classList.add(`${d.params.containerModifierClass}rtl`), d.el.dir = "rtl") : (d.el.classList.remove(`${d.params.containerModifierClass}rtl`), d.el.dir = "ltr"), d.update());
2628
+ }
2629
+ mount(t2) {
2630
+ let d = this;
2631
+ if (d.mounted) return true;
2632
+ let f = t2 || d.params.el;
2633
+ if (typeof f == "string" && (f = document.querySelector(f)), !f) return false;
2634
+ f.swiper = d, f.parentNode && f.parentNode.host && f.parentNode.host.nodeName === d.params.swiperElementNodeName.toUpperCase() && (d.isElement = true);
2635
+ let p = () => `.${(d.params.wrapperClass || "").trim().split(" ").join(".")}`, m = (() => f && f.shadowRoot && f.shadowRoot.querySelector ? f.shadowRoot.querySelector(p()) : elementChildren(f, p())[0])();
2636
+ return !m && d.params.createElements && (m = createElement("div", d.params.wrapperClass), f.append(m), elementChildren(f, `.${d.params.slideClass}`).forEach((t3) => {
2637
+ m.append(t3);
2638
+ })), Object.assign(d, {
2639
+ el: f,
2640
+ wrapperEl: m,
2641
+ slidesEl: d.isElement && !f.parentNode.host.slideSlots ? f.parentNode.host : m,
2642
+ hostEl: d.isElement ? f.parentNode.host : f,
2643
+ mounted: true,
2644
+ rtl: f.dir.toLowerCase() === "rtl" || elementStyle(f, "direction") === "rtl",
2645
+ rtlTranslate: d.params.direction === "horizontal" && (f.dir.toLowerCase() === "rtl" || elementStyle(f, "direction") === "rtl"),
2646
+ wrongRTL: elementStyle(m, "display") === "-webkit-box"
2647
+ }), true;
2648
+ }
2649
+ init(t2) {
2650
+ let d = this;
2651
+ if (d.initialized || d.mount(t2) === false) return d;
2652
+ d.emit("beforeInit"), d.params.breakpoints && d.setBreakpoint(), d.addClasses(), d.updateSize(), d.updateSlides(), d.params.watchOverflow && d.checkOverflow(), d.params.grabCursor && d.enabled && d.setGrabCursor(), d.params.loop && d.virtual && d.params.virtual.enabled ? d.slideTo(d.params.initialSlide + d.virtual.slidesBefore, 0, d.params.runCallbacksOnInit, false, true) : d.slideTo(d.params.initialSlide, 0, d.params.runCallbacksOnInit, false, true), d.params.loop && d.loopCreate(void 0, true), d.attachEvents();
2653
+ let f = [...d.el.querySelectorAll('[loading="lazy"]')];
2654
+ return d.isElement && f.push(...d.hostEl.querySelectorAll('[loading="lazy"]')), f.forEach((t3) => {
2655
+ t3.complete ? processLazyPreloader(d, t3) : t3.addEventListener("load", (t4) => {
2656
+ processLazyPreloader(d, t4.target);
2657
+ });
2658
+ }), preload(d), d.initialized = true, preload(d), d.emit("init"), d.emit("afterInit"), d;
2659
+ }
2660
+ destroy(t2 = true, d = true) {
2661
+ let f = this, { params: p, el: m, wrapperEl: h, slides: g } = f;
2662
+ return f.params === void 0 || f.destroyed ? null : (f.emit("beforeDestroy"), f.initialized = false, f.detachEvents(), p.loop && f.loopDestroy(), d && (f.removeClasses(), m && typeof m != "string" && m.removeAttribute("style"), h && h.removeAttribute("style"), g && g.length && g.forEach((t3) => {
2663
+ t3.classList.remove(p.slideVisibleClass, p.slideFullyVisibleClass, p.slideActiveClass, p.slideNextClass, p.slidePrevClass), t3.removeAttribute("style"), t3.removeAttribute("data-swiper-slide-index");
2664
+ })), f.emit("destroy"), Object.keys(f.eventsListeners).forEach((t3) => {
2665
+ f.off(t3);
2666
+ }), t2 !== false && (f.el && typeof f.el != "string" && (f.el.swiper = null), deleteProps(f)), f.destroyed = true, null);
2667
+ }
2668
+ static extendDefaults(t2) {
2669
+ extend$1(extendedDefaults, t2);
2670
+ }
2671
+ static get extendedDefaults() {
2672
+ return extendedDefaults;
2673
+ }
2674
+ static get defaults() {
2675
+ return defaults;
2676
+ }
2677
+ static installModule(d) {
2678
+ t.prototype.__modules__ || (t.prototype.__modules__ = []);
2679
+ let f = t.prototype.__modules__;
2680
+ typeof d == "function" && f.indexOf(d) < 0 && f.push(d);
2681
+ }
2682
+ static use(d) {
2683
+ return Array.isArray(d) ? (d.forEach((d2) => t.installModule(d2)), t) : (t.installModule(d), t);
2684
+ }
2685
+ };
2686
+ Object.keys(prototypes).forEach((t2) => {
2687
+ Object.keys(prototypes[t2]).forEach((d) => {
2688
+ Swiper$1.prototype[d] = prototypes[t2][d];
2689
+ });
2690
+ }), Swiper$1.use([Resize, Observer]);
2691
+ var paramsList = /* @__PURE__ */ "eventsPrefix.injectStyles.injectStylesUrls.modules.init._direction.oneWayMovement.swiperElementNodeName.touchEventsTarget.initialSlide._speed.cssMode.updateOnWindowResize.resizeObserver.nested.focusableElements._enabled._width._height.preventInteractionOnTransition.userAgent.url._edgeSwipeDetection._edgeSwipeThreshold._freeMode._autoHeight.setWrapperSize.virtualTranslate._effect.breakpoints.breakpointsBase._spaceBetween._slidesPerView.maxBackfaceHiddenSlides._grid._slidesPerGroup._slidesPerGroupSkip._slidesPerGroupAuto._centeredSlides._centeredSlidesBounds._slidesOffsetBefore._slidesOffsetAfter.normalizeSlideIndex._centerInsufficientSlides._snapToSlideEdge._watchOverflow.roundLengths.touchRatio.touchAngle.simulateTouch._shortSwipes._longSwipes.longSwipesRatio.longSwipesMs._followFinger.allowTouchMove._threshold.touchMoveStopPropagation.touchStartPreventDefault.touchStartForcePreventDefault.touchReleaseOnEdges.uniqueNavElements._resistance._resistanceRatio._watchSlidesProgress._grabCursor.preventClicks.preventClicksPropagation._slideToClickedSlide._loop.loopAdditionalSlides.loopAddBlankSlides.loopPreventsSliding._rewind._allowSlidePrev._allowSlideNext._swipeHandler._noSwiping.noSwipingClass.noSwipingSelector.passiveListeners.containerModifierClass.slideClass.slideActiveClass.slideVisibleClass.slideFullyVisibleClass.slideNextClass.slidePrevClass.slideBlankClass.wrapperClass.lazyPreloaderClass.lazyPreloadPrevNext.runCallbacksOnInit.observer.observeParents.observeSlideChildren.a11y._autoplay._controller.coverflowEffect.cubeEffect.fadeEffect.flipEffect.creativeEffect.cardsEffect.hashNavigation.history.keyboard.mousewheel._navigation._pagination.parallax._scrollbar._thumbs.virtual.zoom.control".split(".");
2692
+ function isObject(t2) {
2693
+ return typeof t2 == "object" && !!t2 && t2.constructor && Object.prototype.toString.call(t2).slice(8, -1) === "Object" && !t2.__swiper__;
2694
+ }
2695
+ function extend(t2, d) {
2696
+ let f = [
2697
+ "__proto__",
2698
+ "constructor",
2699
+ "prototype"
2700
+ ];
2701
+ Object.keys(d).filter((t3) => f.indexOf(t3) < 0).forEach((f2) => {
2702
+ t2[f2] === void 0 ? t2[f2] = d[f2] : isObject(d[f2]) && isObject(t2[f2]) && Object.keys(d[f2]).length > 0 ? d[f2].__swiper__ ? t2[f2] = d[f2] : extend(t2[f2], d[f2]) : t2[f2] = d[f2];
2703
+ });
2704
+ }
2705
+ function needsNavigation(t2 = {}) {
2706
+ return t2.navigation && t2.navigation.nextEl === void 0 && t2.navigation.prevEl === void 0;
2707
+ }
2708
+ function needsPagination(t2 = {}) {
2709
+ return t2.pagination && t2.pagination.el === void 0;
2710
+ }
2711
+ function needsScrollbar(t2 = {}) {
2712
+ return t2.scrollbar && t2.scrollbar.el === void 0;
2713
+ }
2714
+ function uniqueClasses(t2 = "") {
2715
+ let d = t2.split(" ").map((t3) => t3.trim()).filter((t3) => !!t3), f = [];
2716
+ return d.forEach((t3) => {
2717
+ f.indexOf(t3) < 0 && f.push(t3);
2718
+ }), f.join(" ");
2719
+ }
2720
+ function wrapperClass(t2 = "") {
2721
+ return t2 ? t2.includes("swiper-wrapper") ? t2 : `swiper-wrapper ${t2}` : "swiper-wrapper";
2722
+ }
2723
+ function updateSwiper({ swiper: t2, slides: d, passedParams: f, changedParams: p, nextEl: m, prevEl: h, scrollbarEl: g, paginationEl: _ }) {
2724
+ let v = p.filter((t3) => t3 !== "children" && t3 !== "direction" && t3 !== "wrapperClass"), { params: y, pagination: b, navigation: x, scrollbar: S, virtual: C, thumbs: w } = t2, T, E, D, O, k, A, j, M;
2725
+ p.includes("thumbs") && f.thumbs && f.thumbs.swiper && !f.thumbs.swiper.destroyed && y.thumbs && (!y.thumbs.swiper || y.thumbs.swiper.destroyed) && (T = true), p.includes("controller") && f.controller && f.controller.control && y.controller && !y.controller.control && (E = true), p.includes("pagination") && f.pagination && (f.pagination.el || _) && (y.pagination || y.pagination === false) && b && !b.el && (D = true), p.includes("scrollbar") && f.scrollbar && (f.scrollbar.el || g) && (y.scrollbar || y.scrollbar === false) && S && !S.el && (O = true), p.includes("navigation") && f.navigation && (f.navigation.prevEl || h) && (f.navigation.nextEl || m) && (y.navigation || y.navigation === false) && x && !x.prevEl && !x.nextEl && (k = true);
2726
+ let N = (d2) => {
2727
+ t2[d2] && (t2[d2].destroy(), d2 === "navigation" ? (t2.isElement && (t2[d2].prevEl.remove(), t2[d2].nextEl.remove()), y[d2].prevEl = void 0, y[d2].nextEl = void 0, t2[d2].prevEl = void 0, t2[d2].nextEl = void 0) : (t2.isElement && t2[d2].el.remove(), y[d2].el = void 0, t2[d2].el = void 0));
2728
+ };
2729
+ p.includes("loop") && t2.isElement && (y.loop && !f.loop ? A = true : !y.loop && f.loop ? j = true : M = true), v.forEach((t3) => {
2730
+ if (isObject(y[t3]) && isObject(f[t3])) Object.assign(y[t3], f[t3]), (t3 === "navigation" || t3 === "pagination" || t3 === "scrollbar") && "enabled" in f[t3] && !f[t3].enabled && N(t3);
2731
+ else {
2732
+ let d2 = f[t3];
2733
+ (d2 === true || d2 === false) && (t3 === "navigation" || t3 === "pagination" || t3 === "scrollbar") ? d2 === false && N(t3) : y[t3] = f[t3];
2734
+ }
2735
+ }), v.includes("controller") && !E && t2.controller && t2.controller.control && y.controller && y.controller.control && (t2.controller.control = y.controller.control), p.includes("children") && d && C && y.virtual.enabled ? (C.slides = d, C.update(true)) : p.includes("virtual") && C && y.virtual.enabled && (d && (C.slides = d), C.update(true)), p.includes("children") && d && y.loop && (M = true), T && w.init() && w.update(true), E && (t2.controller.control = y.controller.control), D && (t2.isElement && (!_ || typeof _ == "string") && (_ = document.createElement("div"), _.classList.add("swiper-pagination"), _.part.add("pagination"), t2.el.appendChild(_)), _ && (y.pagination.el = _), b.init(), b.render(), b.update()), O && (t2.isElement && (!g || typeof g == "string") && (g = document.createElement("div"), g.classList.add("swiper-scrollbar"), g.part.add("scrollbar"), t2.el.appendChild(g)), g && (y.scrollbar.el = g), S.init(), S.updateSize(), S.setTranslate()), k && (t2.isElement && ((!m || typeof m == "string") && (m = document.createElement("div"), m.classList.add("swiper-button-next"), setInnerHTML(m, t2.navigation.arrowSvg), m.part.add("button-next"), t2.el.appendChild(m)), (!h || typeof h == "string") && (h = document.createElement("div"), h.classList.add("swiper-button-prev"), setInnerHTML(h, t2.navigation.arrowSvg), h.part.add("button-prev"), t2.el.appendChild(h))), m && (y.navigation.nextEl = m), h && (y.navigation.prevEl = h), x.init(), x.update()), p.includes("allowSlideNext") && (t2.allowSlideNext = f.allowSlideNext), p.includes("allowSlidePrev") && (t2.allowSlidePrev = f.allowSlidePrev), p.includes("direction") && t2.changeDirection(f.direction, false), (A || M) && t2.loopDestroy(), (j || M) && t2.loopCreate(), t2.update();
2736
+ }
2737
+ function getParams(t2 = {}, d = true) {
2738
+ let f = { on: {} }, p = {}, m = {};
2739
+ extend(f, defaults), f._emitClasses = true, f.init = false;
2740
+ let h = {}, g = paramsList.map((t3) => t3.replace(/_/, "")), _ = Object.assign({}, t2);
2741
+ return Object.keys(_).forEach((_2) => {
2742
+ t2[_2] !== void 0 && (g.indexOf(_2) >= 0 ? isObject(t2[_2]) ? (f[_2] = {}, m[_2] = {}, extend(f[_2], t2[_2]), extend(m[_2], t2[_2])) : (f[_2] = t2[_2], m[_2] = t2[_2]) : _2.search(/on[A-Z]/) === 0 && typeof t2[_2] == "function" ? d ? p[`${_2[2].toLowerCase()}${_2.substr(3)}`] = t2[_2] : f.on[`${_2[2].toLowerCase()}${_2.substr(3)}`] = t2[_2] : h[_2] = t2[_2]);
2743
+ }), [
2744
+ "navigation",
2745
+ "pagination",
2746
+ "scrollbar"
2747
+ ].forEach((t3) => {
2748
+ f[t3] === true && (f[t3] = {}), f[t3] === false && delete f[t3];
2749
+ }), {
2750
+ params: f,
2751
+ passedParams: m,
2752
+ rest: h,
2753
+ events: p
2754
+ };
2755
+ }
2756
+ function mountSwiper({ el: t2, nextEl: d, prevEl: f, paginationEl: p, scrollbarEl: m, swiper: h }, g) {
2757
+ needsNavigation(g) && d && f && (h.params.navigation.nextEl = d, h.originalParams.navigation.nextEl = d, h.params.navigation.prevEl = f, h.originalParams.navigation.prevEl = f), needsPagination(g) && p && (h.params.pagination.el = p, h.originalParams.pagination.el = p), needsScrollbar(g) && m && (h.params.scrollbar.el = m, h.originalParams.scrollbar.el = m), h.init(t2);
2758
+ }
2759
+ function getChangedParams(t2, d, f, p, m) {
2760
+ let h = [];
2761
+ if (!d) return h;
2762
+ let g = (t3) => {
2763
+ h.indexOf(t3) < 0 && h.push(t3);
2764
+ };
2765
+ if (f && p) {
2766
+ let t3 = p.map(m), d2 = f.map(m);
2767
+ t3.join("") !== d2.join("") && g("children"), p.length !== f.length && g("children");
2768
+ }
2769
+ return paramsList.filter((t3) => t3[0] === "_").map((t3) => t3.replace(/_/, "")).forEach((f2) => {
2770
+ if (f2 in t2 && f2 in d) if (isObject(t2[f2]) && isObject(d[f2])) {
2771
+ let p2 = Object.keys(t2[f2]), m2 = Object.keys(d[f2]);
2772
+ p2.length === m2.length ? (p2.forEach((p3) => {
2773
+ t2[f2][p3] !== d[f2][p3] && g(f2);
2774
+ }), m2.forEach((p3) => {
2775
+ t2[f2][p3] !== d[f2][p3] && g(f2);
2776
+ })) : g(f2);
2777
+ } else t2[f2] !== d[f2] && g(f2);
2778
+ }), h;
2779
+ }
2780
+ var updateOnVirtualData = (t2) => {
2781
+ !t2 || t2.destroyed || !t2.params.virtual || t2.params.virtual && !t2.params.virtual.enabled || (t2.updateSlides(), t2.updateProgress(), t2.updateSlidesClasses(), t2.emit("_virtualUpdated"), t2.parallax && t2.params.parallax && t2.params.parallax.enabled && t2.parallax.setTranslate());
2782
+ };
2783
+ function _extends() {
2784
+ return _extends = Object.assign ? Object.assign.bind() : function(t2) {
2785
+ for (var d = 1; d < arguments.length; d++) {
2786
+ var f = arguments[d];
2787
+ for (var p in f) Object.prototype.hasOwnProperty.call(f, p) && (t2[p] = f[p]);
2788
+ }
2789
+ return t2;
2790
+ }, _extends.apply(this, arguments);
2791
+ }
2792
+ function isChildSwiperSlide(t2) {
2793
+ return t2.type && t2.type.displayName && t2.type.displayName.includes("SwiperSlide");
2794
+ }
2795
+ function processChildren(t2) {
2796
+ let d = [];
2797
+ return import_react.Children.toArray(t2).forEach((t3) => {
2798
+ isChildSwiperSlide(t3) ? d.push(t3) : t3.props && t3.props.children && processChildren(t3.props.children).forEach((t4) => d.push(t4));
2799
+ }), d;
2800
+ }
2801
+ function getChildren(t2) {
2802
+ let d = [], f = {
2803
+ "container-start": [],
2804
+ "container-end": [],
2805
+ "wrapper-start": [],
2806
+ "wrapper-end": []
2807
+ };
2808
+ return import_react.Children.toArray(t2).forEach((t3) => {
2809
+ if (isChildSwiperSlide(t3)) d.push(t3);
2810
+ else if (t3.props && t3.props.slot && f[t3.props.slot]) f[t3.props.slot].push(t3);
2811
+ else if (t3.props && t3.props.children) {
2812
+ let p = processChildren(t3.props.children);
2813
+ p.length > 0 ? p.forEach((t4) => d.push(t4)) : f["container-end"].push(t3);
2814
+ } else f["container-end"].push(t3);
2815
+ }), {
2816
+ slides: d,
2817
+ slots: f
2818
+ };
2819
+ }
2820
+ function renderVirtual(t2, d, f) {
2821
+ if (!f) return null;
2822
+ let p = (t3) => {
2823
+ let f2 = t3;
2824
+ return t3 < 0 ? f2 = d.length + t3 : f2 >= d.length && (f2 -= d.length), f2;
2825
+ }, m = t2.isHorizontal() ? { [t2.rtlTranslate ? "right" : "left"]: `${f.offset}px` } : { top: `${f.offset}px` }, { from: h, to: g } = f, _ = t2.params.loop ? -d.length : 0, v = t2.params.loop ? d.length * 2 : d.length, b = [];
2826
+ for (let t3 = _; t3 < v; t3 += 1) t3 >= h && t3 <= g && b.push(d[p(t3)]);
2827
+ return b.map((d2, f2) => /* @__PURE__ */ import_react.cloneElement(d2, {
2828
+ swiper: t2,
2829
+ style: m,
2830
+ key: d2.props.virtualIndex || d2.key || `slide-${f2}`
2831
+ }));
2832
+ }
2833
+ function useIsomorphicLayoutEffect(t2, d) {
2834
+ return typeof window > "u" ? (0, import_react.useEffect)(t2, d) : (0, import_react.useLayoutEffect)(t2, d);
2835
+ }
2836
+ var SwiperSlideContext = /* @__PURE__ */ (0, import_react.createContext)(null), SwiperContext = /* @__PURE__ */ (0, import_react.createContext)(null), Swiper = /* @__PURE__ */ (0, import_react.forwardRef)(({ className: t2, tag: d = "div", wrapperTag: f = "div", children: p, onSwiper: m, ...h } = {}, g) => {
2837
+ let _ = false, [v, b] = (0, import_react.useState)("swiper"), [x, S] = (0, import_react.useState)(null), [C, w] = (0, import_react.useState)(false), T = (0, import_react.useRef)(false), E = (0, import_react.useRef)(null), D = (0, import_react.useRef)(null), O = (0, import_react.useRef)(null), k = (0, import_react.useRef)(null), A = (0, import_react.useRef)(null), j = (0, import_react.useRef)(null), M = (0, import_react.useRef)(null), N = (0, import_react.useRef)(null), { params: P, passedParams: F, rest: I, events: L } = getParams(h), { slides: R, slots: z } = getChildren(p), B = () => {
2838
+ w(!C);
2839
+ };
2840
+ Object.assign(P.on, { _containerClasses(t3, d2) {
2841
+ b(d2);
2842
+ } });
2843
+ let V = () => {
2844
+ Object.assign(P.on, L), _ = true;
2845
+ let t3 = { ...P };
2846
+ if (delete t3.wrapperClass, D.current = new Swiper$1(t3), D.current.virtual && D.current.params.virtual.enabled) {
2847
+ D.current.virtual.slides = R;
2848
+ let t4 = {
2849
+ cache: false,
2850
+ slides: R,
2851
+ renderExternal: S,
2852
+ renderExternalUpdate: false
2853
+ };
2854
+ extend(D.current.params.virtual, t4), extend(D.current.originalParams.virtual, t4);
2855
+ }
2856
+ };
2857
+ E.current || V(), D.current && D.current.on("_beforeBreakpoint", B);
2858
+ let H = () => {
2859
+ _ || !L || !D.current || Object.keys(L).forEach((t3) => {
2860
+ D.current.on(t3, L[t3]);
2861
+ });
2862
+ }, U = () => {
2863
+ !L || !D.current || Object.keys(L).forEach((t3) => {
2864
+ D.current.off(t3, L[t3]);
2865
+ });
2866
+ };
2867
+ (0, import_react.useEffect)(() => () => {
2868
+ D.current && D.current.off("_beforeBreakpoint", B);
2869
+ }), (0, import_react.useEffect)(() => {
2870
+ !T.current && D.current && (D.current.emitSlidesClasses(), T.current = true);
2871
+ }), useIsomorphicLayoutEffect(() => {
2872
+ if (g && (g.current = E.current), E.current) return D.current.destroyed && V(), mountSwiper({
2873
+ el: E.current,
2874
+ nextEl: A.current,
2875
+ prevEl: j.current,
2876
+ paginationEl: M.current,
2877
+ scrollbarEl: N.current,
2878
+ swiper: D.current
2879
+ }, P), m && !D.current.destroyed && m(D.current), () => {
2880
+ D.current && !D.current.destroyed && D.current.destroy(true, false);
2881
+ };
2882
+ }, []), useIsomorphicLayoutEffect(() => {
2883
+ H();
2884
+ let t3 = getChangedParams(F, O.current, R, k.current, (t4) => t4.key);
2885
+ return O.current = F, k.current = R, t3.length && D.current && !D.current.destroyed && updateSwiper({
2886
+ swiper: D.current,
2887
+ slides: R,
2888
+ passedParams: F,
2889
+ changedParams: t3,
2890
+ nextEl: A.current,
2891
+ prevEl: j.current,
2892
+ scrollbarEl: N.current,
2893
+ paginationEl: M.current
2894
+ }), () => {
2895
+ U();
2896
+ };
2897
+ }), useIsomorphicLayoutEffect(() => {
2898
+ updateOnVirtualData(D.current);
2899
+ }, [x]);
2900
+ function W() {
2901
+ return P.virtual ? renderVirtual(D.current, R, x) : R.map((t3, d2) => /* @__PURE__ */ import_react.cloneElement(t3, {
2902
+ swiper: D.current,
2903
+ swiperSlideIndex: d2
2904
+ }));
2905
+ }
2906
+ return /* @__PURE__ */ import_react.createElement(d, _extends({
2907
+ ref: E,
2908
+ className: uniqueClasses(`${v}${t2 ? ` ${t2}` : ""}`)
2909
+ }, I), /* @__PURE__ */ import_react.createElement(SwiperContext.Provider, { value: D.current }, z["container-start"], /* @__PURE__ */ import_react.createElement(f, { className: wrapperClass(P.wrapperClass) }, z["wrapper-start"], W(), z["wrapper-end"]), needsNavigation(P) && /* @__PURE__ */ import_react.createElement(import_react.Fragment, null, /* @__PURE__ */ import_react.createElement("div", {
2910
+ ref: j,
2911
+ className: "swiper-button-prev"
2912
+ }), /* @__PURE__ */ import_react.createElement("div", {
2913
+ ref: A,
2914
+ className: "swiper-button-next"
2915
+ })), needsScrollbar(P) && /* @__PURE__ */ import_react.createElement("div", {
2916
+ ref: N,
2917
+ className: "swiper-scrollbar"
2918
+ }), needsPagination(P) && /* @__PURE__ */ import_react.createElement("div", {
2919
+ ref: M,
2920
+ className: "swiper-pagination"
2921
+ }), z["container-end"]));
2922
+ });
2923
+ Swiper.displayName = "Swiper";
2924
+ var SwiperSlide = /* @__PURE__ */ (0, import_react.forwardRef)(({ tag: t2 = "div", children: d, className: f = "", swiper: p, zoom: m, lazy: h, virtualIndex: g, swiperSlideIndex: _, ...v } = {}, b) => {
2925
+ let x = (0, import_react.useRef)(null), [S, C] = (0, import_react.useState)("swiper-slide"), [w, T] = (0, import_react.useState)(false);
2926
+ function E(t3, d2, f2) {
2927
+ d2 === x.current && C(f2);
2928
+ }
2929
+ useIsomorphicLayoutEffect(() => {
2930
+ if (_ !== void 0 && (x.current.swiperSlideIndex = _), b && (b.current = x.current), !(!x.current || !p)) {
2931
+ if (p.destroyed) {
2932
+ S !== "swiper-slide" && C("swiper-slide");
2933
+ return;
2934
+ }
2935
+ return p.on("_slideClass", E), () => {
2936
+ p && p.off("_slideClass", E);
2937
+ };
2938
+ }
2939
+ }), useIsomorphicLayoutEffect(() => {
2940
+ p && x.current && !p.destroyed && C(p.getSlideClasses(x.current));
2941
+ }, [p]);
2942
+ let D = {
2943
+ isActive: S.indexOf("swiper-slide-active") >= 0,
2944
+ isVisible: S.indexOf("swiper-slide-visible") >= 0,
2945
+ isPrev: S.indexOf("swiper-slide-prev") >= 0,
2946
+ isNext: S.indexOf("swiper-slide-next") >= 0
2947
+ }, O = () => typeof d == "function" ? d(D) : d, k = () => {
2948
+ T(true);
2949
+ };
2950
+ return /* @__PURE__ */ import_react.createElement(t2, _extends({
2951
+ ref: x,
2952
+ className: uniqueClasses(`${S}${f ? ` ${f}` : ""}`),
2953
+ "data-swiper-slide-index": g,
2954
+ onLoad: k
2955
+ }, v), m && /* @__PURE__ */ import_react.createElement(SwiperSlideContext.Provider, { value: D }, /* @__PURE__ */ import_react.createElement("div", {
2956
+ className: "swiper-zoom-container",
2957
+ "data-swiper-zoom": typeof m == "number" ? m : void 0
2958
+ }, O(), h && !w && /* @__PURE__ */ import_react.createElement("div", {
2959
+ className: "swiper-lazy-preloader",
2960
+ ref: (t3) => {
2961
+ t3 && (t3.lazyPreloaderManaged = true);
2962
+ }
2963
+ }))), !m && /* @__PURE__ */ import_react.createElement(SwiperSlideContext.Provider, { value: D }, O(), h && !w && /* @__PURE__ */ import_react.createElement("div", {
2964
+ className: "swiper-lazy-preloader",
2965
+ ref: (t3) => {
2966
+ t3 && (t3.lazyPreloaderManaged = true);
2967
+ }
2968
+ })));
2969
+ });
2970
+ SwiperSlide.displayName = "SwiperSlide";
2971
+ var import_jsx_runtime = /* @__PURE__ */ __toESM(require_jsx_runtime(), 1), slides_component_default = (t2) => {
2972
+ let d = (0, import_compiler_runtime.c)(37), { className: f, children: g, height: b, forceKeyboardNavigation: x, wrapAround: S, activeIndex: C, onActiveIndexChange: w } = t2, T = x === void 0 ? false : x, E = S === void 0 ? false : S, D = import_react.useRef(null), [O, k] = import_react.useState(false), { hasFullscreen: A } = useIframeCapabilities(), j, M;
2973
+ d[0] !== C || d[1] !== E ? (j = () => {
2974
+ var _a, _b, _c;
2975
+ C != null && ((_a = D.current) == null ? void 0 : _a.swiper.realIndex) !== C && (E ? (_b = D.current) == null ? void 0 : _b.swiper.slideToLoop(C) : (_c = D.current) == null ? void 0 : _c.swiper.slideTo(C));
2976
+ }, M = [C, E], d[0] = C, d[1] = E, d[2] = j, d[3] = M) : (j = d[2], M = d[3]), (0, import_react.useEffect)(j, M);
2977
+ let N;
2978
+ d[4] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (N = () => {
2979
+ var _a, _b;
2980
+ document.fullscreenElement ? (_a = D.current) == null ? void 0 : _a.swiper.keyboard.enable() : (_b = D.current) == null ? void 0 : _b.swiper.keyboard.disable(), k(!!document.fullscreenElement);
2981
+ }, d[4] = N) : N = d[4], useEventListener(document, "fullscreenchange", N);
2982
+ let P;
2983
+ d[5] === O ? P = d[6] : (P = [O], d[5] = O, d[6] = P), (0, import_react.useEffect)(_temp2, P);
2984
+ let F;
2985
+ d[7] === E ? F = d[8] : (F = E ? [
2986
+ Keyboard,
2987
+ Pagination,
2988
+ Zoom,
2989
+ Navigation
2990
+ ] : [
2991
+ Virtual,
2992
+ Keyboard,
2993
+ Pagination,
2994
+ Zoom,
2995
+ Navigation
2996
+ ], d[7] = E, d[8] = F);
2997
+ let I = F, L;
2998
+ d[9] === f ? L = d[10] : (L = cn("relative w-full border rounded bg-background mo-slides-theme prose-slides", f), d[9] = f, d[10] = L);
2999
+ let R = O ? "100%" : b || "650px", z;
3000
+ d[11] === R ? z = d[12] : (z = { height: R }, d[11] = R, d[12] = z);
3001
+ let B;
3002
+ d[13] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (B = { maxRatio: 5 }, d[13] = B) : B = d[13];
3003
+ let V = O || T, H;
3004
+ d[14] === V ? H = d[15] : (H = { enabled: V }, d[14] = V, d[15] = H);
3005
+ let U;
3006
+ d[16] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (U = { clickable: true }, d[16] = U) : U = d[16];
3007
+ let W = !E, G;
3008
+ d[17] === w ? G = d[18] : (G = (t3) => w == null ? void 0 : w(t3.realIndex), d[17] = w, d[18] = G);
3009
+ let K;
3010
+ if (d[19] !== g || d[20] !== O) {
3011
+ let t3;
3012
+ d[22] === O ? t3 = d[23] : (t3 = (t4, d2) => t4 == null ? null : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SwiperSlide, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
3013
+ onKeyDown: _temp3,
3014
+ className: cn("h-full w-full flex box-border overflow-y-auto overflow-x-hidden", O ? "p-20" : "p-6 pb-12"),
3015
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
3016
+ className: "mo-slide-content",
3017
+ children: t4
3018
+ })
3019
+ }) }, d2), d[22] = O, d[23] = t3), K = import_react.Children.map(g, t3), d[19] = g, d[20] = O, d[21] = K;
3020
+ } else K = d[21];
3021
+ let q;
3022
+ d[24] !== A || d[25] !== O ? (q = A && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Button, {
3023
+ variant: "link",
3024
+ size: "sm",
3025
+ "data-testid": "marimo-plugin-slides-fullscreen",
3026
+ onClick: async () => {
3027
+ if (!D.current) return;
3028
+ let t3 = D.current;
3029
+ document.fullscreenElement ? (await document.exitFullscreen(), k(false)) : (await t3.requestFullscreen(), k(true));
3030
+ },
3031
+ className: "absolute bottom-0 right-0 z-10 mx-1 mb-0",
3032
+ children: O ? "Exit Fullscreen" : "Fullscreen"
3033
+ }), d[24] = A, d[25] = O, d[26] = q) : q = d[26];
3034
+ let J;
3035
+ return d[27] !== I || d[28] !== z || d[29] !== H || d[30] !== W || d[31] !== G || d[32] !== K || d[33] !== q || d[34] !== L || d[35] !== E ? (J = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Swiper, {
3036
+ ref: D,
3037
+ className: L,
3038
+ spaceBetween: 50,
3039
+ style: z,
3040
+ slidesPerView: 1,
3041
+ modules: I,
3042
+ zoom: B,
3043
+ simulateTouch: false,
3044
+ keyboard: H,
3045
+ navigation: true,
3046
+ pagination: U,
3047
+ virtual: W,
3048
+ speed: 1,
3049
+ loop: E,
3050
+ onSlideChange: G,
3051
+ children: [K, q]
3052
+ }), d[27] = I, d[28] = z, d[29] = H, d[30] = W, d[31] = G, d[32] = K, d[33] = q, d[34] = L, d[35] = E, d[36] = J) : J = d[36], J;
3053
+ };
3054
+ function _temp() {
3055
+ window.dispatchEvent(new Event("resize"));
3056
+ }
3057
+ function _temp2() {
3058
+ requestAnimationFrame(_temp);
3059
+ }
3060
+ function _temp3(t2) {
3061
+ t2.target instanceof HTMLElement && t2.target.tagName.toLocaleLowerCase().startsWith("marimo-") && t2.stopPropagation();
3062
+ }
3063
+ export {
3064
+ slides_component_default as default
3065
+ };