UNPKG

vue-mobcal3

Version:
1,343 lines 93 kB
import { openBlock as G, createElementBlock as F, createElementVNode as L, renderSlot as W, withModifiers as ce, toDisplayString as U, Fragment as X, renderList as R, createTextVNode as Pe, normalizeClass as ue } from "vue"; function fe(e) { return e !== null && typeof e == "object" && "constructor" in e && e.constructor === Object; } function ae(e = {}, t = {}) { Object.keys(t).forEach((s) => { typeof e[s] > "u" ? e[s] = t[s] : fe(t[s]) && fe(e[s]) && Object.keys(t[s]).length > 0 && ae(e[s], t[s]); }); } const Se = { body: {}, addEventListener() { }, removeEventListener() { }, activeElement: { blur() { }, nodeName: "" }, querySelector() { return null; }, querySelectorAll() { return []; }, getElementById() { return null; }, createEvent() { return { initEvent() { } }; }, createElement() { return { children: [], childNodes: [], style: {}, setAttribute() { }, getElementsByTagName() { return []; } }; }, createElementNS() { return {}; }, importNode() { return null; }, location: { hash: "", host: "", hostname: "", href: "", origin: "", pathname: "", protocol: "", search: "" } }; function H() { const e = typeof document < "u" ? document : {}; return ae(e, Se), e; } const Le = { document: Se, navigator: { userAgent: "" }, location: { hash: "", host: "", hostname: "", href: "", origin: "", pathname: "", protocol: "", search: "" }, history: { replaceState() { }, pushState() { }, go() { }, back() { } }, CustomEvent: function() { return this; }, addEventListener() { }, removeEventListener() { }, getComputedStyle() { return { getPropertyValue() { return ""; } }; }, Image() { }, Date() { }, screen: {}, setTimeout() { }, clearTimeout() { }, matchMedia() { return {}; }, requestAnimationFrame(e) { return typeof setTimeout > "u" ? (e(), null) : setTimeout(e, 0); }, cancelAnimationFrame(e) { typeof setTimeout > "u" || clearTimeout(e); } }; function D() { const e = typeof window < "u" ? window : {}; return ae(e, Le), e; } function Ie(e) { const t = e; Object.keys(t).forEach((s) => { try { t[s] = null; } catch { } try { delete t[s]; } catch { } }); } function j(e, t = 0) { return setTimeout(e, t); } function A() { return Date.now(); } function ke(e) { const t = D(); let s; return t.getComputedStyle && (s = t.getComputedStyle(e, null)), !s && e.currentStyle && (s = e.currentStyle), s || (s = e.style), s; } function De(e, t = "x") { const s = D(); let i, r, n; const o = ke(e); return s.WebKitCSSMatrix ? (r = o.transform || o.webkitTransform, r.split(",").length > 6 && (r = r.split(", ").map((l) => l.replace(",", ".")).join(", ")), n = new s.WebKitCSSMatrix(r === "none" ? "" : r)) : (n = o.MozTransform || o.OTransform || o.MsTransform || o.msTransform || o.transform || o.getPropertyValue("transform").replace("translate(", "matrix(1, 0, 0, 1,"), i = n.toString().split(",")), t === "x" && (s.WebKitCSSMatrix ? r = n.m41 : i.length === 16 ? r = parseFloat(i[12]) : r = parseFloat(i[4])), t === "y" && (s.WebKitCSSMatrix ? r = n.m42 : i.length === 16 ? r = parseFloat(i[13]) : r = parseFloat(i[5])), r || 0; } function Z(e) { return typeof e == "object" && e !== null && e.constructor && Object.prototype.toString.call(e).slice(8, -1) === "Object"; } function Oe(e) { return typeof window < "u" && typeof window.HTMLElement < "u" ? e instanceof HTMLElement : e && (e.nodeType === 1 || e.nodeType === 11); } function z(...e) { const t = Object(e[0]), s = ["__proto__", "constructor", "prototype"]; for (let i = 1; i < e.length; i += 1) { const r = e[i]; if (r != null && !Oe(r)) { const n = Object.keys(Object(r)).filter((o) => s.indexOf(o) < 0); for (let o = 0, l = n.length; o < l; o += 1) { const a = n[o], d = Object.getOwnPropertyDescriptor(r, a); d !== void 0 && d.enumerable && (Z(t[a]) && Z(r[a]) ? r[a].__swiper__ ? t[a] = r[a] : z(t[a], r[a]) : !Z(t[a]) && Z(r[a]) ? (t[a] = {}, r[a].__swiper__ ? t[a] = r[a] : z(t[a], r[a])) : t[a] = r[a]); } } } return t; } function J(e, t, s) { e.style.setProperty(t, s); } function be({ swiper: e, targetPosition: t, side: s }) { const i = D(), r = -e.translate; let n = null, o; const l = e.params.speed; e.wrapperEl.style.scrollSnapType = "none", i.cancelAnimationFrame(e.cssModeFrameID); const a = t > r ? "next" : "prev", d = (u, f) => a === "next" && u >= f || a === "prev" && u <= f, p = () => { o = (/* @__PURE__ */ new Date()).getTime(), n === null && (n = o); const u = Math.max(Math.min((o - n) / l, 1), 0), f = 0.5 - Math.cos(u * Math.PI) / 2; let c = r + f * (t - r); if (d(c, t) && (c = t), e.wrapperEl.scrollTo({ [s]: c }), d(c, t)) { e.wrapperEl.style.overflow = "hidden", e.wrapperEl.style.scrollSnapType = "", setTimeout(() => { e.wrapperEl.style.overflow = "", e.wrapperEl.scrollTo({ [s]: c }); }), i.cancelAnimationFrame(e.cssModeFrameID); return; } e.cssModeFrameID = i.requestAnimationFrame(p); }; p(); } function V(e, t = "") { return [...e.children].filter((s) => s.matches(t)); } function ze(e, t = []) { const s = document.createElement(e); return s.classList.add(...Array.isArray(t) ? t : [t]), s; } function _e(e, t) { const s = []; for (; e.previousElementSibling; ) { const i = e.previousElementSibling; t ? i.matches(t) && s.push(i) : s.push(i), e = i; } return s; } function Ae(e, t) { const s = []; for (; e.nextElementSibling; ) { const i = e.nextElementSibling; t ? i.matches(t) && s.push(i) : s.push(i), e = i; } return s; } function B(e, t) { return D().getComputedStyle(e, null).getPropertyValue(t); } function pe(e) { let t = e, s; if (t) { for (s = 0; (t = t.previousSibling) !== null; ) t.nodeType === 1 && (s += 1); return s; } } function Ge(e, t) { const s = []; let i = e.parentElement; for (; i; ) t ? i.matches(t) && s.push(i) : s.push(i), i = i.parentElement; return s; } function he(e, t, s) { const i = D(); return s ? e[t === "width" ? "offsetWidth" : "offsetHeight"] + parseFloat(i.getComputedStyle(e, null).getPropertyValue(t === "width" ? "margin-right" : "margin-top")) + parseFloat(i.getComputedStyle(e, null).getPropertyValue(t === "width" ? "margin-left" : "margin-bottom")) : e.offsetWidth; } let te; function Fe() { const e = D(), t = H(); return { smoothScroll: t.documentElement && "scrollBehavior" in t.documentElement.style, touch: !!("ontouchstart" in e || e.DocumentTouch && t instanceof e.DocumentTouch) }; } function ye() { return te || (te = Fe()), te; } let se; function Ve({ userAgent: e } = {}) { const t = ye(), s = D(), i = s.navigator.platform, r = e || s.navigator.userAgent, n = { ios: !1, android: !1 }, o = s.screen.width, l = s.screen.height, a = r.match(/(Android);?[\s\/]+([\d.]+)?/); let d = r.match(/(iPad).*OS\s([\d_]+)/); const p = r.match(/(iPod)(.*OS\s([\d_]+))?/), u = !d && r.match(/(iPhone\sOS|iOS)\s([\d_]+)/), f = i === "Win32"; let c = i === "MacIntel"; const T = ["1024x1366", "1366x1024", "834x1194", "1194x834", "834x1112", "1112x834", "768x1024", "1024x768", "820x1180", "1180x820", "810x1080", "1080x810"]; return !d && c && t.touch && T.indexOf(`${o}x${l}`) >= 0 && (d = r.match(/(Version)\/([\d.]+)/), d || (d = [0, 1, "13_0_0"]), c = !1), a && !f && (n.os = "android", n.android = !0), (d || u || p) && (n.os = "ios", n.ios = !0), n; } function Be(e = {}) { return se || (se = Ve(e)), se; } let ie; function He() { const e = D(); let t = !1; function s() { const i = e.navigator.userAgent.toLowerCase(); return i.indexOf("safari") >= 0 && i.indexOf("chrome") < 0 && i.indexOf("android") < 0; } if (s()) { const i = String(e.navigator.userAgent); if (i.includes("Version/")) { const [r, n] = i.split("Version/")[1].split(" ")[0].split(".").map((o) => Number(o)); t = r < 16 || r === 16 && n < 2; } } return { isSafari: t || s(), needPerspectiveFix: t, isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent) }; } function Ne() { return ie || (ie = He()), ie; } function $e({ swiper: e, on: t, emit: s }) { const i = D(); let r = null, n = null; const o = () => { !e || e.destroyed || !e.initialized || (s("beforeResize"), s("resize")); }, l = () => { !e || e.destroyed || !e.initialized || (r = new ResizeObserver((p) => { n = i.requestAnimationFrame(() => { const { width: u, height: f } = e; let c = u, T = f; p.forEach(({ contentBoxSize: v, contentRect: y, target: w }) => { w && w !== e.el || (c = y ? y.width : (v[0] || v).inlineSize, T = y ? y.height : (v[0] || v).blockSize); }), (c !== u || T !== f) && o(); }); }), r.observe(e.el)); }, a = () => { n && i.cancelAnimationFrame(n), r && r.unobserve && e.el && (r.unobserve(e.el), r = null); }, d = () => { !e || e.destroyed || !e.initialized || s("orientationchange"); }; t("init", () => { if (e.params.resizeObserver && typeof i.ResizeObserver < "u") { l(); return; } i.addEventListener("resize", o), i.addEventListener("orientationchange", d); }), t("destroy", () => { a(), i.removeEventListener("resize", o), i.removeEventListener("orientationchange", d); }); } function Ye({ swiper: e, extendParams: t, on: s, emit: i }) { const r = [], n = D(), o = (d, p = {}) => { const u = n.MutationObserver || n.WebkitMutationObserver, f = new u((c) => { if (e.__preventObserver__) return; if (c.length === 1) { i("observerUpdate", c[0]); return; } const T = function() { i("observerUpdate", c[0]); }; n.requestAnimationFrame ? n.requestAnimationFrame(T) : n.setTimeout(T, 0); }); f.observe(d, { attributes: typeof p.attributes > "u" ? !0 : p.attributes, childList: typeof p.childList > "u" ? !0 : p.childList, characterData: typeof p.characterData > "u" ? !0 : p.characterData }), r.push(f); }, l = () => { if (e.params.observer) { if (e.params.observeParents) { const d = Ge(e.el); for (let p = 0; p < d.length; p += 1) o(d[p]); } o(e.el, { childList: e.params.observeSlideChildren }), o(e.wrapperEl, { attributes: !1 }); } }, a = () => { r.forEach((d) => { d.disconnect(); }), r.splice(0, r.length); }; t({ observer: !1, observeParents: !1, observeSlideChildren: !1 }), s("init", l), s("destroy", a); } const We = { on(e, t, s) { const i = this; if (!i.eventsListeners || i.destroyed || typeof t != "function") return i; const r = s ? "unshift" : "push"; return e.split(" ").forEach((n) => { i.eventsListeners[n] || (i.eventsListeners[n] = []), i.eventsListeners[n][r](t); }), i; }, once(e, t, s) { const i = this; if (!i.eventsListeners || i.destroyed || typeof t != "function") return i; function r(...n) { i.off(e, r), r.__emitterProxy && delete r.__emitterProxy, t.apply(i, n); } return r.__emitterProxy = t, i.on(e, r, s); }, onAny(e, t) { const s = this; if (!s.eventsListeners || s.destroyed || typeof e != "function") return s; const i = t ? "unshift" : "push"; return s.eventsAnyListeners.indexOf(e) < 0 && s.eventsAnyListeners[i](e), s; }, offAny(e) { const t = this; if (!t.eventsListeners || t.destroyed || !t.eventsAnyListeners) return t; const s = t.eventsAnyListeners.indexOf(e); return s >= 0 && t.eventsAnyListeners.splice(s, 1), t; }, off(e, t) { const s = this; return !s.eventsListeners || s.destroyed || !s.eventsListeners || e.split(" ").forEach((i) => { typeof t > "u" ? s.eventsListeners[i] = [] : s.eventsListeners[i] && s.eventsListeners[i].forEach((r, n) => { (r === t || r.__emitterProxy && r.__emitterProxy === t) && s.eventsListeners[i].splice(n, 1); }); }), s; }, emit(...e) { const t = this; if (!t.eventsListeners || t.destroyed || !t.eventsListeners) return t; let s, i, r; return typeof e[0] == "string" || Array.isArray(e[0]) ? (s = e[0], i = e.slice(1, e.length), r = t) : (s = e[0].events, i = e[0].data, r = e[0].context || t), i.unshift(r), (Array.isArray(s) ? s : s.split(" ")).forEach((o) => { t.eventsAnyListeners && t.eventsAnyListeners.length && t.eventsAnyListeners.forEach((l) => { l.apply(r, [o, ...i]); }), t.eventsListeners && t.eventsListeners[o] && t.eventsListeners[o].forEach((l) => { l.apply(r, i); }); }), t; } }; function Xe() { const e = this; let t, s; const i = e.el; typeof e.params.width < "u" && e.params.width !== null ? t = e.params.width : t = i.clientWidth, typeof e.params.height < "u" && e.params.height !== null ? s = e.params.height : s = i.clientHeight, !(t === 0 && e.isHorizontal() || s === 0 && e.isVertical()) && (t = t - parseInt(B(i, "padding-left") || 0, 10) - parseInt(B(i, "padding-right") || 0, 10), s = s - parseInt(B(i, "padding-top") || 0, 10) - parseInt(B(i, "padding-bottom") || 0, 10), Number.isNaN(t) && (t = 0), Number.isNaN(s) && (s = 0), Object.assign(e, { width: t, height: s, size: e.isHorizontal() ? t : s })); } function Re() { const e = this; function t(S) { return e.isHorizontal() ? S : { width: "height", "margin-top": "margin-left", "margin-bottom ": "margin-right", "margin-left": "margin-top", "margin-right": "margin-bottom", "padding-left": "padding-top", "padding-right": "padding-bottom", marginRight: "marginBottom" }[S]; } function s(S, g) { return parseFloat(S.getPropertyValue(t(g)) || 0); } const i = e.params, { wrapperEl: r, slidesEl: n, size: o, rtlTranslate: l, wrongRTL: a } = e, d = e.virtual && i.virtual.enabled, p = d ? e.virtual.slides.length : e.slides.length, u = V(n, `.${e.params.slideClass}, swiper-slide`), f = d ? e.virtual.slides.length : u.length; let c = []; const T = [], v = []; let y = i.slidesOffsetBefore; typeof y == "function" && (y = i.slidesOffsetBefore.call(e)); let w = i.slidesOffsetAfter; typeof w == "function" && (w = i.slidesOffsetAfter.call(e)); const m = e.snapGrid.length, h = e.slidesGrid.length; let E = i.spaceBetween, x = -y, b = 0, I = 0; if (typeof o > "u") return; typeof E == "string" && E.indexOf("%") >= 0 && (E = parseFloat(E.replace("%", "")) / 100 * o), e.virtualSize = -E, u.forEach((S) => { l ? S.style.marginLeft = "" : S.style.marginRight = "", S.style.marginBottom = "", S.style.marginTop = ""; }), i.centeredSlides && i.cssMode && (J(r, "--swiper-centered-offset-before", ""), J(r, "--swiper-centered-offset-after", "")); const C = i.grid && i.grid.rows > 1 && e.grid; C && e.grid.initSlides(f); let P; const _ = i.slidesPerView === "auto" && i.breakpoints && Object.keys(i.breakpoints).filter((S) => typeof i.breakpoints[S].slidesPerView < "u").length > 0; for (let S = 0; S < f; S += 1) { P = 0; let g; if (u[S] && (g = u[S]), C && e.grid.updateSlide(S, g, f, t), !(u[S] && B(g, "display") === "none")) { if (i.slidesPerView === "auto") { _ && (u[S].style[t("width")] = ""); const M = getComputedStyle(g), k = g.style.transform, N = g.style.webkitTransform; if (k && (g.style.transform = "none"), N && (g.style.webkitTransform = "none"), i.roundLengths) P = e.isHorizontal() ? he(g, "width", !0) : he(g, "height", !0); else { const q = s(M, "width"), $ = s(M, "padding-left"), K = s(M, "padding-right"), Y = s(M, "margin-left"), oe = s(M, "margin-right"), de = M.getPropertyValue("box-sizing"); if (de && de === "border-box") P = q + Y + oe; else { const { clientWidth: Me, offsetWidth: Ce } = g; P = q + $ + K + Y + oe + (Ce - Me); } } k && (g.style.transform = k), N && (g.style.webkitTransform = N), i.roundLengths && (P = Math.floor(P)); } else P = (o - (i.slidesPerView - 1) * E) / i.slidesPerView, i.roundLengths && (P = Math.floor(P)), u[S] && (u[S].style[t("width")] = `${P}px`); u[S] && (u[S].swiperSlideSize = P), v.push(P), i.centeredSlides ? (x = x + P / 2 + b / 2 + E, b === 0 && S !== 0 && (x = x - o / 2 - E), S === 0 && (x = x - o / 2 - E), Math.abs(x) < 1 / 1e3 && (x = 0), i.roundLengths && (x = Math.floor(x)), I % i.slidesPerGroup === 0 && c.push(x), T.push(x)) : (i.roundLengths && (x = Math.floor(x)), (I - Math.min(e.params.slidesPerGroupSkip, I)) % e.params.slidesPerGroup === 0 && c.push(x), T.push(x), x = x + P + E), e.virtualSize += P + E, b = P, I += 1; } } if (e.virtualSize = Math.max(e.virtualSize, o) + w, l && a && (i.effect === "slide" || i.effect === "coverflow") && (r.style.width = `${e.virtualSize + i.spaceBetween}px`), i.setWrapperSize && (r.style[t("width")] = `${e.virtualSize + i.spaceBetween}px`), C && e.grid.updateWrapperSize(P, c, t), !i.centeredSlides) { const S = []; for (let g = 0; g < c.length; g += 1) { let M = c[g]; i.roundLengths && (M = Math.floor(M)), c[g] <= e.virtualSize - o && S.push(M); } c = S, Math.floor(e.virtualSize - o) - Math.floor(c[c.length - 1]) > 1 && c.push(e.virtualSize - o); } if (d && i.loop) { const S = v[0] + E; if (i.slidesPerGroup > 1) { const g = Math.ceil((e.virtual.slidesBefore + e.virtual.slidesAfter) / i.slidesPerGroup), M = S * i.slidesPerGroup; for (let k = 0; k < g; k += 1) c.push(c[c.length - 1] + M); } for (let g = 0; g < e.virtual.slidesBefore + e.virtual.slidesAfter; g += 1) i.slidesPerGroup === 1 && c.push(c[c.length - 1] + S), T.push(T[T.length - 1] + S), e.virtualSize += S; } if (c.length === 0 && (c = [0]), i.spaceBetween !== 0) { const S = e.isHorizontal() && l ? "marginLeft" : t("marginRight"); u.filter((g, M) => !i.cssMode || i.loop ? !0 : M !== u.length - 1).forEach((g) => { g.style[S] = `${E}px`; }); } if (i.centeredSlides && i.centeredSlidesBounds) { let S = 0; v.forEach((M) => { S += M + (i.spaceBetween ? i.spaceBetween : 0); }), S -= i.spaceBetween; const g = S - o; c = c.map((M) => M < 0 ? -y : M > g ? g + w : M); } if (i.centerInsufficientSlides) { let S = 0; if (v.forEach((g) => { S += g + (i.spaceBetween ? i.spaceBetween : 0); }), S -= i.spaceBetween, S < o) { const g = (o - S) / 2; c.forEach((M, k) => { c[k] = M - g; }), T.forEach((M, k) => { T[k] = M + g; }); } } if (Object.assign(e, { slides: u, snapGrid: c, slidesGrid: T, slidesSizesGrid: v }), i.centeredSlides && i.cssMode && !i.centeredSlidesBounds) { J(r, "--swiper-centered-offset-before", `${-c[0]}px`), J(r, "--swiper-centered-offset-after", `${e.size / 2 - v[v.length - 1] / 2}px`); const S = -e.snapGrid[0], g = -e.slidesGrid[0]; e.snapGrid = e.snapGrid.map((M) => M + S), e.slidesGrid = e.slidesGrid.map((M) => M + g); } if (f !== p && e.emit("slidesLengthChange"), c.length !== m && (e.params.watchOverflow && e.checkOverflow(), e.emit("snapGridLengthChange")), T.length !== h && e.emit("slidesGridLengthChange"), i.watchSlidesProgress && e.updateSlidesOffset(), !d && !i.cssMode && (i.effect === "slide" || i.effect === "fade")) { const S = `${i.containerModifierClass}backface-hidden`, g = e.el.classList.contains(S); f <= i.maxBackfaceHiddenSlides ? g || e.el.classList.add(S) : g && e.el.classList.remove(S); } } function je(e) { const t = this, s = [], i = t.virtual && t.params.virtual.enabled; let r = 0, n; typeof e == "number" ? t.setTransition(e) : e === !0 && t.setTransition(t.params.speed); const o = (l) => i ? t.getSlideIndexByData(l) : t.slides[l]; if (t.params.slidesPerView !== "auto" && t.params.slidesPerView > 1) if (t.params.centeredSlides) (t.visibleSlides || []).forEach((l) => { s.push(l); }); else for (n = 0; n < Math.ceil(t.params.slidesPerView); n += 1) { const l = t.activeIndex + n; if (l > t.slides.length && !i) break; s.push(o(l)); } else s.push(o(t.activeIndex)); for (n = 0; n < s.length; n += 1) if (typeof s[n] < "u") { const l = s[n].offsetHeight; r = l > r ? l : r; } (r || r === 0) && (t.wrapperEl.style.height = `${r}px`); } function qe() { const e = this, t = e.slides, s = e.isElement ? e.isHorizontal() ? e.wrapperEl.offsetLeft : e.wrapperEl.offsetTop : 0; for (let i = 0; i < t.length; i += 1) t[i].swiperSlideOffset = (e.isHorizontal() ? t[i].offsetLeft : t[i].offsetTop) - s; } function Ke(e = this && this.translate || 0) { const t = this, s = t.params, { slides: i, rtlTranslate: r, snapGrid: n } = t; if (i.length === 0) return; typeof i[0].swiperSlideOffset > "u" && t.updateSlidesOffset(); let o = -e; r && (o = e), i.forEach((l) => { l.classList.remove(s.slideVisibleClass); }), t.visibleSlidesIndexes = [], t.visibleSlides = []; for (let l = 0; l < i.length; l += 1) { const a = i[l]; let d = a.swiperSlideOffset; s.cssMode && s.centeredSlides && (d -= i[0].swiperSlideOffset); const p = (o + (s.centeredSlides ? t.minTranslate() : 0) - d) / (a.swiperSlideSize + s.spaceBetween), u = (o - n[0] + (s.centeredSlides ? t.minTranslate() : 0) - d) / (a.swiperSlideSize + s.spaceBetween), f = -(o - d), c = f + t.slidesSizesGrid[l]; (f >= 0 && f < t.size - 1 || c > 1 && c <= t.size || f <= 0 && c >= t.size) && (t.visibleSlides.push(a), t.visibleSlidesIndexes.push(l), i[l].classList.add(s.slideVisibleClass)), a.progress = r ? -p : p, a.originalProgress = r ? -u : u; } } function Ue(e) { const t = this; if (typeof e > "u") { const p = t.rtlTranslate ? -1 : 1; e = t && t.translate && t.translate * p || 0; } const s = t.params, i = t.maxTranslate() - t.minTranslate(); let { progress: r, isBeginning: n, isEnd: o, progressLoop: l } = t; const a = n, d = o; if (i === 0) r = 0, n = !0, o = !0; else { r = (e - t.minTranslate()) / i; const p = Math.abs(e - t.minTranslate()) < 1, u = Math.abs(e - t.maxTranslate()) < 1; n = p || r <= 0, o = u || r >= 1, p && (r = 0), u && (r = 1); } if (s.loop) { const p = t.getSlideIndexByData(0), u = t.getSlideIndexByData(t.slides.length - 1), f = t.slidesGrid[p], c = t.slidesGrid[u], T = t.slidesGrid[t.slidesGrid.length - 1], v = Math.abs(e); v >= f ? l = (v - f) / T : l = (v + T - c) / T, l > 1 && (l -= 1); } Object.assign(t, { progress: r, progressLoop: l, isBeginning: n, isEnd: o }), (s.watchSlidesProgress || s.centeredSlides && s.autoHeight) && t.updateSlidesProgress(e), n && !a && t.emit("reachBeginning toEdge"), o && !d && t.emit("reachEnd toEdge"), (a && !n || d && !o) && t.emit("fromEdge"), t.emit("progress", r); } function Ze() { const e = this, { slides: t, params: s, slidesEl: i, activeIndex: r } = e, n = e.virtual && s.virtual.enabled, o = (a) => V(i, `.${s.slideClass}${a}, swiper-slide${a}`)[0]; t.forEach((a) => { a.classList.remove(s.slideActiveClass, s.slideNextClass, s.slidePrevClass); }); let l; if (n) if (s.loop) { let a = r - e.virtual.slidesBefore; a < 0 && (a = e.virtual.slides.length + a), a >= e.virtual.slides.length && (a -= e.virtual.slides.length), l = o(`[data-swiper-slide-index="${a}"]`); } else l = o(`[data-swiper-slide-index="${r}"]`); else l = t[r]; if (l) { l.classList.add(s.slideActiveClass); let a = Ae(l, `.${s.slideClass}, swiper-slide`)[0]; s.loop && !a && (a = t[0]), a && a.classList.add(s.slideNextClass); let d = _e(l, `.${s.slideClass}, swiper-slide`)[0]; s.loop && !d === 0 && (d = t[t.length - 1]), d && d.classList.add(s.slidePrevClass); } e.emitSlidesClasses(); } function Je(e) { const { slidesGrid: t, params: s } = e, i = e.rtlTranslate ? e.translate : -e.translate; let r; for (let n = 0; n < t.length; n += 1) typeof t[n + 1] < "u" ? i >= t[n] && i < t[n + 1] - (t[n + 1] - t[n]) / 2 ? r = n : i >= t[n] && i < t[n + 1] && (r = n + 1) : i >= t[n] && (r = n); return s.normalizeSlideIndex && (r < 0 || typeof r > "u") && (r = 0), r; } function Qe(e) { const t = this, s = t.rtlTranslate ? t.translate : -t.translate, { snapGrid: i, params: r, activeIndex: n, realIndex: o, snapIndex: l } = t; let a = e, d; const p = (f) => { let c = f - t.virtual.slidesBefore; return c < 0 && (c = t.virtual.slides.length + c), c >= t.virtual.slides.length && (c -= t.virtual.slides.length), c; }; if (typeof a > "u" && (a = Je(t)), i.indexOf(s) >= 0) d = i.indexOf(s); else { const f = Math.min(r.slidesPerGroupSkip, a); d = f + Math.floor((a - f) / r.slidesPerGroup); } if (d >= i.length && (d = i.length - 1), a === n) { d !== l && (t.snapIndex = d, t.emit("snapIndexChange")), t.params.loop && t.virtual && t.params.virtual.enabled && (t.realIndex = p(a)); return; } let u; t.virtual && r.virtual.enabled && r.loop ? u = p(a) : t.slides[a] ? u = parseInt(t.slides[a].getAttribute("data-swiper-slide-index") || a, 10) : u = a, Object.assign(t, { snapIndex: d, realIndex: u, previousIndex: n, activeIndex: a }), t.emit("activeIndexChange"), t.emit("snapIndexChange"), o !== u && t.emit("realIndexChange"), (t.initialized || t.params.runCallbacksOnInit) && t.emit("slideChange"); } function et(e) { const t = this, s = t.params, i = e.closest(`.${s.slideClass}, swiper-slide`); let r = !1, n; if (i) { for (let o = 0; o < t.slides.length; o += 1) if (t.slides[o] === i) { r = !0, n = o; break; } } if (i && r) t.clickedSlide = i, t.virtual && t.params.virtual.enabled ? t.clickedIndex = parseInt(i.getAttribute("data-swiper-slide-index"), 10) : t.clickedIndex = n; else { t.clickedSlide = void 0, t.clickedIndex = void 0; return; } s.slideToClickedSlide && t.clickedIndex !== void 0 && t.clickedIndex !== t.activeIndex && t.slideToClickedSlide(); } const tt = { updateSize: Xe, updateSlides: Re, updateAutoHeight: je, updateSlidesOffset: qe, updateSlidesProgress: Ke, updateProgress: Ue, updateSlidesClasses: Ze, updateActiveIndex: Qe, updateClickedSlide: et }; function st(e = this.isHorizontal() ? "x" : "y") { const t = this, { params: s, rtlTranslate: i, translate: r, wrapperEl: n } = t; if (s.virtualTranslate) return i ? -r : r; if (s.cssMode) return r; let o = De(n, e); return i && (o = -o), o || 0; } function it(e, t) { const s = this, { rtlTranslate: i, params: r, wrapperEl: n, progress: o } = s; let l = 0, a = 0; const d = 0; s.isHorizontal() ? l = i ? -e : e : a = e, r.roundLengths && (l = Math.floor(l), a = Math.floor(a)), r.cssMode ? n[s.isHorizontal() ? "scrollLeft" : "scrollTop"] = s.isHorizontal() ? -l : -a : r.virtualTranslate || (n.style.transform = `translate3d(${l}px, ${a}px, ${d}px)`), s.previousTranslate = s.translate, s.translate = s.isHorizontal() ? l : a; let p; const u = s.maxTranslate() - s.minTranslate(); u === 0 ? p = 0 : p = (e - s.minTranslate()) / u, p !== o && s.updateProgress(e), s.emit("setTranslate", s.translate, t); } function nt() { return -this.snapGrid[0]; } function rt() { return -this.snapGrid[this.snapGrid.length - 1]; } function at(e = 0, t = this.params.speed, s = !0, i = !0, r) { const n = this, { params: o, wrapperEl: l } = n; if (n.animating && o.preventInteractionOnTransition) return !1; const a = n.minTranslate(), d = n.maxTranslate(); let p; if (i && e > a ? p = a : i && e < d ? p = d : p = e, n.updateProgress(p), o.cssMode) { const u = n.isHorizontal(); if (t === 0) l[u ? "scrollLeft" : "scrollTop"] = -p; else { if (!n.support.smoothScroll) return be({ swiper: n, targetPosition: -p, side: u ? "left" : "top" }), !0; l.scrollTo({ [u ? "left" : "top"]: -p, behavior: "smooth" }); } return !0; } return t === 0 ? (n.setTransition(0), n.setTranslate(p), s && (n.emit("beforeTransitionStart", t, r), n.emit("transitionEnd"))) : (n.setTransition(t), n.setTranslate(p), s && (n.emit("beforeTransitionStart", t, r), n.emit("transitionStart")), n.animating || (n.animating = !0, n.onTranslateToWrapperTransitionEnd || (n.onTranslateToWrapperTransitionEnd = function(f) { !n || n.destroyed || f.target === this && (n.wrapperEl.removeEventListener("transitionend", n.onTranslateToWrapperTransitionEnd), n.onTranslateToWrapperTransitionEnd = null, delete n.onTranslateToWrapperTransitionEnd, s && n.emit("transitionEnd")); }), n.wrapperEl.addEventListener("transitionend", n.onTranslateToWrapperTransitionEnd))), !0; } const lt = { getTranslate: st, setTranslate: it, minTranslate: nt, maxTranslate: rt, translateTo: at }; function ot(e, t) { const s = this; s.params.cssMode || (s.wrapperEl.style.transitionDuration = `${e}ms`), s.emit("setTransition", e, t); } function xe({ swiper: e, runCallbacks: t, direction: s, step: i }) { const { activeIndex: r, previousIndex: n } = e; let o = s; if (o || (r > n ? o = "next" : r < n ? o = "prev" : o = "reset"), e.emit(`transition${i}`), t && r !== n) { if (o === "reset") { e.emit(`slideResetTransition${i}`); return; } e.emit(`slideChangeTransition${i}`), o === "next" ? e.emit(`slideNextTransition${i}`) : e.emit(`slidePrevTransition${i}`); } } function dt(e = !0, t) { const s = this, { params: i } = s; i.cssMode || (i.autoHeight && s.updateAutoHeight(), xe({ swiper: s, runCallbacks: e, direction: t, step: "Start" })); } function ct(e = !0, t) { const s = this, { params: i } = s; s.animating = !1, !i.cssMode && (s.setTransition(0), xe({ swiper: s, runCallbacks: e, direction: t, step: "End" })); } const ut = { setTransition: ot, transitionStart: dt, transitionEnd: ct }; function ft(e = 0, t = this.params.speed, s = !0, i, r) { typeof e == "string" && (e = parseInt(e, 10)); const n = this; let o = e; o < 0 && (o = 0); const { params: l, snapGrid: a, slidesGrid: d, previousIndex: p, activeIndex: u, rtlTranslate: f, wrapperEl: c, enabled: T } = n; if (n.animating && l.preventInteractionOnTransition || !T && !i && !r) return !1; const v = Math.min(n.params.slidesPerGroupSkip, o); let y = v + Math.floor((o - v) / n.params.slidesPerGroup); y >= a.length && (y = a.length - 1); const w = -a[y]; if (l.normalizeSlideIndex) for (let h = 0; h < d.length; h += 1) { const E = -Math.floor(w * 100), x = Math.floor(d[h] * 100), b = Math.floor(d[h + 1] * 100); typeof d[h + 1] < "u" ? E >= x && E < b - (b - x) / 2 ? o = h : E >= x && E < b && (o = h + 1) : E >= x && (o = h); } if (n.initialized && o !== u && (!n.allowSlideNext && w < n.translate && w < n.minTranslate() || !n.allowSlidePrev && w > n.translate && w > n.maxTranslate() && (u || 0) !== o)) return !1; o !== (p || 0) && s && n.emit("beforeSlideChangeStart"), n.updateProgress(w); let m; if (o > u ? m = "next" : o < u ? m = "prev" : m = "reset", f && -w === n.translate || !f && w === n.translate) return n.updateActiveIndex(o), l.autoHeight && n.updateAutoHeight(), n.updateSlidesClasses(), l.effect !== "slide" && n.setTranslate(w), m !== "reset" && (n.transitionStart(s, m), n.transitionEnd(s, m)), !1; if (l.cssMode) { const h = n.isHorizontal(), E = f ? w : -w; if (t === 0) { const x = n.virtual && n.params.virtual.enabled; x && (n.wrapperEl.style.scrollSnapType = "none", n._immediateVirtual = !0), x && !n._cssModeVirtualInitialSet && n.params.initialSlide > 0 ? (n._cssModeVirtualInitialSet = !0, requestAnimationFrame(() => { c[h ? "scrollLeft" : "scrollTop"] = E; })) : c[h ? "scrollLeft" : "scrollTop"] = E, x && requestAnimationFrame(() => { n.wrapperEl.style.scrollSnapType = "", n._immediateVirtual = !1; }); } else { if (!n.support.smoothScroll) return be({ swiper: n, targetPosition: E, side: h ? "left" : "top" }), !0; c.scrollTo({ [h ? "left" : "top"]: E, behavior: "smooth" }); } return !0; } return n.setTransition(t), n.setTranslate(w), n.updateActiveIndex(o), n.updateSlidesClasses(), n.emit("beforeTransitionStart", t, i), n.transitionStart(s, m), t === 0 ? n.transitionEnd(s, m) : n.animating || (n.animating = !0, n.onSlideToWrapperTransitionEnd || (n.onSlideToWrapperTransitionEnd = function(E) { !n || n.destroyed || E.target === this && (n.wrapperEl.removeEventListener("transitionend", n.onSlideToWrapperTransitionEnd), n.onSlideToWrapperTransitionEnd = null, delete n.onSlideToWrapperTransitionEnd, n.transitionEnd(s, m)); }), n.wrapperEl.addEventListener("transitionend", n.onSlideToWrapperTransitionEnd)), !0; } function pt(e = 0, t = this.params.speed, s = !0, i) { typeof e == "string" && (e = parseInt(e, 10)); const r = this; let n = e; return r.params.loop && (r.virtual && r.params.virtual.enabled ? n = n + r.virtual.slidesBefore : n = r.getSlideIndexByData(n)), r.slideTo(n, t, s, i); } function ht(e = this.params.speed, t = !0, s) { const i = this, { enabled: r, params: n, animating: o } = i; if (!r) return i; let l = n.slidesPerGroup; n.slidesPerView === "auto" && n.slidesPerGroup === 1 && n.slidesPerGroupAuto && (l = Math.max(i.slidesPerViewDynamic("current", !0), 1)); const a = i.activeIndex < n.slidesPerGroupSkip ? 1 : l, d = i.virtual && n.virtual.enabled; if (n.loop) { if (o && !d && n.loopPreventsSliding) return !1; i.loopFix({ direction: "next" }), i._clientLeft = i.wrapperEl.clientLeft; } return n.rewind && i.isEnd ? i.slideTo(0, e, t, s) : i.slideTo(i.activeIndex + a, e, t, s); } function mt(e = this.params.speed, t = !0, s) { const i = this, { params: r, snapGrid: n, slidesGrid: o, rtlTranslate: l, enabled: a, animating: d } = i; if (!a) return i; const p = i.virtual && r.virtual.enabled; if (r.loop) { if (d && !p && r.loopPreventsSliding) return !1; i.loopFix({ direction: "prev" }), i._clientLeft = i.wrapperEl.clientLeft; } const u = l ? i.translate : -i.translate; function f(w) { return w < 0 ? -Math.floor(Math.abs(w)) : Math.floor(w); } const c = f(u), T = n.map((w) => f(w)); let v = n[T.indexOf(c) - 1]; if (typeof v > "u" && r.cssMode) { let w; n.forEach((m, h) => { c >= m && (w = h); }), typeof w < "u" && (v = n[w > 0 ? w - 1 : w]); } let y = 0; if (typeof v < "u" && (y = o.indexOf(v), y < 0 && (y = i.activeIndex - 1), r.slidesPerView === "auto" && r.slidesPerGroup === 1 && r.slidesPerGroupAuto && (y = y - i.slidesPerViewDynamic("previous", !0) + 1, y = Math.max(y, 0))), r.rewind && i.isBeginning) { const w = i.params.virtual && i.params.virtual.enabled && i.virtual ? i.virtual.slides.length - 1 : i.slides.length - 1; return i.slideTo(w, e, t, s); } return i.slideTo(y, e, t, s); } function gt(e = this.params.speed, t = !0, s) { const i = this; return i.slideTo(i.activeIndex, e, t, s); } function vt(e = this.params.speed, t = !0, s, i = 0.5) { const r = this; let n = r.activeIndex; const o = Math.min(r.params.slidesPerGroupSkip, n), l = o + Math.floor((n - o) / r.params.slidesPerGroup), a = r.rtlTranslate ? r.translate : -r.translate; if (a >= r.snapGrid[l]) { const d = r.snapGrid[l], p = r.snapGrid[l + 1]; a - d > (p - d) * i && (n += r.params.slidesPerGroup); } else { const d = r.snapGrid[l - 1], p = r.snapGrid[l]; a - d <= (p - d) * i && (n -= r.params.slidesPerGroup); } return n = Math.max(n, 0), n = Math.min(n, r.slidesGrid.length - 1), r.slideTo(n, e, t, s); } function wt() { const e = this, { params: t, slidesEl: s } = e, i = t.slidesPerView === "auto" ? e.slidesPerViewDynamic() : t.slidesPerView; let r = e.clickedIndex, n; const o = e.isElement ? "swiper-slide" : `.${t.slideClass}`; if (t.loop) { if (e.animating) return; n = parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"), 10), t.centeredSlides ? r < e.loopedSlides - i / 2 || r > e.slides.length - e.loopedSlides + i / 2 ? (e.loopFix(), r = e.getSlideIndex(V(s, `${o}[data-swiper-slide-index="${n}"]`)[0]), j(() => { e.slideTo(r); })) : e.slideTo(r) : r > e.slides.length - i ? (e.loopFix(), r = e.getSlideIndex(V(s, `${o}[data-swiper-slide-index="${n}"]`)[0]), j(() => { e.slideTo(r); })) : e.slideTo(r); } else e.slideTo(r); } const Tt = { slideTo: ft, slideToLoop: pt, slideNext: ht, slidePrev: mt, slideReset: gt, slideToClosest: vt, slideToClickedSlide: wt }; function St(e) { const t = this, { params: s, slidesEl: i } = t; if (!s.loop || t.virtual && t.params.virtual.enabled) return; V(i, `.${s.slideClass}, swiper-slide`).forEach((n, o) => { n.setAttribute("data-swiper-slide-index", o); }), t.loopFix({ slideRealIndex: e, direction: s.centeredSlides ? void 0 : "next" }); } function bt({ slideRealIndex: e, slideTo: t = !0, direction: s, setTranslate: i, activeSlideIndex: r, byController: n, byMousewheel: o } = {}) { const l = this; if (!l.params.loop) return; l.emit("beforeLoopFix"); const { slides: a, allowSlidePrev: d, allowSlideNext: p, slidesEl: u, params: f } = l; if (l.allowSlidePrev = !0, l.allowSlideNext = !0, l.virtual && f.virtual.enabled) { t && (!f.centeredSlides && l.snapIndex === 0 ? l.slideTo(l.virtual.slides.length, 0, !1, !0) : f.centeredSlides && l.snapIndex < f.slidesPerView ? l.slideTo(l.virtual.slides.length + l.snapIndex, 0, !1, !0) : l.snapIndex === l.snapGrid.length - 1 && l.slideTo(l.virtual.slidesBefore, 0, !1, !0)), l.allowSlidePrev = d, l.allowSlideNext = p, l.emit("loopFix"); return; } const c = f.slidesPerView === "auto" ? l.slidesPerViewDynamic() : Math.ceil(parseFloat(f.slidesPerView, 10)); let T = f.loopedSlides || c; T % f.slidesPerGroup !== 0 && (T += f.slidesPerGroup - T % f.slidesPerGroup), l.loopedSlides = T; const v = [], y = []; let w = l.activeIndex; typeof r > "u" ? r = l.getSlideIndex(l.slides.filter((b) => b.classList.contains(f.slideActiveClass))[0]) : w = r; const m = s === "next" || !s, h = s === "prev" || !s; let E = 0, x = 0; if (r < T) { E = Math.max(T - r, f.slidesPerGroup); for (let b = 0; b < T - r; b += 1) { const I = b - Math.floor(b / a.length) * a.length; v.push(a.length - I - 1); } } else if (r > l.slides.length - T * 2) { x = Math.max(r - (l.slides.length - T * 2), f.slidesPerGroup); for (let b = 0; b < x; b += 1) { const I = b - Math.floor(b / a.length) * a.length; y.push(I); } } if (h && v.forEach((b) => { u.prepend(l.slides[b]); }), m && y.forEach((b) => { u.append(l.slides[b]); }), l.recalcSlides(), f.watchSlidesProgress && l.updateSlidesOffset(), t) { if (v.length > 0 && h) if (typeof e > "u") { const b = l.slidesGrid[w], C = l.slidesGrid[w + E] - b; o ? l.setTranslate(l.translate - C) : (l.slideTo(w + E, 0, !1, !0), i && (l.touches[l.isHorizontal() ? "startX" : "startY"] += C)); } else i && l.slideToLoop(e, 0, !1, !0); else if (y.length > 0 && m) if (typeof e > "u") { const b = l.slidesGrid[w], C = l.slidesGrid[w - x] - b; o ? l.setTranslate(l.translate - C) : (l.slideTo(w - x, 0, !1, !0), i && (l.touches[l.isHorizontal() ? "startX" : "startY"] += C)); } else l.slideToLoop(e, 0, !1, !0); } if (l.allowSlidePrev = d, l.allowSlideNext = p, l.controller && l.controller.control && !n) { const b = { slideRealIndex: e, slideTo: !1, direction: s, setTranslate: i, activeSlideIndex: r, byController: !0 }; Array.isArray(l.controller.control) ? l.controller.control.forEach((I) => { !I.destroyed && I.params.loop && I.loopFix(b); }) : l.controller.control instanceof l.constructor && l.controller.control.params.loop && l.controller.control.loopFix(b); } l.emit("loopFix"); } function yt() { const e = this, { params: t, slidesEl: s } = e; if (!t.loop || e.virtual && e.params.virtual.enabled) return; e.recalcSlides(); const i = []; e.slides.forEach((r) => { const n = typeof r.swiperSlideIndex > "u" ? r.getAttribute("data-swiper-slide-index") * 1 : r.swiperSlideIndex; i[n] = r; }), e.slides.forEach((r) => { r.removeAttribute("data-swiper-slide-index"); }), i.forEach((r) => { s.append(r); }), e.recalcSlides(), e.slideTo(e.realIndex, 0); } const xt = { loopCreate: St, loopFix: bt, loopDestroy: yt }; function Et(e) { const t = this; if (!t.params.simulateTouch || t.params.watchOverflow && t.isLocked || t.params.cssMode) return; const s = t.params.touchEventsTarget === "container" ? t.el : t.wrapperEl; t.isElement && (t.__preventObserver__ = !0), s.style.cursor = "move", s.style.cursor = e ? "grabbing" : "grab", t.isElement && requestAnimationFrame(() => { t.__preventObserver__ = !1; }); } function Mt() { const e = this; e.params.watchOverflow && e.isLocked || e.params.cssMode || (e.isElement && (e.__preventObserver__ = !0), e[e.params.touchEventsTarget === "container" ? "el" : "wrapperEl"].style.cursor = "", e.isElement && requestAnimationFrame(() => { e.__preventObserver__ = !1; })); } const Ct = { setGrabCursor: Et, unsetGrabCursor: Mt }; function Pt(e, t = this) { function s(i) { if (!i || i === H() || i === D()) return null; i.assignedSlot && (i = i.assignedSlot); const r = i.closest(e); return !r && !i.getRootNode ? null : r || s(i.getRootNode().host); } return s(t); } function Lt(e) { const t = this, s = H(), i = D(), r = t.touchEventsData; r.evCache.push(e); const { params: n, touches: o, enabled: l } = t; if (!l || !n.simulateTouch && e.pointerType === "mouse" || t.animating && n.preventInteractionOnTransition) return; !t.animating && n.cssMode && n.loop && t.loopFix(); let a = e; a.originalEvent && (a = a.originalEvent); let d = a.target; if (n.touchEventsTarget === "wrapper" && !t.wrapperEl.contains(d) || "which" in a && a.which === 3 || "button" in a && a.button > 0 || r.isTouched && r.isMoved) return; const p = !!n.noSwipingClass && n.noSwipingClass !== "", u = e.composedPath ? e.composedPath() : e.path; p && a.target && a.target.shadowRoot && u && (d = u[0]); const f = n.noSwipingSelector ? n.noSwipingSelector : `.${n.noSwipingClass}`, c = !!(a.target && a.target.shadowRoot); if (n.noSwiping && (c ? Pt(f, d) : d.closest(f))) { t.allowClick = !0; return; } if (n.swipeHandler && !d.closest(n.swipeHandler)) return; o.currentX = a.pageX, o.currentY = a.pageY; const T = o.currentX, v = o.currentY, y = n.edgeSwipeDetection || n.iOSEdgeSwipeDetection, w = n.edgeSwipeThreshold || n.iOSEdgeSwipeThreshold; if (y && (T <= w || T >= i.innerWidth - w)) if (y === "prevent") e.preventDefault(); else return; Object.assign(r, { isTouched: !0, isMoved: !1, allowTouchCallbacks: !0, isScrolling: void 0, startMoving: void 0 }), o.startX = T, o.startY = v, r.touchStartTime = A(), t.allowClick = !0, t.updateSize(), t.swipeDirection = void 0, n.threshold > 0 && (r.allowThresholdMove = !1); let m = !0; d.matches(r.focusableElements) && (m = !1, d.nodeName === "SELECT" && (r.isTouched = !1)), s.activeElement && s.activeElement.matches(r.focusableElements) && s.activeElement !== d && s.activeElement.blur(); const h = m && t.allowTouchMove && n.touchStartPreventDefault; (n.touchStartForcePreventDefault || h) && !d.isContentEditable && a.preventDefault(), t.params.freeMode && t.params.freeMode.enabled && t.freeMode && t.animating && !n.cssMode && t.freeMode.onTouchStart(), t.emit("touchStart", a); } function It(e) { const t = H(), s = this, i = s.touchEventsData, { params: r, touches: n, rtlTranslate: o, enabled: l } = s; if (!l || !r.simulateTouch && e.pointerType === "mouse") return; let a = e; if (a.originalEvent && (a = a.originalEvent), !i.isTouched) { i.startMoving && i.isScrolling && s.emit("touchMoveOpposite", a); return; } const d = i.evCache.findIndex((b) => b.pointerId === a.pointerId); d >= 0 && (i.evCache[d] = a); const p = i.evCache.length > 1 ? i.evCache[0] : a, u = p.pageX, f = p.pageY; if (a.preventedByNestedSwiper) { n.startX = u, n.startY = f; return; } if (!s.allowTouchMove) { a.target.matches(i.focusableElements) || (s.allowClick = !1), i.isTouched && (Object.assign(n, { startX: u, startY: f, prevX: s.touches.currentX, prevY: s.touches.currentY, currentX: u, currentY: f }), i.touchStartTime = A()); return; } if (r.touchReleaseOnEdges && !r.loop) { if (s.isVertical()) { if (f < n.startY && s.translate <= s.maxTranslate() || f > n.startY && s.translate >= s.minTranslate()) { i.isTouched = !1, i.isMoved = !1; return; } } else if (u < n.startX && s.translate <= s.maxTranslate() || u > n.startX && s.translate >= s.minTranslate()) return; } if (t.activeElement && a.target === t.activeElement && a.target.matches(i.focusableElements)) { i.isMoved = !0, s.allowClick = !1; return; } if (i.allowTouchCallbacks && s.emit("touchMove", a), a.targetTouches && a.targetTouches.length > 1) return; n.currentX = u, n.currentY = f; const c = n.currentX - n.startX, T = n.currentY - n.startY; if (s.params.threshold && Math.sqrt(c ** 2 + T ** 2) < s.params.threshold) return; if (typeof i.isScrolling > "u") { let b; s.isHorizontal() && n.currentY === n.startY || s.isVertical() && n.currentX === n.startX ? i.isScrolling = !1 : c * c + T * T >= 25 && (b = Math.atan2(Math.abs(T), Math.abs(c)) * 180 / Math.PI, i.isScrolling = s.isHorizontal() ? b > r.touchAngle : 90 - b > r.touchAngle); } if (i.isScrolling && s.emit("touchMoveOpposite", a), typeof i.startMoving > "u" && (n.currentX !== n.startX || n.currentY !== n.startY) && (i.startMoving = !0), i.isScrolling || s.zoom && s.params.zoom && s.params.zoom.enabled && i.evCache.length > 1) { i.isTouched = !1; return; } if (!i.startMoving) return; s.allowClick = !1, !r.cssMode && a.cancelable && a.preventDefault(), r.touchMoveStopPropagation && !r.nested && a.stopPropagation(); let v = s.isHorizontal() ? c : T, y = s.isHorizontal() ? n.currentX - n.previousX : n.currentY - n.previousY; r.oneWayMovement && (v = Math.abs(v) * (o ? 1 : -1), y = Math.abs(y) * (o ? 1 : -1)), n.diff = v, v *= r.touchRatio, o && (v = -v, y = -y); const w = s.touchesDirection; s.swipeDirection = v > 0 ? "prev" : "next", s.touchesDirection = y > 0 ? "prev" : "next"; const m = s.params.loop && !r.cssMode; if (!i.isMoved) { if (m && s.loopFix({ direction: s.swipeDirection }), i.startTranslate = s.getTranslate(), s.setTransition(0), s.animating) { const b = new window.CustomEvent("transitionend", { bubbles: !0, cancelable: !0 }); s.wrapperEl.dispatchEvent(b); } i.allowMomentumBounce = !1, r.grabCursor && (s.allowSlideNext === !0 || s.allowSlidePrev === !0) && s.setGrabCursor(!0), s.emit("sliderFirstMove", a); } let h; i.isMoved && w !== s.touchesDirection && m && Math.abs(v) >= 1 && (s.loopFix({ direction: s.swipeDirection, setTranslate: !0 }), h = !0), s.emit("sliderMove", a), i.isMoved = !0, i.currentTranslate = v + i.startTranslate; let E = !0, x = r.resistanceRatio; if (r.touchReleaseOnEdges && (x = 0), v > 0 ? (m && !h && i.currentTranslate > (r.centeredSlides ? s.minTranslate() - s.size / 2 : s.minTranslate()) && s.loopFix({ direction: "prev", setTranslate: !0, activeSlideIndex: 0 }), i.currentTranslate > s.minTranslate() && (E = !1, r.resistance && (i.currentTranslate = s.minTranslate() - 1 + (-s.minTranslate() + i.startTranslate + v) ** x))) : v < 0 && (m && !h && i.currentTranslate < (r.centeredSlides ? s.maxTranslate() + s.size / 2 : s.maxTranslate()) && s.loopFix({ direction: "next", setTranslate: !0, activeSlideIndex: s.slides.length - (r.slidesPerView === "auto" ? s.slidesPerViewDynamic() : Math.ceil(parseFloat(r.slidesPerView, 10))) }), i.currentTranslate < s.maxTranslate() && (E = !1, r.resistance && (i.currentTranslate = s.maxTranslate() + 1 - (s.maxTranslate() - i.startTranslate - v) ** x))), E && (a.preventedByNestedSwiper = !0), !s.allowSlideNext && s.swipeDirection === "next" && i.currentTranslate < i.startTranslate && (i.currentTranslate = i.startTranslate), !s.allowSlidePrev && s.swipeDirection === "prev" && i.currentTranslate > i.startTranslate && (i.currentTranslate = i.startTranslate), !s.allowSlidePrev && !s.allowSlideNext && (i.currentTranslate = i.startTranslate), r.threshold > 0) if (Math.abs(v) > r.threshold