vue-mobcal3
Version:
Vue3 Mobile Calendar
1,343 lines • 93 kB
JavaScript
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