@webwriter/quiz 1.0.2 → 1.0.4

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.
Files changed (45) hide show
  1. package/LICENSE +6 -6
  2. package/custom.d.ts +175 -175
  3. package/dist/widgets/webwriter-choice-item.js +3257 -59
  4. package/dist/widgets/webwriter-choice.js +4941 -79
  5. package/dist/widgets/webwriter-cloze-gap.js +4092 -179
  6. package/dist/widgets/webwriter-cloze.js +2415 -36
  7. package/dist/widgets/webwriter-mark.js +2471 -61
  8. package/dist/widgets/webwriter-order-item.js +2447 -68
  9. package/dist/widgets/webwriter-order.js +4990 -135
  10. package/dist/widgets/webwriter-pairing-item.js +1581 -48
  11. package/dist/widgets/webwriter-pairing.js +3686 -72
  12. package/dist/widgets/webwriter-quiz.js +6938 -76
  13. package/dist/widgets/webwriter-speech.js +6265 -76
  14. package/dist/widgets/webwriter-task-explainer.js +1564 -31
  15. package/dist/widgets/webwriter-task-hint.js +1523 -28
  16. package/dist/widgets/webwriter-task-prompt.js +1586 -29
  17. package/dist/widgets/webwriter-task.js +7132 -101
  18. package/dist/widgets/webwriter-text.js +4044 -54
  19. package/package.json +200 -200
  20. package/src/lib/combobox.ts +455 -455
  21. package/src/snippets/choice.html +7 -7
  22. package/src/snippets/cloze.html +3 -3
  23. package/src/snippets/mark.html +3 -3
  24. package/src/snippets/order.html +7 -7
  25. package/src/snippets/pairing.html +9 -9
  26. package/src/snippets/speech.html +3 -3
  27. package/src/snippets/text.html +3 -3
  28. package/src/snippets/wordsearch.html +3 -3
  29. package/src/widgets/webwriter-choice-item.ts +250 -250
  30. package/src/widgets/webwriter-choice.ts +309 -309
  31. package/src/widgets/webwriter-cloze-gap.ts +216 -216
  32. package/src/widgets/webwriter-cloze.ts +135 -135
  33. package/src/widgets/webwriter-mark.ts +434 -434
  34. package/src/widgets/webwriter-order-item.ts +444 -444
  35. package/src/widgets/webwriter-order.ts +272 -272
  36. package/src/widgets/webwriter-pairing-item.ts +155 -155
  37. package/src/widgets/webwriter-pairing.ts +187 -187
  38. package/src/widgets/webwriter-quiz.ts +280 -280
  39. package/src/widgets/webwriter-speech.ts +267 -267
  40. package/src/widgets/webwriter-task-explainer.ts +37 -37
  41. package/src/widgets/webwriter-task-hint.ts +16 -16
  42. package/src/widgets/webwriter-task-prompt.ts +17 -17
  43. package/src/widgets/webwriter-task.ts +543 -543
  44. package/src/widgets/webwriter-text.ts +130 -130
  45. package/tsconfig.json +6 -6
@@ -13,108 +13,3759 @@ var __expectFn = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError
13
13
  var __decoratorContext = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError("Already initialized") : fns.push(__expectFn(fn || null)) });
14
14
  var __decoratorMetadata = (array, target) => __defNormalProp(target, __knownSymbol("metadata"), array[3]);
15
15
  var __runInitializers = (array, flags, self, value) => {
16
- for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
16
+ for (var i4 = 0, fns = array[flags >> 1], n6 = fns && fns.length; i4 < n6; i4++) flags & 1 ? fns[i4].call(self) : value = fns[i4].call(self, value);
17
17
  return value;
18
18
  };
19
19
  var __decorateElement = (array, flags, name, decorators, target, extra) => {
20
- var fn, it, done, ctx, access, k = flags & 7, s = !!(flags & 8), p = !!(flags & 16);
21
- var j = k > 3 ? array.length + 1 : k ? s ? 1 : 2 : 0, key = __decoratorStrings[k + 5];
22
- var initializers = k > 3 && (array[j - 1] = []), extraInitializers = array[j] || (array[j] = []);
23
- var desc = k && (!p && !s && (target = target.prototype), k < 5 && (k > 3 || !p) && __getOwnPropDesc(k < 4 ? target : { get [name]() {
20
+ var fn, it, done, ctx, access, k3 = flags & 7, s3 = !!(flags & 8), p3 = !!(flags & 16);
21
+ var j3 = k3 > 3 ? array.length + 1 : k3 ? s3 ? 1 : 2 : 0, key = __decoratorStrings[k3 + 5];
22
+ var initializers = k3 > 3 && (array[j3 - 1] = []), extraInitializers = array[j3] || (array[j3] = []);
23
+ var desc = k3 && (!p3 && !s3 && (target = target.prototype), k3 < 5 && (k3 > 3 || !p3) && __getOwnPropDesc(k3 < 4 ? target : { get [name]() {
24
24
  return __privateGet(this, extra);
25
- }, set [name](x) {
26
- return __privateSet(this, extra, x);
25
+ }, set [name](x3) {
26
+ return __privateSet(this, extra, x3);
27
27
  } }, name));
28
- k ? p && k < 4 && __name(extra, (k > 2 ? "set " : k > 1 ? "get " : "") + name) : __name(target, name);
29
- for (var i = decorators.length - 1; i >= 0; i--) {
30
- ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);
31
- if (k) {
32
- ctx.static = s, ctx.private = p, access = ctx.access = { has: p ? (x) => __privateIn(target, x) : (x) => name in x };
33
- if (k ^ 3) access.get = p ? (x) => (k ^ 1 ? __privateGet : __privateMethod)(x, target, k ^ 4 ? extra : desc.get) : (x) => x[name];
34
- if (k > 2) access.set = p ? (x, y) => __privateSet(x, target, y, k ^ 4 ? extra : desc.set) : (x, y) => x[name] = y;
35
- }
36
- it = (0, decorators[i])(k ? k < 4 ? p ? extra : desc[key] : k > 4 ? void 0 : { get: desc.get, set: desc.set } : target, ctx), done._ = 1;
37
- if (k ^ 4 || it === void 0) __expectFn(it) && (k > 4 ? initializers.unshift(it) : k ? p ? extra = it : desc[key] = it : target = it);
28
+ k3 ? p3 && k3 < 4 && __name(extra, (k3 > 2 ? "set " : k3 > 1 ? "get " : "") + name) : __name(target, name);
29
+ for (var i4 = decorators.length - 1; i4 >= 0; i4--) {
30
+ ctx = __decoratorContext(k3, name, done = {}, array[3], extraInitializers);
31
+ if (k3) {
32
+ ctx.static = s3, ctx.private = p3, access = ctx.access = { has: p3 ? (x3) => __privateIn(target, x3) : (x3) => name in x3 };
33
+ if (k3 ^ 3) access.get = p3 ? (x3) => (k3 ^ 1 ? __privateGet : __privateMethod)(x3, target, k3 ^ 4 ? extra : desc.get) : (x3) => x3[name];
34
+ if (k3 > 2) access.set = p3 ? (x3, y3) => __privateSet(x3, target, y3, k3 ^ 4 ? extra : desc.set) : (x3, y3) => x3[name] = y3;
35
+ }
36
+ it = (0, decorators[i4])(k3 ? k3 < 4 ? p3 ? extra : desc[key] : k3 > 4 ? void 0 : { get: desc.get, set: desc.set } : target, ctx), done._ = 1;
37
+ if (k3 ^ 4 || it === void 0) __expectFn(it) && (k3 > 4 ? initializers.unshift(it) : k3 ? p3 ? extra = it : desc[key] = it : target = it);
38
38
  else if (typeof it !== "object" || it === null) __typeError("Object expected");
39
39
  else __expectFn(fn = it.get) && (desc.get = fn), __expectFn(fn = it.set) && (desc.set = fn), __expectFn(fn = it.init) && initializers.unshift(fn);
40
40
  }
41
- return k || __decoratorMetadata(array, target), desc && __defProp(target, name, desc), p ? k ^ 4 ? extra : desc : target;
41
+ return k3 || __decoratorMetadata(array, target), desc && __defProp(target, name, desc), p3 ? k3 ^ 4 ? extra : desc : target;
42
+ };
43
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
44
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
45
+ var __privateIn = (member, obj) => Object(obj) !== obj ? __typeError('Cannot use the "in" operator on this value') : member.has(obj);
46
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
47
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
48
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
49
+ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
50
+
51
+ // ../../node_modules/lit/node_modules/@lit/reactive-element/css-tag.js
52
+ var t = globalThis;
53
+ var e = t.ShadowRoot && (void 0 === t.ShadyCSS || t.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype;
54
+ var s = Symbol();
55
+ var o = /* @__PURE__ */ new WeakMap();
56
+ var n = class {
57
+ constructor(t5, e7, o6) {
58
+ if (this._$cssResult$ = true, o6 !== s) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
59
+ this.cssText = t5, this.t = e7;
60
+ }
61
+ get styleSheet() {
62
+ let t5 = this.o;
63
+ const s3 = this.t;
64
+ if (e && void 0 === t5) {
65
+ const e7 = void 0 !== s3 && 1 === s3.length;
66
+ e7 && (t5 = o.get(s3)), void 0 === t5 && ((this.o = t5 = new CSSStyleSheet()).replaceSync(this.cssText), e7 && o.set(s3, t5));
67
+ }
68
+ return t5;
69
+ }
70
+ toString() {
71
+ return this.cssText;
72
+ }
73
+ };
74
+ var r = (t5) => new n("string" == typeof t5 ? t5 : t5 + "", void 0, s);
75
+ var i = (t5, ...e7) => {
76
+ const o6 = 1 === t5.length ? t5[0] : e7.reduce((e8, s3, o7) => e8 + ((t6) => {
77
+ if (true === t6._$cssResult$) return t6.cssText;
78
+ if ("number" == typeof t6) return t6;
79
+ throw Error("Value passed to 'css' function must be a 'css' function result: " + t6 + ". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.");
80
+ })(s3) + t5[o7 + 1], t5[0]);
81
+ return new n(o6, t5, s);
82
+ };
83
+ var S = (s3, o6) => {
84
+ if (e) s3.adoptedStyleSheets = o6.map((t5) => t5 instanceof CSSStyleSheet ? t5 : t5.styleSheet);
85
+ else for (const e7 of o6) {
86
+ const o7 = document.createElement("style"), n6 = t.litNonce;
87
+ void 0 !== n6 && o7.setAttribute("nonce", n6), o7.textContent = e7.cssText, s3.appendChild(o7);
88
+ }
89
+ };
90
+ var c = e ? (t5) => t5 : (t5) => t5 instanceof CSSStyleSheet ? ((t6) => {
91
+ let e7 = "";
92
+ for (const s3 of t6.cssRules) e7 += s3.cssText;
93
+ return r(e7);
94
+ })(t5) : t5;
95
+
96
+ // ../../node_modules/lit/node_modules/@lit/reactive-element/reactive-element.js
97
+ var { is: i2, defineProperty: e2, getOwnPropertyDescriptor: r2, getOwnPropertyNames: h, getOwnPropertySymbols: o2, getPrototypeOf: n2 } = Object;
98
+ var a = globalThis;
99
+ var c2 = a.trustedTypes;
100
+ var l = c2 ? c2.emptyScript : "";
101
+ var p = a.reactiveElementPolyfillSupport;
102
+ var d = (t5, s3) => t5;
103
+ var u = { toAttribute(t5, s3) {
104
+ switch (s3) {
105
+ case Boolean:
106
+ t5 = t5 ? l : null;
107
+ break;
108
+ case Object:
109
+ case Array:
110
+ t5 = null == t5 ? t5 : JSON.stringify(t5);
111
+ }
112
+ return t5;
113
+ }, fromAttribute(t5, s3) {
114
+ let i4 = t5;
115
+ switch (s3) {
116
+ case Boolean:
117
+ i4 = null !== t5;
118
+ break;
119
+ case Number:
120
+ i4 = null === t5 ? null : Number(t5);
121
+ break;
122
+ case Object:
123
+ case Array:
124
+ try {
125
+ i4 = JSON.parse(t5);
126
+ } catch (t6) {
127
+ i4 = null;
128
+ }
129
+ }
130
+ return i4;
131
+ } };
132
+ var f = (t5, s3) => !i2(t5, s3);
133
+ var y = { attribute: true, type: String, converter: u, reflect: false, hasChanged: f };
134
+ Symbol.metadata ??= Symbol("metadata"), a.litPropertyMetadata ??= /* @__PURE__ */ new WeakMap();
135
+ var b = class extends HTMLElement {
136
+ static addInitializer(t5) {
137
+ this._$Ei(), (this.l ??= []).push(t5);
138
+ }
139
+ static get observedAttributes() {
140
+ return this.finalize(), this._$Eh && [...this._$Eh.keys()];
141
+ }
142
+ static createProperty(t5, s3 = y) {
143
+ if (s3.state && (s3.attribute = false), this._$Ei(), this.elementProperties.set(t5, s3), !s3.noAccessor) {
144
+ const i4 = Symbol(), r6 = this.getPropertyDescriptor(t5, i4, s3);
145
+ void 0 !== r6 && e2(this.prototype, t5, r6);
146
+ }
147
+ }
148
+ static getPropertyDescriptor(t5, s3, i4) {
149
+ const { get: e7, set: h5 } = r2(this.prototype, t5) ?? { get() {
150
+ return this[s3];
151
+ }, set(t6) {
152
+ this[s3] = t6;
153
+ } };
154
+ return { get() {
155
+ return e7?.call(this);
156
+ }, set(s4) {
157
+ const r6 = e7?.call(this);
158
+ h5.call(this, s4), this.requestUpdate(t5, r6, i4);
159
+ }, configurable: true, enumerable: true };
160
+ }
161
+ static getPropertyOptions(t5) {
162
+ return this.elementProperties.get(t5) ?? y;
163
+ }
164
+ static _$Ei() {
165
+ if (this.hasOwnProperty(d("elementProperties"))) return;
166
+ const t5 = n2(this);
167
+ t5.finalize(), void 0 !== t5.l && (this.l = [...t5.l]), this.elementProperties = new Map(t5.elementProperties);
168
+ }
169
+ static finalize() {
170
+ if (this.hasOwnProperty(d("finalized"))) return;
171
+ if (this.finalized = true, this._$Ei(), this.hasOwnProperty(d("properties"))) {
172
+ const t6 = this.properties, s3 = [...h(t6), ...o2(t6)];
173
+ for (const i4 of s3) this.createProperty(i4, t6[i4]);
174
+ }
175
+ const t5 = this[Symbol.metadata];
176
+ if (null !== t5) {
177
+ const s3 = litPropertyMetadata.get(t5);
178
+ if (void 0 !== s3) for (const [t6, i4] of s3) this.elementProperties.set(t6, i4);
179
+ }
180
+ this._$Eh = /* @__PURE__ */ new Map();
181
+ for (const [t6, s3] of this.elementProperties) {
182
+ const i4 = this._$Eu(t6, s3);
183
+ void 0 !== i4 && this._$Eh.set(i4, t6);
184
+ }
185
+ this.elementStyles = this.finalizeStyles(this.styles);
186
+ }
187
+ static finalizeStyles(s3) {
188
+ const i4 = [];
189
+ if (Array.isArray(s3)) {
190
+ const e7 = new Set(s3.flat(1 / 0).reverse());
191
+ for (const s4 of e7) i4.unshift(c(s4));
192
+ } else void 0 !== s3 && i4.push(c(s3));
193
+ return i4;
194
+ }
195
+ static _$Eu(t5, s3) {
196
+ const i4 = s3.attribute;
197
+ return false === i4 ? void 0 : "string" == typeof i4 ? i4 : "string" == typeof t5 ? t5.toLowerCase() : void 0;
198
+ }
199
+ constructor() {
200
+ super(), this._$Ep = void 0, this.isUpdatePending = false, this.hasUpdated = false, this._$Em = null, this._$Ev();
201
+ }
202
+ _$Ev() {
203
+ this._$ES = new Promise((t5) => this.enableUpdating = t5), this._$AL = /* @__PURE__ */ new Map(), this._$E_(), this.requestUpdate(), this.constructor.l?.forEach((t5) => t5(this));
204
+ }
205
+ addController(t5) {
206
+ (this._$EO ??= /* @__PURE__ */ new Set()).add(t5), void 0 !== this.renderRoot && this.isConnected && t5.hostConnected?.();
207
+ }
208
+ removeController(t5) {
209
+ this._$EO?.delete(t5);
210
+ }
211
+ _$E_() {
212
+ const t5 = /* @__PURE__ */ new Map(), s3 = this.constructor.elementProperties;
213
+ for (const i4 of s3.keys()) this.hasOwnProperty(i4) && (t5.set(i4, this[i4]), delete this[i4]);
214
+ t5.size > 0 && (this._$Ep = t5);
215
+ }
216
+ createRenderRoot() {
217
+ const t5 = this.shadowRoot ?? this.attachShadow(this.constructor.shadowRootOptions);
218
+ return S(t5, this.constructor.elementStyles), t5;
219
+ }
220
+ connectedCallback() {
221
+ this.renderRoot ??= this.createRenderRoot(), this.enableUpdating(true), this._$EO?.forEach((t5) => t5.hostConnected?.());
222
+ }
223
+ enableUpdating(t5) {
224
+ }
225
+ disconnectedCallback() {
226
+ this._$EO?.forEach((t5) => t5.hostDisconnected?.());
227
+ }
228
+ attributeChangedCallback(t5, s3, i4) {
229
+ this._$AK(t5, i4);
230
+ }
231
+ _$EC(t5, s3) {
232
+ const i4 = this.constructor.elementProperties.get(t5), e7 = this.constructor._$Eu(t5, i4);
233
+ if (void 0 !== e7 && true === i4.reflect) {
234
+ const r6 = (void 0 !== i4.converter?.toAttribute ? i4.converter : u).toAttribute(s3, i4.type);
235
+ this._$Em = t5, null == r6 ? this.removeAttribute(e7) : this.setAttribute(e7, r6), this._$Em = null;
236
+ }
237
+ }
238
+ _$AK(t5, s3) {
239
+ const i4 = this.constructor, e7 = i4._$Eh.get(t5);
240
+ if (void 0 !== e7 && this._$Em !== e7) {
241
+ const t6 = i4.getPropertyOptions(e7), r6 = "function" == typeof t6.converter ? { fromAttribute: t6.converter } : void 0 !== t6.converter?.fromAttribute ? t6.converter : u;
242
+ this._$Em = e7, this[e7] = r6.fromAttribute(s3, t6.type), this._$Em = null;
243
+ }
244
+ }
245
+ requestUpdate(t5, s3, i4) {
246
+ if (void 0 !== t5) {
247
+ if (i4 ??= this.constructor.getPropertyOptions(t5), !(i4.hasChanged ?? f)(this[t5], s3)) return;
248
+ this.P(t5, s3, i4);
249
+ }
250
+ false === this.isUpdatePending && (this._$ES = this._$ET());
251
+ }
252
+ P(t5, s3, i4) {
253
+ this._$AL.has(t5) || this._$AL.set(t5, s3), true === i4.reflect && this._$Em !== t5 && (this._$Ej ??= /* @__PURE__ */ new Set()).add(t5);
254
+ }
255
+ async _$ET() {
256
+ this.isUpdatePending = true;
257
+ try {
258
+ await this._$ES;
259
+ } catch (t6) {
260
+ Promise.reject(t6);
261
+ }
262
+ const t5 = this.scheduleUpdate();
263
+ return null != t5 && await t5, !this.isUpdatePending;
264
+ }
265
+ scheduleUpdate() {
266
+ return this.performUpdate();
267
+ }
268
+ performUpdate() {
269
+ if (!this.isUpdatePending) return;
270
+ if (!this.hasUpdated) {
271
+ if (this.renderRoot ??= this.createRenderRoot(), this._$Ep) {
272
+ for (const [t7, s4] of this._$Ep) this[t7] = s4;
273
+ this._$Ep = void 0;
274
+ }
275
+ const t6 = this.constructor.elementProperties;
276
+ if (t6.size > 0) for (const [s4, i4] of t6) true !== i4.wrapped || this._$AL.has(s4) || void 0 === this[s4] || this.P(s4, this[s4], i4);
277
+ }
278
+ let t5 = false;
279
+ const s3 = this._$AL;
280
+ try {
281
+ t5 = this.shouldUpdate(s3), t5 ? (this.willUpdate(s3), this._$EO?.forEach((t6) => t6.hostUpdate?.()), this.update(s3)) : this._$EU();
282
+ } catch (s4) {
283
+ throw t5 = false, this._$EU(), s4;
284
+ }
285
+ t5 && this._$AE(s3);
286
+ }
287
+ willUpdate(t5) {
288
+ }
289
+ _$AE(t5) {
290
+ this._$EO?.forEach((t6) => t6.hostUpdated?.()), this.hasUpdated || (this.hasUpdated = true, this.firstUpdated(t5)), this.updated(t5);
291
+ }
292
+ _$EU() {
293
+ this._$AL = /* @__PURE__ */ new Map(), this.isUpdatePending = false;
294
+ }
295
+ get updateComplete() {
296
+ return this.getUpdateComplete();
297
+ }
298
+ getUpdateComplete() {
299
+ return this._$ES;
300
+ }
301
+ shouldUpdate(t5) {
302
+ return true;
303
+ }
304
+ update(t5) {
305
+ this._$Ej &&= this._$Ej.forEach((t6) => this._$EC(t6, this[t6])), this._$EU();
306
+ }
307
+ updated(t5) {
308
+ }
309
+ firstUpdated(t5) {
310
+ }
311
+ };
312
+ b.elementStyles = [], b.shadowRootOptions = { mode: "open" }, b[d("elementProperties")] = /* @__PURE__ */ new Map(), b[d("finalized")] = /* @__PURE__ */ new Map(), p?.({ ReactiveElement: b }), (a.reactiveElementVersions ??= []).push("2.0.4");
313
+
314
+ // ../../node_modules/lit/node_modules/lit-html/lit-html.js
315
+ var n3 = globalThis;
316
+ var c3 = n3.trustedTypes;
317
+ var h2 = c3 ? c3.createPolicy("lit-html", { createHTML: (t5) => t5 }) : void 0;
318
+ var f2 = "$lit$";
319
+ var v = `lit$${Math.random().toFixed(9).slice(2)}$`;
320
+ var m = "?" + v;
321
+ var _ = `<${m}>`;
322
+ var w = document;
323
+ var lt = () => w.createComment("");
324
+ var st = (t5) => null === t5 || "object" != typeof t5 && "function" != typeof t5;
325
+ var g = Array.isArray;
326
+ var $ = (t5) => g(t5) || "function" == typeof t5?.[Symbol.iterator];
327
+ var x = "[ \n\f\r]";
328
+ var T = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g;
329
+ var E = /-->/g;
330
+ var k = />/g;
331
+ var O = RegExp(`>|${x}(?:([^\\s"'>=/]+)(${x}*=${x}*(?:[^
332
+ \f\r"'\`<>=]|("|')|))|$)`, "g");
333
+ var S2 = /'/g;
334
+ var j = /"/g;
335
+ var M = /^(?:script|style|textarea|title)$/i;
336
+ var P = (t5) => (i4, ...s3) => ({ _$litType$: t5, strings: i4, values: s3 });
337
+ var ke = P(1);
338
+ var Oe = P(2);
339
+ var Se = P(3);
340
+ var R = Symbol.for("lit-noChange");
341
+ var D = Symbol.for("lit-nothing");
342
+ var V = /* @__PURE__ */ new WeakMap();
343
+ var I = w.createTreeWalker(w, 129);
344
+ function N(t5, i4) {
345
+ if (!g(t5) || !t5.hasOwnProperty("raw")) throw Error("invalid template strings array");
346
+ return void 0 !== h2 ? h2.createHTML(i4) : i4;
347
+ }
348
+ var U = (t5, i4) => {
349
+ const s3 = t5.length - 1, e7 = [];
350
+ let h5, o6 = 2 === i4 ? "<svg>" : 3 === i4 ? "<math>" : "", n6 = T;
351
+ for (let i5 = 0; i5 < s3; i5++) {
352
+ const s4 = t5[i5];
353
+ let r6, l3, c5 = -1, a3 = 0;
354
+ for (; a3 < s4.length && (n6.lastIndex = a3, l3 = n6.exec(s4), null !== l3); ) a3 = n6.lastIndex, n6 === T ? "!--" === l3[1] ? n6 = E : void 0 !== l3[1] ? n6 = k : void 0 !== l3[2] ? (M.test(l3[2]) && (h5 = RegExp("</" + l3[2], "g")), n6 = O) : void 0 !== l3[3] && (n6 = O) : n6 === O ? ">" === l3[0] ? (n6 = h5 ?? T, c5 = -1) : void 0 === l3[1] ? c5 = -2 : (c5 = n6.lastIndex - l3[2].length, r6 = l3[1], n6 = void 0 === l3[3] ? O : '"' === l3[3] ? j : S2) : n6 === j || n6 === S2 ? n6 = O : n6 === E || n6 === k ? n6 = T : (n6 = O, h5 = void 0);
355
+ const u3 = n6 === O && t5[i5 + 1].startsWith("/>") ? " " : "";
356
+ o6 += n6 === T ? s4 + _ : c5 >= 0 ? (e7.push(r6), s4.slice(0, c5) + f2 + s4.slice(c5) + v + u3) : s4 + v + (-2 === c5 ? i5 : u3);
357
+ }
358
+ return [N(t5, o6 + (t5[s3] || "<?>") + (2 === i4 ? "</svg>" : 3 === i4 ? "</math>" : "")), e7];
359
+ };
360
+ var B = class _B2 {
361
+ constructor({ strings: t5, _$litType$: i4 }, s3) {
362
+ let e7;
363
+ this.parts = [];
364
+ let h5 = 0, o6 = 0;
365
+ const n6 = t5.length - 1, r6 = this.parts, [l3, a3] = U(t5, i4);
366
+ if (this.el = _B2.createElement(l3, s3), I.currentNode = this.el.content, 2 === i4 || 3 === i4) {
367
+ const t6 = this.el.content.firstChild;
368
+ t6.replaceWith(...t6.childNodes);
369
+ }
370
+ for (; null !== (e7 = I.nextNode()) && r6.length < n6; ) {
371
+ if (1 === e7.nodeType) {
372
+ if (e7.hasAttributes()) for (const t6 of e7.getAttributeNames()) if (t6.endsWith(f2)) {
373
+ const i5 = a3[o6++], s4 = e7.getAttribute(t6).split(v), n7 = /([.?@])?(.*)/.exec(i5);
374
+ r6.push({ type: 1, index: h5, name: n7[2], strings: s4, ctor: "." === n7[1] ? Y : "?" === n7[1] ? Z : "@" === n7[1] ? q : G }), e7.removeAttribute(t6);
375
+ } else t6.startsWith(v) && (r6.push({ type: 6, index: h5 }), e7.removeAttribute(t6));
376
+ if (M.test(e7.tagName)) {
377
+ const t6 = e7.textContent.split(v), i5 = t6.length - 1;
378
+ if (i5 > 0) {
379
+ e7.textContent = c3 ? c3.emptyScript : "";
380
+ for (let s4 = 0; s4 < i5; s4++) e7.append(t6[s4], lt()), I.nextNode(), r6.push({ type: 2, index: ++h5 });
381
+ e7.append(t6[i5], lt());
382
+ }
383
+ }
384
+ } else if (8 === e7.nodeType) if (e7.data === m) r6.push({ type: 2, index: h5 });
385
+ else {
386
+ let t6 = -1;
387
+ for (; -1 !== (t6 = e7.data.indexOf(v, t6 + 1)); ) r6.push({ type: 7, index: h5 }), t6 += v.length - 1;
388
+ }
389
+ h5++;
390
+ }
391
+ }
392
+ static createElement(t5, i4) {
393
+ const s3 = w.createElement("template");
394
+ return s3.innerHTML = t5, s3;
395
+ }
396
+ };
397
+ function z(t5, i4, s3 = t5, e7) {
398
+ if (i4 === R) return i4;
399
+ let h5 = void 0 !== e7 ? s3.o?.[e7] : s3.l;
400
+ const o6 = st(i4) ? void 0 : i4._$litDirective$;
401
+ return h5?.constructor !== o6 && (h5?._$AO?.(false), void 0 === o6 ? h5 = void 0 : (h5 = new o6(t5), h5._$AT(t5, s3, e7)), void 0 !== e7 ? (s3.o ??= [])[e7] = h5 : s3.l = h5), void 0 !== h5 && (i4 = z(t5, h5._$AS(t5, i4.values), h5, e7)), i4;
402
+ }
403
+ var F = class {
404
+ constructor(t5, i4) {
405
+ this._$AV = [], this._$AN = void 0, this._$AD = t5, this._$AM = i4;
406
+ }
407
+ get parentNode() {
408
+ return this._$AM.parentNode;
409
+ }
410
+ get _$AU() {
411
+ return this._$AM._$AU;
412
+ }
413
+ u(t5) {
414
+ const { el: { content: i4 }, parts: s3 } = this._$AD, e7 = (t5?.creationScope ?? w).importNode(i4, true);
415
+ I.currentNode = e7;
416
+ let h5 = I.nextNode(), o6 = 0, n6 = 0, r6 = s3[0];
417
+ for (; void 0 !== r6; ) {
418
+ if (o6 === r6.index) {
419
+ let i5;
420
+ 2 === r6.type ? i5 = new et(h5, h5.nextSibling, this, t5) : 1 === r6.type ? i5 = new r6.ctor(h5, r6.name, r6.strings, this, t5) : 6 === r6.type && (i5 = new K(h5, this, t5)), this._$AV.push(i5), r6 = s3[++n6];
421
+ }
422
+ o6 !== r6?.index && (h5 = I.nextNode(), o6++);
423
+ }
424
+ return I.currentNode = w, e7;
425
+ }
426
+ p(t5) {
427
+ let i4 = 0;
428
+ for (const s3 of this._$AV) void 0 !== s3 && (void 0 !== s3.strings ? (s3._$AI(t5, s3, i4), i4 += s3.strings.length - 2) : s3._$AI(t5[i4])), i4++;
429
+ }
430
+ };
431
+ var et = class _et2 {
432
+ get _$AU() {
433
+ return this._$AM?._$AU ?? this.v;
434
+ }
435
+ constructor(t5, i4, s3, e7) {
436
+ this.type = 2, this._$AH = D, this._$AN = void 0, this._$AA = t5, this._$AB = i4, this._$AM = s3, this.options = e7, this.v = e7?.isConnected ?? true;
437
+ }
438
+ get parentNode() {
439
+ let t5 = this._$AA.parentNode;
440
+ const i4 = this._$AM;
441
+ return void 0 !== i4 && 11 === t5?.nodeType && (t5 = i4.parentNode), t5;
442
+ }
443
+ get startNode() {
444
+ return this._$AA;
445
+ }
446
+ get endNode() {
447
+ return this._$AB;
448
+ }
449
+ _$AI(t5, i4 = this) {
450
+ t5 = z(this, t5, i4), st(t5) ? t5 === D || null == t5 || "" === t5 ? (this._$AH !== D && this._$AR(), this._$AH = D) : t5 !== this._$AH && t5 !== R && this._(t5) : void 0 !== t5._$litType$ ? this.$(t5) : void 0 !== t5.nodeType ? this.T(t5) : $(t5) ? this.k(t5) : this._(t5);
451
+ }
452
+ O(t5) {
453
+ return this._$AA.parentNode.insertBefore(t5, this._$AB);
454
+ }
455
+ T(t5) {
456
+ this._$AH !== t5 && (this._$AR(), this._$AH = this.O(t5));
457
+ }
458
+ _(t5) {
459
+ this._$AH !== D && st(this._$AH) ? this._$AA.nextSibling.data = t5 : this.T(w.createTextNode(t5)), this._$AH = t5;
460
+ }
461
+ $(t5) {
462
+ const { values: i4, _$litType$: s3 } = t5, e7 = "number" == typeof s3 ? this._$AC(t5) : (void 0 === s3.el && (s3.el = B.createElement(N(s3.h, s3.h[0]), this.options)), s3);
463
+ if (this._$AH?._$AD === e7) this._$AH.p(i4);
464
+ else {
465
+ const t6 = new F(e7, this), s4 = t6.u(this.options);
466
+ t6.p(i4), this.T(s4), this._$AH = t6;
467
+ }
468
+ }
469
+ _$AC(t5) {
470
+ let i4 = V.get(t5.strings);
471
+ return void 0 === i4 && V.set(t5.strings, i4 = new B(t5)), i4;
472
+ }
473
+ k(t5) {
474
+ g(this._$AH) || (this._$AH = [], this._$AR());
475
+ const i4 = this._$AH;
476
+ let s3, e7 = 0;
477
+ for (const h5 of t5) e7 === i4.length ? i4.push(s3 = new _et2(this.O(lt()), this.O(lt()), this, this.options)) : s3 = i4[e7], s3._$AI(h5), e7++;
478
+ e7 < i4.length && (this._$AR(s3 && s3._$AB.nextSibling, e7), i4.length = e7);
479
+ }
480
+ _$AR(t5 = this._$AA.nextSibling, i4) {
481
+ for (this._$AP?.(false, true, i4); t5 && t5 !== this._$AB; ) {
482
+ const i5 = t5.nextSibling;
483
+ t5.remove(), t5 = i5;
484
+ }
485
+ }
486
+ setConnected(t5) {
487
+ void 0 === this._$AM && (this.v = t5, this._$AP?.(t5));
488
+ }
489
+ };
490
+ var G = class {
491
+ get tagName() {
492
+ return this.element.tagName;
493
+ }
494
+ get _$AU() {
495
+ return this._$AM._$AU;
496
+ }
497
+ constructor(t5, i4, s3, e7, h5) {
498
+ this.type = 1, this._$AH = D, this._$AN = void 0, this.element = t5, this.name = i4, this._$AM = e7, this.options = h5, s3.length > 2 || "" !== s3[0] || "" !== s3[1] ? (this._$AH = Array(s3.length - 1).fill(new String()), this.strings = s3) : this._$AH = D;
499
+ }
500
+ _$AI(t5, i4 = this, s3, e7) {
501
+ const h5 = this.strings;
502
+ let o6 = false;
503
+ if (void 0 === h5) t5 = z(this, t5, i4, 0), o6 = !st(t5) || t5 !== this._$AH && t5 !== R, o6 && (this._$AH = t5);
504
+ else {
505
+ const e8 = t5;
506
+ let n6, r6;
507
+ for (t5 = h5[0], n6 = 0; n6 < h5.length - 1; n6++) r6 = z(this, e8[s3 + n6], i4, n6), r6 === R && (r6 = this._$AH[n6]), o6 ||= !st(r6) || r6 !== this._$AH[n6], r6 === D ? t5 = D : t5 !== D && (t5 += (r6 ?? "") + h5[n6 + 1]), this._$AH[n6] = r6;
508
+ }
509
+ o6 && !e7 && this.j(t5);
510
+ }
511
+ j(t5) {
512
+ t5 === D ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, t5 ?? "");
513
+ }
514
+ };
515
+ var Y = class extends G {
516
+ constructor() {
517
+ super(...arguments), this.type = 3;
518
+ }
519
+ j(t5) {
520
+ this.element[this.name] = t5 === D ? void 0 : t5;
521
+ }
522
+ };
523
+ var Z = class extends G {
524
+ constructor() {
525
+ super(...arguments), this.type = 4;
526
+ }
527
+ j(t5) {
528
+ this.element.toggleAttribute(this.name, !!t5 && t5 !== D);
529
+ }
530
+ };
531
+ var q = class extends G {
532
+ constructor(t5, i4, s3, e7, h5) {
533
+ super(t5, i4, s3, e7, h5), this.type = 5;
534
+ }
535
+ _$AI(t5, i4 = this) {
536
+ if ((t5 = z(this, t5, i4, 0) ?? D) === R) return;
537
+ const s3 = this._$AH, e7 = t5 === D && s3 !== D || t5.capture !== s3.capture || t5.once !== s3.once || t5.passive !== s3.passive, h5 = t5 !== D && (s3 === D || e7);
538
+ e7 && this.element.removeEventListener(this.name, this, s3), h5 && this.element.addEventListener(this.name, this, t5), this._$AH = t5;
539
+ }
540
+ handleEvent(t5) {
541
+ "function" == typeof this._$AH ? this._$AH.call(this.options?.host ?? this.element, t5) : this._$AH.handleEvent(t5);
542
+ }
543
+ };
544
+ var K = class {
545
+ constructor(t5, i4, s3) {
546
+ this.element = t5, this.type = 6, this._$AN = void 0, this._$AM = i4, this.options = s3;
547
+ }
548
+ get _$AU() {
549
+ return this._$AM._$AU;
550
+ }
551
+ _$AI(t5) {
552
+ z(this, t5);
553
+ }
554
+ };
555
+ var si = { M: f2, P: v, A: m, C: 1, L: U, R: F, D: $, V: z, I: et, H: G, N: Z, U: q, B: Y, F: K };
556
+ var Re = n3.litHtmlPolyfillSupport;
557
+ Re?.(B, et), (n3.litHtmlVersions ??= []).push("3.2.0");
558
+ var Q = (t5, i4, s3) => {
559
+ const e7 = s3?.renderBefore ?? i4;
560
+ let h5 = e7._$litPart$;
561
+ if (void 0 === h5) {
562
+ const t6 = s3?.renderBefore ?? null;
563
+ e7._$litPart$ = h5 = new et(i4.insertBefore(lt(), t6), t6, void 0, s3 ?? {});
564
+ }
565
+ return h5._$AI(t5), h5;
566
+ };
567
+
568
+ // ../../node_modules/lit/node_modules/lit-element/lit-element.js
569
+ var h3 = class extends b {
570
+ constructor() {
571
+ super(...arguments), this.renderOptions = { host: this }, this.o = void 0;
572
+ }
573
+ createRenderRoot() {
574
+ const t5 = super.createRenderRoot();
575
+ return this.renderOptions.renderBefore ??= t5.firstChild, t5;
576
+ }
577
+ update(t5) {
578
+ const e7 = this.render();
579
+ this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(t5), this.o = Q(e7, this.renderRoot, this.renderOptions);
580
+ }
581
+ connectedCallback() {
582
+ super.connectedCallback(), this.o?.setConnected(true);
583
+ }
584
+ disconnectedCallback() {
585
+ super.disconnectedCallback(), this.o?.setConnected(false);
586
+ }
587
+ render() {
588
+ return R;
589
+ }
590
+ };
591
+ h3._$litElement$ = true, h3["finalized"] = true, globalThis.litElementHydrateSupport?.({ LitElement: h3 });
592
+ var f3 = globalThis.litElementPolyfillSupport;
593
+ f3?.({ LitElement: h3 });
594
+ (globalThis.litElementVersions ??= []).push("4.1.0");
595
+
596
+ // ../lit/index.js
597
+ var __create2 = Object.create;
598
+ var __defProp2 = Object.defineProperty;
599
+ var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
600
+ var __knownSymbol2 = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
601
+ var __typeError2 = (msg) => {
602
+ throw TypeError(msg);
603
+ };
604
+ var __defNormalProp2 = (obj, key, value) => key in obj ? __defProp2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
605
+ var __name2 = (target, value) => __defProp2(target, "name", { value, configurable: true });
606
+ var __decoratorStart2 = (base) => [, , , __create2(base?.[__knownSymbol2("metadata")] ?? null)];
607
+ var __decoratorStrings2 = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
608
+ var __expectFn2 = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError2("Function expected") : fn;
609
+ var __decoratorContext2 = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings2[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError2("Already initialized") : fns.push(__expectFn2(fn || null)) });
610
+ var __decoratorMetadata2 = (array, target) => __defNormalProp2(target, __knownSymbol2("metadata"), array[3]);
611
+ var __runInitializers2 = (array, flags, self, value) => {
612
+ for (var i32 = 0, fns = array[flags >> 1], n52 = fns && fns.length; i32 < n52; i32++) flags & 1 ? fns[i32].call(self) : value = fns[i32].call(self, value);
613
+ return value;
614
+ };
615
+ var __decorateElement2 = (array, flags, name, decorators, target, extra) => {
616
+ var fn, it, done, ctx, access, k22 = flags & 7, s22 = !!(flags & 8), p22 = !!(flags & 16);
617
+ var j22 = k22 > 3 ? array.length + 1 : k22 ? s22 ? 1 : 2 : 0, key = __decoratorStrings2[k22 + 5];
618
+ var initializers = k22 > 3 && (array[j22 - 1] = []), extraInitializers = array[j22] || (array[j22] = []);
619
+ var desc = k22 && (!p22 && !s22 && (target = target.prototype), k22 < 5 && (k22 > 3 || !p22) && __getOwnPropDesc2(k22 < 4 ? target : { get [name]() {
620
+ return __privateGet2(this, extra);
621
+ }, set [name](x22) {
622
+ return __privateSet2(this, extra, x22);
623
+ } }, name));
624
+ k22 ? p22 && k22 < 4 && __name2(extra, (k22 > 2 ? "set " : k22 > 1 ? "get " : "") + name) : __name2(target, name);
625
+ for (var i32 = decorators.length - 1; i32 >= 0; i32--) {
626
+ ctx = __decoratorContext2(k22, name, done = {}, array[3], extraInitializers);
627
+ if (k22) {
628
+ ctx.static = s22, ctx.private = p22, access = ctx.access = { has: p22 ? (x22) => __privateIn2(target, x22) : (x22) => name in x22 };
629
+ if (k22 ^ 3) access.get = p22 ? (x22) => (k22 ^ 1 ? __privateGet2 : __privateMethod2)(x22, target, k22 ^ 4 ? extra : desc.get) : (x22) => x22[name];
630
+ if (k22 > 2) access.set = p22 ? (x22, y22) => __privateSet2(x22, target, y22, k22 ^ 4 ? extra : desc.set) : (x22, y22) => x22[name] = y22;
631
+ }
632
+ it = (0, decorators[i32])(k22 ? k22 < 4 ? p22 ? extra : desc[key] : k22 > 4 ? void 0 : { get: desc.get, set: desc.set } : target, ctx), done._ = 1;
633
+ if (k22 ^ 4 || it === void 0) __expectFn2(it) && (k22 > 4 ? initializers.unshift(it) : k22 ? p22 ? extra = it : desc[key] = it : target = it);
634
+ else if (typeof it !== "object" || it === null) __typeError2("Object expected");
635
+ else __expectFn2(fn = it.get) && (desc.get = fn), __expectFn2(fn = it.set) && (desc.set = fn), __expectFn2(fn = it.init) && initializers.unshift(fn);
636
+ }
637
+ return k22 || __decoratorMetadata2(array, target), desc && __defProp2(target, name, desc), p22 ? k22 ^ 4 ? extra : desc : target;
638
+ };
639
+ var __publicField2 = (obj, key, value) => __defNormalProp2(obj, typeof key !== "symbol" ? key + "" : key, value);
640
+ var __accessCheck2 = (obj, member, msg) => member.has(obj) || __typeError2("Cannot " + msg);
641
+ var __privateIn2 = (member, obj) => Object(obj) !== obj ? __typeError2('Cannot use the "in" operator on this value') : member.has(obj);
642
+ var __privateGet2 = (obj, member, getter) => (__accessCheck2(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
643
+ var __privateAdd2 = (obj, member, value) => member.has(obj) ? __typeError2("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
644
+ var __privateSet2 = (obj, member, value, setter) => (__accessCheck2(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
645
+ var __privateMethod2 = (obj, member, method) => (__accessCheck2(obj, member, "access private method"), method);
646
+ var t2 = globalThis;
647
+ var e3 = t2.ShadowRoot && (void 0 === t2.ShadyCSS || t2.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype;
648
+ var s2 = Symbol();
649
+ var o3 = /* @__PURE__ */ new WeakMap();
650
+ var n4 = class {
651
+ constructor(t22, e42, o42) {
652
+ if (this._$cssResult$ = true, o42 !== s2) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
653
+ this.cssText = t22, this.t = e42;
654
+ }
655
+ get styleSheet() {
656
+ let t22 = this.o;
657
+ const s22 = this.t;
658
+ if (e3 && void 0 === t22) {
659
+ const e42 = void 0 !== s22 && 1 === s22.length;
660
+ e42 && (t22 = o3.get(s22)), void 0 === t22 && ((this.o = t22 = new CSSStyleSheet()).replaceSync(this.cssText), e42 && o3.set(s22, t22));
661
+ }
662
+ return t22;
663
+ }
664
+ toString() {
665
+ return this.cssText;
666
+ }
667
+ };
668
+ var r3 = (t22) => new n4("string" == typeof t22 ? t22 : t22 + "", void 0, s2);
669
+ var S3 = (s22, o42) => {
670
+ if (e3) s22.adoptedStyleSheets = o42.map((t22) => t22 instanceof CSSStyleSheet ? t22 : t22.styleSheet);
671
+ else for (const e42 of o42) {
672
+ const o52 = document.createElement("style"), n52 = t2.litNonce;
673
+ void 0 !== n52 && o52.setAttribute("nonce", n52), o52.textContent = e42.cssText, s22.appendChild(o52);
674
+ }
675
+ };
676
+ var c4 = e3 ? (t22) => t22 : (t22) => t22 instanceof CSSStyleSheet ? ((t32) => {
677
+ let e42 = "";
678
+ for (const s22 of t32.cssRules) e42 += s22.cssText;
679
+ return r3(e42);
680
+ })(t22) : t22;
681
+ var { is: i22, defineProperty: e22, getOwnPropertyDescriptor: r22, getOwnPropertyNames: h4, getOwnPropertySymbols: o22, getPrototypeOf: n22 } = Object;
682
+ var a2 = globalThis;
683
+ var c22 = a2.trustedTypes;
684
+ var l2 = c22 ? c22.emptyScript : "";
685
+ var p2 = a2.reactiveElementPolyfillSupport;
686
+ var d2 = (t22, s22) => t22;
687
+ var u2 = { toAttribute(t22, s22) {
688
+ switch (s22) {
689
+ case Boolean:
690
+ t22 = t22 ? l2 : null;
691
+ break;
692
+ case Object:
693
+ case Array:
694
+ t22 = null == t22 ? t22 : JSON.stringify(t22);
695
+ }
696
+ return t22;
697
+ }, fromAttribute(t22, s22) {
698
+ let i32 = t22;
699
+ switch (s22) {
700
+ case Boolean:
701
+ i32 = null !== t22;
702
+ break;
703
+ case Number:
704
+ i32 = null === t22 ? null : Number(t22);
705
+ break;
706
+ case Object:
707
+ case Array:
708
+ try {
709
+ i32 = JSON.parse(t22);
710
+ } catch (t32) {
711
+ i32 = null;
712
+ }
713
+ }
714
+ return i32;
715
+ } };
716
+ var f4 = (t22, s22) => !i22(t22, s22);
717
+ var y2 = { attribute: true, type: String, converter: u2, reflect: false, hasChanged: f4 };
718
+ Symbol.metadata ??= Symbol("metadata"), a2.litPropertyMetadata ??= /* @__PURE__ */ new WeakMap();
719
+ var b2 = class extends HTMLElement {
720
+ static addInitializer(t22) {
721
+ this._$Ei(), (this.l ??= []).push(t22);
722
+ }
723
+ static get observedAttributes() {
724
+ return this.finalize(), this._$Eh && [...this._$Eh.keys()];
725
+ }
726
+ static createProperty(t22, s22 = y2) {
727
+ if (s22.state && (s22.attribute = false), this._$Ei(), this.elementProperties.set(t22, s22), !s22.noAccessor) {
728
+ const i32 = Symbol(), r42 = this.getPropertyDescriptor(t22, i32, s22);
729
+ void 0 !== r42 && e22(this.prototype, t22, r42);
730
+ }
731
+ }
732
+ static getPropertyDescriptor(t22, s22, i32) {
733
+ const { get: e42, set: h42 } = r22(this.prototype, t22) ?? { get() {
734
+ return this[s22];
735
+ }, set(t32) {
736
+ this[s22] = t32;
737
+ } };
738
+ return { get() {
739
+ return e42?.call(this);
740
+ }, set(s3) {
741
+ const r42 = e42?.call(this);
742
+ h42.call(this, s3), this.requestUpdate(t22, r42, i32);
743
+ }, configurable: true, enumerable: true };
744
+ }
745
+ static getPropertyOptions(t22) {
746
+ return this.elementProperties.get(t22) ?? y2;
747
+ }
748
+ static _$Ei() {
749
+ if (this.hasOwnProperty(d2("elementProperties"))) return;
750
+ const t22 = n22(this);
751
+ t22.finalize(), void 0 !== t22.l && (this.l = [...t22.l]), this.elementProperties = new Map(t22.elementProperties);
752
+ }
753
+ static finalize() {
754
+ if (this.hasOwnProperty(d2("finalized"))) return;
755
+ if (this.finalized = true, this._$Ei(), this.hasOwnProperty(d2("properties"))) {
756
+ const t32 = this.properties, s22 = [...h4(t32), ...o22(t32)];
757
+ for (const i32 of s22) this.createProperty(i32, t32[i32]);
758
+ }
759
+ const t22 = this[Symbol.metadata];
760
+ if (null !== t22) {
761
+ const s22 = litPropertyMetadata.get(t22);
762
+ if (void 0 !== s22) for (const [t32, i32] of s22) this.elementProperties.set(t32, i32);
763
+ }
764
+ this._$Eh = /* @__PURE__ */ new Map();
765
+ for (const [t32, s22] of this.elementProperties) {
766
+ const i32 = this._$Eu(t32, s22);
767
+ void 0 !== i32 && this._$Eh.set(i32, t32);
768
+ }
769
+ this.elementStyles = this.finalizeStyles(this.styles);
770
+ }
771
+ static finalizeStyles(s22) {
772
+ const i32 = [];
773
+ if (Array.isArray(s22)) {
774
+ const e42 = new Set(s22.flat(1 / 0).reverse());
775
+ for (const s3 of e42) i32.unshift(c4(s3));
776
+ } else void 0 !== s22 && i32.push(c4(s22));
777
+ return i32;
778
+ }
779
+ static _$Eu(t22, s22) {
780
+ const i32 = s22.attribute;
781
+ return false === i32 ? void 0 : "string" == typeof i32 ? i32 : "string" == typeof t22 ? t22.toLowerCase() : void 0;
782
+ }
783
+ constructor() {
784
+ super(), this._$Ep = void 0, this.isUpdatePending = false, this.hasUpdated = false, this._$Em = null, this._$Ev();
785
+ }
786
+ _$Ev() {
787
+ this._$ES = new Promise((t22) => this.enableUpdating = t22), this._$AL = /* @__PURE__ */ new Map(), this._$E_(), this.requestUpdate(), this.constructor.l?.forEach((t22) => t22(this));
788
+ }
789
+ addController(t22) {
790
+ (this._$EO ??= /* @__PURE__ */ new Set()).add(t22), void 0 !== this.renderRoot && this.isConnected && t22.hostConnected?.();
791
+ }
792
+ removeController(t22) {
793
+ this._$EO?.delete(t22);
794
+ }
795
+ _$E_() {
796
+ const t22 = /* @__PURE__ */ new Map(), s22 = this.constructor.elementProperties;
797
+ for (const i32 of s22.keys()) this.hasOwnProperty(i32) && (t22.set(i32, this[i32]), delete this[i32]);
798
+ t22.size > 0 && (this._$Ep = t22);
799
+ }
800
+ createRenderRoot() {
801
+ const t22 = this.shadowRoot ?? this.attachShadow(this.constructor.shadowRootOptions);
802
+ return S3(t22, this.constructor.elementStyles), t22;
803
+ }
804
+ connectedCallback() {
805
+ this.renderRoot ??= this.createRenderRoot(), this.enableUpdating(true), this._$EO?.forEach((t22) => t22.hostConnected?.());
806
+ }
807
+ enableUpdating(t22) {
808
+ }
809
+ disconnectedCallback() {
810
+ this._$EO?.forEach((t22) => t22.hostDisconnected?.());
811
+ }
812
+ attributeChangedCallback(t22, s22, i32) {
813
+ this._$AK(t22, i32);
814
+ }
815
+ _$EC(t22, s22) {
816
+ const i32 = this.constructor.elementProperties.get(t22), e42 = this.constructor._$Eu(t22, i32);
817
+ if (void 0 !== e42 && true === i32.reflect) {
818
+ const r42 = (void 0 !== i32.converter?.toAttribute ? i32.converter : u2).toAttribute(s22, i32.type);
819
+ this._$Em = t22, null == r42 ? this.removeAttribute(e42) : this.setAttribute(e42, r42), this._$Em = null;
820
+ }
821
+ }
822
+ _$AK(t22, s22) {
823
+ const i32 = this.constructor, e42 = i32._$Eh.get(t22);
824
+ if (void 0 !== e42 && this._$Em !== e42) {
825
+ const t32 = i32.getPropertyOptions(e42), r42 = "function" == typeof t32.converter ? { fromAttribute: t32.converter } : void 0 !== t32.converter?.fromAttribute ? t32.converter : u2;
826
+ this._$Em = e42, this[e42] = r42.fromAttribute(s22, t32.type), this._$Em = null;
827
+ }
828
+ }
829
+ requestUpdate(t22, s22, i32) {
830
+ if (void 0 !== t22) {
831
+ if (i32 ??= this.constructor.getPropertyOptions(t22), !(i32.hasChanged ?? f4)(this[t22], s22)) return;
832
+ this.P(t22, s22, i32);
833
+ }
834
+ false === this.isUpdatePending && (this._$ES = this._$ET());
835
+ }
836
+ P(t22, s22, i32) {
837
+ this._$AL.has(t22) || this._$AL.set(t22, s22), true === i32.reflect && this._$Em !== t22 && (this._$Ej ??= /* @__PURE__ */ new Set()).add(t22);
838
+ }
839
+ async _$ET() {
840
+ this.isUpdatePending = true;
841
+ try {
842
+ await this._$ES;
843
+ } catch (t32) {
844
+ Promise.reject(t32);
845
+ }
846
+ const t22 = this.scheduleUpdate();
847
+ return null != t22 && await t22, !this.isUpdatePending;
848
+ }
849
+ scheduleUpdate() {
850
+ return this.performUpdate();
851
+ }
852
+ performUpdate() {
853
+ if (!this.isUpdatePending) return;
854
+ if (!this.hasUpdated) {
855
+ if (this.renderRoot ??= this.createRenderRoot(), this._$Ep) {
856
+ for (const [t42, s3] of this._$Ep) this[t42] = s3;
857
+ this._$Ep = void 0;
858
+ }
859
+ const t32 = this.constructor.elementProperties;
860
+ if (t32.size > 0) for (const [s3, i32] of t32) true !== i32.wrapped || this._$AL.has(s3) || void 0 === this[s3] || this.P(s3, this[s3], i32);
861
+ }
862
+ let t22 = false;
863
+ const s22 = this._$AL;
864
+ try {
865
+ t22 = this.shouldUpdate(s22), t22 ? (this.willUpdate(s22), this._$EO?.forEach((t32) => t32.hostUpdate?.()), this.update(s22)) : this._$EU();
866
+ } catch (s3) {
867
+ throw t22 = false, this._$EU(), s3;
868
+ }
869
+ t22 && this._$AE(s22);
870
+ }
871
+ willUpdate(t22) {
872
+ }
873
+ _$AE(t22) {
874
+ this._$EO?.forEach((t32) => t32.hostUpdated?.()), this.hasUpdated || (this.hasUpdated = true, this.firstUpdated(t22)), this.updated(t22);
875
+ }
876
+ _$EU() {
877
+ this._$AL = /* @__PURE__ */ new Map(), this.isUpdatePending = false;
878
+ }
879
+ get updateComplete() {
880
+ return this.getUpdateComplete();
881
+ }
882
+ getUpdateComplete() {
883
+ return this._$ES;
884
+ }
885
+ shouldUpdate(t22) {
886
+ return true;
887
+ }
888
+ update(t22) {
889
+ this._$Ej &&= this._$Ej.forEach((t32) => this._$EC(t32, this[t32])), this._$EU();
890
+ }
891
+ updated(t22) {
892
+ }
893
+ firstUpdated(t22) {
894
+ }
895
+ };
896
+ b2.elementStyles = [], b2.shadowRootOptions = { mode: "open" }, b2[d2("elementProperties")] = /* @__PURE__ */ new Map(), b2[d2("finalized")] = /* @__PURE__ */ new Map(), p2?.({ ReactiveElement: b2 }), (a2.reactiveElementVersions ??= []).push("2.0.4");
897
+ var n32 = globalThis;
898
+ var c32 = n32.trustedTypes;
899
+ var h22 = c32 ? c32.createPolicy("lit-html", { createHTML: (t22) => t22 }) : void 0;
900
+ var f22 = "$lit$";
901
+ var v2 = `lit$${Math.random().toFixed(9).slice(2)}$`;
902
+ var m2 = "?" + v2;
903
+ var _2 = `<${m2}>`;
904
+ var w2 = document;
905
+ var lt2 = () => w2.createComment("");
906
+ var st2 = (t22) => null === t22 || "object" != typeof t22 && "function" != typeof t22;
907
+ var g2 = Array.isArray;
908
+ var $2 = (t22) => g2(t22) || "function" == typeof t22?.[Symbol.iterator];
909
+ var x2 = "[ \n\f\r]";
910
+ var T2 = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g;
911
+ var E2 = /-->/g;
912
+ var k2 = />/g;
913
+ var O2 = RegExp(`>|${x2}(?:([^\\s"'>=/]+)(${x2}*=${x2}*(?:[^
914
+ \f\r"'\`<>=]|("|')|))|$)`, "g");
915
+ var S22 = /'/g;
916
+ var j2 = /"/g;
917
+ var M2 = /^(?:script|style|textarea|title)$/i;
918
+ var P2 = (t22) => (i32, ...s22) => ({ _$litType$: t22, strings: i32, values: s22 });
919
+ var ke2 = P2(1);
920
+ var Oe2 = P2(2);
921
+ var Se2 = P2(3);
922
+ var R2 = Symbol.for("lit-noChange");
923
+ var D2 = Symbol.for("lit-nothing");
924
+ var V2 = /* @__PURE__ */ new WeakMap();
925
+ var I2 = w2.createTreeWalker(w2, 129);
926
+ function N2(t22, i32) {
927
+ if (!g2(t22) || !t22.hasOwnProperty("raw")) throw Error("invalid template strings array");
928
+ return void 0 !== h22 ? h22.createHTML(i32) : i32;
929
+ }
930
+ var U2 = (t22, i32) => {
931
+ const s22 = t22.length - 1, e42 = [];
932
+ let h42, o42 = 2 === i32 ? "<svg>" : 3 === i32 ? "<math>" : "", n52 = T2;
933
+ for (let i4 = 0; i4 < s22; i4++) {
934
+ const s3 = t22[i4];
935
+ let r42, l22, c42 = -1, a22 = 0;
936
+ for (; a22 < s3.length && (n52.lastIndex = a22, l22 = n52.exec(s3), null !== l22); ) a22 = n52.lastIndex, n52 === T2 ? "!--" === l22[1] ? n52 = E2 : void 0 !== l22[1] ? n52 = k2 : void 0 !== l22[2] ? (M2.test(l22[2]) && (h42 = RegExp("</" + l22[2], "g")), n52 = O2) : void 0 !== l22[3] && (n52 = O2) : n52 === O2 ? ">" === l22[0] ? (n52 = h42 ?? T2, c42 = -1) : void 0 === l22[1] ? c42 = -2 : (c42 = n52.lastIndex - l22[2].length, r42 = l22[1], n52 = void 0 === l22[3] ? O2 : '"' === l22[3] ? j2 : S22) : n52 === j2 || n52 === S22 ? n52 = O2 : n52 === E2 || n52 === k2 ? n52 = T2 : (n52 = O2, h42 = void 0);
937
+ const u22 = n52 === O2 && t22[i4 + 1].startsWith("/>") ? " " : "";
938
+ o42 += n52 === T2 ? s3 + _2 : c42 >= 0 ? (e42.push(r42), s3.slice(0, c42) + f22 + s3.slice(c42) + v2 + u22) : s3 + v2 + (-2 === c42 ? i4 : u22);
939
+ }
940
+ return [N2(t22, o42 + (t22[s22] || "<?>") + (2 === i32 ? "</svg>" : 3 === i32 ? "</math>" : "")), e42];
941
+ };
942
+ var B2 = class _B {
943
+ constructor({ strings: t22, _$litType$: i32 }, s22) {
944
+ let e42;
945
+ this.parts = [];
946
+ let h42 = 0, o42 = 0;
947
+ const n52 = t22.length - 1, r42 = this.parts, [l22, a22] = U2(t22, i32);
948
+ if (this.el = _B.createElement(l22, s22), I2.currentNode = this.el.content, 2 === i32 || 3 === i32) {
949
+ const t32 = this.el.content.firstChild;
950
+ t32.replaceWith(...t32.childNodes);
951
+ }
952
+ for (; null !== (e42 = I2.nextNode()) && r42.length < n52; ) {
953
+ if (1 === e42.nodeType) {
954
+ if (e42.hasAttributes()) for (const t32 of e42.getAttributeNames()) if (t32.endsWith(f22)) {
955
+ const i4 = a22[o42++], s3 = e42.getAttribute(t32).split(v2), n6 = /([.?@])?(.*)/.exec(i4);
956
+ r42.push({ type: 1, index: h42, name: n6[2], strings: s3, ctor: "." === n6[1] ? Y2 : "?" === n6[1] ? Z2 : "@" === n6[1] ? q2 : G2 }), e42.removeAttribute(t32);
957
+ } else t32.startsWith(v2) && (r42.push({ type: 6, index: h42 }), e42.removeAttribute(t32));
958
+ if (M2.test(e42.tagName)) {
959
+ const t32 = e42.textContent.split(v2), i4 = t32.length - 1;
960
+ if (i4 > 0) {
961
+ e42.textContent = c32 ? c32.emptyScript : "";
962
+ for (let s3 = 0; s3 < i4; s3++) e42.append(t32[s3], lt2()), I2.nextNode(), r42.push({ type: 2, index: ++h42 });
963
+ e42.append(t32[i4], lt2());
964
+ }
965
+ }
966
+ } else if (8 === e42.nodeType) if (e42.data === m2) r42.push({ type: 2, index: h42 });
967
+ else {
968
+ let t32 = -1;
969
+ for (; -1 !== (t32 = e42.data.indexOf(v2, t32 + 1)); ) r42.push({ type: 7, index: h42 }), t32 += v2.length - 1;
970
+ }
971
+ h42++;
972
+ }
973
+ }
974
+ static createElement(t22, i32) {
975
+ const s22 = w2.createElement("template");
976
+ return s22.innerHTML = t22, s22;
977
+ }
978
+ };
979
+ function z2(t22, i32, s22 = t22, e42) {
980
+ if (i32 === R2) return i32;
981
+ let h42 = void 0 !== e42 ? s22.o?.[e42] : s22.l;
982
+ const o42 = st2(i32) ? void 0 : i32._$litDirective$;
983
+ return h42?.constructor !== o42 && (h42?._$AO?.(false), void 0 === o42 ? h42 = void 0 : (h42 = new o42(t22), h42._$AT(t22, s22, e42)), void 0 !== e42 ? (s22.o ??= [])[e42] = h42 : s22.l = h42), void 0 !== h42 && (i32 = z2(t22, h42._$AS(t22, i32.values), h42, e42)), i32;
984
+ }
985
+ var F2 = class {
986
+ constructor(t22, i32) {
987
+ this._$AV = [], this._$AN = void 0, this._$AD = t22, this._$AM = i32;
988
+ }
989
+ get parentNode() {
990
+ return this._$AM.parentNode;
991
+ }
992
+ get _$AU() {
993
+ return this._$AM._$AU;
994
+ }
995
+ u(t22) {
996
+ const { el: { content: i32 }, parts: s22 } = this._$AD, e42 = (t22?.creationScope ?? w2).importNode(i32, true);
997
+ I2.currentNode = e42;
998
+ let h42 = I2.nextNode(), o42 = 0, n52 = 0, r42 = s22[0];
999
+ for (; void 0 !== r42; ) {
1000
+ if (o42 === r42.index) {
1001
+ let i4;
1002
+ 2 === r42.type ? i4 = new et2(h42, h42.nextSibling, this, t22) : 1 === r42.type ? i4 = new r42.ctor(h42, r42.name, r42.strings, this, t22) : 6 === r42.type && (i4 = new K2(h42, this, t22)), this._$AV.push(i4), r42 = s22[++n52];
1003
+ }
1004
+ o42 !== r42?.index && (h42 = I2.nextNode(), o42++);
1005
+ }
1006
+ return I2.currentNode = w2, e42;
1007
+ }
1008
+ p(t22) {
1009
+ let i32 = 0;
1010
+ for (const s22 of this._$AV) void 0 !== s22 && (void 0 !== s22.strings ? (s22._$AI(t22, s22, i32), i32 += s22.strings.length - 2) : s22._$AI(t22[i32])), i32++;
1011
+ }
1012
+ };
1013
+ var et2 = class _et {
1014
+ get _$AU() {
1015
+ return this._$AM?._$AU ?? this.v;
1016
+ }
1017
+ constructor(t22, i32, s22, e42) {
1018
+ this.type = 2, this._$AH = D2, this._$AN = void 0, this._$AA = t22, this._$AB = i32, this._$AM = s22, this.options = e42, this.v = e42?.isConnected ?? true;
1019
+ }
1020
+ get parentNode() {
1021
+ let t22 = this._$AA.parentNode;
1022
+ const i32 = this._$AM;
1023
+ return void 0 !== i32 && 11 === t22?.nodeType && (t22 = i32.parentNode), t22;
1024
+ }
1025
+ get startNode() {
1026
+ return this._$AA;
1027
+ }
1028
+ get endNode() {
1029
+ return this._$AB;
1030
+ }
1031
+ _$AI(t22, i32 = this) {
1032
+ t22 = z2(this, t22, i32), st2(t22) ? t22 === D2 || null == t22 || "" === t22 ? (this._$AH !== D2 && this._$AR(), this._$AH = D2) : t22 !== this._$AH && t22 !== R2 && this._(t22) : void 0 !== t22._$litType$ ? this.$(t22) : void 0 !== t22.nodeType ? this.T(t22) : $2(t22) ? this.k(t22) : this._(t22);
1033
+ }
1034
+ O(t22) {
1035
+ return this._$AA.parentNode.insertBefore(t22, this._$AB);
1036
+ }
1037
+ T(t22) {
1038
+ this._$AH !== t22 && (this._$AR(), this._$AH = this.O(t22));
1039
+ }
1040
+ _(t22) {
1041
+ this._$AH !== D2 && st2(this._$AH) ? this._$AA.nextSibling.data = t22 : this.T(w2.createTextNode(t22)), this._$AH = t22;
1042
+ }
1043
+ $(t22) {
1044
+ const { values: i32, _$litType$: s22 } = t22, e42 = "number" == typeof s22 ? this._$AC(t22) : (void 0 === s22.el && (s22.el = B2.createElement(N2(s22.h, s22.h[0]), this.options)), s22);
1045
+ if (this._$AH?._$AD === e42) this._$AH.p(i32);
1046
+ else {
1047
+ const t32 = new F2(e42, this), s3 = t32.u(this.options);
1048
+ t32.p(i32), this.T(s3), this._$AH = t32;
1049
+ }
1050
+ }
1051
+ _$AC(t22) {
1052
+ let i32 = V2.get(t22.strings);
1053
+ return void 0 === i32 && V2.set(t22.strings, i32 = new B2(t22)), i32;
1054
+ }
1055
+ k(t22) {
1056
+ g2(this._$AH) || (this._$AH = [], this._$AR());
1057
+ const i32 = this._$AH;
1058
+ let s22, e42 = 0;
1059
+ for (const h42 of t22) e42 === i32.length ? i32.push(s22 = new _et(this.O(lt2()), this.O(lt2()), this, this.options)) : s22 = i32[e42], s22._$AI(h42), e42++;
1060
+ e42 < i32.length && (this._$AR(s22 && s22._$AB.nextSibling, e42), i32.length = e42);
1061
+ }
1062
+ _$AR(t22 = this._$AA.nextSibling, i32) {
1063
+ for (this._$AP?.(false, true, i32); t22 && t22 !== this._$AB; ) {
1064
+ const i4 = t22.nextSibling;
1065
+ t22.remove(), t22 = i4;
1066
+ }
1067
+ }
1068
+ setConnected(t22) {
1069
+ void 0 === this._$AM && (this.v = t22, this._$AP?.(t22));
1070
+ }
1071
+ };
1072
+ var G2 = class {
1073
+ get tagName() {
1074
+ return this.element.tagName;
1075
+ }
1076
+ get _$AU() {
1077
+ return this._$AM._$AU;
1078
+ }
1079
+ constructor(t22, i32, s22, e42, h42) {
1080
+ this.type = 1, this._$AH = D2, this._$AN = void 0, this.element = t22, this.name = i32, this._$AM = e42, this.options = h42, s22.length > 2 || "" !== s22[0] || "" !== s22[1] ? (this._$AH = Array(s22.length - 1).fill(new String()), this.strings = s22) : this._$AH = D2;
1081
+ }
1082
+ _$AI(t22, i32 = this, s22, e42) {
1083
+ const h42 = this.strings;
1084
+ let o42 = false;
1085
+ if (void 0 === h42) t22 = z2(this, t22, i32, 0), o42 = !st2(t22) || t22 !== this._$AH && t22 !== R2, o42 && (this._$AH = t22);
1086
+ else {
1087
+ const e52 = t22;
1088
+ let n52, r42;
1089
+ for (t22 = h42[0], n52 = 0; n52 < h42.length - 1; n52++) r42 = z2(this, e52[s22 + n52], i32, n52), r42 === R2 && (r42 = this._$AH[n52]), o42 ||= !st2(r42) || r42 !== this._$AH[n52], r42 === D2 ? t22 = D2 : t22 !== D2 && (t22 += (r42 ?? "") + h42[n52 + 1]), this._$AH[n52] = r42;
1090
+ }
1091
+ o42 && !e42 && this.j(t22);
1092
+ }
1093
+ j(t22) {
1094
+ t22 === D2 ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, t22 ?? "");
1095
+ }
1096
+ };
1097
+ var Y2 = class extends G2 {
1098
+ constructor() {
1099
+ super(...arguments), this.type = 3;
1100
+ }
1101
+ j(t22) {
1102
+ this.element[this.name] = t22 === D2 ? void 0 : t22;
1103
+ }
1104
+ };
1105
+ var Z2 = class extends G2 {
1106
+ constructor() {
1107
+ super(...arguments), this.type = 4;
1108
+ }
1109
+ j(t22) {
1110
+ this.element.toggleAttribute(this.name, !!t22 && t22 !== D2);
1111
+ }
1112
+ };
1113
+ var q2 = class extends G2 {
1114
+ constructor(t22, i32, s22, e42, h42) {
1115
+ super(t22, i32, s22, e42, h42), this.type = 5;
1116
+ }
1117
+ _$AI(t22, i32 = this) {
1118
+ if ((t22 = z2(this, t22, i32, 0) ?? D2) === R2) return;
1119
+ const s22 = this._$AH, e42 = t22 === D2 && s22 !== D2 || t22.capture !== s22.capture || t22.once !== s22.once || t22.passive !== s22.passive, h42 = t22 !== D2 && (s22 === D2 || e42);
1120
+ e42 && this.element.removeEventListener(this.name, this, s22), h42 && this.element.addEventListener(this.name, this, t22), this._$AH = t22;
1121
+ }
1122
+ handleEvent(t22) {
1123
+ "function" == typeof this._$AH ? this._$AH.call(this.options?.host ?? this.element, t22) : this._$AH.handleEvent(t22);
1124
+ }
1125
+ };
1126
+ var K2 = class {
1127
+ constructor(t22, i32, s22) {
1128
+ this.element = t22, this.type = 6, this._$AN = void 0, this._$AM = i32, this.options = s22;
1129
+ }
1130
+ get _$AU() {
1131
+ return this._$AM._$AU;
1132
+ }
1133
+ _$AI(t22) {
1134
+ z2(this, t22);
1135
+ }
1136
+ };
1137
+ var Re2 = n32.litHtmlPolyfillSupport;
1138
+ Re2?.(B2, et2), (n32.litHtmlVersions ??= []).push("3.2.0");
1139
+ var Q2 = (t22, i32, s22) => {
1140
+ const e42 = s22?.renderBefore ?? i32;
1141
+ let h42 = e42._$litPart$;
1142
+ if (void 0 === h42) {
1143
+ const t32 = s22?.renderBefore ?? null;
1144
+ e42._$litPart$ = h42 = new et2(i32.insertBefore(lt2(), t32), t32, void 0, s22 ?? {});
1145
+ }
1146
+ return h42._$AI(t22), h42;
1147
+ };
1148
+ var h32 = class extends b2 {
1149
+ constructor() {
1150
+ super(...arguments), this.renderOptions = { host: this }, this.o = void 0;
1151
+ }
1152
+ createRenderRoot() {
1153
+ const t22 = super.createRenderRoot();
1154
+ return this.renderOptions.renderBefore ??= t22.firstChild, t22;
1155
+ }
1156
+ update(t22) {
1157
+ const e42 = this.render();
1158
+ this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(t22), this.o = Q2(e42, this.renderRoot, this.renderOptions);
1159
+ }
1160
+ connectedCallback() {
1161
+ super.connectedCallback(), this.o?.setConnected(true);
1162
+ }
1163
+ disconnectedCallback() {
1164
+ super.disconnectedCallback(), this.o?.setConnected(false);
1165
+ }
1166
+ render() {
1167
+ return R2;
1168
+ }
1169
+ };
1170
+ h32._$litElement$ = true, h32["finalized"] = true, globalThis.litElementHydrateSupport?.({ LitElement: h32 });
1171
+ var f32 = globalThis.litElementPolyfillSupport;
1172
+ f32?.({ LitElement: h32 });
1173
+ (globalThis.litElementVersions ??= []).push("4.1.0");
1174
+ var o32 = { attribute: true, type: String, converter: u2, reflect: false, hasChanged: f4 };
1175
+ var r32 = (t22 = o32, e42, r42) => {
1176
+ const { kind: n52, metadata: i32 } = r42;
1177
+ let s22 = globalThis.litPropertyMetadata.get(i32);
1178
+ if (void 0 === s22 && globalThis.litPropertyMetadata.set(i32, s22 = /* @__PURE__ */ new Map()), s22.set(r42.name, t22), "accessor" === n52) {
1179
+ const { name: o42 } = r42;
1180
+ return { set(r52) {
1181
+ const n6 = e42.get.call(this);
1182
+ e42.set.call(this, r52), this.requestUpdate(o42, n6, t22);
1183
+ }, init(e52) {
1184
+ return void 0 !== e52 && this.P(o42, void 0, t22), e52;
1185
+ } };
1186
+ }
1187
+ if ("setter" === n52) {
1188
+ const { name: o42 } = r42;
1189
+ return function(r52) {
1190
+ const n6 = this[o42];
1191
+ e42.call(this, r52), this.requestUpdate(o42, n6, t22);
1192
+ };
1193
+ }
1194
+ throw Error("Unsupported decorator location: " + n52);
1195
+ };
1196
+ function n42(t22) {
1197
+ return (e42, o42) => "object" == typeof o42 ? r32(t22, e42, o42) : ((t32, e52, o52) => {
1198
+ const r42 = e52.hasOwnProperty(o52);
1199
+ return e52.constructor.createProperty(o52, r42 ? { ...t32, wrapped: true } : t32), r42 ? Object.getOwnPropertyDescriptor(e52, o52) : void 0;
1200
+ })(t22, e42, o42);
1201
+ }
1202
+ var appliedClassMixins = /* @__PURE__ */ new WeakMap();
1203
+ function wasMixinPreviouslyApplied(mixin, superClass) {
1204
+ let klass = superClass;
1205
+ while (klass) {
1206
+ if (appliedClassMixins.get(klass) === mixin) {
1207
+ return true;
1208
+ }
1209
+ klass = Object.getPrototypeOf(klass);
1210
+ }
1211
+ return false;
1212
+ }
1213
+ function dedupeMixin(mixin) {
1214
+ return (superClass) => {
1215
+ if (wasMixinPreviouslyApplied(mixin, superClass)) {
1216
+ return superClass;
1217
+ }
1218
+ const mixedClass = mixin(superClass);
1219
+ appliedClassMixins.set(mixedClass, mixin);
1220
+ return mixedClass;
1221
+ };
1222
+ }
1223
+ var version = "3.0.0";
1224
+ var versions = window.scopedElementsVersions || (window.scopedElementsVersions = []);
1225
+ if (!versions.includes(version)) {
1226
+ versions.push(version);
1227
+ }
1228
+ var ScopedElementsMixinImplementation = (superclass) => (
1229
+ /** @type {ScopedElementsHost} */
1230
+ class ScopedElementsHost extends superclass {
1231
+ /**
1232
+ * Obtains the scoped elements definitions map if specified.
1233
+ *
1234
+ * @type {ScopedElementsMap=}
1235
+ */
1236
+ static scopedElements;
1237
+ static get scopedElementsVersion() {
1238
+ return version;
1239
+ }
1240
+ /** @type {CustomElementRegistry=} */
1241
+ static __registry;
1242
+ /**
1243
+ * Obtains the CustomElementRegistry associated to the ShadowRoot.
1244
+ *
1245
+ * @returns {CustomElementRegistry=}
1246
+ */
1247
+ get registry() {
1248
+ return (
1249
+ /** @type {typeof ScopedElementsHost} */
1250
+ this.constructor.__registry
1251
+ );
1252
+ }
1253
+ /**
1254
+ * Set the CustomElementRegistry associated to the ShadowRoot
1255
+ *
1256
+ * @param {CustomElementRegistry} registry
1257
+ */
1258
+ set registry(registry2) {
1259
+ this.constructor.__registry = registry2;
1260
+ }
1261
+ /**
1262
+ * @param {ShadowRootInit} options
1263
+ * @returns {ShadowRoot}
1264
+ */
1265
+ attachShadow(options) {
1266
+ const { scopedElements } = (
1267
+ /** @type {typeof ScopedElementsHost} */
1268
+ this.constructor
1269
+ );
1270
+ const shouldCreateRegistry = !this.registry || // @ts-ignore
1271
+ this.registry === this.constructor.__registry && !Object.prototype.hasOwnProperty.call(this.constructor, "__registry");
1272
+ if (shouldCreateRegistry) {
1273
+ this.registry = new CustomElementRegistry();
1274
+ for (const [tagName, klass] of Object.entries(scopedElements ?? {})) {
1275
+ this.registry.define(tagName, klass);
1276
+ }
1277
+ }
1278
+ return super.attachShadow({
1279
+ ...options,
1280
+ // The polyfill currently expects the registry to be passed as `customElements`
1281
+ customElements: this.registry,
1282
+ // But the proposal has moved forward, and renamed it to `registry`
1283
+ // For backwards compatibility, we pass it as both
1284
+ registry: this.registry
1285
+ });
1286
+ }
1287
+ }
1288
+ );
1289
+ var ScopedElementsMixin = dedupeMixin(ScopedElementsMixinImplementation);
1290
+ var ScopedElementsMixinImplementation2 = (superclass) => (
1291
+ /** @type {ScopedElementsHost} */
1292
+ class ScopedElementsHost extends ScopedElementsMixin(superclass) {
1293
+ createRenderRoot() {
1294
+ const { shadowRootOptions, elementStyles } = (
1295
+ /** @type {TypeofLitElement} */
1296
+ this.constructor
1297
+ );
1298
+ const shadowRoot = this.attachShadow(shadowRootOptions);
1299
+ this.renderOptions.creationScope = shadowRoot;
1300
+ S3(shadowRoot, elementStyles);
1301
+ this.renderOptions.renderBefore ??= shadowRoot.firstChild;
1302
+ return shadowRoot;
1303
+ }
1304
+ }
1305
+ );
1306
+ var ScopedElementsMixin2 = dedupeMixin(ScopedElementsMixinImplementation2);
1307
+ var _lang_dec;
1308
+ var _contentEditable_dec;
1309
+ var _a;
1310
+ var _init;
1311
+ var _contentEditable;
1312
+ var _lang;
1313
+ var LitElementWw = class extends (_a = ScopedElementsMixin2(h32), _contentEditable_dec = [n42({ type: String, attribute: true, reflect: true })], _lang_dec = [n42({ type: String, attribute: true, reflect: true })], _a) {
1314
+ constructor() {
1315
+ super(...arguments);
1316
+ __publicField2(this, "options");
1317
+ __publicField2(this, "actions", {});
1318
+ __privateAdd2(this, _contentEditable, __runInitializers2(_init, 8, this)), __runInitializers2(_init, 11, this);
1319
+ __privateAdd2(this, _lang, __runInitializers2(_init, 12, this)), __runInitializers2(_init, 15, this);
1320
+ __publicField2(this, "_inTransaction", false);
1321
+ }
1322
+ connectedCallback() {
1323
+ super.connectedCallback();
1324
+ this.getAttributeNames().forEach((k22) => this.setAttribute(k22, this.getAttribute(k22)));
1325
+ }
1326
+ };
1327
+ _init = __decoratorStart2(_a);
1328
+ _contentEditable = /* @__PURE__ */ new WeakMap();
1329
+ _lang = /* @__PURE__ */ new WeakMap();
1330
+ __decorateElement2(_init, 4, "contentEditable", _contentEditable_dec, LitElementWw, _contentEditable);
1331
+ __decorateElement2(_init, 4, "lang", _lang_dec, LitElementWw, _lang);
1332
+ __decoratorMetadata2(_init, LitElementWw);
1333
+ __publicField2(LitElementWw, "shadowRootOptions", { ...h32.shadowRootOptions });
1334
+ __publicField2(LitElementWw, "options", {});
1335
+ __publicField2(LitElementWw, "actions", {});
1336
+
1337
+ // ../../node_modules/lit/node_modules/@lit/reactive-element/decorators/custom-element.js
1338
+ var t3 = (t5) => (e7, o6) => {
1339
+ void 0 !== o6 ? o6.addInitializer(() => {
1340
+ customElements.define(t5, e7);
1341
+ }) : customElements.define(t5, e7);
1342
+ };
1343
+
1344
+ // ../../node_modules/lit/node_modules/@lit/reactive-element/decorators/property.js
1345
+ var o4 = { attribute: true, type: String, converter: u, reflect: false, hasChanged: f };
1346
+ var r4 = (t5 = o4, e7, r6) => {
1347
+ const { kind: n6, metadata: i4 } = r6;
1348
+ let s3 = globalThis.litPropertyMetadata.get(i4);
1349
+ if (void 0 === s3 && globalThis.litPropertyMetadata.set(i4, s3 = /* @__PURE__ */ new Map()), s3.set(r6.name, t5), "accessor" === n6) {
1350
+ const { name: o6 } = r6;
1351
+ return { set(r7) {
1352
+ const n7 = e7.get.call(this);
1353
+ e7.set.call(this, r7), this.requestUpdate(o6, n7, t5);
1354
+ }, init(e8) {
1355
+ return void 0 !== e8 && this.P(o6, void 0, t5), e8;
1356
+ } };
1357
+ }
1358
+ if ("setter" === n6) {
1359
+ const { name: o6 } = r6;
1360
+ return function(r7) {
1361
+ const n7 = this[o6];
1362
+ e7.call(this, r7), this.requestUpdate(o6, n7, t5);
1363
+ };
1364
+ }
1365
+ throw Error("Unsupported decorator location: " + n6);
1366
+ };
1367
+ function n5(t5) {
1368
+ return (e7, o6) => "object" == typeof o6 ? r4(t5, e7, o6) : ((t6, e8, o7) => {
1369
+ const r6 = e8.hasOwnProperty(o7);
1370
+ return e8.constructor.createProperty(o7, r6 ? { ...t6, wrapped: true } : t6), r6 ? Object.getOwnPropertyDescriptor(e8, o7) : void 0;
1371
+ })(t5, e7, o6);
1372
+ }
1373
+
1374
+ // ../../node_modules/lit/node_modules/@lit/reactive-element/decorators/state.js
1375
+ function r5(r6) {
1376
+ return n5({ ...r6, state: true, attribute: false });
1377
+ }
1378
+
1379
+ // ../../node_modules/lit/node_modules/@lit/reactive-element/decorators/base.js
1380
+ var e4 = (e7, t5, c5) => (c5.configurable = true, c5.enumerable = true, Reflect.decorate && "object" != typeof t5 && Object.defineProperty(e7, t5, c5), c5);
1381
+
1382
+ // ../../node_modules/lit/node_modules/@lit/reactive-element/decorators/query.js
1383
+ function e5(e7, r6) {
1384
+ return (n6, s3, i4) => {
1385
+ const o6 = (t5) => t5.renderRoot?.querySelector(e7) ?? null;
1386
+ if (r6) {
1387
+ const { get: e8, set: r7 } = "object" == typeof s3 ? n6 : i4 ?? (() => {
1388
+ const t5 = Symbol();
1389
+ return { get() {
1390
+ return this[t5];
1391
+ }, set(e9) {
1392
+ this[t5] = e9;
1393
+ } };
1394
+ })();
1395
+ return e4(n6, s3, { get() {
1396
+ let t5 = e8.call(this);
1397
+ return void 0 === t5 && (t5 = o6(this), (null !== t5 || this.hasUpdated) && r7.call(this, t5)), t5;
1398
+ } });
1399
+ }
1400
+ return e4(n6, s3, { get() {
1401
+ return o6(this);
1402
+ } });
1403
+ };
1404
+ }
1405
+
1406
+ // ../../node_modules/lit/node_modules/@lit/reactive-element/decorators/query-assigned-elements.js
1407
+ function o5(o6) {
1408
+ return (e7, n6) => {
1409
+ const { slot: r6, selector: s3 } = o6 ?? {}, c5 = "slot" + (r6 ? `[name=${r6}]` : ":not([name])");
1410
+ return e4(e7, n6, { get() {
1411
+ const t5 = this.renderRoot?.querySelector(c5), e8 = t5?.assignedElements(o6) ?? [];
1412
+ return void 0 === s3 ? e8 : e8.filter((t6) => t6.matches(s3));
1413
+ } });
1414
+ };
1415
+ }
1416
+
1417
+ // ../../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.6I2T3DLI.js
1418
+ var icon_button_styles_default = i`
1419
+ :host {
1420
+ display: inline-block;
1421
+ color: var(--sl-color-neutral-600);
1422
+ }
1423
+
1424
+ .icon-button {
1425
+ flex: 0 0 auto;
1426
+ display: flex;
1427
+ align-items: center;
1428
+ background: none;
1429
+ border: none;
1430
+ border-radius: var(--sl-border-radius-medium);
1431
+ font-size: inherit;
1432
+ color: inherit;
1433
+ padding: var(--sl-spacing-x-small);
1434
+ cursor: pointer;
1435
+ transition: var(--sl-transition-x-fast) color;
1436
+ -webkit-appearance: none;
1437
+ }
1438
+
1439
+ .icon-button:hover:not(.icon-button--disabled),
1440
+ .icon-button:focus-visible:not(.icon-button--disabled) {
1441
+ color: var(--sl-color-primary-600);
1442
+ }
1443
+
1444
+ .icon-button:active:not(.icon-button--disabled) {
1445
+ color: var(--sl-color-primary-700);
1446
+ }
1447
+
1448
+ .icon-button:focus {
1449
+ outline: none;
1450
+ }
1451
+
1452
+ .icon-button--disabled {
1453
+ opacity: 0.5;
1454
+ cursor: not-allowed;
1455
+ }
1456
+
1457
+ .icon-button:focus-visible {
1458
+ outline: var(--sl-focus-ring);
1459
+ outline-offset: var(--sl-focus-ring-offset);
1460
+ }
1461
+
1462
+ .icon-button__icon {
1463
+ pointer-events: none;
1464
+ }
1465
+ `;
1466
+
1467
+ // ../../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.3Y6SB6QS.js
1468
+ var basePath = "";
1469
+ function setBasePath(path) {
1470
+ basePath = path;
1471
+ }
1472
+ function getBasePath(subpath = "") {
1473
+ if (!basePath) {
1474
+ const scripts = [...document.getElementsByTagName("script")];
1475
+ const configScript = scripts.find((script) => script.hasAttribute("data-shoelace"));
1476
+ if (configScript) {
1477
+ setBasePath(configScript.getAttribute("data-shoelace"));
1478
+ } else {
1479
+ const fallbackScript = scripts.find((s3) => {
1480
+ return /shoelace(\.min)?\.js($|\?)/.test(s3.src) || /shoelace-autoloader(\.min)?\.js($|\?)/.test(s3.src);
1481
+ });
1482
+ let path = "";
1483
+ if (fallbackScript) {
1484
+ path = fallbackScript.getAttribute("src");
1485
+ }
1486
+ setBasePath(path.split("/").slice(0, -1).join("/"));
1487
+ }
1488
+ }
1489
+ return basePath.replace(/\/$/, "") + (subpath ? `/${subpath.replace(/^\//, "")}` : ``);
1490
+ }
1491
+
1492
+ // ../../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.P7ZG6EMR.js
1493
+ var library = {
1494
+ name: "default",
1495
+ resolver: (name) => getBasePath(`assets/icons/${name}.svg`)
1496
+ };
1497
+ var library_default_default = library;
1498
+
1499
+ // ../../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.3TFKS637.js
1500
+ var icons = {
1501
+ caret: `
1502
+ <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
1503
+ <polyline points="6 9 12 15 18 9"></polyline>
1504
+ </svg>
1505
+ `,
1506
+ check: `
1507
+ <svg part="checked-icon" class="checkbox__icon" viewBox="0 0 16 16">
1508
+ <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round">
1509
+ <g stroke="currentColor">
1510
+ <g transform="translate(3.428571, 3.428571)">
1511
+ <path d="M0,5.71428571 L3.42857143,9.14285714"></path>
1512
+ <path d="M9.14285714,0 L3.42857143,9.14285714"></path>
1513
+ </g>
1514
+ </g>
1515
+ </g>
1516
+ </svg>
1517
+ `,
1518
+ "chevron-down": `
1519
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-chevron-down" viewBox="0 0 16 16">
1520
+ <path fill-rule="evenodd" 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"/>
1521
+ </svg>
1522
+ `,
1523
+ "chevron-left": `
1524
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-chevron-left" viewBox="0 0 16 16">
1525
+ <path fill-rule="evenodd" d="M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z"/>
1526
+ </svg>
1527
+ `,
1528
+ "chevron-right": `
1529
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-chevron-right" viewBox="0 0 16 16">
1530
+ <path fill-rule="evenodd" d="M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z"/>
1531
+ </svg>
1532
+ `,
1533
+ copy: `
1534
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-copy" viewBox="0 0 16 16">
1535
+ <path fill-rule="evenodd" d="M4 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V2Zm2-1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H6ZM2 5a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-1h1v1a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h1v1H2Z"/>
1536
+ </svg>
1537
+ `,
1538
+ eye: `
1539
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-eye" viewBox="0 0 16 16">
1540
+ <path d="M16 8s-3-5.5-8-5.5S0 8 0 8s3 5.5 8 5.5S16 8 16 8zM1.173 8a13.133 13.133 0 0 1 1.66-2.043C4.12 4.668 5.88 3.5 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13.133 13.133 0 0 1 14.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755C11.879 11.332 10.119 12.5 8 12.5c-2.12 0-3.879-1.168-5.168-2.457A13.134 13.134 0 0 1 1.172 8z"/>
1541
+ <path d="M8 5.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5zM4.5 8a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0z"/>
1542
+ </svg>
1543
+ `,
1544
+ "eye-slash": `
1545
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-eye-slash" viewBox="0 0 16 16">
1546
+ <path d="M13.359 11.238C15.06 9.72 16 8 16 8s-3-5.5-8-5.5a7.028 7.028 0 0 0-2.79.588l.77.771A5.944 5.944 0 0 1 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13.134 13.134 0 0 1 14.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755-.165.165-.337.328-.517.486l.708.709z"/>
1547
+ <path d="M11.297 9.176a3.5 3.5 0 0 0-4.474-4.474l.823.823a2.5 2.5 0 0 1 2.829 2.829l.822.822zm-2.943 1.299.822.822a3.5 3.5 0 0 1-4.474-4.474l.823.823a2.5 2.5 0 0 0 2.829 2.829z"/>
1548
+ <path d="M3.35 5.47c-.18.16-.353.322-.518.487A13.134 13.134 0 0 0 1.172 8l.195.288c.335.48.83 1.12 1.465 1.755C4.121 11.332 5.881 12.5 8 12.5c.716 0 1.39-.133 2.02-.36l.77.772A7.029 7.029 0 0 1 8 13.5C3 13.5 0 8 0 8s.939-1.721 2.641-3.238l.708.709zm10.296 8.884-12-12 .708-.708 12 12-.708.708z"/>
1549
+ </svg>
1550
+ `,
1551
+ eyedropper: `
1552
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-eyedropper" viewBox="0 0 16 16">
1553
+ <path d="M13.354.646a1.207 1.207 0 0 0-1.708 0L8.5 3.793l-.646-.647a.5.5 0 1 0-.708.708L8.293 5l-7.147 7.146A.5.5 0 0 0 1 12.5v1.793l-.854.853a.5.5 0 1 0 .708.707L1.707 15H3.5a.5.5 0 0 0 .354-.146L11 7.707l1.146 1.147a.5.5 0 0 0 .708-.708l-.647-.646 3.147-3.146a1.207 1.207 0 0 0 0-1.708l-2-2zM2 12.707l7-7L10.293 7l-7 7H2v-1.293z"></path>
1554
+ </svg>
1555
+ `,
1556
+ "grip-vertical": `
1557
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-grip-vertical" viewBox="0 0 16 16">
1558
+ <path d="M7 2a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM7 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM7 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm-3 3a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm-3 3a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z"></path>
1559
+ </svg>
1560
+ `,
1561
+ indeterminate: `
1562
+ <svg part="indeterminate-icon" class="checkbox__icon" viewBox="0 0 16 16">
1563
+ <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round">
1564
+ <g stroke="currentColor" stroke-width="2">
1565
+ <g transform="translate(2.285714, 6.857143)">
1566
+ <path d="M10.2857143,1.14285714 L1.14285714,1.14285714"></path>
1567
+ </g>
1568
+ </g>
1569
+ </g>
1570
+ </svg>
1571
+ `,
1572
+ "person-fill": `
1573
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-person-fill" viewBox="0 0 16 16">
1574
+ <path d="M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H3zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z"/>
1575
+ </svg>
1576
+ `,
1577
+ "play-fill": `
1578
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-play-fill" viewBox="0 0 16 16">
1579
+ <path d="m11.596 8.697-6.363 3.692c-.54.313-1.233-.066-1.233-.697V4.308c0-.63.692-1.01 1.233-.696l6.363 3.692a.802.802 0 0 1 0 1.393z"></path>
1580
+ </svg>
1581
+ `,
1582
+ "pause-fill": `
1583
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-pause-fill" viewBox="0 0 16 16">
1584
+ <path d="M5.5 3.5A1.5 1.5 0 0 1 7 5v6a1.5 1.5 0 0 1-3 0V5a1.5 1.5 0 0 1 1.5-1.5zm5 0A1.5 1.5 0 0 1 12 5v6a1.5 1.5 0 0 1-3 0V5a1.5 1.5 0 0 1 1.5-1.5z"></path>
1585
+ </svg>
1586
+ `,
1587
+ radio: `
1588
+ <svg part="checked-icon" class="radio__icon" viewBox="0 0 16 16">
1589
+ <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
1590
+ <g fill="currentColor">
1591
+ <circle cx="8" cy="8" r="3.42857143"></circle>
1592
+ </g>
1593
+ </g>
1594
+ </svg>
1595
+ `,
1596
+ "star-fill": `
1597
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-star-fill" viewBox="0 0 16 16">
1598
+ <path d="M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.282.95l-3.522 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256z"/>
1599
+ </svg>
1600
+ `,
1601
+ "x-lg": `
1602
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-x-lg" viewBox="0 0 16 16">
1603
+ <path d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8 2.146 2.854Z"/>
1604
+ </svg>
1605
+ `,
1606
+ "x-circle-fill": `
1607
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-x-circle-fill" viewBox="0 0 16 16">
1608
+ <path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z"></path>
1609
+ </svg>
1610
+ `
1611
+ };
1612
+ var systemLibrary = {
1613
+ name: "system",
1614
+ resolver: (name) => {
1615
+ if (name in icons) {
1616
+ return `data:image/svg+xml,${encodeURIComponent(icons[name])}`;
1617
+ }
1618
+ return "";
1619
+ }
1620
+ };
1621
+ var library_system_default = systemLibrary;
1622
+
1623
+ // ../../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.ZL53POKZ.js
1624
+ var registry = [library_default_default, library_system_default];
1625
+ var watchedIcons = [];
1626
+ function watchIcon(icon) {
1627
+ watchedIcons.push(icon);
1628
+ }
1629
+ function unwatchIcon(icon) {
1630
+ watchedIcons = watchedIcons.filter((el) => el !== icon);
1631
+ }
1632
+ function getIconLibrary(name) {
1633
+ return registry.find((lib) => lib.name === name);
1634
+ }
1635
+
1636
+ // ../../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.QLXRCYS4.js
1637
+ var icon_styles_default = i`
1638
+ :host {
1639
+ display: inline-block;
1640
+ width: 1em;
1641
+ height: 1em;
1642
+ box-sizing: content-box !important;
1643
+ }
1644
+
1645
+ svg {
1646
+ display: block;
1647
+ height: 100%;
1648
+ width: 100%;
1649
+ }
1650
+ `;
1651
+
1652
+ // ../../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.B3BW2AY6.js
1653
+ var __defProp3 = Object.defineProperty;
1654
+ var __defProps = Object.defineProperties;
1655
+ var __getOwnPropDesc3 = Object.getOwnPropertyDescriptor;
1656
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
1657
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
1658
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
1659
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
1660
+ var __defNormalProp3 = (obj, key, value) => key in obj ? __defProp3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1661
+ var __spreadValues = (a3, b3) => {
1662
+ for (var prop in b3 || (b3 = {}))
1663
+ if (__hasOwnProp.call(b3, prop))
1664
+ __defNormalProp3(a3, prop, b3[prop]);
1665
+ if (__getOwnPropSymbols)
1666
+ for (var prop of __getOwnPropSymbols(b3)) {
1667
+ if (__propIsEnum.call(b3, prop))
1668
+ __defNormalProp3(a3, prop, b3[prop]);
1669
+ }
1670
+ return a3;
1671
+ };
1672
+ var __spreadProps = (a3, b3) => __defProps(a3, __getOwnPropDescs(b3));
1673
+ var __decorateClass = (decorators, target, key, kind) => {
1674
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc3(target, key) : target;
1675
+ for (var i4 = decorators.length - 1, decorator; i4 >= 0; i4--)
1676
+ if (decorator = decorators[i4])
1677
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
1678
+ if (kind && result)
1679
+ __defProp3(target, key, result);
1680
+ return result;
1681
+ };
1682
+ var __accessCheck3 = (obj, member, msg) => {
1683
+ if (!member.has(obj))
1684
+ throw TypeError("Cannot " + msg);
1685
+ };
1686
+ var __privateGet3 = (obj, member, getter) => {
1687
+ __accessCheck3(obj, member, "read from private field");
1688
+ return getter ? getter.call(obj) : member.get(obj);
1689
+ };
1690
+ var __privateAdd3 = (obj, member, value) => {
1691
+ if (member.has(obj))
1692
+ throw TypeError("Cannot add the same private member more than once");
1693
+ member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
1694
+ };
1695
+ var __privateSet3 = (obj, member, value, setter) => {
1696
+ __accessCheck3(obj, member, "write to private field");
1697
+ setter ? setter.call(obj, value) : member.set(obj, value);
1698
+ return value;
1699
+ };
1700
+
1701
+ // ../../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.CCJUT23E.js
1702
+ function watch(propertyName, options) {
1703
+ const resolvedOptions = __spreadValues({
1704
+ waitUntilFirstUpdate: false
1705
+ }, options);
1706
+ return (proto, decoratedFnName) => {
1707
+ const { update: update2 } = proto;
1708
+ const watchedProperties = Array.isArray(propertyName) ? propertyName : [propertyName];
1709
+ proto.update = function(changedProps) {
1710
+ watchedProperties.forEach((property) => {
1711
+ const key = property;
1712
+ if (changedProps.has(key)) {
1713
+ const oldValue = changedProps.get(key);
1714
+ const newValue = this[key];
1715
+ if (oldValue !== newValue) {
1716
+ if (!resolvedOptions.waitUntilFirstUpdate || this.hasUpdated) {
1717
+ this[decoratedFnName](oldValue, newValue);
1718
+ }
1719
+ }
1720
+ }
1721
+ });
1722
+ update2.call(this, changedProps);
1723
+ };
1724
+ };
1725
+ }
1726
+
1727
+ // ../../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.TUVJKY7S.js
1728
+ var component_styles_default = i`
1729
+ :host {
1730
+ box-sizing: border-box;
1731
+ }
1732
+
1733
+ :host *,
1734
+ :host *::before,
1735
+ :host *::after {
1736
+ box-sizing: inherit;
1737
+ }
1738
+
1739
+ [hidden] {
1740
+ display: none !important;
1741
+ }
1742
+ `;
1743
+
1744
+ // ../../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.NLWS5DN7.js
1745
+ var _hasRecordedInitialProperties;
1746
+ var ShoelaceElement = class extends h3 {
1747
+ constructor() {
1748
+ super();
1749
+ __privateAdd3(this, _hasRecordedInitialProperties, false);
1750
+ this.initialReflectedProperties = /* @__PURE__ */ new Map();
1751
+ Object.entries(this.constructor.dependencies).forEach(([name, component]) => {
1752
+ this.constructor.define(name, component);
1753
+ });
1754
+ }
1755
+ emit(name, options) {
1756
+ const event = new CustomEvent(name, __spreadValues({
1757
+ bubbles: true,
1758
+ cancelable: false,
1759
+ composed: true,
1760
+ detail: {}
1761
+ }, options));
1762
+ this.dispatchEvent(event);
1763
+ return event;
1764
+ }
1765
+ /* eslint-enable */
1766
+ static define(name, elementConstructor = this, options = {}) {
1767
+ const currentlyRegisteredConstructor = customElements.get(name);
1768
+ if (!currentlyRegisteredConstructor) {
1769
+ try {
1770
+ customElements.define(name, elementConstructor, options);
1771
+ } catch (_err) {
1772
+ customElements.define(name, class extends elementConstructor {
1773
+ }, options);
1774
+ }
1775
+ return;
1776
+ }
1777
+ let newVersion = " (unknown version)";
1778
+ let existingVersion = newVersion;
1779
+ if ("version" in elementConstructor && elementConstructor.version) {
1780
+ newVersion = " v" + elementConstructor.version;
1781
+ }
1782
+ if ("version" in currentlyRegisteredConstructor && currentlyRegisteredConstructor.version) {
1783
+ existingVersion = " v" + currentlyRegisteredConstructor.version;
1784
+ }
1785
+ if (newVersion && existingVersion && newVersion === existingVersion) {
1786
+ return;
1787
+ }
1788
+ console.warn(
1789
+ `Attempted to register <${name}>${newVersion}, but <${name}>${existingVersion} has already been registered.`
1790
+ );
1791
+ }
1792
+ attributeChangedCallback(name, oldValue, newValue) {
1793
+ if (!__privateGet3(this, _hasRecordedInitialProperties)) {
1794
+ this.constructor.elementProperties.forEach(
1795
+ (obj, prop) => {
1796
+ if (obj.reflect && this[prop] != null) {
1797
+ this.initialReflectedProperties.set(prop, this[prop]);
1798
+ }
1799
+ }
1800
+ );
1801
+ __privateSet3(this, _hasRecordedInitialProperties, true);
1802
+ }
1803
+ super.attributeChangedCallback(name, oldValue, newValue);
1804
+ }
1805
+ willUpdate(changedProperties) {
1806
+ super.willUpdate(changedProperties);
1807
+ this.initialReflectedProperties.forEach((value, prop) => {
1808
+ if (changedProperties.has(prop) && this[prop] == null) {
1809
+ this[prop] = value;
1810
+ }
1811
+ });
1812
+ }
1813
+ };
1814
+ _hasRecordedInitialProperties = /* @__PURE__ */ new WeakMap();
1815
+ ShoelaceElement.version = "2.17.1";
1816
+ ShoelaceElement.dependencies = {};
1817
+ __decorateClass([
1818
+ n5()
1819
+ ], ShoelaceElement.prototype, "dir", 2);
1820
+ __decorateClass([
1821
+ n5()
1822
+ ], ShoelaceElement.prototype, "lang", 2);
1823
+
1824
+ // ../../node_modules/lit/node_modules/lit-html/directive-helpers.js
1825
+ var { I: et3 } = si;
1826
+ var nt = (o6, t5) => void 0 === t5 ? void 0 !== o6?._$litType$ : o6?._$litType$ === t5;
1827
+ var rt = (o6) => void 0 === o6.strings;
1828
+ var ht = {};
1829
+ var dt = (o6, t5 = ht) => o6._$AH = t5;
1830
+
1831
+ // ../../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.O7VCMB7W.js
1832
+ var CACHEABLE_ERROR = Symbol();
1833
+ var RETRYABLE_ERROR = Symbol();
1834
+ var parser;
1835
+ var iconCache = /* @__PURE__ */ new Map();
1836
+ var SlIcon = class extends ShoelaceElement {
1837
+ constructor() {
1838
+ super(...arguments);
1839
+ this.initialRender = false;
1840
+ this.svg = null;
1841
+ this.label = "";
1842
+ this.library = "default";
1843
+ }
1844
+ /** Given a URL, this function returns the resulting SVG element or an appropriate error symbol. */
1845
+ async resolveIcon(url, library2) {
1846
+ var _a4;
1847
+ let fileData;
1848
+ if (library2 == null ? void 0 : library2.spriteSheet) {
1849
+ this.svg = ke`<svg part="svg">
1850
+ <use part="use" href="${url}"></use>
1851
+ </svg>`;
1852
+ return this.svg;
1853
+ }
1854
+ try {
1855
+ fileData = await fetch(url, { mode: "cors" });
1856
+ if (!fileData.ok)
1857
+ return fileData.status === 410 ? CACHEABLE_ERROR : RETRYABLE_ERROR;
1858
+ } catch (e7) {
1859
+ return RETRYABLE_ERROR;
1860
+ }
1861
+ try {
1862
+ const div = document.createElement("div");
1863
+ div.innerHTML = await fileData.text();
1864
+ const svg = div.firstElementChild;
1865
+ if (((_a4 = svg == null ? void 0 : svg.tagName) == null ? void 0 : _a4.toLowerCase()) !== "svg")
1866
+ return CACHEABLE_ERROR;
1867
+ if (!parser)
1868
+ parser = new DOMParser();
1869
+ const doc = parser.parseFromString(svg.outerHTML, "text/html");
1870
+ const svgEl = doc.body.querySelector("svg");
1871
+ if (!svgEl)
1872
+ return CACHEABLE_ERROR;
1873
+ svgEl.part.add("svg");
1874
+ return document.adoptNode(svgEl);
1875
+ } catch (e7) {
1876
+ return CACHEABLE_ERROR;
1877
+ }
1878
+ }
1879
+ connectedCallback() {
1880
+ super.connectedCallback();
1881
+ watchIcon(this);
1882
+ }
1883
+ firstUpdated() {
1884
+ this.initialRender = true;
1885
+ this.setIcon();
1886
+ }
1887
+ disconnectedCallback() {
1888
+ super.disconnectedCallback();
1889
+ unwatchIcon(this);
1890
+ }
1891
+ getIconSource() {
1892
+ const library2 = getIconLibrary(this.library);
1893
+ if (this.name && library2) {
1894
+ return {
1895
+ url: library2.resolver(this.name),
1896
+ fromLibrary: true
1897
+ };
1898
+ }
1899
+ return {
1900
+ url: this.src,
1901
+ fromLibrary: false
1902
+ };
1903
+ }
1904
+ handleLabelChange() {
1905
+ const hasLabel = typeof this.label === "string" && this.label.length > 0;
1906
+ if (hasLabel) {
1907
+ this.setAttribute("role", "img");
1908
+ this.setAttribute("aria-label", this.label);
1909
+ this.removeAttribute("aria-hidden");
1910
+ } else {
1911
+ this.removeAttribute("role");
1912
+ this.removeAttribute("aria-label");
1913
+ this.setAttribute("aria-hidden", "true");
1914
+ }
1915
+ }
1916
+ async setIcon() {
1917
+ var _a4;
1918
+ const { url, fromLibrary } = this.getIconSource();
1919
+ const library2 = fromLibrary ? getIconLibrary(this.library) : void 0;
1920
+ if (!url) {
1921
+ this.svg = null;
1922
+ return;
1923
+ }
1924
+ let iconResolver = iconCache.get(url);
1925
+ if (!iconResolver) {
1926
+ iconResolver = this.resolveIcon(url, library2);
1927
+ iconCache.set(url, iconResolver);
1928
+ }
1929
+ if (!this.initialRender) {
1930
+ return;
1931
+ }
1932
+ const svg = await iconResolver;
1933
+ if (svg === RETRYABLE_ERROR) {
1934
+ iconCache.delete(url);
1935
+ }
1936
+ if (url !== this.getIconSource().url) {
1937
+ return;
1938
+ }
1939
+ if (nt(svg)) {
1940
+ this.svg = svg;
1941
+ if (library2) {
1942
+ await this.updateComplete;
1943
+ const shadowSVG = this.shadowRoot.querySelector("[part='svg']");
1944
+ if (typeof library2.mutator === "function" && shadowSVG) {
1945
+ library2.mutator(shadowSVG);
1946
+ }
1947
+ }
1948
+ return;
1949
+ }
1950
+ switch (svg) {
1951
+ case RETRYABLE_ERROR:
1952
+ case CACHEABLE_ERROR:
1953
+ this.svg = null;
1954
+ this.emit("sl-error");
1955
+ break;
1956
+ default:
1957
+ this.svg = svg.cloneNode(true);
1958
+ (_a4 = library2 == null ? void 0 : library2.mutator) == null ? void 0 : _a4.call(library2, this.svg);
1959
+ this.emit("sl-load");
1960
+ }
1961
+ }
1962
+ render() {
1963
+ return this.svg;
1964
+ }
1965
+ };
1966
+ SlIcon.styles = [component_styles_default, icon_styles_default];
1967
+ __decorateClass([
1968
+ r5()
1969
+ ], SlIcon.prototype, "svg", 2);
1970
+ __decorateClass([
1971
+ n5({ reflect: true })
1972
+ ], SlIcon.prototype, "name", 2);
1973
+ __decorateClass([
1974
+ n5()
1975
+ ], SlIcon.prototype, "src", 2);
1976
+ __decorateClass([
1977
+ n5()
1978
+ ], SlIcon.prototype, "label", 2);
1979
+ __decorateClass([
1980
+ n5({ reflect: true })
1981
+ ], SlIcon.prototype, "library", 2);
1982
+ __decorateClass([
1983
+ watch("label")
1984
+ ], SlIcon.prototype, "handleLabelChange", 1);
1985
+ __decorateClass([
1986
+ watch(["name", "src", "library"])
1987
+ ], SlIcon.prototype, "setIcon", 1);
1988
+
1989
+ // ../../node_modules/lit/node_modules/lit-html/directive.js
1990
+ var t4 = { ATTRIBUTE: 1, CHILD: 2, PROPERTY: 3, BOOLEAN_ATTRIBUTE: 4, EVENT: 5, ELEMENT: 6 };
1991
+ var e6 = (t5) => (...e7) => ({ _$litDirective$: t5, values: e7 });
1992
+ var i3 = class {
1993
+ constructor(t5) {
1994
+ }
1995
+ get _$AU() {
1996
+ return this._$AM._$AU;
1997
+ }
1998
+ _$AT(t5, e7, i4) {
1999
+ this.t = t5, this._$AM = e7, this.i = i4;
2000
+ }
2001
+ _$AS(t5, e7) {
2002
+ return this.update(t5, e7);
2003
+ }
2004
+ update(t5, e7) {
2005
+ return this.render(...e7);
2006
+ }
2007
+ };
2008
+
2009
+ // ../../node_modules/lit/node_modules/lit-html/directives/class-map.js
2010
+ var Rt = e6(class extends i3 {
2011
+ constructor(s3) {
2012
+ if (super(s3), s3.type !== t4.ATTRIBUTE || "class" !== s3.name || s3.strings?.length > 2) throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.");
2013
+ }
2014
+ render(t5) {
2015
+ return " " + Object.keys(t5).filter((s3) => t5[s3]).join(" ") + " ";
2016
+ }
2017
+ update(t5, [s3]) {
2018
+ if (void 0 === this.st) {
2019
+ this.st = /* @__PURE__ */ new Set(), void 0 !== t5.strings && (this.nt = new Set(t5.strings.join(" ").split(/\s/).filter((t6) => "" !== t6)));
2020
+ for (const t6 in s3) s3[t6] && !this.nt?.has(t6) && this.st.add(t6);
2021
+ return this.render(s3);
2022
+ }
2023
+ const i4 = t5.element.classList;
2024
+ for (const t6 of this.st) t6 in s3 || (i4.remove(t6), this.st.delete(t6));
2025
+ for (const t6 in s3) {
2026
+ const r6 = !!s3[t6];
2027
+ r6 === this.st.has(t6) || this.nt?.has(t6) || (r6 ? (i4.add(t6), this.st.add(t6)) : (i4.remove(t6), this.st.delete(t6)));
2028
+ }
2029
+ return R;
2030
+ }
2031
+ });
2032
+
2033
+ // ../../node_modules/lit/node_modules/lit-html/static.js
2034
+ var $e = Symbol.for("");
2035
+ var xe = (t5) => {
2036
+ if (t5?.r === $e) return t5?._$litStatic$;
2037
+ };
2038
+ var er = (t5, ...r6) => ({ _$litStatic$: r6.reduce((r7, e7, a3) => r7 + ((t6) => {
2039
+ if (void 0 !== t6._$litStatic$) return t6._$litStatic$;
2040
+ throw Error(`Value passed to 'literal' function must be a 'literal' result: ${t6}. Use 'unsafeStatic' to pass non-literal values, but
2041
+ take care to ensure page security.`);
2042
+ })(e7) + t5[a3 + 1], t5[0]), r: $e });
2043
+ var Te = /* @__PURE__ */ new Map();
2044
+ var Ee = (t5) => (r6, ...e7) => {
2045
+ const a3 = e7.length;
2046
+ let o6, s3;
2047
+ const i4 = [], l3 = [];
2048
+ let n6, u3 = 0, c5 = false;
2049
+ for (; u3 < a3; ) {
2050
+ for (n6 = r6[u3]; u3 < a3 && void 0 !== (s3 = e7[u3], o6 = xe(s3)); ) n6 += o6 + r6[++u3], c5 = true;
2051
+ u3 !== a3 && l3.push(s3), i4.push(n6), u3++;
2052
+ }
2053
+ if (u3 === a3 && i4.push(r6[a3]), c5) {
2054
+ const t6 = i4.join("$$lit$$");
2055
+ void 0 === (r6 = Te.get(t6)) && (i4.raw = i4, Te.set(t6, r6 = i4)), e7 = l3;
2056
+ }
2057
+ return t5(r6, ...e7);
2058
+ };
2059
+ var ke3 = Ee(ke);
2060
+ var Oe3 = Ee(Oe);
2061
+ var Se3 = Ee(Se);
2062
+
2063
+ // ../../node_modules/lit/node_modules/lit-html/directives/if-defined.js
2064
+ var to = (t5) => t5 ?? D;
2065
+
2066
+ // ../../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.AYP3HPB7.js
2067
+ var SlIconButton = class extends ShoelaceElement {
2068
+ constructor() {
2069
+ super(...arguments);
2070
+ this.hasFocus = false;
2071
+ this.label = "";
2072
+ this.disabled = false;
2073
+ }
2074
+ handleBlur() {
2075
+ this.hasFocus = false;
2076
+ this.emit("sl-blur");
2077
+ }
2078
+ handleFocus() {
2079
+ this.hasFocus = true;
2080
+ this.emit("sl-focus");
2081
+ }
2082
+ handleClick(event) {
2083
+ if (this.disabled) {
2084
+ event.preventDefault();
2085
+ event.stopPropagation();
2086
+ }
2087
+ }
2088
+ /** Simulates a click on the icon button. */
2089
+ click() {
2090
+ this.button.click();
2091
+ }
2092
+ /** Sets focus on the icon button. */
2093
+ focus(options) {
2094
+ this.button.focus(options);
2095
+ }
2096
+ /** Removes focus from the icon button. */
2097
+ blur() {
2098
+ this.button.blur();
2099
+ }
2100
+ render() {
2101
+ const isLink = this.href ? true : false;
2102
+ const tag = isLink ? er`a` : er`button`;
2103
+ return ke3`
2104
+ <${tag}
2105
+ part="base"
2106
+ class=${Rt({
2107
+ "icon-button": true,
2108
+ "icon-button--disabled": !isLink && this.disabled,
2109
+ "icon-button--focused": this.hasFocus
2110
+ })}
2111
+ ?disabled=${to(isLink ? void 0 : this.disabled)}
2112
+ type=${to(isLink ? void 0 : "button")}
2113
+ href=${to(isLink ? this.href : void 0)}
2114
+ target=${to(isLink ? this.target : void 0)}
2115
+ download=${to(isLink ? this.download : void 0)}
2116
+ rel=${to(isLink && this.target ? "noreferrer noopener" : void 0)}
2117
+ role=${to(isLink ? void 0 : "button")}
2118
+ aria-disabled=${this.disabled ? "true" : "false"}
2119
+ aria-label="${this.label}"
2120
+ tabindex=${this.disabled ? "-1" : "0"}
2121
+ @blur=${this.handleBlur}
2122
+ @focus=${this.handleFocus}
2123
+ @click=${this.handleClick}
2124
+ >
2125
+ <sl-icon
2126
+ class="icon-button__icon"
2127
+ name=${to(this.name)}
2128
+ library=${to(this.library)}
2129
+ src=${to(this.src)}
2130
+ aria-hidden="true"
2131
+ ></sl-icon>
2132
+ </${tag}>
2133
+ `;
2134
+ }
2135
+ };
2136
+ SlIconButton.styles = [component_styles_default, icon_button_styles_default];
2137
+ SlIconButton.dependencies = { "sl-icon": SlIcon };
2138
+ __decorateClass([
2139
+ e5(".icon-button")
2140
+ ], SlIconButton.prototype, "button", 2);
2141
+ __decorateClass([
2142
+ r5()
2143
+ ], SlIconButton.prototype, "hasFocus", 2);
2144
+ __decorateClass([
2145
+ n5()
2146
+ ], SlIconButton.prototype, "name", 2);
2147
+ __decorateClass([
2148
+ n5()
2149
+ ], SlIconButton.prototype, "library", 2);
2150
+ __decorateClass([
2151
+ n5()
2152
+ ], SlIconButton.prototype, "src", 2);
2153
+ __decorateClass([
2154
+ n5()
2155
+ ], SlIconButton.prototype, "href", 2);
2156
+ __decorateClass([
2157
+ n5()
2158
+ ], SlIconButton.prototype, "target", 2);
2159
+ __decorateClass([
2160
+ n5()
2161
+ ], SlIconButton.prototype, "download", 2);
2162
+ __decorateClass([
2163
+ n5()
2164
+ ], SlIconButton.prototype, "label", 2);
2165
+ __decorateClass([
2166
+ n5({ type: Boolean, reflect: true })
2167
+ ], SlIconButton.prototype, "disabled", 2);
2168
+
2169
+ // ../../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.FXXKMG2P.js
2170
+ var option_styles_default = i`
2171
+ :host {
2172
+ display: block;
2173
+ user-select: none;
2174
+ -webkit-user-select: none;
2175
+ }
2176
+
2177
+ :host(:focus) {
2178
+ outline: none;
2179
+ }
2180
+
2181
+ .option {
2182
+ position: relative;
2183
+ display: flex;
2184
+ align-items: center;
2185
+ font-family: var(--sl-font-sans);
2186
+ font-size: var(--sl-font-size-medium);
2187
+ font-weight: var(--sl-font-weight-normal);
2188
+ line-height: var(--sl-line-height-normal);
2189
+ letter-spacing: var(--sl-letter-spacing-normal);
2190
+ color: var(--sl-color-neutral-700);
2191
+ padding: var(--sl-spacing-x-small) var(--sl-spacing-medium) var(--sl-spacing-x-small) var(--sl-spacing-x-small);
2192
+ transition: var(--sl-transition-fast) fill;
2193
+ cursor: pointer;
2194
+ }
2195
+
2196
+ .option--hover:not(.option--current):not(.option--disabled) {
2197
+ background-color: var(--sl-color-neutral-100);
2198
+ color: var(--sl-color-neutral-1000);
2199
+ }
2200
+
2201
+ .option--current,
2202
+ .option--current.option--disabled {
2203
+ background-color: var(--sl-color-primary-600);
2204
+ color: var(--sl-color-neutral-0);
2205
+ opacity: 1;
2206
+ }
2207
+
2208
+ .option--disabled {
2209
+ outline: none;
2210
+ opacity: 0.5;
2211
+ cursor: not-allowed;
2212
+ }
2213
+
2214
+ .option__label {
2215
+ flex: 1 1 auto;
2216
+ display: inline-block;
2217
+ line-height: var(--sl-line-height-dense);
2218
+ }
2219
+
2220
+ .option .option__check {
2221
+ flex: 0 0 auto;
2222
+ display: flex;
2223
+ align-items: center;
2224
+ justify-content: center;
2225
+ visibility: hidden;
2226
+ padding-inline-end: var(--sl-spacing-2x-small);
2227
+ }
2228
+
2229
+ .option--selected .option__check {
2230
+ visibility: visible;
2231
+ }
2232
+
2233
+ .option__prefix,
2234
+ .option__suffix {
2235
+ flex: 0 0 auto;
2236
+ display: flex;
2237
+ align-items: center;
2238
+ }
2239
+
2240
+ .option__prefix::slotted(*) {
2241
+ margin-inline-end: var(--sl-spacing-x-small);
2242
+ }
2243
+
2244
+ .option__suffix::slotted(*) {
2245
+ margin-inline-start: var(--sl-spacing-x-small);
2246
+ }
2247
+
2248
+ @media (forced-colors: active) {
2249
+ :host(:hover:not([aria-disabled='true'])) .option {
2250
+ outline: dashed 1px SelectedItem;
2251
+ outline-offset: -1px;
2252
+ }
2253
+ }
2254
+ `;
2255
+
2256
+ // ../../node_modules/@shoelace-style/localize/dist/index.js
2257
+ var connectedElements = /* @__PURE__ */ new Set();
2258
+ var documentElementObserver = new MutationObserver(update);
2259
+ var translations = /* @__PURE__ */ new Map();
2260
+ var documentDirection = document.documentElement.dir || "ltr";
2261
+ var documentLanguage = document.documentElement.lang || navigator.language;
2262
+ var fallback;
2263
+ documentElementObserver.observe(document.documentElement, {
2264
+ attributes: true,
2265
+ attributeFilter: ["dir", "lang"]
2266
+ });
2267
+ function registerTranslation(...translation2) {
2268
+ translation2.map((t5) => {
2269
+ const code = t5.$code.toLowerCase();
2270
+ if (translations.has(code)) {
2271
+ translations.set(code, Object.assign(Object.assign({}, translations.get(code)), t5));
2272
+ } else {
2273
+ translations.set(code, t5);
2274
+ }
2275
+ if (!fallback) {
2276
+ fallback = t5;
2277
+ }
2278
+ });
2279
+ update();
2280
+ }
2281
+ function update() {
2282
+ documentDirection = document.documentElement.dir || "ltr";
2283
+ documentLanguage = document.documentElement.lang || navigator.language;
2284
+ [...connectedElements.keys()].map((el) => {
2285
+ if (typeof el.requestUpdate === "function") {
2286
+ el.requestUpdate();
2287
+ }
2288
+ });
2289
+ }
2290
+ var LocalizeController = class {
2291
+ constructor(host) {
2292
+ this.host = host;
2293
+ this.host.addController(this);
2294
+ }
2295
+ hostConnected() {
2296
+ connectedElements.add(this.host);
2297
+ }
2298
+ hostDisconnected() {
2299
+ connectedElements.delete(this.host);
2300
+ }
2301
+ dir() {
2302
+ return `${this.host.dir || documentDirection}`.toLowerCase();
2303
+ }
2304
+ lang() {
2305
+ return `${this.host.lang || documentLanguage}`.toLowerCase();
2306
+ }
2307
+ getTranslationData(lang) {
2308
+ var _a4, _b;
2309
+ const locale = new Intl.Locale(lang.replace(/_/g, "-"));
2310
+ const language = locale === null || locale === void 0 ? void 0 : locale.language.toLowerCase();
2311
+ const region = (_b = (_a4 = locale === null || locale === void 0 ? void 0 : locale.region) === null || _a4 === void 0 ? void 0 : _a4.toLowerCase()) !== null && _b !== void 0 ? _b : "";
2312
+ const primary = translations.get(`${language}-${region}`);
2313
+ const secondary = translations.get(language);
2314
+ return { locale, language, region, primary, secondary };
2315
+ }
2316
+ exists(key, options) {
2317
+ var _a4;
2318
+ const { primary, secondary } = this.getTranslationData((_a4 = options.lang) !== null && _a4 !== void 0 ? _a4 : this.lang());
2319
+ options = Object.assign({ includeFallback: false }, options);
2320
+ if (primary && primary[key] || secondary && secondary[key] || options.includeFallback && fallback && fallback[key]) {
2321
+ return true;
2322
+ }
2323
+ return false;
2324
+ }
2325
+ term(key, ...args) {
2326
+ const { primary, secondary } = this.getTranslationData(this.lang());
2327
+ let term;
2328
+ if (primary && primary[key]) {
2329
+ term = primary[key];
2330
+ } else if (secondary && secondary[key]) {
2331
+ term = secondary[key];
2332
+ } else if (fallback && fallback[key]) {
2333
+ term = fallback[key];
2334
+ } else {
2335
+ console.error(`No translation found for: ${String(key)}`);
2336
+ return String(key);
2337
+ }
2338
+ if (typeof term === "function") {
2339
+ return term(...args);
2340
+ }
2341
+ return term;
2342
+ }
2343
+ date(dateToFormat, options) {
2344
+ dateToFormat = new Date(dateToFormat);
2345
+ return new Intl.DateTimeFormat(this.lang(), options).format(dateToFormat);
2346
+ }
2347
+ number(numberToFormat, options) {
2348
+ numberToFormat = Number(numberToFormat);
2349
+ return isNaN(numberToFormat) ? "" : new Intl.NumberFormat(this.lang(), options).format(numberToFormat);
2350
+ }
2351
+ relativeTime(value, unit, options) {
2352
+ return new Intl.RelativeTimeFormat(this.lang(), options).format(value, unit);
2353
+ }
2354
+ };
2355
+
2356
+ // ../../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.MAS2SHYD.js
2357
+ var translation = {
2358
+ $code: "en",
2359
+ $name: "English",
2360
+ $dir: "ltr",
2361
+ carousel: "Carousel",
2362
+ clearEntry: "Clear entry",
2363
+ close: "Close",
2364
+ copied: "Copied",
2365
+ copy: "Copy",
2366
+ currentValue: "Current value",
2367
+ error: "Error",
2368
+ goToSlide: (slide, count) => `Go to slide ${slide} of ${count}`,
2369
+ hidePassword: "Hide password",
2370
+ loading: "Loading",
2371
+ nextSlide: "Next slide",
2372
+ numOptionsSelected: (num) => {
2373
+ if (num === 0)
2374
+ return "No options selected";
2375
+ if (num === 1)
2376
+ return "1 option selected";
2377
+ return `${num} options selected`;
2378
+ },
2379
+ previousSlide: "Previous slide",
2380
+ progress: "Progress",
2381
+ remove: "Remove",
2382
+ resize: "Resize",
2383
+ scrollToEnd: "Scroll to end",
2384
+ scrollToStart: "Scroll to start",
2385
+ selectAColorFromTheScreen: "Select a color from the screen",
2386
+ showPassword: "Show password",
2387
+ slideNum: (slide) => `Slide ${slide}`,
2388
+ toggleColorFormat: "Toggle color format"
2389
+ };
2390
+ registerTranslation(translation);
2391
+ var en_default = translation;
2392
+
2393
+ // ../../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.WLV3FVBR.js
2394
+ var LocalizeController2 = class extends LocalizeController {
2395
+ };
2396
+ registerTranslation(en_default);
2397
+
2398
+ // ../../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.4L6M7RA3.js
2399
+ var SlOption = class extends ShoelaceElement {
2400
+ constructor() {
2401
+ super(...arguments);
2402
+ this.localize = new LocalizeController2(this);
2403
+ this.current = false;
2404
+ this.selected = false;
2405
+ this.hasHover = false;
2406
+ this.value = "";
2407
+ this.disabled = false;
2408
+ }
2409
+ connectedCallback() {
2410
+ super.connectedCallback();
2411
+ this.setAttribute("role", "option");
2412
+ this.setAttribute("aria-selected", "false");
2413
+ }
2414
+ handleDefaultSlotChange() {
2415
+ const textLabel = this.getTextLabel();
2416
+ if (typeof this.cachedTextLabel === "undefined") {
2417
+ this.cachedTextLabel = textLabel;
2418
+ return;
2419
+ }
2420
+ if (textLabel !== this.cachedTextLabel) {
2421
+ this.cachedTextLabel = textLabel;
2422
+ this.emit("slotchange", { bubbles: true, composed: false, cancelable: false });
2423
+ }
2424
+ }
2425
+ handleMouseEnter() {
2426
+ this.hasHover = true;
2427
+ }
2428
+ handleMouseLeave() {
2429
+ this.hasHover = false;
2430
+ }
2431
+ handleDisabledChange() {
2432
+ this.setAttribute("aria-disabled", this.disabled ? "true" : "false");
2433
+ }
2434
+ handleSelectedChange() {
2435
+ this.setAttribute("aria-selected", this.selected ? "true" : "false");
2436
+ }
2437
+ handleValueChange() {
2438
+ if (typeof this.value !== "string") {
2439
+ this.value = String(this.value);
2440
+ }
2441
+ if (this.value.includes(" ")) {
2442
+ console.error(`Option values cannot include a space. All spaces have been replaced with underscores.`, this);
2443
+ this.value = this.value.replace(/ /g, "_");
2444
+ }
2445
+ }
2446
+ /** Returns a plain text label based on the option's content. */
2447
+ getTextLabel() {
2448
+ const nodes = this.childNodes;
2449
+ let label = "";
2450
+ [...nodes].forEach((node) => {
2451
+ if (node.nodeType === Node.ELEMENT_NODE) {
2452
+ if (!node.hasAttribute("slot")) {
2453
+ label += node.textContent;
2454
+ }
2455
+ }
2456
+ if (node.nodeType === Node.TEXT_NODE) {
2457
+ label += node.textContent;
2458
+ }
2459
+ });
2460
+ return label.trim();
2461
+ }
2462
+ render() {
2463
+ return ke`
2464
+ <div
2465
+ part="base"
2466
+ class=${Rt({
2467
+ option: true,
2468
+ "option--current": this.current,
2469
+ "option--disabled": this.disabled,
2470
+ "option--selected": this.selected,
2471
+ "option--hover": this.hasHover
2472
+ })}
2473
+ @mouseenter=${this.handleMouseEnter}
2474
+ @mouseleave=${this.handleMouseLeave}
2475
+ >
2476
+ <sl-icon part="checked-icon" class="option__check" name="check" library="system" aria-hidden="true"></sl-icon>
2477
+ <slot part="prefix" name="prefix" class="option__prefix"></slot>
2478
+ <slot part="label" class="option__label" @slotchange=${this.handleDefaultSlotChange}></slot>
2479
+ <slot part="suffix" name="suffix" class="option__suffix"></slot>
2480
+ </div>
2481
+ `;
2482
+ }
2483
+ };
2484
+ SlOption.styles = [component_styles_default, option_styles_default];
2485
+ SlOption.dependencies = { "sl-icon": SlIcon };
2486
+ __decorateClass([
2487
+ e5(".option__label")
2488
+ ], SlOption.prototype, "defaultSlot", 2);
2489
+ __decorateClass([
2490
+ r5()
2491
+ ], SlOption.prototype, "current", 2);
2492
+ __decorateClass([
2493
+ r5()
2494
+ ], SlOption.prototype, "selected", 2);
2495
+ __decorateClass([
2496
+ r5()
2497
+ ], SlOption.prototype, "hasHover", 2);
2498
+ __decorateClass([
2499
+ n5({ reflect: true })
2500
+ ], SlOption.prototype, "value", 2);
2501
+ __decorateClass([
2502
+ n5({ type: Boolean, reflect: true })
2503
+ ], SlOption.prototype, "disabled", 2);
2504
+ __decorateClass([
2505
+ watch("disabled")
2506
+ ], SlOption.prototype, "handleDisabledChange", 1);
2507
+ __decorateClass([
2508
+ watch("selected")
2509
+ ], SlOption.prototype, "handleSelectedChange", 1);
2510
+ __decorateClass([
2511
+ watch("value")
2512
+ ], SlOption.prototype, "handleValueChange", 1);
2513
+
2514
+ // ../../node_modules/bootstrap-icons/icons/plus.svg
2515
+ var plus_default = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-plus" viewBox="0 0 16 16">%0A <path d="M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4"/>%0A</svg>';
2516
+
2517
+ // ../../node_modules/bootstrap-icons/icons/slash-circle.svg
2518
+ var slash_circle_default = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-slash-circle" viewBox="0 0 16 16">%0A <path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16"/>%0A <path d="M11.354 4.646a.5.5 0 0 0-.708 0l-6 6a.5.5 0 0 0 .708.708l6-6a.5.5 0 0 0 0-.708"/>%0A</svg>';
2519
+
2520
+ // ../../node_modules/bootstrap-icons/icons/check-circle.svg
2521
+ var check_circle_default = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-check-circle" viewBox="0 0 16 16">%0A <path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16"/>%0A <path d="m10.97 4.97-.02.022-3.473 4.425-2.093-2.094a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-1.071-1.05"/>%0A</svg>';
2522
+
2523
+ // ../../node_modules/bootstrap-icons/icons/x.svg
2524
+ var x_default = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-x" viewBox="0 0 16 16">%0A <path d="M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708"/>%0A</svg>';
2525
+
2526
+ // ../../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.GGT72J62.js
2527
+ var input_styles_default = i`
2528
+ :host {
2529
+ display: block;
2530
+ }
2531
+
2532
+ .input {
2533
+ flex: 1 1 auto;
2534
+ display: inline-flex;
2535
+ align-items: stretch;
2536
+ justify-content: start;
2537
+ position: relative;
2538
+ width: 100%;
2539
+ font-family: var(--sl-input-font-family);
2540
+ font-weight: var(--sl-input-font-weight);
2541
+ letter-spacing: var(--sl-input-letter-spacing);
2542
+ vertical-align: middle;
2543
+ overflow: hidden;
2544
+ cursor: text;
2545
+ transition:
2546
+ var(--sl-transition-fast) color,
2547
+ var(--sl-transition-fast) border,
2548
+ var(--sl-transition-fast) box-shadow,
2549
+ var(--sl-transition-fast) background-color;
2550
+ }
2551
+
2552
+ /* Standard inputs */
2553
+ .input--standard {
2554
+ background-color: var(--sl-input-background-color);
2555
+ border: solid var(--sl-input-border-width) var(--sl-input-border-color);
2556
+ }
2557
+
2558
+ .input--standard:hover:not(.input--disabled) {
2559
+ background-color: var(--sl-input-background-color-hover);
2560
+ border-color: var(--sl-input-border-color-hover);
2561
+ }
2562
+
2563
+ .input--standard.input--focused:not(.input--disabled) {
2564
+ background-color: var(--sl-input-background-color-focus);
2565
+ border-color: var(--sl-input-border-color-focus);
2566
+ box-shadow: 0 0 0 var(--sl-focus-ring-width) var(--sl-input-focus-ring-color);
2567
+ }
2568
+
2569
+ .input--standard.input--focused:not(.input--disabled) .input__control {
2570
+ color: var(--sl-input-color-focus);
2571
+ }
2572
+
2573
+ .input--standard.input--disabled {
2574
+ background-color: var(--sl-input-background-color-disabled);
2575
+ border-color: var(--sl-input-border-color-disabled);
2576
+ opacity: 0.5;
2577
+ cursor: not-allowed;
2578
+ }
2579
+
2580
+ .input--standard.input--disabled .input__control {
2581
+ color: var(--sl-input-color-disabled);
2582
+ }
2583
+
2584
+ .input--standard.input--disabled .input__control::placeholder {
2585
+ color: var(--sl-input-placeholder-color-disabled);
2586
+ }
2587
+
2588
+ /* Filled inputs */
2589
+ .input--filled {
2590
+ border: none;
2591
+ background-color: var(--sl-input-filled-background-color);
2592
+ color: var(--sl-input-color);
2593
+ }
2594
+
2595
+ .input--filled:hover:not(.input--disabled) {
2596
+ background-color: var(--sl-input-filled-background-color-hover);
2597
+ }
2598
+
2599
+ .input--filled.input--focused:not(.input--disabled) {
2600
+ background-color: var(--sl-input-filled-background-color-focus);
2601
+ outline: var(--sl-focus-ring);
2602
+ outline-offset: var(--sl-focus-ring-offset);
2603
+ }
2604
+
2605
+ .input--filled.input--disabled {
2606
+ background-color: var(--sl-input-filled-background-color-disabled);
2607
+ opacity: 0.5;
2608
+ cursor: not-allowed;
2609
+ }
2610
+
2611
+ .input__control {
2612
+ flex: 1 1 auto;
2613
+ font-family: inherit;
2614
+ font-size: inherit;
2615
+ font-weight: inherit;
2616
+ min-width: 0;
2617
+ height: 100%;
2618
+ color: var(--sl-input-color);
2619
+ border: none;
2620
+ background: inherit;
2621
+ box-shadow: none;
2622
+ padding: 0;
2623
+ margin: 0;
2624
+ cursor: inherit;
2625
+ -webkit-appearance: none;
2626
+ }
2627
+
2628
+ .input__control::-webkit-search-decoration,
2629
+ .input__control::-webkit-search-cancel-button,
2630
+ .input__control::-webkit-search-results-button,
2631
+ .input__control::-webkit-search-results-decoration {
2632
+ -webkit-appearance: none;
2633
+ }
2634
+
2635
+ .input__control:-webkit-autofill,
2636
+ .input__control:-webkit-autofill:hover,
2637
+ .input__control:-webkit-autofill:focus,
2638
+ .input__control:-webkit-autofill:active {
2639
+ box-shadow: 0 0 0 var(--sl-input-height-large) var(--sl-input-background-color-hover) inset !important;
2640
+ -webkit-text-fill-color: var(--sl-color-primary-500);
2641
+ caret-color: var(--sl-input-color);
2642
+ }
2643
+
2644
+ .input--filled .input__control:-webkit-autofill,
2645
+ .input--filled .input__control:-webkit-autofill:hover,
2646
+ .input--filled .input__control:-webkit-autofill:focus,
2647
+ .input--filled .input__control:-webkit-autofill:active {
2648
+ box-shadow: 0 0 0 var(--sl-input-height-large) var(--sl-input-filled-background-color) inset !important;
2649
+ }
2650
+
2651
+ .input__control::placeholder {
2652
+ color: var(--sl-input-placeholder-color);
2653
+ user-select: none;
2654
+ -webkit-user-select: none;
2655
+ }
2656
+
2657
+ .input:hover:not(.input--disabled) .input__control {
2658
+ color: var(--sl-input-color-hover);
2659
+ }
2660
+
2661
+ .input__control:focus {
2662
+ outline: none;
2663
+ }
2664
+
2665
+ .input__prefix,
2666
+ .input__suffix {
2667
+ display: inline-flex;
2668
+ flex: 0 0 auto;
2669
+ align-items: center;
2670
+ cursor: default;
2671
+ }
2672
+
2673
+ .input__prefix ::slotted(sl-icon),
2674
+ .input__suffix ::slotted(sl-icon) {
2675
+ color: var(--sl-input-icon-color);
2676
+ }
2677
+
2678
+ /*
2679
+ * Size modifiers
2680
+ */
2681
+
2682
+ .input--small {
2683
+ border-radius: var(--sl-input-border-radius-small);
2684
+ font-size: var(--sl-input-font-size-small);
2685
+ height: var(--sl-input-height-small);
2686
+ }
2687
+
2688
+ .input--small .input__control {
2689
+ height: calc(var(--sl-input-height-small) - var(--sl-input-border-width) * 2);
2690
+ padding: 0 var(--sl-input-spacing-small);
2691
+ }
2692
+
2693
+ .input--small .input__clear,
2694
+ .input--small .input__password-toggle {
2695
+ width: calc(1em + var(--sl-input-spacing-small) * 2);
2696
+ }
2697
+
2698
+ .input--small .input__prefix ::slotted(*) {
2699
+ margin-inline-start: var(--sl-input-spacing-small);
2700
+ }
2701
+
2702
+ .input--small .input__suffix ::slotted(*) {
2703
+ margin-inline-end: var(--sl-input-spacing-small);
2704
+ }
2705
+
2706
+ .input--medium {
2707
+ border-radius: var(--sl-input-border-radius-medium);
2708
+ font-size: var(--sl-input-font-size-medium);
2709
+ height: var(--sl-input-height-medium);
2710
+ }
2711
+
2712
+ .input--medium .input__control {
2713
+ height: calc(var(--sl-input-height-medium) - var(--sl-input-border-width) * 2);
2714
+ padding: 0 var(--sl-input-spacing-medium);
2715
+ }
2716
+
2717
+ .input--medium .input__clear,
2718
+ .input--medium .input__password-toggle {
2719
+ width: calc(1em + var(--sl-input-spacing-medium) * 2);
2720
+ }
2721
+
2722
+ .input--medium .input__prefix ::slotted(*) {
2723
+ margin-inline-start: var(--sl-input-spacing-medium);
2724
+ }
2725
+
2726
+ .input--medium .input__suffix ::slotted(*) {
2727
+ margin-inline-end: var(--sl-input-spacing-medium);
2728
+ }
2729
+
2730
+ .input--large {
2731
+ border-radius: var(--sl-input-border-radius-large);
2732
+ font-size: var(--sl-input-font-size-large);
2733
+ height: var(--sl-input-height-large);
2734
+ }
2735
+
2736
+ .input--large .input__control {
2737
+ height: calc(var(--sl-input-height-large) - var(--sl-input-border-width) * 2);
2738
+ padding: 0 var(--sl-input-spacing-large);
2739
+ }
2740
+
2741
+ .input--large .input__clear,
2742
+ .input--large .input__password-toggle {
2743
+ width: calc(1em + var(--sl-input-spacing-large) * 2);
2744
+ }
2745
+
2746
+ .input--large .input__prefix ::slotted(*) {
2747
+ margin-inline-start: var(--sl-input-spacing-large);
2748
+ }
2749
+
2750
+ .input--large .input__suffix ::slotted(*) {
2751
+ margin-inline-end: var(--sl-input-spacing-large);
2752
+ }
2753
+
2754
+ /*
2755
+ * Pill modifier
2756
+ */
2757
+
2758
+ .input--pill.input--small {
2759
+ border-radius: var(--sl-input-height-small);
2760
+ }
2761
+
2762
+ .input--pill.input--medium {
2763
+ border-radius: var(--sl-input-height-medium);
2764
+ }
2765
+
2766
+ .input--pill.input--large {
2767
+ border-radius: var(--sl-input-height-large);
2768
+ }
2769
+
2770
+ /*
2771
+ * Clearable + Password Toggle
2772
+ */
2773
+
2774
+ .input__clear,
2775
+ .input__password-toggle {
2776
+ display: inline-flex;
2777
+ align-items: center;
2778
+ justify-content: center;
2779
+ font-size: inherit;
2780
+ color: var(--sl-input-icon-color);
2781
+ border: none;
2782
+ background: none;
2783
+ padding: 0;
2784
+ transition: var(--sl-transition-fast) color;
2785
+ cursor: pointer;
2786
+ }
2787
+
2788
+ .input__clear:hover,
2789
+ .input__password-toggle:hover {
2790
+ color: var(--sl-input-icon-color-hover);
2791
+ }
2792
+
2793
+ .input__clear:focus,
2794
+ .input__password-toggle:focus {
2795
+ outline: none;
2796
+ }
2797
+
2798
+ /* Don't show the browser's password toggle in Edge */
2799
+ ::-ms-reveal {
2800
+ display: none;
2801
+ }
2802
+
2803
+ /* Hide the built-in number spinner */
2804
+ .input--no-spin-buttons input[type='number']::-webkit-outer-spin-button,
2805
+ .input--no-spin-buttons input[type='number']::-webkit-inner-spin-button {
2806
+ -webkit-appearance: none;
2807
+ display: none;
2808
+ }
2809
+
2810
+ .input--no-spin-buttons input[type='number'] {
2811
+ -moz-appearance: textfield;
2812
+ }
2813
+ `;
2814
+
2815
+ // ../../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.GI7VDIWX.js
2816
+ var defaultValue = (propertyName = "value") => (proto, key) => {
2817
+ const ctor = proto.constructor;
2818
+ const attributeChangedCallback = ctor.prototype.attributeChangedCallback;
2819
+ ctor.prototype.attributeChangedCallback = function(name, old, value) {
2820
+ var _a4;
2821
+ const options = ctor.getPropertyOptions(propertyName);
2822
+ const attributeName = typeof options.attribute === "string" ? options.attribute : propertyName;
2823
+ if (name === attributeName) {
2824
+ const converter = options.converter || u;
2825
+ const fromAttribute = typeof converter === "function" ? converter : (_a4 = converter == null ? void 0 : converter.fromAttribute) != null ? _a4 : u.fromAttribute;
2826
+ const newValue = fromAttribute(value, options.type);
2827
+ if (this[propertyName] !== newValue) {
2828
+ this[key] = newValue;
2829
+ }
2830
+ }
2831
+ attributeChangedCallback.call(this, name, old, value);
2832
+ };
42
2833
  };
43
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
44
- var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
45
- var __privateIn = (member, obj) => Object(obj) !== obj ? __typeError('Cannot use the "in" operator on this value') : member.has(obj);
46
- var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
47
- var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
48
- var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
49
- var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
50
2834
 
51
- // src/widgets/webwriter-cloze-gap.ts
52
- import { html as html2, css as css2 } from "lit";
53
- import { LitElementWw } from "@webwriter/lit";
54
- import { customElement as customElement2, query as query2 } from "lit/decorators.js";
55
- import SlIconButton from "@shoelace-style/shoelace/dist/components/icon-button/icon-button.component.js";
56
- import SlOption from "@shoelace-style/shoelace/dist/components/option/option.component.js";
2835
+ // ../../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.SI4ACBFK.js
2836
+ var form_control_styles_default = i`
2837
+ .form-control .form-control__label {
2838
+ display: none;
2839
+ }
57
2840
 
58
- // ../../node_modules/bootstrap-icons/icons/plus.svg
59
- var plus_default = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-plus" viewBox="0 0 16 16">%0A <path d="M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4"/>%0A</svg>';
2841
+ .form-control .form-control__help-text {
2842
+ display: none;
2843
+ }
60
2844
 
61
- // ../../node_modules/bootstrap-icons/icons/slash-circle.svg
62
- var slash_circle_default = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-slash-circle" viewBox="0 0 16 16">%0A <path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16"/>%0A <path d="M11.354 4.646a.5.5 0 0 0-.708 0l-6 6a.5.5 0 0 0 .708.708l6-6a.5.5 0 0 0 0-.708"/>%0A</svg>';
2845
+ /* Label */
2846
+ .form-control--has-label .form-control__label {
2847
+ display: inline-block;
2848
+ color: var(--sl-input-label-color);
2849
+ margin-bottom: var(--sl-spacing-3x-small);
2850
+ }
63
2851
 
64
- // ../../node_modules/bootstrap-icons/icons/check-circle.svg
65
- var check_circle_default = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-check-circle" viewBox="0 0 16 16">%0A <path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16"/>%0A <path d="m10.97 4.97-.02.022-3.473 4.425-2.093-2.094a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-1.071-1.05"/>%0A</svg>';
2852
+ .form-control--has-label.form-control--small .form-control__label {
2853
+ font-size: var(--sl-input-label-font-size-small);
2854
+ }
66
2855
 
67
- // ../../node_modules/bootstrap-icons/icons/x.svg
68
- var x_default = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-x" viewBox="0 0 16 16">%0A <path d="M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708"/>%0A</svg>';
2856
+ .form-control--has-label.form-control--medium .form-control__label {
2857
+ font-size: var(--sl-input-label-font-size-medium);
2858
+ }
69
2859
 
70
- // src/lib/combobox.ts
71
- import { LitElement, html, css } from "lit";
72
- import { customElement, property, query, queryAssignedElements } from "lit/decorators.js";
73
- import SlInput from "@shoelace-style/shoelace/dist/components/input/input.component.js";
2860
+ .form-control--has-label.form-control--large .form-control__label {
2861
+ font-size: var(--sl-input-label-font-size-large);
2862
+ }
2863
+
2864
+ :host([required]) .form-control--has-label .form-control__label::after {
2865
+ content: var(--sl-input-required-content);
2866
+ margin-inline-start: var(--sl-input-required-content-offset);
2867
+ color: var(--sl-input-required-content-color);
2868
+ }
2869
+
2870
+ /* Help text */
2871
+ .form-control--has-help-text .form-control__help-text {
2872
+ display: block;
2873
+ color: var(--sl-input-help-text-color);
2874
+ margin-top: var(--sl-spacing-3x-small);
2875
+ }
2876
+
2877
+ .form-control--has-help-text.form-control--small .form-control__help-text {
2878
+ font-size: var(--sl-input-help-text-font-size-small);
2879
+ }
2880
+
2881
+ .form-control--has-help-text.form-control--medium .form-control__help-text {
2882
+ font-size: var(--sl-input-help-text-font-size-medium);
2883
+ }
2884
+
2885
+ .form-control--has-help-text.form-control--large .form-control__help-text {
2886
+ font-size: var(--sl-input-help-text-font-size-large);
2887
+ }
2888
+
2889
+ .form-control--has-help-text.form-control--radio-group .form-control__help-text {
2890
+ margin-top: var(--sl-spacing-2x-small);
2891
+ }
2892
+ `;
2893
+
2894
+ // ../../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.2RCF7SLU.js
2895
+ var formCollections = /* @__PURE__ */ new WeakMap();
2896
+ var reportValidityOverloads = /* @__PURE__ */ new WeakMap();
2897
+ var checkValidityOverloads = /* @__PURE__ */ new WeakMap();
2898
+ var userInteractedControls = /* @__PURE__ */ new WeakSet();
2899
+ var interactions = /* @__PURE__ */ new WeakMap();
2900
+ var FormControlController = class {
2901
+ constructor(host, options) {
2902
+ this.handleFormData = (event) => {
2903
+ const disabled = this.options.disabled(this.host);
2904
+ const name = this.options.name(this.host);
2905
+ const value = this.options.value(this.host);
2906
+ const isButton = this.host.tagName.toLowerCase() === "sl-button";
2907
+ if (this.host.isConnected && !disabled && !isButton && typeof name === "string" && name.length > 0 && typeof value !== "undefined") {
2908
+ if (Array.isArray(value)) {
2909
+ value.forEach((val) => {
2910
+ event.formData.append(name, val.toString());
2911
+ });
2912
+ } else {
2913
+ event.formData.append(name, value.toString());
2914
+ }
2915
+ }
2916
+ };
2917
+ this.handleFormSubmit = (event) => {
2918
+ var _a4;
2919
+ const disabled = this.options.disabled(this.host);
2920
+ const reportValidity = this.options.reportValidity;
2921
+ if (this.form && !this.form.noValidate) {
2922
+ (_a4 = formCollections.get(this.form)) == null ? void 0 : _a4.forEach((control) => {
2923
+ this.setUserInteracted(control, true);
2924
+ });
2925
+ }
2926
+ if (this.form && !this.form.noValidate && !disabled && !reportValidity(this.host)) {
2927
+ event.preventDefault();
2928
+ event.stopImmediatePropagation();
2929
+ }
2930
+ };
2931
+ this.handleFormReset = () => {
2932
+ this.options.setValue(this.host, this.options.defaultValue(this.host));
2933
+ this.setUserInteracted(this.host, false);
2934
+ interactions.set(this.host, []);
2935
+ };
2936
+ this.handleInteraction = (event) => {
2937
+ const emittedEvents = interactions.get(this.host);
2938
+ if (!emittedEvents.includes(event.type)) {
2939
+ emittedEvents.push(event.type);
2940
+ }
2941
+ if (emittedEvents.length === this.options.assumeInteractionOn.length) {
2942
+ this.setUserInteracted(this.host, true);
2943
+ }
2944
+ };
2945
+ this.checkFormValidity = () => {
2946
+ if (this.form && !this.form.noValidate) {
2947
+ const elements = this.form.querySelectorAll("*");
2948
+ for (const element of elements) {
2949
+ if (typeof element.checkValidity === "function") {
2950
+ if (!element.checkValidity()) {
2951
+ return false;
2952
+ }
2953
+ }
2954
+ }
2955
+ }
2956
+ return true;
2957
+ };
2958
+ this.reportFormValidity = () => {
2959
+ if (this.form && !this.form.noValidate) {
2960
+ const elements = this.form.querySelectorAll("*");
2961
+ for (const element of elements) {
2962
+ if (typeof element.reportValidity === "function") {
2963
+ if (!element.reportValidity()) {
2964
+ return false;
2965
+ }
2966
+ }
2967
+ }
2968
+ }
2969
+ return true;
2970
+ };
2971
+ (this.host = host).addController(this);
2972
+ this.options = __spreadValues({
2973
+ form: (input) => {
2974
+ const formId = input.form;
2975
+ if (formId) {
2976
+ const root = input.getRootNode();
2977
+ const form = root.querySelector(`#${formId}`);
2978
+ if (form) {
2979
+ return form;
2980
+ }
2981
+ }
2982
+ return input.closest("form");
2983
+ },
2984
+ name: (input) => input.name,
2985
+ value: (input) => input.value,
2986
+ defaultValue: (input) => input.defaultValue,
2987
+ disabled: (input) => {
2988
+ var _a4;
2989
+ return (_a4 = input.disabled) != null ? _a4 : false;
2990
+ },
2991
+ reportValidity: (input) => typeof input.reportValidity === "function" ? input.reportValidity() : true,
2992
+ checkValidity: (input) => typeof input.checkValidity === "function" ? input.checkValidity() : true,
2993
+ setValue: (input, value) => input.value = value,
2994
+ assumeInteractionOn: ["sl-input"]
2995
+ }, options);
2996
+ }
2997
+ hostConnected() {
2998
+ const form = this.options.form(this.host);
2999
+ if (form) {
3000
+ this.attachForm(form);
3001
+ }
3002
+ interactions.set(this.host, []);
3003
+ this.options.assumeInteractionOn.forEach((event) => {
3004
+ this.host.addEventListener(event, this.handleInteraction);
3005
+ });
3006
+ }
3007
+ hostDisconnected() {
3008
+ this.detachForm();
3009
+ interactions.delete(this.host);
3010
+ this.options.assumeInteractionOn.forEach((event) => {
3011
+ this.host.removeEventListener(event, this.handleInteraction);
3012
+ });
3013
+ }
3014
+ hostUpdated() {
3015
+ const form = this.options.form(this.host);
3016
+ if (!form) {
3017
+ this.detachForm();
3018
+ }
3019
+ if (form && this.form !== form) {
3020
+ this.detachForm();
3021
+ this.attachForm(form);
3022
+ }
3023
+ if (this.host.hasUpdated) {
3024
+ this.setValidity(this.host.validity.valid);
3025
+ }
3026
+ }
3027
+ attachForm(form) {
3028
+ if (form) {
3029
+ this.form = form;
3030
+ if (formCollections.has(this.form)) {
3031
+ formCollections.get(this.form).add(this.host);
3032
+ } else {
3033
+ formCollections.set(this.form, /* @__PURE__ */ new Set([this.host]));
3034
+ }
3035
+ this.form.addEventListener("formdata", this.handleFormData);
3036
+ this.form.addEventListener("submit", this.handleFormSubmit);
3037
+ this.form.addEventListener("reset", this.handleFormReset);
3038
+ if (!reportValidityOverloads.has(this.form)) {
3039
+ reportValidityOverloads.set(this.form, this.form.reportValidity);
3040
+ this.form.reportValidity = () => this.reportFormValidity();
3041
+ }
3042
+ if (!checkValidityOverloads.has(this.form)) {
3043
+ checkValidityOverloads.set(this.form, this.form.checkValidity);
3044
+ this.form.checkValidity = () => this.checkFormValidity();
3045
+ }
3046
+ } else {
3047
+ this.form = void 0;
3048
+ }
3049
+ }
3050
+ detachForm() {
3051
+ if (!this.form)
3052
+ return;
3053
+ const formCollection = formCollections.get(this.form);
3054
+ if (!formCollection) {
3055
+ return;
3056
+ }
3057
+ formCollection.delete(this.host);
3058
+ if (formCollection.size <= 0) {
3059
+ this.form.removeEventListener("formdata", this.handleFormData);
3060
+ this.form.removeEventListener("submit", this.handleFormSubmit);
3061
+ this.form.removeEventListener("reset", this.handleFormReset);
3062
+ if (reportValidityOverloads.has(this.form)) {
3063
+ this.form.reportValidity = reportValidityOverloads.get(this.form);
3064
+ reportValidityOverloads.delete(this.form);
3065
+ }
3066
+ if (checkValidityOverloads.has(this.form)) {
3067
+ this.form.checkValidity = checkValidityOverloads.get(this.form);
3068
+ checkValidityOverloads.delete(this.form);
3069
+ }
3070
+ this.form = void 0;
3071
+ }
3072
+ }
3073
+ setUserInteracted(el, hasInteracted) {
3074
+ if (hasInteracted) {
3075
+ userInteractedControls.add(el);
3076
+ } else {
3077
+ userInteractedControls.delete(el);
3078
+ }
3079
+ el.requestUpdate();
3080
+ }
3081
+ doAction(type, submitter) {
3082
+ if (this.form) {
3083
+ const button = document.createElement("button");
3084
+ button.type = type;
3085
+ button.style.position = "absolute";
3086
+ button.style.width = "0";
3087
+ button.style.height = "0";
3088
+ button.style.clipPath = "inset(50%)";
3089
+ button.style.overflow = "hidden";
3090
+ button.style.whiteSpace = "nowrap";
3091
+ if (submitter) {
3092
+ button.name = submitter.name;
3093
+ button.value = submitter.value;
3094
+ ["formaction", "formenctype", "formmethod", "formnovalidate", "formtarget"].forEach((attr) => {
3095
+ if (submitter.hasAttribute(attr)) {
3096
+ button.setAttribute(attr, submitter.getAttribute(attr));
3097
+ }
3098
+ });
3099
+ }
3100
+ this.form.append(button);
3101
+ button.click();
3102
+ button.remove();
3103
+ }
3104
+ }
3105
+ /** Returns the associated `<form>` element, if one exists. */
3106
+ getForm() {
3107
+ var _a4;
3108
+ return (_a4 = this.form) != null ? _a4 : null;
3109
+ }
3110
+ /** Resets the form, restoring all the control to their default value */
3111
+ reset(submitter) {
3112
+ this.doAction("reset", submitter);
3113
+ }
3114
+ /** Submits the form, triggering validation and form data injection. */
3115
+ submit(submitter) {
3116
+ this.doAction("submit", submitter);
3117
+ }
3118
+ /**
3119
+ * Synchronously sets the form control's validity. Call this when you know the future validity but need to update
3120
+ * the host element immediately, i.e. before Lit updates the component in the next update.
3121
+ */
3122
+ setValidity(isValid) {
3123
+ const host = this.host;
3124
+ const hasInteracted = Boolean(userInteractedControls.has(host));
3125
+ const required = Boolean(host.required);
3126
+ host.toggleAttribute("data-required", required);
3127
+ host.toggleAttribute("data-optional", !required);
3128
+ host.toggleAttribute("data-invalid", !isValid);
3129
+ host.toggleAttribute("data-valid", isValid);
3130
+ host.toggleAttribute("data-user-invalid", !isValid && hasInteracted);
3131
+ host.toggleAttribute("data-user-valid", isValid && hasInteracted);
3132
+ }
3133
+ /**
3134
+ * Updates the form control's validity based on the current value of `host.validity.valid`. Call this when anything
3135
+ * that affects constraint validation changes so the component receives the correct validity states.
3136
+ */
3137
+ updateValidity() {
3138
+ const host = this.host;
3139
+ this.setValidity(host.validity.valid);
3140
+ }
3141
+ /**
3142
+ * Dispatches a non-bubbling, cancelable custom event of type `sl-invalid`.
3143
+ * If the `sl-invalid` event will be cancelled then the original `invalid`
3144
+ * event (which may have been passed as argument) will also be cancelled.
3145
+ * If no original `invalid` event has been passed then the `sl-invalid`
3146
+ * event will be cancelled before being dispatched.
3147
+ */
3148
+ emitInvalidEvent(originalInvalidEvent) {
3149
+ const slInvalidEvent = new CustomEvent("sl-invalid", {
3150
+ bubbles: false,
3151
+ composed: false,
3152
+ cancelable: true,
3153
+ detail: {}
3154
+ });
3155
+ if (!originalInvalidEvent) {
3156
+ slInvalidEvent.preventDefault();
3157
+ }
3158
+ if (!this.host.dispatchEvent(slInvalidEvent)) {
3159
+ originalInvalidEvent == null ? void 0 : originalInvalidEvent.preventDefault();
3160
+ }
3161
+ }
3162
+ };
3163
+ var validValidityState = Object.freeze({
3164
+ badInput: false,
3165
+ customError: false,
3166
+ patternMismatch: false,
3167
+ rangeOverflow: false,
3168
+ rangeUnderflow: false,
3169
+ stepMismatch: false,
3170
+ tooLong: false,
3171
+ tooShort: false,
3172
+ typeMismatch: false,
3173
+ valid: true,
3174
+ valueMissing: false
3175
+ });
3176
+ var valueMissingValidityState = Object.freeze(__spreadProps(__spreadValues({}, validValidityState), {
3177
+ valid: false,
3178
+ valueMissing: true
3179
+ }));
3180
+ var customErrorValidityState = Object.freeze(__spreadProps(__spreadValues({}, validValidityState), {
3181
+ valid: false,
3182
+ customError: true
3183
+ }));
3184
+
3185
+ // ../../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.NYIIDP5N.js
3186
+ var HasSlotController = class {
3187
+ constructor(host, ...slotNames) {
3188
+ this.slotNames = [];
3189
+ this.handleSlotChange = (event) => {
3190
+ const slot = event.target;
3191
+ if (this.slotNames.includes("[default]") && !slot.name || slot.name && this.slotNames.includes(slot.name)) {
3192
+ this.host.requestUpdate();
3193
+ }
3194
+ };
3195
+ (this.host = host).addController(this);
3196
+ this.slotNames = slotNames;
3197
+ }
3198
+ hasDefaultSlot() {
3199
+ return [...this.host.childNodes].some((node) => {
3200
+ if (node.nodeType === node.TEXT_NODE && node.textContent.trim() !== "") {
3201
+ return true;
3202
+ }
3203
+ if (node.nodeType === node.ELEMENT_NODE) {
3204
+ const el = node;
3205
+ const tagName = el.tagName.toLowerCase();
3206
+ if (tagName === "sl-visually-hidden") {
3207
+ return false;
3208
+ }
3209
+ if (!el.hasAttribute("slot")) {
3210
+ return true;
3211
+ }
3212
+ }
3213
+ return false;
3214
+ });
3215
+ }
3216
+ hasNamedSlot(name) {
3217
+ return this.host.querySelector(`:scope > [slot="${name}"]`) !== null;
3218
+ }
3219
+ test(slotName) {
3220
+ return slotName === "[default]" ? this.hasDefaultSlot() : this.hasNamedSlot(slotName);
3221
+ }
3222
+ hostConnected() {
3223
+ this.host.shadowRoot.addEventListener("slotchange", this.handleSlotChange);
3224
+ }
3225
+ hostDisconnected() {
3226
+ this.host.shadowRoot.removeEventListener("slotchange", this.handleSlotChange);
3227
+ }
3228
+ };
3229
+
3230
+ // ../../node_modules/lit/node_modules/lit-html/directives/live.js
3231
+ var Ft = e6(class extends i3 {
3232
+ constructor(r6) {
3233
+ if (super(r6), r6.type !== t4.PROPERTY && r6.type !== t4.ATTRIBUTE && r6.type !== t4.BOOLEAN_ATTRIBUTE) throw Error("The `live` directive is not allowed on child or event bindings");
3234
+ if (!rt(r6)) throw Error("`live` bindings can only contain a single expression");
3235
+ }
3236
+ render(r6) {
3237
+ return r6;
3238
+ }
3239
+ update(r6, [e7]) {
3240
+ if (e7 === R || e7 === D) return e7;
3241
+ const i4 = r6.element, n6 = r6.name;
3242
+ if (r6.type === t4.PROPERTY) {
3243
+ if (e7 === i4[n6]) return R;
3244
+ } else if (r6.type === t4.BOOLEAN_ATTRIBUTE) {
3245
+ if (!!e7 === i4.hasAttribute(n6)) return R;
3246
+ } else if (r6.type === t4.ATTRIBUTE && i4.getAttribute(n6) === e7 + "") return R;
3247
+ return dt(r6), e7;
3248
+ }
3249
+ });
3250
+
3251
+ // ../../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.4RFB4FGM.js
3252
+ var SlInput = class extends ShoelaceElement {
3253
+ constructor() {
3254
+ super(...arguments);
3255
+ this.formControlController = new FormControlController(this, {
3256
+ assumeInteractionOn: ["sl-blur", "sl-input"]
3257
+ });
3258
+ this.hasSlotController = new HasSlotController(this, "help-text", "label");
3259
+ this.localize = new LocalizeController2(this);
3260
+ this.hasFocus = false;
3261
+ this.title = "";
3262
+ this.__numberInput = Object.assign(document.createElement("input"), { type: "number" });
3263
+ this.__dateInput = Object.assign(document.createElement("input"), { type: "date" });
3264
+ this.type = "text";
3265
+ this.name = "";
3266
+ this.value = "";
3267
+ this.defaultValue = "";
3268
+ this.size = "medium";
3269
+ this.filled = false;
3270
+ this.pill = false;
3271
+ this.label = "";
3272
+ this.helpText = "";
3273
+ this.clearable = false;
3274
+ this.disabled = false;
3275
+ this.placeholder = "";
3276
+ this.readonly = false;
3277
+ this.passwordToggle = false;
3278
+ this.passwordVisible = false;
3279
+ this.noSpinButtons = false;
3280
+ this.form = "";
3281
+ this.required = false;
3282
+ this.spellcheck = true;
3283
+ }
3284
+ //
3285
+ // NOTE: We use an in-memory input for these getters/setters instead of the one in the template because the properties
3286
+ // can be set before the component is rendered.
3287
+ //
3288
+ /**
3289
+ * Gets or sets the current value as a `Date` object. Returns `null` if the value can't be converted. This will use the native `<input type="{{type}}">` implementation and may result in an error.
3290
+ */
3291
+ get valueAsDate() {
3292
+ var _a4;
3293
+ this.__dateInput.type = this.type;
3294
+ this.__dateInput.value = this.value;
3295
+ return ((_a4 = this.input) == null ? void 0 : _a4.valueAsDate) || this.__dateInput.valueAsDate;
3296
+ }
3297
+ set valueAsDate(newValue) {
3298
+ this.__dateInput.type = this.type;
3299
+ this.__dateInput.valueAsDate = newValue;
3300
+ this.value = this.__dateInput.value;
3301
+ }
3302
+ /** Gets or sets the current value as a number. Returns `NaN` if the value can't be converted. */
3303
+ get valueAsNumber() {
3304
+ var _a4;
3305
+ this.__numberInput.value = this.value;
3306
+ return ((_a4 = this.input) == null ? void 0 : _a4.valueAsNumber) || this.__numberInput.valueAsNumber;
3307
+ }
3308
+ set valueAsNumber(newValue) {
3309
+ this.__numberInput.valueAsNumber = newValue;
3310
+ this.value = this.__numberInput.value;
3311
+ }
3312
+ /** Gets the validity state object */
3313
+ get validity() {
3314
+ return this.input.validity;
3315
+ }
3316
+ /** Gets the validation message */
3317
+ get validationMessage() {
3318
+ return this.input.validationMessage;
3319
+ }
3320
+ firstUpdated() {
3321
+ this.formControlController.updateValidity();
3322
+ }
3323
+ handleBlur() {
3324
+ this.hasFocus = false;
3325
+ this.emit("sl-blur");
3326
+ }
3327
+ handleChange() {
3328
+ this.value = this.input.value;
3329
+ this.emit("sl-change");
3330
+ }
3331
+ handleClearClick(event) {
3332
+ event.preventDefault();
3333
+ if (this.value !== "") {
3334
+ this.value = "";
3335
+ this.emit("sl-clear");
3336
+ this.emit("sl-input");
3337
+ this.emit("sl-change");
3338
+ }
3339
+ this.input.focus();
3340
+ }
3341
+ handleFocus() {
3342
+ this.hasFocus = true;
3343
+ this.emit("sl-focus");
3344
+ }
3345
+ handleInput() {
3346
+ this.value = this.input.value;
3347
+ this.formControlController.updateValidity();
3348
+ this.emit("sl-input");
3349
+ }
3350
+ handleInvalid(event) {
3351
+ this.formControlController.setValidity(false);
3352
+ this.formControlController.emitInvalidEvent(event);
3353
+ }
3354
+ handleKeyDown(event) {
3355
+ const hasModifier = event.metaKey || event.ctrlKey || event.shiftKey || event.altKey;
3356
+ if (event.key === "Enter" && !hasModifier) {
3357
+ setTimeout(() => {
3358
+ if (!event.defaultPrevented && !event.isComposing) {
3359
+ this.formControlController.submit();
3360
+ }
3361
+ });
3362
+ }
3363
+ }
3364
+ handlePasswordToggle() {
3365
+ this.passwordVisible = !this.passwordVisible;
3366
+ }
3367
+ handleDisabledChange() {
3368
+ this.formControlController.setValidity(this.disabled);
3369
+ }
3370
+ handleStepChange() {
3371
+ this.input.step = String(this.step);
3372
+ this.formControlController.updateValidity();
3373
+ }
3374
+ async handleValueChange() {
3375
+ await this.updateComplete;
3376
+ this.formControlController.updateValidity();
3377
+ }
3378
+ /** Sets focus on the input. */
3379
+ focus(options) {
3380
+ this.input.focus(options);
3381
+ }
3382
+ /** Removes focus from the input. */
3383
+ blur() {
3384
+ this.input.blur();
3385
+ }
3386
+ /** Selects all the text in the input. */
3387
+ select() {
3388
+ this.input.select();
3389
+ }
3390
+ /** Sets the start and end positions of the text selection (0-based). */
3391
+ setSelectionRange(selectionStart, selectionEnd, selectionDirection = "none") {
3392
+ this.input.setSelectionRange(selectionStart, selectionEnd, selectionDirection);
3393
+ }
3394
+ /** Replaces a range of text with a new string. */
3395
+ setRangeText(replacement, start, end, selectMode = "preserve") {
3396
+ const selectionStart = start != null ? start : this.input.selectionStart;
3397
+ const selectionEnd = end != null ? end : this.input.selectionEnd;
3398
+ this.input.setRangeText(replacement, selectionStart, selectionEnd, selectMode);
3399
+ if (this.value !== this.input.value) {
3400
+ this.value = this.input.value;
3401
+ }
3402
+ }
3403
+ /** Displays the browser picker for an input element (only works if the browser supports it for the input type). */
3404
+ showPicker() {
3405
+ if ("showPicker" in HTMLInputElement.prototype) {
3406
+ this.input.showPicker();
3407
+ }
3408
+ }
3409
+ /** Increments the value of a numeric input type by the value of the step attribute. */
3410
+ stepUp() {
3411
+ this.input.stepUp();
3412
+ if (this.value !== this.input.value) {
3413
+ this.value = this.input.value;
3414
+ }
3415
+ }
3416
+ /** Decrements the value of a numeric input type by the value of the step attribute. */
3417
+ stepDown() {
3418
+ this.input.stepDown();
3419
+ if (this.value !== this.input.value) {
3420
+ this.value = this.input.value;
3421
+ }
3422
+ }
3423
+ /** Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid. */
3424
+ checkValidity() {
3425
+ return this.input.checkValidity();
3426
+ }
3427
+ /** Gets the associated form, if one exists. */
3428
+ getForm() {
3429
+ return this.formControlController.getForm();
3430
+ }
3431
+ /** Checks for validity and shows the browser's validation message if the control is invalid. */
3432
+ reportValidity() {
3433
+ return this.input.reportValidity();
3434
+ }
3435
+ /** Sets a custom validation message. Pass an empty string to restore validity. */
3436
+ setCustomValidity(message) {
3437
+ this.input.setCustomValidity(message);
3438
+ this.formControlController.updateValidity();
3439
+ }
3440
+ render() {
3441
+ const hasLabelSlot = this.hasSlotController.test("label");
3442
+ const hasHelpTextSlot = this.hasSlotController.test("help-text");
3443
+ const hasLabel = this.label ? true : !!hasLabelSlot;
3444
+ const hasHelpText = this.helpText ? true : !!hasHelpTextSlot;
3445
+ const hasClearIcon = this.clearable && !this.disabled && !this.readonly;
3446
+ const isClearIconVisible = hasClearIcon && (typeof this.value === "number" || this.value.length > 0);
3447
+ return ke`
3448
+ <div
3449
+ part="form-control"
3450
+ class=${Rt({
3451
+ "form-control": true,
3452
+ "form-control--small": this.size === "small",
3453
+ "form-control--medium": this.size === "medium",
3454
+ "form-control--large": this.size === "large",
3455
+ "form-control--has-label": hasLabel,
3456
+ "form-control--has-help-text": hasHelpText
3457
+ })}
3458
+ >
3459
+ <label
3460
+ part="form-control-label"
3461
+ class="form-control__label"
3462
+ for="input"
3463
+ aria-hidden=${hasLabel ? "false" : "true"}
3464
+ >
3465
+ <slot name="label">${this.label}</slot>
3466
+ </label>
3467
+
3468
+ <div part="form-control-input" class="form-control-input">
3469
+ <div
3470
+ part="base"
3471
+ class=${Rt({
3472
+ input: true,
3473
+ // Sizes
3474
+ "input--small": this.size === "small",
3475
+ "input--medium": this.size === "medium",
3476
+ "input--large": this.size === "large",
3477
+ // States
3478
+ "input--pill": this.pill,
3479
+ "input--standard": !this.filled,
3480
+ "input--filled": this.filled,
3481
+ "input--disabled": this.disabled,
3482
+ "input--focused": this.hasFocus,
3483
+ "input--empty": !this.value,
3484
+ "input--no-spin-buttons": this.noSpinButtons
3485
+ })}
3486
+ >
3487
+ <span part="prefix" class="input__prefix">
3488
+ <slot name="prefix"></slot>
3489
+ </span>
3490
+
3491
+ <input
3492
+ part="input"
3493
+ id="input"
3494
+ class="input__control"
3495
+ type=${this.type === "password" && this.passwordVisible ? "text" : this.type}
3496
+ title=${this.title}
3497
+ name=${to(this.name)}
3498
+ ?disabled=${this.disabled}
3499
+ ?readonly=${this.readonly}
3500
+ ?required=${this.required}
3501
+ placeholder=${to(this.placeholder)}
3502
+ minlength=${to(this.minlength)}
3503
+ maxlength=${to(this.maxlength)}
3504
+ min=${to(this.min)}
3505
+ max=${to(this.max)}
3506
+ step=${to(this.step)}
3507
+ .value=${Ft(this.value)}
3508
+ autocapitalize=${to(this.autocapitalize)}
3509
+ autocomplete=${to(this.autocomplete)}
3510
+ autocorrect=${to(this.autocorrect)}
3511
+ ?autofocus=${this.autofocus}
3512
+ spellcheck=${this.spellcheck}
3513
+ pattern=${to(this.pattern)}
3514
+ enterkeyhint=${to(this.enterkeyhint)}
3515
+ inputmode=${to(this.inputmode)}
3516
+ aria-describedby="help-text"
3517
+ @change=${this.handleChange}
3518
+ @input=${this.handleInput}
3519
+ @invalid=${this.handleInvalid}
3520
+ @keydown=${this.handleKeyDown}
3521
+ @focus=${this.handleFocus}
3522
+ @blur=${this.handleBlur}
3523
+ />
3524
+
3525
+ ${isClearIconVisible ? ke`
3526
+ <button
3527
+ part="clear-button"
3528
+ class="input__clear"
3529
+ type="button"
3530
+ aria-label=${this.localize.term("clearEntry")}
3531
+ @click=${this.handleClearClick}
3532
+ tabindex="-1"
3533
+ >
3534
+ <slot name="clear-icon">
3535
+ <sl-icon name="x-circle-fill" library="system"></sl-icon>
3536
+ </slot>
3537
+ </button>
3538
+ ` : ""}
3539
+ ${this.passwordToggle && !this.disabled ? ke`
3540
+ <button
3541
+ part="password-toggle-button"
3542
+ class="input__password-toggle"
3543
+ type="button"
3544
+ aria-label=${this.localize.term(this.passwordVisible ? "hidePassword" : "showPassword")}
3545
+ @click=${this.handlePasswordToggle}
3546
+ tabindex="-1"
3547
+ >
3548
+ ${this.passwordVisible ? ke`
3549
+ <slot name="show-password-icon">
3550
+ <sl-icon name="eye-slash" library="system"></sl-icon>
3551
+ </slot>
3552
+ ` : ke`
3553
+ <slot name="hide-password-icon">
3554
+ <sl-icon name="eye" library="system"></sl-icon>
3555
+ </slot>
3556
+ `}
3557
+ </button>
3558
+ ` : ""}
3559
+
3560
+ <span part="suffix" class="input__suffix">
3561
+ <slot name="suffix"></slot>
3562
+ </span>
3563
+ </div>
3564
+ </div>
3565
+
3566
+ <div
3567
+ part="form-control-help-text"
3568
+ id="help-text"
3569
+ class="form-control__help-text"
3570
+ aria-hidden=${hasHelpText ? "false" : "true"}
3571
+ >
3572
+ <slot name="help-text">${this.helpText}</slot>
3573
+ </div>
3574
+ </div>
3575
+ `;
3576
+ }
3577
+ };
3578
+ SlInput.styles = [component_styles_default, form_control_styles_default, input_styles_default];
3579
+ SlInput.dependencies = { "sl-icon": SlIcon };
3580
+ __decorateClass([
3581
+ e5(".input__control")
3582
+ ], SlInput.prototype, "input", 2);
3583
+ __decorateClass([
3584
+ r5()
3585
+ ], SlInput.prototype, "hasFocus", 2);
3586
+ __decorateClass([
3587
+ n5()
3588
+ ], SlInput.prototype, "title", 2);
3589
+ __decorateClass([
3590
+ n5({ reflect: true })
3591
+ ], SlInput.prototype, "type", 2);
3592
+ __decorateClass([
3593
+ n5()
3594
+ ], SlInput.prototype, "name", 2);
3595
+ __decorateClass([
3596
+ n5()
3597
+ ], SlInput.prototype, "value", 2);
3598
+ __decorateClass([
3599
+ defaultValue()
3600
+ ], SlInput.prototype, "defaultValue", 2);
3601
+ __decorateClass([
3602
+ n5({ reflect: true })
3603
+ ], SlInput.prototype, "size", 2);
3604
+ __decorateClass([
3605
+ n5({ type: Boolean, reflect: true })
3606
+ ], SlInput.prototype, "filled", 2);
3607
+ __decorateClass([
3608
+ n5({ type: Boolean, reflect: true })
3609
+ ], SlInput.prototype, "pill", 2);
3610
+ __decorateClass([
3611
+ n5()
3612
+ ], SlInput.prototype, "label", 2);
3613
+ __decorateClass([
3614
+ n5({ attribute: "help-text" })
3615
+ ], SlInput.prototype, "helpText", 2);
3616
+ __decorateClass([
3617
+ n5({ type: Boolean })
3618
+ ], SlInput.prototype, "clearable", 2);
3619
+ __decorateClass([
3620
+ n5({ type: Boolean, reflect: true })
3621
+ ], SlInput.prototype, "disabled", 2);
3622
+ __decorateClass([
3623
+ n5()
3624
+ ], SlInput.prototype, "placeholder", 2);
3625
+ __decorateClass([
3626
+ n5({ type: Boolean, reflect: true })
3627
+ ], SlInput.prototype, "readonly", 2);
3628
+ __decorateClass([
3629
+ n5({ attribute: "password-toggle", type: Boolean })
3630
+ ], SlInput.prototype, "passwordToggle", 2);
3631
+ __decorateClass([
3632
+ n5({ attribute: "password-visible", type: Boolean })
3633
+ ], SlInput.prototype, "passwordVisible", 2);
3634
+ __decorateClass([
3635
+ n5({ attribute: "no-spin-buttons", type: Boolean })
3636
+ ], SlInput.prototype, "noSpinButtons", 2);
3637
+ __decorateClass([
3638
+ n5({ reflect: true })
3639
+ ], SlInput.prototype, "form", 2);
3640
+ __decorateClass([
3641
+ n5({ type: Boolean, reflect: true })
3642
+ ], SlInput.prototype, "required", 2);
3643
+ __decorateClass([
3644
+ n5()
3645
+ ], SlInput.prototype, "pattern", 2);
3646
+ __decorateClass([
3647
+ n5({ type: Number })
3648
+ ], SlInput.prototype, "minlength", 2);
3649
+ __decorateClass([
3650
+ n5({ type: Number })
3651
+ ], SlInput.prototype, "maxlength", 2);
3652
+ __decorateClass([
3653
+ n5()
3654
+ ], SlInput.prototype, "min", 2);
3655
+ __decorateClass([
3656
+ n5()
3657
+ ], SlInput.prototype, "max", 2);
3658
+ __decorateClass([
3659
+ n5()
3660
+ ], SlInput.prototype, "step", 2);
3661
+ __decorateClass([
3662
+ n5()
3663
+ ], SlInput.prototype, "autocapitalize", 2);
3664
+ __decorateClass([
3665
+ n5()
3666
+ ], SlInput.prototype, "autocorrect", 2);
3667
+ __decorateClass([
3668
+ n5()
3669
+ ], SlInput.prototype, "autocomplete", 2);
3670
+ __decorateClass([
3671
+ n5({ type: Boolean })
3672
+ ], SlInput.prototype, "autofocus", 2);
3673
+ __decorateClass([
3674
+ n5()
3675
+ ], SlInput.prototype, "enterkeyhint", 2);
3676
+ __decorateClass([
3677
+ n5({
3678
+ type: Boolean,
3679
+ converter: {
3680
+ // Allow "true|false" attribute values but keep the property boolean
3681
+ fromAttribute: (value) => !value || value === "false" ? false : true,
3682
+ toAttribute: (value) => value ? "true" : "false"
3683
+ }
3684
+ })
3685
+ ], SlInput.prototype, "spellcheck", 2);
3686
+ __decorateClass([
3687
+ n5()
3688
+ ], SlInput.prototype, "inputmode", 2);
3689
+ __decorateClass([
3690
+ watch("disabled", { waitUntilFirstUpdate: true })
3691
+ ], SlInput.prototype, "handleDisabledChange", 1);
3692
+ __decorateClass([
3693
+ watch("step", { waitUntilFirstUpdate: true })
3694
+ ], SlInput.prototype, "handleStepChange", 1);
3695
+ __decorateClass([
3696
+ watch("value", { waitUntilFirstUpdate: true })
3697
+ ], SlInput.prototype, "handleValueChange", 1);
74
3698
 
75
3699
  // ../../node_modules/bootstrap-icons/icons/chevron-down.svg
76
3700
  var chevron_down_default = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-chevron-down" viewBox="0 0 16 16">%0A <path fill-rule="evenodd" 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-.708"/>%0A</svg>';
77
3701
 
3702
+ // ../../node_modules/lit/node_modules/lit-html/directives/style-map.js
3703
+ var ee = "important";
3704
+ var ie = " !" + ee;
3705
+ var se = e6(class extends i3 {
3706
+ constructor(e7) {
3707
+ if (super(e7), e7.type !== t4.ATTRIBUTE || "style" !== e7.name || e7.strings?.length > 2) throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.");
3708
+ }
3709
+ render(t5) {
3710
+ return Object.keys(t5).reduce((e7, r6) => {
3711
+ const s3 = t5[r6];
3712
+ return null == s3 ? e7 : e7 + `${r6 = r6.includes("-") ? r6 : r6.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g, "-$&").toLowerCase()}:${s3};`;
3713
+ }, "");
3714
+ }
3715
+ update(t5, [e7]) {
3716
+ const { style: r6 } = t5.element;
3717
+ if (void 0 === this.ft) return this.ft = new Set(Object.keys(e7)), this.render(e7);
3718
+ for (const t6 of this.ft) null == e7[t6] && (this.ft.delete(t6), t6.includes("-") ? r6.removeProperty(t6) : r6[t6] = null);
3719
+ for (const t6 in e7) {
3720
+ const s3 = e7[t6];
3721
+ if (null != s3) {
3722
+ this.ft.add(t6);
3723
+ const e8 = "string" == typeof s3 && s3.endsWith(ie);
3724
+ t6.includes("-") || e8 ? r6.setProperty(t6, e8 ? s3.slice(0, -11) : s3, e8 ? ee : "") : r6[t6] = s3;
3725
+ }
3726
+ }
3727
+ return R;
3728
+ }
3729
+ });
3730
+
78
3731
  // src/lib/combobox.ts
79
- import { ifDefined } from "lit/directives/if-defined.js";
80
- import { styleMap } from "lit/directives/style-map.js";
81
- var _inputEl_dec, _hideEl_dec, _label_dec, _type_dec, _required_dec, _disabled_dec, _autosize_dec, _placement_dec, _separator_dec, _fixLength_dec, _helpText_dec, _suggestions_dec, _open_dec, _emptyValue_dec, _placeholder_dec, _multiple_dec, _inputDisabled_dec, _active_dec, _autocomplete_dec, _optionElements_dec, _slotElement_dec, _toggleButton_dec, _input_dec, _defaultValue_dec, _value_dec, _a, _Combobox_decorators, _init, _value, _defaultValue, _input, _toggleButton, _slotElement, _optionElements, _autocomplete, _active, _inputDisabled, _multiple, _placeholder, _emptyValue, _open, _suggestions, _helpText, _fixLength, _separator, _placement, _autosize, _disabled, _required, _type, _label, _hideEl, _inputEl;
82
- _Combobox_decorators = [customElement("ww-combobox")];
83
- var Combobox = class extends (_a = LitElement, _value_dec = [property({ attribute: false })], _defaultValue_dec = [property({ attribute: false })], _input_dec = [query("input")], _toggleButton_dec = [query("#toggle")], _slotElement_dec = [query("slot:not([name])")], _optionElements_dec = [queryAssignedElements()], _autocomplete_dec = [property({ type: String, attribute: true })], _active_dec = [property({ type: Boolean, attribute: true, reflect: true })], _inputDisabled_dec = [property({ type: Boolean, attribute: true, reflect: true })], _multiple_dec = [property({ type: Boolean, attribute: true, reflect: true })], _placeholder_dec = [property({ type: String })], _emptyValue_dec = [property({ type: String, attribute: true, reflect: true })], _open_dec = [property({ type: Boolean, attribute: true, reflect: true })], _suggestions_dec = [property({ type: Boolean, attribute: true, reflect: true })], _helpText_dec = [property({ type: String, attribute: "help-text" })], _fixLength_dec = [property({ type: Number, attribute: true })], _separator_dec = [property({ type: String, attribute: true })], _placement_dec = [property({ type: String, attribute: true })], _autosize_dec = [property({ type: Boolean, attribute: true, reflect: true })], _disabled_dec = [property({ type: Boolean, attribute: true, reflect: true })], _required_dec = [property({ type: Boolean, attribute: true, reflect: true })], _type_dec = [property({ type: String, attribute: true, reflect: true })], _label_dec = [property({ type: String, attribute: true, reflect: true })], _hideEl_dec = [query("#hide")], _inputEl_dec = [query("input")], _a) {
3732
+ var _inputEl_dec, _hideEl_dec, _label_dec, _type_dec, _required_dec, _disabled_dec, _autosize_dec, _placement_dec, _separator_dec, _fixLength_dec, _helpText_dec, _suggestions_dec, _open_dec, _emptyValue_dec, _placeholder_dec, _multiple_dec, _inputDisabled_dec, _active_dec, _autocomplete_dec, _optionElements_dec, _slotElement_dec, _toggleButton_dec, _input_dec, _defaultValue_dec, _value_dec, _a2, _Combobox_decorators, _init2, _value, _defaultValue, _input, _toggleButton, _slotElement, _optionElements, _autocomplete, _active, _inputDisabled, _multiple, _placeholder, _emptyValue, _open, _suggestions, _helpText, _fixLength, _separator, _placement, _autosize, _disabled, _required, _type, _label, _hideEl, _inputEl;
3733
+ _Combobox_decorators = [t3("ww-combobox")];
3734
+ var Combobox = class extends (_a2 = h3, _value_dec = [n5({ attribute: false })], _defaultValue_dec = [n5({ attribute: false })], _input_dec = [e5("input")], _toggleButton_dec = [e5("#toggle")], _slotElement_dec = [e5("slot:not([name])")], _optionElements_dec = [o5()], _autocomplete_dec = [n5({ type: String, attribute: true })], _active_dec = [n5({ type: Boolean, attribute: true, reflect: true })], _inputDisabled_dec = [n5({ type: Boolean, attribute: true, reflect: true })], _multiple_dec = [n5({ type: Boolean, attribute: true, reflect: true })], _placeholder_dec = [n5({ type: String })], _emptyValue_dec = [n5({ type: String, attribute: true, reflect: true })], _open_dec = [n5({ type: Boolean, attribute: true, reflect: true })], _suggestions_dec = [n5({ type: Boolean, attribute: true, reflect: true })], _helpText_dec = [n5({ type: String, attribute: "help-text" })], _fixLength_dec = [n5({ type: Number, attribute: true })], _separator_dec = [n5({ type: String, attribute: true })], _placement_dec = [n5({ type: String, attribute: true })], _autosize_dec = [n5({ type: Boolean, attribute: true, reflect: true })], _disabled_dec = [n5({ type: Boolean, attribute: true, reflect: true })], _required_dec = [n5({ type: Boolean, attribute: true, reflect: true })], _type_dec = [n5({ type: String, attribute: true, reflect: true })], _label_dec = [n5({ type: String, attribute: true, reflect: true })], _hideEl_dec = [e5("#hide")], _inputEl_dec = [e5("input")], _a2) {
84
3735
  constructor() {
85
3736
  super();
86
3737
  __publicField(this, "tabIndex", 0);
87
3738
  //@ts-ignore
88
- __privateAdd(this, _value, __runInitializers(_init, 8, this)), __runInitializers(_init, 11, this);
3739
+ __privateAdd(this, _value, __runInitializers(_init2, 8, this)), __runInitializers(_init2, 11, this);
89
3740
  //@ts-ignore
90
- __privateAdd(this, _defaultValue, __runInitializers(_init, 12, this)), __runInitializers(_init, 15, this);
3741
+ __privateAdd(this, _defaultValue, __runInitializers(_init2, 12, this)), __runInitializers(_init2, 15, this);
91
3742
  //@ts-ignore
92
- __privateAdd(this, _input, __runInitializers(_init, 16, this)), __runInitializers(_init, 19, this);
93
- __privateAdd(this, _toggleButton, __runInitializers(_init, 20, this)), __runInitializers(_init, 23, this);
94
- __privateAdd(this, _slotElement, __runInitializers(_init, 24, this)), __runInitializers(_init, 27, this);
95
- __privateAdd(this, _optionElements, __runInitializers(_init, 28, this)), __runInitializers(_init, 31, this);
3743
+ __privateAdd(this, _input, __runInitializers(_init2, 16, this)), __runInitializers(_init2, 19, this);
3744
+ __privateAdd(this, _toggleButton, __runInitializers(_init2, 20, this)), __runInitializers(_init2, 23, this);
3745
+ __privateAdd(this, _slotElement, __runInitializers(_init2, 24, this)), __runInitializers(_init2, 27, this);
3746
+ __privateAdd(this, _optionElements, __runInitializers(_init2, 28, this)), __runInitializers(_init2, 31, this);
96
3747
  //@ts-ignore
97
- __privateAdd(this, _autocomplete, __runInitializers(_init, 32, this, "off")), __runInitializers(_init, 35, this);
98
- __privateAdd(this, _active, __runInitializers(_init, 36, this)), __runInitializers(_init, 39, this);
99
- __privateAdd(this, _inputDisabled, __runInitializers(_init, 40, this, false)), __runInitializers(_init, 43, this);
100
- __privateAdd(this, _multiple, __runInitializers(_init, 44, this, false)), __runInitializers(_init, 47, this);
3748
+ __privateAdd(this, _autocomplete, __runInitializers(_init2, 32, this, "off")), __runInitializers(_init2, 35, this);
3749
+ __privateAdd(this, _active, __runInitializers(_init2, 36, this)), __runInitializers(_init2, 39, this);
3750
+ __privateAdd(this, _inputDisabled, __runInitializers(_init2, 40, this, false)), __runInitializers(_init2, 43, this);
3751
+ __privateAdd(this, _multiple, __runInitializers(_init2, 44, this, false)), __runInitializers(_init2, 47, this);
101
3752
  //@ts-ignore
102
- __privateAdd(this, _placeholder, __runInitializers(_init, 48, this)), __runInitializers(_init, 51, this);
103
- __privateAdd(this, _emptyValue, __runInitializers(_init, 52, this)), __runInitializers(_init, 55, this);
104
- __privateAdd(this, _open, __runInitializers(_init, 56, this, false)), __runInitializers(_init, 59, this);
105
- __privateAdd(this, _suggestions, __runInitializers(_init, 60, this, false)), __runInitializers(_init, 63, this);
3753
+ __privateAdd(this, _placeholder, __runInitializers(_init2, 48, this)), __runInitializers(_init2, 51, this);
3754
+ __privateAdd(this, _emptyValue, __runInitializers(_init2, 52, this)), __runInitializers(_init2, 55, this);
3755
+ __privateAdd(this, _open, __runInitializers(_init2, 56, this, false)), __runInitializers(_init2, 59, this);
3756
+ __privateAdd(this, _suggestions, __runInitializers(_init2, 60, this, false)), __runInitializers(_init2, 63, this);
106
3757
  //@ts-ignore
107
- __privateAdd(this, _helpText, __runInitializers(_init, 64, this)), __runInitializers(_init, 67, this);
108
- __privateAdd(this, _fixLength, __runInitializers(_init, 68, this)), __runInitializers(_init, 71, this);
109
- __privateAdd(this, _separator, __runInitializers(_init, 72, this, " ")), __runInitializers(_init, 75, this);
110
- __privateAdd(this, _placement, __runInitializers(_init, 76, this, "bottom")), __runInitializers(_init, 79, this);
111
- __privateAdd(this, _autosize, __runInitializers(_init, 80, this, false)), __runInitializers(_init, 83, this);
112
- __privateAdd(this, _disabled, __runInitializers(_init, 84, this, false)), __runInitializers(_init, 87, this);
113
- __privateAdd(this, _required, __runInitializers(_init, 88, this, false)), __runInitializers(_init, 91, this);
114
- __privateAdd(this, _type, __runInitializers(_init, 92, this)), __runInitializers(_init, 95, this);
115
- __privateAdd(this, _label, __runInitializers(_init, 96, this)), __runInitializers(_init, 99, this);
116
- __publicField(this, "handleOptionClick", (e) => {
117
- const option = e.target.closest("sl-option");
3758
+ __privateAdd(this, _helpText, __runInitializers(_init2, 64, this)), __runInitializers(_init2, 67, this);
3759
+ __privateAdd(this, _fixLength, __runInitializers(_init2, 68, this)), __runInitializers(_init2, 71, this);
3760
+ __privateAdd(this, _separator, __runInitializers(_init2, 72, this, " ")), __runInitializers(_init2, 75, this);
3761
+ __privateAdd(this, _placement, __runInitializers(_init2, 76, this, "bottom")), __runInitializers(_init2, 79, this);
3762
+ __privateAdd(this, _autosize, __runInitializers(_init2, 80, this, false)), __runInitializers(_init2, 83, this);
3763
+ __privateAdd(this, _disabled, __runInitializers(_init2, 84, this, false)), __runInitializers(_init2, 87, this);
3764
+ __privateAdd(this, _required, __runInitializers(_init2, 88, this, false)), __runInitializers(_init2, 91, this);
3765
+ __privateAdd(this, _type, __runInitializers(_init2, 92, this)), __runInitializers(_init2, 95, this);
3766
+ __privateAdd(this, _label, __runInitializers(_init2, 96, this)), __runInitializers(_init2, 99, this);
3767
+ __publicField(this, "handleOptionClick", (e7) => {
3768
+ const option = e7.target.closest("sl-option");
118
3769
  if (option) {
119
3770
  this.value = option.value;
120
3771
  this.focus();
@@ -123,16 +3774,16 @@ var Combobox = class extends (_a = LitElement, _value_dec = [property({ attribut
123
3774
  this.requestUpdate();
124
3775
  }
125
3776
  });
126
- __privateAdd(this, _hideEl, __runInitializers(_init, 100, this)), __runInitializers(_init, 103, this);
127
- __privateAdd(this, _inputEl, __runInitializers(_init, 104, this)), __runInitializers(_init, 107, this);
128
- this.addEventListener("focus", (e) => {
3777
+ __privateAdd(this, _hideEl, __runInitializers(_init2, 100, this)), __runInitializers(_init2, 103, this);
3778
+ __privateAdd(this, _inputEl, __runInitializers(_init2, 104, this)), __runInitializers(_init2, 107, this);
3779
+ this.addEventListener("focus", (e7) => {
129
3780
  this.active = true;
130
3781
  this.open = true;
131
3782
  });
132
- this.addEventListener("focusout", (e) => {
3783
+ this.addEventListener("focusout", (e7) => {
133
3784
  this.active = this.open = false;
134
3785
  });
135
- this.addEventListener("blur", (e) => {
3786
+ this.addEventListener("blur", (e7) => {
136
3787
  this.active = this.open = false;
137
3788
  });
138
3789
  this.value = this.defaultValue = this.multiple ? [] : "";
@@ -165,9 +3816,9 @@ var Combobox = class extends (_a = LitElement, _value_dec = [property({ attribut
165
3816
  getForm() {
166
3817
  return this.input.form;
167
3818
  }
168
- handleTextInput(e) {
169
- const input = e.target;
170
- e.preventDefault();
3819
+ handleTextInput(e7) {
3820
+ const input = e7.target;
3821
+ e7.preventDefault();
171
3822
  if (!this.multiple && this.fixLength && input.value.length < this.fixLength) {
172
3823
  input.value = this.value;
173
3824
  } else if (!this.multiple) {
@@ -181,10 +3832,10 @@ var Combobox = class extends (_a = LitElement, _value_dec = [property({ attribut
181
3832
  this.dispatchInput();
182
3833
  this.setValidity(this.validity.valid);
183
3834
  }
184
- handleInputKeydown(e) {
185
- const input = e.target;
186
- if (this.multiple && e.key === "Backspace" && input.selectionStart === 0 && input.selectionEnd === 0) {
187
- e.preventDefault();
3835
+ handleInputKeydown(e7) {
3836
+ const input = e7.target;
3837
+ if (this.multiple && e7.key === "Backspace" && input.selectionStart === 0 && input.selectionEnd === 0) {
3838
+ e7.preventDefault();
188
3839
  this.value = this.valueList.slice(0, -1);
189
3840
  }
190
3841
  this.requestUpdate();
@@ -220,11 +3871,11 @@ var Combobox = class extends (_a = LitElement, _value_dec = [property({ attribut
220
3871
  return value !== this.emptyValue ? value : "";
221
3872
  }
222
3873
  render() {
223
- const input = html`
3874
+ const input = ke`
224
3875
  <input
225
3876
  part="input"
226
3877
  type=${this.type}
227
- size=${ifDefined(this.inputSize)}
3878
+ size=${to(this.inputSize)}
228
3879
  .value=${this.inputValue}
229
3880
  placeholder=${this.multiple && this.valueList.length > 1 ? "" : this.placeholder}
230
3881
  ?disabled=${this.disabled || this.inputDisabled}
@@ -232,20 +3883,20 @@ var Combobox = class extends (_a = LitElement, _value_dec = [property({ attribut
232
3883
  @change=${this.dispatchChange}
233
3884
  @keydown=${this.handleInputKeydown}
234
3885
  autocomplete=${this.autocomplete}
235
- style=${this.autosize ? styleMap({ width: `calc(${this.inputWidth}px + 2ch)` }) : void 0}
3886
+ style=${this.autosize ? se({ width: `calc(${this.inputWidth}px + 2ch)` }) : void 0}
236
3887
  >
237
3888
  `;
238
- return html`
3889
+ return ke`
239
3890
  <slot name="label" part="label" @click=${this.focus}>
240
3891
  <label>${this.label}</label>
241
3892
  </slot>
242
3893
  <div part="base" id="anchor" tabindex=${0}>
243
3894
  <slot name="prefix"></slot>
244
- ${this.multiple ? html`
3895
+ ${this.multiple ? ke`
245
3896
  <span id="values">
246
3897
  <slot name="values"></slot>
247
- ${this.valueList.slice(0, -1).map((v) => html`
248
- <sl-tag size="small" variant="primary">${v}</sl-tag>
3898
+ ${this.valueList.slice(0, -1).map((v3) => ke`
3899
+ <sl-tag size="small" variant="primary">${v3}</sl-tag>
249
3900
  `)}
250
3901
  ${input}
251
3902
  </span>
@@ -257,14 +3908,14 @@ var Combobox = class extends (_a = LitElement, _value_dec = [property({ attribut
257
3908
  part="trigger"
258
3909
  id="toggle"
259
3910
  src=${chevron_down_default}
260
- @focus=${(e) => e.stopPropagation()}
261
- @click=${(e) => {
3911
+ @focus=${(e7) => e7.stopPropagation()}
3912
+ @click=${(e7) => {
262
3913
  this.open = !this.open;
263
- e.stopPropagation();
3914
+ e7.stopPropagation();
264
3915
  }}
265
- @mousedown=${(e) => {
266
- e.stopPropagation();
267
- e.preventDefault();
3916
+ @mousedown=${(e7) => {
3917
+ e7.stopPropagation();
3918
+ e7.preventDefault();
268
3919
  }}
269
3920
  ></sl-icon-button>
270
3921
  </div>
@@ -279,7 +3930,7 @@ var Combobox = class extends (_a = LitElement, _value_dec = [property({ attribut
279
3930
  `;
280
3931
  }
281
3932
  };
282
- _init = __decoratorStart(_a);
3933
+ _init2 = __decoratorStart(_a2);
283
3934
  _value = new WeakMap();
284
3935
  _defaultValue = new WeakMap();
285
3936
  _input = new WeakMap();
@@ -305,34 +3956,34 @@ _type = new WeakMap();
305
3956
  _label = new WeakMap();
306
3957
  _hideEl = new WeakMap();
307
3958
  _inputEl = new WeakMap();
308
- __decorateElement(_init, 4, "value", _value_dec, Combobox, _value);
309
- __decorateElement(_init, 4, "defaultValue", _defaultValue_dec, Combobox, _defaultValue);
310
- __decorateElement(_init, 4, "input", _input_dec, Combobox, _input);
311
- __decorateElement(_init, 4, "toggleButton", _toggleButton_dec, Combobox, _toggleButton);
312
- __decorateElement(_init, 4, "slotElement", _slotElement_dec, Combobox, _slotElement);
313
- __decorateElement(_init, 4, "optionElements", _optionElements_dec, Combobox, _optionElements);
314
- __decorateElement(_init, 4, "autocomplete", _autocomplete_dec, Combobox, _autocomplete);
315
- __decorateElement(_init, 4, "active", _active_dec, Combobox, _active);
316
- __decorateElement(_init, 4, "inputDisabled", _inputDisabled_dec, Combobox, _inputDisabled);
317
- __decorateElement(_init, 4, "multiple", _multiple_dec, Combobox, _multiple);
318
- __decorateElement(_init, 4, "placeholder", _placeholder_dec, Combobox, _placeholder);
319
- __decorateElement(_init, 4, "emptyValue", _emptyValue_dec, Combobox, _emptyValue);
320
- __decorateElement(_init, 4, "open", _open_dec, Combobox, _open);
321
- __decorateElement(_init, 4, "suggestions", _suggestions_dec, Combobox, _suggestions);
322
- __decorateElement(_init, 4, "helpText", _helpText_dec, Combobox, _helpText);
323
- __decorateElement(_init, 4, "fixLength", _fixLength_dec, Combobox, _fixLength);
324
- __decorateElement(_init, 4, "separator", _separator_dec, Combobox, _separator);
325
- __decorateElement(_init, 4, "placement", _placement_dec, Combobox, _placement);
326
- __decorateElement(_init, 4, "autosize", _autosize_dec, Combobox, _autosize);
327
- __decorateElement(_init, 4, "disabled", _disabled_dec, Combobox, _disabled);
328
- __decorateElement(_init, 4, "required", _required_dec, Combobox, _required);
329
- __decorateElement(_init, 4, "type", _type_dec, Combobox, _type);
330
- __decorateElement(_init, 4, "label", _label_dec, Combobox, _label);
331
- __decorateElement(_init, 4, "hideEl", _hideEl_dec, Combobox, _hideEl);
332
- __decorateElement(_init, 4, "inputEl", _inputEl_dec, Combobox, _inputEl);
333
- Combobox = __decorateElement(_init, 0, "Combobox", _Combobox_decorators, Combobox);
334
- __publicField(Combobox, "shadowRootOptions", { ...LitElement.shadowRootOptions, delegatesFocus: true });
335
- __publicField(Combobox, "styles", [SlInput.styles, css`
3959
+ __decorateElement(_init2, 4, "value", _value_dec, Combobox, _value);
3960
+ __decorateElement(_init2, 4, "defaultValue", _defaultValue_dec, Combobox, _defaultValue);
3961
+ __decorateElement(_init2, 4, "input", _input_dec, Combobox, _input);
3962
+ __decorateElement(_init2, 4, "toggleButton", _toggleButton_dec, Combobox, _toggleButton);
3963
+ __decorateElement(_init2, 4, "slotElement", _slotElement_dec, Combobox, _slotElement);
3964
+ __decorateElement(_init2, 4, "optionElements", _optionElements_dec, Combobox, _optionElements);
3965
+ __decorateElement(_init2, 4, "autocomplete", _autocomplete_dec, Combobox, _autocomplete);
3966
+ __decorateElement(_init2, 4, "active", _active_dec, Combobox, _active);
3967
+ __decorateElement(_init2, 4, "inputDisabled", _inputDisabled_dec, Combobox, _inputDisabled);
3968
+ __decorateElement(_init2, 4, "multiple", _multiple_dec, Combobox, _multiple);
3969
+ __decorateElement(_init2, 4, "placeholder", _placeholder_dec, Combobox, _placeholder);
3970
+ __decorateElement(_init2, 4, "emptyValue", _emptyValue_dec, Combobox, _emptyValue);
3971
+ __decorateElement(_init2, 4, "open", _open_dec, Combobox, _open);
3972
+ __decorateElement(_init2, 4, "suggestions", _suggestions_dec, Combobox, _suggestions);
3973
+ __decorateElement(_init2, 4, "helpText", _helpText_dec, Combobox, _helpText);
3974
+ __decorateElement(_init2, 4, "fixLength", _fixLength_dec, Combobox, _fixLength);
3975
+ __decorateElement(_init2, 4, "separator", _separator_dec, Combobox, _separator);
3976
+ __decorateElement(_init2, 4, "placement", _placement_dec, Combobox, _placement);
3977
+ __decorateElement(_init2, 4, "autosize", _autosize_dec, Combobox, _autosize);
3978
+ __decorateElement(_init2, 4, "disabled", _disabled_dec, Combobox, _disabled);
3979
+ __decorateElement(_init2, 4, "required", _required_dec, Combobox, _required);
3980
+ __decorateElement(_init2, 4, "type", _type_dec, Combobox, _type);
3981
+ __decorateElement(_init2, 4, "label", _label_dec, Combobox, _label);
3982
+ __decorateElement(_init2, 4, "hideEl", _hideEl_dec, Combobox, _hideEl);
3983
+ __decorateElement(_init2, 4, "inputEl", _inputEl_dec, Combobox, _inputEl);
3984
+ Combobox = __decorateElement(_init2, 0, "Combobox", _Combobox_decorators, Combobox);
3985
+ __publicField(Combobox, "shadowRootOptions", { ...h3.shadowRootOptions, delegatesFocus: true });
3986
+ __publicField(Combobox, "styles", [SlInput.styles, i`
336
3987
  * {
337
3988
  font-family: var(--sl-font-sans);
338
3989
  }
@@ -517,57 +4168,56 @@ __publicField(Combobox, "styles", [SlInput.styles, css`
517
4168
  font-size: var(--sl-input-font-size-small);
518
4169
  }
519
4170
  `]);
520
- __runInitializers(_init, 1, Combobox);
4171
+ __runInitializers(_init2, 1, Combobox);
521
4172
 
522
4173
  // src/widgets/webwriter-cloze-gap.ts
523
- import { property as property2 } from "lit/decorators/property.js";
524
- var _isAdding_dec, _input_dec2, _showOptions_dec, _distraction_dec, _value_dec2, _solution_dec, _a2, _WebwriterClozeGap_decorators, _init2, _solution, _value2, _distraction, _showOptions, _input2, _isAdding;
525
- _WebwriterClozeGap_decorators = [customElement2("webwriter-cloze-gap")];
526
- var _WebwriterClozeGap = class _WebwriterClozeGap extends (_a2 = LitElementWw, _solution_dec = [property2({ type: Array, attribute: true, reflect: true })], _value_dec2 = [property2({ type: String, attribute: true, reflect: true })], _distraction_dec = [property2({ type: Array, attribute: true, reflect: true })], _showOptions_dec = [property2({ type: Boolean, attribute: true, reflect: true })], _input_dec2 = [query2("ww-combobox")], _isAdding_dec = [property2({ type: Boolean, attribute: false })], _a2) {
4174
+ var _isAdding_dec, _input_dec2, _showOptions_dec, _distraction_dec, _value_dec2, _solution_dec, _a3, _WebwriterClozeGap_decorators, _init3, _solution, _value2, _distraction, _showOptions, _input2, _isAdding;
4175
+ _WebwriterClozeGap_decorators = [t3("webwriter-cloze-gap")];
4176
+ var _WebwriterClozeGap = class _WebwriterClozeGap extends (_a3 = LitElementWw, _solution_dec = [n5({ type: Array, attribute: true, reflect: true })], _value_dec2 = [n5({ type: String, attribute: true, reflect: true })], _distraction_dec = [n5({ type: Array, attribute: true, reflect: true })], _showOptions_dec = [n5({ type: Boolean, attribute: true, reflect: true })], _input_dec2 = [e5("ww-combobox")], _isAdding_dec = [n5({ type: Boolean, attribute: false })], _a3) {
527
4177
  constructor() {
528
4178
  super(...arguments);
529
- __privateAdd(this, _solution, __runInitializers(_init2, 8, this)), __runInitializers(_init2, 11, this);
530
- __privateAdd(this, _value2, __runInitializers(_init2, 12, this)), __runInitializers(_init2, 15, this);
531
- __privateAdd(this, _distraction, __runInitializers(_init2, 16, this, [])), __runInitializers(_init2, 19, this);
532
- __privateAdd(this, _showOptions, __runInitializers(_init2, 20, this, false)), __runInitializers(_init2, 23, this);
4179
+ __privateAdd(this, _solution, __runInitializers(_init3, 8, this)), __runInitializers(_init3, 11, this);
4180
+ __privateAdd(this, _value2, __runInitializers(_init3, 12, this)), __runInitializers(_init3, 15, this);
4181
+ __privateAdd(this, _distraction, __runInitializers(_init3, 16, this, [])), __runInitializers(_init3, 19, this);
4182
+ __privateAdd(this, _showOptions, __runInitializers(_init3, 20, this, false)), __runInitializers(_init3, 23, this);
533
4183
  __publicField(this, "msg", (str) => this.lang in _WebwriterClozeGap.localization ? _WebwriterClozeGap.localization[this.lang][str] ?? str : str);
534
- __privateAdd(this, _input2, __runInitializers(_init2, 24, this)), __runInitializers(_init2, 27, this);
535
- __publicField(this, "handleChange", (e) => {
536
- e.preventDefault();
4184
+ __privateAdd(this, _input2, __runInitializers(_init3, 24, this)), __runInitializers(_init3, 27, this);
4185
+ __publicField(this, "handleChange", (e7) => {
4186
+ e7.preventDefault();
537
4187
  if (!this.isContentEditable) {
538
4188
  this.value = this.input.value;
539
4189
  }
540
4190
  });
541
- __publicField(this, "handleAddClick", (e) => {
542
- e.stopImmediatePropagation();
543
- e.preventDefault();
4191
+ __publicField(this, "handleAddClick", (e7) => {
4192
+ e7.stopImmediatePropagation();
4193
+ e7.preventDefault();
544
4194
  this.addSolution(this.input.value);
545
4195
  this.isAdding = true;
546
4196
  this.input.value = "";
547
4197
  this.input.open = true;
548
4198
  });
549
- __publicField(this, "handleToggleClick", (e, value) => {
550
- e.stopImmediatePropagation();
551
- e.preventDefault();
4199
+ __publicField(this, "handleToggleClick", (e7, value) => {
4200
+ e7.stopImmediatePropagation();
4201
+ e7.preventDefault();
552
4202
  this.toggleOptionType(value);
553
4203
  });
554
- __publicField(this, "handleRemoveClick", (e, value) => {
555
- e.stopImmediatePropagation();
556
- e.preventDefault();
4204
+ __publicField(this, "handleRemoveClick", (e7, value) => {
4205
+ e7.stopImmediatePropagation();
4206
+ e7.preventDefault();
557
4207
  this.removeOption(value);
558
4208
  });
559
- __publicField(this, "handleKeydown", (e) => {
560
- if (e.key === "Enter") {
561
- this.handleAddClick(e);
4209
+ __publicField(this, "handleKeydown", (e7) => {
4210
+ if (e7.key === "Enter") {
4211
+ this.handleAddClick(e7);
562
4212
  }
563
4213
  });
564
- __publicField(this, "handleBlur", (e) => {
4214
+ __publicField(this, "handleBlur", (e7) => {
565
4215
  this.isAdding = false;
566
4216
  if (this.solution.length === 1) {
567
4217
  this.input.value = this.solution[0];
568
4218
  }
569
4219
  });
570
- __privateAdd(this, _isAdding, __runInitializers(_init2, 28, this, false)), __runInitializers(_init2, 31, this);
4220
+ __privateAdd(this, _isAdding, __runInitializers(_init3, 28, this, false)), __runInitializers(_init3, 31, this);
571
4221
  }
572
4222
  async focus() {
573
4223
  (await this.input).focus();
@@ -577,16 +4227,16 @@ var _WebwriterClozeGap = class _WebwriterClozeGap extends (_a2 = LitElementWw, _
577
4227
  }
578
4228
  toggleOptionType(value) {
579
4229
  if (this.solution.includes(value)) {
580
- this.solution = this.solution.filter((v) => v !== value);
4230
+ this.solution = this.solution.filter((v3) => v3 !== value);
581
4231
  this.distraction = Array.from(/* @__PURE__ */ new Set([...this.distraction ?? [], value]));
582
4232
  } else if (this.distraction.includes(value)) {
583
- this.distraction = this.distraction.filter((v) => v !== value);
4233
+ this.distraction = this.distraction.filter((v3) => v3 !== value);
584
4234
  this.solution = Array.from(/* @__PURE__ */ new Set([...this.solution ?? [], value]));
585
4235
  }
586
4236
  }
587
4237
  removeOption(value) {
588
- this.solution = this.solution.filter((v) => v !== value);
589
- this.distraction = this.distraction.filter((v) => v !== value);
4238
+ this.solution = this.solution.filter((v3) => v3 !== value);
4239
+ this.distraction = this.distraction.filter((v3) => v3 !== value);
590
4240
  if (this.allOptions.length === 0) {
591
4241
  this.isAdding = false;
592
4242
  }
@@ -595,48 +4245,48 @@ var _WebwriterClozeGap = class _WebwriterClozeGap extends (_a2 = LitElementWw, _
595
4245
  return [...this.solution ?? [], ...this.distraction];
596
4246
  }
597
4247
  render() {
598
- return html2`<ww-combobox @blur=${this.handleBlur} ?suggestions=${this.allOptions.length > 1 || this.isAdding || this.distraction.length > 0} size="small" autosize .value=${this.value} @sl-change=${this.handleChange} @sl-input=${() => this.requestUpdate()} @keydown=${this.handleKeydown} >
599
- <sl-icon-button id="add" title="Add another solution" ?disabled=${this.allOptions.includes(this.input?.value)} ?data-hidden=${!this.input?.value} src=${plus_default} size="small" slot="prefix" @click=${this.handleAddClick} @mousedown=${(e) => {
600
- e.stopPropagation();
601
- e.preventDefault();
602
- }} @focus=${(e) => e.stopPropagation()} ></sl-icon-button>
603
- ${this.allOptions.sort().map((value) => html2`
4248
+ return ke`<ww-combobox @blur=${this.handleBlur} ?suggestions=${this.allOptions.length > 1 || this.isAdding || this.distraction.length > 0} size="small" autosize .value=${this.value} @sl-change=${this.handleChange} @sl-input=${() => this.requestUpdate()} @keydown=${this.handleKeydown} >
4249
+ <sl-icon-button id="add" title="Add another solution" ?disabled=${this.allOptions.includes(this.input?.value)} ?data-hidden=${!this.input?.value} src=${plus_default} size="small" slot="prefix" @click=${this.handleAddClick} @mousedown=${(e7) => {
4250
+ e7.stopPropagation();
4251
+ e7.preventDefault();
4252
+ }} @focus=${(e7) => e7.stopPropagation()} ></sl-icon-button>
4253
+ ${this.allOptions.sort().map((value) => ke`
604
4254
  <sl-option size="small" value=${value} class=${this.solution.includes(value) ? "solution" : "distraction"} >
605
- <sl-icon-button title=${this.solution.includes(value) ? "Change to a distraction" : "Change to a solution"} class="toggle" slot="prefix" src=${this.solution.includes(value) ? check_circle_default : slash_circle_default} @click=${(e) => this.handleToggleClick(e, value)} @mousedown=${(e) => {
606
- e.stopPropagation();
607
- e.preventDefault();
4255
+ <sl-icon-button title=${this.solution.includes(value) ? "Change to a distraction" : "Change to a solution"} class="toggle" slot="prefix" src=${this.solution.includes(value) ? check_circle_default : slash_circle_default} @click=${(e7) => this.handleToggleClick(e7, value)} @mousedown=${(e7) => {
4256
+ e7.stopPropagation();
4257
+ e7.preventDefault();
608
4258
  }}></sl-icon-button>
609
4259
  <span title=${this.solution.includes(value) ? "Solution" : "Distraction"}>${value}</span>
610
- <sl-icon-button title="Remove" class="remove" slot="suffix" src=${x_default} @click=${(e) => this.handleRemoveClick(e, value)} @mousedown=${(e) => {
611
- e.stopPropagation();
612
- e.preventDefault();
4260
+ <sl-icon-button title="Remove" class="remove" slot="suffix" src=${x_default} @click=${(e7) => this.handleRemoveClick(e7, value)} @mousedown=${(e7) => {
4261
+ e7.stopPropagation();
4262
+ e7.preventDefault();
613
4263
  }}></sl-icon-button>
614
4264
  </sl-option>
615
4265
  `)}
616
4266
  </ww-combobox>`;
617
4267
  }
618
4268
  };
619
- _init2 = __decoratorStart(_a2);
4269
+ _init3 = __decoratorStart(_a3);
620
4270
  _solution = new WeakMap();
621
4271
  _value2 = new WeakMap();
622
4272
  _distraction = new WeakMap();
623
4273
  _showOptions = new WeakMap();
624
4274
  _input2 = new WeakMap();
625
4275
  _isAdding = new WeakMap();
626
- __decorateElement(_init2, 4, "solution", _solution_dec, _WebwriterClozeGap, _solution);
627
- __decorateElement(_init2, 4, "value", _value_dec2, _WebwriterClozeGap, _value2);
628
- __decorateElement(_init2, 4, "distraction", _distraction_dec, _WebwriterClozeGap, _distraction);
629
- __decorateElement(_init2, 4, "showOptions", _showOptions_dec, _WebwriterClozeGap, _showOptions);
630
- __decorateElement(_init2, 4, "input", _input_dec2, _WebwriterClozeGap, _input2);
631
- __decorateElement(_init2, 4, "isAdding", _isAdding_dec, _WebwriterClozeGap, _isAdding);
632
- _WebwriterClozeGap = __decorateElement(_init2, 0, "WebwriterClozeGap", _WebwriterClozeGap_decorators, _WebwriterClozeGap);
4276
+ __decorateElement(_init3, 4, "solution", _solution_dec, _WebwriterClozeGap, _solution);
4277
+ __decorateElement(_init3, 4, "value", _value_dec2, _WebwriterClozeGap, _value2);
4278
+ __decorateElement(_init3, 4, "distraction", _distraction_dec, _WebwriterClozeGap, _distraction);
4279
+ __decorateElement(_init3, 4, "showOptions", _showOptions_dec, _WebwriterClozeGap, _showOptions);
4280
+ __decorateElement(_init3, 4, "input", _input_dec2, _WebwriterClozeGap, _input2);
4281
+ __decorateElement(_init3, 4, "isAdding", _isAdding_dec, _WebwriterClozeGap, _isAdding);
4282
+ _WebwriterClozeGap = __decorateElement(_init3, 0, "WebwriterClozeGap", _WebwriterClozeGap_decorators, _WebwriterClozeGap);
633
4283
  __publicField(_WebwriterClozeGap, "localization", {});
634
4284
  __publicField(_WebwriterClozeGap, "scopedElements", {
635
4285
  "ww-combobox": Combobox,
636
4286
  "sl-icon-button": SlIconButton,
637
4287
  "sl-option": SlOption
638
4288
  });
639
- __publicField(_WebwriterClozeGap, "styles", css2`
4289
+ __publicField(_WebwriterClozeGap, "styles", i`
640
4290
  :host {
641
4291
  display: inline-block !important;
642
4292
  vertical-align: top;
@@ -715,8 +4365,271 @@ __publicField(_WebwriterClozeGap, "styles", css2`
715
4365
 
716
4366
 
717
4367
  `);
718
- __runInitializers(_init2, 1, _WebwriterClozeGap);
4368
+ __runInitializers(_init3, 1, _WebwriterClozeGap);
719
4369
  var WebwriterClozeGap = _WebwriterClozeGap;
720
4370
  export {
721
4371
  WebwriterClozeGap
722
4372
  };
4373
+ /*! Bundled license information:
4374
+
4375
+ @lit/reactive-element/css-tag.js:
4376
+ (**
4377
+ * @license
4378
+ * Copyright 2019 Google LLC
4379
+ * SPDX-License-Identifier: BSD-3-Clause
4380
+ *)
4381
+
4382
+ @lit/reactive-element/reactive-element.js:
4383
+ (**
4384
+ * @license
4385
+ * Copyright 2017 Google LLC
4386
+ * SPDX-License-Identifier: BSD-3-Clause
4387
+ *)
4388
+
4389
+ lit-html/lit-html.js:
4390
+ (**
4391
+ * @license
4392
+ * Copyright 2017 Google LLC
4393
+ * SPDX-License-Identifier: BSD-3-Clause
4394
+ *)
4395
+
4396
+ lit-element/lit-element.js:
4397
+ (**
4398
+ * @license
4399
+ * Copyright 2017 Google LLC
4400
+ * SPDX-License-Identifier: BSD-3-Clause
4401
+ *)
4402
+
4403
+ lit-html/is-server.js:
4404
+ (**
4405
+ * @license
4406
+ * Copyright 2022 Google LLC
4407
+ * SPDX-License-Identifier: BSD-3-Clause
4408
+ *)
4409
+
4410
+ @lit/reactive-element/decorators/custom-element.js:
4411
+ (**
4412
+ * @license
4413
+ * Copyright 2017 Google LLC
4414
+ * SPDX-License-Identifier: BSD-3-Clause
4415
+ *)
4416
+
4417
+ @lit/reactive-element/decorators/property.js:
4418
+ (**
4419
+ * @license
4420
+ * Copyright 2017 Google LLC
4421
+ * SPDX-License-Identifier: BSD-3-Clause
4422
+ *)
4423
+
4424
+ @lit/reactive-element/decorators/state.js:
4425
+ (**
4426
+ * @license
4427
+ * Copyright 2017 Google LLC
4428
+ * SPDX-License-Identifier: BSD-3-Clause
4429
+ *)
4430
+
4431
+ @lit/reactive-element/decorators/event-options.js:
4432
+ (**
4433
+ * @license
4434
+ * Copyright 2017 Google LLC
4435
+ * SPDX-License-Identifier: BSD-3-Clause
4436
+ *)
4437
+
4438
+ @lit/reactive-element/decorators/base.js:
4439
+ (**
4440
+ * @license
4441
+ * Copyright 2017 Google LLC
4442
+ * SPDX-License-Identifier: BSD-3-Clause
4443
+ *)
4444
+
4445
+ @lit/reactive-element/decorators/query.js:
4446
+ (**
4447
+ * @license
4448
+ * Copyright 2017 Google LLC
4449
+ * SPDX-License-Identifier: BSD-3-Clause
4450
+ *)
4451
+
4452
+ @lit/reactive-element/decorators/query-all.js:
4453
+ (**
4454
+ * @license
4455
+ * Copyright 2017 Google LLC
4456
+ * SPDX-License-Identifier: BSD-3-Clause
4457
+ *)
4458
+
4459
+ @lit/reactive-element/decorators/query-async.js:
4460
+ (**
4461
+ * @license
4462
+ * Copyright 2017 Google LLC
4463
+ * SPDX-License-Identifier: BSD-3-Clause
4464
+ *)
4465
+
4466
+ @lit/reactive-element/decorators/query-assigned-elements.js:
4467
+ (**
4468
+ * @license
4469
+ * Copyright 2021 Google LLC
4470
+ * SPDX-License-Identifier: BSD-3-Clause
4471
+ *)
4472
+
4473
+ @lit/reactive-element/decorators/query-assigned-nodes.js:
4474
+ (**
4475
+ * @license
4476
+ * Copyright 2017 Google LLC
4477
+ * SPDX-License-Identifier: BSD-3-Clause
4478
+ *)
4479
+ */
4480
+ /*! Bundled license information:
4481
+
4482
+ @lit/reactive-element/css-tag.js:
4483
+ (**
4484
+ * @license
4485
+ * Copyright 2019 Google LLC
4486
+ * SPDX-License-Identifier: BSD-3-Clause
4487
+ *)
4488
+
4489
+ @lit/reactive-element/reactive-element.js:
4490
+ (**
4491
+ * @license
4492
+ * Copyright 2017 Google LLC
4493
+ * SPDX-License-Identifier: BSD-3-Clause
4494
+ *)
4495
+
4496
+ lit-html/lit-html.js:
4497
+ (**
4498
+ * @license
4499
+ * Copyright 2017 Google LLC
4500
+ * SPDX-License-Identifier: BSD-3-Clause
4501
+ *)
4502
+
4503
+ lit-element/lit-element.js:
4504
+ (**
4505
+ * @license
4506
+ * Copyright 2017 Google LLC
4507
+ * SPDX-License-Identifier: BSD-3-Clause
4508
+ *)
4509
+
4510
+ lit-html/is-server.js:
4511
+ (**
4512
+ * @license
4513
+ * Copyright 2022 Google LLC
4514
+ * SPDX-License-Identifier: BSD-3-Clause
4515
+ *)
4516
+
4517
+ @lit/reactive-element/decorators/custom-element.js:
4518
+ (**
4519
+ * @license
4520
+ * Copyright 2017 Google LLC
4521
+ * SPDX-License-Identifier: BSD-3-Clause
4522
+ *)
4523
+
4524
+ @lit/reactive-element/decorators/property.js:
4525
+ (**
4526
+ * @license
4527
+ * Copyright 2017 Google LLC
4528
+ * SPDX-License-Identifier: BSD-3-Clause
4529
+ *)
4530
+
4531
+ @lit/reactive-element/decorators/state.js:
4532
+ (**
4533
+ * @license
4534
+ * Copyright 2017 Google LLC
4535
+ * SPDX-License-Identifier: BSD-3-Clause
4536
+ *)
4537
+
4538
+ @lit/reactive-element/decorators/event-options.js:
4539
+ (**
4540
+ * @license
4541
+ * Copyright 2017 Google LLC
4542
+ * SPDX-License-Identifier: BSD-3-Clause
4543
+ *)
4544
+
4545
+ @lit/reactive-element/decorators/base.js:
4546
+ (**
4547
+ * @license
4548
+ * Copyright 2017 Google LLC
4549
+ * SPDX-License-Identifier: BSD-3-Clause
4550
+ *)
4551
+
4552
+ @lit/reactive-element/decorators/query.js:
4553
+ (**
4554
+ * @license
4555
+ * Copyright 2017 Google LLC
4556
+ * SPDX-License-Identifier: BSD-3-Clause
4557
+ *)
4558
+
4559
+ @lit/reactive-element/decorators/query-all.js:
4560
+ (**
4561
+ * @license
4562
+ * Copyright 2017 Google LLC
4563
+ * SPDX-License-Identifier: BSD-3-Clause
4564
+ *)
4565
+
4566
+ @lit/reactive-element/decorators/query-async.js:
4567
+ (**
4568
+ * @license
4569
+ * Copyright 2017 Google LLC
4570
+ * SPDX-License-Identifier: BSD-3-Clause
4571
+ *)
4572
+
4573
+ @lit/reactive-element/decorators/query-assigned-elements.js:
4574
+ (**
4575
+ * @license
4576
+ * Copyright 2021 Google LLC
4577
+ * SPDX-License-Identifier: BSD-3-Clause
4578
+ *)
4579
+
4580
+ @lit/reactive-element/decorators/query-assigned-nodes.js:
4581
+ (**
4582
+ * @license
4583
+ * Copyright 2017 Google LLC
4584
+ * SPDX-License-Identifier: BSD-3-Clause
4585
+ *)
4586
+
4587
+ lit-html/directive-helpers.js:
4588
+ (**
4589
+ * @license
4590
+ * Copyright 2020 Google LLC
4591
+ * SPDX-License-Identifier: BSD-3-Clause
4592
+ *)
4593
+
4594
+ lit-html/directive.js:
4595
+ (**
4596
+ * @license
4597
+ * Copyright 2017 Google LLC
4598
+ * SPDX-License-Identifier: BSD-3-Clause
4599
+ *)
4600
+
4601
+ lit-html/directives/class-map.js:
4602
+ (**
4603
+ * @license
4604
+ * Copyright 2018 Google LLC
4605
+ * SPDX-License-Identifier: BSD-3-Clause
4606
+ *)
4607
+
4608
+ lit-html/static.js:
4609
+ (**
4610
+ * @license
4611
+ * Copyright 2020 Google LLC
4612
+ * SPDX-License-Identifier: BSD-3-Clause
4613
+ *)
4614
+
4615
+ lit-html/directives/if-defined.js:
4616
+ (**
4617
+ * @license
4618
+ * Copyright 2018 Google LLC
4619
+ * SPDX-License-Identifier: BSD-3-Clause
4620
+ *)
4621
+
4622
+ lit-html/directives/live.js:
4623
+ (**
4624
+ * @license
4625
+ * Copyright 2020 Google LLC
4626
+ * SPDX-License-Identifier: BSD-3-Clause
4627
+ *)
4628
+
4629
+ lit-html/directives/style-map.js:
4630
+ (**
4631
+ * @license
4632
+ * Copyright 2018 Google LLC
4633
+ * SPDX-License-Identifier: BSD-3-Clause
4634
+ *)
4635
+ */