/**
* @license
* Copyright 2019 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
const dt = globalThis, Qt = dt.ShadowRoot && (dt.ShadyCSS === void 0 || dt.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, Kt = Symbol(), ci = /* @__PURE__ */ new WeakMap();
let Pi = class {
constructor(e, t, s) {
if (this._$cssResult$ = !0, s !== Kt) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
this.cssText = e, this.t = t;
}
get styleSheet() {
let e = this.o;
const t = this.t;
if (Qt && e === void 0) {
const s = t !== void 0 && t.length === 1;
s && (e = ci.get(t)), e === void 0 && ((this.o = e = new CSSStyleSheet()).replaceSync(this.cssText), s && ci.set(t, e));
}
return e;
}
toString() {
return this.cssText;
}
};
const C = (i) => new Pi(typeof i == "string" ? i : i + "", void 0, Kt), O = (i, ...e) => {
const t = i.length === 1 ? i[0] : e.reduce((s, r, n) => s + ((o) => {
if (o._$cssResult$ === !0) return o.cssText;
if (typeof o == "number") return o;
throw Error("Value passed to 'css' function must be a 'css' function result: " + o + ". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.");
})(r) + i[n + 1], i[0]);
return new Pi(t, i, Kt);
}, Ki = (i, e) => {
if (Qt) i.adoptedStyleSheets = e.map((t) => t instanceof CSSStyleSheet ? t : t.styleSheet);
else for (const t of e) {
const s = document.createElement("style"), r = dt.litNonce;
r !== void 0 && s.setAttribute("nonce", r), s.textContent = t.cssText, i.appendChild(s);
}
}, ui = Qt ? (i) => i : (i) => i instanceof CSSStyleSheet ? ((e) => {
let t = "";
for (const s of e.cssRules) t += s.cssText;
return C(t);
})(i) : i;
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
const { is: Ji, defineProperty: es, getOwnPropertyDescriptor: ts, getOwnPropertyNames: is, getOwnPropertySymbols: ss, getPrototypeOf: rs } = Object, $t = globalThis, hi = $t.trustedTypes, ns = hi ? hi.emptyScript : "", os = $t.reactiveElementPolyfillSupport, Ye = (i, e) => i, ct = { toAttribute(i, e) {
switch (e) {
case Boolean:
i = i ? ns : null;
break;
case Object:
case Array:
i = i == null ? i : JSON.stringify(i);
}
return i;
}, fromAttribute(i, e) {
let t = i;
switch (e) {
case Boolean:
t = i !== null;
break;
case Number:
t = i === null ? null : Number(i);
break;
case Object:
case Array:
try {
t = JSON.parse(i);
} catch {
t = null;
}
}
return t;
} }, Jt = (i, e) => !Ji(i, e), fi = { attribute: !0, type: String, converter: ct, reflect: !1, hasChanged: Jt };
Symbol.metadata ??= Symbol("metadata"), $t.litPropertyMetadata ??= /* @__PURE__ */ new WeakMap();
class Pe extends HTMLElement {
static addInitializer(e) {
this._$Ei(), (this.l ??= []).push(e);
}
static get observedAttributes() {
return this.finalize(), this._$Eh && [...this._$Eh.keys()];
}
static createProperty(e, t = fi) {
if (t.state && (t.attribute = !1), this._$Ei(), this.elementProperties.set(e, t), !t.noAccessor) {
const s = Symbol(), r = this.getPropertyDescriptor(e, s, t);
r !== void 0 && es(this.prototype, e, r);
}
}
static getPropertyDescriptor(e, t, s) {
const { get: r, set: n } = ts(this.prototype, e) ?? { get() {
return this[t];
}, set(o) {
this[t] = o;
} };
return { get() {
return r?.call(this);
}, set(o) {
const l = r?.call(this);
n.call(this, o), this.requestUpdate(e, l, s);
}, configurable: !0, enumerable: !0 };
}
static getPropertyOptions(e) {
return this.elementProperties.get(e) ?? fi;
}
static _$Ei() {
if (this.hasOwnProperty(Ye("elementProperties"))) return;
const e = rs(this);
e.finalize(), e.l !== void 0 && (this.l = [...e.l]), this.elementProperties = new Map(e.elementProperties);
}
static finalize() {
if (this.hasOwnProperty(Ye("finalized"))) return;
if (this.finalized = !0, this._$Ei(), this.hasOwnProperty(Ye("properties"))) {
const t = this.properties, s = [...is(t), ...ss(t)];
for (const r of s) this.createProperty(r, t[r]);
}
const e = this[Symbol.metadata];
if (e !== null) {
const t = litPropertyMetadata.get(e);
if (t !== void 0) for (const [s, r] of t) this.elementProperties.set(s, r);
}
this._$Eh = /* @__PURE__ */ new Map();
for (const [t, s] of this.elementProperties) {
const r = this._$Eu(t, s);
r !== void 0 && this._$Eh.set(r, t);
}
this.elementStyles = this.finalizeStyles(this.styles);
}
static finalizeStyles(e) {
const t = [];
if (Array.isArray(e)) {
const s = new Set(e.flat(1 / 0).reverse());
for (const r of s) t.unshift(ui(r));
} else e !== void 0 && t.push(ui(e));
return t;
}
static _$Eu(e, t) {
const s = t.attribute;
return s === !1 ? void 0 : typeof s == "string" ? s : typeof e == "string" ? e.toLowerCase() : void 0;
}
constructor() {
super(), this._$Ep = void 0, this.isUpdatePending = !1, this.hasUpdated = !1, this._$Em = null, this._$Ev();
}
_$Ev() {
this._$ES = new Promise((e) => this.enableUpdating = e), this._$AL = /* @__PURE__ */ new Map(), this._$E_(), this.requestUpdate(), this.constructor.l?.forEach((e) => e(this));
}
addController(e) {
(this._$EO ??= /* @__PURE__ */ new Set()).add(e), this.renderRoot !== void 0 && this.isConnected && e.hostConnected?.();
}
removeController(e) {
this._$EO?.delete(e);
}
_$E_() {
const e = /* @__PURE__ */ new Map(), t = this.constructor.elementProperties;
for (const s of t.keys()) this.hasOwnProperty(s) && (e.set(s, this[s]), delete this[s]);
e.size > 0 && (this._$Ep = e);
}
createRenderRoot() {
const e = this.shadowRoot ?? this.attachShadow(this.constructor.shadowRootOptions);
return Ki(e, this.constructor.elementStyles), e;
}
connectedCallback() {
this.renderRoot ??= this.createRenderRoot(), this.enableUpdating(!0), this._$EO?.forEach((e) => e.hostConnected?.());
}
enableUpdating(e) {
}
disconnectedCallback() {
this._$EO?.forEach((e) => e.hostDisconnected?.());
}
attributeChangedCallback(e, t, s) {
this._$AK(e, s);
}
_$EC(e, t) {
const s = this.constructor.elementProperties.get(e), r = this.constructor._$Eu(e, s);
if (r !== void 0 && s.reflect === !0) {
const n = (s.converter?.toAttribute !== void 0 ? s.converter : ct).toAttribute(t, s.type);
this._$Em = e, n == null ? this.removeAttribute(r) : this.setAttribute(r, n), this._$Em = null;
}
}
_$AK(e, t) {
const s = this.constructor, r = s._$Eh.get(e);
if (r !== void 0 && this._$Em !== r) {
const n = s.getPropertyOptions(r), o = typeof n.converter == "function" ? { fromAttribute: n.converter } : n.converter?.fromAttribute !== void 0 ? n.converter : ct;
this._$Em = r, this[r] = o.fromAttribute(t, n.type), this._$Em = null;
}
}
requestUpdate(e, t, s) {
if (e !== void 0) {
if (s ??= this.constructor.getPropertyOptions(e), !(s.hasChanged ?? Jt)(this[e], t)) return;
this.P(e, t, s);
}
this.isUpdatePending === !1 && (this._$ES = this._$ET());
}
P(e, t, s) {
this._$AL.has(e) || this._$AL.set(e, t), s.reflect === !0 && this._$Em !== e && (this._$Ej ??= /* @__PURE__ */ new Set()).add(e);
}
async _$ET() {
this.isUpdatePending = !0;
try {
await this._$ES;
} catch (t) {
Promise.reject(t);
}
const e = this.scheduleUpdate();
return e != null && await e, !this.isUpdatePending;
}
scheduleUpdate() {
return this.performUpdate();
}
performUpdate() {
if (!this.isUpdatePending) return;
if (!this.hasUpdated) {
if (this.renderRoot ??= this.createRenderRoot(), this._$Ep) {
for (const [r, n] of this._$Ep) this[r] = n;
this._$Ep = void 0;
}
const s = this.constructor.elementProperties;
if (s.size > 0) for (const [r, n] of s) n.wrapped !== !0 || this._$AL.has(r) || this[r] === void 0 || this.P(r, this[r], n);
}
let e = !1;
const t = this._$AL;
try {
e = this.shouldUpdate(t), e ? (this.willUpdate(t), this._$EO?.forEach((s) => s.hostUpdate?.()), this.update(t)) : this._$EU();
} catch (s) {
throw e = !1, this._$EU(), s;
}
e && this._$AE(t);
}
willUpdate(e) {
}
_$AE(e) {
this._$EO?.forEach((t) => t.hostUpdated?.()), this.hasUpdated || (this.hasUpdated = !0, this.firstUpdated(e)), this.updated(e);
}
_$EU() {
this._$AL = /* @__PURE__ */ new Map(), this.isUpdatePending = !1;
}
get updateComplete() {
return this.getUpdateComplete();
}
getUpdateComplete() {
return this._$ES;
}
shouldUpdate(e) {
return !0;
}
update(e) {
this._$Ej &&= this._$Ej.forEach((t) => this._$EC(t, this[t])), this._$EU();
}
updated(e) {
}
firstUpdated(e) {
}
}
Pe.elementStyles = [], Pe.shadowRootOptions = { mode: "open" }, Pe[Ye("elementProperties")] = /* @__PURE__ */ new Map(), Pe[Ye("finalized")] = /* @__PURE__ */ new Map(), os?.({ ReactiveElement: Pe }), ($t.reactiveElementVersions ??= []).push("2.0.4");
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
const ei = globalThis, ut = ei.trustedTypes, gi = ut ? ut.createPolicy("lit-html", { createHTML: (i) => i }) : void 0, Ci = "$lit$", ie = `lit$${Math.random().toFixed(9).slice(2)}$`, _i = "?" + ie, as = `<${_i}>`, me = document, Ue = () => me.createComment(""), qe = (i) => i === null || typeof i != "object" && typeof i != "function", ti = Array.isArray, ls = (i) => ti(i) || typeof i?.[Symbol.iterator] == "function", Lt = `[
\f\r]`, Fe = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, mi = /-->/g, vi = />/g, fe = RegExp(`>|${Lt}(?:([^\\s"'>=/]+)(${Lt}*=${Lt}*(?:[^
\f\r"'\`<>=]|("|')|))|$)`, "g"), wi = /'/g, bi = /"/g, Oi = /^(?:script|style|textarea|title)$/i, ds = (i) => (e, ...t) => ({ _$litType$: i, strings: e, values: t }), w = ds(1), ve = Symbol.for("lit-noChange"), j = Symbol.for("lit-nothing"), yi = /* @__PURE__ */ new WeakMap(), ge = me.createTreeWalker(me, 129);
function Mi(i, e) {
if (!ti(i) || !i.hasOwnProperty("raw")) throw Error("invalid template strings array");
return gi !== void 0 ? gi.createHTML(e) : e;
}
const ps = (i, e) => {
const t = i.length - 1, s = [];
let r, n = e === 2 ? "<svg>" : e === 3 ? "<math>" : "", o = Fe;
for (let l = 0; l < t; l++) {
const a = i[l];
let c, u, d = -1, g = 0;
for (; g < a.length && (o.lastIndex = g, u = o.exec(a), u !== null); ) g = o.lastIndex, o === Fe ? u[1] === "!--" ? o = mi : u[1] !== void 0 ? o = vi : u[2] !== void 0 ? (Oi.test(u[2]) && (r = RegExp("</" + u[2], "g")), o = fe) : u[3] !== void 0 && (o = fe) : o === fe ? u[0] === ">" ? (o = r ?? Fe, d = -1) : u[1] === void 0 ? d = -2 : (d = o.lastIndex - u[2].length, c = u[1], o = u[3] === void 0 ? fe : u[3] === '"' ? bi : wi) : o === bi || o === wi ? o = fe : o === mi || o === vi ? o = Fe : (o = fe, r = void 0);
const m = o === fe && i[l + 1].startsWith("/>") ? " " : "";
n += o === Fe ? a + as : d >= 0 ? (s.push(c), a.slice(0, d) + Ci + a.slice(d) + ie + m) : a + ie + (d === -2 ? l : m);
}
return [Mi(i, n + (i[t] || "<?>") + (e === 2 ? "</svg>" : e === 3 ? "</math>" : "")), s];
};
class Ze {
constructor({ strings: e, _$litType$: t }, s) {
let r;
this.parts = [];
let n = 0, o = 0;
const l = e.length - 1, a = this.parts, [c, u] = ps(e, t);
if (this.el = Ze.createElement(c, s), ge.currentNode = this.el.content, t === 2 || t === 3) {
const d = this.el.content.firstChild;
d.replaceWith(...d.childNodes);
}
for (; (r = ge.nextNode()) !== null && a.length < l; ) {
if (r.nodeType === 1) {
if (r.hasAttributes()) for (const d of r.getAttributeNames()) if (d.endsWith(Ci)) {
const g = u[o++], m = r.getAttribute(d).split(ie), v = /([.?@])?(.*)/.exec(g);
a.push({ type: 1, index: n, name: v[2], strings: m, ctor: v[1] === "." ? us : v[1] === "?" ? hs : v[1] === "@" ? fs : St }), r.removeAttribute(d);
} else d.startsWith(ie) && (a.push({ type: 6, index: n }), r.removeAttribute(d));
if (Oi.test(r.tagName)) {
const d = r.textContent.split(ie), g = d.length - 1;
if (g > 0) {
r.textContent = ut ? ut.emptyScript : "";
for (let m = 0; m < g; m++) r.append(d[m], Ue()), ge.nextNode(), a.push({ type: 2, index: ++n });
r.append(d[g], Ue());
}
}
} else if (r.nodeType === 8) if (r.data === _i) a.push({ type: 2, index: n });
else {
let d = -1;
for (; (d = r.data.indexOf(ie, d + 1)) !== -1; ) a.push({ type: 7, index: n }), d += ie.length - 1;
}
n++;
}
}
static createElement(e, t) {
const s = me.createElement("template");
return s.innerHTML = e, s;
}
}
function Ce(i, e, t = i, s) {
if (e === ve) return e;
let r = s !== void 0 ? t._$Co?.[s] : t._$Cl;
const n = qe(e) ? void 0 : e._$litDirective$;
return r?.constructor !== n && (r?._$AO?.(!1), n === void 0 ? r = void 0 : (r = new n(i), r._$AT(i, t, s)), s !== void 0 ? (t._$Co ??= [])[s] = r : t._$Cl = r), r !== void 0 && (e = Ce(i, r._$AS(i, e.values), r, s)), e;
}
class cs {
constructor(e, t) {
this._$AV = [], this._$AN = void 0, this._$AD = e, this._$AM = t;
}
get parentNode() {
return this._$AM.parentNode;
}
get _$AU() {
return this._$AM._$AU;
}
u(e) {
const { el: { content: t }, parts: s } = this._$AD, r = (e?.creationScope ?? me).importNode(t, !0);
ge.currentNode = r;
let n = ge.nextNode(), o = 0, l = 0, a = s[0];
for (; a !== void 0; ) {
if (o === a.index) {
let c;
a.type === 2 ? c = new Je(n, n.nextSibling, this, e) : a.type === 1 ? c = new a.ctor(n, a.name, a.strings, this, e) : a.type === 6 && (c = new gs(n, this, e)), this._$AV.push(c), a = s[++l];
}
o !== a?.index && (n = ge.nextNode(), o++);
}
return ge.currentNode = me, r;
}
p(e) {
let t = 0;
for (const s of this._$AV) s !== void 0 && (s.strings !== void 0 ? (s._$AI(e, s, t), t += s.strings.length - 2) : s._$AI(e[t])), t++;
}
}
class Je {
get _$AU() {
return this._$AM?._$AU ?? this._$Cv;
}
constructor(e, t, s, r) {
this.type = 2, this._$AH = j, this._$AN = void 0, this._$AA = e, this._$AB = t, this._$AM = s, this.options = r, this._$Cv = r?.isConnected ?? !0;
}
get parentNode() {
let e = this._$AA.parentNode;
const t = this._$AM;
return t !== void 0 && e?.nodeType === 11 && (e = t.parentNode), e;
}
get startNode() {
return this._$AA;
}
get endNode() {
return this._$AB;
}
_$AI(e, t = this) {
e = Ce(this, e, t), qe(e) ? e === j || e == null || e === "" ? (this._$AH !== j && this._$AR(), this._$AH = j) : e !== this._$AH && e !== ve && this._(e) : e._$litType$ !== void 0 ? this.$(e) : e.nodeType !== void 0 ? this.T(e) : ls(e) ? this.k(e) : this._(e);
}
O(e) {
return this._$AA.parentNode.insertBefore(e, this._$AB);
}
T(e) {
this._$AH !== e && (this._$AR(), this._$AH = this.O(e));
}
_(e) {
this._$AH !== j && qe(this._$AH) ? this._$AA.nextSibling.data = e : this.T(me.createTextNode(e)), this._$AH = e;
}
$(e) {
const { values: t, _$litType$: s } = e, r = typeof s == "number" ? this._$AC(e) : (s.el === void 0 && (s.el = Ze.createElement(Mi(s.h, s.h[0]), this.options)), s);
if (this._$AH?._$AD === r) this._$AH.p(t);
else {
const n = new cs(r, this), o = n.u(this.options);
n.p(t), this.T(o), this._$AH = n;
}
}
_$AC(e) {
let t = yi.get(e.strings);
return t === void 0 && yi.set(e.strings, t = new Ze(e)), t;
}
k(e) {
ti(this._$AH) || (this._$AH = [], this._$AR());
const t = this._$AH;
let s, r = 0;
for (const n of e) r === t.length ? t.push(s = new Je(this.O(Ue()), this.O(Ue()), this, this.options)) : s = t[r], s._$AI(n), r++;
r < t.length && (this._$AR(s && s._$AB.nextSibling, r), t.length = r);
}
_$AR(e = this._$AA.nextSibling, t) {
for (this._$AP?.(!1, !0, t); e && e !== this._$AB; ) {
const s = e.nextSibling;
e.remove(), e = s;
}
}
setConnected(e) {
this._$AM === void 0 && (this._$Cv = e, this._$AP?.(e));
}
}
class St {
get tagName() {
return this.element.tagName;
}
get _$AU() {
return this._$AM._$AU;
}
constructor(e, t, s, r, n) {
this.type = 1, this._$AH = j, this._$AN = void 0, this.element = e, this.name = t, this._$AM = r, this.options = n, s.length > 2 || s[0] !== "" || s[1] !== "" ? (this._$AH = Array(s.length - 1).fill(new String()), this.strings = s) : this._$AH = j;
}
_$AI(e, t = this, s, r) {
const n = this.strings;
let o = !1;
if (n === void 0) e = Ce(this, e, t, 0), o = !qe(e) || e !== this._$AH && e !== ve, o && (this._$AH = e);
else {
const l = e;
let a, c;
for (e = n[0], a = 0; a < n.length - 1; a++) c = Ce(this, l[s + a], t, a), c === ve && (c = this._$AH[a]), o ||= !qe(c) || c !== this._$AH[a], c === j ? e = j : e !== j && (e += (c ?? "") + n[a + 1]), this._$AH[a] = c;
}
o && !r && this.j(e);
}
j(e) {
e === j ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, e ?? "");
}
}
class us extends St {
constructor() {
super(...arguments), this.type = 3;
}
j(e) {
this.element[this.name] = e === j ? void 0 : e;
}
}
class hs extends St {
constructor() {
super(...arguments), this.type = 4;
}
j(e) {
this.element.toggleAttribute(this.name, !!e && e !== j);
}
}
class fs extends St {
constructor(e, t, s, r, n) {
super(e, t, s, r, n), this.type = 5;
}
_$AI(e, t = this) {
if ((e = Ce(this, e, t, 0) ?? j) === ve) return;
const s = this._$AH, r = e === j && s !== j || e.capture !== s.capture || e.once !== s.once || e.passive !== s.passive, n = e !== j && (s === j || r);
r && this.element.removeEventListener(this.name, this, s), n && this.element.addEventListener(this.name, this, e), this._$AH = e;
}
handleEvent(e) {
typeof this._$AH == "function" ? this._$AH.call(this.options?.host ?? this.element, e) : this._$AH.handleEvent(e);
}
}
class gs {
constructor(e, t, s) {
this.element = e, this.type = 6, this._$AN = void 0, this._$AM = t, this.options = s;
}
get _$AU() {
return this._$AM._$AU;
}
_$AI(e) {
Ce(this, e);
}
}
const ms = ei.litHtmlPolyfillSupport;
ms?.(Ze, Je), (ei.litHtmlVersions ??= []).push("3.2.1");
const vs = (i, e, t) => {
const s = t?.renderBefore ?? e;
let r = s._$litPart$;
if (r === void 0) {
const n = t?.renderBefore ?? null;
s._$litPart$ = r = new Je(e.insertBefore(Ue(), n), n, void 0, t ?? {});
}
return r._$AI(i), r;
};
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
let P = class extends Pe {
constructor() {
super(...arguments), this.renderOptions = { host: this }, this._$Do = void 0;
}
createRenderRoot() {
const e = super.createRenderRoot();
return this.renderOptions.renderBefore ??= e.firstChild, e;
}
update(e) {
const t = this.render();
this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(e), this._$Do = vs(t, this.renderRoot, this.renderOptions);
}
connectedCallback() {
super.connectedCallback(), this._$Do?.setConnected(!0);
}
disconnectedCallback() {
super.disconnectedCallback(), this._$Do?.setConnected(!1);
}
render() {
return ve;
}
};
P._$litElement$ = !0, P.finalized = !0, globalThis.litElementHydrateSupport?.({ LitElement: P });
const ws = globalThis.litElementPolyfillSupport;
ws?.({ LitElement: P });
(globalThis.litElementVersions ??= []).push("4.1.1");
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
const M = (i) => (e, t) => {
t !== void 0 ? t.addInitializer(() => {
customElements.define(i, e);
}) : customElements.define(i, e);
};
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
const bs = { attribute: !0, type: String, converter: ct, reflect: !1, hasChanged: Jt }, ys = (i = bs, e, t) => {
const { kind: s, metadata: r } = t;
let n = globalThis.litPropertyMetadata.get(r);
if (n === void 0 && globalThis.litPropertyMetadata.set(r, n = /* @__PURE__ */ new Map()), n.set(t.name, i), s === "accessor") {
const { name: o } = t;
return { set(l) {
const a = e.get.call(this);
e.set.call(this, l), this.requestUpdate(o, a, i);
}, init(l) {
return l !== void 0 && this.P(o, void 0, i), l;
} };
}
if (s === "setter") {
const { name: o } = t;
return function(l) {
const a = this[o];
e.call(this, l), this.requestUpdate(o, a, i);
};
}
throw Error("Unsupported decorator location: " + s);
};
function f(i) {
return (e, t) => typeof t == "object" ? ys(i, e, t) : ((s, r, n) => {
const o = r.hasOwnProperty(n);
return r.constructor.createProperty(n, o ? { ...s, wrapped: !0 } : s), o ? Object.getOwnPropertyDescriptor(r, n) : void 0;
})(i, e, t);
}
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
function xs(i) {
return f({ ...i, state: !0, attribute: !1 });
}
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
const ii = (i, e, t) => (t.configurable = !0, t.enumerable = !0, Reflect.decorate && typeof e != "object" && Object.defineProperty(i, e, t), t);
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
function et(i, e) {
return (t, s, r) => {
const n = (o) => o.renderRoot?.querySelector(i) ?? null;
return ii(t, s, { get() {
return n(this);
} });
};
}
/**
* @license
* Copyright 2021 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
function zi(i) {
return (e, t) => {
const { slot: s, selector: r } = i ?? {}, n = "slot" + (s ? `[name=${s}]` : ":not([name])");
return ii(e, t, { get() {
const o = this.renderRoot?.querySelector(n), l = o?.assignedElements(i) ?? [];
return r === void 0 ? l : l.filter((a) => a.matches(r));
} });
};
}
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
function tt(i) {
return (e, t) => {
const { slot: s } = {}, r = "slot" + (s ? `[name=${s}]` : ":not([name])");
return ii(e, t, { get() {
return this.renderRoot?.querySelector(r)?.assignedNodes(i) ?? [];
} });
};
}
const _ = {
md: "(min-width: 48rem)",
lg: "(min-width: 62rem)",
xl: "(min-width: 80rem)",
xxl: "(min-width: 120rem)"
};
var As = Object.defineProperty, $s = Object.getOwnPropertyDescriptor, pe = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? $s(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && As(e, t, r), r;
};
let q = class extends P {
constructor() {
super(...arguments), this.text = "", this.index = 0, this.columns = !1, this.isOpen = !1, this.controlled = !1, this.size = 1;
}
toggleAccordion() {
this.controlled ? this.dispatchEvent(new CustomEvent("iu-toggle-accordion", {
detail: { index: this.index },
bubbles: !0,
composed: !0
})) : this.isOpen = !this.isOpen, this.classList.toggle("is-open");
}
// make sure that every component inside this has <iu-container> set
// to nested to disable padding left on the container itself
updateSlottedElements() {
this.slotElement.assignedElements({ flatten: !0 }).forEach((e) => {
e instanceof HTMLElement && e.setAttribute("nested", "true");
});
}
firstUpdated() {
super.firstUpdated(), this.updateSlottedElements();
}
render() {
return w`
<div class="accordion size-${this.size} ${this.isOpen ? "is-open" : ""}">
<button aria-expanded="false" @click=${this.toggleAccordion}>
<svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50"><path fill-rule="evenodd" clip-rule="evenodd" d="M37.5 26h-25v-2h25v2Z" fill="currentColor"/><path fill-rule="evenodd" clip-rule="evenodd" d="M24 37.5v-25h2v25h-2Z" fill="currentColor"/></svg>
${this.text}
</button>
<div class="content ${this.isOpen ? "is-open" : ""} ${this.columns ? "columns-2" : ""}">
<slot></slot>
</div>
</div>
`;
}
};
q.styles = O`
:host{
--iu-comp-bg: transparent;
--iu-comp-color: var(--iu-color-black);
--iu-comp-bg-hover: var(--iu-color-black);
--iu-comp-color-hover: var(--iu-color-white);
--iu-comp-border-color: var(--iu-color-grey-200);
--iu-comp-border-color-hover: var(--iu-color-grey-500);
}
:host:has(.accordion.is-open){
border-bottom: 1px solid var(--iu-comp-border-color-hover);
}
.accordion{
border-top: 1px solid var(--iu-comp-border-color);
cursor: pointer;
color: var(--iu-comp-color);
background: var(--iu-comp-bg);
}
.accordion.is-open,
.accordion.is-open button,
:host(:hover),
:host(:hover) button{
color: var(--iu-comp-color-hover);
background: var(--iu-comp-bg-hover);
}
.accordion.is-open svg{
transform: rotate(45deg);
}
button{
color: var(--iu-comp-color);
background: var(--iu-comp-bg);
cursor: pointer;
border: 0;
position: relative;
font: var(--iu-f-2);
text-align: left;
width: 100%;
padding: 4px 0;
display: flex;
align-items: center;
text-rendering: geometricPrecision;
}
.size-2 button{
padding: 0;
font: var(--iu-f-lg);
}
svg{
transition: transform .2s ease;
}
.size-1 svg{
width: 36px;
height: 36px;
margin-right: .625rem;
margin-top: -2px;
}
.size-2 svg{
width: 50px;
height: 50px;
margin-right: .9375rem;
margin-top: -2px;
}
@media ${C(_.xl)} {
button{
}
}
.content{
display: none;
color: var(--iu-comp-color);
padding-top: var(--iu-spacing-2);
padding-bottom: var(--iu-spacing-6);
padding-left: calc(3.125rem + .9375rem);
padding-right: var(--iu-grid-gutter);
}
.content.is-open{
display: block;
}
.content.columns-2{
columns: 2;
gap: var(--iu-grid-gutter);
}
::slotted(*){
--iu-comp-color: var(--iu-color-white);
--iu-comp-border-color: var(--iu-color-grey-500);
--iu-comp-bg-hover: var(--iu-color-white);
--iu-comp-color-hover: var(--iu-color-black);
margin-bottom: 0;
color: var(--iu-color-white) !important;
}
`;
pe([
f()
], q.prototype, "text", 2);
pe([
f()
], q.prototype, "index", 2);
pe([
f({ type: Boolean, reflect: !0 })
], q.prototype, "columns", 2);
pe([
f({ type: Boolean, reflect: !0 })
], q.prototype, "isOpen", 2);
pe([
f()
], q.prototype, "controlled", 2);
pe([
f({ type: Number })
], q.prototype, "size", 2);
pe([
et("slot")
], q.prototype, "slotElement", 2);
q = pe([
M("iu-accordion")
], q);
var Ss = Object.defineProperty, Es = Object.getOwnPropertyDescriptor, Et = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? Es(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && Ss(e, t, r), r;
};
let _e = class extends P {
constructor() {
super(...arguments), this.mode = "single", this.columns = !1, this.openAccordions = [];
}
firstUpdated() {
super.firstUpdated(), this.columns && this.classList.add("columns-2"), this.querySelectorAll("iu-accordion").forEach((i, e) => {
i.index = e, i.controlled = !0;
});
}
handleAccordionToggle(i) {
const { index: e } = i.detail;
this.mode === "single" ? this.openAccordions = this.openAccordions.includes(e) ? [] : [e] : this.mode === "multiple" && (this.openAccordions.includes(e) ? this.openAccordions = this.openAccordions.filter((t) => t !== e) : this.openAccordions = [...this.openAccordions, e]), this.updateAccordionStates();
}
updateAccordionStates() {
this.querySelectorAll("iu-accordion").forEach((i, e) => {
const t = this.openAccordions.includes(e);
i.isOpen = t;
});
}
render() {
return w`
<iu-container>
<div class="inner">
<slot @iu-toggle-accordion=${this.handleAccordionToggle}></slot>
</div>
</iu-container>
`;
}
};
_e.styles = O`
::slotted(*:last-child){
--iu-accordion-border-color-b: var(--iu-color-grey-200);
}
:host(.columns-2) .inner{
display: grid;
grid-template-columns: repeat(2,1fr);
column-gap: var(--iu-grid-gutter);
}
`;
Et([
f({ type: String })
], _e.prototype, "mode", 2);
Et([
f({ type: Boolean, reflect: !0 })
], _e.prototype, "columns", 2);
Et([
f({ type: Array })
], _e.prototype, "openAccordions", 2);
_e = Et([
M("iu-accordion-group")
], _e);
var Ts = Object.defineProperty, Ps = Object.getOwnPropertyDescriptor, Tt = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? Ps(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && Ts(e, t, r), r;
};
let Oe = class extends P {
render() {
return this.type == "current", this.href ? w`
<li class="link">
<a href="${this.href}">${this.text}</a><span class="divider" aria-hidden="true">/</span>
</li>
` : w`
<li><h1 aria-current="page">${this.text}</h1></li>
`;
}
};
Oe.styles = O`
:host h1{
color: var(--iu-color-black);
margin: 0;
font-size: inherit;
font-weight: 400;
font: var(--iu-f-lg);
display: inline;
}
:host li{
font: var(--iu-f-lg);
display: inline;
}
:host .link a{
color: var(--iu-color-grey-300);
text-decoration: none;
}
:host .divider{
color: var(--theme-color-black);
margin-left: var(--iu-spacing-0);
margin-right: var(--iu-spacing-0);
}
`;
Tt([
f()
], Oe.prototype, "href", 2);
Tt([
f()
], Oe.prototype, "type", 2);
Tt([
f()
], Oe.prototype, "text", 2);
Oe = Tt([
M("iu-breadcrumbs-item")
], Oe);
var Cs = Object.getOwnPropertyDescriptor, _s = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? Cs(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = o(r) || r);
return r;
};
let Gt = class extends P {
render() {
return w`
<iu-container>
<nav aria-label="Breadcrumbs">
<ul>
<slot></slot>
</ul>
</nav>
</iu-container>
`;
}
};
Gt.styles = O`
:host{
display: block;
margin-top: var(--iu-spacing-3);
}
@media ${C(_.md)} {
:host{
margin-top: var(--iu-spacing-7);
}
}
@media ${C(_.xl)} {
:host{
margin-top: var(--iu-spacing-10);
}
}
:host ul{
margin: 0;
padding: 0;
list-style-type: none;
}
:host iu-container{
margin-bottom: 0;
}
`;
Gt = _s([
M("iu-breadcrumbs")
], Gt);
var Os = Object.defineProperty, Ms = Object.getOwnPropertyDescriptor, it = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? Ms(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && Os(e, t, r), r;
};
let we = class extends P {
constructor() {
super(...arguments), this.tag = "a", this.href = "#", this.text = "", this.icon = "none";
}
render() {
return this.tag === "a" ? w`
<a href="${this.href}" class="icon-${this.icon}">${this.text}</a>
` : w`
<button class="icon-${this.icon}">${this.text}</button>
`;
}
};
we.styles = O`
a, button{
position: relative;
display: inline-flex;
align-items: center;
background: var(--iu-color-grey-100);
padding: 0.375rem 0.75rem;
color: var(--iu-color-black);
text-decoration: none;
border: 0;
font: var(--iu-f-sm);
}
a:hover, button:hover{
background: var(--iu-color-black);
color: var(--iu-color-white);
}
a:not(.icon-none), button:not(.icon-none){
padding: 0.375rem 0.75rem 0.375rem 2.5rem;
}
.icon-download::before{
content: '';
background-image: url("data:image/svg+xml,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 37 37'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='m24.852 19.834-6.354 6.353-6.354-6.353.708-.708 5.146 5.147V9.5h1v14.773l5.146-5.147.708.708ZM27 28H10v-1h17v1Z' fill='%23000'/%3E%3C/svg%3E");
width: 2.25rem;
aspect-ratio: 1/1;
background-repat: no-repeat;
background-position: center center;
position: absolute;
top: 0;
left: 0;
}
.icon-download:hover::before{
background-image: url("data:image/svg+xml,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 37 37'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='m24.852 19.834-6.354 6.353-6.354-6.353.708-.708 5.146 5.147V9.5h1v14.773l5.146-5.147.708.708ZM27 28H10v-1h17v1Z' fill='%23fff'/%3E%3C/svg%3E");
}
`;
it([
f({ type: String })
], we.prototype, "tag", 2);
it([
f({ type: String })
], we.prototype, "href", 2);
it([
f({ type: String })
], we.prototype, "text", 2);
it([
f({ type: String })
], we.prototype, "icon", 2);
we = it([
M("iu-button")
], we);
var zs = Object.defineProperty, Ls = Object.getOwnPropertyDescriptor, ce = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? Ls(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && zs(e, t, r), r;
};
let Z = class extends P {
constructor() {
super(...arguments), this.setCardHeight = () => {
requestAnimationFrame(() => {
const i = this.clientHeight, e = this.cardContent.clientHeight, t = i - e;
this.cardImg.style.height = `${t}px`, this.cardContent.style.marginTop = `${t}px`;
});
}, this.href = "", this.category = "Categoria", this.date = "01.01.2024", this.name = "Default", this.img = "";
}
firstUpdated() {
super.firstUpdated();
const i = this.cardImg.querySelector("img");
i && i.addEventListener("load", this.setCardHeight), this.setCardHeight(), new ResizeObserver(() => this.setCardHeight()).observe(this);
}
render() {
return w`
<a href="${this.href}" class="card">
<div class="img">
${this.img && w`<img src="${this.img}">`}
</div>
<div class="content">
<div class="header">
<span class="category">${this.category}</span>
<span class="date">${this.date}</span>
</div>
<p>${this.name}</p>
</div>
</a>
`;
}
};
Z.styles = O`
:host{
display: block;
}
.card{
display: block;
text-decoration: none;
color: var(--iu-color-black);
position: relative;
aspect-ratio: 1/1;
overflow: hidden;
}
.card:hover .img{
height: 100% !important;
}
.img{
transition: height .2s ease;
position: absolute;
top: 0px;
left: 0px;
width: 100%;
overflow: hidden;
background-image: linear-gradient(to top, var(--iu-color-grey-400), var(--iu-color-grey-200));
}
.img img{
width: 100%;
height: 100%;
object-fit: cover;
}
.header{
padding-top: 0.75rem;
padding-bottom: 0.75rem;
display: flex;
justify-content: space-between;
font: var(--iu-f-0);
color: var(--iu-color-grey-300);
}
.content p{
font: var(--iu-f-2);
font-weight: bold;
margin-top: 0;
}
`;
ce([
et(".img")
], Z.prototype, "cardImg", 2);
ce([
et(".content")
], Z.prototype, "cardContent", 2);
ce([
f()
], Z.prototype, "href", 2);
ce([
f()
], Z.prototype, "category", 2);
ce([
f()
], Z.prototype, "date", 2);
ce([
f()
], Z.prototype, "name", 2);
ce([
f()
], Z.prototype, "img", 2);
Z = ce([
M("iu-card")
], Z);
function xi(i) {
return i !== null && typeof i == "object" && "constructor" in i && i.constructor === Object;
}
function si(i, e) {
i === void 0 && (i = {}), e === void 0 && (e = {});
const t = ["__proto__", "constructor", "prototype"];
Object.keys(e).filter((s) => t.indexOf(s) < 0).forEach((s) => {
typeof i[s] > "u" ? i[s] = e[s] : xi(e[s]) && xi(i[s]) && Object.keys(e[s]).length > 0 && si(i[s], e[s]);
});
}
const Li = {
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 Ae() {
const i = typeof document < "u" ? document : {};
return si(i, Li), i;
}
const ks = {
document: Li,
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(i) {
return typeof setTimeout > "u" ? (i(), null) : setTimeout(i, 0);
},
cancelAnimationFrame(i) {
typeof setTimeout > "u" || clearTimeout(i);
}
};
function V() {
const i = typeof window < "u" ? window : {};
return si(i, ks), i;
}
function Is(i) {
return i === void 0 && (i = ""), i.trim().split(" ").filter((e) => !!e.trim());
}
function Ds(i) {
const e = i;
Object.keys(e).forEach((t) => {
try {
e[t] = null;
} catch {
}
try {
delete e[t];
} catch {
}
});
}
function Vt(i, e) {
return e === void 0 && (e = 0), setTimeout(i, e);
}
function ht() {
return Date.now();
}
function Bs(i) {
const e = V();
let t;
return e.getComputedStyle && (t = e.getComputedStyle(i, null)), !t && i.currentStyle && (t = i.currentStyle), t || (t = i.style), t;
}
function Hs(i, e) {
e === void 0 && (e = "x");
const t = V();
let s, r, n;
const o = Bs(i);
return t.WebKitCSSMatrix ? (r = o.transform || o.webkitTransform, r.split(",").length > 6 && (r = r.split(", ").map((l) => l.replace(",", ".")).join(", ")), n = new t.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,"), s = n.toString().split(",")), e === "x" && (t.WebKitCSSMatrix ? r = n.m41 : s.length === 16 ? r = parseFloat(s[12]) : r = parseFloat(s[4])), e === "y" && (t.WebKitCSSMatrix ? r = n.m42 : s.length === 16 ? r = parseFloat(s[13]) : r = parseFloat(s[5])), r || 0;
}
function at(i) {
return typeof i == "object" && i !== null && i.constructor && Object.prototype.toString.call(i).slice(8, -1) === "Object";
}
function js(i) {
return typeof window < "u" && typeof window.HTMLElement < "u" ? i instanceof HTMLElement : i && (i.nodeType === 1 || i.nodeType === 11);
}
function F() {
const i = Object(arguments.length <= 0 ? void 0 : arguments[0]), e = ["__proto__", "constructor", "prototype"];
for (let t = 1; t < arguments.length; t += 1) {
const s = t < 0 || arguments.length <= t ? void 0 : arguments[t];
if (s != null && !js(s)) {
const r = Object.keys(Object(s)).filter((n) => e.indexOf(n) < 0);
for (let n = 0, o = r.length; n < o; n += 1) {
const l = r[n], a = Object.getOwnPropertyDescriptor(s, l);
a !== void 0 && a.enumerable && (at(i[l]) && at(s[l]) ? s[l].__swiper__ ? i[l] = s[l] : F(i[l], s[l]) : !at(i[l]) && at(s[l]) ? (i[l] = {}, s[l].__swiper__ ? i[l] = s[l] : F(i[l], s[l])) : i[l] = s[l]);
}
}
}
return i;
}
function lt(i, e, t) {
i.style.setProperty(e, t);
}
function ki(i) {
let {
swiper: e,
targetPosition: t,
side: s
} = i;
const r = V(), n = -e.translate;
let o = null, l;
const a = e.params.speed;
e.wrapperEl.style.scrollSnapType = "none", r.cancelAnimationFrame(e.cssModeFrameID);
const c = t > n ? "next" : "prev", u = (g, m) => c === "next" && g >= m || c === "prev" && g <= m, d = () => {
l = (/* @__PURE__ */ new Date()).getTime(), o === null && (o = l);
const g = Math.max(Math.min((l - o) / a, 1), 0), m = 0.5 - Math.cos(g * Math.PI) / 2;
let v = n + m * (t - n);
if (u(v, t) && (v = t), e.wrapperEl.scrollTo({
[s]: v
}), u(v, t)) {
e.wrapperEl.style.overflow = "hidden", e.wrapperEl.style.scrollSnapType = "", setTimeout(() => {
e.wrapperEl.style.overflow = "", e.wrapperEl.scrollTo({
[s]: v
});
}), r.cancelAnimationFrame(e.cssModeFrameID);
return;
}
e.cssModeFrameID = r.requestAnimationFrame(d);
};
d();
}
function Ii(i) {
return i.querySelector(".swiper-slide-transform") || i.shadowRoot && i.shadowRoot.querySelector(".swiper-slide-transform") || i;
}
function U(i, e) {
e === void 0 && (e = "");
const t = V(), s = [...i.children];
return t.HTMLSlotElement && i instanceof HTMLSlotElement && s.push(...i.assignedElements()), e ? s.filter((r) => r.matches(e)) : s;
}
function Ns(i, e) {
const t = [e];
for (; t.length > 0; ) {
const s = t.shift();
if (i === s)
return !0;
t.push(...s.children, ...s.shadowRoot?.children || [], ...s.assignedElements?.() || []);
}
}
function Gs(i, e) {
const t = V();
let s = e.contains(i);
return !s && t.HTMLSlotElement && e instanceof HTMLSlotElement && (s = [...e.assignedElements()].includes(i), s || (s = Ns(i, e))), s;
}
function ft(i) {
try {
console.warn(i);
return;
} catch {
}
}
function gt(i, e) {
e === void 0 && (e = []);
const t = document.createElement(i);
return t.classList.add(...Array.isArray(e) ? e : Is(e)), t;
}
function Vs(i, e) {
const t = [];
for (; i.previousElementSibling; ) {
const s = i.previousElementSibling;
e ? s.matches(e) && t.push(s) : t.push(s), i = s;
}
return t;
}
function Fs(i, e) {
const t = [];
for (; i.nextElementSibling; ) {
const s = i.nextElementSibling;
e ? s.matches(e) && t.push(s) : t.push(s), i = s;
}
return t;
}
function se(i, e) {
return V().getComputedStyle(i, null).getPropertyValue(e);
}
function mt(i) {
let e = i, t;
if (e) {
for (t = 0; (e = e.previousSibling) !== null; )
e.nodeType === 1 && (t += 1);
return t;
}
}
function Di(i, e) {
const t = [];
let s = i.parentElement;
for (; s; )
e ? s.matches(e) && t.push(s) : t.push(s), s = s.parentElement;
return t;
}
function Rs(i, e) {
function t(s) {
s.target === i && (e.call(i, s), i.removeEventListener("transitionend", t));
}
e && i.addEventListener("transitionend", t);
}
function Ft(i, e, t) {
const s = V();
return i[e === "width" ? "offsetWidth" : "offsetHeight"] + parseFloat(s.getComputedStyle(i, null).getPropertyValue(e === "width" ? "margin-right" : "margin-top")) + parseFloat(s.getComputedStyle(i, null).getPropertyValue(e === "width" ? "margin-left" : "margin-bottom"));
}
function N(i) {
return (Array.isArray(i) ? i : [i]).filter((e) => !!e);
}
let kt;
function Ys() {
const i = V(), e = Ae();
return {
smoothScroll: e.documentElement && e.documentElement.style && "scrollBehavior" in e.documentElement.style,
touch: !!("ontouchstart" in i || i.DocumentTouch && e instanceof i.DocumentTouch)
};
}
function Bi() {
return kt || (kt = Ys()), kt;
}
let It;
function Us(i) {
let {
userAgent: e
} = i === void 0 ? {} : i;
const t = Bi(), s = V(), r = s.navigator.platform, n = e || s.navigator.userAgent, o = {
ios: !1,
android: !1
}, l = s.screen.width, a = s.screen.height, c = n.match(/(Android);?[\s\/]+([\d.]+)?/);
let u = n.match(/(iPad).*OS\s([\d_]+)/);
const d = n.match(/(iPod)(.*OS\s([\d_]+))?/), g = !u && n.match(/(iPhone\sOS|iOS)\s([\d_]+)/), m = r === "Win32";
let v = r === "MacIntel";
const b = ["1024x1366", "1366x1024", "834x1194", "1194x834", "834x1112", "1112x834", "768x1024", "1024x768", "820x1180", "1180x820", "810x1080", "1080x810"];
return !u && v && t.touch && b.indexOf(`${l}x${a}`) >= 0 && (u = n.match(/(Version)\/([\d.]+)/), u || (u = [0, 1, "13_0_0"]), v = !1), c && !m && (o.os = "android", o.android = !0), (u || g || d) && (o.os = "ios", o.ios = !0), o;
}
function Hi(i) {
return i === void 0 && (i = {}), It || (It = Us(i)), It;
}
let Dt;
function qs() {
const i = V(), e = Hi();
let t = !1;
function s() {
const l = i.navigator.userAgent.toLowerCase();
return l.indexOf("safari") >= 0 && l.indexOf("chrome") < 0 && l.indexOf("android") < 0;
}
if (s()) {
const l = String(i.navigator.userAgent);
if (l.includes("Version/")) {
const [a, c] = l.split("Version/")[1].split(" ")[0].split(".").map((u) => Number(u));
t = a < 16 || a === 16 && c < 2;
}
}
const r = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(i.navigator.userAgent), n = s(), o = n || r && e.ios;
return {
isSafari: t || n,
needPerspectiveFix: t,
need3dFix: o,
isWebView: r
};
}
function ji() {
return Dt || (Dt = qs()), Dt;
}
function Zs(i) {
let {
swiper: e,
on: t,
emit: s
} = i;
const r = V();
let n = null, o = null;
const l = () => {
!e || e.destroyed || !e.initialized || (s("beforeResize"), s("resize"));
}, a = () => {
!e || e.destroyed || !e.initialized || (n = new ResizeObserver((d) => {
o = r.requestAnimationFrame(() => {
const {
width: g,
height: m
} = e;
let v = g, b = m;
d.forEach((S) => {
let {
contentBoxSize: x,
contentRect: p,
target: h
} = S;
h && h !== e.el || (v = p ? p.width : (x[0] || x).inlineSize, b = p ? p.height : (x[0] || x).blockSize);
}), (v !== g || b !== m) && l();
});
}), n.observe(e.el));
}, c = () => {
o && r.cancelAnimationFrame(o), n && n.unobserve && e.el && (n.unobserve(e.el), n = null);
}, u = () => {
!e || e.destroyed || !e.initialized || s("orientationchange");
};
t("init", () => {
if (e.params.resizeObserver && typeof r.ResizeObserver < "u") {
a();
return;
}
r.addEventListener("resize", l), r.addEventListener("orientationchange", u);
}), t("destroy", () => {
c(), r.removeEventListener("resize", l), r.removeEventListener("orientationchange", u);
});
}
function Ws(i) {
let {
swiper: e,
extendParams: t,
on: s,
emit: r
} = i;
const n = [], o = V(), l = function(u, d) {
d === void 0 && (d = {});
const g = o.MutationObserver || o.WebkitMutationObserver, m = new g((v) => {
if (e.__preventObserver__) return;
if (v.length === 1) {
r("observerUpdate", v[0]);
return;
}
const b = function() {
r("observerUpdate", v[0]);
};
o.requestAnimationFrame ? o.requestAnimationFrame(b) : o.setTimeout(b, 0);
});
m.observe(u, {
attributes: typeof d.attributes > "u" ? !0 : d.attributes,
childList: e.isElement || (typeof d.childList > "u" ? !0 : d).childList,
characterData: typeof d.characterData > "u" ? !0 : d.characterData
}), n.push(m);
}, a = () => {
if (e.params.observer) {
if (e.params.observeParents) {
const u = Di(e.hostEl);
for (let d = 0; d < u.length; d += 1)
l(u[d]);
}
l(e.hostEl, {
childList: e.params.observeSlideChildren
}), l(e.wrapperEl, {
attributes: !1
});
}
}, c = () => {
n.forEach((u) => {
u.disconnect();
}), n.splice(0, n.length);
};
t({
observer: !1,
observeParents: !1,
observeSlideChildren: !1
}), s("init", a), s("destroy", c);
}
var Xs = {
on(i, e, t) {
const s = this;
if (!s.eventsListeners || s.destroyed || typeof e != "function") return s;
const r = t ? "unshift" : "push";
return i.split(" ").forEach((n) => {
s.eventsListeners[n] || (s.eventsListeners[n] = []), s.eventsListeners[n][r](e);
}), s;
},
once(i, e, t) {
const s = this;
if (!s.eventsListeners || s.destroyed || typeof e != "function") return s;
function r() {
s.off(i, r), r.__emitterProxy && delete r.__emitterProxy;
for (var n = arguments.length, o = new Array(n), l = 0; l < n; l++)
o[l] = arguments[l];
e.apply(s, o);
}
return r.__emitterProxy = e, s.on(i, r, t);
},
onAny(i, e) {
const t = this;
if (!t.eventsListeners || t.destroyed || typeof i != "function") return t;
const s = e ? "unshift" : "push";
return t.eventsAnyListeners.indexOf(i) < 0 && t.eventsAnyListeners[s](i), t;
},
offAny(i) {
const e = this;
if (!e.eventsListeners || e.destroyed || !e.eventsAnyListeners) return e;
const t = e.eventsAnyListeners.indexOf(i);
return t >= 0 && e.eventsAnyListeners.splice(t, 1), e;
},
off(i, e) {
const t = this;
return !t.eventsListeners || t.destroyed || !t.eventsListeners || i.split(" ").forEach((s) => {
typeof e > "u" ? t.eventsListeners[s] = [] : t.eventsListeners[s] && t.eventsListeners[s].forEach((r, n) => {
(r === e || r.__emitterProxy && r.__emitterProxy === e) && t.eventsListeners[s].splice(n, 1);
});
}), t;
},
emit() {
const i = this;
if (!i.eventsListeners || i.destroyed || !i.eventsListeners) return i;
let e, t, s;
for (var r = arguments.length, n = new Array(r), o = 0; o < r; o++)
n[o] = arguments[o];
return typeof n[0] == "string" || Array.isArray(n[0]) ? (e = n[0], t = n.slice(1, n.length), s = i) : (e = n[0].events, t = n[0].data, s = n[0].context || i), t.unshift(s), (Array.isArray(e) ? e : e.split(" ")).forEach((a) => {
i.eventsAnyListeners && i.eventsAnyListeners.length && i.eventsAnyListeners.forEach((c) => {
c.apply(s, [a, ...t]);
}), i.eventsListeners && i.eventsListeners[a] && i.eventsListeners[a].forEach((c) => {
c.apply(s, t);
});
}), i;
}
};
function Qs() {
const i = this;
let e, t;
const s = i.el;
typeof i.params.width < "u" && i.params.width !== null ? e = i.params.width : e = s.clientWidth, typeof i.params.height < "u" && i.params.height !== null ? t = i.params.height : t = s.clientHeight, !(e === 0 && i.isHorizontal() || t === 0 && i.isVertical()) && (e = e - parseInt(se(s, "padding-left") || 0, 10) - parseInt(se(s, "padding-right") || 0, 10), t = t - parseInt(se(s, "padding-top") || 0, 10) - parseInt(se(s, "padding-bottom") || 0, 10), Number.isNaN(e) && (e = 0), Number.isNaN(t) && (t = 0), Object.assign(i, {
width: e,
height: t,
size: i.isHorizontal() ? e : t
}));
}
function Ks() {
const i = this;
function e($, T) {
return parseFloat($.getPropertyValue(i.getDirectionLabel(T)) || 0);
}
const t = i.params, {
wrapperEl: s,
slidesEl: r,
size: n,
rtlTranslate: o,
wrongRTL: l
} = i, a = i.virtual && t.virtual.enabled, c = a ? i.virtual.slides.length : i.slides.length, u = U(r, `.${i.params.slideClass}, swiper-slide`), d = a ? i.virtual.slides.length : u.length;
let g = [];
const m = [], v = [];
let b = t.slidesOffsetBefore;
typeof b == "function" && (b = t.slidesOffsetBefore.call(i));
let S = t.slidesOffsetAfter;
typeof S == "function" && (S = t.slidesOffsetAfter.call(i));
const x = i.snapGrid.length, p = i.slidesGrid.length;
let h = t.spaceBetween, y = -b, A = 0, I = 0;
if (typeof n > "u")
return;
typeof h == "string" && h.indexOf("%") >= 0 ? h = parseFloat(h.replace("%", "")) / 100 * n : typeof h == "string" && (h = parseFloat(h)), i.virtualSize = -h, u.forEach(($) => {
o ? $.style.marginLeft = "" : $.style.marginRight = "", $.style.marginBottom = "", $.style.marginTop = "";
}), t.centeredSlides && t.cssMode && (lt(s, "--swiper-centered-offset-before", ""), lt(s, "--swiper-centered-offset-after", ""));
const D = t.grid && t.grid.rows > 1 && i.grid;
D ? i.grid.initSlides(u) : i.grid && i.grid.unsetSlides();
let z;
const B = t.slidesPerView === "auto" && t.breakpoints && Object.keys(t.breakpoints).filter(($) => typeof t.breakpoints[$].slidesPerView < "u").length > 0;
for (let $ = 0; $ < d; $ += 1) {
z = 0;
let T;
if (u[$] && (T = u[$]), D && i.grid.updateSlide($, T, u), !(u[$] && se(T, "display") === "none")) {
if (t.slidesPerView === "auto") {
B && (u[$].style[i.getDirectionLabel("width")] = "");
const L = getComputedStyle(T), E = T.style.transform, k = T.style.webkitTransform;
if (E && (T.style.transform = "none"), k && (T.style.webkitTransform = "none"), t.roundLengths)
z = i.isHorizontal() ? Ft(T, "width") : Ft(T, "height");
else {
const H = e(L, "width"), G = e(L, "padding-left"), Wi = e(L, "padding-right"), li = e(L, "margin-left"), di = e(L, "margin-right"), pi = L.getPropertyValue("box-sizing");
if (pi && pi === "border-box")
z = H + li + di;
else {
const {
clientWidth: Xi,
offsetWidth: Qi
} = T;
z = H + G + Wi + li + di + (Qi - Xi);
}
}
E && (T.style.transform = E), k && (T.style.webkitTransform = k), t.roundLengths && (z = Math.floor(z));
} else
z = (n - (t.slidesPerView - 1) * h) / t.slidesPerView, t.roundLengths && (z = Math.floor(z)), u[$] && (u[$].style[i.getDirectionLabel("width")] = `${z}px`);
u[$] && (u[$].swiperSlideSize = z), v.push(z), t.centeredSlides ? (y = y + z / 2 + A / 2 + h, A === 0 && $ !== 0 && (y = y - n / 2 - h), $ === 0 && (y = y - n / 2 - h), Math.abs(y) < 1 / 1e3 && (y = 0), t.roundLengths && (y = Math.floor(y)), I % t.slidesPerGroup === 0 && g.push(y), m.push(y)) : (t.roundLengths && (y = Math.floor(y)), (I - Math.min(i.params.slidesPerGroupSkip, I)) % i.params.slidesPerGroup === 0 && g.push(y), m.push(y), y = y + z + h), i.virtualSize += z + h, A = z, I += 1;
}
}
if (i.virtualSize = Math.max(i.virtualSize, n) + S, o && l && (t.effect === "slide" || t.effect === "coverflow") && (s.style.width = `${i.virtualSize + h}px`), t.setWrapperSize && (s.style[i.getDirectionLabel("width")] = `${i.virtualSize + h}px`), D && i.grid.updateWrapperSize(z, g), !t.centeredSlides) {
const $ = [];
for (let T = 0; T < g.length; T += 1) {
let L = g[T];
t.roundLengths && (L = Math.floor(L)), g[T] <= i.virtualSize - n && $.push(L);
}
g = $, Math.floor(i.virtualSize - n) - Math.floor(g[g.length - 1]) > 1 && g.push(i.virtualSize - n);
}
if (a && t.loop) {
const $ = v[0] + h;
if (t.slidesPerGroup > 1) {
const T = Math.ceil((i.virtual.slidesBefore + i.virtual.slidesAfter) / t.slidesPerGroup), L = $ * t.slidesPerGroup;
for (let E = 0; E < T; E += 1)
g.push(g[g.length - 1] + L);
}
for (let T = 0; T < i.virtual.slidesBefore + i.virtual.slidesAfter; T += 1)
t.slidesPerGroup === 1 && g.push(g[g.length - 1] + $), m.push(m[m.length - 1] + $), i.virtualSize += $;
}
if (g.length === 0 && (g = [0]), h !== 0) {
const $ = i.isHorizontal() && o ? "marginLeft" : i.getDirectionLabel("marginRight");
u.filter((T, L) => !t.cssMode || t.loop ? !0 : L !== u.length - 1).forEach((T) => {
T.style[$] = `${h}px`;
});
}
if (t.centeredSlides && t.centeredSlidesBounds) {
let $ = 0;
v.forEach((L) => {
$ += L + (h || 0);
}), $ -= h;
const T = $ > n ? $ - n : 0;
g = g.map((L) => L <= 0 ? -b : L > T ? T + S : L);
}
if (t.centerInsufficientSlides) {
let $ = 0;
v.forEach((L) => {
$ += L + (h || 0);
}), $ -= h;
const T = (t.slidesOffsetBefore || 0) + (t.slidesOffsetAfter || 0);
if ($ + T < n) {
const L = (n - $ - T) / 2;
g.forEach((E, k) => {
g[k] = E - L;
}), m.forEach((E, k) => {
m[k] = E + L;
});
}
}
if (Object.assign(i, {
slides: u,
snapGrid: g,
slidesGrid: m,
slidesSizesGrid: v
}), t.centeredSlides && t.cssMode && !t.centeredSlidesBounds) {
lt(s, "--swiper-centered-offset-before", `${-g[0]}px`), lt(s, "--swiper-centered-offset-after", `${i.size / 2 - v[v.length - 1] / 2}px`);
const $ = -i.snapGrid[0], T = -i.slidesGrid[0];
i.snapGrid = i.snapGrid.map((L) => L + $), i.slidesGrid = i.slidesGrid.map((L) => L + T);
}
if (d !== c && i.emit("slidesLengthChange"), g.length !== x && (i.params.watchOverflow && i.checkOverflow(), i.emit("snapGridLengthChange")), m.length !== p && i.emit("slidesGridLengthChange"), t.watchSlidesProgress && i.updateSlidesOffset(), i.emit("slidesUpdated"), !a && !t.cssMode && (t.effect === "slide" || t.effect === "fade")) {
const $ = `${t.containerModifierClass}backface-hidden`, T = i.el.classList.contains($);
d <= t.maxBackfaceHiddenSlides ? T || i.el.classList.add($) : T && i.el.classList.remove($);
}
}
function Js(i) {
const e = this, t = [], s = e.virtual && e.params.virtual.enabled;
let r = 0, n;
typeof i == "number" ? e.setTransition(i) : i === !0 && e.setTransition(e.params.speed);
const o = (l) => s ? e.slides[e.getSlideIndexByData(l)] : e.slides[l];
if (e.params.slidesPerView !== "auto" && e.params.slidesPerView > 1)
if (e.params.centeredSlides)
(e.visibleSlides || []).forEach((l) => {
t.push(l);
});
else
for (n = 0; n < Math.ceil(e.params.slidesPerView); n += 1) {
const l = e.activeIndex + n;
if (l > e.slides.length && !s) break;
t.push(o(l));
}
else
t.push(o(e.activeIndex));
for (n = 0; n < t.length; n += 1)
if (typeof t[n] < "u") {
const l = t[n].offsetHeight;
r = l > r ? l : r;
}
(r || r === 0) && (e.wrapperEl.style.height = `${r}px`);
}
function er() {
const i = this, e = i.slides, t = i.isElement ? i.isHorizontal() ? i.wrapperEl.offsetLeft : i.wrapperEl.offsetTop : 0;
for (let s = 0; s < e.length; s += 1)
e[s].swiperSlideOffset = (i.isHorizontal() ? e[s].offsetLeft : e[s].offsetTop) - t - i.cssOverflowAdjustment();
}
const Ai = (i, e, t) => {
e && !i.classList.contains(t) ? i.classList.add(t) : !e && i.classList.contains(t) && i.classList.remove(t);
};
function tr(i) {
i === void 0 && (i = this && this.translate || 0);
const e = this, t = e.params, {
slides: s,
rtlTranslate: r,
snapGrid: n
} = e;
if (s.length === 0) return;
typeof s[0].swiperSlideOffset > "u" && e.updateSlidesOffset();
let o = -i;
r && (o = i), e.visibleSlidesIndexes = [], e.visibleSlides = [];
let l = t.spaceBetween;
typeof l == "string" && l.indexOf("%") >= 0 ? l = parseFloat(l.replace("%", "")) / 100 * e.size : typeof l == "string" && (l = parseFloat(l));
for (let a = 0; a < s.length; a += 1) {
const c = s[a];
let u = c.swiperSlideOffset;
t.cssMode && t.centeredSlides && (u -= s[0].swiperSlideOffset);
const d = (o + (t.centeredSlides ? e.minTranslate() : 0) - u) / (c.swiperSlideSize + l), g = (o - n[0] + (t.centeredSlides ? e.minTranslate() : 0) - u) / (c.swiperSlideSize + l), m = -(o - u), v = m + e.slidesSizesGrid[a], b = m >= 0 && m <= e.size - e.slidesSizesGrid[a], S = m >= 0 && m < e.size - 1 || v > 1 && v <= e.size || m <= 0 && v >= e.size;
S && (e.visibleSlides.push(c), e.visibleSlidesIndexes.push(a)), Ai(c, S, t.slideVisibleClass), Ai(c, b, t.slideFullyVisibleClass), c.progress = r ? -d : d, c.originalProgress = r ? -g : g;
}
}
function ir(i) {
const e = this;
if (typeof i > "u") {
const u = e.rtlTranslate ? -1 : 1;
i = e && e.translate && e.translate * u || 0;
}
const t = e.params, s = e.maxTranslate() - e.minTranslate();
let {
progress: r,
isBeginning: n,
isEnd: o,
progressLoop: l
} = e;
const a = n, c = o;
if (s === 0)
r = 0, n = !0, o = !0;
else {
r = (i - e.minTranslate()) / s;
const u = Math.abs(i - e.minTranslate()) < 1, d = Math.abs(i - e.maxTranslate()) < 1;
n = u || r <= 0, o = d || r >= 1, u && (r = 0), d && (r = 1);
}
if (t.loop) {
const u = e.getSlideIndexByData(0), d = e.getSlideIndexByData(e.slides.length - 1), g = e.slidesGrid[u], m = e.slidesGrid[d], v = e.slidesGrid[e.slidesGrid.length - 1], b = Math.abs(i);
b >= g ? l = (b - g) / v : l = (b + v - m) / v, l > 1 && (l -= 1);
}
Object.assign(e, {
progress: r,
progressLoop: l,
isBeginning: n,
isEnd: o
}), (t.watchSlidesProgress || t.centeredSlides && t.autoHeight) && e.updateSlidesProgress(i), n && !a && e.emit("reachBeginning toEdge"), o && !c && e.emit("reachEnd toEdge"), (a && !n || c && !o) && e.emit("fromEdge"), e.emit("progress", r);
}
const Bt = (i, e, t) => {
e && !i.classList.contains(t) ? i.classList.add(t) : !e && i.classList.contains(t) && i.classList.remove(t);
};
function sr() {
const i = this, {
slides: e,
params: t,
slidesEl: s,
activeIndex: r
} = i, n = i.virtual && t.virtual.enabled, o = i.grid && t.grid && t.grid.rows > 1, l = (d) => U(s, `.${t.slideClass}${d}, swiper-slide${d}`)[0];
let a, c, u;
if (n)
if (t.loop) {
let d = r - i.virtual.slidesBefore;
d < 0 && (d = i.virtual.slides.length + d), d >= i.virtual.slides.length && (d -= i.virtual.slides.length), a = l(`[data-swiper-slide-index="${d}"]`);
} else
a = l(`[data-swiper-slide-index="${r}"]`);
else
o ? (a = e.find((d) => d.column === r), u = e.find((d) => d.column === r + 1), c = e.find((d) => d.column === r - 1)) : a = e[r];
a && (o || (u = Fs(a, `.${t.slideClass}, swiper-slide`)[0], t.loop && !u && (u = e[0]), c = Vs(a, `.${t.slideClass}, swiper-slide`)[0], t.loop && !c === 0 && (c = e[e.length - 1]))), e.forEach((d) => {
Bt(d, d === a, t.slideActiveClass), Bt(d, d === u, t.slideNextClass), Bt(d, d === c, t.slidePrevClass);
}), i.emitSlidesClasses();
}
const pt = (i, e) => {
if (!i || i.destroyed || !i.params) return;
const t = () => i.isElement ? "swiper-slide" : `.${i.params.slideClass}`, s = e.closest(t());
if (s) {
let r = s.querySelector(`.${i.params.lazyPreloaderClass}`);
!r && i.isElement && (s.shadowRoot ? r = s.shadowRoot.querySelector(`.${i.params.lazyPreloaderClass}`) : requestAnimationFrame(() => {
s.shadowRoot && (r = s.shadowRoot.querySelector(`.${i.params.lazyPreloaderClass}`), r && r.remove());
})), r && r.remove();
}
}, Ht = (i, e) => {
if (!i.slides[e]) return;
const t = i.slides[e].querySelector('[loading="lazy"]');
t && t.removeAttribute("loading");
}, Rt = (i) => {
if (!i || i.destroyed || !i.params) return;
let e = i.params.lazyPreloadPrevNext;
const t = i.slides.length;
if (!t || !e || e < 0) return;
e = Math.min(e, t);
const s = i.params.slidesPerView === "auto" ? i.slidesPerViewDynamic() : Math.ceil(i.params.slidesPerView), r = i.activeIndex;
if (i.params.grid && i.params.grid.rows > 1) {
const o = r, l = [o - e];
l.push(...Array.from({
length: e
}).map((a, c) => o + s + c)), i.slides.forEach((a, c) => {
l.includes(a.column) && Ht(i, c);
});
return;
}
const n = r + s - 1;
if (i.params.rewind || i.params.loop)
for (let o = r - e; o <= n + e; o += 1) {
const l = (o % t + t) % t;
(l < r || l > n) && Ht(i, l);
}
else
for (let o = Math.max(r - e, 0); o <= Math.min(n + e, t - 1); o += 1)
o !== r && (o > n || o < r) && Ht(i, o);
};
function rr(i) {
const {
slidesGrid: e,
params: t
} = i, s = i.rtlTranslate ? i.translate : -i.translate;
let r;
for (let n = 0; n < e.length; n += 1)
typeof e[n + 1] < "u" ? s >= e[n] && s < e[n + 1] - (e[n + 1] - e[n]) / 2 ? r = n : s >= e[n] && s < e[n + 1] && (r = n + 1) : s >= e[n] && (r = n);
return t.normalizeSlideIndex && (r < 0 || typeof r > "u") && (r = 0), r;
}
function nr(i) {
const e = this, t = e.rtlTranslate ? e.translate : -e.translate, {
snapGrid: s,
params: r,
activeIndex: n,
realIndex: o,
snapIndex: l
} = e;
let a = i, c;
const u = (m) => {
let v = m - e.virtual.slidesBefore;
return v < 0 && (v = e.virtual.slides.length + v), v >= e.virtual.slides.length && (v -= e.virtual.slides.length), v;
};
if (typeof a > "u" && (a = rr(e)), s.indexOf(t) >= 0)
c = s.indexOf(t);
else {
const m = Math.min(r.slidesPerGroupSkip, a);
c = m + Math.floor((a - m) / r.slidesPerGroup);
}
if (c >= s.length && (c = s.length - 1), a === n && !e.params.loop) {
c !== l && (e.snapIndex = c, e.emit("snapIndexChange"));
return;
}
if (a === n && e.params.loop && e.virtual && e.params.virtual.enabled) {
e.realIndex = u(a);
return;
}
const d = e.grid && r.grid && r.grid.rows > 1;
let g;
if (e.virtual && r.virtual.enabled && r.loop)
g = u(a);
else if (d) {
const m = e.slides.find((b) => b.column === a);
let v = parseInt(m.getAttribute("data-swiper-slide-index"), 10);
Number.isNaN(v) && (v = Math.max(e.slides.indexOf(m), 0)), g = Math.floor(v / r.grid.rows);
} else if (e.slides[a]) {
const m = e.slides[a].getAttribute("data-swiper-slide-index");
m ? g = parseInt(m, 10) : g = a;
} else
g = a;
Object.assign(e, {
previousSnapIndex: l,
snapIndex: c,
previousRealIndex: o,
realIndex: g,
previousIndex: n,
activeIndex: a
}), e.initialized && Rt(e), e.emit("activeIndexChange"), e.emit("snapIndexChange"), (e.initialized || e.params.runCallbacksOnInit) && (o !== g && e.emit("realIndexChange"), e.emit("slideChange"));
}
function or(i, e) {
const t = this, s = t.params;
let r = i.closest(`.${s.slideClass}, swiper-slide`);
!r && t.isElement && e && e.length > 1 && e.includes(i) && [...e.slice(e.indexOf(i) + 1, e.length)].forEach((l) => {
!r && l.matches && l.matches(`.${s.slideClass}, swiper-slide`) && (r = l);
});
let n = !1, o;
if (r) {
for (let l = 0; l < t.slides.length; l += 1)
if (t.slides[l] === r) {
n = !0, o = l;
break;
}
}
if (r && n)
t.clickedSlide = r, t.virtual && t.params.virtual.enabled ? t.clickedIndex = parseInt(r.getAttribute("data-swiper-slide-index"), 10) : t.clickedIndex = o;
else {
t.clickedSlide = void 0, t.clickedIndex = void 0;
return;
}
s.slideToClickedSlide && t.clickedIndex !== void 0 && t.clickedIndex !== t.activeIndex && t.slideToClickedSlide();
}
var ar = {
updateSize: Qs,
updateSlides: Ks,
updateAutoHeight: Js,
updateSlidesOffset: er,
updateSlidesProgress: tr,
updateProgress: ir,
updateSlidesClasses: sr,
updateActiveIndex: nr,
updateClickedSlide: or
};
function lr(i) {
i === void 0 && (i = this.isHorizontal() ? "x" : "y");
const e = this, {
params: t,
rtlTranslate: s,
translate: r,
wrapperEl: n
} = e;
if (t.virtualTranslate)
return s ? -r : r;
if (t.cssMode)
return r;
let o = Hs(n, i);
return o += e.cssOverflowAdjustment(), s && (o = -o), o || 0;
}
function dr(i, e) {
const t = this, {
rtlTranslate: s,
params: r,
wrapperEl: n,
progress: o
} = t;
let l = 0, a = 0;
const c = 0;
t.isHorizontal() ? l = s ? -i : i : a = i, r.roundLengths && (l = Math.floor(l), a = Math.floor(a)), t.previousTranslate = t.translate, t.translate = t.isHorizontal() ? l : a, r.cssMode ? n[t.isHorizontal() ? "scrollLeft" : "scrollTop"] = t.isHorizontal() ? -l : -a : r.virtualTranslate || (t.isHorizontal() ? l -= t.cssOverflowAdjustment() : a -= t.cssOverflowAdjustment(), n.style.transform = `translate3d(${l}px, ${a}px, ${c}px)`);
let u;
const d = t.maxTranslate() - t.minTranslate();
d === 0 ? u = 0 : u = (i - t.minTranslate()) / d, u !== o && t.updateProgress(i), t.emit("setTranslate", t.translate, e);
}
function pr() {
return -this.snapGrid[0];
}
function cr() {
return -this.snapGrid[this.snapGrid.length - 1];
}
function ur(i, e, t, s, r) {
i === void 0 && (i = 0), e === void 0 && (e = this.params.speed), t === void 0 && (t = !0), s === void 0 && (s = !0);
const n = this, {
params: o,
wrapperEl: l
} = n;
if (n.animating && o.preventInteractionOnTransition)
return !1;
const a = n.minTranslate(), c = n.maxTranslate();
let u;
if (s && i > a ? u = a : s && i < c ? u = c : u = i, n.updateProgress(u), o.cssMode) {
const d = n.isHorizontal();
if (e === 0)
l[d ? "scrollLeft" : "scrollTop"] = -u;
else {
if (!n.support.smoothScroll)
return ki({
swiper: n,
targetPosition: -u,
side: d ? "left" : "top"
}), !0;
l.scrollTo({
[d ? "left" : "top"]: -u,
behavior: "smooth"
});
}
return !0;
}
return e === 0 ? (n.setTransition(0), n.setTranslate(u), t && (n.emit("beforeTransitionStart", e, r), n.emit("transitionEnd"))) : (n.setTransition(e), n.setTranslate(u), t && (n.emit("beforeTransitionStart", e, r), n.emit("transitionStart")), n.animating || (n.animating = !0, n.onTranslateToWrapperTransitionEnd || (n.onTranslateToWrapperTransitionEnd = function(g) {
!n || n.destroyed || g.target === this && (n.wrapperEl.removeEventListener("transitionend", n.onTranslateToWrapperTransitionEnd), n.onTranslateToWrapperTransitionEnd = null, delete n.onTranslateToWrapperTransitionEnd, n.animating = !1, t && n.emit("transitionEnd"));
}), n.wrapperEl.addEventListener("transitionend", n.onTranslateToWrapperTransitionEnd))), !0;
}
var hr = {
getTranslate: lr,
setTranslate: dr,
minTranslate: pr,
maxTranslate: cr,
translateTo: ur
};
function fr(i, e) {
const t = this;
t.params.cssMode || (t.wrapperEl.style.transitionDuration = `${i}ms`, t.wrapperEl.style.transitionDelay = i === 0 ? "0ms" : ""), t.emit("setTransition", i, e);
}
function Ni(i) {
let {
swiper: e,
runCallbacks: t,
direction: s,
step: r
} = i;
const {
activeIndex: n,
previousIndex: o
} = e;
let l = s;
if (l || (n > o ? l = "next" : n < o ? l = "prev" : l = "reset"), e.emit(`transition${r}`), t && n !== o) {
if (l === "reset") {
e.emit(`slideResetTransition${r}`);
return;
}
e.emit(`slideChangeTransition${r}`), l === "next" ? e.emit(`slideNextTransition${r}`) : e.emit(`slidePrevTransition${r}`);
}
}
function gr(i, e) {
i === void 0 && (i = !0);
const t = this, {
params: s
} = t;
s.cssMode || (s.autoHeight && t.updateAutoHeight(), Ni({
swiper: t,
runCallbacks: i,
direction: e,
step: "Start"
}));
}
function mr(i, e) {
i === void 0 && (i = !0);
const t = this, {
params: s
} = t;
t.animating = !1, !s.cssMode && (t.setTransition(0), Ni({
swiper: t,
runCallbacks: i,
direction: e,
step: "End"
}));
}
var vr = {
setTransition: fr,
transitionStart: gr,
transitionEnd: mr
};
function wr(i, e, t, s, r) {
i === void 0 && (i = 0), t === void 0 && (t = !0), typeof i == "string" && (i = parseInt(i, 10));
const n = this;
let o = i;
o < 0 && (o = 0);
const {
params: l,
snapGrid: a,
slidesGrid: c,
previousIndex: u,
activeIndex: d,
rtlTranslate: g,
wrapperEl: m,
enabled: v
} = n;
if (!v && !s && !r || n.destroyed || n.animating && l.preventInteractionOnTransition)
return !1;
typeof e > "u" && (e = n.params.speed);
const b = Math.min(n.params.slidesPerGroupSkip, o);
let S = b + Math.floor((o - b) / n.params.slidesPerGroup);
S >= a.length && (S = a.length - 1);
const x = -a[S];
if (l.normalizeSlideIndex)
for (let D = 0; D < c.length; D += 1) {
const z = -Math.floor(x * 100), B = Math.floor(c[D] * 100), $ = Math.floor(c[D + 1] * 100);
typeof c[D + 1] < "u" ? z >= B && z < $ - ($ - B) / 2 ? o = D : z >= B && z < $ && (o = D + 1) : z >= B && (o = D);
}
if (n.initialized && o !== d && (!n.allowSlideNext && (g ? x > n.translate && x > n.minTranslate() : x < n.translate && x < n.minTranslate()) || !n.allowSlidePrev && x > n.translate && x > n.maxTranslate() && (d || 0) !== o))
return !1;
o !== (u || 0) && t && n.emit("beforeSlideChangeStart"), n.updateProgress(x);
let p;
o > d ? p = "next" : o < d ? p = "prev" : p = "reset";
const h = n.virtual && n.params.virtual.enabled;
if (!(h && r) && (g && -x === n.translate || !g && x === n.translate))
return n.updateActiveIndex(o), l.autoHeight && n.updateAutoHeight(), n.updateSlidesClasses(), l.effect !== "slide" && n.setTranslate(x), p !== "reset" && (n.transitionStart(t, p), n.transitionEnd(t, p)), !1;
if (l.cssMode) {
const D = n.isHorizontal(), z = g ? x : -x;
if (e === 0)
h && (n.wrapperEl.style.scrollSnapType = "none", n._immediateVirtual = !0), h && !n._cssModeVirtualInitialSet && n.params.initialSlide > 0 ? (n._cssModeVirtualInitialSet = !0, requestAnimationFrame(() => {
m[D ? "scrollLeft" : "scrollTop"] = z;
})) : m[D ? "scrollLeft" : "scrollTop"] = z, h && requestAnimationFrame(() => {
n.wrapperEl.style.scrollSnapType = "", n._immediateVirtual = !1;
});
else {
if (!n.support.smoothScroll)
return ki({
swiper: n,
targetPosition: z,
side: D ? "left" : "top"
}), !0;
m.scrollTo({
[D ? "left" : "top"]: z,
behavior: "smooth"
});
}
return !0;
}
const I = ji().isSafari;
return h && !r && I && n.isElement && n.virtual.update(!1, !1, o), n.setTransition(e), n.setTranslate(x), n.updateActiveIndex(o), n.updateSlidesClasses(), n.emit("beforeTransitionStart", e, s), n.transitionStart(t, p), e === 0 ? n.transitionEnd(t, p) : n.animating || (n.animating = !0, n.onSlideToWrapperTransitionEnd || (n.onSlideToWrapperTransitionEnd = function(z) {
!n || n.destroyed || z.target === this && (n.wrapperEl.removeEventListener("transitionend", n.onSlideToWrapperTransitionEnd), n.onSlideToWrapperTransitionEnd = null, delete n.onSlideToWrapperTransitionEnd, n.transitionEnd(t, p));
}), n.wrapperEl.addEventListener("transitionend", n.onSlideToWrapperTransitionEnd)), !0;
}
function br(i, e, t, s) {
i === void 0 && (i = 0), t === void 0 && (t = !0), typeof i == "string" && (i = parseInt(i, 10));
const r = this;
if (r.destroyed) return;
typeof e > "u" && (e = r.params.speed);
const n = r.grid && r.params.grid && r.params.grid.rows > 1;
let o = i;
if (r.params.loop)
if (r.virtual && r.params.virtual.enabled)
o = o + r.virtual.slidesBefore;
else {
let l;
if (n) {
const g = o * r.params.grid.rows;
l = r.slides.find((m) => m.getAttribute("data-swiper-slide-index") * 1 === g).column;
} else
l = r.getSlideIndexByData(o);
const a = n ? Math.ceil(r.slides.length / r.params.grid.rows) : r.slides.length, {
centeredSlides: c
} = r.params;
let u = r.params.slidesPerView;
u === "auto" ? u = r.slidesPerViewDynamic() : (u = Math.ceil(parseFloat(r.params.slidesPerView, 10)), c && u % 2 === 0 && (u = u + 1));
let d = a - l < u;
if (c && (d = d || l < Math.ceil(u / 2)), s && c && r.params.slidesPerView !== "auto" && !n && (d = !1), d) {
const g = c ? l < r.activeIndex ? "prev" : "next" : l - r.activeIndex - 1 < r.params.slidesPerView ? "next" : "prev";
r.loopFix({
direction: g,
slideTo: !0,
activeSlideIndex: g === "next" ? l + 1 : l - a + 1,
slideRealIndex: g === "next" ? r.realIndex : void 0
});
}
if (n) {
const g = o * r.params.grid.rows;
o = r.slides.find((m) => m.getAttribute("data-swiper-slide-index") * 1 === g).column;
} else
o = r.getSlideIndexByData(o);
}
return requestAnimationFrame(() => {
r.slideTo(o, e, t, s);
}), r;
}
function yr(i, e, t) {
e === void 0 && (e = !0);
const s = this, {
enabled: r,
params: n,
animating: o
} = s;
if (!r || s.destroyed) return s;
typeof i > "u" && (i = s.params.speed);
let l = n.slidesPerGroup;
n.slidesPerView === "auto" && n.slidesPerGroup === 1 && n.slidesPerGroupAuto && (l = Math.max(s.slidesPerViewDynamic("current", !0), 1));
const a = s.activeIndex < n.slidesPerGroupSkip ? 1 : l, c = s.virtual && n.virtual.enabled;
if (n.loop) {
if (o && !c && n.loopPreventsSliding) return !1;
if (s.loopFix({
direction: "next"
}), s._clientLeft = s.wrapperEl.clientLeft, s.activeIndex === s.slides.length - 1 && n.cssMode)
return requestAnimationFrame(() => {
s.slideTo(s.activeIndex + a, i, e, t);
}), !0;
}
return n.rewind && s.isEnd ? s.slideTo(0, i, e, t) : s.slideTo(s.activeIndex + a, i, e, t);
}
function xr(i, e, t) {
e === void 0 && (e = !0);
const s = this, {
params: r,
snapGrid: n,
slidesGrid: o,
rtlTranslate: l,
enabled: a,
animating: c
} = s;
if (!a || s.destroyed) return s;
typeof i > "u" && (i = s.params.speed);
const u = s.virtual && r.virtual.enabled;
if (r.loop) {
if (c && !u && r.loopPreventsSliding) return !1;
s.loopFix({
direction: "prev"
}), s._clientLeft = s.wrapperEl.clientLeft;
}
const d = l ? s.translate : -s.translate;
function g(p) {
return p < 0 ? -Math.floor(Math.abs(p)) : Math.floor(p);
}
const m = g(d), v = n.map((p) => g(p)), b = r.freeMode && r.freeMode.enabled;
let S = n[v.indexOf(m) - 1];
if (typeof S > "u" && (r.cssMode || b)) {
let p;
n.forEach((h, y) => {
m >= h && (p = y);
}), typeof p < "u" && (S = b ? n[p] : n[p > 0 ? p - 1 : p]);
}
let x = 0;
if (typeof S < "u" && (x = o.indexOf(S), x < 0 && (x = s.activeIndex - 1), r.slidesPerView === "auto" && r.slidesPerGroup === 1 && r.slidesPerGroupAuto && (x = x - s.slidesPerViewDynamic("previous", !0) + 1, x = Math.max(x, 0))), r.rewind && s.isBeginning) {
const p = s.params.virtual && s.params.virtual.enabled && s.virtual ? s.virtual.slides.length - 1 : s.slides.length - 1;
return s.slideTo(p, i, e, t);
} else if (r.loop && s.activeIndex === 0 && r.cssMode)
return requestAnimationFrame(() => {
s.slideTo(x, i, e, t);
}), !0;
return s.slideTo(x, i, e, t);
}
function Ar(i, e, t) {
e === void 0 && (e = !0);
const s = this;
if (!s.destroyed)
return typeof i > "u" && (i = s.params.speed), s.slideTo(s.activeIndex, i, e, t);
}
function $r(i, e, t, s) {
e === void 0 && (e = !0), s === void 0 && (s = 0.5);
const r = this;
if (r.destroyed) return;
typeof i > "u" && (i = r.params.speed);
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 c = r.snapGrid[l], u = r.snapGrid[l + 1];
a - c > (u - c) * s && (n += r.params.slidesPerGroup);
} else {
const c = r.snapGrid[l - 1], u = r.snapGrid[l];
a - c <= (u - c) * s && (n -= r.params.slidesPerGroup);
}
return n = Math.max(n, 0), n = Math.min(n, r.slidesGrid.length - 1), r.slideTo(n, i, e, t);
}
function Sr() {
const i = this;
if (i.destroyed) return;
const {
params: e,
slidesEl: t
} = i, s = e.slidesPerView === "auto" ? i.slidesPerViewDynamic() : e.slidesPerView;
let r = i.clickedIndex, n;
const o = i.isElement ? "swiper-slide" : `.${e.slideClass}`;
if (e.loop) {
if (i.animating) return;
n = parseInt(i.clickedSlide.getAttribute("data-swiper-slide-index"), 10), e.centeredSlides ? r < i.loopedSlides - s / 2 || r > i.slides.length - i.loopedSlides + s / 2 ? (i.loopFix(), r = i.getSlideIndex(U(t, `${o}[data-swiper-slide-index="${n}"]`)[0]), Vt(() => {
i.slideTo(r);
})) : i.slideTo(r) : r > i.slides.length - s ? (i.loopFix(), r = i.getSlideIndex(U(t, `${o}[data-swiper-slide-index="${n}"]`)[0]), Vt(() => {
i.slideTo(r);
})) : i.slideTo(r);
} else
i.slideTo(r);
}
var Er = {
slideTo: wr,
slideToLoop: br,
slideNext: yr,
slidePrev: xr,
slideReset: Ar,
slideToClosest: $r,
slideToClickedSlide: Sr
};
function Tr(i) {
const e = this, {
params: t,
slidesEl: s
} = e;
if (!t.loop || e.virtual && e.params.virtual.enabled) return;
const r = () => {
U(s, `.${t.slideClass}, swiper-slide`).forEach((d, g) => {
d.setAttribute("data-swiper-slide-index", g);
});
}, n = e.grid && t.grid && t.grid.rows > 1, o = t.slidesPerGroup * (n ? t.grid.rows : 1), l = e.slides.length % o !== 0, a = n && e.slides.length % t.grid.rows !== 0, c = (u) => {
for (let d = 0; d < u; d += 1) {
const g = e.isElement ? gt("swiper-slide", [t.slideBlankClass]) : gt("div", [t.slideClass, t.slideBlankClass]);
e.slidesEl.append(g);
}
};
if (l) {
if (t.loopAddBlankSlides) {
const u = o - e.slides.length % o;
c(u), e.recalcSlides(), e.updateSlides();
} else
ft("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)");
r();
} else if (a) {
if (t.loopAddBlankSlides) {
const u = t.grid.rows - e.slides.length % t.grid.rows;
c(u), e.recalcSlides(), e.updateSlides();
} else
ft("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)");
r();
} else
r();
e.loopFix({
slideRealIndex: i,
direction: t.centeredSlides ? void 0 : "next"
});
}
function Pr(i) {
let {
slideRealIndex: e,
slideTo: t = !0,
direction: s,
setTranslate: r,
activeSlideIndex: n,
byController: o,
byMousewheel: l
} = i === void 0 ? {} : i;
const a = this;
if (!a.params.loop) return;
a.emit("beforeLoopFix");
const {
slides: c,
allowSlidePrev: u,
allowSlideNext: d,
slidesEl: g,
params: m
} = a, {
centeredSlides: v
} = m;
if (a.allowSlidePrev = !0, a.allowSlideNext = !0, a.virtual && m.virtual.enabled) {
t && (!m.centeredSlides && a.snapIndex === 0 ? a.slideTo(a.virtual.slides.length, 0, !1, !0) : m.centeredSlides && a.snapIndex < m.slidesPerView ? a.slideTo(a.virtual.slides.length + a.snapIndex, 0, !1, !0) : a.snapIndex === a.snapGrid.length - 1 && a.slideTo(a.virtual.slidesBefore, 0, !1, !0)), a.allowSlidePrev = u, a.allowSlideNext = d, a.emit("loopFix");
return;
}
let b = m.slidesPerView;
b === "auto" ? b = a.slidesPerViewDynamic() : (b = Math.ceil(parseFloat(m.slidesPerView, 10)), v && b % 2 === 0 && (b = b + 1));
const S = m.slidesPerGroupAuto ? b : m.slidesPerGroup;
let x = S;
x % S !== 0 && (x += S - x % S), x += m.loopAdditionalSlides, a.loopedSlides = x;
const p = a.grid && m.grid && m.grid.rows > 1;
c.length < b + x ? ft("Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled and not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters") : p && m.grid.fill === "row" && ft("Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`");
const h = [], y = [];
let A = a.activeIndex;
typeof n > "u" ? n = a.getSlideIndex(c.find((E) => E.classList.contains(m.slideActiveClass))) : A = n;
const I = s === "next" || !s, D = s === "prev" || !s;
let z = 0, B = 0;
const $ = p ? Math.ceil(c.length / m.grid.rows) : c.length, L = (p ? c[n].column : n) + (v && typeof r > "u" ? -b / 2 + 0.5 : 0);
if (L < x) {
z = Math.max(x - L, S);
for (let E = 0; E < x - L; E += 1) {
const k = E - Math.floor(E / $) * $;
if (p) {
const H = $ - k - 1;
for (let G = c.length - 1; G >= 0; G -= 1)
c[G].column === H && h.push(G);
} else
h.push($ - k - 1);
}
} else if (L + b > $ - x) {
B = Math.max(L - ($ - x * 2), S);
for (let E = 0; E < B; E += 1) {
const k = E - Math.floor(E / $) * $;
p ? c.forEach((H, G) => {
H.column === k && y.push(G);
}) : y.push(k);
}
}
if (a.__preventObserver__ = !0, requestAnimationFrame(() => {
a.__preventObserver__ = !1;
}), D && h.forEach((E) => {
c[E].swiperLoopMoveDOM = !0, g.prepend(c[E]), c[E].swiperLoopMoveDOM = !1;
}), I && y.forEach((E) => {
c[E].swiperLoopMoveDOM = !0, g.append(c[E]), c[E].swiperLoopMoveDOM = !1;
}), a.recalcSlides(), m.slidesPerView === "auto" ? a.updateSlides() : p && (h.length > 0 && D || y.length > 0 && I) && a.slides.forEach((E, k) => {
a.grid.updateSlide(k, E, a.slides);
}), m.watchSlidesProgress && a.updateSlidesOffset(), t) {
if (h.length > 0 && D) {
if (typeof e > "u") {
const E = a.slidesGrid[A], H = a.slidesGrid[A + z] - E;
l ? a.setTranslate(a.translate - H) : (a.slideTo(A + Math.ceil(z), 0, !1, !0), r && (a.touchEventsData.startTranslate = a.touchEventsData.startTranslate - H, a.touchEventsData.currentTranslate = a.touchEventsData.currentTranslate - H));
} else if (r) {
const E = p ? h.length / m.grid.rows : h.length;
a.slideTo(a.activeIndex + E, 0, !1, !0), a.touchEventsData.currentTranslate = a.translate;
}
} else if (y.length > 0 && I)
if (typeof e > "u") {
const E = a.slidesGrid[A], H = a.slidesGrid[A - B] - E;
l ? a.setTranslate(a.translate - H) : (a.slideTo(A - B, 0, !1, !0), r && (a.touchEventsData.startTranslate = a.touchEventsData.startTranslate - H, a.touchEventsData.currentTranslate = a.touchEventsData.currentTranslate - H));
} else {
const E = p ? y.length / m.grid.rows : y.length;
a.slideTo(a.activeIndex - E, 0, !1, !0);
}
}
if (a.allowSlidePrev = u, a.allowSlideNext = d, a.controller && a.controller.control && !o) {
const E = {
slideRealIndex: e,
direction: s,
setTranslate: r,
activeSlideIndex: n,
byController: !0
};
Array.isArray(a.controller.control) ? a.controller.control.forEach((k) => {
!k.destroyed && k.params.loop && k.loopFix({
...E,
slideTo: k.params.slidesPerView === m.slidesPerView ? t : !1
});
}) : a.controller.control instanceof a.constructor && a.controller.control.params.loop && a.controller.control.loopFix({
...E,
slideTo: a.controller.control.params.slidesPerView === m.slidesPerView ? t : !1
});
}
a.emit("loopFix");
}
function Cr() {
const i = this, {
params: e,
slidesEl: t
} = i;
if (!e.loop || i.virtual && i.params.virtual.enabled) return;
i.recalcSlides();
const s = [];
i.slides.forEach((r) => {
const n = typeof r.swiperSlideIndex > "u" ? r.getAttribute("data-swiper-slide-index") * 1 : r.swiperSlideIndex;
s[n] = r;
}), i.slides.forEach((r) => {
r.removeAttribute("data-swiper-slide-index");
}), s.forEach((r) => {
t.append(r);
}), i.recalcSlides(), i.slideTo(i.realIndex, 0);
}
var _r = {
loopCreate: Tr,
loopFix: Pr,
loopDestroy: Cr
};
function Or(i) {
const e = this;
if (!e.params.simulateTouch || e.params.watchOverflow && e.isLocked || e.params.cssMode) return;
const t = e.params.touchEventsTarget === "container" ? e.el : e.wrapperEl;
e.isElement && (e.__preventObserver__ = !0), t.style.cursor = "move", t.style.cursor = i ? "grabbing" : "grab", e.isElement && requestAnimationFrame(() => {
e.__preventObserver__ = !1;
});
}
function Mr() {
const i = this;
i.params.watchOverflow && i.isLocked || i.params.cssMode || (i.isElement && (i.__preventObserver__ = !0), i[i.params.touchEventsTarget === "container" ? "el" : "wrapperEl"].style.cursor = "", i.isElement && requestAnimationFrame(() => {
i.__preventObserver__ = !1;
}));
}
var zr = {
setGrabCursor: Or,
unsetGrabCursor: Mr
};
function Lr(i, e) {
e === void 0 && (e = this);
function t(s) {
if (!s || s === Ae() || s === V()) return null;
s.assignedSlot && (s = s.assignedSlot);
const r = s.closest(i);
return !r && !s.getRootNode ? null : r || t(s.getRootNode().host);
}
return t(e);
}
function $i(i, e, t) {
const s = V(), {
params: r
} = i, n = r.edgeSwipeDetection, o = r.edgeSwipeThreshold;
return n && (t <= o || t >= s.innerWidth - o) ? n === "prevent" ? (e.preventDefault(), !0) : !1 : !0;
}
function kr(i) {
const e = this, t = Ae();
let s = i;
s.originalEvent && (s = s.originalEvent);
const r = e.touchEventsData;
if (s.type === "pointerdown") {
if (r.pointerId !== null && r.pointerId !== s.pointerId)
return;
r.pointerId = s.pointerId;
} else s.type === "touchstart" && s.targetTouches.length === 1 && (r.touchId = s.targetTouches[0].identifier);
if (s.type === "touchstart") {
$i(e, s, s.targetTouches[0].pageX);
return;
}
const {
params: n,
touches: o,
enabled: l
} = e;
if (!l || !n.simulateTouch && s.pointerType === "mouse" || e.animating && n.preventInteractionOnTransition)
return;
!e.animating && n.cssMode && n.loop && e.loopFix();
let a = s.target;
if (n.touchEventsTarget === "wrapper" && !Gs(a, e.wrapperEl) || "which" in s && s.which === 3 || "button" in s && s.button > 0 || r.isTouched && r.isMoved) return;
const c = !!n.noSwipingClass && n.noSwipingClass !== "", u = s.composedPath ? s.composedPath() : s.path;
c && s.target && s.target.shadowRoot && u && (a = u[0]);
const d = n.noSwipingSelector ? n.noSwipingSelector : `.${n.noSwipingClass}`, g = !!(s.target && s.target.shadowRoot);
if (n.noSwiping && (g ? Lr(d, a) : a.closest(d))) {
e.allowClick = !0;
return;
}
if (n.swipeHandler && !a.closest(n.swipeHandler))
return;
o.currentX = s.pageX, o.currentY = s.pageY;
const m = o.currentX, v = o.currentY;
if (!$i(e, s, m))
return;
Object.assign(r, {
isTouched: !0,
isMoved: !1,
allowTouchCallbacks: !0,
isScrolling: void 0,
startMoving: void 0
}), o.startX = m, o.startY = v, r.touchStartTime = ht(), e.allowClick = !0, e.updateSize(), e.swipeDirection = void 0, n.threshold > 0 && (r.allowThresholdMove = !1);
let b = !0;
a.matches(r.focusableElements) && (b = !1, a.nodeName === "SELECT" && (r.isTouched = !1)), t.activeElement && t.activeElement.matches(r.focusableElements) && t.activeElement !== a && (s.pointerType === "mouse" || s.pointerType !== "mouse" && !a.matches(r.focusableElements)) && t.activeElement.blur();
const S = b && e.allowTouchMove && n.touchStartPreventDefault;
(n.touchStartForcePreventDefault || S) && !a.isContentEditable && s.preventDefault(), n.freeMode && n.freeMode.enabled && e.freeMode && e.animating && !n.cssMode && e.freeMode.onTouchStart(), e.emit("touchStart", s);
}
function Ir(i) {
const e = Ae(), t = this, s = t.touchEventsData, {
params: r,
touches: n,
rtlTranslate: o,
enabled: l
} = t;
if (!l || !r.simulateTouch && i.pointerType === "mouse") return;
let a = i;
if (a.originalEvent && (a = a.originalEvent), a.type === "pointermove" && (s.touchId !== null || a.pointerId !== s.pointerId))
return;
let c;
if (a.type === "touchmove") {
if (c = [...a.changedTouches].find((A) => A.identifier === s.touchId), !c || c.identifier !== s.touchId) return;
} else
c = a;
if (!s.isTouched) {
s.startMoving && s.isScrolling && t.emit("touchMoveOpposite", a);
return;
}
const u = c.pageX, d = c.pageY;
if (a.preventedByNestedSwiper) {
n.startX = u, n.startY = d;
return;
}
if (!t.allowTouchMove) {
a.target.matches(s.focusableElements) || (t.allowClick = !1), s.isTouched && (Object.assign(n, {
startX: u,
startY: d,
currentX: u,
currentY: d
}), s.touchStartTime = ht());
return;
}
if (r.touchReleaseOnEdges && !r.loop) {
if (t.isVertical()) {
if (d < n.startY && t.translate <= t.maxTranslate() || d > n.startY && t.translate >= t.minTranslate()) {
s.isTouched = !1, s.isMoved = !1;
return;
}
} else if (u < n.startX && t.translate <= t.maxTranslate() || u > n.startX && t.translate >= t.minTranslate())
return;
}
if (e.activeElement && e.activeElement.matches(s.focusableElements) && e.activeElement !== a.target && a.pointerType !== "mouse" && e.activeElement.blur(), e.activeElement && a.target === e.activeElement && a.target.matches(s.focusableElements)) {
s.isMoved = !0, t.allowClick = !1;
return;
}
s.allowTouchCallbacks && t.emit("touchMove", a), n.previousX = n.currentX, n.previousY = n.currentY, n.currentX = u, n.currentY = d;
const g = n.currentX - n.startX, m = n.currentY - n.startY;
if (t.params.threshold && Math.sqrt(g ** 2 + m ** 2) < t.params.threshold) return;
if (typeof s.isScrolling > "u") {
let A;
t.isHorizontal() && n.currentY === n.startY || t.isVertical() && n.currentX === n.startX ? s.isScrolling = !1 : g * g + m * m >= 25 && (A = Math.atan2(Math.abs(m), Math.abs(g)) * 180 / Math.PI, s.isScrolling = t.isHorizontal() ? A > r.touchAngle : 90 - A > r.touchAngle);
}
if (s.isScrolling && t.emit("touchMoveOpposite", a), typeof s.startMoving > "u" && (n.currentX !== n.startX || n.currentY !== n.startY) && (s.startMoving = !0), s.isScrolling || a.type === "touchmove" && s.preventTouchMoveFromPointerMove) {
s.isTouched = !1;
return;
}
if (!s.startMoving)
return;
t.allowClick = !1, !r.cssMode && a.cancelable && a.preventDefault(), r.touchMoveStopPropagation && !r.nested && a.stopPropagation();
let v = t.isHorizontal() ? g : m, b = t.isHorizontal() ? n.currentX - n.previousX : n.currentY - n.previousY;
r.oneWayMovement && (v = Math.abs(v) * (o ? 1 : -1), b = Math.abs(b) * (o ? 1 : -1)), n.diff = v, v *= r.touchRatio, o && (v = -v, b = -b);
const S = t.touchesDirection;
t.swipeDirection = v > 0 ? "prev" : "next", t.touchesDirection = b > 0 ? "prev" : "next";
const x = t.params.loop && !r.cssMode, p = t.touchesDirection === "next" && t.allowSlideNext || t.touchesDirection === "prev" && t.allowSlidePrev;
if (!s.isMoved) {
if (x && p && t.loopFix({
direction: t.swipeDirection
}), s.startTranslate = t.getTranslate(), t.setTransition(0), t.animating) {
const A = new window.CustomEvent("transitionend", {
bubbles: !0,
cancelable: !0,
detail: {
bySwiperTouchMove: !0
}
});
t.wrapperEl.dispatchEvent(A);
}
s.allowMomentumBounce = !1, r.grabCursor && (t.allowSlideNext === !0 || t.allowSlidePrev === !0) && t.setGrabCursor(!0), t.emit("sliderFirstMove", a);
}
if ((/* @__PURE__ */ new Date()).getTime(), r._loopSwapReset !== !1 && s.isMoved && s.allowThresholdMove && S !== t.touchesDirection && x && p && Math.abs(v) >= 1) {
Object.assign(n, {
startX: u,
startY: d,
currentX: u,
currentY: d,
startTranslate: s.currentTranslate
}), s.loopSwapReset = !0, s.startTranslate = s.currentTranslate;
return;
}
t.emit("sliderMove", a), s.isMoved = !0, s.currentTranslate = v + s.startTranslate;
let h = !0, y = r.resistanceRatio;
if (r.touchReleaseOnEdges && (y = 0), v > 0 ? (x && p && s.allowThresholdMove && s.currentTranslate > (r.centeredSlides ? t.minTranslate() - t.slidesSizesGrid[t.activeIndex + 1] - (r.slidesPerView !== "auto" && t.slides.length - r.slidesPerView >= 2 ? t.slidesSizesGrid[t.activeIndex + 1] + t.params.spaceBetween : 0) - t.params.spaceBetween : t.minTranslate()) && t.loopFix({
direction: "prev",
setTranslate: !0,
activeSlideIndex: 0
}), s.currentTranslate > t.minTranslate() && (h = !1, r.resistance && (s.currentTranslate = t.minTranslate() - 1 + (-t.minTranslate() + s.startTranslate + v) ** y))) : v < 0 && (x && p && s.allowThresholdMove && s.currentTranslate < (r.centeredSlides ? t.maxTranslate() + t.slidesSizesGrid[t.slidesSizesGrid.length - 1] + t.params.spaceBetween + (r.slidesPerView !== "auto" && t.slides.length - r.slidesPerView >= 2 ? t.slidesSizesGrid[t.slidesSizesGrid.length - 1] + t.params.spaceBetween : 0) : t.maxTranslate()) && t.loopFix({
direction: "next",
setTranslate: !0,
activeSlideIndex: t.slides.length - (r.slidesPerView === "auto" ? t.slidesPerViewDynamic() : Math.ceil(parseFloat(r.slidesPerView, 10)))
}), s.currentTranslate < t.maxTranslate() && (h = !1, r.resistance && (s.currentTranslate = t.maxTranslate() + 1 - (t.maxTranslate() - s.startTranslate - v) ** y))), h && (a.preventedByNestedSwiper = !0), !t.allowSlideNext && t.swipeDirection === "next" && s.currentTranslate < s.startTranslate && (s.currentTranslate = s.startTranslate), !t.allowSlidePrev && t.swipeDirection === "prev" && s.currentTranslate > s.startTranslate && (s.currentTranslate = s.startTranslate), !t.allowSlidePrev && !t.allowSlideNext && (s.currentTranslate = s.startTranslate), r.threshold > 0)
if (Math.abs(v) > r.threshold || s.allowThresholdMove) {
if (!s.allowThresholdMove) {
s.allowThresholdMove = !0, n.startX = n.currentX, n.startY = n.currentY, s.currentTranslate = s.startTranslate, n.diff = t.isHorizontal() ? n.currentX - n.startX : n.currentY - n.startY;
return;
}
} else {
s.currentTranslate = s.startTranslate;
return;
}
!r.followFinger || r.cssMode || ((r.freeMode && r.freeMode.enabled && t.freeMode || r.watchSlidesProgress) && (t.updateActiveIndex(), t.updateSlidesClasses()), r.freeMode && r.freeMode.enabled && t.freeMode && t.freeMode.onTouchMove(), t.updateProgress(s.currentTranslate), t.setTranslate(s.currentTranslate));
}
function Dr(i) {
const e = this, t = e.touchEventsData;
let s = i;
s.originalEvent && (s = s.originalEvent);
let r;
if (s.type === "touchend" || s.type === "touchcancel") {
if (r = [...s.changedTouches].find((A) => A.identifier === t.touchId), !r || r.identifier !== t.touchId) return;
} else {
if (t.touchId !== null || s.pointerId !== t.pointerId) return;
r = s;
}
if (["pointercancel", "pointerout", "pointerleave", "contextmenu"].includes(s.type) && !(["pointercancel", "contextmenu"].includes(s.type) && (e.browser.isSafari || e.browser.isWebView)))
return;
t.pointerId = null, t.touchId = null;
const {
params: o,
touches: l,
rtlTranslate: a,
slidesGrid: c,
enabled: u
} = e;
if (!u || !o.simulateTouch && s.pointerType === "mouse") return;
if (t.allowTouchCallbacks && e.emit("touchEnd", s), t.allowTouchCallbacks = !1, !t.isTouched) {
t.isMoved && o.grabCursor && e.setGrabCursor(!1), t.isMoved = !1, t.startMoving = !1;
return;
}
o.grabCursor && t.isMoved && t.isTouched && (e.allowSlideNext === !0 || e.allowSlidePrev === !0) && e.setGrabCursor(!1);
const d = ht(), g = d - t.touchStartTime;
if (e.allowClick) {
const A = s.path || s.composedPath && s.composedPath();
e.updateClickedSlide(A && A[0] || s.target, A), e.emit("tap click", s), g < 300 && d - t.lastClickTime < 300 && e.emit("doubleTap doubleClick", s);
}
if (t.lastClickTime = ht(), Vt(() => {
e.destroyed || (e.allowClick = !0);
}), !t.isTouched || !t.isMoved || !e.swipeDirection || l.diff === 0 && !t.loopSwapReset || t.currentTranslate === t.startTranslate && !t.loopSwapReset) {
t.isTouched = !1, t.isMoved = !1, t.startMoving = !1;
return;
}
t.isTouched = !1, t.isMoved = !1, t.startMoving = !1;
let m;
if (o.followFinger ? m = a ? e.translate : -e.translate : m = -t.currentTranslate, o.cssMode)
return;
if (o.freeMode && o.freeMode.enabled) {
e.freeMode.onTouchEnd({
currentPos: m
});
return;
}
const v = m >= -e.maxTranslate() && !e.params.loop;
let b = 0, S = e.slidesSizesGrid[0];
for (let A = 0; A < c.length; A += A < o.slidesPerGroupSkip ? 1 : o.slidesPerGroup) {
const I = A < o.slidesPerGroupSkip - 1 ? 1 : o.slidesPerGroup;
typeof c[A + I] < "u" ? (v || m >= c[A] && m < c[A + I]) && (b = A, S = c[A + I] - c[A]) : (v || m >= c[A]) && (b = A, S = c[c.length - 1] - c[c.length - 2]);
}
let x = null, p = null;
o.rewind && (e.isBeginning ? p = o.virtual && o.virtual.enabled && e.virtual ? e.virtual.slides.length - 1 : e.slides.length - 1 : e.isEnd && (x = 0));
const h = (m - c[b]) / S, y = b < o.slidesPerGroupSkip - 1 ? 1 : o.slidesPerGroup;
if (g > o.longSwipesMs) {
if (!o.longSwipes) {
e.slideTo(e.activeIndex);
return;
}
e.swipeDirection === "next" && (h >= o.longSwipesRatio ? e.slideTo(o.rewind && e.isEnd ? x : b + y) : e.slideTo(b)), e.swipeDirection === "prev" && (h > 1 - o.longSwipesRatio ? e.slideTo(b + y) : p !== null && h < 0 && Math.abs(h) > o.longSwipesRatio ? e.slideTo(p) : e.slideTo(b));
} else {
if (!o.shortSwipes) {
e.slideTo(e.activeIndex);
return;
}
e.navigation && (s.target === e.navigation.nextEl || s.target === e.navigation.prevEl) ? s.target === e.navigation.nextEl ? e.slideTo(b + y) : e.slideTo(b) : (e.swipeDirection === "next" && e.slideTo(x !== null ? x : b + y), e.swipeDirection === "prev" && e.slideTo(p !== null ? p : b));
}
}
function Si() {
const i = this, {
params: e,
el: t
} = i;
if (t && t.offsetWidth === 0) return;
e.breakpoints && i.setBreakpoint();
const {
allowSlideNext: s,
allowSlidePrev: r,
snapGrid: n
} = i, o = i.virtual && i.params.virtual.enabled;
i.allowSlideNext = !0, i.allowSlidePrev = !0, i.updateSize(), i.updateSlides(), i.updateSlidesClasses();
const l = o && e.loop;
(e.slidesPerView === "auto" || e.slidesPerView > 1) && i.isEnd && !i.isBeginning && !i.params.centeredSlides && !l ? i.slideTo(i.slides.length - 1, 0, !1, !0) : i.params.loop && !o ? i.slideToLoop(i.realIndex, 0, !1, !0) : i.slideTo(i.activeIndex, 0, !1, !0), i.autoplay && i.autoplay.running && i.autoplay.paused && (clearTimeout(i.autoplay.resizeTimeout), i.autoplay.resizeTimeout = setTimeout(() => {
i.autoplay && i.autoplay.running && i.autoplay.paused && i.autoplay.resume();
}, 500)), i.allowSlidePrev = r, i.allowSlideNext = s, i.params.watchOverflow && n !== i.snapGrid && i.checkOverflow();
}
function Br(i) {
const e = this;
e.enabled && (e.allowClick || (e.params.preventClicks && i.preventDefault(), e.params.preventClicksPropagation && e.animating && (i.stopPropagation(), i.stopImmediatePropagation())));
}
function Hr() {
const i = this, {
wrapperEl: e,
rtlTranslate: t,
enabled: s
} = i;
if (!s) return;
i.previousTranslate = i.translate, i.isHorizontal() ? i.translate = -e.scrollLeft : i.translate = -e.scrollTop, i.translate === 0 && (i.translate = 0), i.updateActiveIndex(), i.updateSlidesClasses();
let r;
const n = i.maxTranslate() - i.minTranslate();
n === 0 ? r = 0 : r = (i.translate - i.minTranslate()) / n, r !== i.progress && i.updateProgress(t ? -i.translate : i.translate), i.emit("setTranslate", i.translate, !1);
}
function jr(i) {
const e = this;
pt(e, i.target), !(e.params.cssMode || e.params.slidesPerView !== "auto" && !e.params.autoHeight) && e.update();
}
function Nr() {
const i = this;
i.documentTouchHandlerProceeded || (i.documentTouchHandlerProceeded = !0, i.params.touchReleaseOnEdges && (i.el.style.touchAction = "auto"));
}
const Gi = (i, e) => {
const t = Ae(), {
params: s,
el: r,
wrapperEl: n,
device: o
} = i, l = !!s.nested, a = e === "on" ? "addEventListener" : "removeEventListener", c = e;
!r || typeof r == "string" || (t[a]("touchstart", i.onDocumentTouchStart, {
passive: !1,
capture: l
}), r[a]("touchstart", i.onTouchStart, {
passive: !1
}), r[a]("pointerdown", i.onTouchStart, {
passive: !1
}), t[a]("touchmove", i.onTouchMove, {
passive: !1,
capture: l
}), t[a]("pointermove", i.onTouchMove, {
passive: !1,
capture: l
}), t[a]("touchend", i.onTouchEnd, {
passive: !0
}), t[a]("pointerup", i.onTouchEnd, {
passive: !0
}), t[a]("pointercancel", i.onTouchEnd, {
passive: !0
}), t[a]("touchcancel", i.onTouchEnd, {
passive: !0
}), t[a]("pointerout", i.onTouchEnd, {
passive: !0
}), t[a]("pointerleave", i.onTouchEnd, {
passive: !0
}), t[a]("contextmenu", i.onTouchEnd, {
passive: !0
}), (s.preventClicks || s.preventClicksPropagation) && r[a]("click", i.onClick, !0), s.cssMode && n[a]("scroll", i.onScroll), s.updateOnWindowResize ? i[c](o.ios || o.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", Si, !0) : i[c]("observerUpdate", Si, !0), r[a]("load", i.onLoad, {
capture: !0
}));
};
function Gr() {
const i = this, {
params: e
} = i;
i.onTouchStart = kr.bind(i), i.onTouchMove = Ir.bind(i), i.onTouchEnd = Dr.bind(i), i.onDocumentTouchStart = Nr.bind(i), e.cssMode && (i.onScroll = Hr.bind(i)), i.onClick = Br.bind(i), i.onLoad = jr.bind(i), Gi(i, "on");
}
function Vr() {
Gi(this, "off");
}
var Fr = {
attachEvents: Gr,
detachEvents: Vr
};
const Ei = (i, e) => i.grid && e.grid && e.grid.rows > 1;
function Rr() {
const i = this, {
realIndex: e,
initialized: t,
params: s,
el: r
} = i, n = s.breakpoints;
if (!n || n && Object.keys(n).length === 0) return;
const o = Ae(), l = s.breakpointsBase === "window" || !s.breakpointsBase ? s.breakpointsBase : "container", a = ["window", "container"].includes(s.breakpointsBase) || !s.breakpointsBase ? i.el : o.querySelector(s.breakpointsBase), c = i.getBreakpoint(n, l, a);
if (!c || i.currentBreakpoint === c) return;
const d = (c in n ? n[c] : void 0) || i.originalParams, g = Ei(i, s), m = Ei(i, d), v = i.params.grabCursor, b = d.grabCursor, S = s.enabled;
g && !m ? (r.classList.remove(`${s.containerModifierClass}grid`, `${s.containerModifierClass}grid-column`), i.emitContainerClasses()) : !g && m && (r.classList.add(`${s.containerModifierClass}grid`), (d.grid.fill && d.grid.fill === "column" || !d.grid.fill && s.grid.fill === "column") && r.classList.add(`${s.containerModifierClass}grid-column`), i.emitContainerClasses()), v && !b ? i.unsetGrabCursor() : !v && b && i.setGrabCursor(), ["navigation", "pagination", "scrollbar"].forEach((I) => {
if (typeof d[I] > "u") return;
const D = s[I] && s[I].enabled, z = d[I] && d[I].enabled;
D && !z && i[I].disable(), !D && z && i[I].enable();
});
const x = d.direction && d.direction !== s.direction, p = s.loop && (d.slidesPerView !== s.slidesPerView || x), h = s.loop;
x && t && i.changeDirection(), F(i.params, d);
const y = i.params.enabled, A = i.params.loop;
Object.assign(i, {
allowTouchMove: i.params.allowTouchMove,
allowSlideNext: i.params.allowSlideNext,
allowSlidePrev: i.params.allowSlidePrev
}), S && !y ? i.disable() : !S && y && i.enable(), i.currentBreakpoint = c, i.emit("_beforeBreakpoint", d), t && (p ? (i.loopDestroy(), i.loopCreate(e), i.updateSlides()) : !h && A ? (i.loopCreate(e), i.updateSlides()) : h && !A && i.loopDestroy()), i.emit("breakpoint", d);
}
function Yr(i, e, t) {
if (e === void 0 && (e = "window"), !i || e === "container" && !t) return;
let s = !1;
const r = V(), n = e === "window" ? r.innerHeight : t.clientHeight, o = Object.keys(i).map((l) => {
if (typeof l == "string" && l.indexOf("@") === 0) {
const a = parseFloat(l.substr(1));
return {
value: n * a,
point: l
};
}
return {
value: l,
point: l
};
});
o.sort((l, a) => parseInt(l.value, 10) - parseInt(a.value, 10));
for (let l = 0; l < o.length; l += 1) {
const {
point: a,
value: c
} = o[l];
e === "window" ? r.matchMedia(`(min-width: ${c}px)`).matches && (s = a) : c <= t.clientWidth && (s = a);
}
return s || "max";
}
var Ur = {
setBreakpoint: Rr,
getBreakpoint: Yr
};
function qr(i, e) {
const t = [];
return i.forEach((s) => {
typeof s == "object" ? Object.keys(s).forEach((r) => {
s[r] && t.push(e + r);
}) : typeof s == "string" && t.push(e + s);
}), t;
}
function Zr() {
const i = this, {
classNames: e,
params: t,
rtl: s,
el: r,
device: n
} = i, o = qr(["initialized", t.direction, {
"free-mode": i.params.freeMode && t.freeMode.enabled
}, {
autoheight: t.autoHeight
}, {
rtl: s
}, {
grid: t.grid && t.grid.rows > 1
}, {
"grid-column": t.grid && t.grid.rows > 1 && t.grid.fill === "column"
}, {
android: n.android
}, {
ios: n.ios
}, {
"css-mode": t.cssMode
}, {
centered: t.cssMode && t.centeredSlides
}, {
"watch-progress": t.watchSlidesProgress
}], t.containerModifierClass);
e.push(...o), r.classList.add(...e), i.emitContainerClasses();
}
function Wr() {
const i = this, {
el: e,
classNames: t
} = i;
!e || typeof e == "string" || (e.classList.remove(...t), i.emitContainerClasses());
}
var Xr = {
addClasses: Zr,
removeClasses: Wr
};
function Qr() {
const i = this, {
isLocked: e,
params: t
} = i, {
slidesOffsetBefore: s
} = t;
if (s) {
const r = i.slides.length - 1, n = i.slidesGrid[r] + i.slidesSizesGrid[r] + s * 2;
i.isLocked = i.size > n;
} else
i.isLocked = i.snapGrid.length === 1;
t.allowSlideNext === !0 && (i.allowSlideNext = !i.isLocked), t.allowSlidePrev === !0 && (i.allowSlidePrev = !i.isLocked), e && e !== i.isLocked && (i.isEnd = !1), e !== i.isLocked && i.emit(i.isLocked ? "lock" : "unlock");
}
var Kr = {
checkOverflow: Qr
}, Ti = {
init: !0,
direction: "horizontal",
oneWayMovement: !1,
swiperElementNodeName: "SWIPER-CONTAINER",
touchEventsTarget: "wrapper",
initialSlide: 0,
speed: 300,
cssMode: !1,
updateOnWindowResize: !0,
resizeObserver: !0,
nested: !1,
createElements: !1,
eventsPrefix: "swiper",
enabled: !0,
focusableElements: "input, select, option, textarea, button, video, label",
// Overrides
width: null,
height: null,
//
preventInteractionOnTransition: !1,
// ssr
userAgent: null,
url: null,
// To support iOS's swipe-to-go-back gesture (when being used in-app).
edgeSwipeDetection: !1,
edgeSwipeThreshold: 20,
// Autoheight
autoHeight: !1,
// Set wrapper width
setWrapperSize: !1,
// Virtual Translate
virtualTranslate: !1,
// Effects
effect: "slide",
// 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'
// Breakpoints
breakpoints: void 0,
breakpointsBase: "window",
// Slides grid
spaceBetween: 0,
slidesPerView: 1,
slidesPerGroup: 1,
slidesPerGroupSkip: 0,
slidesPerGroupAuto: !1,
centeredSlides: !1,
centeredSlidesBounds: !1,
slidesOffsetBefore: 0,
// in px
slidesOffsetAfter: 0,
// in px
normalizeSlideIndex: !0,
centerInsufficientSlides: !1,
// Disable swiper and hide navigation when container not overflow
watchOverflow: !0,
// Round length
roundLengths: !1,
// Touches
touchRatio: 1,
touchAngle: 45,
simulateTouch: !0,
shortSwipes: !0,
longSwipes: !0,
longSwipesRatio: 0.5,
longSwipesMs: 300,
followFinger: !0,
allowTouchMove: !0,
threshold: 5,
touchMoveStopPropagation: !1,
touchStartPreventDefault: !0,
touchStartForcePreventDefault: !1,
touchReleaseOnEdges: !1,
// Unique Navigation Elements
uniqueNavElements: !0,
// Resistance
resistance: !0,
resistanceRatio: 0.85,
// Progress
watchSlidesProgress: !1,
// Cursor
grabCursor: !1,
// Clicks
preventClicks: !0,
preventClicksPropagation: !0,
slideToClickedSlide: !1,
// loop
loop: !1,
loopAddBlankSlides: !0,
loopAdditionalSlides: 0,
loopPreventsSliding: !0,
// rewind
rewind: !1,
// Swiping/no swiping
allowSlidePrev: !0,
allowSlideNext: !0,
swipeHandler: null,
// '.swipe-handler',
noSwiping: !0,
noSwipingClass: "swiper-no-swiping",
noSwipingSelector: null,
// Passive Listeners
passiveListeners: !0,
maxBackfaceHiddenSlides: 10,
// NS
containerModifierClass: "swiper-",
// NEW
slideClass: "swiper-slide",
slideBlankClass: "swiper-slide-blank",
slideActiveClass: "swiper-slide-active",
slideVisibleClass: "swiper-slide-visible",
slideFullyVisibleClass: "swiper-slide-fully-visible",
slideNextClass: "swiper-slide-next",
slidePrevClass: "swiper-slide-prev",
wrapperClass: "swiper-wrapper",
lazyPreloaderClass: "swiper-lazy-preloader",
lazyPreloadPrevNext: 0,
// Callbacks
runCallbacksOnInit: !0,
// Internals
_emitClasses: !1
};
function Jr(i, e) {
return function(s) {
s === void 0 && (s = {});
const r = Object.keys(s)[0], n = s[r];
if (typeof n != "object" || n === null) {
F(e, s);
return;
}
if (i[r] === !0 && (i[r] = {
enabled: !0
}), r === "navigation" && i[r] && i[r].enabled && !i[r].prevEl && !i[r].nextEl && (i[r].auto = !0), ["pagination", "scrollbar"].indexOf(r) >= 0 && i[r] && i[r].enabled && !i[r].el && (i[r].auto = !0), !(r in i && "enabled" in n)) {
F(e, s);
return;
}
typeof i[r] == "object" && !("enabled" in i[r]) && (i[r].enabled = !0), i[r] || (i[r] = {
enabled: !1
}), F(e, s);
};
}
const jt = {
eventsEmitter: Xs,
update: ar,
translate: hr,
transition: vr,
slide: Er,
loop: _r,
grabCursor: zr,
events: Fr,
breakpoints: Ur,
checkOverflow: Kr,
classes: Xr
}, Nt = {};
class R {
constructor() {
let e, t;
for (var s = arguments.length, r = new Array(s), n = 0; n < s; n++)
r[n] = arguments[n];
r.length === 1 && r[0].constructor && Object.prototype.toString.call(r[0]).slice(8, -1) === "Object" ? t = r[0] : [e, t] = r, t || (t = {}), t = F({}, t), e && !t.el && (t.el = e);
const o = Ae();
if (t.el && typeof t.el == "string" && o.querySelectorAll(t.el).length > 1) {
const u = [];
return o.querySelectorAll(t.el).forEach((d) => {
const g = F({}, t, {
el: d
});
u.push(new R(g));
}), u;
}
const l = this;
l.__swiper__ = !0, l.support = Bi(), l.device = Hi({
userAgent: t.userAgent
}), l.browser = ji(), l.eventsListeners = {}, l.eventsAnyListeners = [], l.modules = [...l.__modules__], t.modules && Array.isArray(t.modules) && l.modules.push(...t.modules);
const a = {};
l.modules.forEach((u) => {
u({
params: t,
swiper: l,
extendParams: Jr(t, a),
on: l.on.bind(l),
once: l.once.bind(l),
off: l.off.bind(l),
emit: l.emit.bind(l)
});
});
const c = F({}, Ti, a);
return l.params = F({}, c, Nt, t), l.originalParams = F({}, l.params), l.passedParams = F({}, t), l.params && l.params.on && Object.keys(l.params.on).forEach((u) => {
l.on(u, l.params.on[u]);
}), l.params && l.params.onAny && l.onAny(l.params.onAny), Object.assign(l, {
enabled: l.params.enabled,
el: e,
// Classes
classNames: [],
// Slides
slides: [],
slidesGrid: [],
snapGrid: [],
slidesSizesGrid: [],
// isDirection
isHorizontal() {
return l.params.direction === "horizontal";
},
isVertical() {
return l.params.direction === "vertical";
},
// Indexes
activeIndex: 0,
realIndex: 0,
//
isBeginning: !0,
isEnd: !1,
// Props
translate: 0,
previousTranslate: 0,
progress: 0,
velocity: 0,
animating: !1,
cssOverflowAdjustment() {
return Math.trunc(this.translate / 2 ** 23) * 2 ** 23;
},
// Locks
allowSlideNext: l.params.allowSlideNext,
allowSlidePrev: l.params.allowSlidePrev,
// Touch Events
touchEventsData: {
isTouched: void 0,
isMoved: void 0,
allowTouchCallbacks: void 0,
touchStartTime: void 0,
isScrolling: void 0,
currentTranslate: void 0,
startTranslate: void 0,
allowThresholdMove: void 0,
// Form elements to match
focusableElements: l.params.focusableElements,
// Last click time
lastClickTime: 0,
clickTimeout: void 0,
// Velocities
velocities: [],
allowMomentumBounce: void 0,
startMoving: void 0,
pointerId: null,
touchId: null
},
// Clicks
allowClick: !0,
// Touches
allowTouchMove: l.params.allowTouchMove,
touches: {
startX: 0,
startY: 0,
currentX: 0,
currentY: 0,
diff: 0
},
// Images
imagesToLoad: [],
imagesLoaded: 0
}), l.emit("_swiper"), l.params.init && l.init(), l;
}
getDirectionLabel(e) {
return this.isHorizontal() ? e : {
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"
}[e];
}
getSlideIndex(e) {
const {
slidesEl: t,
params: s
} = this, r = U(t, `.${s.slideClass}, swiper-slide`), n = mt(r[0]);
return mt(e) - n;
}
getSlideIndexByData(e) {
return this.getSlideIndex(this.slides.find((t) => t.getAttribute("data-swiper-slide-index") * 1 === e));
}
recalcSlides() {
const e = this, {
slidesEl: t,
params: s
} = e;
e.slides = U(t, `.${s.slideClass}, swiper-slide`);
}
enable() {
const e = this;
e.enabled || (e.enabled = !0, e.params.grabCursor && e.setGrabCursor(), e.emit("enable"));
}
disable() {
const e = this;
e.enabled && (e.enabled = !1, e.params.grabCursor && e.unsetGrabCursor(), e.emit("disable"));
}
setProgress(e, t) {
const s = this;
e = Math.min(Math.max(e, 0), 1);
const r = s.minTranslate(), o = (s.maxTranslate() - r) * e + r;
s.translateTo(o, typeof t > "u" ? 0 : t), s.updateActiveIndex(), s.updateSlidesClasses();
}
emitContainerClasses() {
const e = this;
if (!e.params._emitClasses || !e.el) return;
const t = e.el.className.split(" ").filter((s) => s.indexOf("swiper") === 0 || s.indexOf(e.params.containerModifierClass) === 0);
e.emit("_containerClasses", t.join(" "));
}
getSlideClasses(e) {
const t = this;
return t.destroyed ? "" : e.className.split(" ").filter((s) => s.indexOf("swiper-slide") === 0 || s.indexOf(t.params.slideClass) === 0).join(" ");
}
emitSlidesClasses() {
const e = this;
if (!e.params._emitClasses || !e.el) return;
const t = [];
e.slides.forEach((s) => {
const r = e.getSlideClasses(s);
t.push({
slideEl: s,
classNames: r
}), e.emit("_slideClass", s, r);
}), e.emit("_slideClasses", t);
}
slidesPerViewDynamic(e, t) {
e === void 0 && (e = "current"), t === void 0 && (t = !1);
const s = this, {
params: r,
slides: n,
slidesGrid: o,
slidesSizesGrid: l,
size: a,
activeIndex: c
} = s;
let u = 1;
if (typeof r.slidesPerView == "number") return r.slidesPerView;
if (r.centeredSlides) {
let d = n[c] ? Math.ceil(n[c].swiperSlideSize) : 0, g;
for (let m = c + 1; m < n.length; m += 1)
n[m] && !g && (d += Math.ceil(n[m].swiperSlideSize), u += 1, d > a && (g = !0));
for (let m = c - 1; m >= 0; m -= 1)
n[m] && !g && (d += n[m].swiperSlideSize, u += 1, d > a && (g = !0));
} else if (e === "current")
for (let d = c + 1; d < n.length; d += 1)
(t ? o[d] + l[d] - o[c] < a : o[d] - o[c] < a) && (u += 1);
else
for (let d = c - 1; d >= 0; d -= 1)
o[c] - o[d] < a && (u += 1);
return u;
}
update() {
const e = this;
if (!e || e.destroyed) return;
const {
snapGrid: t,
params: s
} = e;
s.breakpoints && e.setBreakpoint(), [...e.el.querySelectorAll('[loading="lazy"]')].forEach((o) => {
o.complete && pt(e, o);
}), e.updateSize(), e.updateSlides(), e.updateProgress(), e.updateSlidesClasses();
function r() {
const o = e.rtlTranslate ? e.translate * -1 : e.translate, l = Math.min(Math.max(o, e.maxTranslate()), e.minTranslate());
e.setTranslate(l), e.updateActiveIndex(), e.updateSlidesClasses();
}
let n;
if (s.freeMode && s.freeMode.enabled && !s.cssMode)
r(), s.autoHeight && e.updateAutoHeight();
else {
if ((s.slidesPerView === "auto" || s.slidesPerView > 1) && e.isEnd && !s.centeredSlides) {
const o = e.virtual && s.virtual.enabled ? e.virtual.slides : e.slides;
n = e.slideTo(o.length - 1, 0, !1, !0);
} else
n = e.slideTo(e.activeIndex, 0, !1, !0);
n || r();
}
s.watchOverflow && t !== e.snapGrid && e.checkOverflow(), e.emit("update");
}
changeDirection(e, t) {
t === void 0 && (t = !0);
const s = this, r = s.params.direction;
return e || (e = r === "horizontal" ? "vertical" : "horizontal"), e === r || e !== "horizontal" && e !== "vertical" || (s.el.classList.remove(`${s.params.containerModifierClass}${r}`), s.el.classList.add(`${s.params.containerModifierClass}${e}`), s.emitContainerClasses(), s.params.direction = e, s.slides.forEach((n) => {
e === "vertical" ? n.style.width = "" : n.style.height = "";
}), s.emit("changeDirection"), t && s.update()), s;
}
changeLanguageDirection(e) {
const t = this;
t.rtl && e === "rtl" || !t.rtl && e === "ltr" || (t.rtl = e === "rtl", t.rtlTranslate = t.params.direction === "horizontal" && t.rtl, t.rtl ? (t.el.classList.add(`${t.params.containerModifierClass}rtl`), t.el.dir = "rtl") : (t.el.classList.remove(`${t.params.containerModifierClass}rtl`), t.el.dir = "ltr"), t.update());
}
mount(e) {
const t = this;
if (t.mounted) return !0;
let s = e || t.params.el;
if (typeof s == "string" && (s = document.querySelector(s)), !s)
return !1;
s.swiper = t, s.parentNode && s.parentNode.host && s.parentNode.host.nodeName === t.params.swiperElementNodeName.toUpperCase() && (t.isElement = !0);
const r = () => `.${(t.params.wrapperClass || "").trim().split(" ").join(".")}`;
let o = s && s.shadowRoot && s.shadowRoot.querySelector ? s.shadowRoot.querySelector(r()) : U(s, r())[0];
return !o && t.params.createElements && (o = gt("div", t.params.wrapperClass), s.append(o), U(s, `.${t.params.slideClass}`).forEach((l) => {
o.append(l);
})), Object.assign(t, {
el: s,
wrapperEl: o,
slidesEl: t.isElement && !s.parentNode.host.slideSlots ? s.parentNode.host : o,
hostEl: t.isElement ? s.parentNode.host : s,
mounted: !0,
// RTL
rtl: s.dir.toLowerCase() === "rtl" || se(s, "direction") === "rtl",
rtlTranslate: t.params.direction === "horizontal" && (s.dir.toLowerCase() === "rtl" || se(s, "direction") === "rtl"),
wrongRTL: se(o, "display") === "-webkit-box"
}), !0;
}
init(e) {
const t = this;
if (t.initialized || t.mount(e) === !1) return t;
t.emit("beforeInit"), t.params.breakpoints && t.setBreakpoint(), t.addClasses(), t.updateSize(), t.updateSlides(), t.params.watchOverflow && t.checkOverflow(), t.params.grabCursor && t.enabled && t.setGrabCursor(), t.params.loop && t.virtual && t.params.virtual.enabled ? t.slideTo(t.params.initialSlide + t.virtual.slidesBefore, 0, t.params.runCallbacksOnInit, !1, !0) : t.slideTo(t.params.initialSlide, 0, t.params.runCallbacksOnInit, !1, !0), t.params.loop && t.loopCreate(), t.attachEvents();
const r = [...t.el.querySelectorAll('[loading="lazy"]')];
return t.isElement && r.push(...t.hostEl.querySelectorAll('[loading="lazy"]')), r.forEach((n) => {
n.complete ? pt(t, n) : n.addEventListener("load", (o) => {
pt(t, o.target);
});
}), Rt(t), t.initialized = !0, Rt(t), t.emit("init"), t.emit("afterInit"), t;
}
destroy(e, t) {
e === void 0 && (e = !0), t === void 0 && (t = !0);
const s = this, {
params: r,
el: n,
wrapperEl: o,
slides: l
} = s;
return typeof s.params > "u" || s.destroyed || (s.emit("beforeDestroy"), s.initialized = !1, s.detachEvents(), r.loop && s.loopDestroy(), t && (s.removeClasses(), n && typeof n != "string" && n.removeAttribute("style"), o && o.removeAttribute("style"), l && l.length && l.forEach((a) => {
a.classList.remove(r.slideVisibleClass, r.slideFullyVisibleClass, r.slideActiveClass, r.slideNextClass, r.slidePrevClass), a.removeAttribute("style"), a.removeAttribute("data-swiper-slide-index");
})), s.emit("destroy"), Object.keys(s.eventsListeners).forEach((a) => {
s.off(a);
}), e !== !1 && (s.el && typeof s.el != "string" && (s.el.swiper = null), Ds(s)), s.destroyed = !0), null;
}
static extendDefaults(e) {
F(Nt, e);
}
static get extendedDefaults() {
return Nt;
}
static get defaults() {
return Ti;
}
static installModule(e) {
R.prototype.__modules__ || (R.prototype.__modules__ = []);
const t = R.prototype.__modules__;
typeof e == "function" && t.indexOf(e) < 0 && t.push(e);
}
static use(e) {
return Array.isArray(e) ? (e.forEach((t) => R.installModule(t)), R) : (R.installModule(e), R);
}
}
Object.keys(jt).forEach((i) => {
Object.keys(jt[i]).forEach((e) => {
R.prototype[e] = jt[i][e];
});
});
R.use([Zs, Ws]);
function Vi(i, e, t, s) {
return i.params.createElements && Object.keys(s).forEach((r) => {
if (!t[r] && t.auto === !0) {
let n = U(i.el, `.${s[r]}`)[0];
n || (n = gt("div", s[r]), n.className = s[r], i.el.append(n)), t[r] = n, e[r] = n;
}
}), t;
}
function en(i) {
let {
swiper: e,
extendParams: t,
on: s,
emit: r
} = i;
t({
navigation: {
nextEl: null,
prevEl: null,
hideOnClick: !1,
disabledClass: "swiper-button-disabled",
hiddenClass: "swiper-button-hidden",
lockClass: "swiper-button-lock",
navigationDisabledClass: "swiper-navigation-disabled"
}
}), e.navigation = {
nextEl: null,
prevEl: null
};
function n(v) {
let b;
return v && typeof v == "string" && e.isElement && (b = e.el.querySelector(v) || e.hostEl.querySelector(v), b) ? b : (v && (typeof v == "string" && (b = [...document.querySelectorAll(v)]), e.params.uniqueNavElements && typeof v == "string" && b && b.length > 1 && e.el.querySelectorAll(v).length === 1 ? b = e.el.querySelector(v) : b && b.length === 1 && (b = b[0])), v && !b ? v : b);
}
function o(v, b) {
const S = e.params.navigation;
v = N(v), v.forEach((x) => {
x && (x.classList[b ? "add" : "remove"](...S.disabledClass.split(" ")), x.tagName === "BUTTON" && (x.disabled = b), e.params.watchOverflow && e.enabled && x.classList[e.isLocked ? "add" : "remove"](S.lockClass));
});
}
function l() {
const {
nextEl: v,
prevEl: b
} = e.navigation;
if (e.params.loop) {
o(b, !1), o(v, !1);
return;
}
o(b, e.isBeginning && !e.params.rewind), o(v, e.isEnd && !e.params.rewind);
}
function a(v) {
v.preventDefault(), !(e.isBeginning && !e.params.loop && !e.params.rewind) && (e.slidePrev(), r("navigationPrev"));
}
function c(v) {
v.preventDefault(), !(e.isEnd && !e.params.loop && !e.params.rewind) && (e.slideNext(), r("navigationNext"));
}
function u() {
const v = e.params.navigation;
if (e.params.navigation = Vi(e, e.originalParams.navigation, e.params.navigation, {
nextEl: "swiper-button-next",
prevEl: "swiper-button-prev"
}), !(v.nextEl || v.prevEl)) return;
let b = n(v.nextEl), S = n(v.prevEl);
Object.assign(e.navigation, {
nextEl: b,
prevEl: S
}), b = N(b), S = N(S);
const x = (p, h) => {
p && p.addEventListener("click", h === "next" ? c : a), !e.enabled && p && p.classList.add(...v.lockClass.split(" "));
};
b.forEach((p) => x(p, "next")), S.forEach((p) => x(p, "prev"));
}
function d() {
let {
nextEl: v,
prevEl: b
} = e.navigation;
v = N(v), b = N(b);
const S = (x, p) => {
x.removeEventListener("click", p === "next" ? c : a), x.classList.remove(...e.params.navigation.disabledClass.split(" "));
};
v.forEach((x) => S(x, "next")), b.forEach((x) => S(x, "prev"));
}
s("init", () => {
e.params.navigation.enabled === !1 ? m() : (u(), l());
}), s("toEdge fromEdge lock unlock", () => {
l();
}), s("destroy", () => {
d();
}), s("enable disable", () => {
let {
nextEl: v,
prevEl: b
} = e.navigation;
if (v = N(v), b = N(b), e.enabled) {
l();
return;
}
[...v, ...b].filter((S) => !!S).forEach((S) => S.classList.add(e.params.navigation.lockClass));
}), s("click", (v, b) => {
let {
nextEl: S,
prevEl: x
} = e.navigation;
S = N(S), x = N(x);
const p = b.target;
let h = x.includes(p) || S.includes(p);
if (e.isElement && !h) {
const y = b.path || b.composedPath && b.composedPath();
y && (h = y.find((A) => S.includes(A) || x.includes(A)));
}
if (e.params.navigation.hideOnClick && !h) {
if (e.pagination && e.params.pagination && e.params.pagination.clickable && (e.pagination.el === p || e.pagination.el.contains(p))) return;
let y;
S.length ? y = S[0].classList.contains(e.params.navigation.hiddenClass) : x.length && (y = x[0].classList.contains(e.params.navigation.hiddenClass)), r(y === !0 ? "navigationShow" : "navigationHide"), [...S, ...x].filter((A) => !!A).forEach((A) => A.classList.toggle(e.params.navigation.hiddenClass));
}
});
const g = () => {
e.el.classList.remove(...e.params.navigation.navigationDisabledClass.split(" ")), u(), l();
}, m = () => {
e.el.classList.add(...e.params.navigation.navigationDisabledClass.split(" ")), d();
};
Object.assign(e.navigation, {
enable: g,
disable: m,
update: l,
init: u,
destroy: d
});
}
function Re(i) {
return i === void 0 && (i = ""), `.${i.trim().replace(/([\.:!+\/])/g, "\\$1").replace(/ /g, ".")}`;
}
function tn(i) {
let {
swiper: e,
extendParams: t,
on: s,
emit: r
} = i;
const n = "swiper-pagination";
t({
pagination: {
el: null,
bulletElement: "span",
clickable: !1,
hideOnClick: !1,
renderBullet: null,
renderProgressbar: null,
renderFraction: null,
renderCustom: null,
progressbarOpposite: !1,
type: "bullets",
// 'bullets' or 'progressbar' or 'fraction' or 'custom'
dynamicBullets: !1,
dynamicMainBullets: 1,
formatFractionCurrent: (p) => p,
formatFractionTotal: (p) => p,
bulletClass: `${n}-bullet`,
bulletActiveClass: `${n}-bullet-active`,
modifierClass: `${n}-`,
currentClass: `${n}-current`,
totalClass: `${n}-total`,
hiddenClass: `${n}-hidden`,
progressbarFillClass: `${n}-progressbar-fill`,
progressbarOppositeClass: `${n}-progressbar-opposite`,
clickableClass: `${n}-clickable`,
lockClass: `${n}-lock`,
horizontalClass: `${n}-horizontal`,
verticalClass: `${n}-vertical`,
paginationDisabledClass: `${n}-disabled`
}
}), e.pagination = {
el: null,
bullets: []
};
let o, l = 0;
function a() {
return !e.params.pagination.el || !e.pagination.el || Array.isArray(e.pagination.el) && e.pagination.el.length === 0;
}
function c(p, h) {
const {
bulletActiveClass: y
} = e.params.pagination;
p && (p = p[`${h === "prev" ? "previous" : "next"}ElementSibling`], p && (p.classList.add(`${y}-${h}`), p = p[`${h === "prev" ? "previous" : "next"}ElementSibling`], p && p.classList.add(`${y}-${h}-${h}`)));
}
function u(p, h, y) {
if (p = p % y, h = h % y, h === p + 1)
return "next";
if (h === p - 1)
return "previous";
}
function d(p) {
const h = p.target.closest(Re(e.params.pagination.bulletClass));
if (!h)
return;
p.preventDefault();
const y = mt(h) * e.params.slidesPerGroup;
if (e.params.loop) {
if (e.realIndex === y) return;
const A = u(e.realIndex, y, e.slides.length);
A === "next" ? e.slideNext() : A === "previous" ? e.slidePrev() : e.slideToLoop(y);
} else
e.slideTo(y);
}
function g() {
const p = e.rtl, h = e.params.pagination;
if (a()) return;
let y = e.pagination.el;
y = N(y);
let A, I;
const D = e.virtual && e.params.virtual.enabled ? e.virtual.slides.length : e.slides.length, z = e.params.loop ? Math.ceil(D / e.params.slidesPerGroup) : e.snapGrid.length;
if (e.params.loop ? (I = e.previousRealIndex || 0, A = e.params.slidesPerGroup > 1 ? Math.floor(e.realIndex / e.params.slidesPerGroup) : e.realIndex) : typeof e.snapIndex < "u" ? (A = e.snapIndex, I = e.previousSnapIndex) : (I = e.previousIndex || 0, A = e.activeIndex || 0), h.type === "bullets" && e.pagination.bullets && e.pagination.bullets.length > 0) {
const B = e.pagination.bullets;
let $, T, L;
if (h.dynamicBullets && (o = Ft(B[0], e.isHorizontal() ? "width" : "height"), y.forEach((E) => {
E.style[e.isHorizontal() ? "width" : "height"] = `${o * (h.dynamicMainBullets + 4)}px`;
}), h.dynamicMainBullets > 1 && I !== void 0 && (l += A - (I || 0), l > h.dynamicMainBullets - 1 ? l = h.dynamicMainBullets - 1 : l < 0 && (l = 0)), $ = Math.max(A - l, 0), T = $ + (Math.min(B.length, h.dynamicMainBullets) - 1), L = (T + $) / 2), B.forEach((E) => {
const k = [...["", "-next", "-next-next", "-prev", "-prev-prev", "-main"].map((H) => `${h.bulletActiveClass}${H}`)].map((H) => typeof H == "string" && H.includes(" ") ? H.split(" ") : H).flat();
E.classList.remove(...k);
}), y.length > 1)
B.forEach((E) => {
const k = mt(E);
k === A ? E.classList.add(...h.bulletActiveClass.split(" ")) : e.isElement && E.setAttribute("part", "bullet"), h.dynamicBullets && (k >= $ && k <= T && E.classList.add(...`${h.bulletActiveClass}-main`.split(" ")), k === $ && c(E, "prev"), k === T && c(E, "next"));
});
else {
const E = B[A];
if (E && E.classList.add(...h.bulletActiveClass.split(" ")), e.isElement && B.forEach((k, H) => {
k.setAttribute("part", H === A ? "bullet-active" : "bullet");
}), h.dynamicBullets) {
const k = B[$], H = B[T];
for (let G = $; G <= T; G += 1)
B[G] && B[G].classList.add(...`${h.bulletActiveClass}-main`.split(" "));
c(k, "prev"), c(H, "next");
}
}
if (h.dynamicBullets) {
const E = Math.min(B.length, h.dynamicMainBullets + 4), k = (o * E - o) / 2 - L * o, H = p ? "right" : "left";
B.forEach((G) => {
G.style[e.isHorizontal() ? H : "top"] = `${k}px`;
});
}
}
y.forEach((B, $) => {
if (h.type === "fraction" && (B.querySelectorAll(Re(h.currentClass)).forEach((T) => {
T.textContent = h.formatFractionCurrent(A + 1);
}), B.querySelectorAll(Re(h.totalClass)).forEach((T) => {
T.textContent = h.formatFractionTotal(z);
})), h.type === "progressbar") {
let T;
h.progressbarOpposite ? T = e.isHorizontal() ? "vertical" : "horizontal" : T = e.isHorizontal() ? "horizontal" : "vertical";
const L = (A + 1) / z;
let E = 1, k = 1;
T === "horizontal" ? E = L : k = L, B.querySelectorAll(Re(h.progressbarFillClass)).forEach((H) => {
H.style.transform = `translate3d(0,0,0) scaleX(${E}) scaleY(${k})`, H.style.transitionDuration = `${e.params.speed}ms`;
});
}
h.type === "custom" && h.renderCustom ? (B.innerHTML = h.renderCustom(e, A + 1, z), $ === 0 && r("paginationRender", B)) : ($ === 0 && r("paginationRender", B), r("paginationUpdate", B)), e.params.watchOverflow && e.enabled && B.classList[e.isLocked ? "add" : "remove"](h.lockClass);
});
}
function m() {
const p = e.params.pagination;
if (a()) return;
const h = e.virtual && e.params.virtual.enabled ? e.virtual.slides.length : e.grid && e.params.grid.rows > 1 ? e.slides.length / Math.ceil(e.params.grid.rows) : e.slides.length;
let y = e.pagination.el;
y = N(y);
let A = "";
if (p.type === "bullets") {
let I = e.params.loop ? Math.ceil(h / e.params.slidesPerGroup) : e.snapGrid.length;
e.params.freeMode && e.params.freeMode.enabled && I > h && (I = h);
for (let D = 0; D < I; D += 1)
p.renderBullet ? A += p.renderBullet.call(e, D, p.bulletClass) : A += `<${p.bulletElement} ${e.isElement ? 'part="bullet"' : ""} class="${p.bulletClass}"></${p.bulletElement}>`;
}
p.type === "fraction" && (p.renderFraction ? A = p.renderFraction.call(e, p.currentClass, p.totalClass) : A = `<span class="${p.currentClass}"></span> / <span class="${p.totalClass}"></span>`), p.type === "progressbar" && (p.renderProgressbar ? A = p.renderProgressbar.call(e, p.progressbarFillClass) : A = `<span class="${p.progressbarFillClass}"></span>`), e.pagination.bullets = [], y.forEach((I) => {
p.type !== "custom" && (I.innerHTML = A || ""), p.type === "bullets" && e.pagination.bullets.push(...I.querySelectorAll(Re(p.bulletClass)));
}), p.type !== "custom" && r("paginationRender", y[0]);
}
function v() {
e.params.pagination = Vi(e, e.originalParams.pagination, e.params.pagination, {
el: "swiper-pagination"
});
const p = e.params.pagination;
if (!p.el) return;
let h;
typeof p.el == "string" && e.isElement && (h = e.el.querySelector(p.el)), !h && typeof p.el == "string" && (h = [...document.querySelectorAll(p.el)]), h || (h = p.el), !(!h || h.length === 0) && (e.params.uniqueNavElements && typeof p.el == "string" && Array.isArray(h) && h.length > 1 && (h = [...e.el.querySelectorAll(p.el)], h.length > 1 && (h = h.find((y) => Di(y, ".swiper")[0] === e.el))), Array.isArray(h) && h.length === 1 && (h = h[0]), Object.assign(e.pagination, {
el: h
}), h = N(h), h.forEach((y) => {
p.type === "bullets" && p.clickable && y.classList.add(...(p.clickableClass || "").split(" ")), y.classList.add(p.modifierClass + p.type), y.classList.add(e.isHorizontal() ? p.horizontalClass : p.verticalClass), p.type === "bullets" && p.dynamicBullets && (y.classList.add(`${p.modifierClass}${p.type}-dynamic`), l = 0, p.dynamicMainBullets < 1 && (p.dynamicMainBullets = 1)), p.type === "progressbar" && p.progressbarOpposite && y.classList.add(p.progressbarOppositeClass), p.clickable && y.addEventListener("click", d), e.enabled || y.classList.add(p.lockClass);
}));
}
function b() {
const p = e.params.pagination;
if (a()) return;
let h = e.pagination.el;
h && (h = N(h), h.forEach((y) => {
y.classList.remove(p.hiddenClass), y.classList.remove(p.modifierClass + p.type), y.classList.remove(e.isHorizontal() ? p.horizontalClass : p.verticalClass), p.clickable && (y.classList.remove(...(p.clickableClass || "").split(" ")), y.removeEventListener("click", d));
})), e.pagination.bullets && e.pagination.bullets.forEach((y) => y.classList.remove(...p.bulletActiveClass.split(" ")));
}
s("changeDirection", () => {
if (!e.pagination || !e.pagination.el) return;
const p = e.params.pagination;
let {
el: h
} = e.pagination;
h = N(h), h.forEach((y) => {
y.classList.remove(p.horizontalClass, p.verticalClass), y.classList.add(e.isHorizontal() ? p.horizontalClass : p.verticalClass);
});
}), s("init", () => {
e.params.pagination.enabled === !1 ? x() : (v(), m(), g());
}), s("activeIndexChange", () => {
typeof e.snapIndex > "u" && g();
}), s("snapIndexChange", () => {
g();
}), s("snapGridLengthChange", () => {
m(), g();
}), s("destroy", () => {
b();
}), s("enable disable", () => {
let {
el: p
} = e.pagination;
p && (p = N(p), p.forEach((h) => h.classList[e.enabled ? "remove" : "add"](e.params.pagination.lockClass)));
}), s("lock unlock", () => {
g();
}), s("click", (p, h) => {
const y = h.target, A = N(e.pagination.el);
if (e.params.pagination.el && e.params.pagination.hideOnClick && A && A.length > 0 && !y.classList.contains(e.params.pagination.bulletClass)) {
if (e.navigation && (e.navigation.nextEl && y === e.navigation.nextEl || e.navigation.prevEl && y === e.navigation.prevEl)) return;
const I = A[0].classList.contains(e.params.pagination.hiddenClass);
r(I === !0 ? "paginationShow" : "paginationHide"), A.forEach((D) => D.classList.toggle(e.params.pagination.hiddenClass));
}
});
const S = () => {
e.el.classList.remove(e.params.pagination.paginationDisabledClass);
let {
el: p
} = e.pagination;
p && (p = N(p), p.forEach((h) => h.classList.remove(e.params.pagination.paginationDisabledClass))), v(), m(), g();
}, x = () => {
e.el.classList.add(e.params.pagination.paginationDisabledClass);
let {
el: p
} = e.pagination;
p && (p = N(p), p.forEach((h) => h.classList.add(e.params.pagination.paginationDisabledClass))), b();
};
Object.assign(e.pagination, {
enable: S,
disable: x,
render: m,
update: g,
init: v,
destroy: b
});
}
function sn(i) {
const {
effect: e,
swiper: t,
on: s,
setTranslate: r,
setTransition: n,
overwriteParams: o,
perspective: l,
recreateShadows: a,
getEffectParams: c
} = i;
s("beforeInit", () => {
if (t.params.effect !== e) return;
t.classNames.push(`${t.params.containerModifierClass}${e}`), l && l() && t.classNames.push(`${t.params.containerModifierClass}3d`);
const d = o ? o() : {};
Object.assign(t.params, d), Object.assign(t.originalParams, d);
}), s("setTranslate", () => {
t.params.effect === e && r();
}), s("setTransition", (d, g) => {
t.params.effect === e && n(g);
}), s("transitionEnd", () => {
if (t.params.effect === e && a) {
if (!c || !c().slideShadows) return;
t.slides.forEach((d) => {
d.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((g) => g.remove());
}), a();
}
});
let u;
s("virtualUpdate", () => {
t.params.effect === e && (t.slides.length || (u = !0), requestAnimationFrame(() => {
u && t.slides && t.slides.length && (r(), u = !1);
}));
});
}
function rn(i, e) {
const t = Ii(e);
return t !== e && (t.style.backfaceVisibility = "hidden", t.style["-webkit-backface-visibility"] = "hidden"), t;
}
function nn(i) {
let {
swiper: e,
duration: t,
transformElements: s
} = i;
const {
activeIndex: r
} = e;
if (e.params.virtualTranslate && t !== 0) {
let n = !1, o;
o = s, o.forEach((l) => {
Rs(l, () => {
if (n || !e || e.destroyed) return;
n = !0, e.animating = !1;
const a = new window.CustomEvent("transitionend", {
bubbles: !0,
cancelable: !0
});
e.wrapperEl.dispatchEvent(a);
});
});
}
}
function on(i) {
let {
swiper: e,
extendParams: t,
on: s
} = i;
t({
fadeEffect: {
crossFade: !1
}
}), sn({
effect: "fade",
swiper: e,
on: s,
setTranslate: () => {
const {
slides: o
} = e, l = e.params.fadeEffect;
for (let a = 0; a < o.length; a += 1) {
const c = e.slides[a];
let d = -c.swiperSlideOffset;
e.params.virtualTranslate || (d -= e.translate);
let g = 0;
e.isHorizontal() || (g = d, d = 0);
const m = e.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(c.progress), 0) : 1 + Math.min(Math.max(c.progress, -1), 0), v = rn(l, c);
v.style.opacity = m, v.style.transform = `translate3d(${d}px, ${g}px, 0px)`;
}
},
setTransition: (o) => {
const l = e.slides.map((a) => Ii(a));
l.forEach((a) => {
a.style.transitionDuration = `${o}ms`;
}), nn({
swiper: e,
duration: o,
transformElements: l
});
},
overwriteParams: () => ({
slidesPerView: 1,
slidesPerGroup: 1,
watchSlidesProgress: !0,
spaceBetween: 0,
virtualTranslate: !e.params.cssMode
})
});
}
const an = `/**
* Swiper 11.2.3
* Most modern mobile touch slider and framework with hardware accelerated transitions
* https://swiperjs.com
*
* Copyright 2014-2025 Vladimir Kharlampidi
*
* Released under the MIT License
*
* Released on: February 12, 2025
*/
/* FONT_START */
@font-face {
font-family: 'swiper-icons';
src: url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');
font-weight: 400;
font-style: normal;
}
/* FONT_END */
:root {
--swiper-theme-color: #007aff;
/*
--swiper-preloader-color: var(--swiper-theme-color);
--swiper-wrapper-transition-timing-function: initial;
*/
}
:host {
position: relative;
display: block;
margin-left: auto;
margin-right: auto;
z-index: 1;
}
.swiper {
margin-left: auto;
margin-right: auto;
position: relative;
overflow: hidden;
list-style: none;
padding: 0;
/* Fix of Webkit flickering */
z-index: 1;
display: block;
}
.swiper-vertical > .swiper-wrapper {
flex-direction: column;
}
.swiper-wrapper {
position: relative;
width: 100%;
height: 100%;
z-index: 1;
display: flex;
transition-property: transform;
transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
box-sizing: content-box;
}
.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
transform: translate3d(0px, 0, 0);
}
.swiper-horizontal {
touch-action: pan-y;
}
.swiper-vertical {
touch-action: pan-x;
}
.swiper-slide {
flex-shrink: 0;
width: 100%;
height: 100%;
position: relative;
transition-property: transform;
display: block;
}
.swiper-slide-invisible-blank {
visibility: hidden;
}
/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
height: auto;
}
.swiper-autoheight .swiper-wrapper {
align-items: flex-start;
transition-property: transform, height;
}
.swiper-backface-hidden .swiper-slide {
transform: translateZ(0);
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
perspective: 1200px;
}
.swiper-3d .swiper-wrapper {
transform-style: preserve-3d;
}
.swiper-3d {
perspective: 1200px;
}
.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
transform-style: preserve-3d;
}
/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
overflow: auto;
scrollbar-width: none;
/* For Firefox */
-ms-overflow-style: none;
/* For Internet Explorer and Edge */
}
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
display: none;
}
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
scroll-snap-align: start start;
}
.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
scroll-snap-type: x mandatory;
}
.swiper-css-mode.swiper-vertical > .swiper-wrapper {
scroll-snap-type: y mandatory;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
scroll-snap-type: none;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
scroll-snap-align: none;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
content: '';
flex-shrink: 0;
order: 9999;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
scroll-snap-align: center center;
scroll-snap-stop: always;
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
height: 100%;
min-height: 1px;
width: var(--swiper-centered-offset-after);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
width: 100%;
min-width: 1px;
height: var(--swiper-centered-offset-after);
}
/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: 10;
}
.swiper-3d .swiper-slide-shadow {
background: rgba(0, 0, 0, 0.15);
}
.swiper-3d .swiper-slide-shadow-left {
background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-right {
background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-top {
background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-bottom {
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-lazy-preloader {
width: 42px;
height: 42px;
position: absolute;
left: 50%;
top: 50%;
margin-left: -21px;
margin-top: -21px;
z-index: 10;
transform-origin: 50%;
box-sizing: border-box;
border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
border-radius: 50%;
border-top-color: transparent;
}
.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
animation: swiper-preloader-spin 1s infinite linear;
}
.swiper-lazy-preloader-white {
--swiper-preloader-color: #fff;
}
.swiper-lazy-preloader-black {
--swiper-preloader-color: #000;
}
@keyframes swiper-preloader-spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
/* Slide styles end */
.swiper-virtual .swiper-slide {
-webkit-backface-visibility: hidden;
transform: translateZ(0);
}
.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
content: '';
position: absolute;
left: 0;
top: 0;
pointer-events: none;
}
.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
height: 1px;
width: var(--swiper-virtual-size);
}
.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
width: 1px;
height: var(--swiper-virtual-size);
}
:root {
--swiper-navigation-size: 44px;
/*
--swiper-navigation-top-offset: 50%;
--swiper-navigation-sides-offset: 10px;
--swiper-navigation-color: var(--swiper-theme-color);
*/
}
.swiper-button-prev,
.swiper-button-next {
position: absolute;
top: var(--swiper-navigation-top-offset, 50%);
width: calc(var(--swiper-navigation-size) / 44 * 27);
height: var(--swiper-navigation-size);
margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
z-index: 10;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
color: var(--swiper-navigation-color, var(--swiper-theme-color));
}
.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
opacity: 0.35;
cursor: auto;
pointer-events: none;
}
.swiper-button-prev.swiper-button-hidden,
.swiper-button-next.swiper-button-hidden {
opacity: 0;
cursor: auto;
pointer-events: none;
}
.swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next {
display: none !important;
}
.swiper-button-prev svg,
.swiper-button-next svg {
width: 100%;
height: 100%;
object-fit: contain;
transform-origin: center;
}
.swiper-rtl .swiper-button-prev svg,
.swiper-rtl .swiper-button-next svg {
transform: rotate(180deg);
}
.swiper-button-prev,
.swiper-rtl .swiper-button-next {
left: var(--swiper-navigation-sides-offset, 10px);
right: auto;
}
.swiper-button-next,
.swiper-rtl .swiper-button-prev {
right: var(--swiper-navigation-sides-offset, 10px);
left: auto;
}
.swiper-button-lock {
display: none;
}
/* Navigation font start */
.swiper-button-prev:after,
.swiper-button-next:after {
font-family: swiper-icons;
font-size: var(--swiper-navigation-size);
text-transform: none !important;
letter-spacing: 0;
font-variant: initial;
line-height: 1;
}
.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
content: 'prev';
}
.swiper-button-next,
.swiper-rtl .swiper-button-prev {
right: var(--swiper-navigation-sides-offset, 10px);
left: auto;
}
.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
content: 'next';
}
/* Navigation font end */
:root {
/*
--swiper-pagination-color: var(--swiper-theme-color);
--swiper-pagination-left: auto;
--swiper-pagination-right: 8px;
--swiper-pagination-bottom: 8px;
--swiper-pagination-top: auto;
--swiper-pagination-fraction-color: inherit;
--swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25);
--swiper-pagination-progressbar-size: 4px;
--swiper-pagination-bullet-size: 8px;
--swiper-pagination-bullet-width: 8px;
--swiper-pagination-bullet-height: 8px;
--swiper-pagination-bullet-border-radius: 50%;
--swiper-pagination-bullet-inactive-color: #000;
--swiper-pagination-bullet-inactive-opacity: 0.2;
--swiper-pagination-bullet-opacity: 1;
--swiper-pagination-bullet-horizontal-gap: 4px;
--swiper-pagination-bullet-vertical-gap: 6px;
*/
}
.swiper-pagination {
position: absolute;
text-align: center;
transition: 300ms opacity;
transform: translate3d(0, 0, 0);
z-index: 10;
}
.swiper-pagination.swiper-pagination-hidden {
opacity: 0;
}
.swiper-pagination-disabled > .swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
display: none !important;
}
/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
bottom: var(--swiper-pagination-bottom, 8px);
top: var(--swiper-pagination-top, auto);
left: 0;
width: 100%;
}
/* Bullets */
.swiper-pagination-bullets-dynamic {
overflow: hidden;
font-size: 0;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
transform: scale(0.33);
position: relative;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
transform: scale(0.33);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
transform: scale(0.33);
}
.swiper-pagination-bullet {
width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
display: inline-block;
border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
background: var(--swiper-pagination-bullet-inactive-color, #000);
opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}
button.swiper-pagination-bullet {
border: none;
margin: 0;
padding: 0;
box-shadow: none;
-webkit-appearance: none;
appearance: none;
}
.swiper-pagination-clickable .swiper-pagination-bullet {
cursor: pointer;
}
.swiper-pagination-bullet:only-child {
display: none !important;
}
.swiper-pagination-bullet-active {
opacity: var(--swiper-pagination-bullet-opacity, 1);
background: var(--swiper-pagination-color, var(--swiper-theme-color));
}
.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
right: var(--swiper-pagination-right, 8px);
left: var(--swiper-pagination-left, auto);
top: 50%;
transform: translate3d(0px, -50%, 0);
}
.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
display: block;
}
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
top: 50%;
transform: translateY(-50%);
width: 8px;
}
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
display: inline-block;
transition: 200ms transform,
200ms top;
}
.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}
.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
left: 50%;
transform: translateX(-50%);
white-space: nowrap;
}
.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
transition: 200ms transform,
200ms left;
}
.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
transition: 200ms transform,
200ms right;
}
/* Fraction */
.swiper-pagination-fraction {
color: var(--swiper-pagination-fraction-color, inherit);
}
/* Progress */
.swiper-pagination-progressbar {
background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
position: absolute;
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
background: var(--swiper-pagination-color, var(--swiper-theme-color));
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
transform: scale(0);
transform-origin: left top;
}
.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
transform-origin: right top;
}
.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
width: 100%;
height: var(--swiper-pagination-progressbar-size, 4px);
left: 0;
top: 0;
}
.swiper-vertical > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
width: var(--swiper-pagination-progressbar-size, 4px);
height: 100%;
left: 0;
top: 0;
}
.swiper-pagination-lock {
display: none;
}
:root {
/*
--swiper-scrollbar-border-radius: 10px;
--swiper-scrollbar-top: auto;
--swiper-scrollbar-bottom: 4px;
--swiper-scrollbar-left: auto;
--swiper-scrollbar-right: 4px;
--swiper-scrollbar-sides-offset: 1%;
--swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.1);
--swiper-scrollbar-drag-bg-color: rgba(0, 0, 0, 0.5);
--swiper-scrollbar-size: 4px;
*/
}
.swiper-scrollbar {
border-radius: var(--swiper-scrollbar-border-radius, 10px);
position: relative;
touch-action: none;
background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
}
.swiper-scrollbar-disabled > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
display: none !important;
}
.swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
position: absolute;
left: var(--swiper-scrollbar-sides-offset, 1%);
bottom: var(--swiper-scrollbar-bottom, 4px);
top: var(--swiper-scrollbar-top, auto);
z-index: 50;
height: var(--swiper-scrollbar-size, 4px);
width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}
.swiper-vertical > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-vertical {
position: absolute;
left: var(--swiper-scrollbar-left, auto);
right: var(--swiper-scrollbar-right, 4px);
top: var(--swiper-scrollbar-sides-offset, 1%);
z-index: 50;
width: var(--swiper-scrollbar-size, 4px);
height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}
.swiper-scrollbar-drag {
height: 100%;
width: 100%;
position: relative;
background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
border-radius: var(--swiper-scrollbar-border-radius, 10px);
left: 0;
top: 0;
}
.swiper-scrollbar-cursor-drag {
cursor: move;
}
.swiper-scrollbar-lock {
display: none;
}
/* Zoom container styles start */
.swiper-zoom-container {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
text-align: center;
}
.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
max-width: 100%;
max-height: 100%;
object-fit: contain;
}
/* Zoom container styles end */
.swiper-slide-zoomed {
cursor: move;
touch-action: none;
}
/* a11y */
.swiper .swiper-notification {
position: absolute;
left: 0;
top: 0;
pointer-events: none;
opacity: 0;
z-index: -1000;
}
.swiper-free-mode > .swiper-wrapper {
transition-timing-function: ease-out;
margin: 0 auto;
}
.swiper-grid > .swiper-wrapper {
flex-wrap: wrap;
}
.swiper-grid-column > .swiper-wrapper {
flex-wrap: wrap;
flex-direction: column;
}
.swiper-fade.swiper-free-mode .swiper-slide {
transition-timing-function: ease-out;
}
.swiper-fade .swiper-slide {
pointer-events: none;
transition-property: opacity;
}
.swiper-fade .swiper-slide .swiper-slide {
pointer-events: none;
}
.swiper-fade .swiper-slide-active {
pointer-events: auto;
}
.swiper-fade .swiper-slide-active .swiper-slide-active {
pointer-events: auto;
}
.swiper.swiper-cube {
overflow: visible;
}
.swiper-cube .swiper-slide {
pointer-events: none;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
z-index: 1;
visibility: hidden;
transform-origin: 0 0;
width: 100%;
height: 100%;
}
.swiper-cube .swiper-slide .swiper-slide {
pointer-events: none;
}
.swiper-cube.swiper-rtl .swiper-slide {
transform-origin: 100% 0;
}
.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
pointer-events: auto;
}
.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-prev {
pointer-events: auto;
visibility: visible;
}
.swiper-cube .swiper-cube-shadow {
position: absolute;
left: 0;
bottom: 0px;
width: 100%;
height: 100%;
opacity: 0.6;
z-index: 0;
}
.swiper-cube .swiper-cube-shadow:before {
content: '';
background: #000;
position: absolute;
left: 0;
top: 0;
bottom: 0;
right: 0;
filter: blur(50px);
}
.swiper-cube .swiper-slide-next + .swiper-slide {
pointer-events: auto;
visibility: visible;
}
/* Cube slide shadows start */
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right {
z-index: 0;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
/* Cube slide shadows end */
.swiper.swiper-flip {
overflow: visible;
}
.swiper-flip .swiper-slide {
pointer-events: none;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
z-index: 1;
}
.swiper-flip .swiper-slide .swiper-slide {
pointer-events: none;
}
.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
pointer-events: auto;
}
/* Flip slide shadows start */
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right {
z-index: 0;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
/* Flip slide shadows end */
.swiper-creative .swiper-slide {
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
overflow: hidden;
transition-property: transform, opacity, height;
}
.swiper.swiper-cards {
overflow: visible;
}
.swiper-cards .swiper-slide {
transform-origin: center bottom;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
overflow: hidden;
}
`;
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
const ln = { CHILD: 2 }, dn = (i) => (...e) => ({ _$litDirective$: i, values: e });
class pn {
constructor(e) {
}
get _$AU() {
return this._$AM._$AU;
}
_$AT(e, t, s) {
this._$Ct = e, this._$AM = t, this._$Ci = s;
}
_$AS(e, t) {
return this.update(e, t);
}
update(e, t) {
return this.render(...t);
}
}
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
class Yt extends pn {
constructor(e) {
if (super(e), this.it = j, e.type !== ln.CHILD) throw Error(this.constructor.directiveName + "() can only be used in child bindings");
}
render(e) {
if (e === j || e == null) return this._t = void 0, this.it = e;
if (e === ve) return e;
if (typeof e != "string") throw Error(this.constructor.directiveName + "() called with a non-string value");
if (e === this.it) return this._t;
this.it = e;
const t = [e];
return t.raw = t, this._t = { _$litType$: this.constructor.resultType, strings: t, values: [] };
}
}
Yt.directiveName = "unsafeHTML", Yt.resultType = 1;
const st = dn(Yt);
var cn = Object.defineProperty, un = Object.getOwnPropertyDescriptor, Fi = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? un(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && cn(e, t, r), r;
};
let vt = class extends P {
constructor() {
super(...arguments), this.items = [];
}
firstUpdated() {
new R(this.shadowRoot.querySelector(".swiper"), {
modules: [on, en, tn],
loop: !0,
effect: "fade",
crossFade: !0,
pagination: {
el: this.shadowRoot.querySelector(".swiper-pagination")
},
navigation: {
nextEl: this.shadowRoot.querySelector(".swiper-button-next"),
prevEl: this.shadowRoot.querySelector(".swiper-button-prev")
}
}), requestAnimationFrame(() => {
const i = Math.floor(this.clientWidth / 1.5);
this.style.setProperty("--carousel-img-height", `${i}px`);
});
}
render() {
return w`
<div class="swiper">
<div class="swiper-wrapper">
${this.items.map(
(i) => w`
<div class="swiper-slide">
<div class="img">
<img src="${i.path}" alt="${i.caption || "Image"}" />
${i.caption ? w`
<div class="caption"><p>${st(i.caption)}</p></div>` : ""}
</div>
</div>
`
)}
</div>
<div class="swiper-pagination"></div>
<div class="swiper-button-prev"></div>
<div class="swiper-button-next"></div>
</div>
`;
}
};
vt.styles = [
O([an]),
O`
.img{
aspect-ratio: 3/2;
height: auto;
}
.img img{
width: 100%;
height: 100%;
object-fit: cover;
}
.caption p{
font: var(--iu-f-0);
background: #fff;
margin-bottom: 0;
margin-top: 1.75rem;
height: 100%;
}
:host .swiper-button-prev, :host .swiper-button-next{
width: 50%;
height: var(--carousel-img-height);
top: 0;
margin-top: 0;
}
:host .swiper-button-prev::after, :host .swiper-button-next::after{
content: none;
}
:host .swiper-pagination{
display: flex;
gap: 0.625rem;
position: absolute;
top: calc(var(--carousel-img-height) + 0.625rem);
}
:host .swiper-pagination .swiper-pagination-bullet{
width:100%;
border-radius: 0;
height: 1px;
margin: 0;
background: var(--iu-color-grey-300);
opacity: 1;
}
:host .swiper-pagination .swiper-pagination-bullet-active{
background: var(--iu-color-black);
height: 3px;
}
:host .swiper-slide{
opacity: 0;
}
:host .swiper-slide-active, :host .swiper.slide-duplicate-active{
opacity: 1;
}
`
];
Fi([
f({ type: Array })
], vt.prototype, "items", 2);
vt = Fi([
M("iu-carousel")
], vt);
var hn = Object.defineProperty, fn = Object.getOwnPropertyDescriptor, Pt = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? fn(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && hn(e, t, r), r;
};
let Me = class extends P {
constructor() {
super(...arguments), this.checked = !1, this.label = "", this.name = "";
}
// For form compatibility
toggleChecked() {
this.checked = !this.checked, this.dispatchEvent(new CustomEvent("change", { detail: { checked: this.checked }, bubbles: !0, composed: !0 }));
}
handleKeyDown(i) {
(i.key === " " || i.key === "Enter") && (i.preventDefault(), this.toggleChecked());
}
render() {
return w`
<div
class="checkbox"
role="checkbox"
tabindex="0"
aria-checked="${this.checked}"
@click="${this.toggleChecked}"
@keydown="${this.handleKeyDown}"
></div>
${this.label ? w`<span class="label" @click="${this.toggleChecked}">${st(this.label)}</span>` : ""}
<input type="checkbox" name="${this.name}" .checked="${this.checked}" hidden />
`;
}
};
Me.styles = O`
:host {
display: inline-flex;
align-items: start;
cursor: pointer;
user-select: none;
margin-bottom: var(--iu-spacing-5);
}
.checkbox {
width: 18px;
height: 18px;
border: 1px solid var(--iu-color-grey-300);
border-radius: 0;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
position: relative;
}
.checkbox::after{
content: '';
background-image: url("data:image/svg+xml,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 9'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='m4.022 7.313-2.67-2.67-.703.711 3.375 3.375 7.328-7.374-.704-.71-6.626 6.668Z' fill='%23fff'/%3E%3C/svg%3E");
position: absolute;
background-size: contain;
background-repeat: no-repeat;
top: 50%;
left: 50%;
transform: translateX(-50%) translateY(-50%);
width: 14px;
height: 11px;
}
.checkbox[aria-checked="true"] {
background: var(--iu-color-black);
border-color: var(--iu-color-black);
}
.checkbox[aria-checked="true"]::after {
}
.label {
margin-left: 14px;
font: var(--iu-fs-1);
color: var(--iu-color-black);
a{
color: var(--iu-color-black)
}
}
/* Focus styles */
:host(:focus-within) .checkbox {
outline: 0;
}
`;
Pt([
f({ type: Boolean, reflect: !0 })
], Me.prototype, "checked", 2);
Pt([
f({ type: String })
], Me.prototype, "label", 2);
Pt([
f({ type: String })
], Me.prototype, "name", 2);
Me = Pt([
M("iu-checkbox")
], Me);
var gn = Object.defineProperty, mn = Object.getOwnPropertyDescriptor, Be = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? mn(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && gn(e, t, r), r;
};
let re = class extends P {
constructor() {
super(...arguments), this.name = "#", this.contacts = [];
}
/**
* Checks if a link is external or internal.
* @param link The URL to check.
* @returns true if the link is external, false otherwise.
*/
isExternalLink(i) {
const e = document.createElement("a");
return e.href = i, e.hostname !== window.location.hostname && !!e.hostname;
}
/**
* Applies the appropriate class to the component based on the link type.
*/
checkLinkType() {
if (this.href) {
const i = this.isExternalLink(this.href);
this.classList.toggle("external", i), this.classList.toggle("internal", !i);
}
}
/**
* If component has description, span for 2 columns
*/
checkCardSpan() {
this.description != null && this.classList.add("span-2");
}
firstUpdated() {
super.firstUpdated(), this.checkCardSpan(), this.checkLinkType();
}
render() {
return w`
<div>
<header>
${this.href ? w`<a href="${this.href}" class="title"><span>${this.name}</span><svg width="27" height="20" viewBox="0 0 27 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.6667 1L25 10M25 10L16.6667 19M25 10H0" stroke="#FFCC00" stroke-width="2"/></svg></a>` : w`<span class="title">${this.name}</span>`}
${this.sub && w`<span class="sub">${this.sub}</span>`}
</header>
<footer>
${this.contacts && w`
<ul>
${this.contacts.map(
(i) => w`
<li><a href="${i.href}">${st(i.label)}</a></li>
`
)}
</ul>
${this.description && w`
<div class="description"><p>${this.description}</p></div>
`}
`}
</footer>
</div>
`;
}
};
re.styles = O`
:host{
display: flex;
align-items: flex-end;
aspect-ratio: 1/1;
background: var(--iu-color-black);
color: var(--iu-color-yellow-100);
padding: var(--iu-grid-gutter);
}
:host(.external) a svg{
transform: rotate(-45deg);
}
:host(.span-2){
aspect-ratio: unset;
}
@media ${C(_.xl)} {
:host(.span-2){
aspect-ratio: 2/0.975;
}
}
div{
display: flex;
flex-direction: column;
width: 100%;
height: 100%;
}
header{
flex-grow: 1;
}
header span{
display: block;
}
.title{
font: var(--iu-f-lg);
}
.sub{
margin-top: 1rem;
}
header a{
display: flex;
align-items: center;
text-decoration: none;
color: var(--iu-color-yellow-100);
}
header a span{
flex-grow: 1;
}
header a svg{
width: 40px;
}
@media ${C(_.lg)} {
:host(.span-2) footer{
display: grid;
grid-template-columns: repeat(2,1fr);
}
}
footer ul{
list-style-type: none;
margin: 0;
padding: 0;
}
footer ul li a{
color: var(--iu-color-yellow-100);
}
footer ul li a:hover{
text-decoration: none;
}
.description{
margin-top: var(--iu-spacing-6);
}
@media ${C(_.xl)} {
.description{
margin-top: 0;
}
}
.description p{
margin: 0;
}
`;
Be([
f()
], re.prototype, "href", 2);
Be([
f()
], re.prototype, "name", 2);
Be([
f()
], re.prototype, "sub", 2);
Be([
f({ type: Array })
], re.prototype, "contacts", 2);
Be([
f()
], re.prototype, "description", 2);
re = Be([
M("iu-contact-card")
], re);
var vn = Object.defineProperty, wn = Object.getOwnPropertyDescriptor, Ri = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? wn(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && vn(e, t, r), r;
};
let wt = class extends P {
constructor() {
super(...arguments), this.heading = "Contatti";
}
render() {
return w`
<iu-heading text="${this.heading}" noDivider link="Vai alla rubrica" href="#"></iu-heading>
<slot></slot>
`;
}
};
wt.styles = O`
:host{
display: block;
background: var(--iu-color-yellow-100);
padding-top: var(--iu-spacing-block-sm);
padding-bottom: var(--iu-spacing-block-sm);
}
iu-heading{
--iu-heading-link-color: var(--iu-color-yellow-400);
}
`;
Ri([
f()
], wt.prototype, "heading", 2);
wt = Ri([
M("iu-contacts")
], wt);
var bn = Object.defineProperty, yn = Object.getOwnPropertyDescriptor, Yi = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? yn(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && bn(e, t, r), r;
};
let bt = class extends P {
constructor() {
super(...arguments), this.heading = "";
}
render() {
return w`
${this.heading && w`<iu-paragraph><p>${this.heading}</p></iu-paragraph>`}
<iu-container>
<slot></slot>
</iu-container>
`;
}
};
bt.styles = O`
:host{
display: block;
margin-bottom: var(--iu-spacing-block-sm);
}
iu-paragraph{
margin-bottom: var(--iu-spacing-1);
}
iu-paragraph p{
font-weight: bold;
}
iu-container{
display: grid;
grid-template-columns: repeat(12, minmax(0, 1fr));
gap: var(--iu-grid-gutter);
}
::slotted(iu-contact-card){
grid-column: span 12 / span 12;
}
@media ${C(_.md)} {
::slotted(iu-contact-card){
grid-column: span 6 / span 6;
}
::slotted(.span-2){
grid-column: span 12 / span 12;
}
}
@media ${C(_.lg)} {
::slotted(iu-contact-card){
grid-column: span 4 / span 4;
}
::slotted(.span-2){
grid-column: span 6 / span 6;
}
}
@media ${C(_.xl)} {
::slotted(iu-contact-card){
grid-column: span 3 / span 3;
}
}
iu-heading{
--iu-heading-link-color: var(--iu-color-yellow-400);
}
`;
Yi([
f()
], bt.prototype, "heading", 2);
bt = Yi([
M("iu-contacts-cards")
], bt);
var xn = Object.defineProperty, An = Object.getOwnPropertyDescriptor, Q = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? An(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && xn(e, t, r), r;
};
let Y = class extends P {
constructor() {
super(...arguments), this.weekday = "", this.day = "", this.time = "", this.deadline = "", this.place = "", this.href = "", this.name = "";
}
render() {
return w`
<iu-container>
<div class="event">
<div class="date">
<span class="weekday">${this.weekday}</span>
<span class="day">${this.day}</span>
</div>
<div class="info">
<div>
<span class="time">${this.time == "" ? "Tutto il giorno" : this.time}</span>
${this.deadline && w`<span class="deadline">Fino al ${this.deadline}</span>`}
</div>
<span class="place">${this.place}</span>
</div>
<div class="content">
<a href="${this.href}" class="title">${this.name}</a>
${this.subtitle && w`<span class="subtitle">${this.subtitle}</span>`}
${this.excerpt && w`<span class="excerpt">${this.excerpt}</span>`}
</div>
</div>
</iu-container>
`;
}
};
Y.styles = O`
:host{
display: block;
}
.event{
padding-top: var(--iu-spacing-2);
padding-bottom: var(--iu-spacing-2);
border-top: 1px solid var(--iu-color-grey-200);
border-bottom: 1px solid var(--iu-color-grey-200);
}
@media ${C(_.md)} {
.event{
display: grid;
grid-template-columns: repeat(12, 1fr);
gap: var(--iu-grid-gutter);
}
}
.date{
grid-column: span 2 / span 2;
font-weight: bold;
font: var(--iu-f-md);
}
@media ${C(_.lg)} {
.date span{
display: block;
}
}
.day{
margin-left: var(--iu-spacing-0);
}
@media ${C(_.lg)} {
.day{
margin-left: 0;
}
}
.info{
grid-column: span 4 / span 4;
display: flex;
flex-direction: column;
justify-content: space-between;
font: var(--iu-f-md);
}
.info span{
display: block;
}
.deadline{
color: var(--iu-color-grey-300);
}
.place{
font: var(--iu-f-1);
}
.content{
grid-column: span 6 / span 6;
}
.title{
font-weight: bold;
font: var(--iu-f-md);
margin-bottom: 0;
text-decoration: none;
color: var(--iu-color-black);
}
.subtitle{
font-weight: bold;
display: block;
margin-top: var(--iu-spacing-0);
}
.excerpt{
display: block;
margin-top: var(--iu-spacing-2);
}
`;
Q([
f()
], Y.prototype, "weekday", 2);
Q([
f()
], Y.prototype, "day", 2);
Q([
f()
], Y.prototype, "time", 2);
Q([
f()
], Y.prototype, "deadline", 2);
Q([
f()
], Y.prototype, "place", 2);
Q([
f()
], Y.prototype, "href", 2);
Q([
f()
], Y.prototype, "name", 2);
Q([
f()
], Y.prototype, "subtitle", 2);
Q([
f()
], Y.prototype, "excerpt", 2);
Y = Q([
M("iu-event")
], Y);
var $n = Object.defineProperty, Sn = Object.getOwnPropertyDescriptor, He = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? Sn(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && $n(e, t, r), r;
};
let ne = class extends P {
constructor() {
super(...arguments), this.heading = "", this.link = "", this.href = "", this.img = "", this.text = "";
}
render() {
return w`
<iu-container>
<iu-heading text="${this.heading}" noDivider nested href="${this.href}" size="2" link="${this.link}"></iu-heading>
<div class="img"><img src="${this.img}" /></div>
${this.text && w`<div class="text">${st(this.text)}</div>`}
</iu-container>
`;
}
};
ne.styles = O`
:host{
display: block;
background: var(--iu-color-black);
color: #fff;
padding-top: 2.5rem /* 40px */;
padding-bottom: 2.5rem /* 40px */;
margin-bottom: 4.5rem;
}
:host iu-heading::part(title){
color: #fff;
}
:host iu-heading::part(link){
color: var(--iu-color-grey-400);
}
::slotted(p){
font-size: 1.625rem !important;
line-height: 2.1875rem !important;
color: #fff !important;
}
.img{
aspect-ratio: 3/2;
margin-bottom: 2rem;
overflow: hidden;
}
@media ${C(_.md)} {
.img{
aspect-ratio: 2/1;
}
}
@media ${C(_.xl)} {
.img{
aspect-ratio: 21/9;
}
}
.img img{
width: 100%;
}
.text *{
font: var(--iu-f-md);
}
`;
He([
f()
], ne.prototype, "heading", 2);
He([
f()
], ne.prototype, "link", 2);
He([
f()
], ne.prototype, "href", 2);
He([
f()
], ne.prototype, "img", 2);
He([
f()
], ne.prototype, "text", 2);
ne = He([
M("iu-featured-content")
], ne);
var En = Object.defineProperty, Tn = Object.getOwnPropertyDescriptor, rt = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? Tn(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && En(e, t, r), r;
};
let be = class extends P {
constructor() {
super(...arguments), this.label = "Download", this.columns = 1, this.nested = !1, this.items = [];
}
render() {
return w`
<iu-container ?nested=${this.nested}>
<div class="columns-${this.columns}">
${this.label && w`<p>${this.label}</p>`}
<ul>
${this.items.map(
(i) => w`
<li><iu-button href="${i.href}" icon="download" text="${i.text}"></iu-button></li>
`
)}
</ul>
</div>
</iu-container>
`;
}
};
be.styles = O`
:host{
display: block;
margin-bottom: var(--iu-spacing-block-sm);
}
:host p{
font-weight: bold;
}
ul{
list-style-type: none;
padding: 0;
margin: 0;
display: flex;
flex-wrap: wrap;
gap: 0.9375rem
}
`;
rt([
f()
], be.prototype, "label", 2);
rt([
f({ type: Number })
], be.prototype, "columns", 2);
rt([
f({ type: Boolean, reflect: !0 })
], be.prototype, "nested", 2);
rt([
f({ type: Array })
], be.prototype, "items", 2);
be = rt([
M("iu-files-list")
], be);
var Pn = Object.defineProperty, Cn = Object.getOwnPropertyDescriptor, ri = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? Cn(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && Pn(e, t, r), r;
};
let We = class extends P {
constructor() {
super(...arguments), this.text = "", this.href = "";
}
render() {
return w`
<li><a href="${this.href}">${this.text}</a></li>
`;
}
};
We.styles = O`
:host{
display:block;
}
li{
width: 100%;
}
`;
ri([
f()
], We.prototype, "text", 2);
ri([
f()
], We.prototype, "href", 2);
We = ri([
M("iu-files-list-item")
], We);
var _n = Object.getOwnPropertyDescriptor, On = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? _n(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = o(r) || r);
return r;
};
let Ut = class extends P {
constructor() {
super(...arguments), this.currentScrollPos = 0, this.prevScrollPos = 0, this.handleScroll = () => {
this.currentScrollPos = window.scrollY, this.prevScrollPos > 0 && this.prevScrollPos < this.currentScrollPos ? this.classList.add("is-visible") : this.prevScrollPos >= this.currentScrollPos && this.classList.remove("is-visible"), this.prevScrollPos = this.currentScrollPos;
};
}
connectedCallback() {
super.connectedCallback(), window.addEventListener("scroll", this.handleScroll);
}
disconnectedCallback() {
super.disconnectedCallback(), window.removeEventListener("scroll", this.handleScroll);
}
render() {
return w`
<a href="">
<svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 175"><path d="M18.734 20.694V18.19h5.033V2.505h-5.033V0h13.477v2.505h-5.033V18.19h5.033v2.504H18.734ZM10.752 34.531H.976v3.08h9.774v-3.08ZM30.337 34.531h-9.774v3.08h9.774v-3.08ZM49.973 34.531h-9.817v3.08h9.817v-3.08ZM25.479 72.43c-4.825 0-6.448-1.767-6.448-6.324V51.447h3.411v15.11c0 2.464 1.123 3.203 3.037 3.203 1.747 0 3.036-.657 3.036-3.203v-15.11h3.41v14.659c0 4.393-1.996 6.323-6.405 6.323h-.041ZM10.752 85.98H.976v3.081h9.774v-3.08ZM30.337 85.98h-9.774v3.081h9.774v-3.08ZM49.973 85.98h-9.817v3.081h9.817v-3.08ZM30.046 123.55l-1.04-4.311h-7.071l-1.04 4.311h-3.66l5.99-20.654h4.491l5.99 20.654h-3.66Zm-4.576-18.765-2.87 11.702h5.74l-2.87-11.702ZM10.752 137.388H.976v3.08h9.774v-3.08ZM30.337 137.388h-9.774v3.08h9.774v-3.08ZM49.973 137.388h-9.817v3.08h9.817v-3.08ZM27.57 175H23.37l-6.572-20.694h3.868l4.825 18.518 4.825-18.518h3.827L27.57 175Z" fill="#fff"></path></svg>
</a>
`;
}
};
Ut.styles = O`
:host{
transition: all .2s ease;
transform: translateY(0) translateX(-2px);
position: fixed;
bottom: 2.5rem;
left: 2.5rem;
z-index: 20;
display: none;
mix-blend-mode: difference;
}
@media ${C(_.md)} {
:host{
display: block;
}
}
:host(.is-visible){
transform: translateY(0) translateX(-50%);
left: 0;
}
a svg{
width: 40px;
display: block;
}
`;
Ut = On([
M("iu-floating-logo")
], Ut);
var Mn = Object.defineProperty, zn = Object.getOwnPropertyDescriptor, Ct = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? zn(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && Mn(e, t, r), r;
};
let ze = class extends P {
constructor() {
super(), this.fields = [], this.formData = {}, this.fields.forEach((i) => {
this.formData[i.name] = "";
});
}
handleInput(i) {
const e = i.target;
this.formData = { ...this.formData, [e.name]: e.value };
}
handleSubmit(i) {
i.preventDefault(), console.log("Form Data:", this.formData), this.dispatchEvent(new CustomEvent("form-submit", {
detail: this.formData,
bubbles: !0,
composed: !0
}));
}
// make sure that every component inside this has <iu-container> set
// to nested to disable padding left on the container itself
updateSlottedElements() {
this.slottedElements && this.slottedElements.forEach((i) => {
i instanceof HTMLElement && i.setAttribute("nested", "true");
});
}
firstUpdated() {
super.firstUpdated(), this.updateSlottedElements();
}
render() {
const i = this.slottedElements && this.slottedElements.length > 0;
return w`
<iu-container columns-md="2">
<form @submit="${this.handleSubmit}">
<slot></slot>
${!i && this.fields.length > 0 ? this.fields.map(
(e) => w`
<div>
<label for="${e.name}">${e.label}</label>
<input
type="${e.type}"
name="${e.name}"
placeholder="${e.placeholder || ""}"
@input="${this.handleInput}"
.value="${this.formData[e.name] || ""}"
required
/>
</div>
`
) : ""}
<button type="submit">Invia</button>
</form>
</iu-container>
`;
}
};
ze.styles = O`
input {
padding: 8px;
font-size: 1rem;
width: 100%;
box-sizing: border-box;
}
div{
margin-bottom: 20px;
}
label{
font-weight: bold;
margin-bottom: 4px;
display: block;
}
button {
position: relative;
display: inline-flex;
align-items: center;
background: var(--iu-color-grey-100);
padding: 0.375rem 0.75rem;
color: var(--iu-color-black);
text-decoration: none;
border: 0;
font: var(--iu-f-sm);
cursor: pointer;
margin-top: 20px;
&:hover{
background: var(--iu-color-black);
color: var(--iu-color-white);
}
margin-top: var(--iu-spacing-4);
}
::slotted(iu-heading){
--iu-heading-margin-top: var(--iu-spacing-7);
}
`;
Ct([
f({ type: Array })
], ze.prototype, "fields", 2);
Ct([
xs()
], ze.prototype, "formData", 2);
Ct([
tt()
], ze.prototype, "slottedElements", 2);
ze = Ct([
M("iu-form")
], ze);
var Ln = Object.defineProperty, kn = Object.getOwnPropertyDescriptor, Ui = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? kn(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && Ln(e, t, r), r;
};
let yt = class extends P {
render() {
return w`
<iu-container class="logo">
<svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 175"><path d="M18.734 20.694V18.19h5.033V2.505h-5.033V0h13.477v2.505h-5.033V18.19h5.033v2.504H18.734ZM10.752 34.531H.976v3.08h9.774v-3.08ZM30.337 34.531h-9.774v3.08h9.774v-3.08ZM49.973 34.531h-9.817v3.08h9.817v-3.08ZM25.479 72.43c-4.825 0-6.448-1.767-6.448-6.324V51.447h3.411v15.11c0 2.464 1.123 3.203 3.037 3.203 1.747 0 3.036-.657 3.036-3.203v-15.11h3.41v14.659c0 4.393-1.996 6.323-6.405 6.323h-.041ZM10.752 85.98H.976v3.081h9.774v-3.08ZM30.337 85.98h-9.774v3.081h9.774v-3.08ZM49.973 85.98h-9.817v3.081h9.817v-3.08ZM30.046 123.55l-1.04-4.311h-7.071l-1.04 4.311h-3.66l5.99-20.654h4.491l5.99 20.654h-3.66Zm-4.576-18.765-2.87 11.702h5.74l-2.87-11.702ZM10.752 137.388H.976v3.08h9.774v-3.08ZM30.337 137.388h-9.774v3.08h9.774v-3.08ZM49.973 137.388h-9.817v3.08h9.817v-3.08ZM27.57 175H23.37l-6.572-20.694h3.868l4.825 18.518 4.825-18.518h3.827L27.57 175Z" fill="#fff"/></svg>
<p><span>Università</span> Iuav di Venezia</p>
</iu-container>
<iu-container class="nav" columns-sm-="1" columns-md="2" columns-xl="4">
<slot name="column"></slot>
</iu-container>
${this.colophon && w`
<iu-container class="colophon">
<slot name="colophon"></slot>
</iu-container>
`}
`;
}
};
yt.styles = O`
:host{
display: block;
position: relative;
background: var(--iu-color-black);
color: #fff;
padding-bottom: var(--iu-spacing-6);
font: var(--iu-f-0);
}
@media ${C(_.md)} {
:host{
font: var(--iu-f-1);
}
}
.logo{
display: flex;
margin-bottom: var(--iu-spacing-7);
padding-top: var(--iu-spacing-5);
}
.logo p{
font: var(--iu-f-2);
margin: 0;
transform: translateY(-0.5rem);
}
.logo p span{
display: block;
}
.logo svg{
width: 1.875rem;
margin-right: var(--iu-spacing-2);
}
@media ${C(_.md)} {
.logo{
padding-top: var(--iu-spacing-3);
}
.logo svg{
display: none;
}
.logo p{
font: var(--iu-f-1);
font-weight: bold;
transform: translateY(0);
}
.logo p span{
display: inline;
}
}
.nav{
margin-bottom: 0;
}
.colophon{
border-top: 1px solid #fff;
margin-top: var(--iu-spacing-7);
margin-bottom: 0;
padding-top: var(--iu-spacing-3);
}
`;
Ui([
f({ type: Boolean })
], yt.prototype, "colophon", 2);
yt = Ui([
M("iu-footer")
], yt);
var In = Object.defineProperty, Dn = Object.getOwnPropertyDescriptor, qi = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? Dn(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && In(e, t, r), r;
};
let xt = class extends P {
render() {
return w`
${this.heading && w`<p><strong>${this.heading}</strong></p>`}
<slot></slot>
`;
}
};
xt.styles = O`
:host{
display: block;
color: #fff;
}
p{
font: var(--iu-f-0);
margin: 0;
}
@media ${C(_.md)} {
p{
font: var(--iu-f-1);
}
}
::slotted(ul){
margin: 0;
list-style-type: none;
padding: 0;
}
`;
qi([
f()
], xt.prototype, "heading", 2);
xt = qi([
M("iu-footer-column")
], xt);
var Bn = Object.defineProperty, Hn = Object.getOwnPropertyDescriptor, je = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? Hn(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && Bn(e, t, r), r;
};
let oe = class extends P {
constructor() {
super(...arguments), this.columns = 1, this.inline = !1;
}
isNested() {
let i = this.parentNode;
for (; i; ) {
if (i instanceof HTMLElement && i.tagName === "IU-CONTAINER")
return !0;
i instanceof ShadowRoot ? i = i.host : i = i.parentNode;
}
return !1;
}
hasColumns() {
this.classList.add("columns"), this.style.setProperty("--iu-container-columns", this.columns.toString()), this.columnsMd && (this.classList.add("columns"), this.style.setProperty("--iu-container-columns-md", this.columnsMd.toString())), this.columnsLg && (this.classList.add("columns"), this.style.setProperty("--iu-container-columns-lg", this.columnsLg.toString())), this.columnsXl && (this.classList.add("columns"), this.style.setProperty("--iu-container-columns-xl", this.columnsXl.toString()));
}
// override firstUpdated(){
// super.firstUpdated();
// this.isNested();
// this.hasColumns();
// }
connectedCallback() {
super.connectedCallback(), this.hasColumns();
}
render() {
return w`
<slot></slot>
`;
}
};
oe.styles = O`
:host{
display: block;
padding-left: var(--iu-grid-gutter);
padding-right: var(--iu-grid-gutter);
margin-left: var(--iu-grid-offset);
}
:host(.columns){
margin-bottom: var(--iu-spacing-block);
}
@media ${C(_.md)} {
:host{
padding-left: 0;
padding-right: 0;
width: calc(100% - var(--iu-grid-offset) - var(--iu-grid-gutter));
}
}
@media ${C(_.xxl)} {
:host{
max-width: var(--iu-screens-2xl);
margin-left: max(var(--iu-grid-offset), calc((100vw - var(--iu-screens-2xl))/2));
}
}
:host([nested]){
margin-left: 0;
width: 100%;
}
:host(.columns){
display: grid;
grid-template-columns: repeat(12, 1fr);
grid-column-gap: var(--iu-grid-gutter);
row-gap: var(--iu-spacing-7);
}
:host(.columns) ::slotted(*){
// grid-column: span calc(12 / var(--iu-container-columns, 1));
grid-column: span 12;
}
@media ${C(_.md)} {
:host(.columns) ::slotted(*){
grid-column: span calc(12 / var(--iu-container-columns-md, var(--iu-container-columns, 1)));
}
}
@media ${C(_.lg)} {
:host(.columns) ::slotted(*){
grid-column: span calc(12 / var(--iu-container-columns-lg, var(--iu-container-columns-md, var(--iu-container-columns, 1))));
}
}
@media ${C(_.xl)} {
:host(.columns) ::slotted(*){
grid-column: span calc(12 / var(--iu-container-columns-xl, var(--iu-container-columns-lg, var(--iu-container-columns-md, var(--iu-container-columns, 1)))));
}
}
:host([inline]){
display: block;
}
`;
je([
f({ type: Number })
], oe.prototype, "columns", 2);
je([
f({ type: Number, attribute: "columns-md" })
], oe.prototype, "columnsMd", 2);
je([
f({ type: Number, attribute: "columns-lg" })
], oe.prototype, "columnsLg", 2);
je([
f({ type: Number, attribute: "columns-xl" })
], oe.prototype, "columnsXl", 2);
je([
f({ type: Boolean, reflect: !0 })
], oe.prototype, "inline", 2);
oe = je([
M("iu-container")
], oe);
var jn = Object.defineProperty, Nn = Object.getOwnPropertyDescriptor, ue = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? Nn(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && jn(e, t, r), r;
};
let W = class extends P {
constructor() {
super(...arguments), this.sm = 12;
}
// make sure that every component inside this component has <iu-container> set
// to nested to disable padding left on the container itself
updateSlottedElements() {
this.slotElement.assignedElements({ flatten: !0 }).forEach((e) => {
e instanceof HTMLElement && (console.log("test"), e.setAttribute("nested", "true"));
});
}
firstUpdated() {
super.firstUpdated(), this.updateSlottedElements();
}
updated(i) {
["sm", "md", "lg", "xl"].forEach((t) => {
if (i.has(t)) {
const s = this[t];
this.style.setProperty(`--column-span-${t}`, s?.toString() || "");
}
}), this.sticky && this.top && this.style.setProperty("--column-sticky-top", `${Math.round(this.top / 16)}rem`), this.sticky && this.top;
}
render() {
return w`
<slot></slot>
`;
}
};
W.styles = O`
:host{
display: block;
grid-column: span var(--column-span-sm, 1);
}
@media ${C(_.md)} {
:host{
grid-column: span var(--column-span-md, var(--column-span-sm, 1));
}
}
@media ${C(_.lg)} {
:host{
grid-column: span var(--column-span-lg, var(--column-span-md, var(--column-span-sm, 1)));
}
}
@media ${C(_.xl)} {
:host{
grid-column: span var(--column-span-xl, var(--column-span-lg, var(--column-span-md, var(--column-span-sm, 1))));
}
:host([sticky]){
position: sticky;
top: var(--column-sticky-top, 0);
align-self: start;
}
}
`;
ue([
f({ type: Number })
], W.prototype, "sm", 2);
ue([
f({ type: Number })
], W.prototype, "md", 2);
ue([
f({ type: Number })
], W.prototype, "lg", 2);
ue([
f({ type: Number })
], W.prototype, "xl", 2);
ue([
f({ type: Boolean })
], W.prototype, "sticky", 2);
ue([
f({ type: Number })
], W.prototype, "top", 2);
ue([
et("slot")
], W.prototype, "slotElement", 2);
W = ue([
M("iu-column")
], W);
var Gn = Object.getOwnPropertyDescriptor, Vn = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? Gn(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = o(r) || r);
return r;
};
let qt = class extends P {
render() {
return w`
<slot></slot>
`;
}
};
qt.styles = O`
:host{
display: block;
margin-bottom: var(--iu-spacing-block);
}
`;
qt = Vn([
M("iu-group")
], qt);
var Fn = Object.defineProperty, Rn = Object.getOwnPropertyDescriptor, $e = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? Rn(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && Fn(e, t, r), r;
};
let K = class extends P {
constructor() {
super(...arguments), this.label = "", this.type = "text", this.name = "", this.placeholder = "", this.value = "";
}
handleInput(i) {
const e = i.target;
this.value = e.value, this.dispatchEvent(new CustomEvent("input-change", {
detail: { name: this.name, value: this.value },
bubbles: !0,
composed: !0
}));
}
render() {
return w`
<div class="input-group">
<label for="${this.name}">${this.label}</label>
<div class="input">
<input
type="${this.type}"
name="${this.name}"
placeholder="${this.placeholder}"
.value="${this.value}"
@input="${this.handleInput}"
/>
</div>
${this.helper && w`<span class="helper">${this.helper}</span>`}
</div>
`;
}
};
K.styles = O`
:host {
display: block;
}
.input-group{
margin-bottom: var(--iu-spacing-4);
}
label {
font-weight: bold;
display: block;
margin-bottom: var(--iu-spacing-0);
}
.input{
border-top: 1px solid var(--iu-color-grey-200);
border-bottom: 1px solid var(--iu-color-grey-200);
}
.input:has(+ .helper){
margin-bottom: var(--iu-spacing-0);
}
.helper{
font: var(--iu-f-0);
color: var(--iu-color-grey-500);
}
input {
width: 100%;
height: 2.25rem;
padding: 8px 0;
font-size: 1rem;
border: 0;
color: var(--iu-color-grey-300);
box-sizing: border-box;
}
input::placeholder{
color: var(--iu-color-grey-300);
}
.input:has(input:focus) {
border-top: 1px solid var(--iu-color-black);
border-bottom: 1px solid var(--iu-color-black);
}
input:focus{
outline: 0;
}
`;
$e([
f({ type: String })
], K.prototype, "label", 2);
$e([
f({ type: String })
], K.prototype, "type", 2);
$e([
f({ type: String })
], K.prototype, "name", 2);
$e([
f({ type: String })
], K.prototype, "placeholder", 2);
$e([
f({ type: String })
], K.prototype, "value", 2);
$e([
f({ type: String })
], K.prototype, "helper", 2);
K = $e([
M("iu-input")
], K);
var Yn = Object.defineProperty, Un = Object.getOwnPropertyDescriptor, ni = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? Un(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && Yn(e, t, r), r;
};
let Xe = class extends P {
constructor() {
super(...arguments), this.label = "Menu principale", this.open = !1, this.handleMenuToggle = () => {
this.open = !this.open, this.requestUpdate();
};
}
connectedCallback() {
super.connectedCallback(), window.addEventListener("toggle-mobile-menu", this.handleMenuToggle);
}
disconnectedCallback() {
window.removeEventListener("toggle-mobile-menu", this.handleMenuToggle), super.disconnectedCallback();
}
render() {
return w`
<nav aria-label="${this.label}" role="navigation">
<ul>
<slot></slot>
</ul>
</nav>
`;
}
};
Xe.styles = O`
:host {
position: fixed;
display: none;
left: 0;
height: calc(100dvh - 50px);
width: 100%;
max-width: 48rem;
background: var(--iu-color-white);
top: 50px;
z-index: 50;
overflow: auto;
}
@media ${C(_.md)} {
:host{
width: calc((100% - var(--iu-grid-offset)) - var(--iu-grid-gutter));
}
}
:host([open]){
display: block;
}
/* fallback if event listener doesn't work */
@media ${C(_.xl)} {
:host([open]){
display: none;
}
}
ul{
list-style-type: none;
padding: 0;
margin: 0;
}
`;
ni([
f({ type: String })
], Xe.prototype, "label", 2);
ni([
f({ type: Boolean, reflect: !0 })
], Xe.prototype, "open", 2);
Xe = ni([
M("iu-mobile-menu")
], Xe);
var qn = Object.defineProperty, Zn = Object.getOwnPropertyDescriptor, nt = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? Zn(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && qn(e, t, r), r;
};
let ye = class extends P {
constructor() {
super(...arguments), this.href = "", this.text = "", this.items = [], this.isToggled = !1, this.hasSlotted = !1;
}
handleSlotChange() {
this.hasSlotted = !!(this.slottedElements && this.slottedElements.length > 0), this.requestUpdate();
}
isNestedMenuItem() {
return this.parentElement?.tagName.toLowerCase() === "iu-mobile-menu-item";
}
isLastSlottedItem() {
if (!this.assignedSlot) return !1;
const i = this.assignedSlot.assignedNodes().filter(
(e) => e.nodeType === Node.ELEMENT_NODE
);
return i[i.length - 1] === this;
}
toggleSubmenu(i) {
i.stopPropagation(), this.isToggled = !this.isToggled, this.requestUpdate();
}
render() {
return w`
<li
class="${this.isToggled ? "is-toggled" : ""} ${this.isNestedMenuItem() ? "is-nested" : ""} ${this.isLastSlottedItem() ? "is-last" : ""}"
aria-expanded="${this.isToggled}"
>
${this.items.length > 0 || this.hasSlotted ? w`
<div>
<a href="${this.href}">${this.text}</a>
<button @click="${this.toggleSubmenu}">
<svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50"><path fill-rule="evenodd" clip-rule="evenodd" d="m25 28.637 8.32-7.704 1.36 1.467L25 31.363 15.32 22.4l1.36-1.467L25 28.637Z" fill="#000"/></svg>
</button>
</div>
` : w`
<div>
<a href="${this.href}">${this.text}</a>
</div>
`}
<!-- Render <ul> only if there are sub-items or slot content -->
${this.items.length > 0 || this.hasSlotted ? w`
<ul>
${this.items.map(
(i) => w`
<li>
<div>
<a href="${i.href}">${i.text}</a>
</div>
</li>
`
)}
<slot @slotchange="${this.handleSlotChange}"></slot>
</ul>
` : w`<slot @slotchange="${this.handleSlotChange}"></slot>`}
</li>
`;
}
};
ye.styles = O`
:host{
display: block;
}
li{
display: block;
width: 100%;
}
div{
display: flex;
border-bottom: 1px solid var(--iu-color-black);
}
a{
font-weight: bold;
width: calc(100% - 50px);
display: flex;
align-items: center;
padding: 0 var(--iu-grid-gutter);
border-right: 1px solid var(--iu-color-grey-200);
height: 3.125rem;
text-decoration: none;
color: var(--iu-color-black);
box-sizing: border-box;
}
button{
width: 50px;
height: 50px;
padding: 0;
flex-shrink: 0;
background: transparent;
border: 0;
cursor: pointer;
& svg{
width: 50px;
height: 50px;
}
}
ul{
list-style-type: none;
padding: 0;
margin: 0;
display: none;
& li {
& a{
padding-left: var(--iu-spacing-6);
font-weight: normal;
}
}
}
.is-toggled{
& button{
transform: rotate(180deg);
}
& ul{
display: block;
}
}
.is-nested{
& div{
border-color: var(--iu-color-grey-200);
}
& a{
padding-left: var(--iu-spacing-6);
}
}
.is-last{
div{
}
}
`;
nt([
f()
], ye.prototype, "href", 2);
nt([
f()
], ye.prototype, "text", 2);
nt([
f({ type: Array })
], ye.prototype, "items", 2);
nt([
tt()
], ye.prototype, "slottedElements", 2);
ye = nt([
M("iu-mobile-menu-item")
], ye);
var Wn = Object.defineProperty, Xn = Object.getOwnPropertyDescriptor, Zi = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? Xn(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && Wn(e, t, r), r;
};
let At = class extends P {
constructor() {
super(...arguments), this.visible = !1;
}
render() {
return w`<div></div>`;
}
};
At.styles = O`
:host {
transition: opacity .25s ease;
pointer-events: none;
visibility: hidden;
opacity: 0;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
z-index: 40;
}
:host([visible]) {
transition: opacity .25s ease;
visibility: visible;
opacity: 1;
}
`;
Zi([
f({ type: Boolean, reflect: !0 })
], At.prototype, "visible", 2);
At = Zi([
M("iu-overlay")
], At);
var Qn = Object.defineProperty, Kn = Object.getOwnPropertyDescriptor, Se = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? Kn(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && Qn(e, t, r), r;
};
let J = class extends P {
constructor() {
super(...arguments), this.selected = "", this.name = "", this.options = [];
}
handleChange(i) {
const e = i.target;
this.selected = e.value;
const t = this.shadowRoot?.querySelector(".select");
t && t.classList.toggle("has-value", this.selected !== ""), this.dispatchEvent(new CustomEvent("select-change", {
detail: { value: this.selected },
bubbles: !0,
composed: !0
}));
}
render() {
return w`
<div class="select-group">
<label for="${this.name}">${this.label}</label>
<div class="select">
<select @change="${this.handleChange}">
${this.placeholder ? w`<option selected disabled>${this.placeholder}</option>` : ""}
${this.options.map(
(i) => w`<option value="${i.value}">${i.label}</option>`
)}
</select>
<svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 37 37"><path fill-rule="evenodd" clip-rule="evenodd" d="m18.502 21.319 5.66-5.241.68.733-6.34 5.87-6.34-5.87.68-.733 5.66 5.24Z" fill="#000"/></svg>
</div>
</div>
`;
}
};
J.styles = O`
:host {
display: block;
}
.select-group{
margin-bottom: var(--iu-spacing-4);
}
label {
font-weight: bold;
display: block;
margin-bottom: var(--iu-spacing-0);
}
.select{
width: 100%;
border-top: 1px solid var(--iu-color-grey-200);
border-bottom: 1px solid var(--iu-color-grey-200);
position: relative;
}
.select.has-value select {
color: var(--iu-color-black);
}
select {
width: 100%;
height: 2.25rem;
appearance: none;
border: 0;
background: transparent;
padding: 8px 0;
color: var(--iu-color-grey-300);
font-size: 1rem;
cursor: pointer;
}
.select:has(select:focus){
border-top: 1px solid var(--iu-color-black);
border-bottom: 1px solid var(--iu-color-black);
}
select:focus {
outline: 0;
color: var(--iu-color-black);
}
svg{
width: 36px;
height: 36px;
position: absolute;
right: 0;
top: 0;
pointer-events: none;
}
`;
Se([
f({ type: String })
], J.prototype, "selected", 2);
Se([
f({ type: String })
], J.prototype, "name", 2);
Se([
f({ type: String })
], J.prototype, "label", 2);
Se([
f({ type: String })
], J.prototype, "placeholder", 2);
Se([
f({ type: Array })
], J.prototype, "options", 2);
Se([
tt()
], J.prototype, "slottedOptions", 2);
J = Se([
M("iu-select")
], J);
var Jn = Object.defineProperty, eo = Object.getOwnPropertyDescriptor, Ne = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? eo(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && Jn(e, t, r), r;
};
let ae = class extends P {
constructor() {
super(...arguments), this.href = "", this.text = "", this.isActive = !1, this.submenu = !1;
}
toggleSubmenu() {
this.dispatchEvent(
new CustomEvent("iu-header-toggle-submenu", {
bubbles: !0,
composed: !0,
detail: {
source: this,
closing: this.isActive
}
})
), this.isActive = !this.isActive, this.toggleOverlay(this.isActive), this.isActive ? document.body.classList.add("is-locked") : document.body.classList.remove("is-locked"), this.submenuElements.forEach((i) => {
this.isActive && i.classList.add("is-active");
});
}
toggleOverlay(i) {
const e = document.querySelector("iu-overlay");
e && (e.visible = i);
}
render() {
const i = this.isActive ? "is-active" : "", e = this.submenu ? this.toggleSubmenu : null;
return w`
<li
@click="${e}"
class="${i}">
${this.submenu ? w`<span>${this.text}</span>` : w`<a href="${this.href}">${this.text}</a>`}
<slot></slot>
</li>
`;
}
};
ae.styles = O`
:host a, :host span{
color: var(--theme-color-black);
text-decoration: none;
cursor: pointer;
}
.is-active{
text-decoration: underline;
}
`;
Ne([
f()
], ae.prototype, "href", 2);
Ne([
f()
], ae.prototype, "text", 2);
Ne([
f({ type: Boolean })
], ae.prototype, "isActive", 2);
Ne([
f({ type: Boolean, reflect: !0 })
], ae.prototype, "submenu", 2);
Ne([
zi({ slot: "" })
], ae.prototype, "submenuElements", 2);
ae = Ne([
M("iu-header-navbar-item")
], ae);
var to = Object.getOwnPropertyDescriptor, io = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? to(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = o(r) || r);
return r;
};
let Zt = class extends P {
get container() {
return this.shadowRoot?.querySelector("div");
}
render() {
return w`
<div>
<ul>
<slot>
</ul>
</div>
`;
}
};
Zt.styles = O`
:host{
display: block;
}
div{
box-sizing: border-box;
pointer-events: none;
visibility: hidden;
opacity: 0;
position: absolute;
transform: translateZ(0) translateY(calc(100% - 2px));
bottom: 0;
left: 0;
// width: 100%;
background: #fff;
}
:host > div > ul {
list-style-type: none;
margin: 0;
padding-top: var(--iu-spacing-6);
padding-bottom: var(--iu-spacing-7);
padding-left: var(--iu-grid-offset);
padding-right: var(--iu-grid-gutter);
orphans: 1;
columns: 3;
column-gap: var(--iu-grid-gutter);
}
:host(.is-active) div{
pointer-events: auto;
visibility: visible;
opacity: 1;
}
:host(.is-closing) div{
}
::slotted(*){
opacity: 1;
}
:host(.is-active.is-closing) ::slotted(*) {
transition: opacity .1s ease;
opacity: 0;
}
`;
Zt = io([
M("iu-header-navbar-submenu")
], Zt);
var so = Object.defineProperty, ro = Object.getOwnPropertyDescriptor, _t = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? ro(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && so(e, t, r), r;
};
let Le = class extends P {
constructor() {
super(...arguments), this.href = "", this.text = "", this.items = [];
}
render() {
return w`
<li>
<a class="section ${this.items.length == 0 ? "no-submenu" : ""}" href="${this.href}">${this.text}</a>
${this.items.length > 0 ? w`
<ul>
${this.items.map(
(i) => w`
<li>
<a href="${i.href}"><span>${i.text}</span></a>
</li>
`
)}
</ul>
` : ""}
</li>
`;
}
};
Le.styles = O`
:host{
display: block;
line-height: 1;
}
:host > li{
break-inside: avoid;
user-select: none;
display: block;
}
li{
margin: 0;
padding: 0;
}
.section{
padding-left: 0.125rem;
font-weight: 700;
border-bottom: 1px solid var(--iu-color-grey-200);
}
.section.no-submenu{
}
a{
display: inline-block;
width: 100%;
box-sizing: border-box;
text-decoration: none;
color: var(--iu-color-black);
padding-top: .5rem;
padding-bottom: .5rem;
font: var(--iu-f-0);
}
a:hover{
background: var(--iu-color-black);
color: var(--iu-color-white);
border-color: var(--iu-color-black);
}
:host > li{
margin-top: -1px;
}
:host > li > a {
border-top: 1px solid var(--iu-color-black);
}
ul{
margin: 0;
padding: 0;
list-style-type: none;
width: 100%;
}
ul li {
display: inline-block;
width: 100%;
}
ul li:not(:last-child){
}
ul li a{
display: grid;
grid-template-columns: repeat(4, 1fr);
border-bottom: 1px solid var(--iu-color-grey-200);
}
ul li a span{
grid-column: 2/5;
}
`;
_t([
f()
], Le.prototype, "href", 2);
_t([
f()
], Le.prototype, "text", 2);
_t([
f({ type: Array })
], Le.prototype, "items", 2);
Le = _t([
M("iu-header-navbar-submenu-section")
], Le);
var no = Object.defineProperty, oo = Object.getOwnPropertyDescriptor, Ot = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? oo(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && no(e, t, r), r;
};
let ke = class extends P {
constructor() {
super(...arguments), this.mobileMenuOpen = !1, this.i18n = !1, this.handleResize = () => {
if (window.innerWidth > 1280 && this.mobileMenuOpen) {
this.mobileMenuOpen = !1, this.dispatchEvent(new CustomEvent("toggle-mobile-menu", { detail: !1, bubbles: !0, composed: !0 })), document.body.style.top = "", document.body.style.position = "";
const i = document.querySelector("iu-overlay");
i && (i.visible = !1), this.requestUpdate();
}
};
}
isAnySubmenuOpen() {
return !this.navbarItems.some((i) => i.isActive);
}
updateActionsVisibility() {
const i = this.shadowRoot?.querySelector(".actions button");
i && (this.isAnySubmenuOpen() ? i.style.display = "block" : i.style.display = "none");
}
handleSubmenuToggle(i) {
const { source: e } = i.detail;
this.navbarItems.forEach((t) => {
t !== e && (t.isActive = !1, t.submenuElements.forEach(
(s) => s.classList.remove("is-active")
)), i.detail.closing && t === e && t.submenuElements.forEach((s) => {
s.classList.add("is-closing");
const r = s.container, n = r.scrollHeight;
r.animate(
[
{ height: `${n}px` },
{ height: 0 }
],
{
duration: 250,
delay: 250,
easing: "ease-out"
}
).onfinish = () => {
s.classList.remove("is-closing"), s.classList.remove("is-active");
};
});
}), this.updateActionsVisibility();
}
closeAllSubmenu() {
const i = this.shadowRoot?.querySelector(".actions button");
i && (i.style.display = "none"), document.body.classList.remove("is-locked"), this.navbarItems.forEach((e) => {
e.isActive = !1, e.submenuElements.forEach(
(t) => {
if (t.classList.contains("is-active")) {
const s = document.querySelector("iu-overlay");
s.visible = !1, t.classList.add("is-closing");
const r = t.container, n = r.scrollHeight;
r.animate(
[
{ height: `${n}px` },
{ height: 0 }
],
{
duration: 250,
delay: 250,
easing: "ease-out"
}
).onfinish = () => {
t.classList.remove("is-closing"), t.classList.remove("is-active");
};
} else
t.classList.remove("is-active");
}
);
});
}
// Mobile menu
toggleMobileMenu() {
const i = document.querySelector("iu-overlay");
i.visible = !i.visible, this.mobileMenuOpen = !this.mobileMenuOpen, this.mobileMenuOpen ? (document.body.dataset.scrollY = window.scrollY.toString(), document.body.style.top = `-${window.scrollY}px`, document.body.style.position = "fixed") : (document.body.style.top = "", document.body.style.position = "", window.scrollTo(0, Number(document.body.dataset.scrollY || "0"))), this.dispatchEvent(new CustomEvent("toggle-mobile-menu", { bubbles: !0, composed: !0 }));
}
connectedCallback() {
super.connectedCallback(), this.addEventListener("iu-header-toggle-submenu", this.handleSubmenuToggle), this.updateActionsVisibility(), this.addEventListener("close-mobile-menu", () => {
this.mobileMenuOpen = !1, this.requestUpdate();
}), window.addEventListener("resize", this.handleResize);
}
disconnectedCallback() {
this.removeEventListener("iu-header-toggle-submenu", this.handleSubmenuToggle), window.removeEventListener("resize", this.handleResize), super.disconnectedCallback();
}
render() {
return w`
<iu-container>
<div class="logo">
<a href="#" class="logo">Università Iuav di Venezia</a>
</div>
<div class="nav">
<nav role="navigation">
<ul>
<slot></slot>
</ul>
</nav>
<div class="actions">
<button @click="${this.closeAllSubmenu}" role="button"><svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M18.838 1.161 1.16 18.84M18.838 18.839 1.16 1.16" stroke="#000" stroke-width="2"/></svg></button>
</div>
</div>
<!-- Toggle mobile menu -->
<div class="mobile-actions">
${this.i18n ? w`
<a href="">EN</a>
` : ""}
<button class="hamburger" @click="${this.toggleMobileMenu}">
${this.mobileMenuOpen ? w`
<svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50"><path fill-rule="evenodd" clip-rule="evenodd" d="M23.132 24.546 15 16.414 16.414 15l8.132 8.132L32.678 15l1.414 1.414-8.132 8.132 8.132 8.132-1.414 1.414-8.132-8.132-8.132 8.132L15 32.678l8.132-8.132Z" fill="currentColor"/></svg>
` : w`
<svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50"><path fill-rule="evenodd" clip-rule="evenodd" d="M13 24h25v2H13v-2Zm0-7h25v2H13v-2Zm0 14h25v2H13v-2Z" fill="currentColor"/></svg>
`}
</button>
</div>
</iu-container>
`;
}
};
ke.styles = O`
@media ${C(_.xxl)} {
:host{
display: block;
}
}
:host a{
color: var(--theme-color-black);
text-decoration: none;
}
:host iu-container{
display: flex;
justify-content: space-between;
align-items: center;
height: 3.125rem;
background: var(--theme-color-white);
grid-template-columns: repeat(4, minmax(0, 1fr));
margin-bottom: 0;
}
@media ${C(_.xl)} {
:host iu-container{
display: grid;
height: 3.75rem;
}
}
.logo{
font-weight: 700;
grid-column: span 1;
}
.nav{
grid-column: 2 / 5;
display: none;
justify-content: space-between;
align-items: center;
}
@media ${C(_.xl)} {
.nav{
display: flex;
}
}
.nav ul{
margin: 0;
padding: 0;
list-style-type: none;
display: flex;
}
:host nav ul ::slotted(*:not(:last-child)){
margin-right: var(--iu-spacing-4);
}
.actions button{
width: 50px;
height: 50px;
background: transparent;
border: 0;
padding: 0;
cursor: pointer;
display: none;
margin-right: calc((50px - 16px) / 2 * -1)
}
.actions button svg{
height: 16px;
width: 16px;
}
.mobile-actions{
display: flex;
align-items: center;
transform: translateX(var(--iu-grid-gutter));
& a{
margin-right: var(--iu-spacing-0);
}
}
@media ${C(_.xl)} {
.mobile-actions{
display: none;
}
}
.hamburger{
background: transparent;
border: 0;
cursor: pointer;
width: 50px;
height: 50px;
padding: 0;
svg{
width: 100%;
height: 100%;
}
}
`;
Ot([
f({ type: Boolean })
], ke.prototype, "mobileMenuOpen", 2);
Ot([
f({ type: Boolean })
], ke.prototype, "i18n", 2);
Ot([
zi({ slot: "" })
], ke.prototype, "navbarItems", 2);
ke = Ot([
M("iu-header-navbar")
], ke);
var ao = Object.defineProperty, lo = Object.getOwnPropertyDescriptor, oi = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? lo(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && ao(e, t, r), r;
};
let Qe = class extends P {
constructor() {
super(...arguments), this.href = "", this.text = "";
}
render() {
return w`
<li><a target="_blank" href="${this.href}">${this.text}</a></li>
`;
}
};
Qe.styles = O`
:host a{
color: #fff;
text-decoration: none;
}
`;
oi([
f()
], Qe.prototype, "href", 2);
oi([
f()
], Qe.prototype, "text", 2);
Qe = oi([
M("iu-header-topbar-item")
], Qe);
var po = Object.defineProperty, co = Object.getOwnPropertyDescriptor, Mt = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? co(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && po(e, t, r), r;
};
let Ie = class extends P {
constructor() {
super(...arguments), this.i18n = !1, this.searchable = !1;
}
getLastElement() {
if (!this.slottedElements) return;
const i = Array.from(this.slottedElements).filter((e) => e instanceof HTMLElement);
i.length > 0 && i[i.length - 1].classList.add("last");
}
firstUpdated() {
this.getLastElement();
}
render() {
return w`
<iu-container>
<nav role="navigation">
<ul>
<slot></slot>
</ul>
</nav>
<div>
${this.i18n && w`<a href="#">EN</a>`}
${this.searchable ? w`<a href="#"><svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 37"><path fill-rule="evenodd" clip-rule="evenodd" d="M8.5 24a7.5 7.5 0 1 0 0-15 7.5 7.5 0 0 0 0 15Zm0 1a8.5 8.5 0 1 0 0-17 8.5 8.5 0 0 0 0 17Z" fill="currentColor"/><path fill-rule="evenodd" clip-rule="evenodd" d="m14.854 22.146 6.5 6.5-.707.708-6.5-6.5.707-.707Z" fill="currentColor"/></svg></a>` : ""}
</div>
</iu-container>
`;
}
};
Ie.styles = O`
:host{
background: var(--iu-color-black);
height: 40px;
display: none;
align-items: center;
font-size: 0.8125rem;
}
@media ${C(_.xl)} {
:host{
display: flex;
}
}
:host nav ul{
margin: 0;
padding: 0;
display: flex;
list-style-type: none;
}
:host nav ul ::slotted(li:not(:last-child)){
margin-right: 20px;
}
:host a{
color: #fff;
text-decoration: none;
}
:host iu-container{
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 0;
}
:host div{
display: flex;
align-items: center;
justify-content: space-between;
}
:host nav ul ::slotted(*){
margin-right: 20px;
}
:host nav ul ::slotted(.last){
margin-right: 0;
}
:host div svg{
width: 1.375rem;
height: 2.25rem;
display: block;
}
:host div a{
margin-left: 0.9375rem;
}
`;
Mt([
f({ type: Boolean })
], Ie.prototype, "i18n", 2);
Mt([
f({ type: Boolean })
], Ie.prototype, "searchable", 2);
Mt([
tt()
], Ie.prototype, "slottedElements", 2);
Ie = Mt([
M("iu-header-topbar")
], Ie);
var uo = Object.getOwnPropertyDescriptor, ho = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? uo(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = o(r) || r);
return r;
};
let Wt = class extends P {
constructor() {
super(...arguments), this.currentScrollPos = 0, this.prevScrollPos = 0, this.headerHeight = 0, this.menuIsOpen = !1, this.handleScroll = () => {
this.currentScrollPos = window.scrollY, this.currentScrollPos > this.headerHeight && this.menuIsOpen == !1 ? document.body.classList.add("is-scrolled") : document.body.classList.remove("is-scrolled"), this.prevScrollPos > this.headerHeight && this.prevScrollPos < this.currentScrollPos && this.menuIsOpen == !1 ? this.classList.add("is-hidden") : this.prevScrollPos >= this.currentScrollPos && this.menuIsOpen == !1 && this.classList.remove("is-hidden"), this.prevScrollPos = this.currentScrollPos;
}, this.getHeaderHeight = () => (this.headerHeight = this.clientHeight, `${this.clientHeight}px`);
}
connectedCallback() {
super.connectedCallback(), window.addEventListener("scroll", this.handleScroll);
}
disconnectedCallback() {
super.disconnectedCallback(), window.removeEventListener("scroll", this.handleScroll);
}
//get header height when first updated
firstUpdated() {
document.documentElement.style.setProperty("--iu-header-height", this.getHeaderHeight());
}
render() {
return w`
<header id="site-header" class="site-header">
<slot></slot>
</header>
`;
}
};
Wt.styles = O`
:host{
position: sticky;
top: 0;
z-index: 50;
background: #fff;
display:block;
transform: translateY(0);
transition: transform .5s ease;
}
@media ${C(_.md)} {
:host(.is-hidden){
transform: translateY(-100%);
}
}
`;
Wt = ho([
M("iu-header")
], Wt);
var fo = Object.defineProperty, go = Object.getOwnPropertyDescriptor, he = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? go(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && fo(e, t, r), r;
};
let X = class extends P {
constructor() {
super(...arguments), this.text = "", this.href = "", this.link = "", this.size = 1, this.tag = 2, this.noDivider = !1, this.nested = !1;
}
render() {
const i = this.href ? w`<a href="${this.href}" part="link">${this.link}</a>` : null, t = ((s, r) => {
switch (s) {
case 1:
return w`<h1 part="title">${r}</h1>`;
case 2:
return w`<h2 part="title">${r}</h2>`;
case 3:
return w`<h3 part="title">${r}</h3>`;
case 4:
return w`<h4 part="title">${r}</h4>`;
case 5:
return w`<h5 part="title">${r}</h5>`;
case 6:
return w`<h6 part="title">${r}</h6>`;
default:
return w`<h2 part="title">${r}</h2>`;
}
})(this.tag, this.text);
return w`
<iu-container ?nested=${this.nested}>
<div class="inner size-${this.size} ${this.noDivider ? "no-divider" : ""} ${this.href ? "has-link" : ""}">
${t}
${i}
</div>
</iu-container>
`;
}
};
X.styles = O`
:host{
display: block;
margin-top: var(--iu-heading-margin-top, 0);
margin-bottom: var(--iu-heading-margin-bottom, var(--iu-spacing-block-sm));
--iu-heading-color: var(--iu-color-black);
--iu-heading-link-color: var(--iu-color-grey-300);
}
h1,h2,h3,h4,h5,h6{
color: var(--iu-heading-color);
margin: 0;
font-weight: 400;
}
.size-1 h1,
.size-1 h2,
.size-1 h3,
.size-1 h4,
.size-1 h5,
.size-1 h5
{
font: var(--iu-f-lg);
}
.size-2 h1,
.size-2 h2,
.size-2 h3,
.size-2 h4,
.size-2 h5,
.size-2 h5
{
font: var(--iu-f-2xl);
}
.inner{
// width: calc(100% / 12 * 11);
width: 100%;
border-top: 1px solid var(--iu-color-black);
padding-top: 0.75rem;
}
@media ${C(_.md)} {
.inner{
display: flex;
justify-content: space-between;
align-items: baseline;
}
}
.inner.no-divider{
border-top: 0;
padding-top: 0;
}
.inner.has-link{
width: 100%;
}
a{
font: var(--iu-f-lg);
text-decoration: none !important;
color: var(--iu-heading-link-color);
flex-shrink: 0;
}
iu-container{
margin-bottom: 0;
}
`;
he([
f()
], X.prototype, "text", 2);
he([
f()
], X.prototype, "href", 2);
he([
f()
], X.prototype, "link", 2);
he([
f({ type: Number })
], X.prototype, "size", 2);
he([
f({ type: Number })
], X.prototype, "tag", 2);
he([
f({ type: Boolean })
], X.prototype, "noDivider", 2);
he([
f({ type: Boolean, reflect: !0 })
], X.prototype, "nested", 2);
X = he([
M("iu-heading")
], X);
var mo = Object.defineProperty, vo = Object.getOwnPropertyDescriptor, Ee = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? vo(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && mo(e, t, r), r;
};
let ee = class extends P {
constructor() {
super(...arguments), this.setHeroBannerHeight = () => {
if (window.matchMedia("(min-width: 62rem)").matches) {
const i = this.offsetTop;
this.style.setProperty("--iu-hero-banner-height", `${window.innerHeight - i}px`);
}
}, this.jpg = "", this.webp = "", this.alt = "", this.mp4 = "", this.webm = "", this.heading = "";
}
connectedCallback() {
super.connectedCallback(), window.addEventListener("resize", this.setHeroBannerHeight);
}
firstUpdated() {
requestAnimationFrame(() => {
this.setHeroBannerHeight();
});
}
render() {
return w`
<div>
<iu-container>
${this.jpg && w`
<div class="img">
<picture>
${this.webp ? w`<source srcset="${this.webp}" type="image/webp">` : ""}
<source srcset="${this.jpg}" type="image/jpg">
<img src="${this.jpg}" alt="${this.alt}">
</picture>
</div>
`}
${(this.webm || this.mp4) && w`
<div class="video">
<video width="1920" height="1080" autoplay muted loop>
${this.webm ? w`<source src="${this.webm}" type="video/webm">` : ""}
${this.mp4 ? w`<source src="${this.mp4}" type="video/mp4">` : ""}
Your browser does not support the video tag.
</video>
</div>
`}
${this.heading && w`
<h1>${this.heading}</h1>
`}
</iu-container>
</div>
`;
}
};
ee.styles = O`
:host{
display:block;
margin-bottom: var(--iu-spacing-block-lg);
}
.video{
aspect-ratio: 16/9;
position: relative;
overflow: hidden;
margin-bottom: calc(var(--iu-grid-gutter)*2);
z-index: 20;
}
@media ${C(_.md)} {
.video{
aspect-ratio: auto;
}
}
@media ${C(_.lg)} {
.video{
height: calc(var(--iu-hero-banner-height) - var(--iu-grid-gutter));
}
}
.video video{
width: 100%;
height: 100%;
object-fit: cover;
}
h1{
font-weight: 400;
font: var(--iu-f-4);
z-index: 10;
margin-bottom: 0;
margin-top: 0;
width: calc(100% / 12 * 11);
}
@media ${C(_.md)} {
h1{
font: var(--iu-f-7);
}
}
@media ${C(_.lg)} {
h1{
font: var(--iu-f-9);
position: sticky;
bottom: var(--iu-grid-gutter);
}
}
`;
Ee([
f()
], ee.prototype, "jpg", 2);
Ee([
f()
], ee.prototype, "webp", 2);
Ee([
f()
], ee.prototype, "alt", 2);
Ee([
f()
], ee.prototype, "mp4", 2);
Ee([
f()
], ee.prototype, "webm", 2);
Ee([
f()
], ee.prototype, "heading", 2);
ee = Ee([
M("iu-hero-banner")
], ee);
var wo = Object.defineProperty, bo = Object.getOwnPropertyDescriptor, Te = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? bo(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && wo(e, t, r), r;
};
let te = class extends P {
constructor() {
super(...arguments), this.target = "_self", this.size = 1, this.nested = !1;
}
render() {
return w`
<iu-container ?nested=${this.nested}>
<a href="${this.href}" class="size-${this.size}" target="${this.target}">
${this.label ? w`
<svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50"><path d="m21.082 16.215 12.257.471m0 0 .47 12.257m-.47-12.257L15.66 34.364" stroke="currentColor" stroke-width="2"/></svg>` : w`
<svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50"><path d="M28.667 16 37 25m0 0-8.333 9M37 25H12" stroke="currentColor" stroke-width="2"/></svg>`}
<span>
${this.text}
${this.label && w`<span>${this.label}</span>`}
</span>
</a>
</iu-container>
`;
}
};
te.styles = O`
:host{
display: block;
--iu-comp-bg: transparent;
--iu-comp-color: var(--iu-color-black);
--iu-comp-bg-hover: var(--iu-color-black);
--iu-comp-color-hover: var(--iu-color-white);
--iu-comp-border-color: var(--iu-color-grey-200);
--iu-comp-border-color-hover: var(--iu-color-grey-500);
// margin-bottom: var(--iu-spacing-3);
}
@media ${C(_.md)} {
:host{
// margin-bottom: var(--iu-spacing-6);
}
}
a{
background: var(--iu-comp-bg);
color: var(--iu-comp-color);
font: var(--iu-f-2);
text-decoration: none;
border-top: 1px solid var(--iu-comp-border-color);
position: relative;
display: flex;
}
a.size-2{
font: var(--iu-f-lg);
}
a:hover{
background: var(--iu-comp-bg-hover);
color: var(--iu-comp-color-hover);
}
svg{
width: 2.25rem;
height: 2.25rem;
margin-right: var(--iu-spacing-0);
flex-shrink: 0;
}
.size-2 svg{
width: 3.125rem;
height: 3.125rem;
margin-right: var(--iu-spacing-1);
}
a > span{
padding-top: 0.375rem;
padding-bottom: 0.375rem;
// padding-right: 1.25rem;
}
a span span{
display: inline-block;
font: var(--iu-f-0);
color: var(--iu-color-grey-300);
transform: translateY(-0.875rem);
}
iu-container{
margin-bottom: 0;
}
`;
Te([
f()
], te.prototype, "href", 2);
Te([
f()
], te.prototype, "text", 2);
Te([
f()
], te.prototype, "label", 2);
Te([
f()
], te.prototype, "target", 2);
Te([
f({ type: Number })
], te.prototype, "size", 2);
Te([
f({ type: Boolean, reflect: !0 })
], te.prototype, "nested", 2);
te = Te([
M("iu-link")
], te);
var yo = Object.defineProperty, xo = Object.getOwnPropertyDescriptor, zt = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? xo(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && yo(e, t, r), r;
};
let De = class extends P {
constructor() {
super(...arguments), this.label = "Per approfondire", this.columns = 1, this.items = [];
}
render() {
return w`
<iu-container>
<div class="columns-${this.columns}">
${this.label && w`<p>${this.label}</p>`}
${this.items.map(
(i) => w`
<iu-link href="${i.href}" text="${i.text}" nested></iu-link>
`
)}
</div>
</iu-container>
`;
}
};
De.styles = O`
:host{
display: block;
margin-bottom: var(--iu-spacing-block);
}
.columns-1{
width: 50%;
}
p{
font-weight: bold;
}
iu-link:last-child{
border-bottom: 1px solid var(--iu-color-grey-200);
}
`;
zt([
f()
], De.prototype, "label", 2);
zt([
f({ type: Number })
], De.prototype, "columns", 2);
zt([
f({ type: Array })
], De.prototype, "items", 2);
De = zt([
M("iu-links-list")
], De);
var Ao = Object.defineProperty, $o = Object.getOwnPropertyDescriptor, Ge = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? $o(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && Ao(e, t, r), r;
};
let le = class extends P {
constructor() {
super(...arguments), this.sm = 2, this.nested = !1;
}
render() {
return w`
<iu-container
?nested=${this.nested}
columns=${this.sm}
columns-md=${this.md || j}
columns-lg=${this.lg || j}
columns-xl=${this.xl || j}
>
<slot></slot>
</iu-container>
`;
}
};
le.styles = O`
:host {
display: block;
margin-bottom: var(--iu-spacing-block);
}
`;
Ge([
f({ type: Number })
], le.prototype, "sm", 2);
Ge([
f({ type: Number })
], le.prototype, "md", 2);
Ge([
f({ type: Number })
], le.prototype, "lg", 2);
Ge([
f({ type: Number })
], le.prototype, "xl", 2);
Ge([
f({ type: Boolean, reflect: !0 })
], le.prototype, "nested", 2);
le = Ge([
M("iu-list")
], le);
var So = Object.defineProperty, Eo = Object.getOwnPropertyDescriptor, ai = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? Eo(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && So(e, t, r), r;
};
let Ke = class extends P {
constructor() {
super(...arguments), this.label = "", this.text = "";
}
render() {
return w`
<div>
<p class="label">${this.label}</p>
<p class="text">${st(this.text)}</p>
</div>
`;
}
};
Ke.styles = O`
:host{
display:block;
}
div{
border-top: 1px solid var(--iu-color-grey-200);
}
p{
margin: 0;
}
.label{
padding-top: var(--iu-spacing-0);
color: var(--iu-color-grey-300);
}
.text a{
color: var(--iu-color-black);
}
@media ${C(_.md)} {
}
`;
ai([
f()
], Ke.prototype, "label", 2);
ai([
f()
], Ke.prototype, "text", 2);
Ke = ai([
M("iu-list-item")
], Ke);
var To = Object.defineProperty, Po = Object.getOwnPropertyDescriptor, Ve = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? Po(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && To(e, t, r), r;
};
let de = class extends P {
constructor() {
super(...arguments), this.href = "", this.text = "";
}
isExternalLink(i) {
try {
return new URL(i, window.location.href).hostname !== window.location.hostname;
} catch {
return !1;
}
}
renderIntIcon() {
return w`<svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 27 20">
<path fill-rule="evenodd" clip-rule="evenodd" d="m22.711 9-6.778-7.32L17.4.32 26.363 10 17.4 19.68l-1.467-1.36L22.71 11H0V9h22.711Z" fill="currentColor"/></svg>`;
}
renderExtIcon() {
return w`<svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 27 20">
<path fill-rule="evenodd" clip-rule="evenodd" d="m23.06 2.526-9.97-.383.077-1.998 13.182.507.506 13.181-1.998.077-.383-9.97L8.414 20 7 18.586l16.06-16.06Z" fill="currentColor"/></svg>`;
}
applyMultilineEllipsis(i) {
if (!this.titleElement) return;
const t = parseFloat(getComputedStyle(this.titleElement).lineHeight) * i;
if (this.titleElement.scrollHeight > t) {
let s = this.titleElement.textContent.split(" ");
this.titleElement.textContent = "";
for (let r = 0; r < s.length; r++)
if (this.titleElement.textContent += s[r] + " ", this.titleElement.scrollHeight > t) {
this.titleElement.textContent = this.titleElement.textContent.trim() + "...";
break;
}
}
}
firstUpdated() {
}
render() {
const i = this.isExternalLink(this.href);
return w`
<a href="${this.href}" class="nav-card">
${this.subtitle ? w`<span class="subtitle">${this.subtitle}</span>` : ""}
${this.excerpt && !this.subtitle ? w`<span class="excerpt">${this.excerpt}</span>` : ""}
<div class="title">
<p>${this.text}</p>
${i ? this.renderExtIcon() : this.renderIntIcon()}
</div>
</a>
`;
}
};
de.styles = O`
:host{
display: block;
}
.nav-card{
background: var(--iu-color-grey-100);
display: block;
aspect-ratio: 1/1;
display: flex;
flex-direction: column;
justify-content: end;
padding: var(--iu-grid-gutter);
color: var(--iu-color-black);
text-decoration: none;
font-size: var(--iu-fs-lg);
&:hover{
background: var(--iu-color-black);
color: var(--iu-color-white);
}
p{
justify-self: end;
margin: 0;
}
}
.excerpt{
font-size: var(--iu-fs-1);
margin-bottom: var(--iu-spacing-5);
flex-grow: 1;
}
.subtitle{
font-size: var(--iu-fs-1);
color: var(--iu-color-grey-300);
margin-bottom: var(--iu-spacing-5);
flex-grow: 1;
}
.title{
display: flex;
align-items: end;
overflow: hidden;
flex-shrink: 1;
}
svg{
width: 27px;
height: 20px;
flex-shrink: 0;
margin-bottom: 10px;
margin-left: 20px;
}
`;
Ve([
et(".title p")
], de.prototype, "titleElement", 2);
Ve([
f()
], de.prototype, "href", 2);
Ve([
f()
], de.prototype, "text", 2);
Ve([
f()
], de.prototype, "excerpt", 2);
Ve([
f()
], de.prototype, "subtitle", 2);
de = Ve([
M("iu-nav-card")
], de);
var Co = Object.defineProperty, _o = Object.getOwnPropertyDescriptor, ot = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? _o(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = (s ? o(e, t, r) : o(r)) || r);
return s && r && Co(e, t, r), r;
};
let xe = class extends P {
constructor() {
super(...arguments), this.columns = 2, this.size = 1, this.nested = !1;
}
updateLastElement() {
const i = this.slottedElements ? Array.from(this.slottedElements) : [];
if (i.length > 0) {
const e = i[i.length - 1];
e instanceof HTMLElement && e.classList.add("last");
}
}
wrapListItems() {
this.querySelectorAll("ul, ol").forEach((t) => {
t.classList.add("list");
}), this.querySelectorAll("li").forEach((t) => {
const r = `<span>${t.innerHTML}</span>`;
t.innerHTML = r;
});
}
firstUpdated() {
this.updateLastElement(), this.wrapListItems();
}
render() {
return w`
<iu-container ?nested=${this.nested} columns="${this.columns}">
<div class="fs-${this.size}">
<slot></slot>
</div>
</iu-container>
`;
}
};
xe.styles = O`
:host{
display: block;
margin-bottom: var(--iu-spacing-block-xs);
}
@media ${C(_.lg)} {
.column-1{
grid-column: span 6;
// width: calc(50% - var(--iu-grid-gutter));
}
}
iu-container{
margin-bottom: 0;
}
.fs-1 {
--iu-p-f: var(--iu-f-1);
}
.fs-2 {
--iu-p-f: var(--iu-f-2);
}
@media ${C(_.md)} {
.fs-3{
--iu-p-f: var(--iu-f-2);
}
}
@media ${C(_.xl)} {
.fs-3{
--iu-p-f: var(--iu-f-4);
}
}
::slotted(p){
font: var(--iu-p-f) !important;
margin-bottom: var(--iu-spacing-2);
margin-top: 0;
}
::slotted(.last){
margin-bottom: 0 !important;
}
`;
ot([
f({ type: Number })
], xe.prototype, "columns", 2);
ot([
f({ type: Number })
], xe.prototype, "size", 2);
ot([
f({ type: Boolean, reflect: !0 })
], xe.prototype, "nested", 2);
ot([
tt()
], xe.prototype, "slottedElements", 2);
xe = ot([
M("iu-paragraph")
], xe);
var Oo = Object.getOwnPropertyDescriptor, Mo = (i, e, t, s) => {
for (var r = s > 1 ? void 0 : s ? Oo(e, t) : e, n = i.length - 1, o; n >= 0; n--)
(o = i[n]) && (r = o(r) || r);
return r;
};
let Xt = class extends P {
render() {
return w`
<div aria-label="Social-networks" role="navigation">
<ul>
<li><a href="https://www.facebook.com/UniversitaIuavDiVenezia/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" fill="currentColor"><path d="M80 299.3V512h116V299.3h86.5l18-97.8H196v-34.6c0-51.7 20.3-71.5 72.7-71.5 16.3 0 29.4.4 37 1.2V7.9C291.4 4 256.4 0 236.2 0 129.3 0 80 50.5 80 159.4v42.1H14v97.8h66z"></path></svg></a></li>
<li><a href="https://www.instagram.com/iuav_venezia/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" fill="currentColor"><path d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></a></li>
<li><a href="http://twitter.com/Iuav"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="currentColor"><path d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"></path></svg></a></li>
<li><a href="http://www.youtube.com/universitaiuav"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512" fill="currentColor"><path d="M549.7 124.1c-6.3-23.7-24.8-42.3-48.3-48.6C458.8 64 288 64 288 64S117.2 64 74.6 75.5c-23.5 6.3-42 24.9-48.3 48.6-11.4 42.9-11.4 132.3-11.4 132.3s0 89.4 11.4 132.3c6.3 23.7 24.8 41.5 48.3 47.8C117.2 448 288 448 288 448s170.8 0 213.4-11.5c23.5-6.3 42-24.2 48.3-47.8 11.4-42.9 11.4-132.3 11.4-132.3s0-89.4-11.4-132.3zm-317.5 213.5V175.2l142.7 81.2-142.7 81.2z"></path></svg></a></li>
<li><a href="https://www.linkedin.com/edu/universit%C3%A0-iuav-di-venezia-13908"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" fill="currentColor"><path d="M100.3 448H7.4V148.9h92.9zM53.8 108.1C24.1 108.1 0 83.5 0 53.8a53.8 53.8 0 0 1 107.6 0c0 29.7-24.1 54.3-53.8 54.3zM447.9 448h-92.7V302.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V448h-92.8V148.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V448z"></path></svg></a></li>
<li><a href="https://t.me/iuav_venezia"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512" fill="currentColor"><path d="M248 8C111 8 0 119 0 256S111 504 248 504 496 393 496 256 385 8 248 8zM363 176.7c-3.7 39.2-19.9 134.4-28.1 178.3-3.5 18.6-10.3 24.8-16.9 25.4-14.4 1.3-25.3-9.5-39.3-18.7-21.8-14.3-34.2-23.2-55.3-37.2-24.5-16.1-8.6-25 5.3-39.5 3.7-3.8 67.1-61.5 68.3-66.7 .2-.7 .3-3.1-1.2-4.4s-3.6-.8-5.1-.5q-3.3 .7-104.6 69.1-14.8 10.2-26.9 9.9c-8.9-.2-25.9-5-38.6-9.1-15.5-5-27.9-7.7-26.8-16.3q.8-6.7 18.5-13.7 108.4-47.2 144.6-62.3c68.9-28.6 83.2-33.6 92.5-33.8 2.1 0 6.6 .5 9.6 2.9a10.5 10.5 0 0 1 3.5 6.7A43.8 43.8 0 0 1 363 176.7z"></path></svg></a></li>
</ul>
</div>
`;
}
};
Xt.styles = O`
:host{
display: block;
}
ul{
display: flex;
margin: 0;
padding: 0;
list-style-type: none;
margin-top: 0.25rem;
}
ul li{
margin.bottom: 0.5rem;
}
ul li:not(:last-child){
margin-right: 1.25rem;
}
ul li a svg{
width: 1rem;
height: 1rem;
color: #fff;
}
`;
Xt = Mo([
M("iu-social-nav")
], Xt);