| ... | ... |
@@ -920,12 +920,13 @@ p(Z, "properties", { open: { type: Boolean }, title: { type: String } }), p(Z, "
|
| 920 | 920 |
customElements.define("winzer-modal", Z);
|
| 921 | 921 |
class K extends g {
|
| 922 | 922 |
render() {
|
| 923 |
- return c`<div class="card"><div class="header"><span>${this.category}</span><span>${this.date}</span></div><h3>${this.title}</h3><p>${this.text}</p>${this.hasAttachment ? c`<div class="attachment-icon"><svg viewBox="0 0 24 24"><path d="M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5a2.5 2.5 0 0 1 5 0v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5a2.5 2.5 0 0 0 5 0V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z"/></svg></div>` : ""}<div class="action-btn"><svg viewBox="0 0 24 24"><path d="M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z"/></svg></div></div>`;
|
|
| 923 |
+ return c`<div class="card ${this.featured ? "featured" : ""}"><div class="header"><span>${this.category}</span><span>${this.date}</span></div><h3>${this.title}</h3><p>${this.text}</p>${this.hasAttachment ? c`<div class="attachment-icon"><svg viewBox="0 0 24 24"><path d="M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5a2.5 2.5 0 0 1 5 0v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5a2.5 2.5 0 0 0 5 0V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z"/></svg></div>` : ""}<div class="action-btn"><svg viewBox="0 0 24 24"><path d="M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z"/></svg></div></div>`;
|
|
| 924 | 924 |
} |
| 925 | 925 |
} |
| 926 |
-p(K, "properties", { category: { type: String }, date: { type: String }, title: { type: String }, text: { type: String }, hasAttachment: { type: Boolean } }), p(K, "styles", f`
|
|
| 926 |
+p(K, "properties", { category: { type: String }, date: { type: String }, title: { type: String }, text: { type: String }, hasAttachment: { type: Boolean }, featured: { type: Boolean } }), p(K, "styles", f`
|
|
| 927 | 927 |
:host { display: block; margin-bottom: 35px; }
|
| 928 | 928 |
.card { background-color: var(--bg-card); border-radius: var(--radius-card); padding: 20px 20px 40px 20px; position: relative; color: var(--text-main); display: block; }
|
| 929 |
+ .card.featured { border: 1px solid var(--primary-color); background-color: var(--primary-light); }
|
|
| 929 | 930 |
.header { display: flex; justify-content: space-between; font-size: 0.8rem; color: var(--text-muted); margin-bottom: 8px; }
|
| 930 | 931 |
h3 { color: var(--primary-color); margin: 0 0 8px 0; font-size: 1.1rem; font-weight: 600; }
|
| 931 | 932 |
p { margin: 0; font-size: 0.95rem; line-height: 1.4; color: var(--text-dark); padding-right: 25px; }
|
| ... | ... |
@@ -1,265 +1,265 @@ |
| 1 |
-var mt = Object.defineProperty; |
|
| 2 |
-var ft = (r, t, e) => t in r ? mt(r, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[t] = e;
|
|
| 3 |
-var b = (r, t, e) => ft(r, typeof t != "symbol" ? t + "" : t, e); |
|
| 1 |
+var Ee = Object.defineProperty; |
|
| 2 |
+var Se = (o, e, t) => e in o ? Ee(o, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : o[e] = t;
|
|
| 3 |
+var p = (o, e, t) => Se(o, typeof e != "symbol" ? e + "" : e, t); |
|
| 4 | 4 |
/** |
| 5 | 5 |
* @license |
| 6 | 6 |
* Copyright 2019 Google LLC |
| 7 | 7 |
* SPDX-License-Identifier: BSD-3-Clause |
| 8 | 8 |
*/ |
| 9 |
-const T = globalThis, q = T.ShadowRoot && (T.ShadyCSS === void 0 || T.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, Z = Symbol(), K = /* @__PURE__ */ new WeakMap(); |
|
| 10 |
-let nt = class {
|
|
| 11 |
- constructor(t, e, s) {
|
|
| 12 |
- if (this._$cssResult$ = !0, s !== Z) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
|
|
| 13 |
- this.cssText = t, this.t = e; |
|
| 9 |
+const N = globalThis, te = N.ShadowRoot && (N.ShadyCSS === void 0 || N.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, ie = Symbol(), oe = /* @__PURE__ */ new WeakMap(); |
|
| 10 |
+let fe = class {
|
|
| 11 |
+ constructor(e, t, i) {
|
|
| 12 |
+ if (this._$cssResult$ = !0, i !== ie) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
|
|
| 13 |
+ this.cssText = e, this.t = t; |
|
| 14 | 14 |
} |
| 15 | 15 |
get styleSheet() {
|
| 16 |
- let t = this.o; |
|
| 17 |
- const e = this.t; |
|
| 18 |
- if (q && t === void 0) {
|
|
| 19 |
- const s = e !== void 0 && e.length === 1; |
|
| 20 |
- s && (t = K.get(e)), t === void 0 && ((this.o = t = new CSSStyleSheet()).replaceSync(this.cssText), s && K.set(e, t)); |
|
| 16 |
+ let e = this.o; |
|
| 17 |
+ const t = this.t; |
|
| 18 |
+ if (te && e === void 0) {
|
|
| 19 |
+ const i = t !== void 0 && t.length === 1; |
|
| 20 |
+ i && (e = oe.get(t)), e === void 0 && ((this.o = e = new CSSStyleSheet()).replaceSync(this.cssText), i && oe.set(t, e)); |
|
| 21 | 21 |
} |
| 22 |
- return t; |
|
| 22 |
+ return e; |
|
| 23 | 23 |
} |
| 24 | 24 |
toString() {
|
| 25 | 25 |
return this.cssText; |
| 26 | 26 |
} |
| 27 | 27 |
}; |
| 28 |
-const _t = (r) => new nt(typeof r == "string" ? r : r + "", void 0, Z), D = (r, ...t) => {
|
|
| 29 |
- const e = r.length === 1 ? r[0] : t.reduce((s, i, n) => s + ((o) => {
|
|
| 30 |
- if (o._$cssResult$ === !0) return o.cssText; |
|
| 31 |
- if (typeof o == "number") return o; |
|
| 32 |
- throw Error("Value passed to 'css' function must be a 'css' function result: " + o + ". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.");
|
|
| 33 |
- })(i) + r[n + 1], r[0]); |
|
| 34 |
- return new nt(e, r, Z); |
|
| 35 |
-}, gt = (r, t) => {
|
|
| 36 |
- if (q) r.adoptedStyleSheets = t.map((e) => e instanceof CSSStyleSheet ? e : e.styleSheet); |
|
| 37 |
- else for (const e of t) {
|
|
| 38 |
- const s = document.createElement("style"), i = T.litNonce;
|
|
| 39 |
- i !== void 0 && s.setAttribute("nonce", i), s.textContent = e.cssText, r.appendChild(s);
|
|
| 40 |
- } |
|
| 41 |
-}, F = q ? (r) => r : (r) => r instanceof CSSStyleSheet ? ((t) => {
|
|
| 42 |
- let e = ""; |
|
| 43 |
- for (const s of t.cssRules) e += s.cssText; |
|
| 44 |
- return _t(e); |
|
| 45 |
-})(r) : r; |
|
| 28 |
+const Ce = (o) => new fe(typeof o == "string" ? o : o + "", void 0, ie), f = (o, ...e) => {
|
|
| 29 |
+ const t = o.length === 1 ? o[0] : e.reduce((i, r, n) => i + ((s) => {
|
|
| 30 |
+ if (s._$cssResult$ === !0) return s.cssText; |
|
| 31 |
+ if (typeof s == "number") return s; |
|
| 32 |
+ throw Error("Value passed to 'css' function must be a 'css' function result: " + s + ". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.");
|
|
| 33 |
+ })(r) + o[n + 1], o[0]); |
|
| 34 |
+ return new fe(t, o, ie); |
|
| 35 |
+}, Me = (o, e) => {
|
|
| 36 |
+ if (te) o.adoptedStyleSheets = e.map((t) => t instanceof CSSStyleSheet ? t : t.styleSheet); |
|
| 37 |
+ else for (const t of e) {
|
|
| 38 |
+ const i = document.createElement("style"), r = N.litNonce;
|
|
| 39 |
+ r !== void 0 && i.setAttribute("nonce", r), i.textContent = t.cssText, o.appendChild(i);
|
|
| 40 |
+ } |
|
| 41 |
+}, se = te ? (o) => o : (o) => o instanceof CSSStyleSheet ? ((e) => {
|
|
| 42 |
+ let t = ""; |
|
| 43 |
+ for (const i of e.cssRules) t += i.cssText; |
|
| 44 |
+ return Ce(t); |
|
| 45 |
+})(o) : o; |
|
| 46 | 46 |
/** |
| 47 | 47 |
* @license |
| 48 | 48 |
* Copyright 2017 Google LLC |
| 49 | 49 |
* SPDX-License-Identifier: BSD-3-Clause |
| 50 | 50 |
*/ |
| 51 |
-const { is: At, defineProperty: vt, getOwnPropertyDescriptor: yt, getOwnPropertyNames: bt, getOwnPropertySymbols: Et, getPrototypeOf: St } = Object, f = globalThis, G = f.trustedTypes, xt = G ? G.emptyScript : "", L = f.reactiveElementPolyfillSupport, C = (r, t) => r, V = { toAttribute(r, t) {
|
|
| 52 |
- switch (t) {
|
|
| 51 |
+const { is: Te, defineProperty: ze, getOwnPropertyDescriptor: Pe, getOwnPropertyNames: Ue, getOwnPropertySymbols: Oe, getPrototypeOf: He } = Object, y = globalThis, ne = y.trustedTypes, Re = ne ? ne.emptyScript : "", j = y.reactiveElementPolyfillSupport, T = (o, e) => o, F = { toAttribute(o, e) {
|
|
| 52 |
+ switch (e) {
|
|
| 53 | 53 |
case Boolean: |
| 54 |
- r = r ? xt : null; |
|
| 54 |
+ o = o ? Re : null; |
|
| 55 | 55 |
break; |
| 56 | 56 |
case Object: |
| 57 | 57 |
case Array: |
| 58 |
- r = r == null ? r : JSON.stringify(r); |
|
| 58 |
+ o = o == null ? o : JSON.stringify(o); |
|
| 59 | 59 |
} |
| 60 |
- return r; |
|
| 61 |
-}, fromAttribute(r, t) {
|
|
| 62 |
- let e = r; |
|
| 63 |
- switch (t) {
|
|
| 60 |
+ return o; |
|
| 61 |
+}, fromAttribute(o, e) {
|
|
| 62 |
+ let t = o; |
|
| 63 |
+ switch (e) {
|
|
| 64 | 64 |
case Boolean: |
| 65 |
- e = r !== null; |
|
| 65 |
+ t = o !== null; |
|
| 66 | 66 |
break; |
| 67 | 67 |
case Number: |
| 68 |
- e = r === null ? null : Number(r); |
|
| 68 |
+ t = o === null ? null : Number(o); |
|
| 69 | 69 |
break; |
| 70 | 70 |
case Object: |
| 71 | 71 |
case Array: |
| 72 | 72 |
try {
|
| 73 |
- e = JSON.parse(r); |
|
| 73 |
+ t = JSON.parse(o); |
|
| 74 | 74 |
} catch {
|
| 75 |
- e = null; |
|
| 75 |
+ t = null; |
|
| 76 | 76 |
} |
| 77 | 77 |
} |
| 78 |
- return e; |
|
| 79 |
-} }, at = (r, t) => !At(r, t), Q = { attribute: !0, type: String, converter: V, reflect: !1, useDefault: !1, hasChanged: at };
|
|
| 80 |
-Symbol.metadata ?? (Symbol.metadata = Symbol("metadata")), f.litPropertyMetadata ?? (f.litPropertyMetadata = /* @__PURE__ */ new WeakMap());
|
|
| 78 |
+ return t; |
|
| 79 |
+} }, ve = (o, e) => !Te(o, e), ae = { attribute: !0, type: String, converter: F, reflect: !1, useDefault: !1, hasChanged: ve };
|
|
| 80 |
+Symbol.metadata ?? (Symbol.metadata = Symbol("metadata")), y.litPropertyMetadata ?? (y.litPropertyMetadata = /* @__PURE__ */ new WeakMap());
|
|
| 81 | 81 |
let E = class extends HTMLElement {
|
| 82 |
- static addInitializer(t) {
|
|
| 83 |
- this._$Ei(), (this.l ?? (this.l = [])).push(t); |
|
| 82 |
+ static addInitializer(e) {
|
|
| 83 |
+ this._$Ei(), (this.l ?? (this.l = [])).push(e); |
|
| 84 | 84 |
} |
| 85 | 85 |
static get observedAttributes() {
|
| 86 | 86 |
return this.finalize(), this._$Eh && [...this._$Eh.keys()]; |
| 87 | 87 |
} |
| 88 |
- static createProperty(t, e = Q) {
|
|
| 89 |
- if (e.state && (e.attribute = !1), this._$Ei(), this.prototype.hasOwnProperty(t) && ((e = Object.create(e)).wrapped = !0), this.elementProperties.set(t, e), !e.noAccessor) {
|
|
| 90 |
- const s = Symbol(), i = this.getPropertyDescriptor(t, s, e); |
|
| 91 |
- i !== void 0 && vt(this.prototype, t, i); |
|
| 88 |
+ static createProperty(e, t = ae) {
|
|
| 89 |
+ if (t.state && (t.attribute = !1), this._$Ei(), this.prototype.hasOwnProperty(e) && ((t = Object.create(t)).wrapped = !0), this.elementProperties.set(e, t), !t.noAccessor) {
|
|
| 90 |
+ const i = Symbol(), r = this.getPropertyDescriptor(e, i, t); |
|
| 91 |
+ r !== void 0 && ze(this.prototype, e, r); |
|
| 92 | 92 |
} |
| 93 | 93 |
} |
| 94 |
- static getPropertyDescriptor(t, e, s) {
|
|
| 95 |
- const { get: i, set: n } = yt(this.prototype, t) ?? { get() {
|
|
| 96 |
- return this[e]; |
|
| 97 |
- }, set(o) {
|
|
| 98 |
- this[e] = o; |
|
| 94 |
+ static getPropertyDescriptor(e, t, i) {
|
|
| 95 |
+ const { get: r, set: n } = Pe(this.prototype, e) ?? { get() {
|
|
| 96 |
+ return this[t]; |
|
| 97 |
+ }, set(s) {
|
|
| 98 |
+ this[t] = s; |
|
| 99 | 99 |
} }; |
| 100 |
- return { get: i, set(o) {
|
|
| 101 |
- const l = i == null ? void 0 : i.call(this); |
|
| 102 |
- n == null || n.call(this, o), this.requestUpdate(t, l, s); |
|
| 100 |
+ return { get: r, set(s) {
|
|
| 101 |
+ const l = r == null ? void 0 : r.call(this); |
|
| 102 |
+ n == null || n.call(this, s), this.requestUpdate(e, l, i); |
|
| 103 | 103 |
}, configurable: !0, enumerable: !0 }; |
| 104 | 104 |
} |
| 105 |
- static getPropertyOptions(t) {
|
|
| 106 |
- return this.elementProperties.get(t) ?? Q; |
|
| 105 |
+ static getPropertyOptions(e) {
|
|
| 106 |
+ return this.elementProperties.get(e) ?? ae; |
|
| 107 | 107 |
} |
| 108 | 108 |
static _$Ei() {
|
| 109 |
- if (this.hasOwnProperty(C("elementProperties"))) return;
|
|
| 110 |
- const t = St(this); |
|
| 111 |
- t.finalize(), t.l !== void 0 && (this.l = [...t.l]), this.elementProperties = new Map(t.elementProperties); |
|
| 109 |
+ if (this.hasOwnProperty(T("elementProperties"))) return;
|
|
| 110 |
+ const e = He(this); |
|
| 111 |
+ e.finalize(), e.l !== void 0 && (this.l = [...e.l]), this.elementProperties = new Map(e.elementProperties); |
|
| 112 | 112 |
} |
| 113 | 113 |
static finalize() {
|
| 114 |
- if (this.hasOwnProperty(C("finalized"))) return;
|
|
| 115 |
- if (this.finalized = !0, this._$Ei(), this.hasOwnProperty(C("properties"))) {
|
|
| 116 |
- const e = this.properties, s = [...bt(e), ...Et(e)]; |
|
| 117 |
- for (const i of s) this.createProperty(i, e[i]); |
|
| 114 |
+ if (this.hasOwnProperty(T("finalized"))) return;
|
|
| 115 |
+ if (this.finalized = !0, this._$Ei(), this.hasOwnProperty(T("properties"))) {
|
|
| 116 |
+ const t = this.properties, i = [...Ue(t), ...Oe(t)]; |
|
| 117 |
+ for (const r of i) this.createProperty(r, t[r]); |
|
| 118 | 118 |
} |
| 119 |
- const t = this[Symbol.metadata]; |
|
| 120 |
- if (t !== null) {
|
|
| 121 |
- const e = litPropertyMetadata.get(t); |
|
| 122 |
- if (e !== void 0) for (const [s, i] of e) this.elementProperties.set(s, i); |
|
| 119 |
+ const e = this[Symbol.metadata]; |
|
| 120 |
+ if (e !== null) {
|
|
| 121 |
+ const t = litPropertyMetadata.get(e); |
|
| 122 |
+ if (t !== void 0) for (const [i, r] of t) this.elementProperties.set(i, r); |
|
| 123 | 123 |
} |
| 124 | 124 |
this._$Eh = /* @__PURE__ */ new Map(); |
| 125 |
- for (const [e, s] of this.elementProperties) {
|
|
| 126 |
- const i = this._$Eu(e, s); |
|
| 127 |
- i !== void 0 && this._$Eh.set(i, e); |
|
| 125 |
+ for (const [t, i] of this.elementProperties) {
|
|
| 126 |
+ const r = this._$Eu(t, i); |
|
| 127 |
+ r !== void 0 && this._$Eh.set(r, t); |
|
| 128 | 128 |
} |
| 129 | 129 |
this.elementStyles = this.finalizeStyles(this.styles); |
| 130 | 130 |
} |
| 131 |
- static finalizeStyles(t) {
|
|
| 132 |
- const e = []; |
|
| 133 |
- if (Array.isArray(t)) {
|
|
| 134 |
- const s = new Set(t.flat(1 / 0).reverse()); |
|
| 135 |
- for (const i of s) e.unshift(F(i)); |
|
| 136 |
- } else t !== void 0 && e.push(F(t)); |
|
| 137 |
- return e; |
|
| 131 |
+ static finalizeStyles(e) {
|
|
| 132 |
+ const t = []; |
|
| 133 |
+ if (Array.isArray(e)) {
|
|
| 134 |
+ const i = new Set(e.flat(1 / 0).reverse()); |
|
| 135 |
+ for (const r of i) t.unshift(se(r)); |
|
| 136 |
+ } else e !== void 0 && t.push(se(e)); |
|
| 137 |
+ return t; |
|
| 138 | 138 |
} |
| 139 |
- static _$Eu(t, e) {
|
|
| 140 |
- const s = e.attribute; |
|
| 141 |
- return s === !1 ? void 0 : typeof s == "string" ? s : typeof t == "string" ? t.toLowerCase() : void 0; |
|
| 139 |
+ static _$Eu(e, t) {
|
|
| 140 |
+ const i = t.attribute; |
|
| 141 |
+ return i === !1 ? void 0 : typeof i == "string" ? i : typeof e == "string" ? e.toLowerCase() : void 0; |
|
| 142 | 142 |
} |
| 143 | 143 |
constructor() {
|
| 144 | 144 |
super(), this._$Ep = void 0, this.isUpdatePending = !1, this.hasUpdated = !1, this._$Em = null, this._$Ev(); |
| 145 | 145 |
} |
| 146 | 146 |
_$Ev() {
|
| 147 |
- var t; |
|
| 148 |
- this._$ES = new Promise((e) => this.enableUpdating = e), this._$AL = /* @__PURE__ */ new Map(), this._$E_(), this.requestUpdate(), (t = this.constructor.l) == null || t.forEach((e) => e(this)); |
|
| 149 |
- } |
|
| 150 |
- addController(t) {
|
|
| 151 | 147 |
var e; |
| 152 |
- (this._$EO ?? (this._$EO = /* @__PURE__ */ new Set())).add(t), this.renderRoot !== void 0 && this.isConnected && ((e = t.hostConnected) == null || e.call(t)); |
|
| 148 |
+ this._$ES = new Promise((t) => this.enableUpdating = t), this._$AL = /* @__PURE__ */ new Map(), this._$E_(), this.requestUpdate(), (e = this.constructor.l) == null || e.forEach((t) => t(this)); |
|
| 153 | 149 |
} |
| 154 |
- removeController(t) {
|
|
| 155 |
- var e; |
|
| 156 |
- (e = this._$EO) == null || e.delete(t); |
|
| 150 |
+ addController(e) {
|
|
| 151 |
+ var t; |
|
| 152 |
+ (this._$EO ?? (this._$EO = /* @__PURE__ */ new Set())).add(e), this.renderRoot !== void 0 && this.isConnected && ((t = e.hostConnected) == null || t.call(e)); |
|
| 153 |
+ } |
|
| 154 |
+ removeController(e) {
|
|
| 155 |
+ var t; |
|
| 156 |
+ (t = this._$EO) == null || t.delete(e); |
|
| 157 | 157 |
} |
| 158 | 158 |
_$E_() {
|
| 159 |
- const t = /* @__PURE__ */ new Map(), e = this.constructor.elementProperties; |
|
| 160 |
- for (const s of e.keys()) this.hasOwnProperty(s) && (t.set(s, this[s]), delete this[s]); |
|
| 161 |
- t.size > 0 && (this._$Ep = t); |
|
| 159 |
+ const e = /* @__PURE__ */ new Map(), t = this.constructor.elementProperties; |
|
| 160 |
+ for (const i of t.keys()) this.hasOwnProperty(i) && (e.set(i, this[i]), delete this[i]); |
|
| 161 |
+ e.size > 0 && (this._$Ep = e); |
|
| 162 | 162 |
} |
| 163 | 163 |
createRenderRoot() {
|
| 164 |
- const t = this.shadowRoot ?? this.attachShadow(this.constructor.shadowRootOptions); |
|
| 165 |
- return gt(t, this.constructor.elementStyles), t; |
|
| 164 |
+ const e = this.shadowRoot ?? this.attachShadow(this.constructor.shadowRootOptions); |
|
| 165 |
+ return Me(e, this.constructor.elementStyles), e; |
|
| 166 | 166 |
} |
| 167 | 167 |
connectedCallback() {
|
| 168 |
- var t; |
|
| 169 |
- this.renderRoot ?? (this.renderRoot = this.createRenderRoot()), this.enableUpdating(!0), (t = this._$EO) == null || t.forEach((e) => {
|
|
| 170 |
- var s; |
|
| 171 |
- return (s = e.hostConnected) == null ? void 0 : s.call(e); |
|
| 168 |
+ var e; |
|
| 169 |
+ this.renderRoot ?? (this.renderRoot = this.createRenderRoot()), this.enableUpdating(!0), (e = this._$EO) == null || e.forEach((t) => {
|
|
| 170 |
+ var i; |
|
| 171 |
+ return (i = t.hostConnected) == null ? void 0 : i.call(t); |
|
| 172 | 172 |
}); |
| 173 | 173 |
} |
| 174 |
- enableUpdating(t) {
|
|
| 174 |
+ enableUpdating(e) {
|
|
| 175 | 175 |
} |
| 176 | 176 |
disconnectedCallback() {
|
| 177 |
- var t; |
|
| 178 |
- (t = this._$EO) == null || t.forEach((e) => {
|
|
| 179 |
- var s; |
|
| 180 |
- return (s = e.hostDisconnected) == null ? void 0 : s.call(e); |
|
| 177 |
+ var e; |
|
| 178 |
+ (e = this._$EO) == null || e.forEach((t) => {
|
|
| 179 |
+ var i; |
|
| 180 |
+ return (i = t.hostDisconnected) == null ? void 0 : i.call(t); |
|
| 181 | 181 |
}); |
| 182 | 182 |
} |
| 183 |
- attributeChangedCallback(t, e, s) {
|
|
| 184 |
- this._$AK(t, s); |
|
| 183 |
+ attributeChangedCallback(e, t, i) {
|
|
| 184 |
+ this._$AK(e, i); |
|
| 185 | 185 |
} |
| 186 |
- _$ET(t, e) {
|
|
| 186 |
+ _$ET(e, t) {
|
|
| 187 | 187 |
var n; |
| 188 |
- const s = this.constructor.elementProperties.get(t), i = this.constructor._$Eu(t, s); |
|
| 189 |
- if (i !== void 0 && s.reflect === !0) {
|
|
| 190 |
- const o = (((n = s.converter) == null ? void 0 : n.toAttribute) !== void 0 ? s.converter : V).toAttribute(e, s.type); |
|
| 191 |
- this._$Em = t, o == null ? this.removeAttribute(i) : this.setAttribute(i, o), this._$Em = null; |
|
| 188 |
+ const i = this.constructor.elementProperties.get(e), r = this.constructor._$Eu(e, i); |
|
| 189 |
+ if (r !== void 0 && i.reflect === !0) {
|
|
| 190 |
+ const s = (((n = i.converter) == null ? void 0 : n.toAttribute) !== void 0 ? i.converter : F).toAttribute(t, i.type); |
|
| 191 |
+ this._$Em = e, s == null ? this.removeAttribute(r) : this.setAttribute(r, s), this._$Em = null; |
|
| 192 | 192 |
} |
| 193 | 193 |
} |
| 194 |
- _$AK(t, e) {
|
|
| 195 |
- var n, o; |
|
| 196 |
- const s = this.constructor, i = s._$Eh.get(t); |
|
| 197 |
- if (i !== void 0 && this._$Em !== i) {
|
|
| 198 |
- const l = s.getPropertyOptions(i), a = typeof l.converter == "function" ? { fromAttribute: l.converter } : ((n = l.converter) == null ? void 0 : n.fromAttribute) !== void 0 ? l.converter : V;
|
|
| 199 |
- this._$Em = i; |
|
| 200 |
- const c = a.fromAttribute(e, l.type); |
|
| 201 |
- this[i] = c ?? ((o = this._$Ej) == null ? void 0 : o.get(i)) ?? c, this._$Em = null; |
|
| 194 |
+ _$AK(e, t) {
|
|
| 195 |
+ var n, s; |
|
| 196 |
+ const i = this.constructor, r = i._$Eh.get(e); |
|
| 197 |
+ if (r !== void 0 && this._$Em !== r) {
|
|
| 198 |
+ const l = i.getPropertyOptions(r), a = typeof l.converter == "function" ? { fromAttribute: l.converter } : ((n = l.converter) == null ? void 0 : n.fromAttribute) !== void 0 ? l.converter : F;
|
|
| 199 |
+ this._$Em = r; |
|
| 200 |
+ const d = a.fromAttribute(t, l.type); |
|
| 201 |
+ this[r] = d ?? ((s = this._$Ej) == null ? void 0 : s.get(r)) ?? d, this._$Em = null; |
|
| 202 | 202 |
} |
| 203 | 203 |
} |
| 204 |
- requestUpdate(t, e, s, i = !1, n) {
|
|
| 205 |
- var o; |
|
| 206 |
- if (t !== void 0) {
|
|
| 204 |
+ requestUpdate(e, t, i, r = !1, n) {
|
|
| 205 |
+ var s; |
|
| 206 |
+ if (e !== void 0) {
|
|
| 207 | 207 |
const l = this.constructor; |
| 208 |
- if (i === !1 && (n = this[t]), s ?? (s = l.getPropertyOptions(t)), !((s.hasChanged ?? at)(n, e) || s.useDefault && s.reflect && n === ((o = this._$Ej) == null ? void 0 : o.get(t)) && !this.hasAttribute(l._$Eu(t, s)))) return; |
|
| 209 |
- this.C(t, e, s); |
|
| 208 |
+ if (r === !1 && (n = this[e]), i ?? (i = l.getPropertyOptions(e)), !((i.hasChanged ?? ve)(n, t) || i.useDefault && i.reflect && n === ((s = this._$Ej) == null ? void 0 : s.get(e)) && !this.hasAttribute(l._$Eu(e, i)))) return; |
|
| 209 |
+ this.C(e, t, i); |
|
| 210 | 210 |
} |
| 211 | 211 |
this.isUpdatePending === !1 && (this._$ES = this._$EP()); |
| 212 | 212 |
} |
| 213 |
- C(t, e, { useDefault: s, reflect: i, wrapped: n }, o) {
|
|
| 214 |
- s && !(this._$Ej ?? (this._$Ej = /* @__PURE__ */ new Map())).has(t) && (this._$Ej.set(t, o ?? e ?? this[t]), n !== !0 || o !== void 0) || (this._$AL.has(t) || (this.hasUpdated || s || (e = void 0), this._$AL.set(t, e)), i === !0 && this._$Em !== t && (this._$Eq ?? (this._$Eq = /* @__PURE__ */ new Set())).add(t)); |
|
| 213 |
+ C(e, t, { useDefault: i, reflect: r, wrapped: n }, s) {
|
|
| 214 |
+ i && !(this._$Ej ?? (this._$Ej = /* @__PURE__ */ new Map())).has(e) && (this._$Ej.set(e, s ?? t ?? this[e]), n !== !0 || s !== void 0) || (this._$AL.has(e) || (this.hasUpdated || i || (t = void 0), this._$AL.set(e, t)), r === !0 && this._$Em !== e && (this._$Eq ?? (this._$Eq = /* @__PURE__ */ new Set())).add(e)); |
|
| 215 | 215 |
} |
| 216 | 216 |
async _$EP() {
|
| 217 | 217 |
this.isUpdatePending = !0; |
| 218 | 218 |
try {
|
| 219 | 219 |
await this._$ES; |
| 220 |
- } catch (e) {
|
|
| 221 |
- Promise.reject(e); |
|
| 220 |
+ } catch (t) {
|
|
| 221 |
+ Promise.reject(t); |
|
| 222 | 222 |
} |
| 223 |
- const t = this.scheduleUpdate(); |
|
| 224 |
- return t != null && await t, !this.isUpdatePending; |
|
| 223 |
+ const e = this.scheduleUpdate(); |
|
| 224 |
+ return e != null && await e, !this.isUpdatePending; |
|
| 225 | 225 |
} |
| 226 | 226 |
scheduleUpdate() {
|
| 227 | 227 |
return this.performUpdate(); |
| 228 | 228 |
} |
| 229 | 229 |
performUpdate() {
|
| 230 |
- var s; |
|
| 230 |
+ var i; |
|
| 231 | 231 |
if (!this.isUpdatePending) return; |
| 232 | 232 |
if (!this.hasUpdated) {
|
| 233 | 233 |
if (this.renderRoot ?? (this.renderRoot = this.createRenderRoot()), this._$Ep) {
|
| 234 |
- for (const [n, o] of this._$Ep) this[n] = o; |
|
| 234 |
+ for (const [n, s] of this._$Ep) this[n] = s; |
|
| 235 | 235 |
this._$Ep = void 0; |
| 236 | 236 |
} |
| 237 |
- const i = this.constructor.elementProperties; |
|
| 238 |
- if (i.size > 0) for (const [n, o] of i) {
|
|
| 239 |
- const { wrapped: l } = o, a = this[n];
|
|
| 240 |
- l !== !0 || this._$AL.has(n) || a === void 0 || this.C(n, void 0, o, a); |
|
| 237 |
+ const r = this.constructor.elementProperties; |
|
| 238 |
+ if (r.size > 0) for (const [n, s] of r) {
|
|
| 239 |
+ const { wrapped: l } = s, a = this[n];
|
|
| 240 |
+ l !== !0 || this._$AL.has(n) || a === void 0 || this.C(n, void 0, s, a); |
|
| 241 | 241 |
} |
| 242 | 242 |
} |
| 243 |
- let t = !1; |
|
| 244 |
- const e = this._$AL; |
|
| 243 |
+ let e = !1; |
|
| 244 |
+ const t = this._$AL; |
|
| 245 | 245 |
try {
|
| 246 |
- t = this.shouldUpdate(e), t ? (this.willUpdate(e), (s = this._$EO) == null || s.forEach((i) => {
|
|
| 246 |
+ e = this.shouldUpdate(t), e ? (this.willUpdate(t), (i = this._$EO) == null || i.forEach((r) => {
|
|
| 247 | 247 |
var n; |
| 248 |
- return (n = i.hostUpdate) == null ? void 0 : n.call(i); |
|
| 249 |
- }), this.update(e)) : this._$EM(); |
|
| 250 |
- } catch (i) {
|
|
| 251 |
- throw t = !1, this._$EM(), i; |
|
| 248 |
+ return (n = r.hostUpdate) == null ? void 0 : n.call(r); |
|
| 249 |
+ }), this.update(t)) : this._$EM(); |
|
| 250 |
+ } catch (r) {
|
|
| 251 |
+ throw e = !1, this._$EM(), r; |
|
| 252 | 252 |
} |
| 253 |
- t && this._$AE(e); |
|
| 253 |
+ e && this._$AE(t); |
|
| 254 | 254 |
} |
| 255 |
- willUpdate(t) {
|
|
| 255 |
+ willUpdate(e) {
|
|
| 256 | 256 |
} |
| 257 |
- _$AE(t) {
|
|
| 258 |
- var e; |
|
| 259 |
- (e = this._$EO) == null || e.forEach((s) => {
|
|
| 260 |
- var i; |
|
| 261 |
- return (i = s.hostUpdated) == null ? void 0 : i.call(s); |
|
| 262 |
- }), this.hasUpdated || (this.hasUpdated = !0, this.firstUpdated(t)), this.updated(t); |
|
| 257 |
+ _$AE(e) {
|
|
| 258 |
+ var t; |
|
| 259 |
+ (t = this._$EO) == null || t.forEach((i) => {
|
|
| 260 |
+ var r; |
|
| 261 |
+ return (r = i.hostUpdated) == null ? void 0 : r.call(i); |
|
| 262 |
+ }), this.hasUpdated || (this.hasUpdated = !0, this.firstUpdated(e)), this.updated(e); |
|
| 263 | 263 |
} |
| 264 | 264 |
_$EM() {
|
| 265 | 265 |
this._$AL = /* @__PURE__ */ new Map(), this.isUpdatePending = !1; |
| ... | ... |
@@ -270,89 +270,89 @@ let E = class extends HTMLElement {
|
| 270 | 270 |
getUpdateComplete() {
|
| 271 | 271 |
return this._$ES; |
| 272 | 272 |
} |
| 273 |
- shouldUpdate(t) {
|
|
| 273 |
+ shouldUpdate(e) {
|
|
| 274 | 274 |
return !0; |
| 275 | 275 |
} |
| 276 |
- update(t) {
|
|
| 277 |
- this._$Eq && (this._$Eq = this._$Eq.forEach((e) => this._$ET(e, this[e]))), this._$EM(); |
|
| 276 |
+ update(e) {
|
|
| 277 |
+ this._$Eq && (this._$Eq = this._$Eq.forEach((t) => this._$ET(t, this[t]))), this._$EM(); |
|
| 278 | 278 |
} |
| 279 |
- updated(t) {
|
|
| 279 |
+ updated(e) {
|
|
| 280 | 280 |
} |
| 281 |
- firstUpdated(t) {
|
|
| 281 |
+ firstUpdated(e) {
|
|
| 282 | 282 |
} |
| 283 | 283 |
}; |
| 284 |
-E.elementStyles = [], E.shadowRootOptions = { mode: "open" }, E[C("elementProperties")] = /* @__PURE__ */ new Map(), E[C("finalized")] = /* @__PURE__ */ new Map(), L == null || L({ ReactiveElement: E }), (f.reactiveElementVersions ?? (f.reactiveElementVersions = [])).push("2.1.2");
|
|
| 284 |
+E.elementStyles = [], E.shadowRootOptions = { mode: "open" }, E[T("elementProperties")] = /* @__PURE__ */ new Map(), E[T("finalized")] = /* @__PURE__ */ new Map(), j == null || j({ ReactiveElement: E }), (y.reactiveElementVersions ?? (y.reactiveElementVersions = [])).push("2.1.2");
|
|
| 285 | 285 |
/** |
| 286 | 286 |
* @license |
| 287 | 287 |
* Copyright 2017 Google LLC |
| 288 | 288 |
* SPDX-License-Identifier: BSD-3-Clause |
| 289 | 289 |
*/ |
| 290 |
-const P = globalThis, X = (r) => r, k = P.trustedTypes, Y = k ? k.createPolicy("lit-html", { createHTML: (r) => r }) : void 0, lt = "$lit$", m = `lit$${Math.random().toFixed(9).slice(2)}$`, ht = "?" + m, wt = `<${ht}>`, y = document, U = () => y.createComment(""), O = (r) => r === null || typeof r != "object" && typeof r != "function", J = Array.isArray, Ct = (r) => J(r) || typeof (r == null ? void 0 : r[Symbol.iterator]) == "function", j = `[
|
|
| 291 |
-\f\r]`, w = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, tt = /-->/g, et = />/g, g = RegExp(`>|${j}(?:([^\\s"'>=/]+)(${j}*=${j}*(?:[^
|
|
| 292 |
-\f\r"'\`<>=]|("|')|))|$)`, "g"), st = /'/g, it = /"/g, ct = /^(?:script|style|textarea|title)$/i, Pt = (r) => (t, ...e) => ({ _$litType$: r, strings: t, values: e }), H = Pt(1), S = Symbol.for("lit-noChange"), d = Symbol.for("lit-nothing"), rt = /* @__PURE__ */ new WeakMap(), A = y.createTreeWalker(y, 129);
|
|
| 293 |
-function dt(r, t) {
|
|
| 294 |
- if (!J(r) || !r.hasOwnProperty("raw")) throw Error("invalid template strings array");
|
|
| 295 |
- return Y !== void 0 ? Y.createHTML(t) : t; |
|
| 290 |
+const z = globalThis, le = (o) => o, B = z.trustedTypes, ce = B ? B.createPolicy("lit-html", { createHTML: (o) => o }) : void 0, be = "$lit$", x = `lit$${Math.random().toFixed(9).slice(2)}$`, xe = "?" + x, Ne = `<${xe}>`, k = document, P = () => k.createComment(""), U = (o) => o === null || typeof o != "object" && typeof o != "function", re = Array.isArray, Be = (o) => re(o) || typeof (o == null ? void 0 : o[Symbol.iterator]) == "function", L = `[
|
|
| 291 |
+\f\r]`, M = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, de = /-->/g, he = />/g, $ = RegExp(`>|${L}(?:([^\\s"'>=/]+)(${L}*=${L}*(?:[^
|
|
| 292 |
+\f\r"'\`<>=]|("|')|))|$)`, "g"), pe = /'/g, ue = /"/g, ye = /^(?:script|style|textarea|title)$/i, $e = (o) => (e, ...t) => ({ _$litType$: o, strings: e, values: t }), c = $e(1), w = $e(2), S = Symbol.for("lit-noChange"), m = Symbol.for("lit-nothing"), me = /* @__PURE__ */ new WeakMap(), _ = k.createTreeWalker(k, 129);
|
|
| 293 |
+function we(o, e) {
|
|
| 294 |
+ if (!re(o) || !o.hasOwnProperty("raw")) throw Error("invalid template strings array");
|
|
| 295 |
+ return ce !== void 0 ? ce.createHTML(e) : e; |
|
| 296 | 296 |
} |
| 297 |
-const Ut = (r, t) => {
|
|
| 298 |
- const e = r.length - 1, s = []; |
|
| 299 |
- let i, n = t === 2 ? "<svg>" : t === 3 ? "<math>" : "", o = w; |
|
| 300 |
- for (let l = 0; l < e; l++) {
|
|
| 301 |
- const a = r[l]; |
|
| 302 |
- let c, u, h = -1, p = 0; |
|
| 303 |
- for (; p < a.length && (o.lastIndex = p, u = o.exec(a), u !== null); ) p = o.lastIndex, o === w ? u[1] === "!--" ? o = tt : u[1] !== void 0 ? o = et : u[2] !== void 0 ? (ct.test(u[2]) && (i = RegExp("</" + u[2], "g")), o = g) : u[3] !== void 0 && (o = g) : o === g ? u[0] === ">" ? (o = i ?? w, h = -1) : u[1] === void 0 ? h = -2 : (h = o.lastIndex - u[2].length, c = u[1], o = u[3] === void 0 ? g : u[3] === '"' ? it : st) : o === it || o === st ? o = g : o === tt || o === et ? o = w : (o = g, i = void 0);
|
|
| 304 |
- const $ = o === g && r[l + 1].startsWith("/>") ? " " : "";
|
|
| 305 |
- n += o === w ? a + wt : h >= 0 ? (s.push(c), a.slice(0, h) + lt + a.slice(h) + m + $) : a + m + (h === -2 ? l : $); |
|
| 306 |
- } |
|
| 307 |
- return [dt(r, n + (r[e] || "<?>") + (t === 2 ? "</svg>" : t === 3 ? "</math>" : "")), s]; |
|
| 297 |
+const De = (o, e) => {
|
|
| 298 |
+ const t = o.length - 1, i = []; |
|
| 299 |
+ let r, n = e === 2 ? "<svg>" : e === 3 ? "<math>" : "", s = M; |
|
| 300 |
+ for (let l = 0; l < t; l++) {
|
|
| 301 |
+ const a = o[l]; |
|
| 302 |
+ let d, u, h = -1, v = 0; |
|
| 303 |
+ for (; v < a.length && (s.lastIndex = v, u = s.exec(a), u !== null); ) v = s.lastIndex, s === M ? u[1] === "!--" ? s = de : u[1] !== void 0 ? s = he : u[2] !== void 0 ? (ye.test(u[2]) && (r = RegExp("</" + u[2], "g")), s = $) : u[3] !== void 0 && (s = $) : s === $ ? u[0] === ">" ? (s = r ?? M, h = -1) : u[1] === void 0 ? h = -2 : (h = s.lastIndex - u[2].length, d = u[1], s = u[3] === void 0 ? $ : u[3] === '"' ? ue : pe) : s === ue || s === pe ? s = $ : s === de || s === he ? s = M : (s = $, r = void 0);
|
|
| 304 |
+ const b = s === $ && o[l + 1].startsWith("/>") ? " " : "";
|
|
| 305 |
+ n += s === M ? a + Ne : h >= 0 ? (i.push(d), a.slice(0, h) + be + a.slice(h) + x + b) : a + x + (h === -2 ? l : b); |
|
| 306 |
+ } |
|
| 307 |
+ return [we(o, n + (o[t] || "<?>") + (e === 2 ? "</svg>" : e === 3 ? "</math>" : "")), i]; |
|
| 308 | 308 |
}; |
| 309 |
-class M {
|
|
| 310 |
- constructor({ strings: t, _$litType$: e }, s) {
|
|
| 311 |
- let i; |
|
| 309 |
+class O {
|
|
| 310 |
+ constructor({ strings: e, _$litType$: t }, i) {
|
|
| 311 |
+ let r; |
|
| 312 | 312 |
this.parts = []; |
| 313 |
- let n = 0, o = 0; |
|
| 314 |
- const l = t.length - 1, a = this.parts, [c, u] = Ut(t, e); |
|
| 315 |
- if (this.el = M.createElement(c, s), A.currentNode = this.el.content, e === 2 || e === 3) {
|
|
| 313 |
+ let n = 0, s = 0; |
|
| 314 |
+ const l = e.length - 1, a = this.parts, [d, u] = De(e, t); |
|
| 315 |
+ if (this.el = O.createElement(d, i), _.currentNode = this.el.content, t === 2 || t === 3) {
|
|
| 316 | 316 |
const h = this.el.content.firstChild; |
| 317 | 317 |
h.replaceWith(...h.childNodes); |
| 318 | 318 |
} |
| 319 |
- for (; (i = A.nextNode()) !== null && a.length < l; ) {
|
|
| 320 |
- if (i.nodeType === 1) {
|
|
| 321 |
- if (i.hasAttributes()) for (const h of i.getAttributeNames()) if (h.endsWith(lt)) {
|
|
| 322 |
- const p = u[o++], $ = i.getAttribute(h).split(m), R = /([.?@])?(.*)/.exec(p); |
|
| 323 |
- a.push({ type: 1, index: n, name: R[2], strings: $, ctor: R[1] === "." ? Ht : R[1] === "?" ? Mt : R[1] === "@" ? Nt : z }), i.removeAttribute(h);
|
|
| 324 |
- } else h.startsWith(m) && (a.push({ type: 6, index: n }), i.removeAttribute(h));
|
|
| 325 |
- if (ct.test(i.tagName)) {
|
|
| 326 |
- const h = i.textContent.split(m), p = h.length - 1; |
|
| 327 |
- if (p > 0) {
|
|
| 328 |
- i.textContent = k ? k.emptyScript : ""; |
|
| 329 |
- for (let $ = 0; $ < p; $++) i.append(h[$], U()), A.nextNode(), a.push({ type: 2, index: ++n });
|
|
| 330 |
- i.append(h[p], U()); |
|
| 319 |
+ for (; (r = _.nextNode()) !== null && a.length < l; ) {
|
|
| 320 |
+ if (r.nodeType === 1) {
|
|
| 321 |
+ if (r.hasAttributes()) for (const h of r.getAttributeNames()) if (h.endsWith(be)) {
|
|
| 322 |
+ const v = u[s++], b = r.getAttribute(h).split(x), R = /([.?@])?(.*)/.exec(v); |
|
| 323 |
+ a.push({ type: 1, index: n, name: R[2], strings: b, ctor: R[1] === "." ? Le : R[1] === "?" ? Ie : R[1] === "@" ? Ve : D }), r.removeAttribute(h);
|
|
| 324 |
+ } else h.startsWith(x) && (a.push({ type: 6, index: n }), r.removeAttribute(h));
|
|
| 325 |
+ if (ye.test(r.tagName)) {
|
|
| 326 |
+ const h = r.textContent.split(x), v = h.length - 1; |
|
| 327 |
+ if (v > 0) {
|
|
| 328 |
+ r.textContent = B ? B.emptyScript : ""; |
|
| 329 |
+ for (let b = 0; b < v; b++) r.append(h[b], P()), _.nextNode(), a.push({ type: 2, index: ++n });
|
|
| 330 |
+ r.append(h[v], P()); |
|
| 331 | 331 |
} |
| 332 | 332 |
} |
| 333 |
- } else if (i.nodeType === 8) if (i.data === ht) a.push({ type: 2, index: n });
|
|
| 333 |
+ } else if (r.nodeType === 8) if (r.data === xe) a.push({ type: 2, index: n });
|
|
| 334 | 334 |
else {
|
| 335 | 335 |
let h = -1; |
| 336 |
- for (; (h = i.data.indexOf(m, h + 1)) !== -1; ) a.push({ type: 7, index: n }), h += m.length - 1;
|
|
| 336 |
+ for (; (h = r.data.indexOf(x, h + 1)) !== -1; ) a.push({ type: 7, index: n }), h += x.length - 1;
|
|
| 337 | 337 |
} |
| 338 | 338 |
n++; |
| 339 | 339 |
} |
| 340 | 340 |
} |
| 341 |
- static createElement(t, e) {
|
|
| 342 |
- const s = y.createElement("template");
|
|
| 343 |
- return s.innerHTML = t, s; |
|
| 341 |
+ static createElement(e, t) {
|
|
| 342 |
+ const i = k.createElement("template");
|
|
| 343 |
+ return i.innerHTML = e, i; |
|
| 344 | 344 |
} |
| 345 | 345 |
} |
| 346 |
-function x(r, t, e = r, s) {
|
|
| 347 |
- var o, l; |
|
| 348 |
- if (t === S) return t; |
|
| 349 |
- let i = s !== void 0 ? (o = e._$Co) == null ? void 0 : o[s] : e._$Cl; |
|
| 350 |
- const n = O(t) ? void 0 : t._$litDirective$; |
|
| 351 |
- return (i == null ? void 0 : i.constructor) !== n && ((l = i == null ? void 0 : i._$AO) == null || l.call(i, !1), n === void 0 ? i = void 0 : (i = new n(r), i._$AT(r, e, s)), s !== void 0 ? (e._$Co ?? (e._$Co = []))[s] = i : e._$Cl = i), i !== void 0 && (t = x(r, i._$AS(r, t.values), i, s)), t; |
|
| 346 |
+function C(o, e, t = o, i) {
|
|
| 347 |
+ var s, l; |
|
| 348 |
+ if (e === S) return e; |
|
| 349 |
+ let r = i !== void 0 ? (s = t._$Co) == null ? void 0 : s[i] : t._$Cl; |
|
| 350 |
+ const n = U(e) ? void 0 : e._$litDirective$; |
|
| 351 |
+ return (r == null ? void 0 : r.constructor) !== n && ((l = r == null ? void 0 : r._$AO) == null || l.call(r, !1), n === void 0 ? r = void 0 : (r = new n(o), r._$AT(o, t, i)), i !== void 0 ? (t._$Co ?? (t._$Co = []))[i] = r : t._$Cl = r), r !== void 0 && (e = C(o, r._$AS(o, e.values), r, i)), e; |
|
| 352 | 352 |
} |
| 353 |
-class Ot {
|
|
| 354 |
- constructor(t, e) {
|
|
| 355 |
- this._$AV = [], this._$AN = void 0, this._$AD = t, this._$AM = e; |
|
| 353 |
+class je {
|
|
| 354 |
+ constructor(e, t) {
|
|
| 355 |
+ this._$AV = [], this._$AN = void 0, this._$AD = e, this._$AM = t; |
|
| 356 | 356 |
} |
| 357 | 357 |
get parentNode() {
|
| 358 | 358 |
return this._$AM.parentNode; |
| ... | ... |
@@ -360,36 +360,36 @@ class Ot {
|
| 360 | 360 |
get _$AU() {
|
| 361 | 361 |
return this._$AM._$AU; |
| 362 | 362 |
} |
| 363 |
- u(t) {
|
|
| 364 |
- const { el: { content: e }, parts: s } = this._$AD, i = ((t == null ? void 0 : t.creationScope) ?? y).importNode(e, !0);
|
|
| 365 |
- A.currentNode = i; |
|
| 366 |
- let n = A.nextNode(), o = 0, l = 0, a = s[0]; |
|
| 363 |
+ u(e) {
|
|
| 364 |
+ const { el: { content: t }, parts: i } = this._$AD, r = ((e == null ? void 0 : e.creationScope) ?? k).importNode(t, !0);
|
|
| 365 |
+ _.currentNode = r; |
|
| 366 |
+ let n = _.nextNode(), s = 0, l = 0, a = i[0]; |
|
| 367 | 367 |
for (; a !== void 0; ) {
|
| 368 |
- if (o === a.index) {
|
|
| 369 |
- let c; |
|
| 370 |
- a.type === 2 ? c = new N(n, n.nextSibling, this, t) : a.type === 1 ? c = new a.ctor(n, a.name, a.strings, this, t) : a.type === 6 && (c = new Rt(n, this, t)), this._$AV.push(c), a = s[++l]; |
|
| 368 |
+ if (s === a.index) {
|
|
| 369 |
+ let d; |
|
| 370 |
+ a.type === 2 ? d = new H(n, n.nextSibling, this, e) : a.type === 1 ? d = new a.ctor(n, a.name, a.strings, this, e) : a.type === 6 && (d = new Fe(n, this, e)), this._$AV.push(d), a = i[++l]; |
|
| 371 | 371 |
} |
| 372 |
- o !== (a == null ? void 0 : a.index) && (n = A.nextNode(), o++); |
|
| 372 |
+ s !== (a == null ? void 0 : a.index) && (n = _.nextNode(), s++); |
|
| 373 | 373 |
} |
| 374 |
- return A.currentNode = y, i; |
|
| 374 |
+ return _.currentNode = k, r; |
|
| 375 | 375 |
} |
| 376 |
- p(t) {
|
|
| 377 |
- let e = 0; |
|
| 378 |
- for (const s of this._$AV) s !== void 0 && (s.strings !== void 0 ? (s._$AI(t, s, e), e += s.strings.length - 2) : s._$AI(t[e])), e++; |
|
| 376 |
+ p(e) {
|
|
| 377 |
+ let t = 0; |
|
| 378 |
+ for (const i of this._$AV) i !== void 0 && (i.strings !== void 0 ? (i._$AI(e, i, t), t += i.strings.length - 2) : i._$AI(e[t])), t++; |
|
| 379 | 379 |
} |
| 380 | 380 |
} |
| 381 |
-class N {
|
|
| 381 |
+class H {
|
|
| 382 | 382 |
get _$AU() {
|
| 383 |
- var t; |
|
| 384 |
- return ((t = this._$AM) == null ? void 0 : t._$AU) ?? this._$Cv; |
|
| 383 |
+ var e; |
|
| 384 |
+ return ((e = this._$AM) == null ? void 0 : e._$AU) ?? this._$Cv; |
|
| 385 | 385 |
} |
| 386 |
- constructor(t, e, s, i) {
|
|
| 387 |
- this.type = 2, this._$AH = d, this._$AN = void 0, this._$AA = t, this._$AB = e, this._$AM = s, this.options = i, this._$Cv = (i == null ? void 0 : i.isConnected) ?? !0; |
|
| 386 |
+ constructor(e, t, i, r) {
|
|
| 387 |
+ this.type = 2, this._$AH = m, this._$AN = void 0, this._$AA = e, this._$AB = t, this._$AM = i, this.options = r, this._$Cv = (r == null ? void 0 : r.isConnected) ?? !0; |
|
| 388 | 388 |
} |
| 389 | 389 |
get parentNode() {
|
| 390 |
- let t = this._$AA.parentNode; |
|
| 391 |
- const e = this._$AM; |
|
| 392 |
- return e !== void 0 && (t == null ? void 0 : t.nodeType) === 11 && (t = e.parentNode), t; |
|
| 390 |
+ let e = this._$AA.parentNode; |
|
| 391 |
+ const t = this._$AM; |
|
| 392 |
+ return t !== void 0 && (e == null ? void 0 : e.nodeType) === 11 && (e = t.parentNode), e; |
|
| 393 | 393 |
} |
| 394 | 394 |
get startNode() {
|
| 395 | 395 |
return this._$AA; |
| ... | ... |
@@ -397,167 +397,167 @@ class N {
|
| 397 | 397 |
get endNode() {
|
| 398 | 398 |
return this._$AB; |
| 399 | 399 |
} |
| 400 |
- _$AI(t, e = this) {
|
|
| 401 |
- t = x(this, t, e), O(t) ? t === d || t == null || t === "" ? (this._$AH !== d && this._$AR(), this._$AH = d) : t !== this._$AH && t !== S && this._(t) : t._$litType$ !== void 0 ? this.$(t) : t.nodeType !== void 0 ? this.T(t) : Ct(t) ? this.k(t) : this._(t); |
|
| 400 |
+ _$AI(e, t = this) {
|
|
| 401 |
+ e = C(this, e, t), U(e) ? e === m || e == null || e === "" ? (this._$AH !== m && this._$AR(), this._$AH = m) : e !== this._$AH && e !== S && this._(e) : e._$litType$ !== void 0 ? this.$(e) : e.nodeType !== void 0 ? this.T(e) : Be(e) ? this.k(e) : this._(e); |
|
| 402 | 402 |
} |
| 403 |
- O(t) {
|
|
| 404 |
- return this._$AA.parentNode.insertBefore(t, this._$AB); |
|
| 403 |
+ O(e) {
|
|
| 404 |
+ return this._$AA.parentNode.insertBefore(e, this._$AB); |
|
| 405 | 405 |
} |
| 406 |
- T(t) {
|
|
| 407 |
- this._$AH !== t && (this._$AR(), this._$AH = this.O(t)); |
|
| 406 |
+ T(e) {
|
|
| 407 |
+ this._$AH !== e && (this._$AR(), this._$AH = this.O(e)); |
|
| 408 | 408 |
} |
| 409 |
- _(t) {
|
|
| 410 |
- this._$AH !== d && O(this._$AH) ? this._$AA.nextSibling.data = t : this.T(y.createTextNode(t)), this._$AH = t; |
|
| 409 |
+ _(e) {
|
|
| 410 |
+ this._$AH !== m && U(this._$AH) ? this._$AA.nextSibling.data = e : this.T(k.createTextNode(e)), this._$AH = e; |
|
| 411 | 411 |
} |
| 412 |
- $(t) {
|
|
| 412 |
+ $(e) {
|
|
| 413 | 413 |
var n; |
| 414 |
- const { values: e, _$litType$: s } = t, i = typeof s == "number" ? this._$AC(t) : (s.el === void 0 && (s.el = M.createElement(dt(s.h, s.h[0]), this.options)), s);
|
|
| 415 |
- if (((n = this._$AH) == null ? void 0 : n._$AD) === i) this._$AH.p(e); |
|
| 414 |
+ const { values: t, _$litType$: i } = e, r = typeof i == "number" ? this._$AC(e) : (i.el === void 0 && (i.el = O.createElement(we(i.h, i.h[0]), this.options)), i);
|
|
| 415 |
+ if (((n = this._$AH) == null ? void 0 : n._$AD) === r) this._$AH.p(t); |
|
| 416 | 416 |
else {
|
| 417 |
- const o = new Ot(i, this), l = o.u(this.options); |
|
| 418 |
- o.p(e), this.T(l), this._$AH = o; |
|
| 417 |
+ const s = new je(r, this), l = s.u(this.options); |
|
| 418 |
+ s.p(t), this.T(l), this._$AH = s; |
|
| 419 | 419 |
} |
| 420 | 420 |
} |
| 421 |
- _$AC(t) {
|
|
| 422 |
- let e = rt.get(t.strings); |
|
| 423 |
- return e === void 0 && rt.set(t.strings, e = new M(t)), e; |
|
| 424 |
- } |
|
| 425 |
- k(t) {
|
|
| 426 |
- J(this._$AH) || (this._$AH = [], this._$AR()); |
|
| 427 |
- const e = this._$AH; |
|
| 428 |
- let s, i = 0; |
|
| 429 |
- for (const n of t) i === e.length ? e.push(s = new N(this.O(U()), this.O(U()), this, this.options)) : s = e[i], s._$AI(n), i++; |
|
| 430 |
- i < e.length && (this._$AR(s && s._$AB.nextSibling, i), e.length = i); |
|
| 431 |
- } |
|
| 432 |
- _$AR(t = this._$AA.nextSibling, e) {
|
|
| 433 |
- var s; |
|
| 434 |
- for ((s = this._$AP) == null ? void 0 : s.call(this, !1, !0, e); t !== this._$AB; ) {
|
|
| 435 |
- const i = X(t).nextSibling; |
|
| 436 |
- X(t).remove(), t = i; |
|
| 421 |
+ _$AC(e) {
|
|
| 422 |
+ let t = me.get(e.strings); |
|
| 423 |
+ return t === void 0 && me.set(e.strings, t = new O(e)), t; |
|
| 424 |
+ } |
|
| 425 |
+ k(e) {
|
|
| 426 |
+ re(this._$AH) || (this._$AH = [], this._$AR()); |
|
| 427 |
+ const t = this._$AH; |
|
| 428 |
+ let i, r = 0; |
|
| 429 |
+ for (const n of e) r === t.length ? t.push(i = new H(this.O(P()), this.O(P()), this, this.options)) : i = t[r], i._$AI(n), r++; |
|
| 430 |
+ r < t.length && (this._$AR(i && i._$AB.nextSibling, r), t.length = r); |
|
| 431 |
+ } |
|
| 432 |
+ _$AR(e = this._$AA.nextSibling, t) {
|
|
| 433 |
+ var i; |
|
| 434 |
+ for ((i = this._$AP) == null ? void 0 : i.call(this, !1, !0, t); e !== this._$AB; ) {
|
|
| 435 |
+ const r = le(e).nextSibling; |
|
| 436 |
+ le(e).remove(), e = r; |
|
| 437 | 437 |
} |
| 438 | 438 |
} |
| 439 |
- setConnected(t) {
|
|
| 440 |
- var e; |
|
| 441 |
- this._$AM === void 0 && (this._$Cv = t, (e = this._$AP) == null || e.call(this, t)); |
|
| 439 |
+ setConnected(e) {
|
|
| 440 |
+ var t; |
|
| 441 |
+ this._$AM === void 0 && (this._$Cv = e, (t = this._$AP) == null || t.call(this, e)); |
|
| 442 | 442 |
} |
| 443 | 443 |
} |
| 444 |
-class z {
|
|
| 444 |
+class D {
|
|
| 445 | 445 |
get tagName() {
|
| 446 | 446 |
return this.element.tagName; |
| 447 | 447 |
} |
| 448 | 448 |
get _$AU() {
|
| 449 | 449 |
return this._$AM._$AU; |
| 450 | 450 |
} |
| 451 |
- constructor(t, e, s, i, n) {
|
|
| 452 |
- this.type = 1, this._$AH = d, this._$AN = void 0, this.element = t, this.name = e, this._$AM = i, this.options = n, s.length > 2 || s[0] !== "" || s[1] !== "" ? (this._$AH = Array(s.length - 1).fill(new String()), this.strings = s) : this._$AH = d; |
|
| 451 |
+ constructor(e, t, i, r, n) {
|
|
| 452 |
+ this.type = 1, this._$AH = m, this._$AN = void 0, this.element = e, this.name = t, this._$AM = r, this.options = n, i.length > 2 || i[0] !== "" || i[1] !== "" ? (this._$AH = Array(i.length - 1).fill(new String()), this.strings = i) : this._$AH = m; |
|
| 453 | 453 |
} |
| 454 |
- _$AI(t, e = this, s, i) {
|
|
| 454 |
+ _$AI(e, t = this, i, r) {
|
|
| 455 | 455 |
const n = this.strings; |
| 456 |
- let o = !1; |
|
| 457 |
- if (n === void 0) t = x(this, t, e, 0), o = !O(t) || t !== this._$AH && t !== S, o && (this._$AH = t); |
|
| 456 |
+ let s = !1; |
|
| 457 |
+ if (n === void 0) e = C(this, e, t, 0), s = !U(e) || e !== this._$AH && e !== S, s && (this._$AH = e); |
|
| 458 | 458 |
else {
|
| 459 |
- const l = t; |
|
| 460 |
- let a, c; |
|
| 461 |
- for (t = n[0], a = 0; a < n.length - 1; a++) c = x(this, l[s + a], e, a), c === S && (c = this._$AH[a]), o || (o = !O(c) || c !== this._$AH[a]), c === d ? t = d : t !== d && (t += (c ?? "") + n[a + 1]), this._$AH[a] = c; |
|
| 459 |
+ const l = e; |
|
| 460 |
+ let a, d; |
|
| 461 |
+ for (e = n[0], a = 0; a < n.length - 1; a++) d = C(this, l[i + a], t, a), d === S && (d = this._$AH[a]), s || (s = !U(d) || d !== this._$AH[a]), d === m ? e = m : e !== m && (e += (d ?? "") + n[a + 1]), this._$AH[a] = d; |
|
| 462 | 462 |
} |
| 463 |
- o && !i && this.j(t); |
|
| 463 |
+ s && !r && this.j(e); |
|
| 464 | 464 |
} |
| 465 |
- j(t) {
|
|
| 466 |
- t === d ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, t ?? ""); |
|
| 465 |
+ j(e) {
|
|
| 466 |
+ e === m ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, e ?? ""); |
|
| 467 | 467 |
} |
| 468 | 468 |
} |
| 469 |
-class Ht extends z {
|
|
| 469 |
+class Le extends D {
|
|
| 470 | 470 |
constructor() {
|
| 471 | 471 |
super(...arguments), this.type = 3; |
| 472 | 472 |
} |
| 473 |
- j(t) {
|
|
| 474 |
- this.element[this.name] = t === d ? void 0 : t; |
|
| 473 |
+ j(e) {
|
|
| 474 |
+ this.element[this.name] = e === m ? void 0 : e; |
|
| 475 | 475 |
} |
| 476 | 476 |
} |
| 477 |
-class Mt extends z {
|
|
| 477 |
+class Ie extends D {
|
|
| 478 | 478 |
constructor() {
|
| 479 | 479 |
super(...arguments), this.type = 4; |
| 480 | 480 |
} |
| 481 |
- j(t) {
|
|
| 482 |
- this.element.toggleAttribute(this.name, !!t && t !== d); |
|
| 481 |
+ j(e) {
|
|
| 482 |
+ this.element.toggleAttribute(this.name, !!e && e !== m); |
|
| 483 | 483 |
} |
| 484 | 484 |
} |
| 485 |
-class Nt extends z {
|
|
| 486 |
- constructor(t, e, s, i, n) {
|
|
| 487 |
- super(t, e, s, i, n), this.type = 5; |
|
| 485 |
+class Ve extends D {
|
|
| 486 |
+ constructor(e, t, i, r, n) {
|
|
| 487 |
+ super(e, t, i, r, n), this.type = 5; |
|
| 488 | 488 |
} |
| 489 |
- _$AI(t, e = this) {
|
|
| 490 |
- if ((t = x(this, t, e, 0) ?? d) === S) return; |
|
| 491 |
- const s = this._$AH, i = t === d && s !== d || t.capture !== s.capture || t.once !== s.once || t.passive !== s.passive, n = t !== d && (s === d || i); |
|
| 492 |
- i && this.element.removeEventListener(this.name, this, s), n && this.element.addEventListener(this.name, this, t), this._$AH = t; |
|
| 489 |
+ _$AI(e, t = this) {
|
|
| 490 |
+ if ((e = C(this, e, t, 0) ?? m) === S) return; |
|
| 491 |
+ const i = this._$AH, r = e === m && i !== m || e.capture !== i.capture || e.once !== i.once || e.passive !== i.passive, n = e !== m && (i === m || r); |
|
| 492 |
+ r && this.element.removeEventListener(this.name, this, i), n && this.element.addEventListener(this.name, this, e), this._$AH = e; |
|
| 493 | 493 |
} |
| 494 |
- handleEvent(t) {
|
|
| 495 |
- var e; |
|
| 496 |
- typeof this._$AH == "function" ? this._$AH.call(((e = this.options) == null ? void 0 : e.host) ?? this.element, t) : this._$AH.handleEvent(t); |
|
| 494 |
+ handleEvent(e) {
|
|
| 495 |
+ var t; |
|
| 496 |
+ typeof this._$AH == "function" ? this._$AH.call(((t = this.options) == null ? void 0 : t.host) ?? this.element, e) : this._$AH.handleEvent(e); |
|
| 497 | 497 |
} |
| 498 | 498 |
} |
| 499 |
-class Rt {
|
|
| 500 |
- constructor(t, e, s) {
|
|
| 501 |
- this.element = t, this.type = 6, this._$AN = void 0, this._$AM = e, this.options = s; |
|
| 499 |
+class Fe {
|
|
| 500 |
+ constructor(e, t, i) {
|
|
| 501 |
+ this.element = e, this.type = 6, this._$AN = void 0, this._$AM = t, this.options = i; |
|
| 502 | 502 |
} |
| 503 | 503 |
get _$AU() {
|
| 504 | 504 |
return this._$AM._$AU; |
| 505 | 505 |
} |
| 506 |
- _$AI(t) {
|
|
| 507 |
- x(this, t); |
|
| 506 |
+ _$AI(e) {
|
|
| 507 |
+ C(this, e); |
|
| 508 | 508 |
} |
| 509 | 509 |
} |
| 510 |
-const I = P.litHtmlPolyfillSupport; |
|
| 511 |
-I == null || I(M, N), (P.litHtmlVersions ?? (P.litHtmlVersions = [])).push("3.3.2");
|
|
| 512 |
-const Tt = (r, t, e) => {
|
|
| 513 |
- const s = (e == null ? void 0 : e.renderBefore) ?? t; |
|
| 514 |
- let i = s._$litPart$; |
|
| 515 |
- if (i === void 0) {
|
|
| 516 |
- const n = (e == null ? void 0 : e.renderBefore) ?? null; |
|
| 517 |
- s._$litPart$ = i = new N(t.insertBefore(U(), n), n, void 0, e ?? {});
|
|
| 518 |
- } |
|
| 519 |
- return i._$AI(r), i; |
|
| 510 |
+const I = z.litHtmlPolyfillSupport; |
|
| 511 |
+I == null || I(O, H), (z.litHtmlVersions ?? (z.litHtmlVersions = [])).push("3.3.2");
|
|
| 512 |
+const We = (o, e, t) => {
|
|
| 513 |
+ const i = (t == null ? void 0 : t.renderBefore) ?? e; |
|
| 514 |
+ let r = i._$litPart$; |
|
| 515 |
+ if (r === void 0) {
|
|
| 516 |
+ const n = (t == null ? void 0 : t.renderBefore) ?? null; |
|
| 517 |
+ i._$litPart$ = r = new H(e.insertBefore(P(), n), n, void 0, t ?? {});
|
|
| 518 |
+ } |
|
| 519 |
+ return r._$AI(o), r; |
|
| 520 | 520 |
}; |
| 521 | 521 |
/** |
| 522 | 522 |
* @license |
| 523 | 523 |
* Copyright 2017 Google LLC |
| 524 | 524 |
* SPDX-License-Identifier: BSD-3-Clause |
| 525 | 525 |
*/ |
| 526 |
-const v = globalThis; |
|
| 527 |
-class _ extends E {
|
|
| 526 |
+const A = globalThis; |
|
| 527 |
+class g extends E {
|
|
| 528 | 528 |
constructor() {
|
| 529 | 529 |
super(...arguments), this.renderOptions = { host: this }, this._$Do = void 0;
|
| 530 | 530 |
} |
| 531 | 531 |
createRenderRoot() {
|
| 532 |
- var e; |
|
| 533 |
- const t = super.createRenderRoot(); |
|
| 534 |
- return (e = this.renderOptions).renderBefore ?? (e.renderBefore = t.firstChild), t; |
|
| 532 |
+ var t; |
|
| 533 |
+ const e = super.createRenderRoot(); |
|
| 534 |
+ return (t = this.renderOptions).renderBefore ?? (t.renderBefore = e.firstChild), e; |
|
| 535 | 535 |
} |
| 536 |
- update(t) {
|
|
| 537 |
- const e = this.render(); |
|
| 538 |
- this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(t), this._$Do = Tt(e, this.renderRoot, this.renderOptions); |
|
| 536 |
+ update(e) {
|
|
| 537 |
+ const t = this.render(); |
|
| 538 |
+ this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(e), this._$Do = We(t, this.renderRoot, this.renderOptions); |
|
| 539 | 539 |
} |
| 540 | 540 |
connectedCallback() {
|
| 541 |
- var t; |
|
| 542 |
- super.connectedCallback(), (t = this._$Do) == null || t.setConnected(!0); |
|
| 541 |
+ var e; |
|
| 542 |
+ super.connectedCallback(), (e = this._$Do) == null || e.setConnected(!0); |
|
| 543 | 543 |
} |
| 544 | 544 |
disconnectedCallback() {
|
| 545 |
- var t; |
|
| 546 |
- super.disconnectedCallback(), (t = this._$Do) == null || t.setConnected(!1); |
|
| 545 |
+ var e; |
|
| 546 |
+ super.disconnectedCallback(), (e = this._$Do) == null || e.setConnected(!1); |
|
| 547 | 547 |
} |
| 548 | 548 |
render() {
|
| 549 | 549 |
return S; |
| 550 | 550 |
} |
| 551 | 551 |
} |
| 552 |
-var ot; |
|
| 553 |
-_._$litElement$ = !0, _.finalized = !0, (ot = v.litElementHydrateSupport) == null || ot.call(v, { LitElement: _ });
|
|
| 554 |
-const B = v.litElementPolyfillSupport; |
|
| 555 |
-B == null || B({ LitElement: _ });
|
|
| 556 |
-(v.litElementVersions ?? (v.litElementVersions = [])).push("4.2.2");
|
|
| 557 |
-class W extends _ {
|
|
| 552 |
+var ge; |
|
| 553 |
+g._$litElement$ = !0, g.finalized = !0, (ge = A.litElementHydrateSupport) == null || ge.call(A, { LitElement: g });
|
|
| 554 |
+const V = A.litElementPolyfillSupport; |
|
| 555 |
+V == null || V({ LitElement: g });
|
|
| 556 |
+(A.litElementVersions ?? (A.litElementVersions = [])).push("4.2.2");
|
|
| 557 |
+class W extends g {
|
|
| 558 | 558 |
render() {
|
| 559 |
- return H` |
|
| 560 |
- ${this.imageUrl ? H`<img class="card-image" src="${this.imageUrl}" alt="${this.imageAlt || ""}" />` : ""}
|
|
| 559 |
+ return c` |
|
| 560 |
+ ${this.imageUrl ? c`<img class="card-image" src="${this.imageUrl}" alt="${this.imageAlt || ""}" />` : ""}
|
|
| 561 | 561 |
|
| 562 | 562 |
<slot name="header" class="card-header-slot"></slot> |
| 563 | 563 |
|
| ... | ... |
@@ -569,7 +569,7 @@ class W extends _ {
|
| 569 | 569 |
`; |
| 570 | 570 |
} |
| 571 | 571 |
} |
| 572 |
-b(W, "styles", D` |
|
| 572 |
+p(W, "styles", f` |
|
| 573 | 573 |
:host {
|
| 574 | 574 |
--luumicore-card-bg: var(--luumicore-secondary, #fff); |
| 575 | 575 |
--luumicore-card-border-color: var(--luumicore-secondary, #fff); |
| ... | ... |
@@ -611,21 +611,21 @@ b(W, "styles", D` |
| 611 | 611 |
border-top: 1px solid var(--luumicore-border-color, #ddd); |
| 612 | 612 |
background-color: var(--luumicore-footer-bg, #f8f9fa); |
| 613 | 613 |
} |
| 614 |
- `), b(W, "properties", {
|
|
| 614 |
+ `), p(W, "properties", {
|
|
| 615 | 615 |
imageUrl: { type: String, attribute: "image-url" },
|
| 616 | 616 |
imageAlt: { type: String, attribute: "image-alt" }
|
| 617 | 617 |
}); |
| 618 | 618 |
customElements.define("luumicore-card", W);
|
| 619 |
-class ut extends _ {
|
|
| 619 |
+class _e extends g {
|
|
| 620 | 620 |
render() {
|
| 621 |
- return H` |
|
| 621 |
+ return c` |
|
| 622 | 622 |
<ul> |
| 623 | 623 |
<slot></slot> |
| 624 | 624 |
</ul> |
| 625 | 625 |
`; |
| 626 | 626 |
} |
| 627 | 627 |
} |
| 628 |
-b(ut, "styles", D` |
|
| 628 |
+p(_e, "styles", f` |
|
| 629 | 629 |
:host {
|
| 630 | 630 |
display: block; |
| 631 | 631 |
} |
| ... | ... |
@@ -639,10 +639,10 @@ b(ut, "styles", D` |
| 639 | 639 |
overflow: hidden; |
| 640 | 640 |
} |
| 641 | 641 |
`); |
| 642 |
-customElements.define("luumicore-list", ut);
|
|
| 643 |
-class pt extends _ {
|
|
| 642 |
+customElements.define("luumicore-list", _e);
|
|
| 643 |
+class Ae extends g {
|
|
| 644 | 644 |
render() {
|
| 645 |
- return H` |
|
| 645 |
+ return c` |
|
| 646 | 646 |
<div class="item-container"> |
| 647 | 647 |
<div class="content"> |
| 648 | 648 |
<slot></slot> |
| ... | ... |
@@ -659,7 +659,7 @@ class pt extends _ {
|
| 659 | 659 |
`; |
| 660 | 660 |
} |
| 661 | 661 |
} |
| 662 |
-b(pt, "styles", D` |
|
| 662 |
+p(Ae, "styles", f` |
|
| 663 | 663 |
:host {
|
| 664 | 664 |
display: block; |
| 665 | 665 |
border-bottom: 1px solid var(--luumicore-border-color, #ddd); |
| ... | ... |
@@ -692,14 +692,512 @@ b(pt, "styles", D` |
| 692 | 692 |
margin-left: auto; |
| 693 | 693 |
} |
| 694 | 694 |
`); |
| 695 |
-customElements.define("luumicore-list-item", pt);
|
|
| 695 |
+customElements.define("luumicore-list-item", Ae);
|
|
| 696 |
+class q extends g {
|
|
| 697 |
+ _getIcon(e) {
|
|
| 698 |
+ const t = e.toLowerCase(); |
|
| 699 |
+ return t === "pdf" ? c`<svg class="type-pdf" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><path d="M9 15l3 3 3-3"></path><path d="M12 18v-6"></path><text x="6" y="22" font-size="6" font-weight="bold" fill="currentColor" stroke="none">PDF</text></svg>` : t === "docx" || t === "doc" ? c`<svg class="type-doc" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><line x1="10" y1="9" x2="8" y2="9"></line></svg>` : c`<svg class="type-default" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"></path><polyline points="13 2 13 9 20 9"></polyline></svg>`; |
|
| 700 |
+ } |
|
| 701 |
+ render() {
|
|
| 702 |
+ return c` |
|
| 703 |
+ <div class="file-card ${this.file.isNew ? "has-new" : ""}">
|
|
| 704 |
+ ${this.file.isNew ? c`<div class="new-dot"></div>` : ""}
|
|
| 705 |
+ |
|
| 706 |
+ <div class="icon-container"> |
|
| 707 |
+ ${this._getIcon(this.file.type)}
|
|
| 708 |
+ </div> |
|
| 709 |
+ |
|
| 710 |
+ <div class="file-info"> |
|
| 711 |
+ <div class="file-name">${this.file.name}</div>
|
|
| 712 |
+ <div class="file-meta">${this.file.date} ${this.file.size}</div>
|
|
| 713 |
+ </div> |
|
| 714 |
+ |
|
| 715 |
+ <div class="download-btn"> |
|
| 716 |
+ <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg> |
|
| 717 |
+ </div> |
|
| 718 |
+ </div> |
|
| 719 |
+ `; |
|
| 720 |
+ } |
|
| 721 |
+} |
|
| 722 |
+p(q, "properties", {
|
|
| 723 |
+ file: { type: Object }
|
|
| 724 |
+ // { name, date, size, type, isNew }
|
|
| 725 |
+}), p(q, "styles", f` |
|
| 726 |
+ :host {
|
|
| 727 |
+ display: block; |
|
| 728 |
+ margin-bottom: 12px; |
|
| 729 |
+ } |
|
| 730 |
+ .file-card {
|
|
| 731 |
+ background-color: var(--bg-card); /* Standard: Grau für gelesene Dateien */ |
|
| 732 |
+ border-radius: var(--radius-sm); |
|
| 733 |
+ padding: 12px 16px; |
|
| 734 |
+ display: flex; |
|
| 735 |
+ align-items: center; |
|
| 736 |
+ border: 1px solid var(--border-color); |
|
| 737 |
+ box-shadow: var(--shadow-sm); |
|
| 738 |
+ position: relative; |
|
| 739 |
+ } |
|
| 740 |
+ |
|
| 741 |
+ /* UPDATE: Styling für neue Dateien (Weißer BG + Farbiger Rand) */ |
|
| 742 |
+ .file-card.has-new {
|
|
| 743 |
+ background-color: var(--bg-white); |
|
| 744 |
+ border-color: var(--primary-color); |
|
| 745 |
+ } |
|
| 746 |
+ |
|
| 747 |
+ .icon-container {
|
|
| 748 |
+ width: 40px; |
|
| 749 |
+ height: 40px; |
|
| 750 |
+ display: flex; |
|
| 751 |
+ align-items: center; |
|
| 752 |
+ justify-content: center; |
|
| 753 |
+ margin-right: 16px; |
|
| 754 |
+ flex-shrink: 0; |
|
| 755 |
+ } |
|
| 756 |
+ .icon-container svg {
|
|
| 757 |
+ width: 32px; |
|
| 758 |
+ height: 32px; |
|
| 759 |
+ } |
|
| 760 |
+ .file-info {
|
|
| 761 |
+ flex: 1; |
|
| 762 |
+ min-width: 0; /* Text truncation fix */ |
|
| 763 |
+ } |
|
| 764 |
+ .file-name {
|
|
| 765 |
+ font-weight: 400; /* UPDATE: Standard nicht fett */ |
|
| 766 |
+ font-size: 0.9rem; |
|
| 767 |
+ color: var(--text-dark); |
|
| 768 |
+ margin-bottom: 4px; |
|
| 769 |
+ white-space: nowrap; |
|
| 770 |
+ overflow: hidden; |
|
| 771 |
+ text-overflow: ellipsis; |
|
| 772 |
+ } |
|
| 773 |
+ /* UPDATE: Fett nur wenn neu */ |
|
| 774 |
+ .has-new .file-name {
|
|
| 775 |
+ font-weight: 700; |
|
| 776 |
+ } |
|
| 777 |
+ |
|
| 778 |
+ .file-meta {
|
|
| 779 |
+ font-size: 0.75rem; |
|
| 780 |
+ color: var(--text-muted); |
|
| 781 |
+ } |
|
| 782 |
+ .download-btn {
|
|
| 783 |
+ width: 36px; |
|
| 784 |
+ height: 36px; |
|
| 785 |
+ border: 1px solid var(--primary-color); |
|
| 786 |
+ border-radius: 8px; |
|
| 787 |
+ display: flex; |
|
| 788 |
+ align-items: center; |
|
| 789 |
+ justify-content: center; |
|
| 790 |
+ |
|
| 791 |
+ /* UPDATE: Standard Button Style (Weiß) */ |
|
| 792 |
+ background-color: var(--bg-white); |
|
| 793 |
+ color: var(--primary-color); |
|
| 794 |
+ |
|
| 795 |
+ cursor: pointer; |
|
| 796 |
+ margin-left: 12px; |
|
| 797 |
+ flex-shrink: 0; |
|
| 798 |
+ |
|
| 799 |
+ /* UPDATE: Transition angepasst an WinzerCard */ |
|
| 800 |
+ transition: transform 0.1s, background-color 0.2s; |
|
| 801 |
+ } |
|
| 802 |
+ |
|
| 803 |
+ /* UPDATE: Klick-Effekt hinzugefügt (wie bei WinzerCard) */ |
|
| 804 |
+ .download-btn:active {
|
|
| 805 |
+ transform: scale(0.95); |
|
| 806 |
+ } |
|
| 807 |
+ |
|
| 808 |
+ /* UPDATE: Button Style für neue Dateien (Primärfarbe) */ |
|
| 809 |
+ .has-new .download-btn {
|
|
| 810 |
+ background-color: var(--primary-color); |
|
| 811 |
+ color: white; |
|
| 812 |
+ } |
|
| 813 |
+ |
|
| 814 |
+ .download-btn svg {
|
|
| 815 |
+ width: 20px; |
|
| 816 |
+ height: 20px; |
|
| 817 |
+ } |
|
| 818 |
+ |
|
| 819 |
+ /* New Indicator Dot */ |
|
| 820 |
+ .new-dot {
|
|
| 821 |
+ position: absolute; |
|
| 822 |
+ left: 6px; /* UPDATE: Position angepasst für fixe Ausrichtung */ |
|
| 823 |
+ top: 50%; |
|
| 824 |
+ transform: translateY(-50%); |
|
| 825 |
+ width: 6px; |
|
| 826 |
+ height: 6px; |
|
| 827 |
+ background-color: var(--primary-color); |
|
| 828 |
+ border-radius: 50%; |
|
| 829 |
+ } |
|
| 830 |
+ /* UPDATE: Padding-Shift entfernt, damit Icons ausgerichtet bleiben */ |
|
| 831 |
+ |
|
| 832 |
+ /* Type Colors */ |
|
| 833 |
+ .type-pdf { color: var(--alert-color); }
|
|
| 834 |
+ .type-doc { color: #2b5797; } /* Word blueish */
|
|
| 835 |
+ .type-default { color: var(--text-muted); }
|
|
| 836 |
+ `); |
|
| 837 |
+customElements.define("winzer-file-card", q);
|
|
| 838 |
+class G extends g {
|
|
| 839 |
+ _timeToGridRow(e) {
|
|
| 840 |
+ if (!e) return 1; |
|
| 841 |
+ const [t, i] = e.split(":").map(Number);
|
|
| 842 |
+ return t * 4 + Math.floor(i / 15) + 1; |
|
| 843 |
+ } |
|
| 844 |
+ _formatNumber(e) {
|
|
| 845 |
+ return new Intl.NumberFormat("de-DE").format(e);
|
|
| 846 |
+ } |
|
| 847 |
+ render() {
|
|
| 848 |
+ const e = Array.from({ length: 24 }, (t, i) => i);
|
|
| 849 |
+ return c`<div class="scroll-container"><div class="day-grid">${e.map((t) => c`<div class="time-label" style="grid-row: ${t * 4 + 1}">${t.toString().padStart(2, "0")}:00</div>`)}${this.events ? this.events.map((t) => {
|
|
| 850 |
+ const i = this._timeToGridRow(t.start), r = this._timeToGridRow(t.end), s = r - i <= 2, l = t.total && t.booked >= t.total; |
|
| 851 |
+ let a = "", d = c``; |
|
| 852 |
+ if (t.total && t.total > 0) {
|
|
| 853 |
+ const u = Math.min(100, Math.round(t.booked / t.total * 100)); |
|
| 854 |
+ a = `${this._formatNumber(t.booked)} / ${this._formatNumber(t.total)} kg`, d = c`<div class="progress-track"><div class="progress-fill" style="width: ${u}%;"></div></div>`;
|
|
| 855 |
+ } |
|
| 856 |
+ return c`<div class="event-item ${s ? "short-event" : ""} ${l ? "fully-booked" : ""}" style="grid-row: ${i} / ${r};" title="${t.title}"><div class="event-title">${t.title}</div><div class="event-details-row">${l ? c`<span class="badge-booked-out">Ausgebucht</span>` : ""}${!s || !l ? c`<span class="capacity-text">${a}</span>` : ""}${s && a ? "" : c`<span style="margin-left:8px;">${t.start} - ${t.end}</span>`}</div>${d}</div>`;
|
|
| 857 |
+ }) : ""}<div class="grid-spacer"></div></div></div>`; |
|
| 858 |
+ } |
|
| 859 |
+} |
|
| 860 |
+p(G, "properties", { events: { type: Array } }), p(G, "styles", f`
|
|
| 861 |
+ :host { display: block; background: var(--bg-white); border-radius: var(--radius-card); box-shadow: var(--shadow-sm); overflow: hidden; height: 600px; display: flex; flex-direction: column; }
|
|
| 862 |
+ .scroll-container { flex: 1; overflow-y: auto; position: relative; }
|
|
| 863 |
+ .day-grid { display: grid; grid-template-columns: 50px 1fr; grid-auto-rows: 20px; background-image: linear-gradient(to bottom, var(--border-color) 1px, transparent 1px); background-size: 100% 80px; background-attachment: local; }
|
|
| 864 |
+ .time-label { grid-column: 1; text-align: right; padding-right: 10px; font-size: 0.75rem; color: var(--text-muted); line-height: 1; transform: translateY(-50%); margin-top: 1px; }
|
|
| 865 |
+ .event-item { grid-column: 2; background-color: var(--primary-light); border-left: 4px solid var(--primary-color); border: 1px solid rgba(0,0,0,0.05); border-left-width: 4px; border-radius: 4px; padding: 6px 8px; font-size: 0.8rem; color: var(--primary-color); overflow: hidden; box-shadow: var(--shadow-sm); cursor: pointer; margin-right: 10px; margin-bottom: 2px; display: flex; flex-direction: column; justify-content: flex-start; gap: 4px; transition: transform 0.1s, filter 0.1s; }
|
|
| 866 |
+ .event-item:active { transform: scale(0.98); filter: brightness(0.95); }
|
|
| 867 |
+ .event-title { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.2; }
|
|
| 868 |
+ .event-details-row { display: flex; justify-content: space-between; align-items: center; font-size: 0.7rem; opacity: 0.8; line-height: 1.2; }
|
|
| 869 |
+ .capacity-text { font-weight: 600; }
|
|
| 870 |
+ .progress-track { width: 100%; height: 6px; background-color: rgba(255,255,255,0.6); border-radius: 3px; overflow: hidden; margin-top: auto; }
|
|
| 871 |
+ .progress-fill { height: 100%; background-color: var(--primary-color); border-radius: 3px; transition: width 0.3s ease; }
|
|
| 872 |
+ .event-item.fully-booked { border-color: var(--alert-color); border-left-width: 4px; background-color: var(--alert-light); color: #b71c1c; }
|
|
| 873 |
+ .event-item.fully-booked .progress-fill { background-color: var(--alert-color); }
|
|
| 874 |
+ .badge-booked-out { background-color: var(--alert-color); color: white; font-size: 0.6rem; padding: 2px 6px; border-radius: 4px; font-weight: bold; text-transform: uppercase; margin-right: 6px; display: inline-block; }
|
|
| 875 |
+ .event-item.short-event { flex-direction: row; align-items: center; justify-content: space-between; padding: 0 6px; padding-bottom: 4px; gap: 8px; position: relative; }
|
|
| 876 |
+ .event-item.short-event .event-title { flex: 1; min-width: 0; }
|
|
| 877 |
+ .event-item.short-event .event-details-row { flex-shrink: 0; display: flex; align-items: center; }
|
|
| 878 |
+ .event-item.short-event .progress-track { position: absolute; bottom: 0; left: 0; right: 0; width: 100%; height: 2px; margin-top: 0; border-radius: 0; background-color: rgba(0,0,0,0.05); }
|
|
| 879 |
+ .event-item.short-event .progress-fill { border-radius: 0; }
|
|
| 880 |
+ .grid-spacer { grid-column: 1 / -1; grid-row: 97; height: 20px; }
|
|
| 881 |
+ `); |
|
| 882 |
+customElements.define("winzer-day-view", G);
|
|
| 883 |
+class Y extends g {
|
|
| 884 |
+ _handleItemClick(e) {
|
|
| 885 |
+ this.dispatchEvent(new CustomEvent("item-click", { detail: { action: e.action, label: e.label }, bubbles: !0, composed: !0 }));
|
|
| 886 |
+ } |
|
| 887 |
+ render() {
|
|
| 888 |
+ return !this.items || this.items.length === 0 ? c`` : c`<div class="menu-group">${this.items.map((e) => c`<div class="menu-item" @click="${() => this._handleItemClick(e)}"><div class="menu-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">${e.icon}</svg></div><span>${e.label}</span><svg class="chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 18l6-6-6-6"/></svg></div>`)}</div>`;
|
|
| 889 |
+ } |
|
| 890 |
+} |
|
| 891 |
+p(Y, "properties", { items: { type: Array } }), p(Y, "styles", f`
|
|
| 892 |
+ :host { display: block; margin-bottom: 20px; }
|
|
| 893 |
+ .menu-group { background-color: var(--bg-card); border-radius: var(--radius-sm); overflow: hidden; box-shadow: var(--shadow-sm); }
|
|
| 894 |
+ .menu-item { display: flex; align-items: center; padding: 16px 20px; cursor: pointer; background: var(--bg-white); border-bottom: 1px solid var(--border-color); font-size: 0.95rem; font-weight: 600; color: var(--text-dark); }
|
|
| 895 |
+ .menu-item:last-child { border-bottom: none; }
|
|
| 896 |
+ .menu-item:active { background-color: #f9f9f9; }
|
|
| 897 |
+ .menu-icon { width: 24px; height: 24px; margin-right: 16px; color: var(--primary-color); display: flex; justify-content: center; align-items: center; }
|
|
| 898 |
+ .menu-icon svg { width: 100%; height: 100%; display: block; }
|
|
| 899 |
+ .chevron { margin-left: auto; color: var(--primary-color); width: 18px; height: 18px; }
|
|
| 900 |
+ `); |
|
| 901 |
+customElements.define("winzer-menu-group", Y);
|
|
| 902 |
+class Z extends g {
|
|
| 903 |
+ _close() {
|
|
| 904 |
+ this.dispatchEvent(new CustomEvent("close"));
|
|
| 905 |
+ } |
|
| 906 |
+ render() {
|
|
| 907 |
+ return c`<div class="backdrop" @click="${(e) => e.target.classList.contains("backdrop") && this._close()}"><div class="modal-container"><div class="modal-header"><span>${this.title}</span><div class="close-btn" @click="${this._close}"><svg viewBox="0 0 24 24"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></div></div><slot></slot></div></div>`;
|
|
| 908 |
+ } |
|
| 909 |
+} |
|
| 910 |
+p(Z, "properties", { open: { type: Boolean }, title: { type: String } }), p(Z, "styles", f`
|
|
| 911 |
+ :host { display: block; }
|
|
| 912 |
+ .backdrop { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(var(--primary-rgb), 0.85); backdrop-filter: blur(4px); z-index: 1000; display: flex; justify-content: center; align-items: flex-start; padding-top: 120px; opacity: 0; pointer-events: none; transition: opacity 0.3s ease; }
|
|
| 913 |
+ :host([open]) .backdrop { opacity: 1; pointer-events: all; }
|
|
| 914 |
+ .modal-container { width: 90%; max-width: 400px; display: flex; flex-direction: column; gap: 16px; transform: translateY(20px); transition: transform 0.3s ease; }
|
|
| 915 |
+ :host([open]) .modal-container { transform: translateY(0); }
|
|
| 916 |
+ .modal-header { background-color: var(--primary-light); color: var(--primary-color); padding: 16px 20px; border-radius: var(--radius-sm); display: flex; justify-content: space-between; align-items: center; font-weight: 600; font-size: 0.95rem; text-transform: uppercase; box-shadow: var(--shadow-lg); }
|
|
| 917 |
+ .close-btn { cursor: pointer; width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; }
|
|
| 918 |
+ .close-btn svg { width: 20px; height: 20px; stroke: var(--primary-color); stroke-width: 2; }
|
|
| 919 |
+ `); |
|
| 920 |
+customElements.define("winzer-modal", Z);
|
|
| 921 |
+class K extends g {
|
|
| 922 |
+ render() {
|
|
| 923 |
+ return c`<div class="card"><div class="header"><span>${this.category}</span><span>${this.date}</span></div><h3>${this.title}</h3><p>${this.text}</p>${this.hasAttachment ? c`<div class="attachment-icon"><svg viewBox="0 0 24 24"><path d="M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5a2.5 2.5 0 0 1 5 0v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5a2.5 2.5 0 0 0 5 0V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z"/></svg></div>` : ""}<div class="action-btn"><svg viewBox="0 0 24 24"><path d="M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z"/></svg></div></div>`;
|
|
| 924 |
+ } |
|
| 925 |
+} |
|
| 926 |
+p(K, "properties", { category: { type: String }, date: { type: String }, title: { type: String }, text: { type: String }, hasAttachment: { type: Boolean } }), p(K, "styles", f`
|
|
| 927 |
+ :host { display: block; margin-bottom: 35px; }
|
|
| 928 |
+ .card { background-color: var(--bg-card); border-radius: var(--radius-card); padding: 20px 20px 40px 20px; position: relative; color: var(--text-main); display: block; }
|
|
| 929 |
+ .header { display: flex; justify-content: space-between; font-size: 0.8rem; color: var(--text-muted); margin-bottom: 8px; }
|
|
| 930 |
+ h3 { color: var(--primary-color); margin: 0 0 8px 0; font-size: 1.1rem; font-weight: 600; }
|
|
| 931 |
+ p { margin: 0; font-size: 0.95rem; line-height: 1.4; color: var(--text-dark); padding-right: 25px; }
|
|
| 932 |
+ .attachment-icon { position: absolute; right: 20px; top: 50%; transform: translateY(-50%); color: var(--primary-color); }
|
|
| 933 |
+ .action-btn { position: absolute; bottom: -20px; right: 20px; background-color: var(--primary-color); color: var(--bg-white); width: 48px; height: 48px; border-radius: var(--radius-sm); display: flex; align-items: center; justify-content: center; box-shadow: var(--shadow-md); cursor: pointer; transition: transform 0.1s; z-index: 10; }
|
|
| 934 |
+ .action-btn:active { transform: scale(0.95); }
|
|
| 935 |
+ svg { width: 24px; height: 24px; fill: currentColor; }
|
|
| 936 |
+ `); |
|
| 937 |
+customElements.define("winzer-card", K);
|
|
| 938 |
+class J extends g {
|
|
| 939 |
+ _handleUserClick() {
|
|
| 940 |
+ this.dispatchEvent(new CustomEvent("user-click", { bubbles: !0, composed: !0 }));
|
|
| 941 |
+ } |
|
| 942 |
+ render() {
|
|
| 943 |
+ return c`<div class="top-bar"><div class="logo-placeholder"><span>luumi</span><span>CORE</span></div><div class="title-group"><div class="main-title">${this.mainTitle || ""}</div><div class="sub-title">${this.subTitle || ""}</div></div><svg class="user-icon" @click="${this._handleUserClick}" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-width="2" d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4" fill="none" stroke="currentColor" stroke-width="2"/></svg></div>`;
|
|
| 944 |
+ } |
|
| 945 |
+} |
|
| 946 |
+p(J, "properties", { mainTitle: { type: String, attribute: "main-title" }, subTitle: { type: String, attribute: "sub-title" } }), p(J, "styles", f`
|
|
| 947 |
+ :host { display: block; background: var(--bg-white); padding: 10px 20px; border-bottom: 1px solid var(--border-color); }
|
|
| 948 |
+ .top-bar { display: flex; align-items: center; justify-content: space-between; height: 60px; }
|
|
| 949 |
+ .logo-placeholder { border: 1px solid var(--primary-color); width: 40px; height: 40px; display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: 8px; color: var(--primary-color); font-weight: bold; line-height: 1; }
|
|
| 950 |
+ .title-group { text-align: center; }
|
|
| 951 |
+ .main-title { color: var(--primary-color); font-weight: bold; font-size: 1rem; text-transform: uppercase; }
|
|
| 952 |
+ .sub-title { font-size: 0.9rem; color: var(--primary-color); }
|
|
| 953 |
+ .user-icon { width: 32px; height: 32px; color: var(--text-main); cursor: pointer; }
|
|
| 954 |
+ `); |
|
| 955 |
+customElements.define("winzer-header", J);
|
|
| 956 |
+class X extends g {
|
|
| 957 |
+ constructor() {
|
|
| 958 |
+ super(), this.items = []; |
|
| 959 |
+ } |
|
| 960 |
+ render() {
|
|
| 961 |
+ return !this.items || this.items.length === 0 ? c`` : c` |
|
| 962 |
+ <div class="nav-bar"> |
|
| 963 |
+ ${this.items.map((e) => c`
|
|
| 964 |
+ <a href="${e.url || "#"}" class="nav-item ${this.activeTab === e.id ? "active" : ""}">
|
|
| 965 |
+ ${e.icon}
|
|
| 966 |
+ <span>${e.label}</span>
|
|
| 967 |
+ </a> |
|
| 968 |
+ `)} |
|
| 969 |
+ </div> |
|
| 970 |
+ `; |
|
| 971 |
+ } |
|
| 972 |
+} |
|
| 973 |
+p(X, "properties", {
|
|
| 974 |
+ activeTab: { type: String },
|
|
| 975 |
+ items: { type: Array }
|
|
| 976 |
+ // [{ id: 'news', label: 'News', icon: '...', url: '/news' }]
|
|
| 977 |
+}), p(X, "styles", f` |
|
| 978 |
+ :host { position: fixed; bottom: 0; left: 0; width: 100%; background: var(--bg-white); border-top: 1px solid var(--border-color); padding-bottom: env(safe-area-inset-bottom); z-index: 100; }
|
|
| 979 |
+ .nav-bar { display: flex; justify-content: space-around; padding: 10px 0; }
|
|
| 980 |
+ .nav-item { display: flex; flex-direction: column; align-items: center; font-size: 0.7rem; color: var(--text-main); cursor: pointer; width: 80px; text-decoration: none; }
|
|
| 981 |
+ .nav-item.active { color: var(--primary-color); }
|
|
| 982 |
+ .nav-item svg { width: 24px; height: 24px; margin-bottom: 4px; fill: none; stroke: currentColor; stroke-width: 2; }
|
|
| 983 |
+ `); |
|
| 984 |
+customElements.define("winzer-nav", X);
|
|
| 985 |
+class Q extends g {
|
|
| 986 |
+ render() {
|
|
| 987 |
+ return c`<label class="switch"><input type="checkbox" ?checked="${this.checked}" @change="${(e) => this.checked = e.target.checked}"><span class="slider"></span></label>`;
|
|
| 988 |
+ } |
|
| 989 |
+} |
|
| 990 |
+p(Q, "properties", { checked: { type: Boolean } }), p(Q, "styles", f`
|
|
| 991 |
+ .switch { position: relative; display: inline-block; width: 44px; height: 24px; }
|
|
| 992 |
+ .switch input { opacity: 0; width: 0; height: 0; }
|
|
| 993 |
+ .slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #ddd; transition: .4s; border-radius: 24px; }
|
|
| 994 |
+ .slider:before { position: absolute; content: ""; height: 18px; width: 18px; left: 3px; bottom: 3px; background-color: var(--bg-white); transition: .4s; border-radius: 50%; }
|
|
| 995 |
+ input:checked + .slider { background-color: var(--primary-color); }
|
|
| 996 |
+ input:checked + .slider:before { transform: translateX(20px); }
|
|
| 997 |
+ `); |
|
| 998 |
+customElements.define("toggle-switch", Q);
|
|
| 999 |
+class ee extends g {
|
|
| 1000 |
+ constructor() {
|
|
| 1001 |
+ super(), this.isUserModalOpen = !1, this.isFilterModalOpen = !1, this.currentTab = "news", this.appTitle = "WINZER-PORTAL", this.appSubtitle = "Badischer Winzerkeller", this.navItems = [ |
|
| 1002 |
+ {
|
|
| 1003 |
+ id: "news", |
|
| 1004 |
+ label: "News", |
|
| 1005 |
+ url: "/news", |
|
| 1006 |
+ icon: w`<svg viewBox="0 0 24 24"><path d="M19 20H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h10a2 2 0 0 1 2-2v1m2 13a2 2 0 0 1-2-2V7m2 13a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-2m-4-3H9M7 16h6M7 8h6v4H7V8z"/></svg>` |
|
| 1007 |
+ }, |
|
| 1008 |
+ {
|
|
| 1009 |
+ id: "anlieferung", |
|
| 1010 |
+ label: "Anlieferung", |
|
| 1011 |
+ url: "/anlieferung", |
|
| 1012 |
+ icon: w`<svg viewBox="0 0 24 24"><circle cx="12" cy="10" r="2"/><circle cx="15.5" cy="8" r="2"/><circle cx="8.5" cy="8" r="2"/><circle cx="12" cy="6" r="2"/><circle cx="10" cy="13" r="2"/><circle cx="14" cy="13" r="2"/><circle cx="12" cy="16" r="2"/><path d="M12 2v4" stroke-linecap="round"/></svg>` |
|
| 1013 |
+ }, |
|
| 1014 |
+ {
|
|
| 1015 |
+ id: "tresor", |
|
| 1016 |
+ label: "Datei-Tresor", |
|
| 1017 |
+ url: "/tresor", |
|
| 1018 |
+ icon: w`<svg viewBox="0 0 24 24"><path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"/><path d="M12 12v3"/><path d="M12 12v-1"/></svg>` |
|
| 1019 |
+ } |
|
| 1020 |
+ ], this.menuAccount = [ |
|
| 1021 |
+ { label: "Persönliche Daten", icon: w`<path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/>`, action: "profile" },
|
|
| 1022 |
+ { label: "Sicherheits-Einstellungen", icon: w`<rect x="3" y="11" width="18" height="11" rx="2" ry="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/>`, action: "security" },
|
|
| 1023 |
+ { label: "Meine Buchungen", icon: w`<circle cx="12" cy="10" r="2"/><circle cx="15.5" cy="8" r="2"/><circle cx="8.5" cy="8" r="2"/><circle cx="12" cy="6" r="2"/><circle cx="10" cy="13" r="2"/><circle cx="14" cy="13" r="2"/><circle cx="12" cy="16" r="2"/><path d="M12 2v4"/>`, action: "bookings" }
|
|
| 1024 |
+ ], this.menuSession = [ |
|
| 1025 |
+ { label: "Abmelden", icon: w`<path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"/><polyline points="16 17 21 12 16 7"/><line x1="21" y1="12" x2="9" y2="12"/>`, action: "logout" }
|
|
| 1026 |
+ ]; |
|
| 1027 |
+ } |
|
| 1028 |
+ render() {
|
|
| 1029 |
+ return c` |
|
| 1030 |
+ <!-- Header --> |
|
| 1031 |
+ <winzer-header |
|
| 1032 |
+ .mainTitle="${this.appTitle}"
|
|
| 1033 |
+ .subTitle="${this.appSubtitle}"
|
|
| 1034 |
+ @user-click="${() => this.isUserModalOpen = !0}">
|
|
| 1035 |
+ </winzer-header> |
|
| 1036 |
+ |
|
| 1037 |
+ <div class="content"> |
|
| 1038 |
+ <!-- Dynamic Content Slot --> |
|
| 1039 |
+ <!-- |
|
| 1040 |
+ The main content is now injected via the default slot. |
|
| 1041 |
+ Contao renders the page content, and it gets placed here. |
|
| 1042 |
+ --> |
|
| 1043 |
+ <slot></slot> |
|
| 1044 |
+ </div> |
|
| 1045 |
+ |
|
| 1046 |
+ <!-- Bottom Nav --> |
|
| 1047 |
+ <winzer-nav |
|
| 1048 |
+ .activeTab="${this.currentTab}"
|
|
| 1049 |
+ .items="${this.navItems}">
|
|
| 1050 |
+ </winzer-nav> |
|
| 1051 |
+ |
|
| 1052 |
+ <!-- MODAL: USER --> |
|
| 1053 |
+ <winzer-modal title="Mein Benutzerkonto" ?open="${this.isUserModalOpen}" @close="${() => this.isUserModalOpen = !1}">
|
|
| 1054 |
+ <winzer-menu-group .items="${this.menuAccount}"></winzer-menu-group>
|
|
| 1055 |
+ <winzer-menu-group .items="${this.menuSession}"></winzer-menu-group>
|
|
| 1056 |
+ </winzer-modal> |
|
| 1057 |
+ |
|
| 1058 |
+ <!-- MODAL: FILTER --> |
|
| 1059 |
+ <winzer-modal title="FILTER - EINSTELLUNGEN" ?open="${this.isFilterModalOpen}" @close="${() => this.isFilterModalOpen = !1}">
|
|
| 1060 |
+ <div class="filter-content"> |
|
| 1061 |
+ <div class="filter-row"> |
|
| 1062 |
+ <label> |
|
| 1063 |
+ <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="7" height="7"></rect><rect x="14" y="3" width="7" height="7"></rect><rect x="14" y="14" width="7" height="7"></rect><rect x="3" y="14" width="7" height="7"></rect></svg> |
|
| 1064 |
+ Kategorie: |
|
| 1065 |
+ </label> |
|
| 1066 |
+ <select class="filter-select"> |
|
| 1067 |
+ <option>Traubengeld</option> |
|
| 1068 |
+ <option>Rechnungen</option> |
|
| 1069 |
+ </select> |
|
| 1070 |
+ </div> |
|
| 1071 |
+ <div class="filter-row"> |
|
| 1072 |
+ <label> |
|
| 1073 |
+ <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg> |
|
| 1074 |
+ Zeitraum: |
|
| 1075 |
+ </label> |
|
| 1076 |
+ <select class="filter-select"> |
|
| 1077 |
+ <option>Letzter Monat</option> |
|
| 1078 |
+ <option>Dieses Jahr</option> |
|
| 1079 |
+ </select> |
|
| 1080 |
+ </div> |
|
| 1081 |
+ <div class="filter-row" style="margin-top: 20px;"> |
|
| 1082 |
+ <label> |
|
| 1083 |
+ <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="21" y1="10" x2="3" y2="10"></line><line x1="21" y1="6" x2="3" y2="6"></line><line x1="21" y1="14" x2="3" y2="14"></line><line x1="21" y1="18" x2="3" y2="18"></line><polyline points="18 20 21 23 24 20"></polyline></svg> |
|
| 1084 |
+ Sortierung: |
|
| 1085 |
+ </label> |
|
| 1086 |
+ <select class="filter-select"> |
|
| 1087 |
+ <option>Datum absteigend</option> |
|
| 1088 |
+ <option>Datum aufsteigend</option> |
|
| 1089 |
+ </select> |
|
| 1090 |
+ </div> |
|
| 1091 |
+ |
|
| 1092 |
+ <button class="filter-btn" @click="${() => this.isFilterModalOpen = !1}">
|
|
| 1093 |
+ Filtern |
|
| 1094 |
+ <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg> |
|
| 1095 |
+ </button> |
|
| 1096 |
+ </div> |
|
| 1097 |
+ </winzer-modal> |
|
| 1098 |
+ `; |
|
| 1099 |
+ } |
|
| 1100 |
+} |
|
| 1101 |
+p(ee, "properties", {
|
|
| 1102 |
+ isUserModalOpen: { type: Boolean },
|
|
| 1103 |
+ isFilterModalOpen: { type: Boolean },
|
|
| 1104 |
+ currentTab: { type: String },
|
|
| 1105 |
+ // Configurable properties |
|
| 1106 |
+ appTitle: { type: String, attribute: "app-title" },
|
|
| 1107 |
+ appSubtitle: { type: String, attribute: "app-subtitle" },
|
|
| 1108 |
+ navItems: { type: Array },
|
|
| 1109 |
+ // [{ id, label, icon (svg string), url }]
|
|
| 1110 |
+ menuAccount: { type: Array },
|
|
| 1111 |
+ menuSession: { type: Array }
|
|
| 1112 |
+}), p(ee, "styles", f` |
|
| 1113 |
+ :host {
|
|
| 1114 |
+ display: block; |
|
| 1115 |
+ background-color: var(--bg-white); |
|
| 1116 |
+ min-height: 100vh; |
|
| 1117 |
+ width: 100%; |
|
| 1118 |
+ position: relative; |
|
| 1119 |
+ } |
|
| 1120 |
+ .content { padding: 20px; padding-bottom: 90px; }
|
|
| 1121 |
+ .section-header { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
|
|
| 1122 |
+ h1 { font-size: 1.5rem; font-weight: 800; margin: 0; text-transform: uppercase; }
|
|
| 1123 |
+ .abo-label { font-size: 0.8rem; font-weight: 600; margin-left: auto; margin-right: 8px; }
|
|
| 1124 |
+ |
|
| 1125 |
+ /* Filter Bar */ |
|
| 1126 |
+ .filter-bar {
|
|
| 1127 |
+ display: flex; |
|
| 1128 |
+ align-items: center; |
|
| 1129 |
+ font-size: 0.9rem; |
|
| 1130 |
+ font-weight: 600; |
|
| 1131 |
+ margin-bottom: 16px; |
|
| 1132 |
+ cursor: pointer; |
|
| 1133 |
+ } |
|
| 1134 |
+ .filter-icon {
|
|
| 1135 |
+ margin-left: 8px; |
|
| 1136 |
+ width: 24px; |
|
| 1137 |
+ height: 24px; |
|
| 1138 |
+ color: var(--text-dark); |
|
| 1139 |
+ } |
|
| 1140 |
+ |
|
| 1141 |
+ /* Filter Modal Styles */ |
|
| 1142 |
+ .filter-content {
|
|
| 1143 |
+ background-color: var(--bg-white); |
|
| 1144 |
+ padding: 16px; |
|
| 1145 |
+ border-radius: var(--radius-card); |
|
| 1146 |
+ box-shadow: var(--shadow-sm); |
|
| 1147 |
+ } |
|
| 1148 |
+ .filter-row {
|
|
| 1149 |
+ display: flex; |
|
| 1150 |
+ align-items: center; |
|
| 1151 |
+ justify-content: space-between; |
|
| 1152 |
+ margin-bottom: 12px; |
|
| 1153 |
+ } |
|
| 1154 |
+ .filter-row label {
|
|
| 1155 |
+ display: flex; |
|
| 1156 |
+ align-items: center; |
|
| 1157 |
+ font-weight: 700; |
|
| 1158 |
+ font-size: 0.9rem; |
|
| 1159 |
+ color: var(--text-dark); |
|
| 1160 |
+ } |
|
| 1161 |
+ .filter-row label svg {
|
|
| 1162 |
+ width: 20px; |
|
| 1163 |
+ height: 20px; |
|
| 1164 |
+ margin-right: 8px; |
|
| 1165 |
+ color: var(--primary-color); |
|
| 1166 |
+ } |
|
| 1167 |
+ .filter-select {
|
|
| 1168 |
+ background-color: var(--bg-white); |
|
| 1169 |
+ border: 1px solid var(--border-color); |
|
| 1170 |
+ border-radius: 8px; |
|
| 1171 |
+ padding: 8px 12px; |
|
| 1172 |
+ font-size: 0.9rem; |
|
| 1173 |
+ color: var(--text-dark); |
|
| 1174 |
+ width: 160px; |
|
| 1175 |
+ } |
|
| 1176 |
+ .filter-btn {
|
|
| 1177 |
+ width: 100%; |
|
| 1178 |
+ background-color: var(--primary-color); |
|
| 1179 |
+ color: white; |
|
| 1180 |
+ border: none; |
|
| 1181 |
+ border-radius: var(--radius-sm); |
|
| 1182 |
+ padding: 12px; |
|
| 1183 |
+ font-weight: 600; |
|
| 1184 |
+ font-size: 1rem; |
|
| 1185 |
+ margin-top: 20px; |
|
| 1186 |
+ display: flex; |
|
| 1187 |
+ align-items: center; |
|
| 1188 |
+ justify-content: center; |
|
| 1189 |
+ gap: 8px; |
|
| 1190 |
+ cursor: pointer; |
|
| 1191 |
+ } |
|
| 1192 |
+ `); |
|
| 1193 |
+customElements.define("winzer-app", ee);
|
|
| 696 | 1194 |
console.log("luumiCORE Core Bundle initialized");
|
| 697 |
-class $t extends _ {
|
|
| 1195 |
+class ke extends g {
|
|
| 698 | 1196 |
render() {
|
| 699 |
- return H`<p>Hello from luumiCORE!</p>`; |
|
| 1197 |
+ return c`<p>Hello from luumiCORE!</p>`; |
|
| 700 | 1198 |
} |
| 701 | 1199 |
} |
| 702 |
-b($t, "styles", D` |
|
| 1200 |
+p(ke, "styles", f` |
|
| 703 | 1201 |
:host {
|
| 704 | 1202 |
display: block; |
| 705 | 1203 |
padding: 16px; |
| ... | ... |
@@ -707,7 +1205,7 @@ b($t, "styles", D` |
| 707 | 1205 |
border: 1px solid var(--luumicore-primary, blue); |
| 708 | 1206 |
} |
| 709 | 1207 |
`); |
| 710 |
-customElements.define("luumicore-element", $t);
|
|
| 1208 |
+customElements.define("luumicore-element", ke);
|
|
| 711 | 1209 |
export {
|
| 712 |
- $t as LuumicoreElement |
|
| 1210 |
+ ke as LuumicoreElement |
|
| 713 | 1211 |
}; |
| ... | ... |
@@ -1,6 +1,6 @@ |
| 1 |
-var ft = Object.defineProperty; |
|
| 2 |
-var mt = (r, t, e) => t in r ? ft(r, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[t] = e;
|
|
| 3 |
-var b = (r, t, e) => mt(r, typeof t != "symbol" ? t + "" : t, e); |
|
| 1 |
+var mt = Object.defineProperty; |
|
| 2 |
+var ft = (r, t, e) => t in r ? mt(r, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[t] = e;
|
|
| 3 |
+var b = (r, t, e) => ft(r, typeof t != "symbol" ? t + "" : t, e); |
|
| 4 | 4 |
/** |
| 5 | 5 |
* @license |
| 6 | 6 |
* Copyright 2019 Google LLC |
| ... | ... |
@@ -48,7 +48,7 @@ const _t = (r) => new nt(typeof r == "string" ? r : r + "", void 0, Z), D = (r, |
| 48 | 48 |
* Copyright 2017 Google LLC |
| 49 | 49 |
* SPDX-License-Identifier: BSD-3-Clause |
| 50 | 50 |
*/ |
| 51 |
-const { is: At, defineProperty: yt, getOwnPropertyDescriptor: vt, getOwnPropertyNames: bt, getOwnPropertySymbols: Et, getPrototypeOf: St } = Object, m = globalThis, G = m.trustedTypes, xt = G ? G.emptyScript : "", L = m.reactiveElementPolyfillSupport, C = (r, t) => r, V = { toAttribute(r, t) {
|
|
| 51 |
+const { is: At, defineProperty: vt, getOwnPropertyDescriptor: yt, getOwnPropertyNames: bt, getOwnPropertySymbols: Et, getPrototypeOf: St } = Object, f = globalThis, G = f.trustedTypes, xt = G ? G.emptyScript : "", L = f.reactiveElementPolyfillSupport, C = (r, t) => r, V = { toAttribute(r, t) {
|
|
| 52 | 52 |
switch (t) {
|
| 53 | 53 |
case Boolean: |
| 54 | 54 |
r = r ? xt : null; |
| ... | ... |
@@ -77,7 +77,7 @@ const { is: At, defineProperty: yt, getOwnPropertyDescriptor: vt, getOwnProperty
|
| 77 | 77 |
} |
| 78 | 78 |
return e; |
| 79 | 79 |
} }, at = (r, t) => !At(r, t), Q = { attribute: !0, type: String, converter: V, reflect: !1, useDefault: !1, hasChanged: at };
|
| 80 |
-Symbol.metadata ?? (Symbol.metadata = Symbol("metadata")), m.litPropertyMetadata ?? (m.litPropertyMetadata = /* @__PURE__ */ new WeakMap());
|
|
| 80 |
+Symbol.metadata ?? (Symbol.metadata = Symbol("metadata")), f.litPropertyMetadata ?? (f.litPropertyMetadata = /* @__PURE__ */ new WeakMap());
|
|
| 81 | 81 |
let E = class extends HTMLElement {
|
| 82 | 82 |
static addInitializer(t) {
|
| 83 | 83 |
this._$Ei(), (this.l ?? (this.l = [])).push(t); |
| ... | ... |
@@ -88,11 +88,11 @@ let E = class extends HTMLElement {
|
| 88 | 88 |
static createProperty(t, e = Q) {
|
| 89 | 89 |
if (e.state && (e.attribute = !1), this._$Ei(), this.prototype.hasOwnProperty(t) && ((e = Object.create(e)).wrapped = !0), this.elementProperties.set(t, e), !e.noAccessor) {
|
| 90 | 90 |
const s = Symbol(), i = this.getPropertyDescriptor(t, s, e); |
| 91 |
- i !== void 0 && yt(this.prototype, t, i); |
|
| 91 |
+ i !== void 0 && vt(this.prototype, t, i); |
|
| 92 | 92 |
} |
| 93 | 93 |
} |
| 94 | 94 |
static getPropertyDescriptor(t, e, s) {
|
| 95 |
- const { get: i, set: n } = vt(this.prototype, t) ?? { get() {
|
|
| 95 |
+ const { get: i, set: n } = yt(this.prototype, t) ?? { get() {
|
|
| 96 | 96 |
return this[e]; |
| 97 | 97 |
}, set(o) {
|
| 98 | 98 |
this[e] = o; |
| ... | ... |
@@ -281,15 +281,15 @@ let E = class extends HTMLElement {
|
| 281 | 281 |
firstUpdated(t) {
|
| 282 | 282 |
} |
| 283 | 283 |
}; |
| 284 |
-E.elementStyles = [], E.shadowRootOptions = { mode: "open" }, E[C("elementProperties")] = /* @__PURE__ */ new Map(), E[C("finalized")] = /* @__PURE__ */ new Map(), L == null || L({ ReactiveElement: E }), (m.reactiveElementVersions ?? (m.reactiveElementVersions = [])).push("2.1.2");
|
|
| 284 |
+E.elementStyles = [], E.shadowRootOptions = { mode: "open" }, E[C("elementProperties")] = /* @__PURE__ */ new Map(), E[C("finalized")] = /* @__PURE__ */ new Map(), L == null || L({ ReactiveElement: E }), (f.reactiveElementVersions ?? (f.reactiveElementVersions = [])).push("2.1.2");
|
|
| 285 | 285 |
/** |
| 286 | 286 |
* @license |
| 287 | 287 |
* Copyright 2017 Google LLC |
| 288 | 288 |
* SPDX-License-Identifier: BSD-3-Clause |
| 289 | 289 |
*/ |
| 290 |
-const P = globalThis, X = (r) => r, k = P.trustedTypes, Y = k ? k.createPolicy("lit-html", { createHTML: (r) => r }) : void 0, lt = "$lit$", f = `lit$${Math.random().toFixed(9).slice(2)}$`, ht = "?" + f, wt = `<${ht}>`, v = document, U = () => v.createComment(""), O = (r) => r === null || typeof r != "object" && typeof r != "function", J = Array.isArray, Ct = (r) => J(r) || typeof (r == null ? void 0 : r[Symbol.iterator]) == "function", j = `[
|
|
| 290 |
+const P = globalThis, X = (r) => r, k = P.trustedTypes, Y = k ? k.createPolicy("lit-html", { createHTML: (r) => r }) : void 0, lt = "$lit$", m = `lit$${Math.random().toFixed(9).slice(2)}$`, ht = "?" + m, wt = `<${ht}>`, y = document, U = () => y.createComment(""), O = (r) => r === null || typeof r != "object" && typeof r != "function", J = Array.isArray, Ct = (r) => J(r) || typeof (r == null ? void 0 : r[Symbol.iterator]) == "function", j = `[
|
|
| 291 | 291 |
\f\r]`, w = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, tt = /-->/g, et = />/g, g = RegExp(`>|${j}(?:([^\\s"'>=/]+)(${j}*=${j}*(?:[^
|
| 292 |
-\f\r"'\`<>=]|("|')|))|$)`, "g"), st = /'/g, it = /"/g, ct = /^(?:script|style|textarea|title)$/i, Pt = (r) => (t, ...e) => ({ _$litType$: r, strings: t, values: e }), H = Pt(1), S = Symbol.for("lit-noChange"), d = Symbol.for("lit-nothing"), rt = /* @__PURE__ */ new WeakMap(), A = v.createTreeWalker(v, 129);
|
|
| 292 |
+\f\r"'\`<>=]|("|')|))|$)`, "g"), st = /'/g, it = /"/g, ct = /^(?:script|style|textarea|title)$/i, Pt = (r) => (t, ...e) => ({ _$litType$: r, strings: t, values: e }), H = Pt(1), S = Symbol.for("lit-noChange"), d = Symbol.for("lit-nothing"), rt = /* @__PURE__ */ new WeakMap(), A = y.createTreeWalker(y, 129);
|
|
| 293 | 293 |
function dt(r, t) {
|
| 294 | 294 |
if (!J(r) || !r.hasOwnProperty("raw")) throw Error("invalid template strings array");
|
| 295 | 295 |
return Y !== void 0 ? Y.createHTML(t) : t; |
| ... | ... |
@@ -302,7 +302,7 @@ const Ut = (r, t) => {
|
| 302 | 302 |
let c, u, h = -1, p = 0; |
| 303 | 303 |
for (; p < a.length && (o.lastIndex = p, u = o.exec(a), u !== null); ) p = o.lastIndex, o === w ? u[1] === "!--" ? o = tt : u[1] !== void 0 ? o = et : u[2] !== void 0 ? (ct.test(u[2]) && (i = RegExp("</" + u[2], "g")), o = g) : u[3] !== void 0 && (o = g) : o === g ? u[0] === ">" ? (o = i ?? w, h = -1) : u[1] === void 0 ? h = -2 : (h = o.lastIndex - u[2].length, c = u[1], o = u[3] === void 0 ? g : u[3] === '"' ? it : st) : o === it || o === st ? o = g : o === tt || o === et ? o = w : (o = g, i = void 0);
|
| 304 | 304 |
const $ = o === g && r[l + 1].startsWith("/>") ? " " : "";
|
| 305 |
- n += o === w ? a + wt : h >= 0 ? (s.push(c), a.slice(0, h) + lt + a.slice(h) + f + $) : a + f + (h === -2 ? l : $); |
|
| 305 |
+ n += o === w ? a + wt : h >= 0 ? (s.push(c), a.slice(0, h) + lt + a.slice(h) + m + $) : a + m + (h === -2 ? l : $); |
|
| 306 | 306 |
} |
| 307 | 307 |
return [dt(r, n + (r[e] || "<?>") + (t === 2 ? "</svg>" : t === 3 ? "</math>" : "")), s]; |
| 308 | 308 |
}; |
| ... | ... |
@@ -319,11 +319,11 @@ class M {
|
| 319 | 319 |
for (; (i = A.nextNode()) !== null && a.length < l; ) {
|
| 320 | 320 |
if (i.nodeType === 1) {
|
| 321 | 321 |
if (i.hasAttributes()) for (const h of i.getAttributeNames()) if (h.endsWith(lt)) {
|
| 322 |
- const p = u[o++], $ = i.getAttribute(h).split(f), R = /([.?@])?(.*)/.exec(p); |
|
| 322 |
+ const p = u[o++], $ = i.getAttribute(h).split(m), R = /([.?@])?(.*)/.exec(p); |
|
| 323 | 323 |
a.push({ type: 1, index: n, name: R[2], strings: $, ctor: R[1] === "." ? Ht : R[1] === "?" ? Mt : R[1] === "@" ? Nt : z }), i.removeAttribute(h);
|
| 324 |
- } else h.startsWith(f) && (a.push({ type: 6, index: n }), i.removeAttribute(h));
|
|
| 324 |
+ } else h.startsWith(m) && (a.push({ type: 6, index: n }), i.removeAttribute(h));
|
|
| 325 | 325 |
if (ct.test(i.tagName)) {
|
| 326 |
- const h = i.textContent.split(f), p = h.length - 1; |
|
| 326 |
+ const h = i.textContent.split(m), p = h.length - 1; |
|
| 327 | 327 |
if (p > 0) {
|
| 328 | 328 |
i.textContent = k ? k.emptyScript : ""; |
| 329 | 329 |
for (let $ = 0; $ < p; $++) i.append(h[$], U()), A.nextNode(), a.push({ type: 2, index: ++n });
|
| ... | ... |
@@ -333,13 +333,13 @@ class M {
|
| 333 | 333 |
} else if (i.nodeType === 8) if (i.data === ht) a.push({ type: 2, index: n });
|
| 334 | 334 |
else {
|
| 335 | 335 |
let h = -1; |
| 336 |
- for (; (h = i.data.indexOf(f, h + 1)) !== -1; ) a.push({ type: 7, index: n }), h += f.length - 1;
|
|
| 336 |
+ for (; (h = i.data.indexOf(m, h + 1)) !== -1; ) a.push({ type: 7, index: n }), h += m.length - 1;
|
|
| 337 | 337 |
} |
| 338 | 338 |
n++; |
| 339 | 339 |
} |
| 340 | 340 |
} |
| 341 | 341 |
static createElement(t, e) {
|
| 342 |
- const s = v.createElement("template");
|
|
| 342 |
+ const s = y.createElement("template");
|
|
| 343 | 343 |
return s.innerHTML = t, s; |
| 344 | 344 |
} |
| 345 | 345 |
} |
| ... | ... |
@@ -361,7 +361,7 @@ class Ot {
|
| 361 | 361 |
return this._$AM._$AU; |
| 362 | 362 |
} |
| 363 | 363 |
u(t) {
|
| 364 |
- const { el: { content: e }, parts: s } = this._$AD, i = ((t == null ? void 0 : t.creationScope) ?? v).importNode(e, !0);
|
|
| 364 |
+ const { el: { content: e }, parts: s } = this._$AD, i = ((t == null ? void 0 : t.creationScope) ?? y).importNode(e, !0);
|
|
| 365 | 365 |
A.currentNode = i; |
| 366 | 366 |
let n = A.nextNode(), o = 0, l = 0, a = s[0]; |
| 367 | 367 |
for (; a !== void 0; ) {
|
| ... | ... |
@@ -371,7 +371,7 @@ class Ot {
|
| 371 | 371 |
} |
| 372 | 372 |
o !== (a == null ? void 0 : a.index) && (n = A.nextNode(), o++); |
| 373 | 373 |
} |
| 374 |
- return A.currentNode = v, i; |
|
| 374 |
+ return A.currentNode = y, i; |
|
| 375 | 375 |
} |
| 376 | 376 |
p(t) {
|
| 377 | 377 |
let e = 0; |
| ... | ... |
@@ -407,7 +407,7 @@ class N {
|
| 407 | 407 |
this._$AH !== t && (this._$AR(), this._$AH = this.O(t)); |
| 408 | 408 |
} |
| 409 | 409 |
_(t) {
|
| 410 |
- this._$AH !== d && O(this._$AH) ? this._$AA.nextSibling.data = t : this.T(v.createTextNode(t)), this._$AH = t; |
|
| 410 |
+ this._$AH !== d && O(this._$AH) ? this._$AA.nextSibling.data = t : this.T(y.createTextNode(t)), this._$AH = t; |
|
| 411 | 411 |
} |
| 412 | 412 |
$(t) {
|
| 413 | 413 |
var n; |
| ... | ... |
@@ -523,7 +523,7 @@ const Tt = (r, t, e) => {
|
| 523 | 523 |
* Copyright 2017 Google LLC |
| 524 | 524 |
* SPDX-License-Identifier: BSD-3-Clause |
| 525 | 525 |
*/ |
| 526 |
-const y = globalThis; |
|
| 526 |
+const v = globalThis; |
|
| 527 | 527 |
class _ extends E {
|
| 528 | 528 |
constructor() {
|
| 529 | 529 |
super(...arguments), this.renderOptions = { host: this }, this._$Do = void 0;
|
| ... | ... |
@@ -550,10 +550,10 @@ class _ extends E {
|
| 550 | 550 |
} |
| 551 | 551 |
} |
| 552 | 552 |
var ot; |
| 553 |
-_._$litElement$ = !0, _.finalized = !0, (ot = y.litElementHydrateSupport) == null || ot.call(y, { LitElement: _ });
|
|
| 554 |
-const B = y.litElementPolyfillSupport; |
|
| 553 |
+_._$litElement$ = !0, _.finalized = !0, (ot = v.litElementHydrateSupport) == null || ot.call(v, { LitElement: _ });
|
|
| 554 |
+const B = v.litElementPolyfillSupport; |
|
| 555 | 555 |
B == null || B({ LitElement: _ });
|
| 556 |
-(y.litElementVersions ?? (y.litElementVersions = [])).push("4.2.2");
|
|
| 556 |
+(v.litElementVersions ?? (v.litElementVersions = [])).push("4.2.2");
|
|
| 557 | 557 |
class W extends _ {
|
| 558 | 558 |
render() {
|
| 559 | 559 |
return H` |
| ... | ... |
@@ -571,12 +571,22 @@ class W extends _ {
|
| 571 | 571 |
} |
| 572 | 572 |
b(W, "styles", D` |
| 573 | 573 |
:host {
|
| 574 |
+ --luumicore-card-bg: var(--luumicore-secondary, #fff); |
|
| 575 |
+ --luumicore-card-border-color: var(--luumicore-secondary, #fff); |
|
| 576 |
+ --luumicore-card-border-radius: var(--luumicore-border-radius, 1rem); |
|
| 577 |
+ --luumicore-card-shadow: var(--luumicore-shadow, .25rem .25rem 1rem rgba(0,0,0,0.2)); |
|
| 578 |
+ --luumicore-card-spacing: var(--luumicore-element-spacing, 2rem); |
|
| 579 |
+ |
|
| 574 | 580 |
display: block; |
| 575 |
- border: 1px solid var(--luumicore-border-color, #ddd); |
|
| 576 |
- border-radius: var(--luumicore-border-radius, 8px); |
|
| 581 |
+ border: 1px solid var(--luumicore-card-border-color); |
|
| 582 |
+ border-radius: var(--luumicore-card-border-radius); |
|
| 577 | 583 |
overflow: hidden; |
| 578 |
- background-color: var(--luumicore-card-bg, #fff); |
|
| 579 |
- box-shadow: var(--luumicore-shadow, 0 2px 4px rgba(0,0,0,0.1)); |
|
| 584 |
+ background-color: var(--luumicore-card-bg); |
|
| 585 |
+ box-shadow: var(--luumicore-card-shadow); |
|
| 586 |
+ } |
|
| 587 |
+ |
|
| 588 |
+ :host(:not(:last-child)) {
|
|
| 589 |
+ margin-bottom: var(--luumicore-card-spacing); |
|
| 580 | 590 |
} |
| 581 | 591 |
|
| 582 | 592 |
.card-image {
|
| 1 | 1 |
new file mode 100644 |
| ... | ... |
@@ -0,0 +1,703 @@ |
| 1 |
+var ft = Object.defineProperty; |
|
| 2 |
+var mt = (r, t, e) => t in r ? ft(r, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[t] = e;
|
|
| 3 |
+var b = (r, t, e) => mt(r, typeof t != "symbol" ? t + "" : t, e); |
|
| 4 |
+/** |
|
| 5 |
+ * @license |
|
| 6 |
+ * Copyright 2019 Google LLC |
|
| 7 |
+ * SPDX-License-Identifier: BSD-3-Clause |
|
| 8 |
+ */ |
|
| 9 |
+const T = globalThis, q = T.ShadowRoot && (T.ShadyCSS === void 0 || T.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, Z = Symbol(), K = /* @__PURE__ */ new WeakMap(); |
|
| 10 |
+let nt = class {
|
|
| 11 |
+ constructor(t, e, s) {
|
|
| 12 |
+ if (this._$cssResult$ = !0, s !== Z) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
|
|
| 13 |
+ this.cssText = t, this.t = e; |
|
| 14 |
+ } |
|
| 15 |
+ get styleSheet() {
|
|
| 16 |
+ let t = this.o; |
|
| 17 |
+ const e = this.t; |
|
| 18 |
+ if (q && t === void 0) {
|
|
| 19 |
+ const s = e !== void 0 && e.length === 1; |
|
| 20 |
+ s && (t = K.get(e)), t === void 0 && ((this.o = t = new CSSStyleSheet()).replaceSync(this.cssText), s && K.set(e, t)); |
|
| 21 |
+ } |
|
| 22 |
+ return t; |
|
| 23 |
+ } |
|
| 24 |
+ toString() {
|
|
| 25 |
+ return this.cssText; |
|
| 26 |
+ } |
|
| 27 |
+}; |
|
| 28 |
+const _t = (r) => new nt(typeof r == "string" ? r : r + "", void 0, Z), D = (r, ...t) => {
|
|
| 29 |
+ const e = r.length === 1 ? r[0] : t.reduce((s, i, n) => s + ((o) => {
|
|
| 30 |
+ if (o._$cssResult$ === !0) return o.cssText; |
|
| 31 |
+ if (typeof o == "number") return o; |
|
| 32 |
+ throw Error("Value passed to 'css' function must be a 'css' function result: " + o + ". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.");
|
|
| 33 |
+ })(i) + r[n + 1], r[0]); |
|
| 34 |
+ return new nt(e, r, Z); |
|
| 35 |
+}, gt = (r, t) => {
|
|
| 36 |
+ if (q) r.adoptedStyleSheets = t.map((e) => e instanceof CSSStyleSheet ? e : e.styleSheet); |
|
| 37 |
+ else for (const e of t) {
|
|
| 38 |
+ const s = document.createElement("style"), i = T.litNonce;
|
|
| 39 |
+ i !== void 0 && s.setAttribute("nonce", i), s.textContent = e.cssText, r.appendChild(s);
|
|
| 40 |
+ } |
|
| 41 |
+}, F = q ? (r) => r : (r) => r instanceof CSSStyleSheet ? ((t) => {
|
|
| 42 |
+ let e = ""; |
|
| 43 |
+ for (const s of t.cssRules) e += s.cssText; |
|
| 44 |
+ return _t(e); |
|
| 45 |
+})(r) : r; |
|
| 46 |
+/** |
|
| 47 |
+ * @license |
|
| 48 |
+ * Copyright 2017 Google LLC |
|
| 49 |
+ * SPDX-License-Identifier: BSD-3-Clause |
|
| 50 |
+ */ |
|
| 51 |
+const { is: At, defineProperty: yt, getOwnPropertyDescriptor: vt, getOwnPropertyNames: bt, getOwnPropertySymbols: Et, getPrototypeOf: St } = Object, m = globalThis, G = m.trustedTypes, xt = G ? G.emptyScript : "", L = m.reactiveElementPolyfillSupport, C = (r, t) => r, V = { toAttribute(r, t) {
|
|
| 52 |
+ switch (t) {
|
|
| 53 |
+ case Boolean: |
|
| 54 |
+ r = r ? xt : null; |
|
| 55 |
+ break; |
|
| 56 |
+ case Object: |
|
| 57 |
+ case Array: |
|
| 58 |
+ r = r == null ? r : JSON.stringify(r); |
|
| 59 |
+ } |
|
| 60 |
+ return r; |
|
| 61 |
+}, fromAttribute(r, t) {
|
|
| 62 |
+ let e = r; |
|
| 63 |
+ switch (t) {
|
|
| 64 |
+ case Boolean: |
|
| 65 |
+ e = r !== null; |
|
| 66 |
+ break; |
|
| 67 |
+ case Number: |
|
| 68 |
+ e = r === null ? null : Number(r); |
|
| 69 |
+ break; |
|
| 70 |
+ case Object: |
|
| 71 |
+ case Array: |
|
| 72 |
+ try {
|
|
| 73 |
+ e = JSON.parse(r); |
|
| 74 |
+ } catch {
|
|
| 75 |
+ e = null; |
|
| 76 |
+ } |
|
| 77 |
+ } |
|
| 78 |
+ return e; |
|
| 79 |
+} }, at = (r, t) => !At(r, t), Q = { attribute: !0, type: String, converter: V, reflect: !1, useDefault: !1, hasChanged: at };
|
|
| 80 |
+Symbol.metadata ?? (Symbol.metadata = Symbol("metadata")), m.litPropertyMetadata ?? (m.litPropertyMetadata = /* @__PURE__ */ new WeakMap());
|
|
| 81 |
+let E = class extends HTMLElement {
|
|
| 82 |
+ static addInitializer(t) {
|
|
| 83 |
+ this._$Ei(), (this.l ?? (this.l = [])).push(t); |
|
| 84 |
+ } |
|
| 85 |
+ static get observedAttributes() {
|
|
| 86 |
+ return this.finalize(), this._$Eh && [...this._$Eh.keys()]; |
|
| 87 |
+ } |
|
| 88 |
+ static createProperty(t, e = Q) {
|
|
| 89 |
+ if (e.state && (e.attribute = !1), this._$Ei(), this.prototype.hasOwnProperty(t) && ((e = Object.create(e)).wrapped = !0), this.elementProperties.set(t, e), !e.noAccessor) {
|
|
| 90 |
+ const s = Symbol(), i = this.getPropertyDescriptor(t, s, e); |
|
| 91 |
+ i !== void 0 && yt(this.prototype, t, i); |
|
| 92 |
+ } |
|
| 93 |
+ } |
|
| 94 |
+ static getPropertyDescriptor(t, e, s) {
|
|
| 95 |
+ const { get: i, set: n } = vt(this.prototype, t) ?? { get() {
|
|
| 96 |
+ return this[e]; |
|
| 97 |
+ }, set(o) {
|
|
| 98 |
+ this[e] = o; |
|
| 99 |
+ } }; |
|
| 100 |
+ return { get: i, set(o) {
|
|
| 101 |
+ const l = i == null ? void 0 : i.call(this); |
|
| 102 |
+ n == null || n.call(this, o), this.requestUpdate(t, l, s); |
|
| 103 |
+ }, configurable: !0, enumerable: !0 }; |
|
| 104 |
+ } |
|
| 105 |
+ static getPropertyOptions(t) {
|
|
| 106 |
+ return this.elementProperties.get(t) ?? Q; |
|
| 107 |
+ } |
|
| 108 |
+ static _$Ei() {
|
|
| 109 |
+ if (this.hasOwnProperty(C("elementProperties"))) return;
|
|
| 110 |
+ const t = St(this); |
|
| 111 |
+ t.finalize(), t.l !== void 0 && (this.l = [...t.l]), this.elementProperties = new Map(t.elementProperties); |
|
| 112 |
+ } |
|
| 113 |
+ static finalize() {
|
|
| 114 |
+ if (this.hasOwnProperty(C("finalized"))) return;
|
|
| 115 |
+ if (this.finalized = !0, this._$Ei(), this.hasOwnProperty(C("properties"))) {
|
|
| 116 |
+ const e = this.properties, s = [...bt(e), ...Et(e)]; |
|
| 117 |
+ for (const i of s) this.createProperty(i, e[i]); |
|
| 118 |
+ } |
|
| 119 |
+ const t = this[Symbol.metadata]; |
|
| 120 |
+ if (t !== null) {
|
|
| 121 |
+ const e = litPropertyMetadata.get(t); |
|
| 122 |
+ if (e !== void 0) for (const [s, i] of e) this.elementProperties.set(s, i); |
|
| 123 |
+ } |
|
| 124 |
+ this._$Eh = /* @__PURE__ */ new Map(); |
|
| 125 |
+ for (const [e, s] of this.elementProperties) {
|
|
| 126 |
+ const i = this._$Eu(e, s); |
|
| 127 |
+ i !== void 0 && this._$Eh.set(i, e); |
|
| 128 |
+ } |
|
| 129 |
+ this.elementStyles = this.finalizeStyles(this.styles); |
|
| 130 |
+ } |
|
| 131 |
+ static finalizeStyles(t) {
|
|
| 132 |
+ const e = []; |
|
| 133 |
+ if (Array.isArray(t)) {
|
|
| 134 |
+ const s = new Set(t.flat(1 / 0).reverse()); |
|
| 135 |
+ for (const i of s) e.unshift(F(i)); |
|
| 136 |
+ } else t !== void 0 && e.push(F(t)); |
|
| 137 |
+ return e; |
|
| 138 |
+ } |
|
| 139 |
+ static _$Eu(t, e) {
|
|
| 140 |
+ const s = e.attribute; |
|
| 141 |
+ return s === !1 ? void 0 : typeof s == "string" ? s : typeof t == "string" ? t.toLowerCase() : void 0; |
|
| 142 |
+ } |
|
| 143 |
+ constructor() {
|
|
| 144 |
+ super(), this._$Ep = void 0, this.isUpdatePending = !1, this.hasUpdated = !1, this._$Em = null, this._$Ev(); |
|
| 145 |
+ } |
|
| 146 |
+ _$Ev() {
|
|
| 147 |
+ var t; |
|
| 148 |
+ this._$ES = new Promise((e) => this.enableUpdating = e), this._$AL = /* @__PURE__ */ new Map(), this._$E_(), this.requestUpdate(), (t = this.constructor.l) == null || t.forEach((e) => e(this)); |
|
| 149 |
+ } |
|
| 150 |
+ addController(t) {
|
|
| 151 |
+ var e; |
|
| 152 |
+ (this._$EO ?? (this._$EO = /* @__PURE__ */ new Set())).add(t), this.renderRoot !== void 0 && this.isConnected && ((e = t.hostConnected) == null || e.call(t)); |
|
| 153 |
+ } |
|
| 154 |
+ removeController(t) {
|
|
| 155 |
+ var e; |
|
| 156 |
+ (e = this._$EO) == null || e.delete(t); |
|
| 157 |
+ } |
|
| 158 |
+ _$E_() {
|
|
| 159 |
+ const t = /* @__PURE__ */ new Map(), e = this.constructor.elementProperties; |
|
| 160 |
+ for (const s of e.keys()) this.hasOwnProperty(s) && (t.set(s, this[s]), delete this[s]); |
|
| 161 |
+ t.size > 0 && (this._$Ep = t); |
|
| 162 |
+ } |
|
| 163 |
+ createRenderRoot() {
|
|
| 164 |
+ const t = this.shadowRoot ?? this.attachShadow(this.constructor.shadowRootOptions); |
|
| 165 |
+ return gt(t, this.constructor.elementStyles), t; |
|
| 166 |
+ } |
|
| 167 |
+ connectedCallback() {
|
|
| 168 |
+ var t; |
|
| 169 |
+ this.renderRoot ?? (this.renderRoot = this.createRenderRoot()), this.enableUpdating(!0), (t = this._$EO) == null || t.forEach((e) => {
|
|
| 170 |
+ var s; |
|
| 171 |
+ return (s = e.hostConnected) == null ? void 0 : s.call(e); |
|
| 172 |
+ }); |
|
| 173 |
+ } |
|
| 174 |
+ enableUpdating(t) {
|
|
| 175 |
+ } |
|
| 176 |
+ disconnectedCallback() {
|
|
| 177 |
+ var t; |
|
| 178 |
+ (t = this._$EO) == null || t.forEach((e) => {
|
|
| 179 |
+ var s; |
|
| 180 |
+ return (s = e.hostDisconnected) == null ? void 0 : s.call(e); |
|
| 181 |
+ }); |
|
| 182 |
+ } |
|
| 183 |
+ attributeChangedCallback(t, e, s) {
|
|
| 184 |
+ this._$AK(t, s); |
|
| 185 |
+ } |
|
| 186 |
+ _$ET(t, e) {
|
|
| 187 |
+ var n; |
|
| 188 |
+ const s = this.constructor.elementProperties.get(t), i = this.constructor._$Eu(t, s); |
|
| 189 |
+ if (i !== void 0 && s.reflect === !0) {
|
|
| 190 |
+ const o = (((n = s.converter) == null ? void 0 : n.toAttribute) !== void 0 ? s.converter : V).toAttribute(e, s.type); |
|
| 191 |
+ this._$Em = t, o == null ? this.removeAttribute(i) : this.setAttribute(i, o), this._$Em = null; |
|
| 192 |
+ } |
|
| 193 |
+ } |
|
| 194 |
+ _$AK(t, e) {
|
|
| 195 |
+ var n, o; |
|
| 196 |
+ const s = this.constructor, i = s._$Eh.get(t); |
|
| 197 |
+ if (i !== void 0 && this._$Em !== i) {
|
|
| 198 |
+ const l = s.getPropertyOptions(i), a = typeof l.converter == "function" ? { fromAttribute: l.converter } : ((n = l.converter) == null ? void 0 : n.fromAttribute) !== void 0 ? l.converter : V;
|
|
| 199 |
+ this._$Em = i; |
|
| 200 |
+ const c = a.fromAttribute(e, l.type); |
|
| 201 |
+ this[i] = c ?? ((o = this._$Ej) == null ? void 0 : o.get(i)) ?? c, this._$Em = null; |
|
| 202 |
+ } |
|
| 203 |
+ } |
|
| 204 |
+ requestUpdate(t, e, s, i = !1, n) {
|
|
| 205 |
+ var o; |
|
| 206 |
+ if (t !== void 0) {
|
|
| 207 |
+ const l = this.constructor; |
|
| 208 |
+ if (i === !1 && (n = this[t]), s ?? (s = l.getPropertyOptions(t)), !((s.hasChanged ?? at)(n, e) || s.useDefault && s.reflect && n === ((o = this._$Ej) == null ? void 0 : o.get(t)) && !this.hasAttribute(l._$Eu(t, s)))) return; |
|
| 209 |
+ this.C(t, e, s); |
|
| 210 |
+ } |
|
| 211 |
+ this.isUpdatePending === !1 && (this._$ES = this._$EP()); |
|
| 212 |
+ } |
|
| 213 |
+ C(t, e, { useDefault: s, reflect: i, wrapped: n }, o) {
|
|
| 214 |
+ s && !(this._$Ej ?? (this._$Ej = /* @__PURE__ */ new Map())).has(t) && (this._$Ej.set(t, o ?? e ?? this[t]), n !== !0 || o !== void 0) || (this._$AL.has(t) || (this.hasUpdated || s || (e = void 0), this._$AL.set(t, e)), i === !0 && this._$Em !== t && (this._$Eq ?? (this._$Eq = /* @__PURE__ */ new Set())).add(t)); |
|
| 215 |
+ } |
|
| 216 |
+ async _$EP() {
|
|
| 217 |
+ this.isUpdatePending = !0; |
|
| 218 |
+ try {
|
|
| 219 |
+ await this._$ES; |
|
| 220 |
+ } catch (e) {
|
|
| 221 |
+ Promise.reject(e); |
|
| 222 |
+ } |
|
| 223 |
+ const t = this.scheduleUpdate(); |
|
| 224 |
+ return t != null && await t, !this.isUpdatePending; |
|
| 225 |
+ } |
|
| 226 |
+ scheduleUpdate() {
|
|
| 227 |
+ return this.performUpdate(); |
|
| 228 |
+ } |
|
| 229 |
+ performUpdate() {
|
|
| 230 |
+ var s; |
|
| 231 |
+ if (!this.isUpdatePending) return; |
|
| 232 |
+ if (!this.hasUpdated) {
|
|
| 233 |
+ if (this.renderRoot ?? (this.renderRoot = this.createRenderRoot()), this._$Ep) {
|
|
| 234 |
+ for (const [n, o] of this._$Ep) this[n] = o; |
|
| 235 |
+ this._$Ep = void 0; |
|
| 236 |
+ } |
|
| 237 |
+ const i = this.constructor.elementProperties; |
|
| 238 |
+ if (i.size > 0) for (const [n, o] of i) {
|
|
| 239 |
+ const { wrapped: l } = o, a = this[n];
|
|
| 240 |
+ l !== !0 || this._$AL.has(n) || a === void 0 || this.C(n, void 0, o, a); |
|
| 241 |
+ } |
|
| 242 |
+ } |
|
| 243 |
+ let t = !1; |
|
| 244 |
+ const e = this._$AL; |
|
| 245 |
+ try {
|
|
| 246 |
+ t = this.shouldUpdate(e), t ? (this.willUpdate(e), (s = this._$EO) == null || s.forEach((i) => {
|
|
| 247 |
+ var n; |
|
| 248 |
+ return (n = i.hostUpdate) == null ? void 0 : n.call(i); |
|
| 249 |
+ }), this.update(e)) : this._$EM(); |
|
| 250 |
+ } catch (i) {
|
|
| 251 |
+ throw t = !1, this._$EM(), i; |
|
| 252 |
+ } |
|
| 253 |
+ t && this._$AE(e); |
|
| 254 |
+ } |
|
| 255 |
+ willUpdate(t) {
|
|
| 256 |
+ } |
|
| 257 |
+ _$AE(t) {
|
|
| 258 |
+ var e; |
|
| 259 |
+ (e = this._$EO) == null || e.forEach((s) => {
|
|
| 260 |
+ var i; |
|
| 261 |
+ return (i = s.hostUpdated) == null ? void 0 : i.call(s); |
|
| 262 |
+ }), this.hasUpdated || (this.hasUpdated = !0, this.firstUpdated(t)), this.updated(t); |
|
| 263 |
+ } |
|
| 264 |
+ _$EM() {
|
|
| 265 |
+ this._$AL = /* @__PURE__ */ new Map(), this.isUpdatePending = !1; |
|
| 266 |
+ } |
|
| 267 |
+ get updateComplete() {
|
|
| 268 |
+ return this.getUpdateComplete(); |
|
| 269 |
+ } |
|
| 270 |
+ getUpdateComplete() {
|
|
| 271 |
+ return this._$ES; |
|
| 272 |
+ } |
|
| 273 |
+ shouldUpdate(t) {
|
|
| 274 |
+ return !0; |
|
| 275 |
+ } |
|
| 276 |
+ update(t) {
|
|
| 277 |
+ this._$Eq && (this._$Eq = this._$Eq.forEach((e) => this._$ET(e, this[e]))), this._$EM(); |
|
| 278 |
+ } |
|
| 279 |
+ updated(t) {
|
|
| 280 |
+ } |
|
| 281 |
+ firstUpdated(t) {
|
|
| 282 |
+ } |
|
| 283 |
+}; |
|
| 284 |
+E.elementStyles = [], E.shadowRootOptions = { mode: "open" }, E[C("elementProperties")] = /* @__PURE__ */ new Map(), E[C("finalized")] = /* @__PURE__ */ new Map(), L == null || L({ ReactiveElement: E }), (m.reactiveElementVersions ?? (m.reactiveElementVersions = [])).push("2.1.2");
|
|
| 285 |
+/** |
|
| 286 |
+ * @license |
|
| 287 |
+ * Copyright 2017 Google LLC |
|
| 288 |
+ * SPDX-License-Identifier: BSD-3-Clause |
|
| 289 |
+ */ |
|
| 290 |
+const P = globalThis, X = (r) => r, k = P.trustedTypes, Y = k ? k.createPolicy("lit-html", { createHTML: (r) => r }) : void 0, lt = "$lit$", f = `lit$${Math.random().toFixed(9).slice(2)}$`, ht = "?" + f, wt = `<${ht}>`, v = document, U = () => v.createComment(""), O = (r) => r === null || typeof r != "object" && typeof r != "function", J = Array.isArray, Ct = (r) => J(r) || typeof (r == null ? void 0 : r[Symbol.iterator]) == "function", j = `[
|
|
| 291 |
+\f\r]`, w = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, tt = /-->/g, et = />/g, g = RegExp(`>|${j}(?:([^\\s"'>=/]+)(${j}*=${j}*(?:[^
|
|
| 292 |
+\f\r"'\`<>=]|("|')|))|$)`, "g"), st = /'/g, it = /"/g, ct = /^(?:script|style|textarea|title)$/i, Pt = (r) => (t, ...e) => ({ _$litType$: r, strings: t, values: e }), H = Pt(1), S = Symbol.for("lit-noChange"), d = Symbol.for("lit-nothing"), rt = /* @__PURE__ */ new WeakMap(), A = v.createTreeWalker(v, 129);
|
|
| 293 |
+function dt(r, t) {
|
|
| 294 |
+ if (!J(r) || !r.hasOwnProperty("raw")) throw Error("invalid template strings array");
|
|
| 295 |
+ return Y !== void 0 ? Y.createHTML(t) : t; |
|
| 296 |
+} |
|
| 297 |
+const Ut = (r, t) => {
|
|
| 298 |
+ const e = r.length - 1, s = []; |
|
| 299 |
+ let i, n = t === 2 ? "<svg>" : t === 3 ? "<math>" : "", o = w; |
|
| 300 |
+ for (let l = 0; l < e; l++) {
|
|
| 301 |
+ const a = r[l]; |
|
| 302 |
+ let c, u, h = -1, p = 0; |
|
| 303 |
+ for (; p < a.length && (o.lastIndex = p, u = o.exec(a), u !== null); ) p = o.lastIndex, o === w ? u[1] === "!--" ? o = tt : u[1] !== void 0 ? o = et : u[2] !== void 0 ? (ct.test(u[2]) && (i = RegExp("</" + u[2], "g")), o = g) : u[3] !== void 0 && (o = g) : o === g ? u[0] === ">" ? (o = i ?? w, h = -1) : u[1] === void 0 ? h = -2 : (h = o.lastIndex - u[2].length, c = u[1], o = u[3] === void 0 ? g : u[3] === '"' ? it : st) : o === it || o === st ? o = g : o === tt || o === et ? o = w : (o = g, i = void 0);
|
|
| 304 |
+ const $ = o === g && r[l + 1].startsWith("/>") ? " " : "";
|
|
| 305 |
+ n += o === w ? a + wt : h >= 0 ? (s.push(c), a.slice(0, h) + lt + a.slice(h) + f + $) : a + f + (h === -2 ? l : $); |
|
| 306 |
+ } |
|
| 307 |
+ return [dt(r, n + (r[e] || "<?>") + (t === 2 ? "</svg>" : t === 3 ? "</math>" : "")), s]; |
|
| 308 |
+}; |
|
| 309 |
+class M {
|
|
| 310 |
+ constructor({ strings: t, _$litType$: e }, s) {
|
|
| 311 |
+ let i; |
|
| 312 |
+ this.parts = []; |
|
| 313 |
+ let n = 0, o = 0; |
|
| 314 |
+ const l = t.length - 1, a = this.parts, [c, u] = Ut(t, e); |
|
| 315 |
+ if (this.el = M.createElement(c, s), A.currentNode = this.el.content, e === 2 || e === 3) {
|
|
| 316 |
+ const h = this.el.content.firstChild; |
|
| 317 |
+ h.replaceWith(...h.childNodes); |
|
| 318 |
+ } |
|
| 319 |
+ for (; (i = A.nextNode()) !== null && a.length < l; ) {
|
|
| 320 |
+ if (i.nodeType === 1) {
|
|
| 321 |
+ if (i.hasAttributes()) for (const h of i.getAttributeNames()) if (h.endsWith(lt)) {
|
|
| 322 |
+ const p = u[o++], $ = i.getAttribute(h).split(f), R = /([.?@])?(.*)/.exec(p); |
|
| 323 |
+ a.push({ type: 1, index: n, name: R[2], strings: $, ctor: R[1] === "." ? Ht : R[1] === "?" ? Mt : R[1] === "@" ? Nt : z }), i.removeAttribute(h);
|
|
| 324 |
+ } else h.startsWith(f) && (a.push({ type: 6, index: n }), i.removeAttribute(h));
|
|
| 325 |
+ if (ct.test(i.tagName)) {
|
|
| 326 |
+ const h = i.textContent.split(f), p = h.length - 1; |
|
| 327 |
+ if (p > 0) {
|
|
| 328 |
+ i.textContent = k ? k.emptyScript : ""; |
|
| 329 |
+ for (let $ = 0; $ < p; $++) i.append(h[$], U()), A.nextNode(), a.push({ type: 2, index: ++n });
|
|
| 330 |
+ i.append(h[p], U()); |
|
| 331 |
+ } |
|
| 332 |
+ } |
|
| 333 |
+ } else if (i.nodeType === 8) if (i.data === ht) a.push({ type: 2, index: n });
|
|
| 334 |
+ else {
|
|
| 335 |
+ let h = -1; |
|
| 336 |
+ for (; (h = i.data.indexOf(f, h + 1)) !== -1; ) a.push({ type: 7, index: n }), h += f.length - 1;
|
|
| 337 |
+ } |
|
| 338 |
+ n++; |
|
| 339 |
+ } |
|
| 340 |
+ } |
|
| 341 |
+ static createElement(t, e) {
|
|
| 342 |
+ const s = v.createElement("template");
|
|
| 343 |
+ return s.innerHTML = t, s; |
|
| 344 |
+ } |
|
| 345 |
+} |
|
| 346 |
+function x(r, t, e = r, s) {
|
|
| 347 |
+ var o, l; |
|
| 348 |
+ if (t === S) return t; |
|
| 349 |
+ let i = s !== void 0 ? (o = e._$Co) == null ? void 0 : o[s] : e._$Cl; |
|
| 350 |
+ const n = O(t) ? void 0 : t._$litDirective$; |
|
| 351 |
+ return (i == null ? void 0 : i.constructor) !== n && ((l = i == null ? void 0 : i._$AO) == null || l.call(i, !1), n === void 0 ? i = void 0 : (i = new n(r), i._$AT(r, e, s)), s !== void 0 ? (e._$Co ?? (e._$Co = []))[s] = i : e._$Cl = i), i !== void 0 && (t = x(r, i._$AS(r, t.values), i, s)), t; |
|
| 352 |
+} |
|
| 353 |
+class Ot {
|
|
| 354 |
+ constructor(t, e) {
|
|
| 355 |
+ this._$AV = [], this._$AN = void 0, this._$AD = t, this._$AM = e; |
|
| 356 |
+ } |
|
| 357 |
+ get parentNode() {
|
|
| 358 |
+ return this._$AM.parentNode; |
|
| 359 |
+ } |
|
| 360 |
+ get _$AU() {
|
|
| 361 |
+ return this._$AM._$AU; |
|
| 362 |
+ } |
|
| 363 |
+ u(t) {
|
|
| 364 |
+ const { el: { content: e }, parts: s } = this._$AD, i = ((t == null ? void 0 : t.creationScope) ?? v).importNode(e, !0);
|
|
| 365 |
+ A.currentNode = i; |
|
| 366 |
+ let n = A.nextNode(), o = 0, l = 0, a = s[0]; |
|
| 367 |
+ for (; a !== void 0; ) {
|
|
| 368 |
+ if (o === a.index) {
|
|
| 369 |
+ let c; |
|
| 370 |
+ a.type === 2 ? c = new N(n, n.nextSibling, this, t) : a.type === 1 ? c = new a.ctor(n, a.name, a.strings, this, t) : a.type === 6 && (c = new Rt(n, this, t)), this._$AV.push(c), a = s[++l]; |
|
| 371 |
+ } |
|
| 372 |
+ o !== (a == null ? void 0 : a.index) && (n = A.nextNode(), o++); |
|
| 373 |
+ } |
|
| 374 |
+ return A.currentNode = v, i; |
|
| 375 |
+ } |
|
| 376 |
+ p(t) {
|
|
| 377 |
+ let e = 0; |
|
| 378 |
+ for (const s of this._$AV) s !== void 0 && (s.strings !== void 0 ? (s._$AI(t, s, e), e += s.strings.length - 2) : s._$AI(t[e])), e++; |
|
| 379 |
+ } |
|
| 380 |
+} |
|
| 381 |
+class N {
|
|
| 382 |
+ get _$AU() {
|
|
| 383 |
+ var t; |
|
| 384 |
+ return ((t = this._$AM) == null ? void 0 : t._$AU) ?? this._$Cv; |
|
| 385 |
+ } |
|
| 386 |
+ constructor(t, e, s, i) {
|
|
| 387 |
+ this.type = 2, this._$AH = d, this._$AN = void 0, this._$AA = t, this._$AB = e, this._$AM = s, this.options = i, this._$Cv = (i == null ? void 0 : i.isConnected) ?? !0; |
|
| 388 |
+ } |
|
| 389 |
+ get parentNode() {
|
|
| 390 |
+ let t = this._$AA.parentNode; |
|
| 391 |
+ const e = this._$AM; |
|
| 392 |
+ return e !== void 0 && (t == null ? void 0 : t.nodeType) === 11 && (t = e.parentNode), t; |
|
| 393 |
+ } |
|
| 394 |
+ get startNode() {
|
|
| 395 |
+ return this._$AA; |
|
| 396 |
+ } |
|
| 397 |
+ get endNode() {
|
|
| 398 |
+ return this._$AB; |
|
| 399 |
+ } |
|
| 400 |
+ _$AI(t, e = this) {
|
|
| 401 |
+ t = x(this, t, e), O(t) ? t === d || t == null || t === "" ? (this._$AH !== d && this._$AR(), this._$AH = d) : t !== this._$AH && t !== S && this._(t) : t._$litType$ !== void 0 ? this.$(t) : t.nodeType !== void 0 ? this.T(t) : Ct(t) ? this.k(t) : this._(t); |
|
| 402 |
+ } |
|
| 403 |
+ O(t) {
|
|
| 404 |
+ return this._$AA.parentNode.insertBefore(t, this._$AB); |
|
| 405 |
+ } |
|
| 406 |
+ T(t) {
|
|
| 407 |
+ this._$AH !== t && (this._$AR(), this._$AH = this.O(t)); |
|
| 408 |
+ } |
|
| 409 |
+ _(t) {
|
|
| 410 |
+ this._$AH !== d && O(this._$AH) ? this._$AA.nextSibling.data = t : this.T(v.createTextNode(t)), this._$AH = t; |
|
| 411 |
+ } |
|
| 412 |
+ $(t) {
|
|
| 413 |
+ var n; |
|
| 414 |
+ const { values: e, _$litType$: s } = t, i = typeof s == "number" ? this._$AC(t) : (s.el === void 0 && (s.el = M.createElement(dt(s.h, s.h[0]), this.options)), s);
|
|
| 415 |
+ if (((n = this._$AH) == null ? void 0 : n._$AD) === i) this._$AH.p(e); |
|
| 416 |
+ else {
|
|
| 417 |
+ const o = new Ot(i, this), l = o.u(this.options); |
|
| 418 |
+ o.p(e), this.T(l), this._$AH = o; |
|
| 419 |
+ } |
|
| 420 |
+ } |
|
| 421 |
+ _$AC(t) {
|
|
| 422 |
+ let e = rt.get(t.strings); |
|
| 423 |
+ return e === void 0 && rt.set(t.strings, e = new M(t)), e; |
|
| 424 |
+ } |
|
| 425 |
+ k(t) {
|
|
| 426 |
+ J(this._$AH) || (this._$AH = [], this._$AR()); |
|
| 427 |
+ const e = this._$AH; |
|
| 428 |
+ let s, i = 0; |
|
| 429 |
+ for (const n of t) i === e.length ? e.push(s = new N(this.O(U()), this.O(U()), this, this.options)) : s = e[i], s._$AI(n), i++; |
|
| 430 |
+ i < e.length && (this._$AR(s && s._$AB.nextSibling, i), e.length = i); |
|
| 431 |
+ } |
|
| 432 |
+ _$AR(t = this._$AA.nextSibling, e) {
|
|
| 433 |
+ var s; |
|
| 434 |
+ for ((s = this._$AP) == null ? void 0 : s.call(this, !1, !0, e); t !== this._$AB; ) {
|
|
| 435 |
+ const i = X(t).nextSibling; |
|
| 436 |
+ X(t).remove(), t = i; |
|
| 437 |
+ } |
|
| 438 |
+ } |
|
| 439 |
+ setConnected(t) {
|
|
| 440 |
+ var e; |
|
| 441 |
+ this._$AM === void 0 && (this._$Cv = t, (e = this._$AP) == null || e.call(this, t)); |
|
| 442 |
+ } |
|
| 443 |
+} |
|
| 444 |
+class z {
|
|
| 445 |
+ get tagName() {
|
|
| 446 |
+ return this.element.tagName; |
|
| 447 |
+ } |
|
| 448 |
+ get _$AU() {
|
|
| 449 |
+ return this._$AM._$AU; |
|
| 450 |
+ } |
|
| 451 |
+ constructor(t, e, s, i, n) {
|
|
| 452 |
+ this.type = 1, this._$AH = d, this._$AN = void 0, this.element = t, this.name = e, this._$AM = i, this.options = n, s.length > 2 || s[0] !== "" || s[1] !== "" ? (this._$AH = Array(s.length - 1).fill(new String()), this.strings = s) : this._$AH = d; |
|
| 453 |
+ } |
|
| 454 |
+ _$AI(t, e = this, s, i) {
|
|
| 455 |
+ const n = this.strings; |
|
| 456 |
+ let o = !1; |
|
| 457 |
+ if (n === void 0) t = x(this, t, e, 0), o = !O(t) || t !== this._$AH && t !== S, o && (this._$AH = t); |
|
| 458 |
+ else {
|
|
| 459 |
+ const l = t; |
|
| 460 |
+ let a, c; |
|
| 461 |
+ for (t = n[0], a = 0; a < n.length - 1; a++) c = x(this, l[s + a], e, a), c === S && (c = this._$AH[a]), o || (o = !O(c) || c !== this._$AH[a]), c === d ? t = d : t !== d && (t += (c ?? "") + n[a + 1]), this._$AH[a] = c; |
|
| 462 |
+ } |
|
| 463 |
+ o && !i && this.j(t); |
|
| 464 |
+ } |
|
| 465 |
+ j(t) {
|
|
| 466 |
+ t === d ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, t ?? ""); |
|
| 467 |
+ } |
|
| 468 |
+} |
|
| 469 |
+class Ht extends z {
|
|
| 470 |
+ constructor() {
|
|
| 471 |
+ super(...arguments), this.type = 3; |
|
| 472 |
+ } |
|
| 473 |
+ j(t) {
|
|
| 474 |
+ this.element[this.name] = t === d ? void 0 : t; |
|
| 475 |
+ } |
|
| 476 |
+} |
|
| 477 |
+class Mt extends z {
|
|
| 478 |
+ constructor() {
|
|
| 479 |
+ super(...arguments), this.type = 4; |
|
| 480 |
+ } |
|
| 481 |
+ j(t) {
|
|
| 482 |
+ this.element.toggleAttribute(this.name, !!t && t !== d); |
|
| 483 |
+ } |
|
| 484 |
+} |
|
| 485 |
+class Nt extends z {
|
|
| 486 |
+ constructor(t, e, s, i, n) {
|
|
| 487 |
+ super(t, e, s, i, n), this.type = 5; |
|
| 488 |
+ } |
|
| 489 |
+ _$AI(t, e = this) {
|
|
| 490 |
+ if ((t = x(this, t, e, 0) ?? d) === S) return; |
|
| 491 |
+ const s = this._$AH, i = t === d && s !== d || t.capture !== s.capture || t.once !== s.once || t.passive !== s.passive, n = t !== d && (s === d || i); |
|
| 492 |
+ i && this.element.removeEventListener(this.name, this, s), n && this.element.addEventListener(this.name, this, t), this._$AH = t; |
|
| 493 |
+ } |
|
| 494 |
+ handleEvent(t) {
|
|
| 495 |
+ var e; |
|
| 496 |
+ typeof this._$AH == "function" ? this._$AH.call(((e = this.options) == null ? void 0 : e.host) ?? this.element, t) : this._$AH.handleEvent(t); |
|
| 497 |
+ } |
|
| 498 |
+} |
|
| 499 |
+class Rt {
|
|
| 500 |
+ constructor(t, e, s) {
|
|
| 501 |
+ this.element = t, this.type = 6, this._$AN = void 0, this._$AM = e, this.options = s; |
|
| 502 |
+ } |
|
| 503 |
+ get _$AU() {
|
|
| 504 |
+ return this._$AM._$AU; |
|
| 505 |
+ } |
|
| 506 |
+ _$AI(t) {
|
|
| 507 |
+ x(this, t); |
|
| 508 |
+ } |
|
| 509 |
+} |
|
| 510 |
+const I = P.litHtmlPolyfillSupport; |
|
| 511 |
+I == null || I(M, N), (P.litHtmlVersions ?? (P.litHtmlVersions = [])).push("3.3.2");
|
|
| 512 |
+const Tt = (r, t, e) => {
|
|
| 513 |
+ const s = (e == null ? void 0 : e.renderBefore) ?? t; |
|
| 514 |
+ let i = s._$litPart$; |
|
| 515 |
+ if (i === void 0) {
|
|
| 516 |
+ const n = (e == null ? void 0 : e.renderBefore) ?? null; |
|
| 517 |
+ s._$litPart$ = i = new N(t.insertBefore(U(), n), n, void 0, e ?? {});
|
|
| 518 |
+ } |
|
| 519 |
+ return i._$AI(r), i; |
|
| 520 |
+}; |
|
| 521 |
+/** |
|
| 522 |
+ * @license |
|
| 523 |
+ * Copyright 2017 Google LLC |
|
| 524 |
+ * SPDX-License-Identifier: BSD-3-Clause |
|
| 525 |
+ */ |
|
| 526 |
+const y = globalThis; |
|
| 527 |
+class _ extends E {
|
|
| 528 |
+ constructor() {
|
|
| 529 |
+ super(...arguments), this.renderOptions = { host: this }, this._$Do = void 0;
|
|
| 530 |
+ } |
|
| 531 |
+ createRenderRoot() {
|
|
| 532 |
+ var e; |
|
| 533 |
+ const t = super.createRenderRoot(); |
|
| 534 |
+ return (e = this.renderOptions).renderBefore ?? (e.renderBefore = t.firstChild), t; |
|
| 535 |
+ } |
|
| 536 |
+ update(t) {
|
|
| 537 |
+ const e = this.render(); |
|
| 538 |
+ this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(t), this._$Do = Tt(e, this.renderRoot, this.renderOptions); |
|
| 539 |
+ } |
|
| 540 |
+ connectedCallback() {
|
|
| 541 |
+ var t; |
|
| 542 |
+ super.connectedCallback(), (t = this._$Do) == null || t.setConnected(!0); |
|
| 543 |
+ } |
|
| 544 |
+ disconnectedCallback() {
|
|
| 545 |
+ var t; |
|
| 546 |
+ super.disconnectedCallback(), (t = this._$Do) == null || t.setConnected(!1); |
|
| 547 |
+ } |
|
| 548 |
+ render() {
|
|
| 549 |
+ return S; |
|
| 550 |
+ } |
|
| 551 |
+} |
|
| 552 |
+var ot; |
|
| 553 |
+_._$litElement$ = !0, _.finalized = !0, (ot = y.litElementHydrateSupport) == null || ot.call(y, { LitElement: _ });
|
|
| 554 |
+const B = y.litElementPolyfillSupport; |
|
| 555 |
+B == null || B({ LitElement: _ });
|
|
| 556 |
+(y.litElementVersions ?? (y.litElementVersions = [])).push("4.2.2");
|
|
| 557 |
+class W extends _ {
|
|
| 558 |
+ render() {
|
|
| 559 |
+ return H` |
|
| 560 |
+ ${this.imageUrl ? H`<img class="card-image" src="${this.imageUrl}" alt="${this.imageAlt || ""}" />` : ""}
|
|
| 561 |
+ |
|
| 562 |
+ <slot name="header" class="card-header-slot"></slot> |
|
| 563 |
+ |
|
| 564 |
+ <div class="card-body"> |
|
| 565 |
+ <slot></slot> |
|
| 566 |
+ </div> |
|
| 567 |
+ |
|
| 568 |
+ <slot name="footer" class="card-footer-slot"></slot> |
|
| 569 |
+ `; |
|
| 570 |
+ } |
|
| 571 |
+} |
|
| 572 |
+b(W, "styles", D` |
|
| 573 |
+ :host {
|
|
| 574 |
+ display: block; |
|
| 575 |
+ border: 1px solid var(--luumicore-border-color, #ddd); |
|
| 576 |
+ border-radius: var(--luumicore-border-radius, 8px); |
|
| 577 |
+ overflow: hidden; |
|
| 578 |
+ background-color: var(--luumicore-card-bg, #fff); |
|
| 579 |
+ box-shadow: var(--luumicore-shadow, 0 2px 4px rgba(0,0,0,0.1)); |
|
| 580 |
+ } |
|
| 581 |
+ |
|
| 582 |
+ .card-image {
|
|
| 583 |
+ width: 100%; |
|
| 584 |
+ height: auto; |
|
| 585 |
+ display: block; |
|
| 586 |
+ } |
|
| 587 |
+ |
|
| 588 |
+ .card-header {
|
|
| 589 |
+ padding: var(--luumicore-spacing, 16px); |
|
| 590 |
+ border-bottom: 1px solid var(--luumicore-border-color, #ddd); |
|
| 591 |
+ font-weight: bold; |
|
| 592 |
+ background-color: var(--luumicore-header-bg, #f8f9fa); |
|
| 593 |
+ } |
|
| 594 |
+ |
|
| 595 |
+ .card-body {
|
|
| 596 |
+ padding: var(--luumicore-spacing, 16px); |
|
| 597 |
+ } |
|
| 598 |
+ |
|
| 599 |
+ .card-footer {
|
|
| 600 |
+ padding: var(--luumicore-spacing, 16px); |
|
| 601 |
+ border-top: 1px solid var(--luumicore-border-color, #ddd); |
|
| 602 |
+ background-color: var(--luumicore-footer-bg, #f8f9fa); |
|
| 603 |
+ } |
|
| 604 |
+ `), b(W, "properties", {
|
|
| 605 |
+ imageUrl: { type: String, attribute: "image-url" },
|
|
| 606 |
+ imageAlt: { type: String, attribute: "image-alt" }
|
|
| 607 |
+}); |
|
| 608 |
+customElements.define("luumicore-card", W);
|
|
| 609 |
+class ut extends _ {
|
|
| 610 |
+ render() {
|
|
| 611 |
+ return H` |
|
| 612 |
+ <ul> |
|
| 613 |
+ <slot></slot> |
|
| 614 |
+ </ul> |
|
| 615 |
+ `; |
|
| 616 |
+ } |
|
| 617 |
+} |
|
| 618 |
+b(ut, "styles", D` |
|
| 619 |
+ :host {
|
|
| 620 |
+ display: block; |
|
| 621 |
+ } |
|
| 622 |
+ |
|
| 623 |
+ ul {
|
|
| 624 |
+ list-style: none; |
|
| 625 |
+ padding: 0; |
|
| 626 |
+ margin: 0; |
|
| 627 |
+ border: 1px solid var(--luumicore-border-color, #ddd); |
|
| 628 |
+ border-radius: var(--luumicore-border-radius, 8px); |
|
| 629 |
+ overflow: hidden; |
|
| 630 |
+ } |
|
| 631 |
+ `); |
|
| 632 |
+customElements.define("luumicore-list", ut);
|
|
| 633 |
+class pt extends _ {
|
|
| 634 |
+ render() {
|
|
| 635 |
+ return H` |
|
| 636 |
+ <div class="item-container"> |
|
| 637 |
+ <div class="content"> |
|
| 638 |
+ <slot></slot> |
|
| 639 |
+ </div> |
|
| 640 |
+ |
|
| 641 |
+ <div class="actions"> |
|
| 642 |
+ <slot name="actions"></slot> |
|
| 643 |
+ </div> |
|
| 644 |
+ |
|
| 645 |
+ <div class="main-action"> |
|
| 646 |
+ <slot name="main-action"></slot> |
|
| 647 |
+ </div> |
|
| 648 |
+ </div> |
|
| 649 |
+ `; |
|
| 650 |
+ } |
|
| 651 |
+} |
|
| 652 |
+b(pt, "styles", D` |
|
| 653 |
+ :host {
|
|
| 654 |
+ display: block; |
|
| 655 |
+ border-bottom: 1px solid var(--luumicore-border-color, #ddd); |
|
| 656 |
+ background-color: var(--luumicore-list-bg, #fff); |
|
| 657 |
+ } |
|
| 658 |
+ |
|
| 659 |
+ :host(:last-child) {
|
|
| 660 |
+ border-bottom: none; |
|
| 661 |
+ } |
|
| 662 |
+ |
|
| 663 |
+ .item-container {
|
|
| 664 |
+ display: flex; |
|
| 665 |
+ align-items: center; |
|
| 666 |
+ padding: var(--luumicore-spacing, 12px) var(--luumicore-spacing, 16px); |
|
| 667 |
+ gap: var(--luumicore-spacing, 16px); |
|
| 668 |
+ } |
|
| 669 |
+ |
|
| 670 |
+ .content {
|
|
| 671 |
+ flex: 1; |
|
| 672 |
+ min-width: 0; /* Allow text truncation */ |
|
| 673 |
+ } |
|
| 674 |
+ |
|
| 675 |
+ .actions {
|
|
| 676 |
+ display: flex; |
|
| 677 |
+ align-items: center; |
|
| 678 |
+ gap: 8px; |
|
| 679 |
+ } |
|
| 680 |
+ |
|
| 681 |
+ .main-action {
|
|
| 682 |
+ margin-left: auto; |
|
| 683 |
+ } |
|
| 684 |
+ `); |
|
| 685 |
+customElements.define("luumicore-list-item", pt);
|
|
| 686 |
+console.log("luumiCORE Core Bundle initialized");
|
|
| 687 |
+class $t extends _ {
|
|
| 688 |
+ render() {
|
|
| 689 |
+ return H`<p>Hello from luumiCORE!</p>`; |
|
| 690 |
+ } |
|
| 691 |
+} |
|
| 692 |
+b($t, "styles", D` |
|
| 693 |
+ :host {
|
|
| 694 |
+ display: block; |
|
| 695 |
+ padding: 16px; |
|
| 696 |
+ color: var(--luumicore-text-color, black); |
|
| 697 |
+ border: 1px solid var(--luumicore-primary, blue); |
|
| 698 |
+ } |
|
| 699 |
+ `); |
|
| 700 |
+customElements.define("luumicore-element", $t);
|
|
| 701 |
+export {
|
|
| 702 |
+ $t as LuumicoreElement |
|
| 703 |
+}; |