@triptease/tt-navbar 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +8 -4
- package/.editorconfig +0 -29
- package/CHANGELOG.md +0 -250
- package/demo/index.html +0 -33
- package/dist/web/Config.js +0 -14
- package/dist/web/Config.js.map +0 -7
- package/dist/web/Routes.js +0 -12
- package/dist/web/Routes.js.map +0 -7
- package/dist/web/TtNavbar.js +0 -2566
- package/dist/web/TtNavbar.js.map +0 -7
- package/dist/web/getInitialNavbarState.js +0 -31
- package/dist/web/getInitialNavbarState.js.map +0 -7
- package/dist/web/global.d.js +0 -4
- package/dist/web/global.d.js.map +0 -7
- package/dist/web/index.js +0 -2586
- package/dist/web/index.js.map +0 -7
- package/dist/web/styles.js +0 -908
- package/dist/web/styles.js.map +0 -7
- package/dist/web/triptease-logo.js +0 -18
- package/dist/web/triptease-logo.js.map +0 -7
- package/dist/web/tt-navbar.js +0 -2570
- package/dist/web/tt-navbar.js.map +0 -7
- package/dist/web/urlMappings.js +0 -40
- package/dist/web/urlMappings.js.map +0 -7
- package/src/Config.ts +0 -7
- package/src/Routes.ts +0 -5
- package/src/TtNavbar.ts +0 -458
- package/src/getInitialNavbarState.ts +0 -25
- package/src/global.d.ts +0 -16
- package/src/index.ts +0 -4
- package/src/styles.ts +0 -329
- package/src/triptease-logo.ts +0 -9
- package/src/tt-navbar.ts +0 -7
- package/src/urlMappings.ts +0 -35
- package/stories/tt-navbar.stories.ts +0 -86
- package/test/tt-navbar.test.ts +0 -441
- package/tsconfig.cjs.json +0 -9
- package/tsconfig.json +0 -9
- package/web-dev-server.config.js +0 -27
- package/web-test-runner.config.js +0 -41
package/dist/web/tt-navbar.js
DELETED
|
@@ -1,2570 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @triptease/tt-navbar v0.1.0
|
|
3
|
-
*/
|
|
4
|
-
var __defProp = Object.defineProperty;
|
|
5
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
-
var __decorateClass = (decorators, target2, key, kind) => {
|
|
7
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target2, key) : target2;
|
|
8
|
-
for (var i7 = decorators.length - 1, decorator; i7 >= 0; i7--)
|
|
9
|
-
if (decorator = decorators[i7])
|
|
10
|
-
result = (kind ? decorator(target2, key, result) : decorator(result)) || result;
|
|
11
|
-
if (kind && result) __defProp(target2, key, result);
|
|
12
|
-
return result;
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
// ../../node_modules/@lit/reactive-element/css-tag.js
|
|
16
|
-
var t = globalThis;
|
|
17
|
-
var e = t.ShadowRoot && (void 0 === t.ShadyCSS || t.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype;
|
|
18
|
-
var s = /* @__PURE__ */ Symbol();
|
|
19
|
-
var o = /* @__PURE__ */ new WeakMap();
|
|
20
|
-
var n = class {
|
|
21
|
-
constructor(t6, e10, o10) {
|
|
22
|
-
if (this._$cssResult$ = true, o10 !== s) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
|
|
23
|
-
this.cssText = t6, this.t = e10;
|
|
24
|
-
}
|
|
25
|
-
get styleSheet() {
|
|
26
|
-
let t6 = this.o;
|
|
27
|
-
const s5 = this.t;
|
|
28
|
-
if (e && void 0 === t6) {
|
|
29
|
-
const e10 = void 0 !== s5 && 1 === s5.length;
|
|
30
|
-
e10 && (t6 = o.get(s5)), void 0 === t6 && ((this.o = t6 = new CSSStyleSheet()).replaceSync(this.cssText), e10 && o.set(s5, t6));
|
|
31
|
-
}
|
|
32
|
-
return t6;
|
|
33
|
-
}
|
|
34
|
-
toString() {
|
|
35
|
-
return this.cssText;
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
var r = (t6) => new n("string" == typeof t6 ? t6 : t6 + "", void 0, s);
|
|
39
|
-
var i = (t6, ...e10) => {
|
|
40
|
-
const o10 = 1 === t6.length ? t6[0] : e10.reduce(((e11, s5, o11) => e11 + ((t7) => {
|
|
41
|
-
if (true === t7._$cssResult$) return t7.cssText;
|
|
42
|
-
if ("number" == typeof t7) return t7;
|
|
43
|
-
throw Error("Value passed to 'css' function must be a 'css' function result: " + t7 + ". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.");
|
|
44
|
-
})(s5) + t6[o11 + 1]), t6[0]);
|
|
45
|
-
return new n(o10, t6, s);
|
|
46
|
-
};
|
|
47
|
-
var S = (s5, o10) => {
|
|
48
|
-
if (e) s5.adoptedStyleSheets = o10.map(((t6) => t6 instanceof CSSStyleSheet ? t6 : t6.styleSheet));
|
|
49
|
-
else for (const e10 of o10) {
|
|
50
|
-
const o11 = document.createElement("style"), n5 = t.litNonce;
|
|
51
|
-
void 0 !== n5 && o11.setAttribute("nonce", n5), o11.textContent = e10.cssText, s5.appendChild(o11);
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
var c = e ? (t6) => t6 : (t6) => t6 instanceof CSSStyleSheet ? ((t7) => {
|
|
55
|
-
let e10 = "";
|
|
56
|
-
for (const s5 of t7.cssRules) e10 += s5.cssText;
|
|
57
|
-
return r(e10);
|
|
58
|
-
})(t6) : t6;
|
|
59
|
-
|
|
60
|
-
// ../../node_modules/@lit/reactive-element/reactive-element.js
|
|
61
|
-
var { is: i2, defineProperty: e2, getOwnPropertyDescriptor: h, getOwnPropertyNames: r2, getOwnPropertySymbols: o2, getPrototypeOf: n2 } = Object;
|
|
62
|
-
var a = globalThis;
|
|
63
|
-
var c2 = a.trustedTypes;
|
|
64
|
-
var l = c2 ? c2.emptyScript : "";
|
|
65
|
-
var p = a.reactiveElementPolyfillSupport;
|
|
66
|
-
var d = (t6, s5) => t6;
|
|
67
|
-
var u = { toAttribute(t6, s5) {
|
|
68
|
-
switch (s5) {
|
|
69
|
-
case Boolean:
|
|
70
|
-
t6 = t6 ? l : null;
|
|
71
|
-
break;
|
|
72
|
-
case Object:
|
|
73
|
-
case Array:
|
|
74
|
-
t6 = null == t6 ? t6 : JSON.stringify(t6);
|
|
75
|
-
}
|
|
76
|
-
return t6;
|
|
77
|
-
}, fromAttribute(t6, s5) {
|
|
78
|
-
let i7 = t6;
|
|
79
|
-
switch (s5) {
|
|
80
|
-
case Boolean:
|
|
81
|
-
i7 = null !== t6;
|
|
82
|
-
break;
|
|
83
|
-
case Number:
|
|
84
|
-
i7 = null === t6 ? null : Number(t6);
|
|
85
|
-
break;
|
|
86
|
-
case Object:
|
|
87
|
-
case Array:
|
|
88
|
-
try {
|
|
89
|
-
i7 = JSON.parse(t6);
|
|
90
|
-
} catch (t7) {
|
|
91
|
-
i7 = null;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
return i7;
|
|
95
|
-
} };
|
|
96
|
-
var f = (t6, s5) => !i2(t6, s5);
|
|
97
|
-
var b = { attribute: true, type: String, converter: u, reflect: false, useDefault: false, hasChanged: f };
|
|
98
|
-
Symbol.metadata ?? (Symbol.metadata = /* @__PURE__ */ Symbol("metadata")), a.litPropertyMetadata ?? (a.litPropertyMetadata = /* @__PURE__ */ new WeakMap());
|
|
99
|
-
var y = class extends HTMLElement {
|
|
100
|
-
static addInitializer(t6) {
|
|
101
|
-
this._$Ei(), (this.l ?? (this.l = [])).push(t6);
|
|
102
|
-
}
|
|
103
|
-
static get observedAttributes() {
|
|
104
|
-
return this.finalize(), this._$Eh && [...this._$Eh.keys()];
|
|
105
|
-
}
|
|
106
|
-
static createProperty(t6, s5 = b) {
|
|
107
|
-
if (s5.state && (s5.attribute = false), this._$Ei(), this.prototype.hasOwnProperty(t6) && ((s5 = Object.create(s5)).wrapped = true), this.elementProperties.set(t6, s5), !s5.noAccessor) {
|
|
108
|
-
const i7 = /* @__PURE__ */ Symbol(), h3 = this.getPropertyDescriptor(t6, i7, s5);
|
|
109
|
-
void 0 !== h3 && e2(this.prototype, t6, h3);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
static getPropertyDescriptor(t6, s5, i7) {
|
|
113
|
-
const { get: e10, set: r8 } = h(this.prototype, t6) ?? { get() {
|
|
114
|
-
return this[s5];
|
|
115
|
-
}, set(t7) {
|
|
116
|
-
this[s5] = t7;
|
|
117
|
-
} };
|
|
118
|
-
return { get: e10, set(s6) {
|
|
119
|
-
const h3 = e10?.call(this);
|
|
120
|
-
r8?.call(this, s6), this.requestUpdate(t6, h3, i7);
|
|
121
|
-
}, configurable: true, enumerable: true };
|
|
122
|
-
}
|
|
123
|
-
static getPropertyOptions(t6) {
|
|
124
|
-
return this.elementProperties.get(t6) ?? b;
|
|
125
|
-
}
|
|
126
|
-
static _$Ei() {
|
|
127
|
-
if (this.hasOwnProperty(d("elementProperties"))) return;
|
|
128
|
-
const t6 = n2(this);
|
|
129
|
-
t6.finalize(), void 0 !== t6.l && (this.l = [...t6.l]), this.elementProperties = new Map(t6.elementProperties);
|
|
130
|
-
}
|
|
131
|
-
static finalize() {
|
|
132
|
-
if (this.hasOwnProperty(d("finalized"))) return;
|
|
133
|
-
if (this.finalized = true, this._$Ei(), this.hasOwnProperty(d("properties"))) {
|
|
134
|
-
const t7 = this.properties, s5 = [...r2(t7), ...o2(t7)];
|
|
135
|
-
for (const i7 of s5) this.createProperty(i7, t7[i7]);
|
|
136
|
-
}
|
|
137
|
-
const t6 = this[Symbol.metadata];
|
|
138
|
-
if (null !== t6) {
|
|
139
|
-
const s5 = litPropertyMetadata.get(t6);
|
|
140
|
-
if (void 0 !== s5) for (const [t7, i7] of s5) this.elementProperties.set(t7, i7);
|
|
141
|
-
}
|
|
142
|
-
this._$Eh = /* @__PURE__ */ new Map();
|
|
143
|
-
for (const [t7, s5] of this.elementProperties) {
|
|
144
|
-
const i7 = this._$Eu(t7, s5);
|
|
145
|
-
void 0 !== i7 && this._$Eh.set(i7, t7);
|
|
146
|
-
}
|
|
147
|
-
this.elementStyles = this.finalizeStyles(this.styles);
|
|
148
|
-
}
|
|
149
|
-
static finalizeStyles(s5) {
|
|
150
|
-
const i7 = [];
|
|
151
|
-
if (Array.isArray(s5)) {
|
|
152
|
-
const e10 = new Set(s5.flat(1 / 0).reverse());
|
|
153
|
-
for (const s6 of e10) i7.unshift(c(s6));
|
|
154
|
-
} else void 0 !== s5 && i7.push(c(s5));
|
|
155
|
-
return i7;
|
|
156
|
-
}
|
|
157
|
-
static _$Eu(t6, s5) {
|
|
158
|
-
const i7 = s5.attribute;
|
|
159
|
-
return false === i7 ? void 0 : "string" == typeof i7 ? i7 : "string" == typeof t6 ? t6.toLowerCase() : void 0;
|
|
160
|
-
}
|
|
161
|
-
constructor() {
|
|
162
|
-
super(), this._$Ep = void 0, this.isUpdatePending = false, this.hasUpdated = false, this._$Em = null, this._$Ev();
|
|
163
|
-
}
|
|
164
|
-
_$Ev() {
|
|
165
|
-
this._$ES = new Promise(((t6) => this.enableUpdating = t6)), this._$AL = /* @__PURE__ */ new Map(), this._$E_(), this.requestUpdate(), this.constructor.l?.forEach(((t6) => t6(this)));
|
|
166
|
-
}
|
|
167
|
-
addController(t6) {
|
|
168
|
-
(this._$EO ?? (this._$EO = /* @__PURE__ */ new Set())).add(t6), void 0 !== this.renderRoot && this.isConnected && t6.hostConnected?.();
|
|
169
|
-
}
|
|
170
|
-
removeController(t6) {
|
|
171
|
-
this._$EO?.delete(t6);
|
|
172
|
-
}
|
|
173
|
-
_$E_() {
|
|
174
|
-
const t6 = /* @__PURE__ */ new Map(), s5 = this.constructor.elementProperties;
|
|
175
|
-
for (const i7 of s5.keys()) this.hasOwnProperty(i7) && (t6.set(i7, this[i7]), delete this[i7]);
|
|
176
|
-
t6.size > 0 && (this._$Ep = t6);
|
|
177
|
-
}
|
|
178
|
-
createRenderRoot() {
|
|
179
|
-
const t6 = this.shadowRoot ?? this.attachShadow(this.constructor.shadowRootOptions);
|
|
180
|
-
return S(t6, this.constructor.elementStyles), t6;
|
|
181
|
-
}
|
|
182
|
-
connectedCallback() {
|
|
183
|
-
this.renderRoot ?? (this.renderRoot = this.createRenderRoot()), this.enableUpdating(true), this._$EO?.forEach(((t6) => t6.hostConnected?.()));
|
|
184
|
-
}
|
|
185
|
-
enableUpdating(t6) {
|
|
186
|
-
}
|
|
187
|
-
disconnectedCallback() {
|
|
188
|
-
this._$EO?.forEach(((t6) => t6.hostDisconnected?.()));
|
|
189
|
-
}
|
|
190
|
-
attributeChangedCallback(t6, s5, i7) {
|
|
191
|
-
this._$AK(t6, i7);
|
|
192
|
-
}
|
|
193
|
-
_$ET(t6, s5) {
|
|
194
|
-
const i7 = this.constructor.elementProperties.get(t6), e10 = this.constructor._$Eu(t6, i7);
|
|
195
|
-
if (void 0 !== e10 && true === i7.reflect) {
|
|
196
|
-
const h3 = (void 0 !== i7.converter?.toAttribute ? i7.converter : u).toAttribute(s5, i7.type);
|
|
197
|
-
this._$Em = t6, null == h3 ? this.removeAttribute(e10) : this.setAttribute(e10, h3), this._$Em = null;
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
_$AK(t6, s5) {
|
|
201
|
-
const i7 = this.constructor, e10 = i7._$Eh.get(t6);
|
|
202
|
-
if (void 0 !== e10 && this._$Em !== e10) {
|
|
203
|
-
const t7 = i7.getPropertyOptions(e10), h3 = "function" == typeof t7.converter ? { fromAttribute: t7.converter } : void 0 !== t7.converter?.fromAttribute ? t7.converter : u;
|
|
204
|
-
this._$Em = e10, this[e10] = h3.fromAttribute(s5, t7.type) ?? this._$Ej?.get(e10) ?? null, this._$Em = null;
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
requestUpdate(t6, s5, i7) {
|
|
208
|
-
if (void 0 !== t6) {
|
|
209
|
-
const e10 = this.constructor, h3 = this[t6];
|
|
210
|
-
if (i7 ?? (i7 = e10.getPropertyOptions(t6)), !((i7.hasChanged ?? f)(h3, s5) || i7.useDefault && i7.reflect && h3 === this._$Ej?.get(t6) && !this.hasAttribute(e10._$Eu(t6, i7)))) return;
|
|
211
|
-
this.C(t6, s5, i7);
|
|
212
|
-
}
|
|
213
|
-
false === this.isUpdatePending && (this._$ES = this._$EP());
|
|
214
|
-
}
|
|
215
|
-
C(t6, s5, { useDefault: i7, reflect: e10, wrapped: h3 }, r8) {
|
|
216
|
-
i7 && !(this._$Ej ?? (this._$Ej = /* @__PURE__ */ new Map())).has(t6) && (this._$Ej.set(t6, r8 ?? s5 ?? this[t6]), true !== h3 || void 0 !== r8) || (this._$AL.has(t6) || (this.hasUpdated || i7 || (s5 = void 0), this._$AL.set(t6, s5)), true === e10 && this._$Em !== t6 && (this._$Eq ?? (this._$Eq = /* @__PURE__ */ new Set())).add(t6));
|
|
217
|
-
}
|
|
218
|
-
async _$EP() {
|
|
219
|
-
this.isUpdatePending = true;
|
|
220
|
-
try {
|
|
221
|
-
await this._$ES;
|
|
222
|
-
} catch (t7) {
|
|
223
|
-
Promise.reject(t7);
|
|
224
|
-
}
|
|
225
|
-
const t6 = this.scheduleUpdate();
|
|
226
|
-
return null != t6 && await t6, !this.isUpdatePending;
|
|
227
|
-
}
|
|
228
|
-
scheduleUpdate() {
|
|
229
|
-
return this.performUpdate();
|
|
230
|
-
}
|
|
231
|
-
performUpdate() {
|
|
232
|
-
if (!this.isUpdatePending) return;
|
|
233
|
-
if (!this.hasUpdated) {
|
|
234
|
-
if (this.renderRoot ?? (this.renderRoot = this.createRenderRoot()), this._$Ep) {
|
|
235
|
-
for (const [t8, s6] of this._$Ep) this[t8] = s6;
|
|
236
|
-
this._$Ep = void 0;
|
|
237
|
-
}
|
|
238
|
-
const t7 = this.constructor.elementProperties;
|
|
239
|
-
if (t7.size > 0) for (const [s6, i7] of t7) {
|
|
240
|
-
const { wrapped: t8 } = i7, e10 = this[s6];
|
|
241
|
-
true !== t8 || this._$AL.has(s6) || void 0 === e10 || this.C(s6, void 0, i7, e10);
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
let t6 = false;
|
|
245
|
-
const s5 = this._$AL;
|
|
246
|
-
try {
|
|
247
|
-
t6 = this.shouldUpdate(s5), t6 ? (this.willUpdate(s5), this._$EO?.forEach(((t7) => t7.hostUpdate?.())), this.update(s5)) : this._$EM();
|
|
248
|
-
} catch (s6) {
|
|
249
|
-
throw t6 = false, this._$EM(), s6;
|
|
250
|
-
}
|
|
251
|
-
t6 && this._$AE(s5);
|
|
252
|
-
}
|
|
253
|
-
willUpdate(t6) {
|
|
254
|
-
}
|
|
255
|
-
_$AE(t6) {
|
|
256
|
-
this._$EO?.forEach(((t7) => t7.hostUpdated?.())), this.hasUpdated || (this.hasUpdated = true, this.firstUpdated(t6)), this.updated(t6);
|
|
257
|
-
}
|
|
258
|
-
_$EM() {
|
|
259
|
-
this._$AL = /* @__PURE__ */ new Map(), this.isUpdatePending = false;
|
|
260
|
-
}
|
|
261
|
-
get updateComplete() {
|
|
262
|
-
return this.getUpdateComplete();
|
|
263
|
-
}
|
|
264
|
-
getUpdateComplete() {
|
|
265
|
-
return this._$ES;
|
|
266
|
-
}
|
|
267
|
-
shouldUpdate(t6) {
|
|
268
|
-
return true;
|
|
269
|
-
}
|
|
270
|
-
update(t6) {
|
|
271
|
-
this._$Eq && (this._$Eq = this._$Eq.forEach(((t7) => this._$ET(t7, this[t7])))), this._$EM();
|
|
272
|
-
}
|
|
273
|
-
updated(t6) {
|
|
274
|
-
}
|
|
275
|
-
firstUpdated(t6) {
|
|
276
|
-
}
|
|
277
|
-
};
|
|
278
|
-
y.elementStyles = [], y.shadowRootOptions = { mode: "open" }, y[d("elementProperties")] = /* @__PURE__ */ new Map(), y[d("finalized")] = /* @__PURE__ */ new Map(), p?.({ ReactiveElement: y }), (a.reactiveElementVersions ?? (a.reactiveElementVersions = [])).push("2.1.0");
|
|
279
|
-
|
|
280
|
-
// ../../node_modules/lit-html/lit-html.js
|
|
281
|
-
var t2 = globalThis;
|
|
282
|
-
var i3 = t2.trustedTypes;
|
|
283
|
-
var s2 = i3 ? i3.createPolicy("lit-html", { createHTML: (t6) => t6 }) : void 0;
|
|
284
|
-
var e3 = "$lit$";
|
|
285
|
-
var h2 = `lit$${Math.random().toFixed(9).slice(2)}$`;
|
|
286
|
-
var o3 = "?" + h2;
|
|
287
|
-
var n3 = `<${o3}>`;
|
|
288
|
-
var r3 = document;
|
|
289
|
-
var l2 = () => r3.createComment("");
|
|
290
|
-
var c3 = (t6) => null === t6 || "object" != typeof t6 && "function" != typeof t6;
|
|
291
|
-
var a2 = Array.isArray;
|
|
292
|
-
var u2 = (t6) => a2(t6) || "function" == typeof t6?.[Symbol.iterator];
|
|
293
|
-
var d2 = "[ \n\f\r]";
|
|
294
|
-
var f2 = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g;
|
|
295
|
-
var v = /-->/g;
|
|
296
|
-
var _ = />/g;
|
|
297
|
-
var m = RegExp(`>|${d2}(?:([^\\s"'>=/]+)(${d2}*=${d2}*(?:[^
|
|
298
|
-
\f\r"'\`<>=]|("|')|))|$)`, "g");
|
|
299
|
-
var p2 = /'/g;
|
|
300
|
-
var g = /"/g;
|
|
301
|
-
var $ = /^(?:script|style|textarea|title)$/i;
|
|
302
|
-
var y2 = (t6) => (i7, ...s5) => ({ _$litType$: t6, strings: i7, values: s5 });
|
|
303
|
-
var x = y2(1);
|
|
304
|
-
var b2 = y2(2);
|
|
305
|
-
var w = y2(3);
|
|
306
|
-
var T = /* @__PURE__ */ Symbol.for("lit-noChange");
|
|
307
|
-
var E = /* @__PURE__ */ Symbol.for("lit-nothing");
|
|
308
|
-
var A = /* @__PURE__ */ new WeakMap();
|
|
309
|
-
var C = r3.createTreeWalker(r3, 129);
|
|
310
|
-
function P(t6, i7) {
|
|
311
|
-
if (!a2(t6) || !t6.hasOwnProperty("raw")) throw Error("invalid template strings array");
|
|
312
|
-
return void 0 !== s2 ? s2.createHTML(i7) : i7;
|
|
313
|
-
}
|
|
314
|
-
var V = (t6, i7) => {
|
|
315
|
-
const s5 = t6.length - 1, o10 = [];
|
|
316
|
-
let r8, l3 = 2 === i7 ? "<svg>" : 3 === i7 ? "<math>" : "", c5 = f2;
|
|
317
|
-
for (let i8 = 0; i8 < s5; i8++) {
|
|
318
|
-
const s6 = t6[i8];
|
|
319
|
-
let a3, u5, d3 = -1, y3 = 0;
|
|
320
|
-
for (; y3 < s6.length && (c5.lastIndex = y3, u5 = c5.exec(s6), null !== u5); ) y3 = c5.lastIndex, c5 === f2 ? "!--" === u5[1] ? c5 = v : void 0 !== u5[1] ? c5 = _ : void 0 !== u5[2] ? ($.test(u5[2]) && (r8 = RegExp("</" + u5[2], "g")), c5 = m) : void 0 !== u5[3] && (c5 = m) : c5 === m ? ">" === u5[0] ? (c5 = r8 ?? f2, d3 = -1) : void 0 === u5[1] ? d3 = -2 : (d3 = c5.lastIndex - u5[2].length, a3 = u5[1], c5 = void 0 === u5[3] ? m : '"' === u5[3] ? g : p2) : c5 === g || c5 === p2 ? c5 = m : c5 === v || c5 === _ ? c5 = f2 : (c5 = m, r8 = void 0);
|
|
321
|
-
const x2 = c5 === m && t6[i8 + 1].startsWith("/>") ? " " : "";
|
|
322
|
-
l3 += c5 === f2 ? s6 + n3 : d3 >= 0 ? (o10.push(a3), s6.slice(0, d3) + e3 + s6.slice(d3) + h2 + x2) : s6 + h2 + (-2 === d3 ? i8 : x2);
|
|
323
|
-
}
|
|
324
|
-
return [P(t6, l3 + (t6[s5] || "<?>") + (2 === i7 ? "</svg>" : 3 === i7 ? "</math>" : "")), o10];
|
|
325
|
-
};
|
|
326
|
-
var N = class _N {
|
|
327
|
-
constructor({ strings: t6, _$litType$: s5 }, n5) {
|
|
328
|
-
let r8;
|
|
329
|
-
this.parts = [];
|
|
330
|
-
let c5 = 0, a3 = 0;
|
|
331
|
-
const u5 = t6.length - 1, d3 = this.parts, [f3, v3] = V(t6, s5);
|
|
332
|
-
if (this.el = _N.createElement(f3, n5), C.currentNode = this.el.content, 2 === s5 || 3 === s5) {
|
|
333
|
-
const t7 = this.el.content.firstChild;
|
|
334
|
-
t7.replaceWith(...t7.childNodes);
|
|
335
|
-
}
|
|
336
|
-
for (; null !== (r8 = C.nextNode()) && d3.length < u5; ) {
|
|
337
|
-
if (1 === r8.nodeType) {
|
|
338
|
-
if (r8.hasAttributes()) for (const t7 of r8.getAttributeNames()) if (t7.endsWith(e3)) {
|
|
339
|
-
const i7 = v3[a3++], s6 = r8.getAttribute(t7).split(h2), e10 = /([.?@])?(.*)/.exec(i7);
|
|
340
|
-
d3.push({ type: 1, index: c5, name: e10[2], strings: s6, ctor: "." === e10[1] ? H : "?" === e10[1] ? I : "@" === e10[1] ? L : k }), r8.removeAttribute(t7);
|
|
341
|
-
} else t7.startsWith(h2) && (d3.push({ type: 6, index: c5 }), r8.removeAttribute(t7));
|
|
342
|
-
if ($.test(r8.tagName)) {
|
|
343
|
-
const t7 = r8.textContent.split(h2), s6 = t7.length - 1;
|
|
344
|
-
if (s6 > 0) {
|
|
345
|
-
r8.textContent = i3 ? i3.emptyScript : "";
|
|
346
|
-
for (let i7 = 0; i7 < s6; i7++) r8.append(t7[i7], l2()), C.nextNode(), d3.push({ type: 2, index: ++c5 });
|
|
347
|
-
r8.append(t7[s6], l2());
|
|
348
|
-
}
|
|
349
|
-
}
|
|
350
|
-
} else if (8 === r8.nodeType) if (r8.data === o3) d3.push({ type: 2, index: c5 });
|
|
351
|
-
else {
|
|
352
|
-
let t7 = -1;
|
|
353
|
-
for (; -1 !== (t7 = r8.data.indexOf(h2, t7 + 1)); ) d3.push({ type: 7, index: c5 }), t7 += h2.length - 1;
|
|
354
|
-
}
|
|
355
|
-
c5++;
|
|
356
|
-
}
|
|
357
|
-
}
|
|
358
|
-
static createElement(t6, i7) {
|
|
359
|
-
const s5 = r3.createElement("template");
|
|
360
|
-
return s5.innerHTML = t6, s5;
|
|
361
|
-
}
|
|
362
|
-
};
|
|
363
|
-
function S2(t6, i7, s5 = t6, e10) {
|
|
364
|
-
if (i7 === T) return i7;
|
|
365
|
-
let h3 = void 0 !== e10 ? s5._$Co?.[e10] : s5._$Cl;
|
|
366
|
-
const o10 = c3(i7) ? void 0 : i7._$litDirective$;
|
|
367
|
-
return h3?.constructor !== o10 && (h3?._$AO?.(false), void 0 === o10 ? h3 = void 0 : (h3 = new o10(t6), h3._$AT(t6, s5, e10)), void 0 !== e10 ? (s5._$Co ?? (s5._$Co = []))[e10] = h3 : s5._$Cl = h3), void 0 !== h3 && (i7 = S2(t6, h3._$AS(t6, i7.values), h3, e10)), i7;
|
|
368
|
-
}
|
|
369
|
-
var M = class {
|
|
370
|
-
constructor(t6, i7) {
|
|
371
|
-
this._$AV = [], this._$AN = void 0, this._$AD = t6, this._$AM = i7;
|
|
372
|
-
}
|
|
373
|
-
get parentNode() {
|
|
374
|
-
return this._$AM.parentNode;
|
|
375
|
-
}
|
|
376
|
-
get _$AU() {
|
|
377
|
-
return this._$AM._$AU;
|
|
378
|
-
}
|
|
379
|
-
u(t6) {
|
|
380
|
-
const { el: { content: i7 }, parts: s5 } = this._$AD, e10 = (t6?.creationScope ?? r3).importNode(i7, true);
|
|
381
|
-
C.currentNode = e10;
|
|
382
|
-
let h3 = C.nextNode(), o10 = 0, n5 = 0, l3 = s5[0];
|
|
383
|
-
for (; void 0 !== l3; ) {
|
|
384
|
-
if (o10 === l3.index) {
|
|
385
|
-
let i8;
|
|
386
|
-
2 === l3.type ? i8 = new R(h3, h3.nextSibling, this, t6) : 1 === l3.type ? i8 = new l3.ctor(h3, l3.name, l3.strings, this, t6) : 6 === l3.type && (i8 = new z(h3, this, t6)), this._$AV.push(i8), l3 = s5[++n5];
|
|
387
|
-
}
|
|
388
|
-
o10 !== l3?.index && (h3 = C.nextNode(), o10++);
|
|
389
|
-
}
|
|
390
|
-
return C.currentNode = r3, e10;
|
|
391
|
-
}
|
|
392
|
-
p(t6) {
|
|
393
|
-
let i7 = 0;
|
|
394
|
-
for (const s5 of this._$AV) void 0 !== s5 && (void 0 !== s5.strings ? (s5._$AI(t6, s5, i7), i7 += s5.strings.length - 2) : s5._$AI(t6[i7])), i7++;
|
|
395
|
-
}
|
|
396
|
-
};
|
|
397
|
-
var R = class _R {
|
|
398
|
-
get _$AU() {
|
|
399
|
-
return this._$AM?._$AU ?? this._$Cv;
|
|
400
|
-
}
|
|
401
|
-
constructor(t6, i7, s5, e10) {
|
|
402
|
-
this.type = 2, this._$AH = E, this._$AN = void 0, this._$AA = t6, this._$AB = i7, this._$AM = s5, this.options = e10, this._$Cv = e10?.isConnected ?? true;
|
|
403
|
-
}
|
|
404
|
-
get parentNode() {
|
|
405
|
-
let t6 = this._$AA.parentNode;
|
|
406
|
-
const i7 = this._$AM;
|
|
407
|
-
return void 0 !== i7 && 11 === t6?.nodeType && (t6 = i7.parentNode), t6;
|
|
408
|
-
}
|
|
409
|
-
get startNode() {
|
|
410
|
-
return this._$AA;
|
|
411
|
-
}
|
|
412
|
-
get endNode() {
|
|
413
|
-
return this._$AB;
|
|
414
|
-
}
|
|
415
|
-
_$AI(t6, i7 = this) {
|
|
416
|
-
t6 = S2(this, t6, i7), c3(t6) ? t6 === E || null == t6 || "" === t6 ? (this._$AH !== E && this._$AR(), this._$AH = E) : t6 !== this._$AH && t6 !== T && this._(t6) : void 0 !== t6._$litType$ ? this.$(t6) : void 0 !== t6.nodeType ? this.T(t6) : u2(t6) ? this.k(t6) : this._(t6);
|
|
417
|
-
}
|
|
418
|
-
O(t6) {
|
|
419
|
-
return this._$AA.parentNode.insertBefore(t6, this._$AB);
|
|
420
|
-
}
|
|
421
|
-
T(t6) {
|
|
422
|
-
this._$AH !== t6 && (this._$AR(), this._$AH = this.O(t6));
|
|
423
|
-
}
|
|
424
|
-
_(t6) {
|
|
425
|
-
this._$AH !== E && c3(this._$AH) ? this._$AA.nextSibling.data = t6 : this.T(r3.createTextNode(t6)), this._$AH = t6;
|
|
426
|
-
}
|
|
427
|
-
$(t6) {
|
|
428
|
-
const { values: i7, _$litType$: s5 } = t6, e10 = "number" == typeof s5 ? this._$AC(t6) : (void 0 === s5.el && (s5.el = N.createElement(P(s5.h, s5.h[0]), this.options)), s5);
|
|
429
|
-
if (this._$AH?._$AD === e10) this._$AH.p(i7);
|
|
430
|
-
else {
|
|
431
|
-
const t7 = new M(e10, this), s6 = t7.u(this.options);
|
|
432
|
-
t7.p(i7), this.T(s6), this._$AH = t7;
|
|
433
|
-
}
|
|
434
|
-
}
|
|
435
|
-
_$AC(t6) {
|
|
436
|
-
let i7 = A.get(t6.strings);
|
|
437
|
-
return void 0 === i7 && A.set(t6.strings, i7 = new N(t6)), i7;
|
|
438
|
-
}
|
|
439
|
-
k(t6) {
|
|
440
|
-
a2(this._$AH) || (this._$AH = [], this._$AR());
|
|
441
|
-
const i7 = this._$AH;
|
|
442
|
-
let s5, e10 = 0;
|
|
443
|
-
for (const h3 of t6) e10 === i7.length ? i7.push(s5 = new _R(this.O(l2()), this.O(l2()), this, this.options)) : s5 = i7[e10], s5._$AI(h3), e10++;
|
|
444
|
-
e10 < i7.length && (this._$AR(s5 && s5._$AB.nextSibling, e10), i7.length = e10);
|
|
445
|
-
}
|
|
446
|
-
_$AR(t6 = this._$AA.nextSibling, i7) {
|
|
447
|
-
for (this._$AP?.(false, true, i7); t6 && t6 !== this._$AB; ) {
|
|
448
|
-
const i8 = t6.nextSibling;
|
|
449
|
-
t6.remove(), t6 = i8;
|
|
450
|
-
}
|
|
451
|
-
}
|
|
452
|
-
setConnected(t6) {
|
|
453
|
-
void 0 === this._$AM && (this._$Cv = t6, this._$AP?.(t6));
|
|
454
|
-
}
|
|
455
|
-
};
|
|
456
|
-
var k = class {
|
|
457
|
-
get tagName() {
|
|
458
|
-
return this.element.tagName;
|
|
459
|
-
}
|
|
460
|
-
get _$AU() {
|
|
461
|
-
return this._$AM._$AU;
|
|
462
|
-
}
|
|
463
|
-
constructor(t6, i7, s5, e10, h3) {
|
|
464
|
-
this.type = 1, this._$AH = E, this._$AN = void 0, this.element = t6, this.name = i7, this._$AM = e10, this.options = h3, s5.length > 2 || "" !== s5[0] || "" !== s5[1] ? (this._$AH = Array(s5.length - 1).fill(new String()), this.strings = s5) : this._$AH = E;
|
|
465
|
-
}
|
|
466
|
-
_$AI(t6, i7 = this, s5, e10) {
|
|
467
|
-
const h3 = this.strings;
|
|
468
|
-
let o10 = false;
|
|
469
|
-
if (void 0 === h3) t6 = S2(this, t6, i7, 0), o10 = !c3(t6) || t6 !== this._$AH && t6 !== T, o10 && (this._$AH = t6);
|
|
470
|
-
else {
|
|
471
|
-
const e11 = t6;
|
|
472
|
-
let n5, r8;
|
|
473
|
-
for (t6 = h3[0], n5 = 0; n5 < h3.length - 1; n5++) r8 = S2(this, e11[s5 + n5], i7, n5), r8 === T && (r8 = this._$AH[n5]), o10 || (o10 = !c3(r8) || r8 !== this._$AH[n5]), r8 === E ? t6 = E : t6 !== E && (t6 += (r8 ?? "") + h3[n5 + 1]), this._$AH[n5] = r8;
|
|
474
|
-
}
|
|
475
|
-
o10 && !e10 && this.j(t6);
|
|
476
|
-
}
|
|
477
|
-
j(t6) {
|
|
478
|
-
t6 === E ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, t6 ?? "");
|
|
479
|
-
}
|
|
480
|
-
};
|
|
481
|
-
var H = class extends k {
|
|
482
|
-
constructor() {
|
|
483
|
-
super(...arguments), this.type = 3;
|
|
484
|
-
}
|
|
485
|
-
j(t6) {
|
|
486
|
-
this.element[this.name] = t6 === E ? void 0 : t6;
|
|
487
|
-
}
|
|
488
|
-
};
|
|
489
|
-
var I = class extends k {
|
|
490
|
-
constructor() {
|
|
491
|
-
super(...arguments), this.type = 4;
|
|
492
|
-
}
|
|
493
|
-
j(t6) {
|
|
494
|
-
this.element.toggleAttribute(this.name, !!t6 && t6 !== E);
|
|
495
|
-
}
|
|
496
|
-
};
|
|
497
|
-
var L = class extends k {
|
|
498
|
-
constructor(t6, i7, s5, e10, h3) {
|
|
499
|
-
super(t6, i7, s5, e10, h3), this.type = 5;
|
|
500
|
-
}
|
|
501
|
-
_$AI(t6, i7 = this) {
|
|
502
|
-
if ((t6 = S2(this, t6, i7, 0) ?? E) === T) return;
|
|
503
|
-
const s5 = this._$AH, e10 = t6 === E && s5 !== E || t6.capture !== s5.capture || t6.once !== s5.once || t6.passive !== s5.passive, h3 = t6 !== E && (s5 === E || e10);
|
|
504
|
-
e10 && this.element.removeEventListener(this.name, this, s5), h3 && this.element.addEventListener(this.name, this, t6), this._$AH = t6;
|
|
505
|
-
}
|
|
506
|
-
handleEvent(t6) {
|
|
507
|
-
"function" == typeof this._$AH ? this._$AH.call(this.options?.host ?? this.element, t6) : this._$AH.handleEvent(t6);
|
|
508
|
-
}
|
|
509
|
-
};
|
|
510
|
-
var z = class {
|
|
511
|
-
constructor(t6, i7, s5) {
|
|
512
|
-
this.element = t6, this.type = 6, this._$AN = void 0, this._$AM = i7, this.options = s5;
|
|
513
|
-
}
|
|
514
|
-
get _$AU() {
|
|
515
|
-
return this._$AM._$AU;
|
|
516
|
-
}
|
|
517
|
-
_$AI(t6) {
|
|
518
|
-
S2(this, t6);
|
|
519
|
-
}
|
|
520
|
-
};
|
|
521
|
-
var Z = { M: e3, P: h2, A: o3, C: 1, L: V, R: M, D: u2, V: S2, I: R, H: k, N: I, U: L, B: H, F: z };
|
|
522
|
-
var j = t2.litHtmlPolyfillSupport;
|
|
523
|
-
j?.(N, R), (t2.litHtmlVersions ?? (t2.litHtmlVersions = [])).push("3.3.0");
|
|
524
|
-
var B = (t6, i7, s5) => {
|
|
525
|
-
const e10 = s5?.renderBefore ?? i7;
|
|
526
|
-
let h3 = e10._$litPart$;
|
|
527
|
-
if (void 0 === h3) {
|
|
528
|
-
const t7 = s5?.renderBefore ?? null;
|
|
529
|
-
e10._$litPart$ = h3 = new R(i7.insertBefore(l2(), t7), t7, void 0, s5 ?? {});
|
|
530
|
-
}
|
|
531
|
-
return h3._$AI(t6), h3;
|
|
532
|
-
};
|
|
533
|
-
|
|
534
|
-
// ../../node_modules/lit-element/lit-element.js
|
|
535
|
-
var s3 = globalThis;
|
|
536
|
-
var i4 = class extends y {
|
|
537
|
-
constructor() {
|
|
538
|
-
super(...arguments), this.renderOptions = { host: this }, this._$Do = void 0;
|
|
539
|
-
}
|
|
540
|
-
createRenderRoot() {
|
|
541
|
-
var _a;
|
|
542
|
-
const t6 = super.createRenderRoot();
|
|
543
|
-
return (_a = this.renderOptions).renderBefore ?? (_a.renderBefore = t6.firstChild), t6;
|
|
544
|
-
}
|
|
545
|
-
update(t6) {
|
|
546
|
-
const r8 = this.render();
|
|
547
|
-
this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(t6), this._$Do = B(r8, this.renderRoot, this.renderOptions);
|
|
548
|
-
}
|
|
549
|
-
connectedCallback() {
|
|
550
|
-
super.connectedCallback(), this._$Do?.setConnected(true);
|
|
551
|
-
}
|
|
552
|
-
disconnectedCallback() {
|
|
553
|
-
super.disconnectedCallback(), this._$Do?.setConnected(false);
|
|
554
|
-
}
|
|
555
|
-
render() {
|
|
556
|
-
return T;
|
|
557
|
-
}
|
|
558
|
-
};
|
|
559
|
-
i4._$litElement$ = true, i4["finalized"] = true, s3.litElementHydrateSupport?.({ LitElement: i4 });
|
|
560
|
-
var o4 = s3.litElementPolyfillSupport;
|
|
561
|
-
o4?.({ LitElement: i4 });
|
|
562
|
-
(s3.litElementVersions ?? (s3.litElementVersions = [])).push("4.2.0");
|
|
563
|
-
|
|
564
|
-
// ../../node_modules/@lit/reactive-element/decorators/property.js
|
|
565
|
-
var o5 = { attribute: true, type: String, converter: u, reflect: false, hasChanged: f };
|
|
566
|
-
var r4 = (t6 = o5, e10, r8) => {
|
|
567
|
-
const { kind: n5, metadata: i7 } = r8;
|
|
568
|
-
let s5 = globalThis.litPropertyMetadata.get(i7);
|
|
569
|
-
if (void 0 === s5 && globalThis.litPropertyMetadata.set(i7, s5 = /* @__PURE__ */ new Map()), "setter" === n5 && ((t6 = Object.create(t6)).wrapped = true), s5.set(r8.name, t6), "accessor" === n5) {
|
|
570
|
-
const { name: o10 } = r8;
|
|
571
|
-
return { set(r9) {
|
|
572
|
-
const n6 = e10.get.call(this);
|
|
573
|
-
e10.set.call(this, r9), this.requestUpdate(o10, n6, t6);
|
|
574
|
-
}, init(e11) {
|
|
575
|
-
return void 0 !== e11 && this.C(o10, void 0, t6, e11), e11;
|
|
576
|
-
} };
|
|
577
|
-
}
|
|
578
|
-
if ("setter" === n5) {
|
|
579
|
-
const { name: o10 } = r8;
|
|
580
|
-
return function(r9) {
|
|
581
|
-
const n6 = this[o10];
|
|
582
|
-
e10.call(this, r9), this.requestUpdate(o10, n6, t6);
|
|
583
|
-
};
|
|
584
|
-
}
|
|
585
|
-
throw Error("Unsupported decorator location: " + n5);
|
|
586
|
-
};
|
|
587
|
-
function n4(t6) {
|
|
588
|
-
return (e10, o10) => "object" == typeof o10 ? r4(t6, e10, o10) : ((t7, e11, o11) => {
|
|
589
|
-
const r8 = e11.hasOwnProperty(o11);
|
|
590
|
-
return e11.constructor.createProperty(o11, t7), r8 ? Object.getOwnPropertyDescriptor(e11, o11) : void 0;
|
|
591
|
-
})(t6, e10, o10);
|
|
592
|
-
}
|
|
593
|
-
|
|
594
|
-
// ../../node_modules/@lit/reactive-element/decorators/state.js
|
|
595
|
-
function r5(r8) {
|
|
596
|
-
return n4({ ...r8, state: true, attribute: false });
|
|
597
|
-
}
|
|
598
|
-
|
|
599
|
-
// ../../node_modules/@lit/reactive-element/decorators/base.js
|
|
600
|
-
var e4 = (e10, t6, c5) => (c5.configurable = true, c5.enumerable = true, Reflect.decorate && "object" != typeof t6 && Object.defineProperty(e10, t6, c5), c5);
|
|
601
|
-
|
|
602
|
-
// ../../node_modules/@lit/reactive-element/decorators/query.js
|
|
603
|
-
function e5(e10, r8) {
|
|
604
|
-
return (n5, s5, i7) => {
|
|
605
|
-
const o10 = (t6) => t6.renderRoot?.querySelector(e10) ?? null;
|
|
606
|
-
if (r8) {
|
|
607
|
-
const { get: e11, set: r9 } = "object" == typeof s5 ? n5 : i7 ?? /* @__PURE__ */ (() => {
|
|
608
|
-
const t6 = /* @__PURE__ */ Symbol();
|
|
609
|
-
return { get() {
|
|
610
|
-
return this[t6];
|
|
611
|
-
}, set(e12) {
|
|
612
|
-
this[t6] = e12;
|
|
613
|
-
} };
|
|
614
|
-
})();
|
|
615
|
-
return e4(n5, s5, { get() {
|
|
616
|
-
let t6 = e11.call(this);
|
|
617
|
-
return void 0 === t6 && (t6 = o10(this), (null !== t6 || this.hasUpdated) && r9.call(this, t6)), t6;
|
|
618
|
-
} });
|
|
619
|
-
}
|
|
620
|
-
return e4(n5, s5, { get() {
|
|
621
|
-
return o10(this);
|
|
622
|
-
} });
|
|
623
|
-
};
|
|
624
|
-
}
|
|
625
|
-
|
|
626
|
-
// ../../node_modules/@lit/reactive-element/decorators/query-all.js
|
|
627
|
-
var e6;
|
|
628
|
-
function r6(r8) {
|
|
629
|
-
return (n5, o10) => e4(n5, o10, { get() {
|
|
630
|
-
return (this.renderRoot ?? (e6 ?? (e6 = document.createDocumentFragment()))).querySelectorAll(r8);
|
|
631
|
-
} });
|
|
632
|
-
}
|
|
633
|
-
|
|
634
|
-
// ../../node_modules/@lit/reactive-element/decorators/query-assigned-elements.js
|
|
635
|
-
function o6(o10) {
|
|
636
|
-
return (e10, n5) => {
|
|
637
|
-
const { slot: r8, selector: s5 } = o10 ?? {}, c5 = "slot" + (r8 ? `[name=${r8}]` : ":not([name])");
|
|
638
|
-
return e4(e10, n5, { get() {
|
|
639
|
-
const t6 = this.renderRoot?.querySelector(c5), e11 = t6?.assignedElements(o10) ?? [];
|
|
640
|
-
return void 0 === s5 ? e11 : e11.filter(((t7) => t7.matches(s5)));
|
|
641
|
-
} });
|
|
642
|
-
};
|
|
643
|
-
}
|
|
644
|
-
|
|
645
|
-
// ../../node_modules/lit-html/directive.js
|
|
646
|
-
var t3 = { ATTRIBUTE: 1, CHILD: 2, PROPERTY: 3, BOOLEAN_ATTRIBUTE: 4, EVENT: 5, ELEMENT: 6 };
|
|
647
|
-
var e7 = (t6) => (...e10) => ({ _$litDirective$: t6, values: e10 });
|
|
648
|
-
var i5 = class {
|
|
649
|
-
constructor(t6) {
|
|
650
|
-
}
|
|
651
|
-
get _$AU() {
|
|
652
|
-
return this._$AM._$AU;
|
|
653
|
-
}
|
|
654
|
-
_$AT(t6, e10, i7) {
|
|
655
|
-
this._$Ct = t6, this._$AM = e10, this._$Ci = i7;
|
|
656
|
-
}
|
|
657
|
-
_$AS(t6, e10) {
|
|
658
|
-
return this.update(t6, e10);
|
|
659
|
-
}
|
|
660
|
-
update(t6, e10) {
|
|
661
|
-
return this.render(...e10);
|
|
662
|
-
}
|
|
663
|
-
};
|
|
664
|
-
|
|
665
|
-
// ../../node_modules/lit-html/directives/unsafe-html.js
|
|
666
|
-
var e8 = class extends i5 {
|
|
667
|
-
constructor(i7) {
|
|
668
|
-
if (super(i7), this.it = E, i7.type !== t3.CHILD) throw Error(this.constructor.directiveName + "() can only be used in child bindings");
|
|
669
|
-
}
|
|
670
|
-
render(r8) {
|
|
671
|
-
if (r8 === E || null == r8) return this._t = void 0, this.it = r8;
|
|
672
|
-
if (r8 === T) return r8;
|
|
673
|
-
if ("string" != typeof r8) throw Error(this.constructor.directiveName + "() called with a non-string value");
|
|
674
|
-
if (r8 === this.it) return this._t;
|
|
675
|
-
this.it = r8;
|
|
676
|
-
const s5 = [r8];
|
|
677
|
-
return s5.raw = s5, this._t = { _$litType$: this.constructor.resultType, strings: s5, values: [] };
|
|
678
|
-
}
|
|
679
|
-
};
|
|
680
|
-
e8.directiveName = "unsafeHTML", e8.resultType = 1;
|
|
681
|
-
var o7 = e7(e8);
|
|
682
|
-
|
|
683
|
-
// ../../node_modules/lit-html/directives/unsafe-svg.js
|
|
684
|
-
var t4 = class extends e8 {
|
|
685
|
-
};
|
|
686
|
-
t4.directiveName = "unsafeSVG", t4.resultType = 2;
|
|
687
|
-
var o8 = e7(t4);
|
|
688
|
-
|
|
689
|
-
// ../icons/dist/esm/src/icons/alert.js
|
|
690
|
-
var alert = `<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
691
|
-
<path fill-rule="evenodd" clip-rule="evenodd" d="M10 20C15.5228 20 20 15.5228 20 10C20 4.47715 15.5228 0 10 0C4.47715 0 0 4.47715 0 10C0 15.5228 4.47715 20 10 20ZM9.25 5.75C9.25 5.33579 9.58579 5 10 5C10.4142 5 10.75 5.33579 10.75 5.75V11.25C10.75 11.6642 10.4142 12 10 12C9.58579 12 9.25 11.6642 9.25 11.25V5.75ZM10.75 13.75C10.75 14.1642 10.4142 14.5 10 14.5C9.58579 14.5 9.25 14.1642 9.25 13.75C9.25 13.3358 9.58579 13 10 13C10.4142 13 10.75 13.3358 10.75 13.75Z" fill="currentColor"/>
|
|
692
|
-
</svg>`;
|
|
693
|
-
|
|
694
|
-
// ../icons/dist/esm/src/icons/campaigns.js
|
|
695
|
-
var campaigns = `<svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
|
|
696
|
-
<path fill-rule="evenodd" clip-rule="evenodd" d="M13.75 11C13.75 9.47056 14.1646 8.11984 14.7956 7.17338C15.1658 6.61803 15.5905 6.22612 16.0341 5.99602L17.0795 5.75165C17.8298 5.78274 18.5916 6.25415 19.2044 7.17338C19.8354 8.11984 20.25 9.47056 20.25 11C20.25 12.5294 19.8354 13.8802 19.2044 14.8266C18.5916 15.7458 17.8298 16.2173 17.0794 16.2484L16.0341 16.004C15.5905 15.7739 15.1659 15.382 14.7956 14.8266C14.1646 13.8802 13.75 12.5294 13.75 11ZM12.25 11C12.25 9.3468 12.6627 7.80949 13.373 6.61808L5.48783 8.46138C4.46994 8.69932 3.75 9.60698 3.75 10.6523V11.3477C3.75 12.393 4.46994 13.3007 5.48783 13.5386L13.373 15.3819C12.6627 14.1905 12.25 12.6532 12.25 11ZM5.14639 7.00075L15.5263 4.57427C15.9817 4.36663 16.4756 4.25 17 4.25C18.4334 4.25 19.6392 5.12146 20.4525 6.34133C21.2692 7.56645 21.75 9.21573 21.75 11C21.75 12.7843 21.2692 14.4335 20.4525 15.6587C19.6392 16.8785 18.4334 17.75 17 17.75C16.4756 17.75 15.9817 17.6334 15.5263 17.4257L11.75 16.5429V17.5C11.75 19.2949 10.2949 20.75 8.5 20.75C6.70507 20.75 5.25 19.2949 5.25 17.5V15.0235L5.14639 14.9992C3.4499 14.6027 2.25 13.0899 2.25 11.3477V10.6523C2.25 8.91009 3.4499 7.39734 5.14639 7.00075ZM6.75 15.3741V17.5C6.75 18.4665 7.5335 19.25 8.5 19.25C9.4665 19.25 10.25 18.4665 10.25 17.5V16.1923L6.75 15.3741Z" />
|
|
697
|
-
</svg>`;
|
|
698
|
-
|
|
699
|
-
// ../icons/dist/esm/src/icons/channels.js
|
|
700
|
-
var channels = `<svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
|
|
701
|
-
<path d="M18 3C19.6569 3 21 4.34315 21 6C21 7.65685 19.6569 9 18 9C17.4435 9 16.9243 8.84513 16.4775 8.58105L15.3076 9.75098C15.7443 10.3919 16 11.166 16 12C16 12.8334 15.7437 13.6064 15.3076 14.2471L16.4775 15.417C16.9241 15.1532 17.4438 15 18 15C19.6569 15 21 16.3431 21 18C21 19.6569 19.6569 21 18 21C16.3431 21 15 19.6569 15 18C15 17.4438 15.1532 16.9241 15.417 16.4775L14.2471 15.3076C13.6064 15.7437 12.8334 16 12 16C11.166 16 10.3919 15.7443 9.75098 15.3076L8.58105 16.4775C8.84513 16.9243 9 17.4435 9 18C9 19.6569 7.65685 21 6 21C4.34315 21 3 19.6569 3 18C3 16.3431 4.34315 15 6 15C6.55558 15 7.07429 15.1538 7.52051 15.417L8.69141 14.2471C8.2555 13.6065 8 12.8332 8 12C8 11.1665 8.25523 10.3927 8.69141 9.75195L7.52148 8.58203C7.07501 8.84569 6.55606 9 6 9C4.34315 9 3 7.65685 3 6C3 4.34315 4.34315 3 6 3C7.65685 3 9 4.34315 9 6C9 6.55606 8.84569 7.07501 8.58203 7.52148L9.75195 8.69141C9.73784 8.70101 9.72394 8.71092 9.70996 8.7207C10.3587 8.26679 11.1481 8 12 8C12.833 8 13.6066 8.25472 14.2471 8.69043L15.417 7.52051C15.1538 7.07429 15 6.55558 15 6C15 4.34315 16.3431 3 18 3ZM6 16.5C5.17157 16.5 4.5 17.1716 4.5 18C4.5 18.8284 5.17157 19.5 6 19.5C6.82843 19.5 7.5 18.8284 7.5 18C7.5 17.1716 6.82843 16.5 6 16.5ZM18 16.5C17.1716 16.5 16.5 17.1716 16.5 18C16.5 18.8284 17.1716 19.5 18 19.5C18.8284 19.5 19.5 18.8284 19.5 18C19.5 17.1716 18.8284 16.5 18 16.5ZM12 9.5C10.6193 9.5 9.5 10.6193 9.5 12C9.5 13.3807 10.6193 14.5 12 14.5C13.3807 14.5 14.5 13.3807 14.5 12C14.5 10.6193 13.3807 9.5 12 9.5ZM6 4.5C5.17157 4.5 4.5 5.17157 4.5 6C4.5 6.82843 5.17157 7.5 6 7.5C6.82843 7.5 7.5 6.82843 7.5 6C7.5 5.17157 6.82843 4.5 6 4.5ZM18 4.5C17.1716 4.5 16.5 5.17157 16.5 6C16.5 6.82843 17.1716 7.5 18 7.5C18.8284 7.5 19.5 6.82843 19.5 6C19.5 5.17157 18.8284 4.5 18 4.5Z" />
|
|
702
|
-
</svg>`;
|
|
703
|
-
|
|
704
|
-
// ../icons/dist/esm/src/icons/chevron-down.js
|
|
705
|
-
var chevronDown = `
|
|
706
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="currentColor" class="bi bi-chevron-down chevron-down"
|
|
707
|
-
viewBox="0 0 16 16" role="presentation">
|
|
708
|
-
<path fill-rule="evenodd"
|
|
709
|
-
d="M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z"
|
|
710
|
-
stroke="currentColor"/>
|
|
711
|
-
</svg>`;
|
|
712
|
-
|
|
713
|
-
// ../icons/dist/esm/src/icons/external.js
|
|
714
|
-
var external = `<svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
|
|
715
|
-
<path d="M6 2C6.41421 2 6.75 2.33579 6.75 2.75C6.75 3.16421 6.41421 3.5 6 3.5H4.75C4.05964 3.5 3.5 4.05964 3.5 4.75V11.25C3.5 11.9404 4.05964 12.5 4.75 12.5H11.25C11.9404 12.5 12.5 11.9404 12.5 11.25V10C12.5 9.58579 12.8358 9.25 13.25 9.25C13.6642 9.25 14 9.58579 14 10V11.25C14 12.7688 12.7688 14 11.25 14H4.75C3.23122 14 2 12.7688 2 11.25V4.75C2 3.23122 3.23122 2 4.75 2H6ZM14 6C14 6.41421 13.6642 6.75 13.25 6.75C12.8358 6.75 12.5 6.41421 12.5 6V4.56055L8.03027 9.03027C7.73738 9.32317 7.26262 9.32317 6.96973 9.03027C6.67683 8.73738 6.67683 8.26262 6.96973 7.96973L11.4395 3.5H10C9.58579 3.5 9.25 3.16421 9.25 2.75C9.25 2.33579 9.58579 2 10 2H14V6Z" fill="currentColor"/>
|
|
716
|
-
</svg>`;
|
|
717
|
-
|
|
718
|
-
// ../icons/dist/esm/src/icons/gear.js
|
|
719
|
-
var gear = `<svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
|
|
720
|
-
<path d="M13.4678 2C13.9142 2.00002 14.307 2.2963 14.4297 2.72559L15.0049 4.74219L16.8398 3.72363C17.1813 3.53396 17.5973 3.56262 17.9072 3.78418L18.0332 3.89062L20.1084 5.9668C20.4241 6.2825 20.4932 6.76987 20.2764 7.16016L19.2568 8.99316L21.2744 9.57031C21.6502 9.67769 21.9239 9.9921 21.9863 10.3682L22 10.5322V13.4678C22 13.9142 21.7037 14.307 21.2744 14.4297L19.2568 15.0049L20.2764 16.8398C20.4661 17.1813 20.4374 17.5972 20.2158 17.9072L20.1094 18.0332L18.0332 20.1084C17.7175 20.4241 17.2301 20.4932 16.8398 20.2764L15.0049 19.2568L14.4297 21.2744C14.3223 21.6502 14.0079 21.9239 13.6318 21.9863L13.4678 22H10.5322C10.0858 22 9.69297 21.7037 9.57031 21.2744L8.99316 19.2568L7.16016 20.2764C6.81867 20.466 6.40275 20.4374 6.09277 20.2158L5.9668 20.1094L3.8916 18.0332C3.5759 17.7175 3.50683 17.2301 3.72363 16.8398L4.74219 15.0059L2.72559 14.4297C2.34982 14.3223 2.07606 14.0079 2.01367 13.6318L2 13.4678V10.5322C2.00005 10.0858 2.29632 9.69296 2.72559 9.57031L4.74219 8.99316L3.72363 7.16016C3.53394 6.81866 3.5626 6.40276 3.78418 6.09277L3.89062 5.9668L5.9668 3.8916C6.28251 3.57589 6.76986 3.5068 7.16016 3.72363L8.99316 4.74219L9.57031 2.72559C9.67768 2.34981 9.99209 2.07606 10.3682 2.01367L10.5322 2H13.4678ZM10.4014 5.27148C9.70554 5.47089 9.05368 5.77388 8.46484 6.16504L6.76074 5.21875L5.21777 6.76074L6.22363 8.57031L6.23242 8.56738C5.91398 9.13213 5.67275 9.74545 5.52051 10.3936L5.49023 10.3398L3.5 10.9092V13.0908L5.49121 13.6592L5.52051 13.6055C5.67256 14.2532 5.91338 14.8662 6.23145 15.4307L6.22363 15.4287L5.21875 17.2393L5.21777 17.2383V17.2393H5.21875L6.76074 18.7822L8.46484 17.834C9.05398 18.2254 9.7061 18.5281 10.4023 18.7275L10.9092 20.5H13.0908L13.5488 18.8916C14.3898 18.7443 15.1787 18.4482 15.8877 18.0293L17.2393 18.7812L18.7822 17.2393L18.085 15.9863C18.6037 15.2393 18.9814 14.3876 19.1777 13.4678L20.5 13.0908V10.9092L19.1777 10.5303C18.9812 9.61065 18.6038 8.75856 18.085 8.01172L18.7812 6.76074L17.2393 5.21777L15.8857 5.96875C15.1773 5.55053 14.389 5.25458 13.5488 5.10742L13.0908 3.5H10.9092L10.4014 5.27148ZM12 8C14.2091 8 16 9.79086 16 12C16 14.2091 14.2091 16 12 16C9.79086 16 8 14.2091 8 12C8 9.79086 9.79086 8 12 8ZM12 9.5C10.6193 9.5 9.5 10.6193 9.5 12C9.5 13.3807 10.6193 14.5 12 14.5C13.3807 14.5 14.5 13.3807 14.5 12C14.5 10.6193 13.3807 9.5 12 9.5Z" />
|
|
721
|
-
<path d="M13.6328 2.01367C14.0085 2.07631 14.3224 2.35007 14.4297 2.72559L15.0049 4.74219L16.8398 3.72363C17.1813 3.53396 17.5973 3.56262 17.9072 3.78418L18.0332 3.89062L20.1084 5.9668L20.2158 6.09277C20.4372 6.40274 20.466 6.81875 20.2764 7.16016L19.2568 8.99316L21.2744 9.57031C21.6502 9.67769 21.9239 9.9921 21.9863 10.3682L22 10.5322V13.4678L21.9863 13.6328C21.9237 14.0085 21.6499 14.3224 21.2744 14.4297L19.2568 15.0049L20.2764 16.8398C20.4661 17.1813 20.4374 17.5972 20.2158 17.9072L20.1094 18.0332L18.0332 20.1084L17.9072 20.2158C17.5973 20.4372 17.1813 20.466 16.8398 20.2764L15.0049 19.2568L14.4297 21.2744C14.3223 21.6502 14.0079 21.9239 13.6318 21.9863L13.4678 22H10.5322L10.3672 21.9863C9.99146 21.9237 9.6776 21.6499 9.57031 21.2744L8.99316 19.2568L7.16016 20.2764C6.81867 20.466 6.40275 20.4374 6.09277 20.2158L5.9668 20.1094L3.8916 18.0332L3.78418 17.9072C3.56278 17.5973 3.53398 17.1812 3.72363 16.8398L4.74219 15.0059L2.72559 14.4297C2.34982 14.3223 2.07606 14.0079 2.01367 13.6318L2 13.4678V10.5322L2.01367 10.3672C2.07633 9.99149 2.35009 9.6776 2.72559 9.57031L4.74219 8.99316L3.72363 7.16016C3.53394 6.81866 3.5626 6.40276 3.78418 6.09277L3.89062 5.9668L5.9668 3.8916L6.09277 3.78418C6.40275 3.56277 6.81875 3.53396 7.16016 3.72363L8.99316 4.74219L9.57031 2.72559C9.67768 2.34981 9.99209 2.07606 10.3682 2.01367L10.5322 2H13.4678L13.6328 2.01367ZM10.4014 5.27148C9.70554 5.47089 9.05368 5.77388 8.46484 6.16504L6.76074 5.21875L5.21777 6.76074L6.22363 8.57031L6.23242 8.56738C5.91398 9.13213 5.67275 9.74545 5.52051 10.3936L5.49023 10.3398L3.5 10.9092V13.0908L5.49121 13.6592L5.52051 13.6055C5.67256 14.2532 5.91338 14.8662 6.23145 15.4307L6.22363 15.4287L5.21875 17.2393L5.21777 17.2383V17.2393H5.21875L6.76074 18.7822L8.46484 17.834C9.05398 18.2254 9.7061 18.5281 10.4023 18.7275L10.9092 20.5H13.0908L13.5488 18.8916C14.3898 18.7443 15.1787 18.4482 15.8877 18.0293L17.2393 18.7812L18.7822 17.2393L18.085 15.9863C18.6037 15.2393 18.9814 14.3876 19.1777 13.4678L20.5 13.0908V10.9092L19.1777 10.5303C18.9812 9.61065 18.6038 8.75856 18.085 8.01172L18.7812 6.76074L17.2393 5.21777L15.8857 5.96875C15.1773 5.55053 14.389 5.25458 13.5488 5.10742L13.0908 3.5H10.9092L10.4014 5.27148ZM12 8C14.2091 8 16 9.79086 16 12C16 14.2091 14.2091 16 12 16C9.79086 16 8 14.2091 8 12C8 9.79086 9.79086 8 12 8ZM12 9.5C10.6193 9.5 9.5 10.6193 9.5 12C9.5 13.3807 10.6193 14.5 12 14.5C13.3807 14.5 14.5 13.3807 14.5 12C14.5 10.6193 13.3807 9.5 12 9.5Z" />
|
|
722
|
-
</svg>`;
|
|
723
|
-
|
|
724
|
-
// ../icons/dist/esm/src/icons/graph.js
|
|
725
|
-
var graph = `<svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
|
|
726
|
-
<path d="M18.1543 3.00391C19.7394 3.08421 21 4.39489 21 6V18L20.9961 18.1543C20.9184 19.6883 19.6883 20.9184 18.1543 20.9961L18 21H6C4.39489 21 3.08421 19.7394 3.00391 18.1543L3 18V6C3 4.34315 4.34315 3 6 3H18L18.1543 3.00391ZM6 4.5C5.17157 4.5 4.5 5.17157 4.5 6V18C4.5 18.8284 5.17157 19.5 6 19.5H18C18.8284 19.5 19.5 18.8284 19.5 18V6C19.5 5.17157 18.8284 4.5 18 4.5H6ZM8 9C8.41421 9 8.75 9.33579 8.75 9.75V16.25C8.75 16.6642 8.41421 17 8 17C7.58579 17 7.25 16.6642 7.25 16.25V9.75C7.25 9.33579 7.58579 9 8 9ZM12 12C12.4142 12 12.75 12.3358 12.75 12.75V16.25C12.75 16.6642 12.4142 17 12 17C11.5858 17 11.25 16.6642 11.25 16.25V12.75C11.25 12.3358 11.5858 12 12 12ZM16 9C16.4142 9 16.75 9.33579 16.75 9.75V16.25C16.75 16.6642 16.4142 17 16 17C15.5858 17 15.25 16.6642 15.25 16.25V9.75C15.25 9.33579 15.5858 9 16 9Z" />
|
|
727
|
-
</svg>`;
|
|
728
|
-
|
|
729
|
-
// ../icons/dist/esm/src/icons/home.js
|
|
730
|
-
var home = `<svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
|
|
731
|
-
<path d="M10.7725 3.95499C11.4946 3.39358 12.5054 3.39358 13.2275 3.95499L20.2275 9.39936C20.7146 9.77822 20.9999 10.3614 21 10.9785V18C21 19.6051 19.7394 20.9158 18.1543 20.9961L18 21H6C4.39489 21 3.08421 19.7394 3.00391 18.1543L3 18V10.9785C3.00007 10.4386 3.21792 9.92445 3.59863 9.55073L3.77246 9.39936L10.7725 3.95499ZM12.3066 5.13859C12.1263 4.99869 11.8737 4.99869 11.6934 5.13859L4.69336 10.583C4.57163 10.6776 4.50008 10.8243 4.5 10.9785V18C4.5 18.8284 5.17157 19.5 6 19.5H8V16C8.00014 14.3432 9.34323 13 11 13H13C14.6568 13 15.9999 14.3432 16 16V19.5H18C18.8284 19.5 19.5 18.8284 19.5 18V10.9785C19.4999 10.8243 19.4284 10.6776 19.3066 10.583L12.3066 5.13859ZM11 14.5C10.1717 14.5 9.50014 15.1717 9.5 16V19.5H14.5V16C14.4999 15.1717 13.8283 14.5 13 14.5H11Z" />
|
|
732
|
-
</svg>`;
|
|
733
|
-
|
|
734
|
-
// ../icons/dist/esm/src/icons/logout.js
|
|
735
|
-
var logout = `<svg width="17" height="20" viewBox="0 0 17 20" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
|
|
736
|
-
<path d="M12 0C12.4142 0 12.75 0.335786 12.75 0.75C12.75 1.16421 12.4142 1.5 12 1.5H3.75C2.50736 1.5 1.5 2.50736 1.5 3.75V16.25C1.5 17.4926 2.50736 18.5 3.75 18.5H12C12.4142 18.5 12.75 18.8358 12.75 19.25C12.75 19.6642 12.4142 20 12 20H3.75C1.67893 20 0 18.3211 0 16.25V3.75C2.57706e-07 1.67893 1.67893 1.28851e-07 3.75 0H12ZM10.7197 5.71973C11.0125 5.42693 11.4874 5.42713 11.7803 5.71973L16.0605 10L11.7803 14.2803C11.4874 14.5729 11.0126 14.573 10.7197 14.2803C10.4272 13.9874 10.4272 13.5125 10.7197 13.2197L13.1895 10.75H6.5C6.08605 10.7498 5.7501 10.414 5.75 10C5.75009 9.58601 6.08604 9.25023 6.5 9.25H13.1895L10.7197 6.78027C10.4272 6.48743 10.4272 6.01254 10.7197 5.71973Z" />
|
|
737
|
-
</svg>`;
|
|
738
|
-
|
|
739
|
-
// ../icons/dist/esm/src/icons/sidebar-collapsed.js
|
|
740
|
-
var sidebarCollapsed = `<svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
|
|
741
|
-
<path d="M17 3.25C19.0711 3.25 20.75 4.92893 20.75 7V17C20.75 19.0711 19.0711 20.75 17 20.75H7C4.92893 20.75 3.25 19.0711 3.25 17V7C3.25 4.92893 4.92893 3.25 7 3.25H17ZM10 19.25H17C18.2426 19.25 19.25 18.2426 19.25 17V7C19.25 5.75736 18.2426 4.75 17 4.75H10V19.25Z"/>
|
|
742
|
-
</svg>`;
|
|
743
|
-
|
|
744
|
-
// ../icons/dist/esm/src/icons/user.js
|
|
745
|
-
var user = `<svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
|
|
746
|
-
<path d="M12 2C17.5228 2 22 6.47715 22 12C22 15.2098 20.4857 18.0638 18.1348 19.8936C18.0344 20.055 17.8763 20.1738 17.6875 20.2227C16.0725 21.3418 14.1137 22 12 22C9.88604 22 7.92664 21.3421 6.31152 20.2227C6.12294 20.1736 5.96441 20.055 5.86426 19.8936C3.51367 18.0638 2 15.2095 2 12C2 6.47715 6.47715 2 12 2ZM11.25 15.5C9.1884 15.5 7.49093 17.0597 7.27344 19.0635C8.62515 19.9698 10.2503 20.5 12 20.5C13.7494 20.5 15.374 19.9695 16.7256 19.0635C16.508 17.0598 14.8116 15.5 12.75 15.5H11.25ZM12 3.5C7.30558 3.5 3.5 7.30558 3.5 12C3.5 14.3333 4.44073 16.4464 5.96289 17.9824C6.62169 15.683 8.73895 14 11.25 14H12.75C15.2609 14 17.3772 15.6832 18.0361 17.9824C19.5586 16.4464 20.5 14.3335 20.5 12C20.5 7.30558 16.6944 3.5 12 3.5ZM12 5.25C14.0711 5.25 15.75 6.92893 15.75 9C15.75 11.0711 14.0711 12.75 12 12.75C9.92893 12.75 8.25 11.0711 8.25 9C8.25 6.92893 9.92893 5.25 12 5.25ZM12 6.75C10.7574 6.75 9.75 7.75736 9.75 9C9.75 10.2426 10.7574 11.25 12 11.25C13.2426 11.25 14.25 10.2426 14.25 9C14.25 7.75736 13.2426 6.75 12 6.75Z" />
|
|
747
|
-
</svg>`;
|
|
748
|
-
|
|
749
|
-
// ../icons/dist/esm/src/icons/wallet.js
|
|
750
|
-
var wallet = `<svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
|
|
751
|
-
<path d="M14.2275 3.02681C16.5581 2.53634 18.7497 4.3152 18.75 6.69674V7.09518C20.0437 7.42823 20.9998 8.60187 21 9.99948V16.9995C21 18.6046 19.7394 19.9153 18.1543 19.9956L18 19.9995H6C4.39489 19.9995 3.08421 18.7389 3.00391 17.1538L3 16.9995V8.43405C3.00022 6.66092 4.2424 5.12941 5.97754 4.76412L14.2275 3.02681ZM6 8.49948C5.17173 8.49948 4.50026 9.17127 4.5 9.99948V16.9995C4.5 17.8279 5.17157 18.4995 6 18.4995H18C18.8284 18.4995 19.5 17.8279 19.5 16.9995V9.99948C19.4997 9.17127 18.8283 8.49948 18 8.49948H6ZM16.5 11.9995C17.3283 11.9995 17.9997 12.6713 18 13.4995C18 14.3279 17.3284 14.9995 16.5 14.9995C15.6716 14.9995 15 14.3279 15 13.4995C15.0003 12.6713 15.6717 11.9995 16.5 11.9995ZM17.25 6.69674C17.2497 5.26791 15.9344 4.20028 14.5361 4.49459L6.28613 6.2319C5.67607 6.36042 5.16896 6.73055 4.85254 7.22799C5.20609 7.08147 5.59347 6.99948 6 6.99948H17.25V6.69674Z" />
|
|
752
|
-
</svg>`;
|
|
753
|
-
|
|
754
|
-
// ../../node_modules/lit-html/directives/if-defined.js
|
|
755
|
-
var o9 = (o10) => o10 ?? E;
|
|
756
|
-
|
|
757
|
-
// ../../node_modules/lit-html/directive-helpers.js
|
|
758
|
-
var { I: t5 } = Z;
|
|
759
|
-
var s4 = () => document.createComment("");
|
|
760
|
-
var r7 = (o10, i7, n5) => {
|
|
761
|
-
const e10 = o10._$AA.parentNode, l3 = void 0 === i7 ? o10._$AB : i7._$AA;
|
|
762
|
-
if (void 0 === n5) {
|
|
763
|
-
const i8 = e10.insertBefore(s4(), l3), c5 = e10.insertBefore(s4(), l3);
|
|
764
|
-
n5 = new t5(i8, c5, o10, o10.options);
|
|
765
|
-
} else {
|
|
766
|
-
const t6 = n5._$AB.nextSibling, i8 = n5._$AM, c5 = i8 !== o10;
|
|
767
|
-
if (c5) {
|
|
768
|
-
let t7;
|
|
769
|
-
n5._$AQ?.(o10), n5._$AM = o10, void 0 !== n5._$AP && (t7 = o10._$AU) !== i8._$AU && n5._$AP(t7);
|
|
770
|
-
}
|
|
771
|
-
if (t6 !== l3 || c5) {
|
|
772
|
-
let o11 = n5._$AA;
|
|
773
|
-
for (; o11 !== t6; ) {
|
|
774
|
-
const t7 = o11.nextSibling;
|
|
775
|
-
e10.insertBefore(o11, l3), o11 = t7;
|
|
776
|
-
}
|
|
777
|
-
}
|
|
778
|
-
}
|
|
779
|
-
return n5;
|
|
780
|
-
};
|
|
781
|
-
var v2 = (o10, t6, i7 = o10) => (o10._$AI(t6, i7), o10);
|
|
782
|
-
var u3 = {};
|
|
783
|
-
var m2 = (o10, t6 = u3) => o10._$AH = t6;
|
|
784
|
-
var p3 = (o10) => o10._$AH;
|
|
785
|
-
var M2 = (o10) => {
|
|
786
|
-
o10._$AP?.(false, true);
|
|
787
|
-
let t6 = o10._$AA;
|
|
788
|
-
const i7 = o10._$AB.nextSibling;
|
|
789
|
-
for (; t6 !== i7; ) {
|
|
790
|
-
const o11 = t6.nextSibling;
|
|
791
|
-
t6.remove(), t6 = o11;
|
|
792
|
-
}
|
|
793
|
-
};
|
|
794
|
-
|
|
795
|
-
// ../../node_modules/lit-html/directives/repeat.js
|
|
796
|
-
var u4 = (e10, s5, t6) => {
|
|
797
|
-
const r8 = /* @__PURE__ */ new Map();
|
|
798
|
-
for (let l3 = s5; l3 <= t6; l3++) r8.set(e10[l3], l3);
|
|
799
|
-
return r8;
|
|
800
|
-
};
|
|
801
|
-
var c4 = e7(class extends i5 {
|
|
802
|
-
constructor(e10) {
|
|
803
|
-
if (super(e10), e10.type !== t3.CHILD) throw Error("repeat() can only be used in text expressions");
|
|
804
|
-
}
|
|
805
|
-
dt(e10, s5, t6) {
|
|
806
|
-
let r8;
|
|
807
|
-
void 0 === t6 ? t6 = s5 : void 0 !== s5 && (r8 = s5);
|
|
808
|
-
const l3 = [], o10 = [];
|
|
809
|
-
let i7 = 0;
|
|
810
|
-
for (const s6 of e10) l3[i7] = r8 ? r8(s6, i7) : i7, o10[i7] = t6(s6, i7), i7++;
|
|
811
|
-
return { values: o10, keys: l3 };
|
|
812
|
-
}
|
|
813
|
-
render(e10, s5, t6) {
|
|
814
|
-
return this.dt(e10, s5, t6).values;
|
|
815
|
-
}
|
|
816
|
-
update(s5, [t6, r8, c5]) {
|
|
817
|
-
const d3 = p3(s5), { values: p4, keys: a3 } = this.dt(t6, r8, c5);
|
|
818
|
-
if (!Array.isArray(d3)) return this.ut = a3, p4;
|
|
819
|
-
const h3 = this.ut ?? (this.ut = []), v3 = [];
|
|
820
|
-
let m3, y3, x2 = 0, j2 = d3.length - 1, k2 = 0, w2 = p4.length - 1;
|
|
821
|
-
for (; x2 <= j2 && k2 <= w2; ) if (null === d3[x2]) x2++;
|
|
822
|
-
else if (null === d3[j2]) j2--;
|
|
823
|
-
else if (h3[x2] === a3[k2]) v3[k2] = v2(d3[x2], p4[k2]), x2++, k2++;
|
|
824
|
-
else if (h3[j2] === a3[w2]) v3[w2] = v2(d3[j2], p4[w2]), j2--, w2--;
|
|
825
|
-
else if (h3[x2] === a3[w2]) v3[w2] = v2(d3[x2], p4[w2]), r7(s5, v3[w2 + 1], d3[x2]), x2++, w2--;
|
|
826
|
-
else if (h3[j2] === a3[k2]) v3[k2] = v2(d3[j2], p4[k2]), r7(s5, d3[x2], d3[j2]), j2--, k2++;
|
|
827
|
-
else if (void 0 === m3 && (m3 = u4(a3, k2, w2), y3 = u4(h3, x2, j2)), m3.has(h3[x2])) if (m3.has(h3[j2])) {
|
|
828
|
-
const e10 = y3.get(a3[k2]), t7 = void 0 !== e10 ? d3[e10] : null;
|
|
829
|
-
if (null === t7) {
|
|
830
|
-
const e11 = r7(s5, d3[x2]);
|
|
831
|
-
v2(e11, p4[k2]), v3[k2] = e11;
|
|
832
|
-
} else v3[k2] = v2(t7, p4[k2]), r7(s5, d3[x2], t7), d3[e10] = null;
|
|
833
|
-
k2++;
|
|
834
|
-
} else M2(d3[j2]), j2--;
|
|
835
|
-
else M2(d3[x2]), x2++;
|
|
836
|
-
for (; k2 <= w2; ) {
|
|
837
|
-
const e10 = r7(s5, v3[w2 + 1]);
|
|
838
|
-
v2(e10, p4[k2]), v3[k2++] = e10;
|
|
839
|
-
}
|
|
840
|
-
for (; x2 <= j2; ) {
|
|
841
|
-
const e10 = d3[x2++];
|
|
842
|
-
null !== e10 && M2(e10);
|
|
843
|
-
}
|
|
844
|
-
return this.ut = a3, m2(s5, v3), T;
|
|
845
|
-
}
|
|
846
|
-
});
|
|
847
|
-
|
|
848
|
-
// ../../node_modules/lit-html/directives/guard.js
|
|
849
|
-
var e9 = {};
|
|
850
|
-
var i6 = e7(class extends i5 {
|
|
851
|
-
constructor() {
|
|
852
|
-
super(...arguments), this.ot = e9;
|
|
853
|
-
}
|
|
854
|
-
render(r8, t6) {
|
|
855
|
-
return t6();
|
|
856
|
-
}
|
|
857
|
-
update(t6, [s5, e10]) {
|
|
858
|
-
if (Array.isArray(s5)) {
|
|
859
|
-
if (Array.isArray(this.ot) && this.ot.length === s5.length && s5.every(((r8, t7) => r8 === this.ot[t7]))) return T;
|
|
860
|
-
} else if (this.ot === s5) return T;
|
|
861
|
-
return this.ot = Array.isArray(s5) ? Array.from(s5) : s5, this.render(s5, e10);
|
|
862
|
-
}
|
|
863
|
-
});
|
|
864
|
-
|
|
865
|
-
// ../tt-combobox/dist/esm/src/styles.js
|
|
866
|
-
var styles = i`
|
|
867
|
-
:host {
|
|
868
|
-
display: flex;
|
|
869
|
-
flex-direction: var(--tt-combobox-flex-direction, row);
|
|
870
|
-
align-items: var(--tt-combobox-align-items, center);
|
|
871
|
-
justify-content: var(--tt-combobox-justify-content, initial);
|
|
872
|
-
align-content: var(--tt-combobox-align-content, initial);
|
|
873
|
-
gap: var(--tt-combobox-gap, 0.5rem);
|
|
874
|
-
font-size: var(--tt-combobox-font-size, var(--font-size-200));
|
|
875
|
-
color: var(--tt-combobox-color, var(--color-text-400));
|
|
876
|
-
}
|
|
877
|
-
|
|
878
|
-
:host([disabled]) .tt-combobox-container {
|
|
879
|
-
border-color: var(--tt-combobox-disabled-border-color, var(--color-border-200));
|
|
880
|
-
color: var(--tt-combobox-disabled-color, var(--color-text-200));
|
|
881
|
-
background-color: var(--tt-combobox-disabled-background-color, var(--color-surface-200));
|
|
882
|
-
pointer-events: none;
|
|
883
|
-
}
|
|
884
|
-
|
|
885
|
-
.tt-combobox-container:focus-within {
|
|
886
|
-
outline: 5px auto Highlight;
|
|
887
|
-
outline: 5px auto -webkit-focus-ring-color;
|
|
888
|
-
}
|
|
889
|
-
|
|
890
|
-
.tt-combobox-container:hover {
|
|
891
|
-
background-color: var(--tt-combobox-hover-background-color, var(--color-surface-300));
|
|
892
|
-
}
|
|
893
|
-
|
|
894
|
-
:host([invalid]) .tt-combobox-container,
|
|
895
|
-
:host(:state(interacted):invalid) .tt-combobox-container {
|
|
896
|
-
outline: 1px solid var(--color-alert-strong);
|
|
897
|
-
}
|
|
898
|
-
|
|
899
|
-
.errormessage {
|
|
900
|
-
visibility: hidden;
|
|
901
|
-
display: flex;
|
|
902
|
-
align-items: center;
|
|
903
|
-
gap: var(--space-scale-0-5);
|
|
904
|
-
color: var(--color-alert-strong);
|
|
905
|
-
|
|
906
|
-
&[data-hidden] {
|
|
907
|
-
display: none;
|
|
908
|
-
}
|
|
909
|
-
}
|
|
910
|
-
|
|
911
|
-
.errormessage svg path {
|
|
912
|
-
fill: var(--color-alert-strong);
|
|
913
|
-
height: 20px;
|
|
914
|
-
}
|
|
915
|
-
|
|
916
|
-
.tt-combobox-container:has([role='combobox'][aria-invalid='true']) ~ .errormessage {
|
|
917
|
-
visibility: visible;
|
|
918
|
-
}
|
|
919
|
-
|
|
920
|
-
:has([role='combobox'][aria-invalid='true']) ::slotted([slot='error']) {
|
|
921
|
-
color: var(--color-alert-strong);
|
|
922
|
-
font-size: var(--font-size-100);
|
|
923
|
-
margin: 0;
|
|
924
|
-
font-weight: var(--font-weight-regular);
|
|
925
|
-
line-height: 1.2;
|
|
926
|
-
}
|
|
927
|
-
|
|
928
|
-
slot[name='option']::slotted(*) {
|
|
929
|
-
display: none;
|
|
930
|
-
}
|
|
931
|
-
|
|
932
|
-
* {
|
|
933
|
-
box-sizing: border-box;
|
|
934
|
-
font-family: var(--font-family-sans);
|
|
935
|
-
cursor: inherit;
|
|
936
|
-
}
|
|
937
|
-
|
|
938
|
-
.tt-combobox-container {
|
|
939
|
-
position: relative;
|
|
940
|
-
max-width: var(--tt-combobox-max-width, 300px);
|
|
941
|
-
min-width: var(--tt-combobox-min-width, 250px);
|
|
942
|
-
display: flex;
|
|
943
|
-
flex-direction: row;
|
|
944
|
-
align-items: center;
|
|
945
|
-
border-radius: var(--border-radius);
|
|
946
|
-
border-color: var(--tt-combobox-border-color, var(--color-border-400));
|
|
947
|
-
border-style: solid;
|
|
948
|
-
border-width: var(--tt-combobox-border-width, 1px);
|
|
949
|
-
background-color: var(--tt-combobox-background-color, var(--color-surface-100));
|
|
950
|
-
padding: 0.5rem;
|
|
951
|
-
gap: 0.25rem;
|
|
952
|
-
//width: 100%;
|
|
953
|
-
}
|
|
954
|
-
|
|
955
|
-
[role='listbox'] {
|
|
956
|
-
display: none;
|
|
957
|
-
}
|
|
958
|
-
|
|
959
|
-
[role='combobox'] {
|
|
960
|
-
width: 100%;
|
|
961
|
-
border-style: none;
|
|
962
|
-
background-color: transparent;
|
|
963
|
-
font-size: var(--tt-combobox-font-size, var(--font-size-200));
|
|
964
|
-
}
|
|
965
|
-
|
|
966
|
-
.hide-caret {
|
|
967
|
-
caret-color: transparent;
|
|
968
|
-
}
|
|
969
|
-
|
|
970
|
-
[role='combobox']::placeholder {
|
|
971
|
-
color: var(--tt-combobox-placeholder-color, var(--color-text-300));
|
|
972
|
-
font-family: var(--font-family-inter);
|
|
973
|
-
font-size: var(--tt-combobox-font-size, var(--font-size-200));
|
|
974
|
-
}
|
|
975
|
-
|
|
976
|
-
:host([disabled]) [role='combobox']::placeholder {
|
|
977
|
-
color: var(--tt-combobox-disabled-placeholder-color, var(--color-text-200));
|
|
978
|
-
}
|
|
979
|
-
|
|
980
|
-
[role='combobox']:placeholder-shown {
|
|
981
|
-
text-overflow: ellipsis;
|
|
982
|
-
overflow: clip;
|
|
983
|
-
}
|
|
984
|
-
|
|
985
|
-
[role='combobox']:focus {
|
|
986
|
-
outline: none;
|
|
987
|
-
}
|
|
988
|
-
|
|
989
|
-
[role='combobox'] ~ button {
|
|
990
|
-
appearance: none;
|
|
991
|
-
padding: 0;
|
|
992
|
-
border-width: 0;
|
|
993
|
-
background-color: transparent;
|
|
994
|
-
aspect-ratio: 1;
|
|
995
|
-
}
|
|
996
|
-
|
|
997
|
-
[role='combobox'] ~ button svg {
|
|
998
|
-
transition: transform 0.2s ease-in-out;
|
|
999
|
-
color: var(--tt-combobox-dropdown-color, var(--color-text-400));
|
|
1000
|
-
}
|
|
1001
|
-
|
|
1002
|
-
[role='combobox'][aria-expanded='true'] ~ button svg {
|
|
1003
|
-
transform: rotate(180deg);
|
|
1004
|
-
}
|
|
1005
|
-
|
|
1006
|
-
[role='combobox'][aria-expanded='true'] ~ [role='listbox'] {
|
|
1007
|
-
display: block;
|
|
1008
|
-
width: max-content;
|
|
1009
|
-
max-width: var(--tt-combobox-list-max-width, 35ch);
|
|
1010
|
-
min-width: 100%;
|
|
1011
|
-
background-color: var(--tt-combobox-list-background-color, var(--color-surface-100, white));
|
|
1012
|
-
border: 1px solid var(--tt-combobox-border-color, var(--color-border-300));
|
|
1013
|
-
border-radius: var(--border-radius);
|
|
1014
|
-
box-shadow: var(--box-shadow-lg);
|
|
1015
|
-
padding: 0;
|
|
1016
|
-
position: absolute;
|
|
1017
|
-
top: var(--tt-combobox-top, calc(100% + 0.5rem));
|
|
1018
|
-
left: var(--tt-combobox-left, 0);
|
|
1019
|
-
right: var(--tt-combobox-right, unset);
|
|
1020
|
-
bottom: var(--tt-combobox-bottom, unset);
|
|
1021
|
-
z-index: 2;
|
|
1022
|
-
margin: 0;
|
|
1023
|
-
list-style: none;
|
|
1024
|
-
max-height: var(--tt-combobox-max-height, 400px);
|
|
1025
|
-
overflow-y: auto;
|
|
1026
|
-
|
|
1027
|
-
.no-results {
|
|
1028
|
-
display: none;
|
|
1029
|
-
}
|
|
1030
|
-
|
|
1031
|
-
&:not(:has(tt-option:not([hidden], .select-all))) {
|
|
1032
|
-
.no-results {
|
|
1033
|
-
display: flex;
|
|
1034
|
-
padding: 0.5rem;
|
|
1035
|
-
box-sizing: border-box;
|
|
1036
|
-
text-align: left;
|
|
1037
|
-
text-overflow: ellipsis;
|
|
1038
|
-
text-wrap: nowrap;
|
|
1039
|
-
align-items: center;
|
|
1040
|
-
gap: 0.25rem;
|
|
1041
|
-
max-width: 100%;
|
|
1042
|
-
width: 100%;
|
|
1043
|
-
overflow-y: visible;
|
|
1044
|
-
flex: 1;
|
|
1045
|
-
|
|
1046
|
-
span {
|
|
1047
|
-
overflow: hidden;
|
|
1048
|
-
text-overflow: ellipsis;
|
|
1049
|
-
white-space: nowrap;
|
|
1050
|
-
flex: 1;
|
|
1051
|
-
line-height: 1.1;
|
|
1052
|
-
}
|
|
1053
|
-
}
|
|
1054
|
-
|
|
1055
|
-
.select-all {
|
|
1056
|
-
display: none;
|
|
1057
|
-
}
|
|
1058
|
-
}
|
|
1059
|
-
}
|
|
1060
|
-
|
|
1061
|
-
[role='combobox'][aria-expanded='true'] ~ [role='listbox'][data-open-upward] {
|
|
1062
|
-
top: unset;
|
|
1063
|
-
bottom: calc(100% + 0.5rem);
|
|
1064
|
-
}
|
|
1065
|
-
|
|
1066
|
-
slot[name='icon'] {
|
|
1067
|
-
display: inline-block;
|
|
1068
|
-
max-width: var(--tt-combobox-icon-size, 1rem);
|
|
1069
|
-
aspect-ratio: 1;
|
|
1070
|
-
}
|
|
1071
|
-
|
|
1072
|
-
tt-option.select-all::part(option) {
|
|
1073
|
-
border-bottom: 1px solid var(--color-border-300);
|
|
1074
|
-
}
|
|
1075
|
-
|
|
1076
|
-
label {
|
|
1077
|
-
font-size: var(--tt-combobox-label-font-size, inherit);
|
|
1078
|
-
color: var(--tt-combobox-label-color, inherit);
|
|
1079
|
-
font-weight: var(--tt-combobox-label-font-weight, inherit);
|
|
1080
|
-
|
|
1081
|
-
&[data-hidden] {
|
|
1082
|
-
display: none;
|
|
1083
|
-
}
|
|
1084
|
-
}
|
|
1085
|
-
`;
|
|
1086
|
-
|
|
1087
|
-
// ../tt-combobox/dist/esm/src/TtCombobox.js
|
|
1088
|
-
var __decorate = function(decorators, target2, key, desc) {
|
|
1089
|
-
var c5 = arguments.length, r8 = c5 < 3 ? target2 : desc === null ? desc = Object.getOwnPropertyDescriptor(target2, key) : desc, d3;
|
|
1090
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r8 = Reflect.decorate(decorators, target2, key, desc);
|
|
1091
|
-
else for (var i7 = decorators.length - 1; i7 >= 0; i7--) if (d3 = decorators[i7]) r8 = (c5 < 3 ? d3(r8) : c5 > 3 ? d3(target2, key, r8) : d3(target2, key)) || r8;
|
|
1092
|
-
return c5 > 3 && r8 && Object.defineProperty(target2, key, r8), r8;
|
|
1093
|
-
};
|
|
1094
|
-
var TtCombobox = class extends i4 {
|
|
1095
|
-
get form() {
|
|
1096
|
-
return this.internals.form;
|
|
1097
|
-
}
|
|
1098
|
-
get _isAllSelected() {
|
|
1099
|
-
return Boolean(this._visibleOptionsNotSelectAll.length) && Array.from(this._visibleOptionsNotSelectAll).every((option) => this.value.includes(option.value));
|
|
1100
|
-
}
|
|
1101
|
-
get _selectedVisibleOptions() {
|
|
1102
|
-
return Array.from(this._visibleOptions).filter((option) => this.value.includes(option.value));
|
|
1103
|
-
}
|
|
1104
|
-
get _selectedOptions() {
|
|
1105
|
-
return Array.from(this._visibleOptionsNotSelectAll).filter((option) => this.value.includes(option.value));
|
|
1106
|
-
}
|
|
1107
|
-
constructor() {
|
|
1108
|
-
super();
|
|
1109
|
-
this.multiselect = false;
|
|
1110
|
-
this.disabled = false;
|
|
1111
|
-
this.invalid = false;
|
|
1112
|
-
this.displaySelectAll = false;
|
|
1113
|
-
this.required = false;
|
|
1114
|
-
this.name = "";
|
|
1115
|
-
this.ariaLabelledby = E;
|
|
1116
|
-
this.hideCaret = false;
|
|
1117
|
-
this.openUpward = false;
|
|
1118
|
-
this._activeOption = -1;
|
|
1119
|
-
this._expanded = false;
|
|
1120
|
-
this._filter = "";
|
|
1121
|
-
this.value = [];
|
|
1122
|
-
this._slotObserver = new MutationObserver((mutations) => {
|
|
1123
|
-
mutations.forEach((mutation) => {
|
|
1124
|
-
if (mutation.type === "attributes") {
|
|
1125
|
-
this.requestUpdate("options");
|
|
1126
|
-
}
|
|
1127
|
-
});
|
|
1128
|
-
});
|
|
1129
|
-
this._valueChanged = () => {
|
|
1130
|
-
this._selectableOptions.forEach((option) => {
|
|
1131
|
-
if (this.value.includes(option.value)) {
|
|
1132
|
-
this._checkOption(option);
|
|
1133
|
-
} else {
|
|
1134
|
-
this._uncheckOption(option);
|
|
1135
|
-
}
|
|
1136
|
-
});
|
|
1137
|
-
this.internals.setFormValue(JSON.stringify(this.value));
|
|
1138
|
-
};
|
|
1139
|
-
this._listenForOptionChange = () => {
|
|
1140
|
-
this.options.forEach((option) => {
|
|
1141
|
-
this._slotObserver.observe(option, { attributes: true, attributeFilter: ["selected", "disabled", "hidden"] });
|
|
1142
|
-
});
|
|
1143
|
-
};
|
|
1144
|
-
this._selectAll = (event) => {
|
|
1145
|
-
event.preventDefault();
|
|
1146
|
-
event.stopPropagation();
|
|
1147
|
-
if (this._filter !== "" && this._isAllSelected) {
|
|
1148
|
-
const selectedVisibleValues = this._selectedVisibleOptions.map((option) => option.value);
|
|
1149
|
-
this.value = this.value.filter((value) => !selectedVisibleValues.includes(value));
|
|
1150
|
-
} else if (this._filter !== "") {
|
|
1151
|
-
this.value = Array.from(/* @__PURE__ */ new Set([...this.value, ...Array.from(this._selectableVisibleOptions).map((option) => option.value)]));
|
|
1152
|
-
} else if (this.value.length === this._selectableOptions.length) {
|
|
1153
|
-
this.value = [];
|
|
1154
|
-
} else {
|
|
1155
|
-
this.value = Array.from(this._selectableOptions).map((option) => option.value);
|
|
1156
|
-
}
|
|
1157
|
-
};
|
|
1158
|
-
this._renderSelectAll = () => {
|
|
1159
|
-
if (!this.multiselect || !this.displaySelectAll) {
|
|
1160
|
-
return E;
|
|
1161
|
-
}
|
|
1162
|
-
const id = `${this.id}-option-select-all`;
|
|
1163
|
-
const active = this._getActiveOptionId() === id;
|
|
1164
|
-
const selected = this._isAllSelected;
|
|
1165
|
-
return x`
|
|
1166
|
-
<tt-option
|
|
1167
|
-
id="${id}"
|
|
1168
|
-
class="select-all"
|
|
1169
|
-
?selected=${selected}
|
|
1170
|
-
?active=${active}
|
|
1171
|
-
include-checkbox
|
|
1172
|
-
@click="${this._selectAll}"
|
|
1173
|
-
exportparts="option, checkbox"
|
|
1174
|
-
part="option"
|
|
1175
|
-
value="select-all"
|
|
1176
|
-
>Select all</tt-option
|
|
1177
|
-
>
|
|
1178
|
-
`;
|
|
1179
|
-
};
|
|
1180
|
-
this._renderChevron = () => x`
|
|
1181
|
-
<button
|
|
1182
|
-
type="button"
|
|
1183
|
-
aria-label="Expand"
|
|
1184
|
-
@click="${this._onChevronClick}"
|
|
1185
|
-
aria-expanded="${this._expanded}"
|
|
1186
|
-
aria-controls="${this.id}-list"
|
|
1187
|
-
tabindex="-1"
|
|
1188
|
-
?disabled=${this.disabled}
|
|
1189
|
-
part="arrow"
|
|
1190
|
-
>
|
|
1191
|
-
${o8(chevronDown)}
|
|
1192
|
-
</button>
|
|
1193
|
-
`;
|
|
1194
|
-
this.internals = this.attachInternals();
|
|
1195
|
-
}
|
|
1196
|
-
_handleFocusOut(e10) {
|
|
1197
|
-
if (!this.shadowRoot.contains(e10.relatedTarget)) {
|
|
1198
|
-
this._expanded = false;
|
|
1199
|
-
}
|
|
1200
|
-
this._filter = "";
|
|
1201
|
-
}
|
|
1202
|
-
_onFocus() {
|
|
1203
|
-
this._comboboxInput.focus();
|
|
1204
|
-
}
|
|
1205
|
-
connectedCallback() {
|
|
1206
|
-
super.connectedCallback();
|
|
1207
|
-
this.addEventListener("focus", this._onFocus);
|
|
1208
|
-
}
|
|
1209
|
-
disconnectedCallback() {
|
|
1210
|
-
super.disconnectedCallback();
|
|
1211
|
-
this.removeEventListener("focus", this._onFocus);
|
|
1212
|
-
}
|
|
1213
|
-
firstUpdated(changedProperties) {
|
|
1214
|
-
this.internals.setFormValue(JSON.stringify(this.value));
|
|
1215
|
-
this._reportValidity();
|
|
1216
|
-
this._listenForOptionChange();
|
|
1217
|
-
super.firstUpdated(changedProperties);
|
|
1218
|
-
}
|
|
1219
|
-
update(changedProperties) {
|
|
1220
|
-
if (changedProperties.has("value")) {
|
|
1221
|
-
this._valueChanged();
|
|
1222
|
-
if (changedProperties.get("value") !== void 0 && JSON.stringify(changedProperties.get("value")) !== JSON.stringify(this.value)) {
|
|
1223
|
-
this._dispatchSelectedOptions();
|
|
1224
|
-
this._reportValidity();
|
|
1225
|
-
}
|
|
1226
|
-
}
|
|
1227
|
-
if (changedProperties.has("_expanded") && changedProperties.get("_expanded") && !this._expanded) {
|
|
1228
|
-
this.internals.states.add("interacted");
|
|
1229
|
-
}
|
|
1230
|
-
if (changedProperties.has("options")) {
|
|
1231
|
-
this.updateComplete.then(() => {
|
|
1232
|
-
const selectedAssignedOptions = Array.from(this.options).filter((option) => option.selected);
|
|
1233
|
-
this.value = Array.from(/* @__PURE__ */ new Set([...this.value, ...selectedAssignedOptions.map((option) => option.value)]));
|
|
1234
|
-
this._listenForOptionChange();
|
|
1235
|
-
});
|
|
1236
|
-
}
|
|
1237
|
-
super.update(changedProperties);
|
|
1238
|
-
}
|
|
1239
|
-
_reportValidity() {
|
|
1240
|
-
if (this.required && !this.value.length) {
|
|
1241
|
-
const errorMessage = this.multiselect ? "Please select at least one option" : "Please select an option";
|
|
1242
|
-
this.internals.setValidity({
|
|
1243
|
-
valueMissing: true
|
|
1244
|
-
}, errorMessage, this._comboboxInput);
|
|
1245
|
-
this.internals.states.add("--invalid");
|
|
1246
|
-
} else if (!this.internals.validity.valid) {
|
|
1247
|
-
this.internals.setValidity({});
|
|
1248
|
-
if (this.internals.states.has("--invalid")) {
|
|
1249
|
-
this.internals.states.delete("--invalid");
|
|
1250
|
-
}
|
|
1251
|
-
}
|
|
1252
|
-
}
|
|
1253
|
-
get labels() {
|
|
1254
|
-
return [...this.internals.labels];
|
|
1255
|
-
}
|
|
1256
|
-
get labelContent() {
|
|
1257
|
-
if (this.ariaLabel !== null) {
|
|
1258
|
-
return this.ariaLabel;
|
|
1259
|
-
}
|
|
1260
|
-
return this.labels.map((label) => label.innerText).join(", ");
|
|
1261
|
-
}
|
|
1262
|
-
_onKeyUp(event) {
|
|
1263
|
-
switch (event.key) {
|
|
1264
|
-
case "ArrowDown":
|
|
1265
|
-
event.preventDefault();
|
|
1266
|
-
if (!this._expanded) {
|
|
1267
|
-
this._expanded = true;
|
|
1268
|
-
this._activeOption = -1;
|
|
1269
|
-
} else {
|
|
1270
|
-
this._activeOption = Math.min(this._visibleOptions.length - 1, this._activeOption + 1);
|
|
1271
|
-
}
|
|
1272
|
-
break;
|
|
1273
|
-
case "ArrowUp":
|
|
1274
|
-
event.preventDefault();
|
|
1275
|
-
if (this._expanded) {
|
|
1276
|
-
this._activeOption = Math.max(0, this._activeOption - 1);
|
|
1277
|
-
}
|
|
1278
|
-
break;
|
|
1279
|
-
case "Escape":
|
|
1280
|
-
event.preventDefault();
|
|
1281
|
-
if (this._expanded) {
|
|
1282
|
-
this._expanded = false;
|
|
1283
|
-
} else if (this._filter !== "") {
|
|
1284
|
-
this._filter = "";
|
|
1285
|
-
}
|
|
1286
|
-
break;
|
|
1287
|
-
case "Enter":
|
|
1288
|
-
event.preventDefault();
|
|
1289
|
-
if (this._expanded) {
|
|
1290
|
-
this._visibleOptions[this._activeOption].click();
|
|
1291
|
-
}
|
|
1292
|
-
break;
|
|
1293
|
-
default:
|
|
1294
|
-
break;
|
|
1295
|
-
}
|
|
1296
|
-
}
|
|
1297
|
-
_uncheckOption(option) {
|
|
1298
|
-
if (option.dataset.deselectable !== "true")
|
|
1299
|
-
return;
|
|
1300
|
-
option.setAttribute("aria-selected", "false");
|
|
1301
|
-
const checkbox = option.querySelector('input[type="checkbox"]');
|
|
1302
|
-
if (checkbox) {
|
|
1303
|
-
checkbox.checked = false;
|
|
1304
|
-
}
|
|
1305
|
-
}
|
|
1306
|
-
_checkOption(option) {
|
|
1307
|
-
if (!this.multiselect) {
|
|
1308
|
-
this._selectableOptions.forEach((opt) => {
|
|
1309
|
-
this._uncheckOption(opt);
|
|
1310
|
-
});
|
|
1311
|
-
}
|
|
1312
|
-
option.setAttribute("aria-selected", "true");
|
|
1313
|
-
const checkbox = option.querySelector('input[type="checkbox"]');
|
|
1314
|
-
if (checkbox) {
|
|
1315
|
-
checkbox.checked = true;
|
|
1316
|
-
}
|
|
1317
|
-
}
|
|
1318
|
-
_getActiveOptionId() {
|
|
1319
|
-
if (this._activeOption === -1 || this._visibleOptions.length === 0) {
|
|
1320
|
-
return void 0;
|
|
1321
|
-
}
|
|
1322
|
-
const option = this._visibleOptions[this._activeOption];
|
|
1323
|
-
return option.id;
|
|
1324
|
-
}
|
|
1325
|
-
_onClick() {
|
|
1326
|
-
this._expanded = !this._expanded;
|
|
1327
|
-
if (this._expanded) {
|
|
1328
|
-
this.shadowRoot?.querySelector('input[role="combobox"]')?.focus();
|
|
1329
|
-
}
|
|
1330
|
-
}
|
|
1331
|
-
_onChevronClick() {
|
|
1332
|
-
this.shadowRoot?.querySelector('input[role="combobox"]')?.focus();
|
|
1333
|
-
}
|
|
1334
|
-
_onClickOption(event) {
|
|
1335
|
-
event.preventDefault();
|
|
1336
|
-
event.stopPropagation();
|
|
1337
|
-
const option = event.currentTarget;
|
|
1338
|
-
if (option.disabled)
|
|
1339
|
-
return;
|
|
1340
|
-
const selectedValue = option.value;
|
|
1341
|
-
if (this.multiselect) {
|
|
1342
|
-
if (this.value.includes(selectedValue)) {
|
|
1343
|
-
this.value = this.value.filter((value) => value !== selectedValue);
|
|
1344
|
-
} else {
|
|
1345
|
-
this.value = [...this.value, selectedValue];
|
|
1346
|
-
}
|
|
1347
|
-
} else {
|
|
1348
|
-
this.value = [selectedValue];
|
|
1349
|
-
this._expanded = false;
|
|
1350
|
-
}
|
|
1351
|
-
}
|
|
1352
|
-
_onInput(event) {
|
|
1353
|
-
const input = event.target;
|
|
1354
|
-
const filter2 = input.value;
|
|
1355
|
-
if (filter2 !== "" && !this._expanded) {
|
|
1356
|
-
this._expanded = true;
|
|
1357
|
-
}
|
|
1358
|
-
this._activeOption = -1;
|
|
1359
|
-
this._filter = filter2;
|
|
1360
|
-
}
|
|
1361
|
-
_dispatchSelectedOptions() {
|
|
1362
|
-
this.dispatchEvent(new Event("change", {
|
|
1363
|
-
bubbles: true,
|
|
1364
|
-
composed: true
|
|
1365
|
-
}));
|
|
1366
|
-
}
|
|
1367
|
-
get _isValid() {
|
|
1368
|
-
return this.internals.validity.valid && !this.invalid;
|
|
1369
|
-
}
|
|
1370
|
-
_renderCombobox() {
|
|
1371
|
-
const placeHolderValue = i6([this.placeholder, this.disabled, this.value, this.activeOptions.length, this.selectAllPlaceholder, this._filter], () => {
|
|
1372
|
-
if (this.placeholder) {
|
|
1373
|
-
return this.placeholder;
|
|
1374
|
-
}
|
|
1375
|
-
if (this.disabled) {
|
|
1376
|
-
return "Disabled";
|
|
1377
|
-
}
|
|
1378
|
-
if (!this.value.length) {
|
|
1379
|
-
return "No options selected";
|
|
1380
|
-
}
|
|
1381
|
-
if (this.value.length === 1) {
|
|
1382
|
-
return Array.from(this._selectableVisibleOptions).find((option) => option.value === this.value[0])?.textContent?.trim();
|
|
1383
|
-
}
|
|
1384
|
-
const permanentlyHiddenValues = Array.from(this.options).filter((option) => option.hidden).map((option) => option.value);
|
|
1385
|
-
const selectedCount = this.value.filter((val) => !permanentlyHiddenValues.includes(val)).length;
|
|
1386
|
-
const totalSelectableCount = this.options.length - permanentlyHiddenValues.length;
|
|
1387
|
-
if (this._filter === "" && selectedCount === totalSelectableCount && totalSelectableCount > 0) {
|
|
1388
|
-
return this.selectAllPlaceholder || "All options selected";
|
|
1389
|
-
}
|
|
1390
|
-
return `${selectedCount} options selected`;
|
|
1391
|
-
});
|
|
1392
|
-
return x` <input
|
|
1393
|
-
type="text"
|
|
1394
|
-
id="${this.id}"
|
|
1395
|
-
name="${this.name}"
|
|
1396
|
-
autocomplete="off"
|
|
1397
|
-
aria-label="${this.labelContent}"
|
|
1398
|
-
aria-labelledby="${this.ariaLabelledby}"
|
|
1399
|
-
role="combobox"
|
|
1400
|
-
aria-controls="${this.id}-list"
|
|
1401
|
-
aria-expanded="${this._expanded}"
|
|
1402
|
-
aria-autocomplete="list"
|
|
1403
|
-
aria-haspopup="listbox"
|
|
1404
|
-
aria-disabled="${this.disabled}"
|
|
1405
|
-
aria-invalid="${!this._isValid}"
|
|
1406
|
-
aria-errormessage="${!this._isValid ? `error-msg-${this.id}` : E}"
|
|
1407
|
-
aria-required="${this.required}"
|
|
1408
|
-
?disabled=${this.disabled}
|
|
1409
|
-
aria-activedescendant="${o9(this._getActiveOptionId())}"
|
|
1410
|
-
@input="${this._onInput}"
|
|
1411
|
-
.value="${this._filter}"
|
|
1412
|
-
.placeholder="${placeHolderValue}"
|
|
1413
|
-
@focusout="${this._handleFocusOut}"
|
|
1414
|
-
part="input"
|
|
1415
|
-
class=${this.hideCaret ? "hide-caret" : ""}
|
|
1416
|
-
/>`;
|
|
1417
|
-
}
|
|
1418
|
-
_renderOption(option) {
|
|
1419
|
-
const hidden = Boolean(this._filter !== "" && !option.value.toLowerCase().includes(this._filter.toLowerCase()) && !option.innerText.toLowerCase().includes(this._filter.toLowerCase()) || option.hidden);
|
|
1420
|
-
const id = `${this.id}-option-${option.value}`;
|
|
1421
|
-
const active = this._getActiveOptionId() === id;
|
|
1422
|
-
const selected = this.value.includes(option.value);
|
|
1423
|
-
return x`
|
|
1424
|
-
<tt-option
|
|
1425
|
-
id="${id}"
|
|
1426
|
-
value="${option.value}"
|
|
1427
|
-
?selected=${selected}
|
|
1428
|
-
?disabled=${option.disabled}
|
|
1429
|
-
?active=${active}
|
|
1430
|
-
?include-checkbox=${this.multiselect}
|
|
1431
|
-
?hidden=${hidden}
|
|
1432
|
-
@click="${this._onClickOption}"
|
|
1433
|
-
>
|
|
1434
|
-
${o7(option.innerHTML)}
|
|
1435
|
-
</tt-option>
|
|
1436
|
-
`;
|
|
1437
|
-
}
|
|
1438
|
-
_hasErrorContent() {
|
|
1439
|
-
return this.errorElements?.length > 0;
|
|
1440
|
-
}
|
|
1441
|
-
render() {
|
|
1442
|
-
return x`
|
|
1443
|
-
<div
|
|
1444
|
-
class="tt-combobox-container"
|
|
1445
|
-
@focus="${this._onFocus}"
|
|
1446
|
-
@keydown="${this._onKeyUp}"
|
|
1447
|
-
@click="${this._onClick}"
|
|
1448
|
-
aria-disabled="${this.disabled}"
|
|
1449
|
-
part="container"
|
|
1450
|
-
>
|
|
1451
|
-
<slot name="icon" part="icon"></slot>
|
|
1452
|
-
${this._renderCombobox()} ${this._renderChevron()}
|
|
1453
|
-
<ul
|
|
1454
|
-
id="${this.id}-list"
|
|
1455
|
-
role="listbox"
|
|
1456
|
-
aria-multiselectable="${this.multiselect}"
|
|
1457
|
-
aria-label="${this.labelContent}"
|
|
1458
|
-
part="listbox"
|
|
1459
|
-
?data-open-upward="${this.openUpward}"
|
|
1460
|
-
>
|
|
1461
|
-
${this._renderSelectAll()} ${c4(this.options, (opt) => opt.value, this._renderOption.bind(this))}
|
|
1462
|
-
|
|
1463
|
-
<li part="no-results" class="no-results">No results</li>
|
|
1464
|
-
</ul>
|
|
1465
|
-
</div>
|
|
1466
|
-
<slot name="option" @slotchange=${() => this.requestUpdate("options")}></slot>
|
|
1467
|
-
<div
|
|
1468
|
-
class="errormessage"
|
|
1469
|
-
id="error-msg-${this.id}"
|
|
1470
|
-
role="alert"
|
|
1471
|
-
aria-atomic="true"
|
|
1472
|
-
?data-hidden="${!this._hasErrorContent()}"
|
|
1473
|
-
part="error"
|
|
1474
|
-
>
|
|
1475
|
-
${o8(alert)}
|
|
1476
|
-
<slot name="error"></slot>
|
|
1477
|
-
</div>
|
|
1478
|
-
`;
|
|
1479
|
-
}
|
|
1480
|
-
};
|
|
1481
|
-
TtCombobox.styles = styles;
|
|
1482
|
-
TtCombobox.formAssociated = true;
|
|
1483
|
-
TtCombobox.shadowRootOptions = {
|
|
1484
|
-
...i4.shadowRootOptions,
|
|
1485
|
-
delegatesFocus: true
|
|
1486
|
-
};
|
|
1487
|
-
__decorate([
|
|
1488
|
-
n4({ type: Boolean })
|
|
1489
|
-
], TtCombobox.prototype, "multiselect", void 0);
|
|
1490
|
-
__decorate([
|
|
1491
|
-
n4({ type: Boolean })
|
|
1492
|
-
], TtCombobox.prototype, "disabled", void 0);
|
|
1493
|
-
__decorate([
|
|
1494
|
-
n4({ type: Boolean })
|
|
1495
|
-
], TtCombobox.prototype, "invalid", void 0);
|
|
1496
|
-
__decorate([
|
|
1497
|
-
n4({ type: Boolean, attribute: "display-select-all" })
|
|
1498
|
-
], TtCombobox.prototype, "displaySelectAll", void 0);
|
|
1499
|
-
__decorate([
|
|
1500
|
-
n4({ type: Boolean })
|
|
1501
|
-
], TtCombobox.prototype, "required", void 0);
|
|
1502
|
-
__decorate([
|
|
1503
|
-
n4({ type: String })
|
|
1504
|
-
], TtCombobox.prototype, "name", void 0);
|
|
1505
|
-
__decorate([
|
|
1506
|
-
n4({ type: String, attribute: "aria-labelledby" })
|
|
1507
|
-
], TtCombobox.prototype, "ariaLabelledby", void 0);
|
|
1508
|
-
__decorate([
|
|
1509
|
-
n4({ type: Boolean, attribute: "hide-caret" })
|
|
1510
|
-
], TtCombobox.prototype, "hideCaret", void 0);
|
|
1511
|
-
__decorate([
|
|
1512
|
-
n4({ type: String })
|
|
1513
|
-
], TtCombobox.prototype, "placeholder", void 0);
|
|
1514
|
-
__decorate([
|
|
1515
|
-
n4({ type: String, attribute: "select-all-placeholder" })
|
|
1516
|
-
], TtCombobox.prototype, "selectAllPlaceholder", void 0);
|
|
1517
|
-
__decorate([
|
|
1518
|
-
n4({ type: Boolean, attribute: "open-upward" })
|
|
1519
|
-
], TtCombobox.prototype, "openUpward", void 0);
|
|
1520
|
-
__decorate([
|
|
1521
|
-
r5()
|
|
1522
|
-
], TtCombobox.prototype, "_activeOption", void 0);
|
|
1523
|
-
__decorate([
|
|
1524
|
-
r5()
|
|
1525
|
-
], TtCombobox.prototype, "_expanded", void 0);
|
|
1526
|
-
__decorate([
|
|
1527
|
-
r5()
|
|
1528
|
-
], TtCombobox.prototype, "_filter", void 0);
|
|
1529
|
-
__decorate([
|
|
1530
|
-
o6({ slot: "option", selector: "option" })
|
|
1531
|
-
], TtCombobox.prototype, "options", void 0);
|
|
1532
|
-
__decorate([
|
|
1533
|
-
o6({ slot: "option", selector: "tt-option:not([disabled])" })
|
|
1534
|
-
], TtCombobox.prototype, "activeOptions", void 0);
|
|
1535
|
-
__decorate([
|
|
1536
|
-
o6({ slot: "error" })
|
|
1537
|
-
], TtCombobox.prototype, "errorElements", void 0);
|
|
1538
|
-
__decorate([
|
|
1539
|
-
r6("tt-option:not([hidden], [disabled])")
|
|
1540
|
-
], TtCombobox.prototype, "_visibleOptions", void 0);
|
|
1541
|
-
__decorate([
|
|
1542
|
-
r6("tt-option:not([hidden], .select-all)")
|
|
1543
|
-
], TtCombobox.prototype, "_visibleOptionsNotSelectAll", void 0);
|
|
1544
|
-
__decorate([
|
|
1545
|
-
r6("tt-option:not([disabled], .select-all)")
|
|
1546
|
-
], TtCombobox.prototype, "_selectableOptions", void 0);
|
|
1547
|
-
__decorate([
|
|
1548
|
-
r6("tt-option:not([disabled], [hidden], .select-all)")
|
|
1549
|
-
], TtCombobox.prototype, "_selectableVisibleOptions", void 0);
|
|
1550
|
-
__decorate([
|
|
1551
|
-
e5('input[role="combobox"]')
|
|
1552
|
-
], TtCombobox.prototype, "_comboboxInput", void 0);
|
|
1553
|
-
__decorate([
|
|
1554
|
-
e5("button:has(svg)")
|
|
1555
|
-
], TtCombobox.prototype, "_chevronButton", void 0);
|
|
1556
|
-
__decorate([
|
|
1557
|
-
n4({ type: Array, attribute: "value" })
|
|
1558
|
-
], TtCombobox.prototype, "value", void 0);
|
|
1559
|
-
|
|
1560
|
-
// ../tt-combobox/dist/esm/src/tt-option/styles.js
|
|
1561
|
-
var styles2 = i`
|
|
1562
|
-
li {
|
|
1563
|
-
cursor: pointer;
|
|
1564
|
-
display: flex;
|
|
1565
|
-
padding: 0.5rem;
|
|
1566
|
-
box-sizing: border-box;
|
|
1567
|
-
text-align: left;
|
|
1568
|
-
text-overflow: ellipsis;
|
|
1569
|
-
text-wrap: nowrap;
|
|
1570
|
-
align-items: center;
|
|
1571
|
-
gap: 0.25rem;
|
|
1572
|
-
max-width: 100%;
|
|
1573
|
-
width: 100%;
|
|
1574
|
-
overflow-y: visible;
|
|
1575
|
-
flex: 1;
|
|
1576
|
-
|
|
1577
|
-
input[type='checkbox'] {
|
|
1578
|
-
width: var(--checkbox-size, var(--space-scale-2));
|
|
1579
|
-
aspect-ratio: 1;
|
|
1580
|
-
flex: 0 0 auto;
|
|
1581
|
-
accent-color: var(--color-primary-400);
|
|
1582
|
-
pointer-events: none;
|
|
1583
|
-
}
|
|
1584
|
-
|
|
1585
|
-
span {
|
|
1586
|
-
overflow: hidden;
|
|
1587
|
-
text-overflow: ellipsis;
|
|
1588
|
-
white-space: nowrap;
|
|
1589
|
-
flex: 1;
|
|
1590
|
-
line-height: 1.1;
|
|
1591
|
-
}
|
|
1592
|
-
|
|
1593
|
-
&[aria-hidden='true'] {
|
|
1594
|
-
visibility: hidden;
|
|
1595
|
-
display: none;
|
|
1596
|
-
}
|
|
1597
|
-
|
|
1598
|
-
&[aria-disabled='true'] {
|
|
1599
|
-
pointer-events: none;
|
|
1600
|
-
opacity: 0.5;
|
|
1601
|
-
}
|
|
1602
|
-
|
|
1603
|
-
&[aria-selected='true']:not(:has(input[type='checkbox'])) {
|
|
1604
|
-
color: var(--tt-combobox-option-selected-color, var(--color-primary-400));
|
|
1605
|
-
font-weight: var(--font-weight-medium);
|
|
1606
|
-
}
|
|
1607
|
-
}
|
|
1608
|
-
|
|
1609
|
-
:host([active]),
|
|
1610
|
-
:host(:hover) {
|
|
1611
|
-
li {
|
|
1612
|
-
background-color: var(--tt-combobox-option-background-color-hover, var(--color-surface-300));
|
|
1613
|
-
color: var(--tt-combobox-option-color-hover, inherit);
|
|
1614
|
-
}
|
|
1615
|
-
|
|
1616
|
-
&:first-child li {
|
|
1617
|
-
border-top-left-radius: var(--border-radius);
|
|
1618
|
-
border-top-right-radius: var(--border-radius);
|
|
1619
|
-
}
|
|
1620
|
-
|
|
1621
|
-
&:last-child li {
|
|
1622
|
-
border-bottom-left-radius: var(--border-radius);
|
|
1623
|
-
border-bottom-right-radius: var(--border-radius);
|
|
1624
|
-
}
|
|
1625
|
-
}
|
|
1626
|
-
|
|
1627
|
-
:host([disabled]) {
|
|
1628
|
-
pointer-events: none;
|
|
1629
|
-
}
|
|
1630
|
-
`;
|
|
1631
|
-
|
|
1632
|
-
// ../tt-combobox/dist/esm/src/tt-option/TtOption.js
|
|
1633
|
-
var __decorate2 = function(decorators, target2, key, desc) {
|
|
1634
|
-
var c5 = arguments.length, r8 = c5 < 3 ? target2 : desc === null ? desc = Object.getOwnPropertyDescriptor(target2, key) : desc, d3;
|
|
1635
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r8 = Reflect.decorate(decorators, target2, key, desc);
|
|
1636
|
-
else for (var i7 = decorators.length - 1; i7 >= 0; i7--) if (d3 = decorators[i7]) r8 = (c5 < 3 ? d3(r8) : c5 > 3 ? d3(target2, key, r8) : d3(target2, key)) || r8;
|
|
1637
|
-
return c5 > 3 && r8 && Object.defineProperty(target2, key, r8), r8;
|
|
1638
|
-
};
|
|
1639
|
-
var TtOption = class extends i4 {
|
|
1640
|
-
constructor() {
|
|
1641
|
-
super(...arguments);
|
|
1642
|
-
this.disabled = false;
|
|
1643
|
-
this.selected = false;
|
|
1644
|
-
this.active = false;
|
|
1645
|
-
this.value = "";
|
|
1646
|
-
this.includeCheckbox = false;
|
|
1647
|
-
this._onClick = (event) => {
|
|
1648
|
-
if (this.disabled) {
|
|
1649
|
-
event.preventDefault();
|
|
1650
|
-
event.stopImmediatePropagation();
|
|
1651
|
-
event.stopPropagation();
|
|
1652
|
-
}
|
|
1653
|
-
};
|
|
1654
|
-
}
|
|
1655
|
-
connectedCallback() {
|
|
1656
|
-
super.connectedCallback();
|
|
1657
|
-
this.addEventListener("click", this._onClick);
|
|
1658
|
-
}
|
|
1659
|
-
disconnectedCallback() {
|
|
1660
|
-
super.disconnectedCallback();
|
|
1661
|
-
this.removeEventListener("click", this._onClick);
|
|
1662
|
-
}
|
|
1663
|
-
render() {
|
|
1664
|
-
return x`
|
|
1665
|
-
<li
|
|
1666
|
-
role="option"
|
|
1667
|
-
aria-selected="${this.selected}"
|
|
1668
|
-
aria-disabled="${this.disabled}"
|
|
1669
|
-
?aria-hidden="${this.hidden}"
|
|
1670
|
-
data-active="${this.active}"
|
|
1671
|
-
data-value="${this.value}"
|
|
1672
|
-
@click="${this._onClick}"
|
|
1673
|
-
@mousedown="${(event) => event.preventDefault()}"
|
|
1674
|
-
part="option"
|
|
1675
|
-
>
|
|
1676
|
-
${this.includeCheckbox ? x`<input type="checkbox" ?checked=${this.selected} role="presentation" tabindex="-1" part="checkbox" />` : E}
|
|
1677
|
-
<span>
|
|
1678
|
-
<slot></slot>
|
|
1679
|
-
</span>
|
|
1680
|
-
</li>
|
|
1681
|
-
`;
|
|
1682
|
-
}
|
|
1683
|
-
};
|
|
1684
|
-
TtOption.styles = styles2;
|
|
1685
|
-
TtOption.shadowRootOptions = {
|
|
1686
|
-
...i4.shadowRootOptions,
|
|
1687
|
-
delegatesFocus: true
|
|
1688
|
-
};
|
|
1689
|
-
__decorate2([
|
|
1690
|
-
n4({ type: Boolean })
|
|
1691
|
-
], TtOption.prototype, "disabled", void 0);
|
|
1692
|
-
__decorate2([
|
|
1693
|
-
n4({ type: Boolean })
|
|
1694
|
-
], TtOption.prototype, "selected", void 0);
|
|
1695
|
-
__decorate2([
|
|
1696
|
-
n4({ type: Boolean })
|
|
1697
|
-
], TtOption.prototype, "active", void 0);
|
|
1698
|
-
__decorate2([
|
|
1699
|
-
n4({ type: String })
|
|
1700
|
-
], TtOption.prototype, "value", void 0);
|
|
1701
|
-
__decorate2([
|
|
1702
|
-
n4({ type: Boolean, attribute: "include-checkbox" })
|
|
1703
|
-
], TtOption.prototype, "includeCheckbox", void 0);
|
|
1704
|
-
|
|
1705
|
-
// ../tt-combobox/dist/esm/src/tt-option/tt-option.js
|
|
1706
|
-
if (typeof window !== "undefined") {
|
|
1707
|
-
if (!window.customElements.get("tt-option")) {
|
|
1708
|
-
window.customElements.define("tt-option", TtOption);
|
|
1709
|
-
}
|
|
1710
|
-
}
|
|
1711
|
-
|
|
1712
|
-
// ../tt-combobox/dist/esm/src/tt-combobox.js
|
|
1713
|
-
if (typeof window !== "undefined") {
|
|
1714
|
-
if (!window.customElements.get("tt-combobox")) {
|
|
1715
|
-
window.customElements.define("tt-combobox", TtCombobox);
|
|
1716
|
-
}
|
|
1717
|
-
}
|
|
1718
|
-
|
|
1719
|
-
// src/styles.ts
|
|
1720
|
-
var visuallyHiddenCss = i`
|
|
1721
|
-
position: absolute;
|
|
1722
|
-
width: 1px;
|
|
1723
|
-
height: 1px;
|
|
1724
|
-
margin: -1px;
|
|
1725
|
-
padding: 0;
|
|
1726
|
-
border: 0;
|
|
1727
|
-
overflow: hidden;
|
|
1728
|
-
clip: rect(0 0 0 0);
|
|
1729
|
-
clip-path: inset(50%);
|
|
1730
|
-
white-space: nowrap;
|
|
1731
|
-
`;
|
|
1732
|
-
var styles3 = i`
|
|
1733
|
-
:host {
|
|
1734
|
-
--nav-bar-width: 260px;
|
|
1735
|
-
|
|
1736
|
-
display: block;
|
|
1737
|
-
height: 100vh;
|
|
1738
|
-
}
|
|
1739
|
-
|
|
1740
|
-
:host:has(.sidebar-closed) {
|
|
1741
|
-
--nav-bar-width: fit-content;
|
|
1742
|
-
}
|
|
1743
|
-
|
|
1744
|
-
* {
|
|
1745
|
-
box-sizing: border-box;
|
|
1746
|
-
}
|
|
1747
|
-
|
|
1748
|
-
nav {
|
|
1749
|
-
--menu-font-size: var(--font-size-200);
|
|
1750
|
-
max-width: var(--nav-bar-width);
|
|
1751
|
-
width: var(--nav-bar-width);
|
|
1752
|
-
min-height: 100vh;
|
|
1753
|
-
height: max-content;
|
|
1754
|
-
display: flex;
|
|
1755
|
-
align-items: start;
|
|
1756
|
-
gap: var(--space-scale-3-5);
|
|
1757
|
-
flex-direction: column;
|
|
1758
|
-
background-color: var(--color-surface-inverted-100);
|
|
1759
|
-
color: var(--color-text-inverted-400);
|
|
1760
|
-
padding-top: var(--space-scale-2);
|
|
1761
|
-
padding-bottom: var(--space-scale-2);
|
|
1762
|
-
z-index: 1;
|
|
1763
|
-
|
|
1764
|
-
.nav-items {
|
|
1765
|
-
display: flex;
|
|
1766
|
-
flex-direction: column;
|
|
1767
|
-
padding: 0 var(--space-scale-1);
|
|
1768
|
-
width: 100%;
|
|
1769
|
-
}
|
|
1770
|
-
|
|
1771
|
-
.nav-items.sidebar-closed {
|
|
1772
|
-
a span {
|
|
1773
|
-
${visuallyHiddenCss}
|
|
1774
|
-
}
|
|
1775
|
-
|
|
1776
|
-
details summary span {
|
|
1777
|
-
${visuallyHiddenCss}
|
|
1778
|
-
}
|
|
1779
|
-
}
|
|
1780
|
-
|
|
1781
|
-
.sidebar-header {
|
|
1782
|
-
width: 100%;
|
|
1783
|
-
display: grid;
|
|
1784
|
-
grid-template-columns: 1fr auto;
|
|
1785
|
-
align-items: center;
|
|
1786
|
-
justify-content: center;
|
|
1787
|
-
padding: 0 var(--space-scale-2);
|
|
1788
|
-
|
|
1789
|
-
button {
|
|
1790
|
-
background-color: transparent;
|
|
1791
|
-
color: var(--color-text-inverted-400);
|
|
1792
|
-
border: none;
|
|
1793
|
-
}
|
|
1794
|
-
}
|
|
1795
|
-
|
|
1796
|
-
.sidebar-header.sidebar-closed {
|
|
1797
|
-
padding: 0 var(--space-scale-1);
|
|
1798
|
-
.logo {
|
|
1799
|
-
display: none;
|
|
1800
|
-
visibility: hidden;
|
|
1801
|
-
}
|
|
1802
|
-
}
|
|
1803
|
-
|
|
1804
|
-
hr {
|
|
1805
|
-
width: 100%;
|
|
1806
|
-
height: 1px;
|
|
1807
|
-
background-color: var(--color-surface-inverted-200);
|
|
1808
|
-
border: none;
|
|
1809
|
-
}
|
|
1810
|
-
|
|
1811
|
-
.tertiary-nav {
|
|
1812
|
-
display: flex;
|
|
1813
|
-
flex-direction: column;
|
|
1814
|
-
margin-top: auto;
|
|
1815
|
-
width: 100%;
|
|
1816
|
-
|
|
1817
|
-
.external-link {
|
|
1818
|
-
font-size: var(--menu-font-size);
|
|
1819
|
-
line-height: var(--font-line-height-100);
|
|
1820
|
-
|
|
1821
|
-
.icon {
|
|
1822
|
-
width: var(--space-scale-2);
|
|
1823
|
-
height: var(--space-scale-2);
|
|
1824
|
-
}
|
|
1825
|
-
}
|
|
1826
|
-
}
|
|
1827
|
-
|
|
1828
|
-
.tertiary-nav.sidebar-closed {
|
|
1829
|
-
.external-link,
|
|
1830
|
-
hr,
|
|
1831
|
-
#client-selector {
|
|
1832
|
-
display: none;
|
|
1833
|
-
visibility: hidden;
|
|
1834
|
-
}
|
|
1835
|
-
|
|
1836
|
-
a span {
|
|
1837
|
-
${visuallyHiddenCss}
|
|
1838
|
-
}
|
|
1839
|
-
}
|
|
1840
|
-
|
|
1841
|
-
.icon {
|
|
1842
|
-
display: flex;
|
|
1843
|
-
align-items: center;
|
|
1844
|
-
width: var(--space-scale-3);
|
|
1845
|
-
height: var(--space-scale-3);
|
|
1846
|
-
color: var(--nav-item-color);
|
|
1847
|
-
}
|
|
1848
|
-
|
|
1849
|
-
.nav-item {
|
|
1850
|
-
display: flex;
|
|
1851
|
-
font-size: var(--menu-font-size);
|
|
1852
|
-
line-height: var(--font-line-height-100);
|
|
1853
|
-
gap: var(--space-scale-1-5);
|
|
1854
|
-
border-radius: var(--border-radius-100);
|
|
1855
|
-
color: var(--nav-item-color);
|
|
1856
|
-
align-items: center;
|
|
1857
|
-
padding: var(--space-scale-1);
|
|
1858
|
-
width: 100%;
|
|
1859
|
-
text-decoration: none;
|
|
1860
|
-
}
|
|
1861
|
-
}
|
|
1862
|
-
|
|
1863
|
-
nav.sidebar-closed {
|
|
1864
|
-
width: fit-content;
|
|
1865
|
-
|
|
1866
|
-
:host {
|
|
1867
|
-
--nav-bar-width: fit-content;
|
|
1868
|
-
}
|
|
1869
|
-
}
|
|
1870
|
-
|
|
1871
|
-
details {
|
|
1872
|
-
border-radius: var(--border-radius-100);
|
|
1873
|
-
|
|
1874
|
-
summary {
|
|
1875
|
-
font-size: var(--menu-font-size);
|
|
1876
|
-
line-height: var(--font-line-height-100);
|
|
1877
|
-
position: relative;
|
|
1878
|
-
display: flex;
|
|
1879
|
-
align-items: baseline;
|
|
1880
|
-
|
|
1881
|
-
&::marker {
|
|
1882
|
-
display: none;
|
|
1883
|
-
}
|
|
1884
|
-
|
|
1885
|
-
&::-webkit-details-marker {
|
|
1886
|
-
display: none;
|
|
1887
|
-
}
|
|
1888
|
-
}
|
|
1889
|
-
|
|
1890
|
-
.chevron {
|
|
1891
|
-
margin-left: auto;
|
|
1892
|
-
margin-right: var(--space-scale-1);
|
|
1893
|
-
width: var(--space-scale-2);
|
|
1894
|
-
}
|
|
1895
|
-
|
|
1896
|
-
&[open] .chevron svg {
|
|
1897
|
-
transform: rotate(180deg);
|
|
1898
|
-
}
|
|
1899
|
-
|
|
1900
|
-
.dropdown-items {
|
|
1901
|
-
display: flex;
|
|
1902
|
-
flex-direction: column;
|
|
1903
|
-
}
|
|
1904
|
-
}
|
|
1905
|
-
|
|
1906
|
-
details > summary {
|
|
1907
|
-
display: flex;
|
|
1908
|
-
gap: var(--space-scale-1-5);
|
|
1909
|
-
padding: var(--space-scale-1);
|
|
1910
|
-
border-radius: var(--border-radius-100);
|
|
1911
|
-
color: var(--nav-item-color);
|
|
1912
|
-
align-items: center;
|
|
1913
|
-
|
|
1914
|
-
a {
|
|
1915
|
-
color: var(--nav-item-color);
|
|
1916
|
-
}
|
|
1917
|
-
|
|
1918
|
-
&:hover,
|
|
1919
|
-
&:focus-visible {
|
|
1920
|
-
background-color: var(--color-surface-inverted-200);
|
|
1921
|
-
border-radius: var(--border-radius-100);
|
|
1922
|
-
text-decoration: none;
|
|
1923
|
-
}
|
|
1924
|
-
}
|
|
1925
|
-
|
|
1926
|
-
.sidebar-closed details:has(.current-page) > summary {
|
|
1927
|
-
--nav-item-color: var(--color-primary-400);
|
|
1928
|
-
border-radius: var(--border-radius-100);
|
|
1929
|
-
background-color: var(--color-primary-100);
|
|
1930
|
-
color: var(--nav-item-color);
|
|
1931
|
-
}
|
|
1932
|
-
|
|
1933
|
-
.sub-nav-item {
|
|
1934
|
-
width: 100%;
|
|
1935
|
-
display: flex;
|
|
1936
|
-
padding-left: 44px;
|
|
1937
|
-
padding-top: 10px;
|
|
1938
|
-
padding-bottom: 10px;
|
|
1939
|
-
color: var(--color-text-inverted-400);
|
|
1940
|
-
font-size: var(--menu-font-size);
|
|
1941
|
-
line-height: var(--font-line-height-100);
|
|
1942
|
-
text-decoration: none;
|
|
1943
|
-
|
|
1944
|
-
button {
|
|
1945
|
-
color: var(--color-text-inverted-400);
|
|
1946
|
-
padding: 0;
|
|
1947
|
-
}
|
|
1948
|
-
}
|
|
1949
|
-
|
|
1950
|
-
.sub-nav-item:hover,
|
|
1951
|
-
.sub-nav-item:focus-visible,
|
|
1952
|
-
.nav-item:hover,
|
|
1953
|
-
.nav-item:focus-visible {
|
|
1954
|
-
background-color: var(--color-surface-inverted-200);
|
|
1955
|
-
border-radius: var(--border-radius-100);
|
|
1956
|
-
text-decoration: none;
|
|
1957
|
-
color: var(--color-text-inverted-400);
|
|
1958
|
-
|
|
1959
|
-
.icon {
|
|
1960
|
-
color: var(--color-text-inverted-400);
|
|
1961
|
-
}
|
|
1962
|
-
}
|
|
1963
|
-
|
|
1964
|
-
.current-page {
|
|
1965
|
-
--nav-item-color: var(--color-primary-400);
|
|
1966
|
-
border-radius: var(--border-radius-100);
|
|
1967
|
-
background-color: var(--color-primary-100);
|
|
1968
|
-
color: var(--nav-item-color);
|
|
1969
|
-
}
|
|
1970
|
-
|
|
1971
|
-
.link-page {
|
|
1972
|
-
display: flex;
|
|
1973
|
-
position: absolute;
|
|
1974
|
-
overflow: auto;
|
|
1975
|
-
flex-direction: column;
|
|
1976
|
-
gap: var(--space-scale-4);
|
|
1977
|
-
padding: var(--space-scale-5);
|
|
1978
|
-
left: var(--nav-bar-width);
|
|
1979
|
-
background-color: var(--color-surface-200);
|
|
1980
|
-
width: calc(100% - var(--nav-bar-width));
|
|
1981
|
-
height: 100%;
|
|
1982
|
-
}
|
|
1983
|
-
|
|
1984
|
-
.tooltip {
|
|
1985
|
-
position: absolute;
|
|
1986
|
-
display: flex;
|
|
1987
|
-
white-space: nowrap;
|
|
1988
|
-
align-items: center;
|
|
1989
|
-
gap: var(--space-scale-1);
|
|
1990
|
-
color: black;
|
|
1991
|
-
background-color: var(--color-surface-600);
|
|
1992
|
-
padding: var(--space-scale-1);
|
|
1993
|
-
z-index: 1000;
|
|
1994
|
-
border-radius: var(--border-radius-50);
|
|
1995
|
-
font-weight: var(--font-weight-medium);
|
|
1996
|
-
}
|
|
1997
|
-
|
|
1998
|
-
.nav-toggle-button {
|
|
1999
|
-
position: relative;
|
|
2000
|
-
}
|
|
2001
|
-
|
|
2002
|
-
.nav-toggle-tooltip {
|
|
2003
|
-
left: 100%;
|
|
2004
|
-
top: 100%;
|
|
2005
|
-
visibility: hidden;
|
|
2006
|
-
opacity: 0;
|
|
2007
|
-
}
|
|
2008
|
-
|
|
2009
|
-
.nav-toggle-button:hover .nav-toggle-tooltip {
|
|
2010
|
-
visibility: visible;
|
|
2011
|
-
opacity: 1;
|
|
2012
|
-
}
|
|
2013
|
-
|
|
2014
|
-
#client-selector {
|
|
2015
|
-
display: flex;
|
|
2016
|
-
align-items: center;
|
|
2017
|
-
padding: var(--space-scale-1) 0;
|
|
2018
|
-
margin-bottom: var(--space-scale-2);
|
|
2019
|
-
}
|
|
2020
|
-
|
|
2021
|
-
#client-selector tt-combobox {
|
|
2022
|
-
--tt-combobox-color: var(--color-text-inverted-400);
|
|
2023
|
-
--tt-combobox-dropdown-color: var(--color-text-inverted-400);
|
|
2024
|
-
--tt-combobox-list-background-color: var(--color-surface-inverted-100);
|
|
2025
|
-
--tt-combobox-option-background-color-hover: var(--color-surface-inverted-200);
|
|
2026
|
-
--tt-combobox-placeholder-color: var(--color-text-inverted-300);
|
|
2027
|
-
--tt-combobox-background-color: var(--color-surface-inverted-100);
|
|
2028
|
-
--tt-combobox-hover-background-color: var(--color-surface-inverted-200);
|
|
2029
|
-
--tt-combobox-list-max-width: 80ch;
|
|
2030
|
-
--tt-combobox-min-width: 244px;
|
|
2031
|
-
--tt-combobox-max-width: 244px;
|
|
2032
|
-
--tt-combobox-option-selected-color: var(--color-text-inverted-500);
|
|
2033
|
-
--tt-combobox-border-color: var(--color-surface-inverted-200);
|
|
2034
|
-
}
|
|
2035
|
-
|
|
2036
|
-
.single-client-name {
|
|
2037
|
-
height: 39px;
|
|
2038
|
-
padding: var(--space-scale-1); /* match tt-combobox height */
|
|
2039
|
-
font-size: var(--font-size-200);
|
|
2040
|
-
color: var(--color-text-inverted-200);
|
|
2041
|
-
text-wrap: nowrap;
|
|
2042
|
-
overflow: hidden;
|
|
2043
|
-
text-overflow: ellipsis;
|
|
2044
|
-
}
|
|
2045
|
-
`;
|
|
2046
|
-
|
|
2047
|
-
// src/triptease-logo.ts
|
|
2048
|
-
var tripteaseLogo = `<svg width="112" height="32" viewBox="0 0 112 32" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-label="Triptease Logo">
|
|
2049
|
-
<rect width="112" height="32" fill="url(#pattern0_72_1169)"/>
|
|
2050
|
-
<defs>
|
|
2051
|
-
<pattern id="pattern0_72_1169" patternContentUnits="objectBoundingBox" width="1" height="1">
|
|
2052
|
-
<use xlink:href="#image0_72_1169" transform="matrix(0.000881057 0 0 0.0030837 0 -0.00110132)"/>
|
|
2053
|
-
</pattern>
|
|
2054
|
-
<image id="image0_72_1169" width="1135" height="325" preserveAspectRatio="none" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABG8AAAFFCAIAAADdPldRAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAEb6ADAAQAAAABAAABRQAAAACmZMhMAABAAElEQVR4Ae2dB4AkRdmwb9OFvQMOUAmSDyQoQbiABBVQ9AgKd0eWrCLZj4zir3yCYCCDKIgS5chJFBBE+QThOHJQkuSspMu36X+6a7e3d3Znb3d2dmd65mmavZruik9VV9Vb9VZVTVtb2zAvCUhAAhKQgAQkIAEJSEACEugngdp+2te6BCQgAQlIQAISkIAEJCABCUQElKYsBxKQgAQkIAEJSEACEpCABAohoDRVCDXdSEACEpCABCQgAQlIQAISUJqyDEhAAhKQgAQkIAEJSEACEiiEgNJUIdR0IwEJSEACEpCABCQgAQlIQGnKMiABCUhAAhKQgAQkIAEJSKAQAkpThVDTjQQkIAEJSEACEpCABCQgAaUpy4AEJCABCUhAAhKQgAQkIIFCCChNFUJNNxKQgAQkIAEJSEACEpCABJSmLAMSkIAEJCABCUhAAhKQgAQKIaA0VQg13UhAAhKQgAQkIAEJSEACElCasgxIQAISkIAEJCABCUhAAhIohIDSVCHUdCMBCUhAAhKQgAQkIAEJSEBpyjIgAQlIQAISkIAEJCABCUigEAJKU4VQ040EJCABCUhAAhKQgAQkIAGlKcuABCQgAQlIQAISkIAEJCCBQggoTRVCTTcSkIAEJCABCUhAAhKQgASUpiwDEpCABCQgAQlIQAISkIAECiGgNFUINd1IQAISkIAEJCABCUhAAhJQmrIMSEACEpCABCQgAQlIQAISKISA0lQh1HQjAQlIQAISkIAEJCABCUhAacoyIAEJSEACEpCABCQgAQlIoBACSlOFUNONBCQgAQlIQAISkIAEJCABpSnLgAQkIAEJSEACEpCABCQggUIIKE0VQk03EpCABCQgAQlIQAISkIAElKYsAxKQgAQkIAEJSEACEpCABAohoDRVCDXdSEACEpCABCQgAQlIQAISUJqyDEhAAhKQgAQkIAEJSEACEiiEgNJUIdR0IwEJSEACEpCABCQgAQlIQGnKMiABCUhAAhKQgAQkIAEJSKAQAkpThVDTjQQkIAEJSEACEpCABCQgAaUpy4AEJCABCUhAAhKQgAQkIIFCCChNFUJNNxKQgAQkIAEJSEACEpCABJSmLAMSkIAEJCABCUhAAhKQgAQKIaA0VQg13UhAAhKQgAQkIAEJSEACElCasgxIQAISkIAEJCABCUhAAhIohIDSVCHUdCMBCUhAAhKQgAQkIAEJSEBpyjIgAQlIQAISkIAEJCABCUigEAJKU4VQ040EJCABCUhAAhKQgAQkIAGlKcuABCQgAQlIQAISkIAEJCCBQggoTRVCTTcSkIAEJCABCUhAAhKQgASUpiwDEpCABCQgAQlIQAISkIAECiGgNFUINd1IQAISkIAEJCABCUhAAhJQmrIMSEACEpCABCQgAQlIQAISKISA0lQh1HQjAQlIQAISkIAEJCABCUhAacoyIAEJSEACEpCABCQgAQlIoBACSlOFUNONBCQgAQlIQAISkIAEJCABpSnLgAQkIAEJSEACEpCABCQggUIIKE0VQk03EpCABCQgAQlIQAISkIAElKYsAxKQgAQkIAEJSEACEpCABAohoDRVCDXdSEACEpCABCQgAQlIQAISUJqyDEhAAhKQgAQkIAEJSEACEiiEgNJUIdR0IwEJSEACEpCABCQgAQlIQGnKMiABCUhAAhKQgAQkIAEJSKAQAkpThVDTjQQkIAEJSEACEpCABCQgAaUpy4AEJCABCUhAAhKQgAQkIIFCCChNFUJNNxKQgAQkIAEJSEACEpCABJSmLAMSkIAEJCABCUhAAhKQgAQKIaA0VQg13UhAAhKQgAQkIAEJSEACElCasgxIQAISkIAEJCABCUhAAhIohIDSVCHUdCMBCUhAAhKQgAQkIAEJSEBpyjIgAQlIQAISkIAEJCABCUigEAJKU4VQ040EJCABCUhAAhKQgAQkIAGlKcuABCQgAQlIQAISkIAEJCCBQggoTRVCTTcSkIAEJCABCUhAAhKQgASUpiwDEpCABCQgAQlIQAISkIAECiGgNFUINd1IQAISkIAEJCABCUhAAhJQmrIMSEACEpCABCQgAQlIQAISKISA0lQh1HQjAQlIQAISkIAEJCABCUhAacoyIAEJSEACEpCABCQgAQlIoBACSlOFUNONBCQgAQlIQAISkIAEJCABpSnLgAQkIAEJSEACEpCABCQggUIIKE0VQk03EpCABCQgAQlIQAISkIAE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21ZeaaVe0sde2Gj6xcuo/L564VQtr9g8nRV3pJbzKPOlmTHysCtxTg8mn32fS0ACfSfAxBRiwK233hqOggxiUlgHxRohPr011lijR9+wed999z388EORXlZ1XPmqIEZ8XnjhBY61RKe9OkiYSgn0g4C9vX7AKjeriVpzuUWswuJD65JcyEjMM3zyk5/srumXpBotCcw4cT+ihElVG2qGseEvAlW83q/noZF4TXy0J2To51U1rkpPPCswk7vS01pG6bv55pvZ6yXaXAE17I5FQUgIHB279FJL33DDDUsvtRRT1tTb3XVATvvFadFS2CoQqCZNmhRm6qiI2DUnXR1xIvkdt9/+5muv929lchkVgdJEJayPTVbJ9hIJuuM5dy+WfVVuBJSmyi1HjE9ZE6hviA6emjtvXvc9/brEm9baw867EKnqH5QZjixjo7DeKSBO9W7BtxKQQAEEUPO76KKLRo8eHeajEh8494Jp4d123x2Vv7332Sc625clUpzinbqo8x+cOfONV19rKd3J2qnoDLpxxRVXamioh0y8eKpz9IcRH8jsvscec2fPJhIL5rWf9jvoETIACWSBgNJUFnIpTxwd4MwDZjAfs165ufmtN9/sPn45mKHqd7YJREO8NcPefvutbCfD2EsgmwTuv//+p556CjW/nOgjISz/yU9+4xvfQJdg3333GbPYYpEU0XWHoTA/89Of/jQ6Urair5Dw7bffjklyEso+8unkNjc3A5DTqI74nyPmzZmLyh+CaJA/09Y05xBgo8jkznnlz0oioDRVSblpWgadABtLcNrgG2++ydrlQQ/MACqCQLSEPT5y6rlnn6uIBJkICWSMwKWXXhqprrW0jBkzJh115IdtJk9uHDWKwQ627MPMBHLOqb7z589jBO2mm2569eVX0m4r1bz9dttzzjjnK+bMpbNpB4eAkOq777579912e/7Z55BF2SyxUjmYLgn0i4DSVL9wldJyUD5IBjkweA09gTB69+QTT9A2py8aYK6gaN65EXbXMc6hj60hlgOBaNF2tOlwzaOPPZovPoyIr7HGp+jtpQsV5nz2fS4BCSySQNBGe/vNt27/020o2rJciifDh0dTLigX8NGxbupb3/42kgNDHky2HHPssWH+KtTzwX+maPgSG0ePPu20X/AkR1dwkXHInIU1116b/XLYS4mpp5zlwYwhQgYt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BCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgyAaWpLOeecZeABCQgAQlIQAISkIAESkdAaap07A1ZAhKQgAQkIAEJSEACEsgygf8P8E5YI8a8mpEAAAAASUVORK5CYII="/>
|
|
2055
|
-
</defs>
|
|
2056
|
-
</svg>`;
|
|
2057
|
-
|
|
2058
|
-
// src/urlMappings.ts
|
|
2059
|
-
var urlMappings = {
|
|
2060
|
-
"/paidsearch/:clientKey/*": "/channels",
|
|
2061
|
-
"/meta/:clientKey/*": "/channels",
|
|
2062
|
-
"/retargeting/:clientKey/*": "/channels",
|
|
2063
|
-
"/messages/:clientKey/*": "/channels",
|
|
2064
|
-
"/:clientKey/email": "/channels",
|
|
2065
|
-
"/pricematch/:clientKey/*": "/channels",
|
|
2066
|
-
"/chat/insights/:clientKey": "/channels",
|
|
2067
|
-
"/:clientKey/meta/*": "/channels",
|
|
2068
|
-
"/:clientKey/paidsearch/*": "/channels",
|
|
2069
|
-
"/:clientKey/retargeting/*": "/channels",
|
|
2070
|
-
"/:clientKey/messages/*": "/channels",
|
|
2071
|
-
"/:clientKey/pricematch/*": "/channels",
|
|
2072
|
-
"/:clientKey/chat/insights": "/channels",
|
|
2073
|
-
"/:clientKey/parity": "/parity/$CLIENT_KEY",
|
|
2074
|
-
"/:clientKey/parity/*": "/parity/$CLIENT_KEY",
|
|
2075
|
-
// Settings routes - legacy paths map to new navbar link
|
|
2076
|
-
"/settings/:clientKey/*": "/$CLIENT_KEY/settings/guides",
|
|
2077
|
-
// Settings routes with :clientKey first (excluding guides/hotels which have direct links)
|
|
2078
|
-
"/:clientKey/settings/branding": "/$CLIENT_KEY/settings/guides",
|
|
2079
|
-
"/:clientKey/settings/price-check": "/$CLIENT_KEY/settings/guides",
|
|
2080
|
-
"/:clientKey/settings/price-config": "/$CLIENT_KEY/settings/guides",
|
|
2081
|
-
"/:clientKey/settings/hotel-details-finder": "/$CLIENT_KEY/settings/guides",
|
|
2082
|
-
"/:clientKey/settings/deactivation-center": "/$CLIENT_KEY/settings/guides",
|
|
2083
|
-
"/:clientKey/account/team": "/account/team/$CLIENT_KEY",
|
|
2084
|
-
"/:clientKey/account/team/*": "/account/team/$CLIENT_KEY",
|
|
2085
|
-
"/:clientKey/account/billing-management": "/account/billing-management/$CLIENT_KEY",
|
|
2086
|
-
"/:clientKey/account/billing-management/*": "/account/billing-management/$CLIENT_KEY",
|
|
2087
|
-
"/:clientKey/subscriptions": "/subscriptions/$CLIENT_KEY",
|
|
2088
|
-
"/:clientKey/subscriptions/*": "/subscriptions/$CLIENT_KEY"
|
|
2089
|
-
};
|
|
2090
|
-
|
|
2091
|
-
// src/Routes.ts
|
|
2092
|
-
var Routes = {
|
|
2093
|
-
CampaignManager: "CampaignManager"
|
|
2094
|
-
};
|
|
2095
|
-
|
|
2096
|
-
// src/Config.ts
|
|
2097
|
-
var Config = {
|
|
2098
|
-
NavbarStateCookieName: "tt-navbar-state",
|
|
2099
|
-
NavbarStateCookieOpenValue: "open",
|
|
2100
|
-
NavbarStateCookieClosedValue: "closed"
|
|
2101
|
-
};
|
|
2102
|
-
|
|
2103
|
-
// src/TtNavbar.ts
|
|
2104
|
-
var jsonArrayConverter = (value) => {
|
|
2105
|
-
if (!value) return [];
|
|
2106
|
-
try {
|
|
2107
|
-
return JSON.parse(value);
|
|
2108
|
-
} catch {
|
|
2109
|
-
return [];
|
|
2110
|
-
}
|
|
2111
|
-
};
|
|
2112
|
-
var TtNavbar = class extends i4 {
|
|
2113
|
-
constructor() {
|
|
2114
|
-
super(...arguments);
|
|
2115
|
-
this.campaignManagerUrl = "https://app.campaign-manager.triptease.io";
|
|
2116
|
-
this.clients = [];
|
|
2117
|
-
this.initialState = void 0;
|
|
2118
|
-
this.isOpen = true;
|
|
2119
|
-
/*
|
|
2120
|
-
* Set the active state for the current page.
|
|
2121
|
-
*
|
|
2122
|
-
* This function iterates over all nav links and compares the current URL path with the href of each link.
|
|
2123
|
-
* If the current URL path starts with the href of a link, the link is marked as active. If multiple links
|
|
2124
|
-
* share the same prefix, the longest prefix is used as it is more specific.
|
|
2125
|
-
*
|
|
2126
|
-
* Example:
|
|
2127
|
-
* - Current URL: /channels/123
|
|
2128
|
-
* - Nav links:
|
|
2129
|
-
* - /channels
|
|
2130
|
-
* - /channels/123
|
|
2131
|
-
* - /channels/456
|
|
2132
|
-
*
|
|
2133
|
-
* Loop 1: currentPath = /channels/123, linkPath = /channels, bestMatch = /channels
|
|
2134
|
-
* Loop 2: currentPath = /channels/123, linkPath = /channels/123, bestMatch = /channels/123
|
|
2135
|
-
* Loop 3: currentPath = /channels/123, linkPath = /channels/456, bestMatch = /channels/123
|
|
2136
|
-
* Result: /channels/123 is marked as active
|
|
2137
|
-
*
|
|
2138
|
-
*/
|
|
2139
|
-
this.setActiveState = () => {
|
|
2140
|
-
const currentPath = window.location.pathname;
|
|
2141
|
-
let bestMatch;
|
|
2142
|
-
let bestMatchLength = 0;
|
|
2143
|
-
if (this.activeRoute === Routes.CampaignManager) {
|
|
2144
|
-
bestMatch = this.campaignManagerLink;
|
|
2145
|
-
}
|
|
2146
|
-
if (!bestMatch && this.clientKey) {
|
|
2147
|
-
const parsedPath = currentPath.replace(this.clientKey, "$CLIENT_KEY");
|
|
2148
|
-
let mappedUrl = urlMappings[parsedPath];
|
|
2149
|
-
const matchedPattern = this.mappedUrlPatterns.find(
|
|
2150
|
-
(pattern) => pattern.test(currentPath, window.location.origin)
|
|
2151
|
-
)?.pathname;
|
|
2152
|
-
if (matchedPattern) {
|
|
2153
|
-
mappedUrl = urlMappings[matchedPattern];
|
|
2154
|
-
}
|
|
2155
|
-
if (mappedUrl) {
|
|
2156
|
-
const clientSpecificUrl = mappedUrl.replace("$CLIENT_KEY", this.clientKey);
|
|
2157
|
-
const links = Object.values(this.allNavLinks);
|
|
2158
|
-
bestMatch = links.find((link2) => link2.href.includes(clientSpecificUrl));
|
|
2159
|
-
}
|
|
2160
|
-
}
|
|
2161
|
-
if (!bestMatch) {
|
|
2162
|
-
for (const link2 of this.allNavLinks) {
|
|
2163
|
-
const linkPath = new URL(link2.href).pathname;
|
|
2164
|
-
if (currentPath.startsWith(linkPath)) {
|
|
2165
|
-
if (linkPath.length > bestMatchLength) {
|
|
2166
|
-
bestMatch = link2;
|
|
2167
|
-
bestMatchLength = linkPath.length;
|
|
2168
|
-
}
|
|
2169
|
-
}
|
|
2170
|
-
}
|
|
2171
|
-
}
|
|
2172
|
-
for (const link2 of this.allNavLinks) {
|
|
2173
|
-
link2.classList.remove("current-page");
|
|
2174
|
-
if (link2.hasAttribute("aria-current")) {
|
|
2175
|
-
link2.attributes.removeNamedItem("aria-current");
|
|
2176
|
-
}
|
|
2177
|
-
}
|
|
2178
|
-
if (bestMatch) {
|
|
2179
|
-
bestMatch.classList.add("current-page");
|
|
2180
|
-
bestMatch.setAttribute("aria-current", "page");
|
|
2181
|
-
const parentDetails = bestMatch.closest("details");
|
|
2182
|
-
if (parentDetails) {
|
|
2183
|
-
parentDetails.setAttribute("open", "");
|
|
2184
|
-
}
|
|
2185
|
-
} else {
|
|
2186
|
-
console.error(`No matching nav link found for path: ${currentPath}`);
|
|
2187
|
-
}
|
|
2188
|
-
};
|
|
2189
|
-
this.closeAllDetails = (element) => {
|
|
2190
|
-
this.allDetailsElements.forEach((detail) => {
|
|
2191
|
-
if (element && !detail.contains(element)) {
|
|
2192
|
-
detail.removeAttribute("open");
|
|
2193
|
-
} else if (!element) {
|
|
2194
|
-
detail.removeAttribute("open");
|
|
2195
|
-
}
|
|
2196
|
-
});
|
|
2197
|
-
};
|
|
2198
|
-
this.toggleSidebar = () => {
|
|
2199
|
-
this.closeAllDetails();
|
|
2200
|
-
this.isOpen = !this.isOpen;
|
|
2201
|
-
const { NavbarStateCookieName, NavbarStateCookieOpenValue, NavbarStateCookieClosedValue } = Config;
|
|
2202
|
-
const domain = window.location.hostname.endsWith(".triptease.io") ? "domain=.triptease.io" : "";
|
|
2203
|
-
document.cookie = `${NavbarStateCookieName}=${this.isOpen ? NavbarStateCookieOpenValue : NavbarStateCookieClosedValue}; path=/; max-age=31536000; ${domain}`;
|
|
2204
|
-
};
|
|
2205
|
-
this.handleDetailsToggle = (e10) => {
|
|
2206
|
-
const { newState } = e10;
|
|
2207
|
-
const target2 = e10.currentTarget;
|
|
2208
|
-
if (newState === "open") {
|
|
2209
|
-
if (!this.isOpen) {
|
|
2210
|
-
this.toggleSidebar();
|
|
2211
|
-
}
|
|
2212
|
-
this.closeAllDetails(target2);
|
|
2213
|
-
}
|
|
2214
|
-
};
|
|
2215
|
-
this.buildUrl = (path) => {
|
|
2216
|
-
if (!this.clientKey) throw new Error("clientKey is required");
|
|
2217
|
-
const formattedPath = path.replace("$CLIENT_KEY", this.clientKey);
|
|
2218
|
-
if (!this.platformUrl) return formattedPath;
|
|
2219
|
-
return new URL(formattedPath, this.platformUrl).toString();
|
|
2220
|
-
};
|
|
2221
|
-
this.onAnchorClick = (e10) => {
|
|
2222
|
-
if (this.navigate) {
|
|
2223
|
-
this.navigate(e10);
|
|
2224
|
-
this.setActiveState();
|
|
2225
|
-
}
|
|
2226
|
-
};
|
|
2227
|
-
this.handleClientChange = (e10) => {
|
|
2228
|
-
const combobox = e10.target;
|
|
2229
|
-
const selectedClientKey = combobox.value?.[0];
|
|
2230
|
-
if (selectedClientKey && this.onClientChange) {
|
|
2231
|
-
this.onClientChange(selectedClientKey);
|
|
2232
|
-
}
|
|
2233
|
-
};
|
|
2234
|
-
}
|
|
2235
|
-
firstUpdated() {
|
|
2236
|
-
this.setActiveState();
|
|
2237
|
-
}
|
|
2238
|
-
connectedCallback() {
|
|
2239
|
-
window.addEventListener("popstate", this.setActiveState);
|
|
2240
|
-
window.addEventListener("tetris:navigate", this.setActiveState);
|
|
2241
|
-
super.connectedCallback();
|
|
2242
|
-
if (this.initialState) {
|
|
2243
|
-
this.isOpen = this.initialState === "open";
|
|
2244
|
-
}
|
|
2245
|
-
}
|
|
2246
|
-
disconnectedCallback() {
|
|
2247
|
-
window.removeEventListener("popstate", this.setActiveState);
|
|
2248
|
-
window.removeEventListener("tetris:navigate", this.setActiveState);
|
|
2249
|
-
super.disconnectedCallback();
|
|
2250
|
-
}
|
|
2251
|
-
get mappedUrlPatterns() {
|
|
2252
|
-
return Object.keys(urlMappings).map(
|
|
2253
|
-
(pattern) => new URLPattern({ pathname: pattern, baseURL: window.location.origin })
|
|
2254
|
-
);
|
|
2255
|
-
}
|
|
2256
|
-
render() {
|
|
2257
|
-
return x`
|
|
2258
|
-
<nav id=${this.id} class="${this.isOpen ? "" : "sidebar-closed"}">
|
|
2259
|
-
<div class="sidebar-header ${this.isOpen ? "" : "sidebar-closed"}">
|
|
2260
|
-
<div class="logo">
|
|
2261
|
-
${o8(tripteaseLogo)}
|
|
2262
|
-
</div>
|
|
2263
|
-
<button id="navbar-toggle-btn" class="nav-item nav-toggle-button" @click=${this.toggleSidebar}>
|
|
2264
|
-
${o8(sidebarCollapsed)}
|
|
2265
|
-
<span class="tooltip nav-toggle-tooltip">
|
|
2266
|
-
${o8(sidebarCollapsed)}
|
|
2267
|
-
<span>${this.isOpen ? x`Collapse sidebar` : x`Expand sidebar`}</span>
|
|
2268
|
-
</span>
|
|
2269
|
-
</button>
|
|
2270
|
-
</div>
|
|
2271
|
-
|
|
2272
|
-
<div class="nav-items ${this.isOpen ? "" : "sidebar-closed"}">
|
|
2273
|
-
<a
|
|
2274
|
-
class="nav-item"
|
|
2275
|
-
href=${this.buildUrl("/")}
|
|
2276
|
-
@click=${this.onAnchorClick}
|
|
2277
|
-
data-intercom-target="dashboard"
|
|
2278
|
-
>${o8(home)}<span>Dashboard</span></a
|
|
2279
|
-
>
|
|
2280
|
-
<a id="${Routes.CampaignManager}" class="nav-item" href=${this.campaignManagerUrl}
|
|
2281
|
-
@click=${this.onAnchorClick}
|
|
2282
|
-
data-intercom-target="campaigns"
|
|
2283
|
-
>${o8(campaigns)}<span>Campaigns</span></a
|
|
2284
|
-
>
|
|
2285
|
-
<a
|
|
2286
|
-
class="nav-item"
|
|
2287
|
-
href=${this.buildUrl("/$CLIENT_KEY/channels")}
|
|
2288
|
-
@click=${this.onAnchorClick}
|
|
2289
|
-
data-intercom-target="channels"
|
|
2290
|
-
>${o8(channels)}<span>Channels</span></a
|
|
2291
|
-
>
|
|
2292
|
-
<details id="market-insights" @toggle=${this.handleDetailsToggle} data-intercom-target="market-insights">
|
|
2293
|
-
<summary>
|
|
2294
|
-
${o8(graph)}
|
|
2295
|
-
<span>Market Insights</span>
|
|
2296
|
-
<span class="icon chevron"> ${o8(chevronDown)}</span>
|
|
2297
|
-
</summary>
|
|
2298
|
-
<div class="dropdown-items">
|
|
2299
|
-
<a
|
|
2300
|
-
class="sub-nav-item"
|
|
2301
|
-
href=${this.buildUrl("/parity/$CLIENT_KEY")}
|
|
2302
|
-
@click=${this.onAnchorClick}
|
|
2303
|
-
data-intercom-target="parity-monitoring"
|
|
2304
|
-
>Parity monitoring</a
|
|
2305
|
-
>
|
|
2306
|
-
<a
|
|
2307
|
-
class="sub-nav-item"
|
|
2308
|
-
href=${this.buildUrl("/$CLIENT_KEY/guest-insights")}
|
|
2309
|
-
@click=${this.onAnchorClick}
|
|
2310
|
-
data-intercom-target="guest-insights"
|
|
2311
|
-
>Guest insights</a
|
|
2312
|
-
>
|
|
2313
|
-
</div>
|
|
2314
|
-
</details>
|
|
2315
|
-
<details id="settings" @toggle=${this.handleDetailsToggle} data-intercom-target="settings">
|
|
2316
|
-
<summary>
|
|
2317
|
-
${o8(gear)}
|
|
2318
|
-
<span>Settings</span>
|
|
2319
|
-
<span class="icon chevron"> ${o8(chevronDown)}</span>
|
|
2320
|
-
</summary>
|
|
2321
|
-
<div class="dropdown-items">
|
|
2322
|
-
<a
|
|
2323
|
-
class="sub-nav-item"
|
|
2324
|
-
href=${this.buildUrl("/$CLIENT_KEY/guest-behavioural-data")}
|
|
2325
|
-
@click=${this.onAnchorClick}
|
|
2326
|
-
data-intercom-target="email-setup"
|
|
2327
|
-
>Email setup</a
|
|
2328
|
-
>
|
|
2329
|
-
<a
|
|
2330
|
-
class="sub-nav-item"
|
|
2331
|
-
href=${this.buildUrl("/$CLIENT_KEY/crm-config")}
|
|
2332
|
-
@click=${this.onAnchorClick}
|
|
2333
|
-
data-intercom-target="crm-connectivity"
|
|
2334
|
-
>CRM connectivity</a
|
|
2335
|
-
>
|
|
2336
|
-
<a
|
|
2337
|
-
class="sub-nav-item"
|
|
2338
|
-
href=${this.buildUrl("/$CLIENT_KEY/settings/guides")}
|
|
2339
|
-
@click=${this.onAnchorClick}
|
|
2340
|
-
data-intercom-target="group-settings"
|
|
2341
|
-
>Group settings</a
|
|
2342
|
-
>
|
|
2343
|
-
<a
|
|
2344
|
-
class="sub-nav-item"
|
|
2345
|
-
href=${this.buildUrl("/$CLIENT_KEY/settings/hotels")}
|
|
2346
|
-
@click=${this.onAnchorClick}
|
|
2347
|
-
data-intercom-target="property-settings"
|
|
2348
|
-
>Property settings</a
|
|
2349
|
-
>
|
|
2350
|
-
</div>
|
|
2351
|
-
</details>
|
|
2352
|
-
<hr />
|
|
2353
|
-
<details id="account" @toggle=${this.handleDetailsToggle} data-intercom-target="account">
|
|
2354
|
-
<summary>
|
|
2355
|
-
${o8(user)}
|
|
2356
|
-
<span>Account</span>
|
|
2357
|
-
<span class="icon chevron"> ${o8(chevronDown)}</span>
|
|
2358
|
-
</summary>
|
|
2359
|
-
<div class="dropdown-items">
|
|
2360
|
-
<a
|
|
2361
|
-
class="sub-nav-item"
|
|
2362
|
-
href=${this.buildUrl("/account")}
|
|
2363
|
-
@click=${this.onAnchorClick}
|
|
2364
|
-
data-intercom-target="user-settings"
|
|
2365
|
-
>User settings</a
|
|
2366
|
-
>
|
|
2367
|
-
<!-- TODO: Change to /$CLIENT_KEY/account/team when the change in Tetris is ready -->
|
|
2368
|
-
<a
|
|
2369
|
-
class="sub-nav-item"
|
|
2370
|
-
href=${this.buildUrl("/account/team/$CLIENT_KEY")}
|
|
2371
|
-
@click=${this.onAnchorClick}
|
|
2372
|
-
data-intercom-target="team-permissions"
|
|
2373
|
-
>Team and permissions</a
|
|
2374
|
-
>
|
|
2375
|
-
</div>
|
|
2376
|
-
</details>
|
|
2377
|
-
<details id="billing-routes" @toggle=${this.handleDetailsToggle} data-intercom-target="billing">
|
|
2378
|
-
<summary>
|
|
2379
|
-
${o8(wallet)}
|
|
2380
|
-
<span>Billing</span>
|
|
2381
|
-
<span class="icon chevron"> ${o8(chevronDown)}</span>
|
|
2382
|
-
</summary>
|
|
2383
|
-
<div>
|
|
2384
|
-
<!-- TODO: Change to /$CLIENT_KEY/account/billing-management when the change in Tetris is ready -->
|
|
2385
|
-
<a
|
|
2386
|
-
class="sub-nav-item"
|
|
2387
|
-
href=${this.buildUrl("/account/billing-management/$CLIENT_KEY")}
|
|
2388
|
-
@click=${this.onAnchorClick}
|
|
2389
|
-
data-intercom-target="booking-reconciliation"
|
|
2390
|
-
>Booking reconciliation</a
|
|
2391
|
-
>
|
|
2392
|
-
<!-- TODO: Change to /$CLIENT_KEY/subscriptions when the change in Tetris is ready -->
|
|
2393
|
-
<a
|
|
2394
|
-
class="sub-nav-item"
|
|
2395
|
-
href=${this.buildUrl("/subscriptions/$CLIENT_KEY")}
|
|
2396
|
-
@click=${this.onAnchorClick}
|
|
2397
|
-
data-intercom-target="subscriptions"
|
|
2398
|
-
>Subscriptions</a
|
|
2399
|
-
>
|
|
2400
|
-
</div>
|
|
2401
|
-
</details>
|
|
2402
|
-
</div>
|
|
2403
|
-
<div class="tertiary-nav ${this.isOpen ? "" : "sidebar-closed"}">
|
|
2404
|
-
<div id="external-links" class="nav-items">
|
|
2405
|
-
<a
|
|
2406
|
-
class="nav-item external-link"
|
|
2407
|
-
href='https://triptease.canny.io/feature-requests'
|
|
2408
|
-
target="_blank"
|
|
2409
|
-
rel="noreferrer"
|
|
2410
|
-
>
|
|
2411
|
-
Feature requests
|
|
2412
|
-
${o8(external)}
|
|
2413
|
-
</a>
|
|
2414
|
-
<a
|
|
2415
|
-
class='nav-item external-link'
|
|
2416
|
-
href='https://triptease.canny.io/changelog'
|
|
2417
|
-
target="_blank"
|
|
2418
|
-
rel="noreferrer"
|
|
2419
|
-
>
|
|
2420
|
-
Product updates
|
|
2421
|
-
${o8(external)}
|
|
2422
|
-
</a>
|
|
2423
|
-
<a
|
|
2424
|
-
class='nav-item external-link'
|
|
2425
|
-
href='https://help.triptease.com/'
|
|
2426
|
-
target="_blank"
|
|
2427
|
-
rel="noreferrer"
|
|
2428
|
-
>
|
|
2429
|
-
Help center
|
|
2430
|
-
${o8(external)}
|
|
2431
|
-
</a>
|
|
2432
|
-
<hr />
|
|
2433
|
-
</div>
|
|
2434
|
-
<div class='nav-items'>
|
|
2435
|
-
<div id="client-selector">
|
|
2436
|
-
${this.clients.length > 1 ? x`
|
|
2437
|
-
<tt-combobox
|
|
2438
|
-
.openUpward=${true}
|
|
2439
|
-
.value=${this.clientKey ? [this.clientKey] : []}
|
|
2440
|
-
@change=${this.handleClientChange}
|
|
2441
|
-
>
|
|
2442
|
-
${this.clients.map(
|
|
2443
|
-
(client) => x`
|
|
2444
|
-
<option slot="option" value=${client.clientKey}>${client.displayName}</option>
|
|
2445
|
-
`
|
|
2446
|
-
)}
|
|
2447
|
-
</tt-combobox>
|
|
2448
|
-
` : x`
|
|
2449
|
-
<div class="single-client-name">
|
|
2450
|
-
${this.clients.find((m3) => m3.clientKey === this.clientKey)?.displayName}
|
|
2451
|
-
</div>
|
|
2452
|
-
`}
|
|
2453
|
-
</div>
|
|
2454
|
-
<a
|
|
2455
|
-
id="logout-link"
|
|
2456
|
-
class="nav-item"
|
|
2457
|
-
href=${this.buildUrl("/logout")}
|
|
2458
|
-
@click=${this.onAnchorClick}
|
|
2459
|
-
data-intercom-target="logout"
|
|
2460
|
-
>${o8(logout)}<span>Logout</span></a>
|
|
2461
|
-
</div>
|
|
2462
|
-
</nav>
|
|
2463
|
-
`;
|
|
2464
|
-
}
|
|
2465
|
-
};
|
|
2466
|
-
TtNavbar.styles = styles3;
|
|
2467
|
-
__decorateClass([
|
|
2468
|
-
n4({ type: Function })
|
|
2469
|
-
], TtNavbar.prototype, "navigate", 2);
|
|
2470
|
-
__decorateClass([
|
|
2471
|
-
n4({ type: String, attribute: "campaign-manager-url" })
|
|
2472
|
-
], TtNavbar.prototype, "campaignManagerUrl", 2);
|
|
2473
|
-
__decorateClass([
|
|
2474
|
-
n4({ type: String, attribute: "platform-url" })
|
|
2475
|
-
], TtNavbar.prototype, "platformUrl", 2);
|
|
2476
|
-
__decorateClass([
|
|
2477
|
-
n4({ type: String, attribute: "client-key" })
|
|
2478
|
-
], TtNavbar.prototype, "clientKey", 2);
|
|
2479
|
-
__decorateClass([
|
|
2480
|
-
n4({ type: String, attribute: "active-route" })
|
|
2481
|
-
], TtNavbar.prototype, "activeRoute", 2);
|
|
2482
|
-
__decorateClass([
|
|
2483
|
-
n4({ type: Array, converter: jsonArrayConverter })
|
|
2484
|
-
], TtNavbar.prototype, "clients", 2);
|
|
2485
|
-
__decorateClass([
|
|
2486
|
-
n4({ type: String, attribute: "initial-state" })
|
|
2487
|
-
], TtNavbar.prototype, "initialState", 2);
|
|
2488
|
-
__decorateClass([
|
|
2489
|
-
r5()
|
|
2490
|
-
], TtNavbar.prototype, "isOpen", 2);
|
|
2491
|
-
__decorateClass([
|
|
2492
|
-
n4({ type: Object })
|
|
2493
|
-
], TtNavbar.prototype, "onClientChange", 2);
|
|
2494
|
-
__decorateClass([
|
|
2495
|
-
r6("details")
|
|
2496
|
-
], TtNavbar.prototype, "allDetailsElements", 2);
|
|
2497
|
-
__decorateClass([
|
|
2498
|
-
r6("a")
|
|
2499
|
-
], TtNavbar.prototype, "allNavLinks", 2);
|
|
2500
|
-
__decorateClass([
|
|
2501
|
-
e5(`a#${Routes.CampaignManager}`)
|
|
2502
|
-
], TtNavbar.prototype, "campaignManagerLink", 2);
|
|
2503
|
-
|
|
2504
|
-
// src/tt-navbar.ts
|
|
2505
|
-
if (typeof window !== "undefined") {
|
|
2506
|
-
if (!window.customElements.get("tt-navbar")) {
|
|
2507
|
-
window.customElements.define("tt-navbar", TtNavbar);
|
|
2508
|
-
}
|
|
2509
|
-
}
|
|
2510
|
-
/*! Bundled license information:
|
|
2511
|
-
|
|
2512
|
-
@lit/reactive-element/css-tag.js:
|
|
2513
|
-
(**
|
|
2514
|
-
* @license
|
|
2515
|
-
* Copyright 2019 Google LLC
|
|
2516
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
2517
|
-
*)
|
|
2518
|
-
|
|
2519
|
-
@lit/reactive-element/reactive-element.js:
|
|
2520
|
-
lit-html/lit-html.js:
|
|
2521
|
-
lit-element/lit-element.js:
|
|
2522
|
-
@lit/reactive-element/decorators/custom-element.js:
|
|
2523
|
-
@lit/reactive-element/decorators/property.js:
|
|
2524
|
-
@lit/reactive-element/decorators/state.js:
|
|
2525
|
-
@lit/reactive-element/decorators/event-options.js:
|
|
2526
|
-
@lit/reactive-element/decorators/base.js:
|
|
2527
|
-
@lit/reactive-element/decorators/query.js:
|
|
2528
|
-
@lit/reactive-element/decorators/query-all.js:
|
|
2529
|
-
@lit/reactive-element/decorators/query-async.js:
|
|
2530
|
-
@lit/reactive-element/decorators/query-assigned-nodes.js:
|
|
2531
|
-
lit-html/directive.js:
|
|
2532
|
-
lit-html/directives/unsafe-html.js:
|
|
2533
|
-
lit-html/directives/unsafe-svg.js:
|
|
2534
|
-
lit-html/directives/repeat.js:
|
|
2535
|
-
(**
|
|
2536
|
-
* @license
|
|
2537
|
-
* Copyright 2017 Google LLC
|
|
2538
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
2539
|
-
*)
|
|
2540
|
-
|
|
2541
|
-
lit-html/is-server.js:
|
|
2542
|
-
(**
|
|
2543
|
-
* @license
|
|
2544
|
-
* Copyright 2022 Google LLC
|
|
2545
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
2546
|
-
*)
|
|
2547
|
-
|
|
2548
|
-
@lit/reactive-element/decorators/query-assigned-elements.js:
|
|
2549
|
-
(**
|
|
2550
|
-
* @license
|
|
2551
|
-
* Copyright 2021 Google LLC
|
|
2552
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
2553
|
-
*)
|
|
2554
|
-
|
|
2555
|
-
lit-html/directives/if-defined.js:
|
|
2556
|
-
lit-html/directives/guard.js:
|
|
2557
|
-
(**
|
|
2558
|
-
* @license
|
|
2559
|
-
* Copyright 2018 Google LLC
|
|
2560
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
2561
|
-
*)
|
|
2562
|
-
|
|
2563
|
-
lit-html/directive-helpers.js:
|
|
2564
|
-
(**
|
|
2565
|
-
* @license
|
|
2566
|
-
* Copyright 2020 Google LLC
|
|
2567
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
2568
|
-
*)
|
|
2569
|
-
*/
|
|
2570
|
-
//# sourceMappingURL=tt-navbar.js.map
|