@patimweb/crtstyleguide 1.0.19 → 1.0.20

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 (2) hide show
  1. package/dist/lib/index.js +1687 -1017
  2. package/package.json +1 -1
package/dist/lib/index.js CHANGED
@@ -1,21 +1,21 @@
1
1
  import { css as c, LitElement as p, html as l } from "lit";
2
- const d = (r) => (t, a) => {
2
+ const d = (e) => (t, a) => {
3
3
  a !== void 0 ? a.addInitializer(() => {
4
- customElements.define(r, t);
5
- }) : customElements.define(r, t);
4
+ customElements.define(e, t);
5
+ }) : customElements.define(e, t);
6
6
  };
7
- const yt = globalThis, Mt = yt.ShadowRoot && (yt.ShadyCSS === void 0 || yt.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, Ht = /* @__PURE__ */ Symbol(), Ft = /* @__PURE__ */ new WeakMap();
8
- let Wt = class {
9
- constructor(t, a, s) {
10
- if (this._$cssResult$ = !0, s !== Ht) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
7
+ const zt = globalThis, Nt = zt.ShadowRoot && (zt.ShadyCSS === void 0 || zt.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, te = /* @__PURE__ */ Symbol(), Gt = /* @__PURE__ */ new WeakMap();
8
+ let se = class {
9
+ constructor(t, a, i) {
10
+ if (this._$cssResult$ = !0, i !== te) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
11
11
  this.cssText = t, this.t = a;
12
12
  }
13
13
  get styleSheet() {
14
14
  let t = this.o;
15
15
  const a = this.t;
16
- if (Mt && t === void 0) {
17
- const s = a !== void 0 && a.length === 1;
18
- s && (t = Ft.get(a)), t === void 0 && ((this.o = t = new CSSStyleSheet()).replaceSync(this.cssText), s && Ft.set(a, t));
16
+ if (Nt && t === void 0) {
17
+ const i = a !== void 0 && a.length === 1;
18
+ i && (t = Gt.get(a)), t === void 0 && ((this.o = t = new CSSStyleSheet()).replaceSync(this.cssText), i && Gt.set(a, t));
19
19
  }
20
20
  return t;
21
21
  }
@@ -23,108 +23,108 @@ let Wt = class {
23
23
  return this.cssText;
24
24
  }
25
25
  };
26
- const Gt = (r) => new Wt(typeof r == "string" ? r : r + "", void 0, Ht), Qt = (r, t) => {
27
- if (Mt) r.adoptedStyleSheets = t.map((a) => a instanceof CSSStyleSheet ? a : a.styleSheet);
26
+ const oe = (e) => new se(typeof e == "string" ? e : e + "", void 0, te), ne = (e, t) => {
27
+ if (Nt) e.adoptedStyleSheets = t.map((a) => a instanceof CSSStyleSheet ? a : a.styleSheet);
28
28
  else for (const a of t) {
29
- const s = document.createElement("style"), e = yt.litNonce;
30
- e !== void 0 && s.setAttribute("nonce", e), s.textContent = a.cssText, r.appendChild(s);
29
+ const i = document.createElement("style"), r = zt.litNonce;
30
+ r !== void 0 && i.setAttribute("nonce", r), i.textContent = a.cssText, e.appendChild(i);
31
31
  }
32
- }, Yt = Mt ? (r) => r : (r) => r instanceof CSSStyleSheet ? ((t) => {
32
+ }, Qt = Nt ? (e) => e : (e) => e instanceof CSSStyleSheet ? ((t) => {
33
33
  let a = "";
34
- for (const s of t.cssRules) a += s.cssText;
35
- return Gt(a);
36
- })(r) : r;
37
- const { is: Jt, defineProperty: Zt, getOwnPropertyDescriptor: tr, getOwnPropertyNames: rr, getOwnPropertySymbols: er, getPrototypeOf: ar } = Object, Ot = globalThis, Vt = Ot.trustedTypes, sr = Vt ? Vt.emptyScript : "", ir = Ot.reactiveElementPolyfillSupport, ot = (r, t) => r, xt = { toAttribute(r, t) {
34
+ for (const i of t.cssRules) a += i.cssText;
35
+ return oe(a);
36
+ })(e) : e;
37
+ const { is: le, defineProperty: ce, getOwnPropertyDescriptor: pe, getOwnPropertyNames: de, getOwnPropertySymbols: he, getPrototypeOf: ve } = Object, It = globalThis, Jt = It.trustedTypes, ue = Jt ? Jt.emptyScript : "", ge = It.reactiveElementPolyfillSupport, pt = (e, t) => e, Ct = { toAttribute(e, t) {
38
38
  switch (t) {
39
39
  case Boolean:
40
- r = r ? sr : null;
40
+ e = e ? ue : null;
41
41
  break;
42
42
  case Object:
43
43
  case Array:
44
- r = r == null ? r : JSON.stringify(r);
44
+ e = e == null ? e : JSON.stringify(e);
45
45
  }
46
- return r;
47
- }, fromAttribute(r, t) {
48
- let a = r;
46
+ return e;
47
+ }, fromAttribute(e, t) {
48
+ let a = e;
49
49
  switch (t) {
50
50
  case Boolean:
51
- a = r !== null;
51
+ a = e !== null;
52
52
  break;
53
53
  case Number:
54
- a = r === null ? null : Number(r);
54
+ a = e === null ? null : Number(e);
55
55
  break;
56
56
  case Object:
57
57
  case Array:
58
58
  try {
59
- a = JSON.parse(r);
59
+ a = JSON.parse(e);
60
60
  } catch {
61
61
  a = null;
62
62
  }
63
63
  }
64
64
  return a;
65
- } }, jt = (r, t) => !Jt(r, t), qt = { attribute: !0, type: String, converter: xt, reflect: !1, useDefault: !1, hasChanged: jt };
66
- Symbol.metadata ??= /* @__PURE__ */ Symbol("metadata"), Ot.litPropertyMetadata ??= /* @__PURE__ */ new WeakMap();
67
- class it extends HTMLElement {
65
+ } }, Rt = (e, t) => !le(e, t), Zt = { attribute: !0, type: String, converter: Ct, reflect: !1, useDefault: !1, hasChanged: Rt };
66
+ Symbol.metadata ??= /* @__PURE__ */ Symbol("metadata"), It.litPropertyMetadata ??= /* @__PURE__ */ new WeakMap();
67
+ class ct extends HTMLElement {
68
68
  static addInitializer(t) {
69
69
  this._$Ei(), (this.l ??= []).push(t);
70
70
  }
71
71
  static get observedAttributes() {
72
72
  return this.finalize(), this._$Eh && [...this._$Eh.keys()];
73
73
  }
74
- static createProperty(t, a = qt) {
74
+ static createProperty(t, a = Zt) {
75
75
  if (a.state && (a.attribute = !1), this._$Ei(), this.prototype.hasOwnProperty(t) && ((a = Object.create(a)).wrapped = !0), this.elementProperties.set(t, a), !a.noAccessor) {
76
- const s = /* @__PURE__ */ Symbol(), e = this.getPropertyDescriptor(t, s, a);
77
- e !== void 0 && Zt(this.prototype, t, e);
76
+ const i = /* @__PURE__ */ Symbol(), r = this.getPropertyDescriptor(t, i, a);
77
+ r !== void 0 && ce(this.prototype, t, r);
78
78
  }
79
79
  }
80
- static getPropertyDescriptor(t, a, s) {
81
- const { get: e, set: i } = tr(this.prototype, t) ?? { get() {
80
+ static getPropertyDescriptor(t, a, i) {
81
+ const { get: r, set: s } = pe(this.prototype, t) ?? { get() {
82
82
  return this[a];
83
83
  }, set(o) {
84
84
  this[a] = o;
85
85
  } };
86
- return { get: e, set(o) {
87
- const h = e?.call(this);
88
- i?.call(this, o), this.requestUpdate(t, h, s);
86
+ return { get: r, set(o) {
87
+ const h = r?.call(this);
88
+ s?.call(this, o), this.requestUpdate(t, h, i);
89
89
  }, configurable: !0, enumerable: !0 };
90
90
  }
91
91
  static getPropertyOptions(t) {
92
- return this.elementProperties.get(t) ?? qt;
92
+ return this.elementProperties.get(t) ?? Zt;
93
93
  }
94
94
  static _$Ei() {
95
- if (this.hasOwnProperty(ot("elementProperties"))) return;
96
- const t = ar(this);
95
+ if (this.hasOwnProperty(pt("elementProperties"))) return;
96
+ const t = ve(this);
97
97
  t.finalize(), t.l !== void 0 && (this.l = [...t.l]), this.elementProperties = new Map(t.elementProperties);
98
98
  }
99
99
  static finalize() {
100
- if (this.hasOwnProperty(ot("finalized"))) return;
101
- if (this.finalized = !0, this._$Ei(), this.hasOwnProperty(ot("properties"))) {
102
- const a = this.properties, s = [...rr(a), ...er(a)];
103
- for (const e of s) this.createProperty(e, a[e]);
100
+ if (this.hasOwnProperty(pt("finalized"))) return;
101
+ if (this.finalized = !0, this._$Ei(), this.hasOwnProperty(pt("properties"))) {
102
+ const a = this.properties, i = [...de(a), ...he(a)];
103
+ for (const r of i) this.createProperty(r, a[r]);
104
104
  }
105
105
  const t = this[Symbol.metadata];
106
106
  if (t !== null) {
107
107
  const a = litPropertyMetadata.get(t);
108
- if (a !== void 0) for (const [s, e] of a) this.elementProperties.set(s, e);
108
+ if (a !== void 0) for (const [i, r] of a) this.elementProperties.set(i, r);
109
109
  }
110
110
  this._$Eh = /* @__PURE__ */ new Map();
111
- for (const [a, s] of this.elementProperties) {
112
- const e = this._$Eu(a, s);
113
- e !== void 0 && this._$Eh.set(e, a);
111
+ for (const [a, i] of this.elementProperties) {
112
+ const r = this._$Eu(a, i);
113
+ r !== void 0 && this._$Eh.set(r, a);
114
114
  }
115
115
  this.elementStyles = this.finalizeStyles(this.styles);
116
116
  }
117
117
  static finalizeStyles(t) {
118
118
  const a = [];
119
119
  if (Array.isArray(t)) {
120
- const s = new Set(t.flat(1 / 0).reverse());
121
- for (const e of s) a.unshift(Yt(e));
122
- } else t !== void 0 && a.push(Yt(t));
120
+ const i = new Set(t.flat(1 / 0).reverse());
121
+ for (const r of i) a.unshift(Qt(r));
122
+ } else t !== void 0 && a.push(Qt(t));
123
123
  return a;
124
124
  }
125
125
  static _$Eu(t, a) {
126
- const s = a.attribute;
127
- return s === !1 ? void 0 : typeof s == "string" ? s : typeof t == "string" ? t.toLowerCase() : void 0;
126
+ const i = a.attribute;
127
+ return i === !1 ? void 0 : typeof i == "string" ? i : typeof t == "string" ? t.toLowerCase() : void 0;
128
128
  }
129
129
  constructor() {
130
130
  super(), this._$Ep = void 0, this.isUpdatePending = !1, this.hasUpdated = !1, this._$Em = null, this._$Ev();
@@ -140,12 +140,12 @@ class it extends HTMLElement {
140
140
  }
141
141
  _$E_() {
142
142
  const t = /* @__PURE__ */ new Map(), a = this.constructor.elementProperties;
143
- for (const s of a.keys()) this.hasOwnProperty(s) && (t.set(s, this[s]), delete this[s]);
143
+ for (const i of a.keys()) this.hasOwnProperty(i) && (t.set(i, this[i]), delete this[i]);
144
144
  t.size > 0 && (this._$Ep = t);
145
145
  }
146
146
  createRenderRoot() {
147
147
  const t = this.shadowRoot ?? this.attachShadow(this.constructor.shadowRootOptions);
148
- return Qt(t, this.constructor.elementStyles), t;
148
+ return ne(t, this.constructor.elementStyles), t;
149
149
  }
150
150
  connectedCallback() {
151
151
  this.renderRoot ??= this.createRenderRoot(), this.enableUpdating(!0), this._$EO?.forEach((t) => t.hostConnected?.());
@@ -155,35 +155,35 @@ class it extends HTMLElement {
155
155
  disconnectedCallback() {
156
156
  this._$EO?.forEach((t) => t.hostDisconnected?.());
157
157
  }
158
- attributeChangedCallback(t, a, s) {
159
- this._$AK(t, s);
158
+ attributeChangedCallback(t, a, i) {
159
+ this._$AK(t, i);
160
160
  }
161
161
  _$ET(t, a) {
162
- const s = this.constructor.elementProperties.get(t), e = this.constructor._$Eu(t, s);
163
- if (e !== void 0 && s.reflect === !0) {
164
- const i = (s.converter?.toAttribute !== void 0 ? s.converter : xt).toAttribute(a, s.type);
165
- this._$Em = t, i == null ? this.removeAttribute(e) : this.setAttribute(e, i), this._$Em = null;
162
+ const i = this.constructor.elementProperties.get(t), r = this.constructor._$Eu(t, i);
163
+ if (r !== void 0 && i.reflect === !0) {
164
+ const s = (i.converter?.toAttribute !== void 0 ? i.converter : Ct).toAttribute(a, i.type);
165
+ this._$Em = t, s == null ? this.removeAttribute(r) : this.setAttribute(r, s), this._$Em = null;
166
166
  }
167
167
  }
168
168
  _$AK(t, a) {
169
- const s = this.constructor, e = s._$Eh.get(t);
170
- if (e !== void 0 && this._$Em !== e) {
171
- const i = s.getPropertyOptions(e), o = typeof i.converter == "function" ? { fromAttribute: i.converter } : i.converter?.fromAttribute !== void 0 ? i.converter : xt;
172
- this._$Em = e;
173
- const h = o.fromAttribute(a, i.type);
174
- this[e] = h ?? this._$Ej?.get(e) ?? h, this._$Em = null;
169
+ const i = this.constructor, r = i._$Eh.get(t);
170
+ if (r !== void 0 && this._$Em !== r) {
171
+ const s = i.getPropertyOptions(r), o = typeof s.converter == "function" ? { fromAttribute: s.converter } : s.converter?.fromAttribute !== void 0 ? s.converter : Ct;
172
+ this._$Em = r;
173
+ const h = o.fromAttribute(a, s.type);
174
+ this[r] = h ?? this._$Ej?.get(r) ?? h, this._$Em = null;
175
175
  }
176
176
  }
177
- requestUpdate(t, a, s, e = !1, i) {
177
+ requestUpdate(t, a, i, r = !1, s) {
178
178
  if (t !== void 0) {
179
179
  const o = this.constructor;
180
- if (e === !1 && (i = this[t]), s ??= o.getPropertyOptions(t), !((s.hasChanged ?? jt)(i, a) || s.useDefault && s.reflect && i === this._$Ej?.get(t) && !this.hasAttribute(o._$Eu(t, s)))) return;
181
- this.C(t, a, s);
180
+ if (r === !1 && (s = this[t]), i ??= o.getPropertyOptions(t), !((i.hasChanged ?? Rt)(s, a) || i.useDefault && i.reflect && s === this._$Ej?.get(t) && !this.hasAttribute(o._$Eu(t, i)))) return;
181
+ this.C(t, a, i);
182
182
  }
183
183
  this.isUpdatePending === !1 && (this._$ES = this._$EP());
184
184
  }
185
- C(t, a, { useDefault: s, reflect: e, wrapped: i }, o) {
186
- s && !(this._$Ej ??= /* @__PURE__ */ new Map()).has(t) && (this._$Ej.set(t, o ?? a ?? this[t]), i !== !0 || o !== void 0) || (this._$AL.has(t) || (this.hasUpdated || s || (a = void 0), this._$AL.set(t, a)), e === !0 && this._$Em !== t && (this._$Eq ??= /* @__PURE__ */ new Set()).add(t));
185
+ C(t, a, { useDefault: i, reflect: r, wrapped: s }, o) {
186
+ i && !(this._$Ej ??= /* @__PURE__ */ new Map()).has(t) && (this._$Ej.set(t, o ?? a ?? this[t]), s !== !0 || o !== void 0) || (this._$AL.has(t) || (this.hasUpdated || i || (a = void 0), this._$AL.set(t, a)), r === !0 && this._$Em !== t && (this._$Eq ??= /* @__PURE__ */ new Set()).add(t));
187
187
  }
188
188
  async _$EP() {
189
189
  this.isUpdatePending = !0;
@@ -202,21 +202,21 @@ class it extends HTMLElement {
202
202
  if (!this.isUpdatePending) return;
203
203
  if (!this.hasUpdated) {
204
204
  if (this.renderRoot ??= this.createRenderRoot(), this._$Ep) {
205
- for (const [e, i] of this._$Ep) this[e] = i;
205
+ for (const [r, s] of this._$Ep) this[r] = s;
206
206
  this._$Ep = void 0;
207
207
  }
208
- const s = this.constructor.elementProperties;
209
- if (s.size > 0) for (const [e, i] of s) {
210
- const { wrapped: o } = i, h = this[e];
211
- o !== !0 || this._$AL.has(e) || h === void 0 || this.C(e, void 0, i, h);
208
+ const i = this.constructor.elementProperties;
209
+ if (i.size > 0) for (const [r, s] of i) {
210
+ const { wrapped: o } = s, h = this[r];
211
+ o !== !0 || this._$AL.has(r) || h === void 0 || this.C(r, void 0, s, h);
212
212
  }
213
213
  }
214
214
  let t = !1;
215
215
  const a = this._$AL;
216
216
  try {
217
- t = this.shouldUpdate(a), t ? (this.willUpdate(a), this._$EO?.forEach((s) => s.hostUpdate?.()), this.update(a)) : this._$EM();
218
- } catch (s) {
219
- throw t = !1, this._$EM(), s;
217
+ t = this.shouldUpdate(a), t ? (this.willUpdate(a), this._$EO?.forEach((i) => i.hostUpdate?.()), this.update(a)) : this._$EM();
218
+ } catch (i) {
219
+ throw t = !1, this._$EM(), i;
220
220
  }
221
221
  t && this._$AE(a);
222
222
  }
@@ -245,52 +245,52 @@ class it extends HTMLElement {
245
245
  firstUpdated(t) {
246
246
  }
247
247
  }
248
- it.elementStyles = [], it.shadowRootOptions = { mode: "open" }, it[ot("elementProperties")] = /* @__PURE__ */ new Map(), it[ot("finalized")] = /* @__PURE__ */ new Map(), ir?.({ ReactiveElement: it }), (Ot.reactiveElementVersions ??= []).push("2.1.2");
249
- const or = { attribute: !0, type: String, converter: xt, reflect: !1, hasChanged: jt }, nr = (r = or, t, a) => {
250
- const { kind: s, metadata: e } = a;
251
- let i = globalThis.litPropertyMetadata.get(e);
252
- if (i === void 0 && globalThis.litPropertyMetadata.set(e, i = /* @__PURE__ */ new Map()), s === "setter" && ((r = Object.create(r)).wrapped = !0), i.set(a.name, r), s === "accessor") {
248
+ ct.elementStyles = [], ct.shadowRootOptions = { mode: "open" }, ct[pt("elementProperties")] = /* @__PURE__ */ new Map(), ct[pt("finalized")] = /* @__PURE__ */ new Map(), ge?.({ ReactiveElement: ct }), (It.reactiveElementVersions ??= []).push("2.1.2");
249
+ const me = { attribute: !0, type: String, converter: Ct, reflect: !1, hasChanged: Rt }, fe = (e = me, t, a) => {
250
+ const { kind: i, metadata: r } = a;
251
+ let s = globalThis.litPropertyMetadata.get(r);
252
+ if (s === void 0 && globalThis.litPropertyMetadata.set(r, s = /* @__PURE__ */ new Map()), i === "setter" && ((e = Object.create(e)).wrapped = !0), s.set(a.name, e), i === "accessor") {
253
253
  const { name: o } = a;
254
254
  return { set(h) {
255
- const m = t.get.call(this);
256
- t.set.call(this, h), this.requestUpdate(o, m, r, !0, h);
255
+ const f = t.get.call(this);
256
+ t.set.call(this, h), this.requestUpdate(o, f, e, !0, h);
257
257
  }, init(h) {
258
- return h !== void 0 && this.C(o, void 0, r, h), h;
258
+ return h !== void 0 && this.C(o, void 0, e, h), h;
259
259
  } };
260
260
  }
261
- if (s === "setter") {
261
+ if (i === "setter") {
262
262
  const { name: o } = a;
263
263
  return function(h) {
264
- const m = this[o];
265
- t.call(this, h), this.requestUpdate(o, m, r, !0, h);
264
+ const f = this[o];
265
+ t.call(this, h), this.requestUpdate(o, f, e, !0, h);
266
266
  };
267
267
  }
268
- throw Error("Unsupported decorator location: " + s);
268
+ throw Error("Unsupported decorator location: " + i);
269
269
  };
270
- function n(r) {
271
- return (t, a) => typeof a == "object" ? nr(r, t, a) : ((s, e, i) => {
272
- const o = e.hasOwnProperty(i);
273
- return e.constructor.createProperty(i, s), o ? Object.getOwnPropertyDescriptor(e, i) : void 0;
274
- })(r, t, a);
270
+ function n(e) {
271
+ return (t, a) => typeof a == "object" ? fe(e, t, a) : ((i, r, s) => {
272
+ const o = r.hasOwnProperty(s);
273
+ return r.constructor.createProperty(s, i), o ? Object.getOwnPropertyDescriptor(r, s) : void 0;
274
+ })(e, t, a);
275
275
  }
276
- function v(r) {
277
- return n({ ...r, state: !0, attribute: !1 });
276
+ function v(e) {
277
+ return n({ ...e, state: !0, attribute: !1 });
278
278
  }
279
- const lr = (r, t, a) => (a.configurable = !0, a.enumerable = !0, Reflect.decorate && typeof t != "object" && Object.defineProperty(r, t, a), a);
280
- function Tt(r, t) {
281
- return (a, s, e) => {
282
- const i = (o) => o.renderRoot?.querySelector(r) ?? null;
283
- return lr(a, s, { get() {
284
- return i(this);
279
+ const be = (e, t, a) => (a.configurable = !0, a.enumerable = !0, Reflect.decorate && typeof t != "object" && Object.defineProperty(e, t, a), a);
280
+ function Ft(e, t) {
281
+ return (a, i, r) => {
282
+ const s = (o) => o.renderRoot?.querySelector(e) ?? null;
283
+ return be(a, i, { get() {
284
+ return s(this);
285
285
  } });
286
286
  };
287
287
  }
288
- var cr = Object.defineProperty, pr = Object.getOwnPropertyDescriptor, At = (r, t, a, s) => {
289
- for (var e = s > 1 ? void 0 : s ? pr(t, a) : t, i = r.length - 1, o; i >= 0; i--)
290
- (o = r[i]) && (e = (s ? o(t, a, e) : o(e)) || e);
291
- return s && e && cr(t, a, e), e;
288
+ var ye = Object.defineProperty, xe = Object.getOwnPropertyDescriptor, Vt = (e, t, a, i) => {
289
+ for (var r = i > 1 ? void 0 : i ? xe(t, a) : t, s = e.length - 1, o; s >= 0; s--)
290
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
291
+ return i && r && ye(t, a, r), r;
292
292
  };
293
- const dr = {
293
+ const we = {
294
294
  check: '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><path d="M20 6L9 17l-5-5"/></svg>',
295
295
  checkmark: '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><path d="M20 6L9 17l-5-5"/></svg>',
296
296
  close: '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><path d="M18 6L6 18M6 6l12 12"/></svg>',
@@ -344,16 +344,16 @@ const dr = {
344
344
  "volume-mute": '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5"/><line x1="23" y1="9" x2="17" y2="15"/></svg>',
345
345
  music: '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><path d="M9 18V5l12-2v13"/><circle cx="6" cy="18" r="3"/><circle cx="18" cy="16" r="3"/></svg>'
346
346
  };
347
- let nt = class extends p {
347
+ let dt = class extends p {
348
348
  constructor() {
349
349
  super(...arguments), this.name = "", this.size = "md";
350
350
  }
351
351
  render() {
352
- const r = dr[this.name] || '<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><text x="0" y="14">?</text></svg>';
353
- return l`<span class="icon" aria-hidden="true" .innerHTML=${r}></span>`;
352
+ const e = we[this.name] || '<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><text x="0" y="14">?</text></svg>';
353
+ return l`<span class="icon" aria-hidden="true" .innerHTML=${e}></span>`;
354
354
  }
355
355
  };
356
- nt.styles = c`
356
+ dt.styles = c`
357
357
  :host {
358
358
  display: inline-flex;
359
359
  align-items: center;
@@ -370,21 +370,21 @@ nt.styles = c`
370
370
  height: 100%;
371
371
  }
372
372
  `;
373
- At([
373
+ Vt([
374
374
  n()
375
- ], nt.prototype, "name", 2);
376
- At([
375
+ ], dt.prototype, "name", 2);
376
+ Vt([
377
377
  n()
378
- ], nt.prototype, "size", 2);
379
- nt = At([
378
+ ], dt.prototype, "size", 2);
379
+ dt = Vt([
380
380
  d("crt-icon")
381
- ], nt);
382
- var hr = Object.defineProperty, vr = Object.getOwnPropertyDescriptor, Y = (r, t, a, s) => {
383
- for (var e = s > 1 ? void 0 : s ? vr(t, a) : t, i = r.length - 1, o; i >= 0; i--)
384
- (o = r[i]) && (e = (s ? o(t, a, e) : o(e)) || e);
385
- return s && e && hr(t, a, e), e;
381
+ ], dt);
382
+ var ke = Object.defineProperty, _e = Object.getOwnPropertyDescriptor, q = (e, t, a, i) => {
383
+ for (var r = i > 1 ? void 0 : i ? _e(t, a) : t, s = e.length - 1, o; s >= 0; s--)
384
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
385
+ return i && r && ke(t, a, r), r;
386
386
  };
387
- let k = class extends p {
387
+ let $ = class extends p {
388
388
  constructor() {
389
389
  super(), this.size = "medium", this.variant = "primary", this.disabled = !1, this.type = "button", this.iconOnly = !1, this.iconLeft = "", this.iconRight = "";
390
390
  }
@@ -393,10 +393,10 @@ let k = class extends p {
393
393
  }
394
394
  render() {
395
395
  if (this.iconOnly) {
396
- const r = this.iconLeft || this.iconRight;
396
+ const e = this.iconLeft || this.iconRight;
397
397
  return l`
398
398
  <button type="${this.type}" ?disabled="${this.disabled}">
399
- ${r ? l`<crt-icon name="${r}"></crt-icon>` : l`<slot></slot>`}
399
+ ${e ? l`<crt-icon name="${e}"></crt-icon>` : l`<slot></slot>`}
400
400
  </button>
401
401
  `;
402
402
  }
@@ -409,7 +409,7 @@ let k = class extends p {
409
409
  `;
410
410
  }
411
411
  };
412
- k.styles = c`
412
+ $.styles = c`
413
413
  :host {
414
414
  display: inline-block;
415
415
  }
@@ -565,36 +565,36 @@ k.styles = c`
565
565
  flex-shrink: 0;
566
566
  }
567
567
  `;
568
- Y([
568
+ q([
569
569
  n({ reflect: !0 })
570
- ], k.prototype, "size", 2);
571
- Y([
570
+ ], $.prototype, "size", 2);
571
+ q([
572
572
  n({ reflect: !0 })
573
- ], k.prototype, "variant", 2);
574
- Y([
573
+ ], $.prototype, "variant", 2);
574
+ q([
575
575
  n({ type: Boolean })
576
- ], k.prototype, "disabled", 2);
577
- Y([
576
+ ], $.prototype, "disabled", 2);
577
+ q([
578
578
  n()
579
- ], k.prototype, "type", 2);
580
- Y([
579
+ ], $.prototype, "type", 2);
580
+ q([
581
581
  n({ attribute: "icon-only", type: Boolean })
582
- ], k.prototype, "iconOnly", 2);
583
- Y([
582
+ ], $.prototype, "iconOnly", 2);
583
+ q([
584
584
  n({ attribute: "icon-left" })
585
- ], k.prototype, "iconLeft", 2);
586
- Y([
585
+ ], $.prototype, "iconLeft", 2);
586
+ q([
587
587
  n({ attribute: "icon-right" })
588
- ], k.prototype, "iconRight", 2);
589
- k = Y([
588
+ ], $.prototype, "iconRight", 2);
589
+ $ = q([
590
590
  d("crt-button")
591
- ], k);
592
- var gr = Object.defineProperty, ur = Object.getOwnPropertyDescriptor, Xt = (r, t, a, s) => {
593
- for (var e = s > 1 ? void 0 : s ? ur(t, a) : t, i = r.length - 1, o; i >= 0; i--)
594
- (o = r[i]) && (e = (s ? o(t, a, e) : o(e)) || e);
595
- return s && e && gr(t, a, e), e;
591
+ ], $);
592
+ var $e = Object.defineProperty, ze = Object.getOwnPropertyDescriptor, ee = (e, t, a, i) => {
593
+ for (var r = i > 1 ? void 0 : i ? ze(t, a) : t, s = e.length - 1, o; s >= 0; s--)
594
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
595
+ return i && r && $e(t, a, r), r;
596
596
  };
597
- let wt = class extends p {
597
+ let Pt = class extends p {
598
598
  constructor() {
599
599
  super(...arguments), this.variant = "primary";
600
600
  }
@@ -602,7 +602,7 @@ let wt = class extends p {
602
602
  return l`<span class="badge"><slot></slot></span>`;
603
603
  }
604
604
  };
605
- wt.styles = c`
605
+ Pt.styles = c`
606
606
  :host {
607
607
  --badge-bg: transparent;
608
608
  --badge-color: var(--crt-primary);
@@ -643,18 +643,18 @@ wt.styles = c`
643
643
  --badge-border: 1px solid var(--crt-info);
644
644
  }
645
645
  `;
646
- Xt([
646
+ ee([
647
647
  n()
648
- ], wt.prototype, "variant", 2);
649
- wt = Xt([
648
+ ], Pt.prototype, "variant", 2);
649
+ Pt = ee([
650
650
  d("crt-badge")
651
- ], wt);
652
- var mr = Object.defineProperty, br = Object.getOwnPropertyDescriptor, St = (r, t, a, s) => {
653
- for (var e = s > 1 ? void 0 : s ? br(t, a) : t, i = r.length - 1, o; i >= 0; i--)
654
- (o = r[i]) && (e = (s ? o(t, a, e) : o(e)) || e);
655
- return s && e && mr(t, a, e), e;
651
+ ], Pt);
652
+ var Ce = Object.defineProperty, Pe = Object.getOwnPropertyDescriptor, Lt = (e, t, a, i) => {
653
+ for (var r = i > 1 ? void 0 : i ? Pe(t, a) : t, s = e.length - 1, o; s >= 0; s--)
654
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
655
+ return i && r && Ce(t, a, r), r;
656
656
  };
657
- let kt = class extends p {
657
+ let Ot = class extends p {
658
658
  constructor() {
659
659
  super(...arguments), this.level = 1;
660
660
  }
@@ -677,7 +677,7 @@ let kt = class extends p {
677
677
  }
678
678
  }
679
679
  };
680
- kt.styles = c`
680
+ Ot.styles = c`
681
681
  h1, h2, h3, h4, h5, h6 {
682
682
  font-family: var(--crt-font-family);
683
683
  color: var(--crt-text-primary);
@@ -706,13 +706,13 @@ kt.styles = c`
706
706
  font-size: var(--crt-font-size-base);
707
707
  }
708
708
  `;
709
- St([
709
+ Lt([
710
710
  n({ type: Number })
711
- ], kt.prototype, "level", 2);
712
- kt = St([
711
+ ], Ot.prototype, "level", 2);
712
+ Ot = Lt([
713
713
  d("crt-heading")
714
- ], kt);
715
- let $t = class extends p {
714
+ ], Ot);
715
+ let St = class extends p {
716
716
  constructor() {
717
717
  super(...arguments), this.muted = !1;
718
718
  }
@@ -720,7 +720,7 @@ let $t = class extends p {
720
720
  return l`<p><slot></slot></p>`;
721
721
  }
722
722
  };
723
- $t.styles = c`
723
+ St.styles = c`
724
724
  p {
725
725
  font-family: var(--crt-font-family);
726
726
  color: var(--crt-text-secondary);
@@ -732,43 +732,43 @@ $t.styles = c`
732
732
  color: var(--crt-text-muted);
733
733
  }
734
734
  `;
735
- St([
735
+ Lt([
736
736
  n()
737
- ], $t.prototype, "muted", 2);
738
- $t = St([
737
+ ], St.prototype, "muted", 2);
738
+ St = Lt([
739
739
  d("crt-text")
740
- ], $t);
741
- var fr = Object.defineProperty, yr = Object.getOwnPropertyDescriptor, Lt = (r, t, a, s) => {
742
- for (var e = s > 1 ? void 0 : s ? yr(t, a) : t, i = r.length - 1, o; i >= 0; i--)
743
- (o = r[i]) && (e = (s ? o(t, a, e) : o(e)) || e);
744
- return s && e && fr(t, a, e), e;
740
+ ], St);
741
+ var Oe = Object.defineProperty, Se = Object.getOwnPropertyDescriptor, Yt = (e, t, a, i) => {
742
+ for (var r = i > 1 ? void 0 : i ? Se(t, a) : t, s = e.length - 1, o; s >= 0; s--)
743
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
744
+ return i && r && Oe(t, a, r), r;
745
745
  };
746
- let lt = class extends p {
746
+ let ht = class extends p {
747
747
  constructor() {
748
748
  super(...arguments), this.activeTab = 0, this.tabs = [];
749
749
  }
750
- selectTab(r) {
751
- this.activeTab = r;
750
+ selectTab(e) {
751
+ this.activeTab = e;
752
752
  }
753
753
  render() {
754
754
  return l`
755
755
  <div class="tabs-header">
756
756
  ${this.tabs.map(
757
- (r, t) => l`
757
+ (e, t) => l`
758
758
  <button
759
759
  class="tab-button ${t === this.activeTab ? "active" : ""}"
760
760
  @click="${() => this.selectTab(t)}"
761
761
  >
762
- ${r.label}
762
+ ${e.label}
763
763
  </button>
764
764
  `
765
765
  )}
766
766
  </div>
767
767
  <div class="tabs-content">
768
768
  ${this.tabs.map(
769
- (r, t) => l`
769
+ (e, t) => l`
770
770
  <div class="tab-pane ${t === this.activeTab ? "active" : ""}">
771
- ${r.label.toLowerCase() === "code" ? l`<pre><code>${r.content}</code></pre>` : l`<div>${xr(r.content)}</div>`}
771
+ ${e.label.toLowerCase() === "code" ? l`<pre><code>${e.content}</code></pre>` : l`<div>${Ee(e.content)}</div>`}
772
772
  </div>
773
773
  `
774
774
  )}
@@ -776,7 +776,7 @@ let lt = class extends p {
776
776
  `;
777
777
  }
778
778
  };
779
- lt.styles = c`
779
+ ht.styles = c`
780
780
  :host {
781
781
  display: block;
782
782
  }
@@ -843,25 +843,25 @@ lt.styles = c`
843
843
  font-family: var(--crt-font-family);
844
844
  }
845
845
  `;
846
- Lt([
846
+ Yt([
847
847
  v()
848
- ], lt.prototype, "activeTab", 2);
849
- Lt([
848
+ ], ht.prototype, "activeTab", 2);
849
+ Yt([
850
850
  n({ type: Array })
851
- ], lt.prototype, "tabs", 2);
852
- lt = Lt([
851
+ ], ht.prototype, "tabs", 2);
852
+ ht = Yt([
853
853
  d("crt-tabs")
854
- ], lt);
855
- function xr(r) {
854
+ ], ht);
855
+ function Ee(e) {
856
856
  const t = document.createElement("div");
857
- return t.innerHTML = r, t;
857
+ return t.innerHTML = e, t;
858
858
  }
859
- var wr = Object.defineProperty, kr = Object.getOwnPropertyDescriptor, $ = (r, t, a, s) => {
860
- for (var e = s > 1 ? void 0 : s ? kr(t, a) : t, i = r.length - 1, o; i >= 0; i--)
861
- (o = r[i]) && (e = (s ? o(t, a, e) : o(e)) || e);
862
- return s && e && wr(t, a, e), e;
859
+ var De = Object.defineProperty, Me = Object.getOwnPropertyDescriptor, z = (e, t, a, i) => {
860
+ for (var r = i > 1 ? void 0 : i ? Me(t, a) : t, s = e.length - 1, o; s >= 0; s--)
861
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
862
+ return i && r && De(t, a, r), r;
863
863
  };
864
- let V = class extends p {
864
+ let H = class extends p {
865
865
  constructor() {
866
866
  super(...arguments), this.type = "text", this.placeholder = "", this.value = "", this.disabled = !1;
867
867
  }
@@ -872,14 +872,14 @@ let V = class extends p {
872
872
  placeholder="${this.placeholder}"
873
873
  value="${this.value}"
874
874
  ?disabled="${this.disabled}"
875
- @input="${(r) => {
876
- this.value = r.target.value;
875
+ @input="${(e) => {
876
+ this.value = e.target.value;
877
877
  }}"
878
878
  />
879
879
  `;
880
880
  }
881
881
  };
882
- V.styles = c`
882
+ H.styles = c`
883
883
  :host {
884
884
  display: block;
885
885
  }
@@ -925,22 +925,22 @@ V.styles = c`
925
925
  padding-right: var(--crt-spacing-lg);
926
926
  }
927
927
  `;
928
- $([
928
+ z([
929
929
  n()
930
- ], V.prototype, "type", 2);
931
- $([
930
+ ], H.prototype, "type", 2);
931
+ z([
932
932
  n()
933
- ], V.prototype, "placeholder", 2);
934
- $([
933
+ ], H.prototype, "placeholder", 2);
934
+ z([
935
935
  n()
936
- ], V.prototype, "value", 2);
937
- $([
936
+ ], H.prototype, "value", 2);
937
+ z([
938
938
  n()
939
- ], V.prototype, "disabled", 2);
940
- V = $([
939
+ ], H.prototype, "disabled", 2);
940
+ H = z([
941
941
  d("crt-input")
942
- ], V);
943
- let q = class extends p {
942
+ ], H);
943
+ let K = class extends p {
944
944
  constructor() {
945
945
  super(...arguments), this.placeholder = "", this.value = "", this.disabled = !1, this.rows = 4;
946
946
  }
@@ -951,14 +951,14 @@ let q = class extends p {
951
951
  placeholder="${this.placeholder}"
952
952
  rows="${this.rows}"
953
953
  ?disabled="${this.disabled}"
954
- @input="${(r) => {
955
- this.value = r.target.value;
954
+ @input="${(e) => {
955
+ this.value = e.target.value;
956
956
  }}"
957
957
  ></textarea>
958
958
  `;
959
959
  }
960
960
  };
961
- q.styles = c`
961
+ K.styles = c`
962
962
  :host {
963
963
  display: block;
964
964
  }
@@ -1000,33 +1000,40 @@ q.styles = c`
1000
1000
  border-style: dashed;
1001
1001
  }
1002
1002
  `;
1003
- $([
1003
+ z([
1004
1004
  n()
1005
- ], q.prototype, "placeholder", 2);
1006
- $([
1005
+ ], K.prototype, "placeholder", 2);
1006
+ z([
1007
1007
  n()
1008
- ], q.prototype, "value", 2);
1009
- $([
1008
+ ], K.prototype, "value", 2);
1009
+ z([
1010
1010
  n()
1011
- ], q.prototype, "disabled", 2);
1012
- $([
1011
+ ], K.prototype, "disabled", 2);
1012
+ z([
1013
1013
  n()
1014
- ], q.prototype, "rows", 2);
1015
- q = $([
1014
+ ], K.prototype, "rows", 2);
1015
+ K = z([
1016
1016
  d("crt-textarea")
1017
- ], q);
1018
- var $r = Object.defineProperty, _r = Object.getOwnPropertyDescriptor, et = (r, t, a, s) => {
1019
- for (var e = s > 1 ? void 0 : s ? _r(t, a) : t, i = r.length - 1, o; i >= 0; i--)
1020
- (o = r[i]) && (e = (s ? o(t, a, e) : o(e)) || e);
1021
- return s && e && $r(t, a, e), e;
1017
+ ], K);
1018
+ var je = Object.defineProperty, Te = Object.getOwnPropertyDescriptor, ot = (e, t, a, i) => {
1019
+ for (var r = i > 1 ? void 0 : i ? Te(t, a) : t, s = e.length - 1, o; s >= 0; s--)
1020
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
1021
+ return i && r && je(t, a, r), r;
1022
1022
  };
1023
- let I = class extends p {
1023
+ let U = class extends p {
1024
1024
  constructor() {
1025
1025
  super(...arguments), this.href = "#", this.target = "", this.iconLeft = !1, this.iconRight = !1, this.icon = "";
1026
1026
  }
1027
+ _onClick(e) {
1028
+ this.href && this.href.startsWith("#") && (e.preventDefault(), this.dispatchEvent(new CustomEvent("navigate", {
1029
+ detail: { href: this.href },
1030
+ bubbles: !0,
1031
+ composed: !0
1032
+ })));
1033
+ }
1027
1034
  render() {
1028
1035
  return l`
1029
- <a href="${this.href}" ${this.target ? `target="${this.target}"` : ""}>
1036
+ <a href="${this.href}" ${this.target ? `target="${this.target}"` : ""} @click="${(e) => this._onClick(e)}">
1030
1037
  ${this.iconLeft ? l`<crt-icon name="${this.icon}"></crt-icon>` : ""}
1031
1038
  <slot></slot>
1032
1039
  ${this.iconRight ? l`<crt-icon name="${this.icon}"></crt-icon>` : ""}
@@ -1034,7 +1041,7 @@ let I = class extends p {
1034
1041
  `;
1035
1042
  }
1036
1043
  };
1037
- I.styles = c`
1044
+ U.styles = c`
1038
1045
  :host {
1039
1046
  --crt-link-color: var(--crt-primary);
1040
1047
  }
@@ -1060,38 +1067,38 @@ I.styles = c`
1060
1067
  color: var(--crt-primary-dark);
1061
1068
  }
1062
1069
  `;
1063
- et([
1070
+ ot([
1064
1071
  n({ type: String })
1065
- ], I.prototype, "href", 2);
1066
- et([
1072
+ ], U.prototype, "href", 2);
1073
+ ot([
1067
1074
  n({ type: String })
1068
- ], I.prototype, "target", 2);
1069
- et([
1075
+ ], U.prototype, "target", 2);
1076
+ ot([
1070
1077
  n({ type: Boolean })
1071
- ], I.prototype, "iconLeft", 2);
1072
- et([
1078
+ ], U.prototype, "iconLeft", 2);
1079
+ ot([
1073
1080
  n({ type: Boolean })
1074
- ], I.prototype, "iconRight", 2);
1075
- et([
1081
+ ], U.prototype, "iconRight", 2);
1082
+ ot([
1076
1083
  n({ type: String })
1077
- ], I.prototype, "icon", 2);
1078
- I = et([
1084
+ ], U.prototype, "icon", 2);
1085
+ U = ot([
1079
1086
  d("crt-link")
1080
- ], I);
1081
- var zr = Object.defineProperty, Cr = Object.getOwnPropertyDescriptor, W = (r, t, a, s) => {
1082
- for (var e = s > 1 ? void 0 : s ? Cr(t, a) : t, i = r.length - 1, o; i >= 0; i--)
1083
- (o = r[i]) && (e = (s ? o(t, a, e) : o(e)) || e);
1084
- return s && e && zr(t, a, e), e;
1087
+ ], U);
1088
+ var Ae = Object.defineProperty, Ie = Object.getOwnPropertyDescriptor, Z = (e, t, a, i) => {
1089
+ for (var r = i > 1 ? void 0 : i ? Ie(t, a) : t, s = e.length - 1, o; s >= 0; s--)
1090
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
1091
+ return i && r && Ae(t, a, r), r;
1085
1092
  };
1086
- let O = class extends p {
1093
+ let E = class extends p {
1087
1094
  constructor() {
1088
- super(...arguments), this.accept = "", this.multiple = !0, this.name = "", this.maxSize = 10485760, this.maxFiles = 10, this.files = [], this._handleFileSelect = (r) => {
1089
- const t = r.target;
1095
+ super(...arguments), this.accept = "", this.multiple = !0, this.name = "", this.maxSize = 10485760, this.maxFiles = 10, this.files = [], this._handleFileSelect = (e) => {
1096
+ const t = e.target;
1090
1097
  t.files && (this._addFiles(Array.from(t.files)), t.value = "");
1091
1098
  }, this._handleUploadClick = () => {
1092
1099
  this.shadowRoot?.querySelector('input[type="file"]')?.click();
1093
- }, this._handleRemoveFile = (r) => {
1094
- this.files = this.files.filter((t) => t.id !== r), this.dispatchEvent(new CustomEvent("files-changed", {
1100
+ }, this._handleRemoveFile = (e) => {
1101
+ this.files = this.files.filter((t) => t.id !== e), this.dispatchEvent(new CustomEvent("files-changed", {
1095
1102
  detail: { files: this.files.map((t) => t.file) }
1096
1103
  }));
1097
1104
  }, this._handleClearAll = () => {
@@ -1109,41 +1116,41 @@ let O = class extends p {
1109
1116
  _generateId() {
1110
1117
  return Math.random().toString(36).substring(2, 9);
1111
1118
  }
1112
- _addFiles(r) {
1113
- const s = r.filter((e) => {
1114
- if (e.size > this.maxSize)
1115
- return console.warn(`File ${e.name} exceeds max size`), !1;
1119
+ _addFiles(e) {
1120
+ const i = e.filter((r) => {
1121
+ if (r.size > this.maxSize)
1122
+ return console.warn(`File ${r.name} exceeds max size`), !1;
1116
1123
  if (this.accept) {
1117
- const i = this.accept.split(",").map((P) => P.trim()), o = e.type, h = "." + e.name.split(".").pop()?.toLowerCase();
1118
- if (!i.some((P) => P.startsWith(".") ? h === P.toLowerCase() : P.endsWith("/*") ? o.startsWith(P.replace("/*", "/")) : o === P))
1119
- return console.warn(`File ${e.name} type not accepted`), !1;
1124
+ const s = this.accept.split(",").map((S) => S.trim()), o = r.type, h = "." + r.name.split(".").pop()?.toLowerCase();
1125
+ if (!s.some((S) => S.startsWith(".") ? h === S.toLowerCase() : S.endsWith("/*") ? o.startsWith(S.replace("/*", "/")) : o === S))
1126
+ return console.warn(`File ${r.name} type not accepted`), !1;
1120
1127
  }
1121
1128
  return !0;
1122
- }).slice(0, this.maxFiles - this.files.length).map((e) => ({
1123
- file: e,
1129
+ }).slice(0, this.maxFiles - this.files.length).map((r) => ({
1130
+ file: r,
1124
1131
  id: this._generateId(),
1125
1132
  progress: 100,
1126
1133
  status: "complete"
1127
1134
  }));
1128
- this.files = [...this.files, ...s], this.dispatchEvent(new CustomEvent("files-changed", {
1129
- detail: { files: this.files.map((e) => e.file) }
1135
+ this.files = [...this.files, ...i], this.dispatchEvent(new CustomEvent("files-changed", {
1136
+ detail: { files: this.files.map((r) => r.file) }
1130
1137
  }));
1131
1138
  }
1132
1139
  /** Public method to clear all files */
1133
1140
  clearFiles() {
1134
1141
  this._handleClearAll();
1135
1142
  }
1136
- _formatFileSize(r) {
1137
- if (r === 0) return "0 B";
1138
- const t = 1024, a = ["B", "KB", "MB", "GB"], s = Math.floor(Math.log(r) / Math.log(t));
1139
- return parseFloat((r / Math.pow(t, s)).toFixed(1)) + " " + a[s];
1143
+ _formatFileSize(e) {
1144
+ if (e === 0) return "0 B";
1145
+ const t = 1024, a = ["B", "KB", "MB", "GB"], i = Math.floor(Math.log(e) / Math.log(t));
1146
+ return parseFloat((e / Math.pow(t, i)).toFixed(1)) + " " + a[i];
1140
1147
  }
1141
- _getFileIcon(r) {
1142
- const t = r.name.split(".").pop()?.toLowerCase() || "", a = r.type;
1148
+ _getFileIcon(e) {
1149
+ const t = e.name.split(".").pop()?.toLowerCase() || "", a = e.type;
1143
1150
  return a.startsWith("image/") ? "[IMG]" : a.startsWith("video/") ? "[VID]" : a.startsWith("audio/") ? "[AUD]" : a === "application/pdf" ? "[PDF]" : ["doc", "docx"].includes(t) ? "[DOC]" : ["xls", "xlsx"].includes(t) ? "[XLS]" : ["zip", "rar", "7z", "tar", "gz"].includes(t) ? "[ZIP]" : ["js", "ts", "py", "java", "cpp", "c", "html", "css"].includes(t) ? "[COD]" : ["txt", "md", "json", "xml"].includes(t) ? "[TXT]" : "[FIL]";
1144
1151
  }
1145
1152
  _getTotalSize() {
1146
- return this.files.reduce((r, t) => r + t.file.size, 0);
1153
+ return this.files.reduce((e, t) => e + t.file.size, 0);
1147
1154
  }
1148
1155
  render() {
1149
1156
  return l`
@@ -1179,18 +1186,18 @@ let O = class extends p {
1179
1186
  <span style="text-align: center;">ACT</span>
1180
1187
  </div>
1181
1188
  <div class="file-list">
1182
- ${this.files.map((r) => l`
1189
+ ${this.files.map((e) => l`
1183
1190
  <div class="file-item">
1184
1191
  <div class="file-info">
1185
- <span class="file-icon">${this._getFileIcon(r.file)}</span>
1186
- <span class="file-name">${r.file.name}</span>
1192
+ <span class="file-icon">${this._getFileIcon(e.file)}</span>
1193
+ <span class="file-name">${e.file.name}</span>
1187
1194
  </div>
1188
- <span class="file-size">${this._formatFileSize(r.file.size)}</span>
1189
- <span class="file-status ${r.status}">${r.status.toUpperCase()}</span>
1195
+ <span class="file-size">${this._formatFileSize(e.file.size)}</span>
1196
+ <span class="file-status ${e.status}">${e.status.toUpperCase()}</span>
1190
1197
  <div class="file-actions">
1191
1198
  <button
1192
1199
  class="file-remove"
1193
- @click="${() => this._handleRemoveFile(r.id)}"
1200
+ @click="${() => this._handleRemoveFile(e.id)}"
1194
1201
  title="Remove file"
1195
1202
  >X</button>
1196
1203
  </div>
@@ -1224,7 +1231,7 @@ let O = class extends p {
1224
1231
  `;
1225
1232
  }
1226
1233
  };
1227
- O.styles = c`
1234
+ E.styles = c`
1228
1235
  :host {
1229
1236
  display: block;
1230
1237
  font-family: var(--crt-font-family);
@@ -1519,31 +1526,31 @@ O.styles = c`
1519
1526
  transition: width 0.3s ease;
1520
1527
  }
1521
1528
  `;
1522
- W([
1529
+ Z([
1523
1530
  n({ type: String })
1524
- ], O.prototype, "accept", 2);
1525
- W([
1531
+ ], E.prototype, "accept", 2);
1532
+ Z([
1526
1533
  n({ type: Boolean })
1527
- ], O.prototype, "multiple", 2);
1528
- W([
1534
+ ], E.prototype, "multiple", 2);
1535
+ Z([
1529
1536
  n({ type: String })
1530
- ], O.prototype, "name", 2);
1531
- W([
1537
+ ], E.prototype, "name", 2);
1538
+ Z([
1532
1539
  n({ type: Number })
1533
- ], O.prototype, "maxSize", 2);
1534
- W([
1540
+ ], E.prototype, "maxSize", 2);
1541
+ Z([
1535
1542
  n({ type: Number })
1536
- ], O.prototype, "maxFiles", 2);
1537
- W([
1543
+ ], E.prototype, "maxFiles", 2);
1544
+ Z([
1538
1545
  v()
1539
- ], O.prototype, "files", 2);
1540
- O = W([
1546
+ ], E.prototype, "files", 2);
1547
+ E = Z([
1541
1548
  d("crt-file-upload")
1542
- ], O);
1543
- var Pr = Object.defineProperty, Or = Object.getOwnPropertyDescriptor, _ = (r, t, a, s) => {
1544
- for (var e = s > 1 ? void 0 : s ? Or(t, a) : t, i = r.length - 1, o; i >= 0; i--)
1545
- (o = r[i]) && (e = (s ? o(t, a, e) : o(e)) || e);
1546
- return s && e && Pr(t, a, e), e;
1549
+ ], E);
1550
+ var Le = Object.defineProperty, Be = Object.getOwnPropertyDescriptor, C = (e, t, a, i) => {
1551
+ for (var r = i > 1 ? void 0 : i ? Be(t, a) : t, s = e.length - 1, o; s >= 0; s--)
1552
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
1553
+ return i && r && Le(t, a, r), r;
1547
1554
  };
1548
1555
  let b = class extends p {
1549
1556
  constructor() {
@@ -1560,8 +1567,8 @@ let b = class extends p {
1560
1567
  "Oktober",
1561
1568
  "November",
1562
1569
  "Dezember"
1563
- ], this._handleOutsideClick = (r) => {
1564
- this.contains(r.target) || (this._isOpen = !1);
1570
+ ], this._handleOutsideClick = (e) => {
1571
+ this.contains(e.target) || (this._isOpen = !1);
1565
1572
  };
1566
1573
  }
1567
1574
  connectedCallback() {
@@ -1571,15 +1578,15 @@ let b = class extends p {
1571
1578
  super.disconnectedCallback(), document.removeEventListener("click", this._handleOutsideClick);
1572
1579
  }
1573
1580
  _parseValue() {
1574
- const r = this.value.split(".");
1575
- if (r.length === 3) {
1576
- const [t, a, s] = r.map(Number);
1577
- this._selectedDate = new Date(s, a - 1, t), this._viewDate = new Date(this._selectedDate);
1581
+ const e = this.value.split(".");
1582
+ if (e.length === 3) {
1583
+ const [t, a, i] = e.map(Number);
1584
+ this._selectedDate = new Date(i, a - 1, t), this._viewDate = new Date(this._selectedDate);
1578
1585
  }
1579
1586
  }
1580
- _formatDate(r) {
1581
- const t = String(r.getDate()).padStart(2, "0"), a = String(r.getMonth() + 1).padStart(2, "0"), s = r.getFullYear();
1582
- return `${t}.${a}.${s}`;
1587
+ _formatDate(e) {
1588
+ const t = String(e.getDate()).padStart(2, "0"), a = String(e.getMonth() + 1).padStart(2, "0"), i = e.getFullYear();
1589
+ return `${t}.${a}.${i}`;
1583
1590
  }
1584
1591
  _toggleCalendar() {
1585
1592
  this.disabled || (this._isOpen = !this._isOpen);
@@ -1598,9 +1605,9 @@ let b = class extends p {
1598
1605
  1
1599
1606
  );
1600
1607
  }
1601
- _selectDate(r) {
1602
- this._selectedDate = r, this.value = this._formatDate(r), this._isOpen = !1, this.dispatchEvent(new CustomEvent("change", {
1603
- detail: { value: this.value, date: r }
1608
+ _selectDate(e) {
1609
+ this._selectedDate = e, this.value = this._formatDate(e), this._isOpen = !1, this.dispatchEvent(new CustomEvent("change", {
1610
+ detail: { value: this.value, date: e }
1604
1611
  }));
1605
1612
  }
1606
1613
  _selectToday() {
@@ -1611,54 +1618,54 @@ let b = class extends p {
1611
1618
  detail: { value: "", date: null }
1612
1619
  }));
1613
1620
  }
1614
- _getDaysInMonth(r, t) {
1615
- return new Date(r, t + 1, 0).getDate();
1621
+ _getDaysInMonth(e, t) {
1622
+ return new Date(e, t + 1, 0).getDate();
1616
1623
  }
1617
- _getFirstDayOfMonth(r, t) {
1618
- const a = new Date(r, t, 1).getDay();
1624
+ _getFirstDayOfMonth(e, t) {
1625
+ const a = new Date(e, t, 1).getDay();
1619
1626
  return a === 0 ? 6 : a - 1;
1620
1627
  }
1621
- _isToday(r) {
1628
+ _isToday(e) {
1622
1629
  const t = /* @__PURE__ */ new Date();
1623
- return r.getDate() === t.getDate() && r.getMonth() === t.getMonth() && r.getFullYear() === t.getFullYear();
1630
+ return e.getDate() === t.getDate() && e.getMonth() === t.getMonth() && e.getFullYear() === t.getFullYear();
1624
1631
  }
1625
- _isSelected(r) {
1626
- return this._selectedDate ? r.getDate() === this._selectedDate.getDate() && r.getMonth() === this._selectedDate.getMonth() && r.getFullYear() === this._selectedDate.getFullYear() : !1;
1632
+ _isSelected(e) {
1633
+ return this._selectedDate ? e.getDate() === this._selectedDate.getDate() && e.getMonth() === this._selectedDate.getMonth() && e.getFullYear() === this._selectedDate.getFullYear() : !1;
1627
1634
  }
1628
1635
  _renderDays() {
1629
- const r = this._viewDate.getFullYear(), t = this._viewDate.getMonth(), a = this._getDaysInMonth(r, t), s = this._getFirstDayOfMonth(r, t), e = this._getDaysInMonth(r, t - 1), i = [];
1630
- for (let h = s - 1; h >= 0; h--) {
1631
- const m = new Date(r, t - 1, e - h);
1632
- i.push(l`
1633
- <div class="day other-month" @click="${() => this._selectDate(m)}">
1634
- ${e - h}
1636
+ const e = this._viewDate.getFullYear(), t = this._viewDate.getMonth(), a = this._getDaysInMonth(e, t), i = this._getFirstDayOfMonth(e, t), r = this._getDaysInMonth(e, t - 1), s = [];
1637
+ for (let h = i - 1; h >= 0; h--) {
1638
+ const f = new Date(e, t - 1, r - h);
1639
+ s.push(l`
1640
+ <div class="day other-month" @click="${() => this._selectDate(f)}">
1641
+ ${r - h}
1635
1642
  </div>
1636
1643
  `);
1637
1644
  }
1638
1645
  for (let h = 1; h <= a; h++) {
1639
- const m = new Date(r, t, h), P = this._isToday(m), Kt = this._isSelected(m);
1640
- i.push(l`
1646
+ const f = new Date(e, t, h), S = this._isToday(f), ie = this._isSelected(f);
1647
+ s.push(l`
1641
1648
  <div
1642
- class="day ${P ? "today" : ""} ${Kt ? "selected" : ""}"
1643
- @click="${() => this._selectDate(m)}"
1649
+ class="day ${S ? "today" : ""} ${ie ? "selected" : ""}"
1650
+ @click="${() => this._selectDate(f)}"
1644
1651
  >
1645
1652
  ${h}
1646
1653
  </div>
1647
1654
  `);
1648
1655
  }
1649
- const o = 42 - i.length;
1656
+ const o = 42 - s.length;
1650
1657
  for (let h = 1; h <= o; h++) {
1651
- const m = new Date(r, t + 1, h);
1652
- i.push(l`
1653
- <div class="day other-month" @click="${() => this._selectDate(m)}">
1658
+ const f = new Date(e, t + 1, h);
1659
+ s.push(l`
1660
+ <div class="day other-month" @click="${() => this._selectDate(f)}">
1654
1661
  ${h}
1655
1662
  </div>
1656
1663
  `);
1657
1664
  }
1658
- return i;
1665
+ return s;
1659
1666
  }
1660
1667
  render() {
1661
- const r = `${this._months[this._viewDate.getMonth()]} ${this._viewDate.getFullYear()}`;
1668
+ const e = `${this._months[this._viewDate.getMonth()]} ${this._viewDate.getFullYear()}`;
1662
1669
  return l`
1663
1670
  <div class="calendar-wrapper">
1664
1671
  <div class="calendar-input">
@@ -1683,7 +1690,7 @@ let b = class extends p {
1683
1690
  <div class="calendar-dropdown ${this._isOpen ? "open" : ""}">
1684
1691
  <div class="calendar-header">
1685
1692
  <button class="calendar-nav-btn" @click="${this._prevMonth}">◄</button>
1686
- <span class="calendar-title">${r}</span>
1693
+ <span class="calendar-title">${e}</span>
1687
1694
  <button class="calendar-nav-btn" @click="${this._nextMonth}">►</button>
1688
1695
  </div>
1689
1696
 
@@ -1909,56 +1916,56 @@ b.styles = c`
1909
1916
  color: var(--crt-bg-dark);
1910
1917
  }
1911
1918
  `;
1912
- _([
1919
+ C([
1913
1920
  n({ type: String })
1914
1921
  ], b.prototype, "value", 2);
1915
- _([
1922
+ C([
1916
1923
  n({ type: String })
1917
1924
  ], b.prototype, "placeholder", 2);
1918
- _([
1925
+ C([
1919
1926
  n({ type: String })
1920
1927
  ], b.prototype, "format", 2);
1921
- _([
1928
+ C([
1922
1929
  n({ type: String })
1923
1930
  ], b.prototype, "min", 2);
1924
- _([
1931
+ C([
1925
1932
  n({ type: String })
1926
1933
  ], b.prototype, "max", 2);
1927
- _([
1934
+ C([
1928
1935
  n({ type: Boolean })
1929
1936
  ], b.prototype, "disabled", 2);
1930
- _([
1937
+ C([
1931
1938
  v()
1932
1939
  ], b.prototype, "_isOpen", 2);
1933
- _([
1940
+ C([
1934
1941
  v()
1935
1942
  ], b.prototype, "_viewDate", 2);
1936
- _([
1943
+ C([
1937
1944
  v()
1938
1945
  ], b.prototype, "_selectedDate", 2);
1939
- b = _([
1946
+ b = C([
1940
1947
  d("crt-calendar")
1941
1948
  ], b);
1942
- var Sr = Object.defineProperty, Er = Object.getOwnPropertyDescriptor, G = (r, t, a, s) => {
1943
- for (var e = s > 1 ? void 0 : s ? Er(t, a) : t, i = r.length - 1, o; i >= 0; i--)
1944
- (o = r[i]) && (e = (s ? o(t, a, e) : o(e)) || e);
1945
- return s && e && Sr(t, a, e), e;
1949
+ var Ue = Object.defineProperty, Ne = Object.getOwnPropertyDescriptor, tt = (e, t, a, i) => {
1950
+ for (var r = i > 1 ? void 0 : i ? Ne(t, a) : t, s = e.length - 1, o; s >= 0; s--)
1951
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
1952
+ return i && r && Ue(t, a, r), r;
1946
1953
  };
1947
- let S = class extends p {
1954
+ let D = class extends p {
1948
1955
  constructor() {
1949
- super(...arguments), this.value = "", this.placeholder = "Select...", this.label = "", this.disabled = !1, this.options = [], this._isOpen = !1, this._handleOutsideClick = (r) => {
1950
- this.contains(r.target) || (this._isOpen = !1);
1956
+ super(...arguments), this.value = "", this.placeholder = "Select...", this.label = "", this.disabled = !1, this.options = [], this._isOpen = !1, this._handleOutsideClick = (e) => {
1957
+ this.contains(e.target) || (this._isOpen = !1);
1951
1958
  };
1952
1959
  }
1953
1960
  // Normalize options to flat array with group property
1954
1961
  _getNormalizedOptions() {
1955
- const r = [];
1962
+ const e = [];
1956
1963
  for (const t of this.options)
1957
1964
  if ("options" in t && Array.isArray(t.options))
1958
1965
  for (const a of t.options)
1959
- r.push({ ...a, group: t.group });
1960
- else "value" in t && r.push(t);
1961
- return r;
1966
+ e.push({ ...a, group: t.group });
1967
+ else "value" in t && e.push(t);
1968
+ return e;
1962
1969
  }
1963
1970
  connectedCallback() {
1964
1971
  super.connectedCallback(), document.addEventListener("click", this._handleOutsideClick);
@@ -1969,42 +1976,42 @@ let S = class extends p {
1969
1976
  _toggle() {
1970
1977
  this.disabled || (this._isOpen = !this._isOpen);
1971
1978
  }
1972
- _selectOption(r) {
1973
- r.disabled || (this.value = r.value, this._isOpen = !1, this.dispatchEvent(new CustomEvent("change", {
1974
- detail: { value: r.value, label: r.label }
1979
+ _selectOption(e) {
1980
+ e.disabled || (this.value = e.value, this._isOpen = !1, this.dispatchEvent(new CustomEvent("change", {
1981
+ detail: { value: e.value, label: e.label }
1975
1982
  })));
1976
1983
  }
1977
1984
  _getSelectedLabel() {
1978
1985
  return this._getNormalizedOptions().find((a) => a.value === this.value)?.label || "";
1979
1986
  }
1980
1987
  _renderOptions() {
1981
- const r = this._getNormalizedOptions(), t = /* @__PURE__ */ new Map(), a = [];
1982
- r.forEach((e) => {
1983
- e.group ? (t.has(e.group) || t.set(e.group, []), t.get(e.group).push(e)) : a.push(e);
1988
+ const e = this._getNormalizedOptions(), t = /* @__PURE__ */ new Map(), a = [];
1989
+ e.forEach((r) => {
1990
+ r.group ? (t.has(r.group) || t.set(r.group, []), t.get(r.group).push(r)) : a.push(r);
1984
1991
  });
1985
- const s = [];
1986
- for (const e of a)
1987
- s.push(this._renderOption(e));
1988
- for (const [e, i] of t) {
1989
- s.push(l`<div class="select-group-label">${e}</div>`);
1990
- for (const o of i)
1991
- s.push(this._renderOption(o));
1992
+ const i = [];
1993
+ for (const r of a)
1994
+ i.push(this._renderOption(r));
1995
+ for (const [r, s] of t) {
1996
+ i.push(l`<div class="select-group-label">${r}</div>`);
1997
+ for (const o of s)
1998
+ i.push(this._renderOption(o));
1992
1999
  }
1993
- return s;
2000
+ return i;
1994
2001
  }
1995
- _renderOption(r) {
1996
- const t = r.value === this.value;
2002
+ _renderOption(e) {
2003
+ const t = e.value === this.value;
1997
2004
  return l`
1998
2005
  <div
1999
- class="select-option ${t ? "selected" : ""} ${r.disabled ? "disabled" : ""}"
2000
- @click="${() => this._selectOption(r)}"
2006
+ class="select-option ${t ? "selected" : ""} ${e.disabled ? "disabled" : ""}"
2007
+ @click="${() => this._selectOption(e)}"
2001
2008
  >
2002
- ${r.label}
2009
+ ${e.label}
2003
2010
  </div>
2004
2011
  `;
2005
2012
  }
2006
2013
  render() {
2007
- const r = this._getSelectedLabel();
2014
+ const e = this._getSelectedLabel();
2008
2015
  return l`
2009
2016
  ${this.label ? l`<label class="select-label">${this.label}</label>` : ""}
2010
2017
  <div class="select-wrapper">
@@ -2012,8 +2019,8 @@ let S = class extends p {
2012
2019
  class="select-trigger ${this._isOpen ? "open" : ""} ${this.disabled ? "disabled" : ""}"
2013
2020
  @click="${this._toggle}"
2014
2021
  >
2015
- <span class="select-value ${r ? "" : "placeholder"}">
2016
- ${r || this.placeholder}
2022
+ <span class="select-value ${e ? "" : "placeholder"}">
2023
+ ${e || this.placeholder}
2017
2024
  </span>
2018
2025
  <span class="select-arrow">▼</span>
2019
2026
  </div>
@@ -2025,7 +2032,7 @@ let S = class extends p {
2025
2032
  `;
2026
2033
  }
2027
2034
  };
2028
- S.styles = c`
2035
+ D.styles = c`
2029
2036
  :host {
2030
2037
  display: inline-block;
2031
2038
  font-family: var(--crt-font-family);
@@ -2182,38 +2189,261 @@ S.styles = c`
2182
2189
  box-shadow: var(--crt-glow-sm);
2183
2190
  }
2184
2191
  `;
2185
- G([
2192
+ tt([
2186
2193
  n({ type: String })
2187
- ], S.prototype, "value", 2);
2188
- G([
2194
+ ], D.prototype, "value", 2);
2195
+ tt([
2189
2196
  n({ type: String })
2190
- ], S.prototype, "placeholder", 2);
2191
- G([
2197
+ ], D.prototype, "placeholder", 2);
2198
+ tt([
2192
2199
  n({ type: String })
2193
- ], S.prototype, "label", 2);
2194
- G([
2200
+ ], D.prototype, "label", 2);
2201
+ tt([
2195
2202
  n({ type: Boolean })
2196
- ], S.prototype, "disabled", 2);
2197
- G([
2203
+ ], D.prototype, "disabled", 2);
2204
+ tt([
2198
2205
  n({ type: Array })
2199
- ], S.prototype, "options", 2);
2200
- G([
2206
+ ], D.prototype, "options", 2);
2207
+ tt([
2201
2208
  v()
2202
- ], S.prototype, "_isOpen", 2);
2203
- S = G([
2209
+ ], D.prototype, "_isOpen", 2);
2210
+ D = tt([
2204
2211
  d("crt-select")
2205
- ], S);
2206
- var Dr = Object.defineProperty, Mr = Object.getOwnPropertyDescriptor, g = (r, t, a, s) => {
2207
- for (var e = s > 1 ? void 0 : s ? Mr(t, a) : t, i = r.length - 1, o; i >= 0; i--)
2208
- (o = r[i]) && (e = (s ? o(t, a, e) : o(e)) || e);
2209
- return s && e && Dr(t, a, e), e;
2212
+ ], D);
2213
+ var Re = Object.defineProperty, Fe = Object.getOwnPropertyDescriptor, _ = (e, t, a, i) => {
2214
+ for (var r = i > 1 ? void 0 : i ? Fe(t, a) : t, s = e.length - 1, o; s >= 0; s--)
2215
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
2216
+ return i && r && Re(t, a, r), r;
2217
+ };
2218
+ let m = class extends p {
2219
+ constructor() {
2220
+ super(...arguments), this.value = "", this.placeholder = "Search...", this.debounceMs = 300, this.minLength = 1, this.suggestions = [], this._open = !1, this._activeIndex = -1, this._filtered = [], this._loading = !1, this._id = `crt-search-${Math.random().toString(36).slice(2, 9)}`;
2221
+ }
2222
+ connectedCallback() {
2223
+ super.connectedCallback(), this._filtered = [...this.suggestions];
2224
+ }
2225
+ updated(e) {
2226
+ e.has("suggestions") && (this._filtered = [...this.suggestions]);
2227
+ }
2228
+ _onInput(e) {
2229
+ const t = e.target.value;
2230
+ if (this.value = t, this.dispatchEvent(new CustomEvent("input-change", { detail: { value: this.value } })), this._debounceTimer && window.clearTimeout(this._debounceTimer), this.value.length < this.minLength) {
2231
+ this._open = !1, this._filtered = [];
2232
+ return;
2233
+ }
2234
+ this._debounceTimer = window.setTimeout(async () => {
2235
+ if (this._loading = !0, this.fetcher)
2236
+ try {
2237
+ const a = await this.fetcher(this.value);
2238
+ this._filtered = (a || []).slice(0, 50);
2239
+ } catch (a) {
2240
+ console.warn("crt-search: fetcher error", a), this._filtered = [];
2241
+ }
2242
+ else {
2243
+ const a = this.value.toLowerCase();
2244
+ this._filtered = this.suggestions.filter((i) => (i.label || i.value).toLowerCase().includes(a)).slice(0, 50);
2245
+ }
2246
+ this._activeIndex = this._filtered.length > 0 ? 0 : -1, this._open = this._filtered.length > 0, this._loading = !1;
2247
+ }, this.debounceMs);
2248
+ }
2249
+ _onKeyDown(e) {
2250
+ if (!this._open && (e.key === "ArrowDown" || e.key === "ArrowUp") && this._filtered.length > 0 && (this._open = !0), !this._open) {
2251
+ e.key === "Enter" && this.dispatchEvent(new CustomEvent("search", { detail: { value: this.value } }));
2252
+ return;
2253
+ }
2254
+ switch (e.key) {
2255
+ case "ArrowDown":
2256
+ e.preventDefault(), this._activeIndex = (this._activeIndex + 1) % this._filtered.length, this._scrollIntoView();
2257
+ break;
2258
+ case "ArrowUp":
2259
+ e.preventDefault(), this._activeIndex = (this._activeIndex - 1 + this._filtered.length) % this._filtered.length, this._scrollIntoView();
2260
+ break;
2261
+ case "Home":
2262
+ e.preventDefault(), this._activeIndex = 0, this._scrollIntoView();
2263
+ break;
2264
+ case "End":
2265
+ e.preventDefault(), this._activeIndex = this._filtered.length - 1, this._scrollIntoView();
2266
+ break;
2267
+ case "Enter":
2268
+ e.preventDefault(), this._activeIndex >= 0 && this._filtered[this._activeIndex] ? this._select(this._activeIndex) : this.dispatchEvent(new CustomEvent("search", { detail: { value: this.value } }));
2269
+ break;
2270
+ case "Escape":
2271
+ e.preventDefault(), this._open = !1;
2272
+ break;
2273
+ }
2274
+ }
2275
+ _scrollIntoView() {
2276
+ const e = this.shadowRoot?.querySelector(".list"), t = e?.querySelectorAll(".item")[this._activeIndex];
2277
+ if (t && e) {
2278
+ const a = t.getBoundingClientRect(), i = e.getBoundingClientRect();
2279
+ a.top < i.top && t.scrollIntoView({ block: "nearest" }), a.bottom > i.bottom && t.scrollIntoView({ block: "nearest" });
2280
+ }
2281
+ }
2282
+ _select(e) {
2283
+ const t = this._filtered[e];
2284
+ t && (this.value = t.value, this._open = !1, this._activeIndex = -1, this.dispatchEvent(new CustomEvent("select", { detail: { item: t, value: t.value, label: t.label, index: e } })));
2285
+ }
2286
+ _onBlur() {
2287
+ setTimeout(() => {
2288
+ const e = this.shadowRoot?.activeElement;
2289
+ (!e || !e.classList?.contains("item")) && (this._open = !1, this._activeIndex = -1);
2290
+ }, 150);
2291
+ }
2292
+ render() {
2293
+ const e = `${this._id}-list`;
2294
+ return l`
2295
+ <div class="search">
2296
+ <input
2297
+ class="input"
2298
+ role="combobox"
2299
+ aria-autocomplete="list"
2300
+ aria-expanded="${this._open ? "true" : "false"}"
2301
+ aria-controls="${e}"
2302
+ aria-activedescendant="${this._activeIndex >= 0 ? `${this._id}-option-${this._activeIndex}` : ""}"
2303
+ .value=${this.value}
2304
+ placeholder=${this.placeholder}
2305
+ @input=${this._onInput}
2306
+ @keydown=${this._onKeyDown}
2307
+ @blur=${this._onBlur}
2308
+ />
2309
+
2310
+ ${this._open ? l`
2311
+ <ul class="list" id="${e}" role="listbox">
2312
+ ${this._loading ? l`<li class="loading">Loading...</li>` : ""}
2313
+ ${this._filtered.length === 0 && !this._loading ? l`<li class="empty">No results</li>` : ""}
2314
+ ${this._filtered.map((t, a) => l`
2315
+ <li
2316
+ id="${this._id}-option-${a}"
2317
+ class="item"
2318
+ role="option"
2319
+ aria-selected="${this._activeIndex === a ? "true" : "false"}"
2320
+ @click="${() => this._select(a)}"
2321
+ >
2322
+ ${t.label ?? t.value}
2323
+ </li>
2324
+ `)}
2325
+ </ul>
2326
+ ` : ""}
2327
+ </div>
2328
+ `;
2329
+ }
2330
+ };
2331
+ m.styles = c`
2332
+ :host { display: block; font-family: var(--crt-font-family); }
2333
+
2334
+ .search {
2335
+ position: relative;
2336
+ width: 100%;
2337
+ min-width: 0;
2338
+ }
2339
+
2340
+ .input {
2341
+ width: 100%;
2342
+ padding: var(--crt-spacing-md);
2343
+ font-family: var(--crt-font-family);
2344
+ background: var(--crt-bg-dark);
2345
+ color: var(--crt-text-primary);
2346
+ border: 2px solid var(--crt-primary);
2347
+ box-shadow: var(--crt-glow-inset);
2348
+ box-sizing: border-box;
2349
+ transition: var(--crt-transition);
2350
+ cursor: var(--crt-cursor-text);
2351
+ }
2352
+
2353
+ .input:focus {
2354
+ outline: none;
2355
+ box-shadow: inset 0 0 10px rgba(51,255,51,0.2), var(--crt-glow);
2356
+ }
2357
+
2358
+ .list {
2359
+ position: absolute;
2360
+ top: calc(100% + var(--crt-spacing-xs));
2361
+ left: 0;
2362
+ right: 0;
2363
+ background: var(--crt-bg-dark);
2364
+ border: 2px solid var(--crt-primary);
2365
+ box-shadow: 0 10px 20px color-mix(in srgb, var(--crt-primary) 20%, transparent), var(--crt-glow-inset);
2366
+ max-height: 240px;
2367
+ overflow-y: auto;
2368
+ z-index: 1000;
2369
+ padding: 0;
2370
+ margin: 0;
2371
+ }
2372
+
2373
+ .item {
2374
+ list-style: none;
2375
+ padding: var(--crt-spacing-md);
2376
+ cursor: var(--crt-cursor-pointer);
2377
+ color: var(--crt-text-primary);
2378
+ transition: var(--crt-transition);
2379
+ display: flex;
2380
+ align-items: center;
2381
+ gap: var(--crt-spacing-sm);
2382
+ }
2383
+
2384
+ .item:hover,
2385
+ .item[aria-selected="true"] {
2386
+ background: color-mix(in srgb, var(--crt-primary) 10%, transparent);
2387
+ box-shadow: var(--crt-glow-sm);
2388
+ color: var(--crt-primary);
2389
+ }
2390
+
2391
+ .empty {
2392
+ padding: var(--crt-spacing-md);
2393
+ color: var(--crt-text-muted);
2394
+ text-align: center;
2395
+ }
2396
+
2397
+ .loading {
2398
+ padding: var(--crt-spacing-md);
2399
+ color: var(--crt-text-muted);
2400
+ text-align: center;
2401
+ }
2402
+ `;
2403
+ _([
2404
+ n({ type: String })
2405
+ ], m.prototype, "value", 2);
2406
+ _([
2407
+ n({ type: String })
2408
+ ], m.prototype, "placeholder", 2);
2409
+ _([
2410
+ n({ type: Number })
2411
+ ], m.prototype, "debounceMs", 2);
2412
+ _([
2413
+ n({ type: Number })
2414
+ ], m.prototype, "minLength", 2);
2415
+ _([
2416
+ n({ type: Array })
2417
+ ], m.prototype, "suggestions", 2);
2418
+ _([
2419
+ n()
2420
+ ], m.prototype, "fetcher", 2);
2421
+ _([
2422
+ v()
2423
+ ], m.prototype, "_open", 2);
2424
+ _([
2425
+ v()
2426
+ ], m.prototype, "_activeIndex", 2);
2427
+ _([
2428
+ v()
2429
+ ], m.prototype, "_filtered", 2);
2430
+ _([
2431
+ v()
2432
+ ], m.prototype, "_loading", 2);
2433
+ m = _([
2434
+ d("crt-search")
2435
+ ], m);
2436
+ var Ve = Object.defineProperty, Ye = Object.getOwnPropertyDescriptor, u = (e, t, a, i) => {
2437
+ for (var r = i > 1 ? void 0 : i ? Ye(t, a) : t, s = e.length - 1, o; s >= 0; s--)
2438
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
2439
+ return i && r && Ve(t, a, r), r;
2210
2440
  };
2211
- let B = class extends p {
2441
+ let N = class extends p {
2212
2442
  constructor() {
2213
2443
  super(...arguments), this.checked = !1, this.disabled = !1, this.indeterminate = !1, this.label = "", this.value = "";
2214
2444
  }
2215
- _handleChange(r) {
2216
- const t = r.target;
2445
+ _handleChange(e) {
2446
+ const t = e.target;
2217
2447
  this.checked = t.checked, this.indeterminate = !1, this.dispatchEvent(new CustomEvent("change", {
2218
2448
  detail: { checked: this.checked, value: this.value }
2219
2449
  }));
@@ -2236,7 +2466,7 @@ let B = class extends p {
2236
2466
  `;
2237
2467
  }
2238
2468
  };
2239
- B.styles = c`
2469
+ N.styles = c`
2240
2470
  :host {
2241
2471
  display: inline-flex;
2242
2472
  align-items: center;
@@ -2318,30 +2548,30 @@ B.styles = c`
2318
2548
  transform: scale(1);
2319
2549
  }
2320
2550
  `;
2321
- g([
2551
+ u([
2322
2552
  n({ type: Boolean, reflect: !0 })
2323
- ], B.prototype, "checked", 2);
2324
- g([
2553
+ ], N.prototype, "checked", 2);
2554
+ u([
2325
2555
  n({ type: Boolean, reflect: !0 })
2326
- ], B.prototype, "disabled", 2);
2327
- g([
2556
+ ], N.prototype, "disabled", 2);
2557
+ u([
2328
2558
  n({ type: Boolean })
2329
- ], B.prototype, "indeterminate", 2);
2330
- g([
2559
+ ], N.prototype, "indeterminate", 2);
2560
+ u([
2331
2561
  n({ type: String })
2332
- ], B.prototype, "label", 2);
2333
- g([
2562
+ ], N.prototype, "label", 2);
2563
+ u([
2334
2564
  n({ type: String })
2335
- ], B.prototype, "value", 2);
2336
- B = g([
2565
+ ], N.prototype, "value", 2);
2566
+ N = u([
2337
2567
  d("crt-checkbox")
2338
- ], B);
2339
- let U = class extends p {
2568
+ ], N);
2569
+ let R = class extends p {
2340
2570
  constructor() {
2341
2571
  super(...arguments), this.checked = !1, this.disabled = !1, this.label = "", this.value = "", this.name = "";
2342
2572
  }
2343
- _handleChange(r) {
2344
- r.target.checked && (this.checked = !0, this.dispatchEvent(new CustomEvent("change", {
2573
+ _handleChange(e) {
2574
+ e.target.checked && (this.checked = !0, this.dispatchEvent(new CustomEvent("change", {
2345
2575
  detail: { checked: this.checked, value: this.value },
2346
2576
  bubbles: !0
2347
2577
  })));
@@ -2365,7 +2595,7 @@ let U = class extends p {
2365
2595
  `;
2366
2596
  }
2367
2597
  };
2368
- U.styles = c`
2598
+ R.styles = c`
2369
2599
  :host {
2370
2600
  display: inline-flex;
2371
2601
  align-items: center;
@@ -2439,28 +2669,28 @@ U.styles = c`
2439
2669
  user-select: none;
2440
2670
  }
2441
2671
  `;
2442
- g([
2672
+ u([
2443
2673
  n({ type: Boolean, reflect: !0 })
2444
- ], U.prototype, "checked", 2);
2445
- g([
2674
+ ], R.prototype, "checked", 2);
2675
+ u([
2446
2676
  n({ type: Boolean, reflect: !0 })
2447
- ], U.prototype, "disabled", 2);
2448
- g([
2677
+ ], R.prototype, "disabled", 2);
2678
+ u([
2449
2679
  n({ type: String })
2450
- ], U.prototype, "label", 2);
2451
- g([
2680
+ ], R.prototype, "label", 2);
2681
+ u([
2452
2682
  n({ type: String })
2453
- ], U.prototype, "value", 2);
2454
- g([
2683
+ ], R.prototype, "value", 2);
2684
+ u([
2455
2685
  n({ type: String })
2456
- ], U.prototype, "name", 2);
2457
- U = g([
2686
+ ], R.prototype, "name", 2);
2687
+ R = u([
2458
2688
  d("crt-radio")
2459
- ], U);
2460
- let tt = class extends p {
2689
+ ], R);
2690
+ let it = class extends p {
2461
2691
  constructor() {
2462
- super(...arguments), this.name = "", this.value = "", this.horizontal = !1, this._handleChange = (r) => {
2463
- const t = r.target;
2692
+ super(...arguments), this.name = "", this.value = "", this.horizontal = !1, this._handleChange = (e) => {
2693
+ const t = e.target;
2464
2694
  t.tagName === "CRT-RADIO" && (this.value = t.value, this.querySelectorAll("crt-radio").forEach((a) => {
2465
2695
  a.checked = a === t;
2466
2696
  }), this.dispatchEvent(new CustomEvent("change", {
@@ -2478,7 +2708,7 @@ let tt = class extends p {
2478
2708
  return l`<slot></slot>`;
2479
2709
  }
2480
2710
  };
2481
- tt.styles = c`
2711
+ it.styles = c`
2482
2712
  :host {
2483
2713
  display: flex;
2484
2714
  flex-direction: column;
@@ -2491,24 +2721,24 @@ tt.styles = c`
2491
2721
  gap: var(--crt-spacing-lg);
2492
2722
  }
2493
2723
  `;
2494
- g([
2724
+ u([
2495
2725
  n({ type: String })
2496
- ], tt.prototype, "name", 2);
2497
- g([
2726
+ ], it.prototype, "name", 2);
2727
+ u([
2498
2728
  n({ type: String })
2499
- ], tt.prototype, "value", 2);
2500
- g([
2729
+ ], it.prototype, "value", 2);
2730
+ u([
2501
2731
  n({ type: Boolean, reflect: !0 })
2502
- ], tt.prototype, "horizontal", 2);
2503
- tt = g([
2732
+ ], it.prototype, "horizontal", 2);
2733
+ it = u([
2504
2734
  d("crt-radio-group")
2505
- ], tt);
2506
- var jr = Object.defineProperty, Tr = Object.getOwnPropertyDescriptor, z = (r, t, a, s) => {
2507
- for (var e = s > 1 ? void 0 : s ? Tr(t, a) : t, i = r.length - 1, o; i >= 0; i--)
2508
- (o = r[i]) && (e = (s ? o(t, a, e) : o(e)) || e);
2509
- return s && e && jr(t, a, e), e;
2735
+ ], it);
2736
+ var qe = Object.defineProperty, He = Object.getOwnPropertyDescriptor, P = (e, t, a, i) => {
2737
+ for (var r = i > 1 ? void 0 : i ? He(t, a) : t, s = e.length - 1, o; s >= 0; s--)
2738
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
2739
+ return i && r && qe(t, a, r), r;
2510
2740
  };
2511
- let f = class extends p {
2741
+ let y = class extends p {
2512
2742
  constructor() {
2513
2743
  super(...arguments), this.value = 0, this.max = 100, this.label = "", this.animated = !1, this.indeterminate = !1, this.segmented = !1, this.size = "medium", this.variant = "default", this.showValue = !0;
2514
2744
  }
@@ -2516,25 +2746,25 @@ let f = class extends p {
2516
2746
  return Math.min(100, Math.max(0, this.value / this.max * 100));
2517
2747
  }
2518
2748
  render() {
2519
- const r = this._getPercentage();
2749
+ const e = this._getPercentage();
2520
2750
  return l`
2521
2751
  <div class="progress-wrapper">
2522
2752
  ${this.label || this.showValue ? l`
2523
2753
  <div class="progress-header">
2524
2754
  ${this.label ? l`<span class="progress-label">${this.label}</span>` : ""}
2525
2755
  ${this.showValue && !this.indeterminate ? l`
2526
- <span class="progress-value">${Math.round(r)}%</span>
2756
+ <span class="progress-value">${Math.round(e)}%</span>
2527
2757
  ` : ""}
2528
2758
  </div>
2529
2759
  ` : ""}
2530
2760
  <div class="progress-track" role="progressbar" aria-valuenow="${this.value}" aria-valuemax="${this.max}">
2531
- <div class="progress-bar" style="width: ${this.indeterminate ? "30" : r}%"></div>
2761
+ <div class="progress-bar" style="width: ${this.indeterminate ? "30" : e}%"></div>
2532
2762
  </div>
2533
2763
  </div>
2534
2764
  `;
2535
2765
  }
2536
2766
  };
2537
- f.styles = c`
2767
+ y.styles = c`
2538
2768
  :host {
2539
2769
  display: block;
2540
2770
  font-family: var(--crt-font-family);
@@ -2658,42 +2888,42 @@ f.styles = c`
2658
2888
  );
2659
2889
  }
2660
2890
  `;
2661
- z([
2891
+ P([
2662
2892
  n({ type: Number })
2663
- ], f.prototype, "value", 2);
2664
- z([
2893
+ ], y.prototype, "value", 2);
2894
+ P([
2665
2895
  n({ type: Number })
2666
- ], f.prototype, "max", 2);
2667
- z([
2896
+ ], y.prototype, "max", 2);
2897
+ P([
2668
2898
  n({ type: String })
2669
- ], f.prototype, "label", 2);
2670
- z([
2899
+ ], y.prototype, "label", 2);
2900
+ P([
2671
2901
  n({ type: Boolean, reflect: !0 })
2672
- ], f.prototype, "animated", 2);
2673
- z([
2902
+ ], y.prototype, "animated", 2);
2903
+ P([
2674
2904
  n({ type: Boolean, reflect: !0 })
2675
- ], f.prototype, "indeterminate", 2);
2676
- z([
2905
+ ], y.prototype, "indeterminate", 2);
2906
+ P([
2677
2907
  n({ type: Boolean, reflect: !0 })
2678
- ], f.prototype, "segmented", 2);
2679
- z([
2908
+ ], y.prototype, "segmented", 2);
2909
+ P([
2680
2910
  n({ type: String, reflect: !0 })
2681
- ], f.prototype, "size", 2);
2682
- z([
2911
+ ], y.prototype, "size", 2);
2912
+ P([
2683
2913
  n({ type: String, reflect: !0 })
2684
- ], f.prototype, "variant", 2);
2685
- z([
2914
+ ], y.prototype, "variant", 2);
2915
+ P([
2686
2916
  n({ type: Boolean })
2687
- ], f.prototype, "showValue", 2);
2688
- f = z([
2917
+ ], y.prototype, "showValue", 2);
2918
+ y = P([
2689
2919
  d("crt-progress")
2690
- ], f);
2691
- var Ar = Object.defineProperty, Lr = Object.getOwnPropertyDescriptor, ut = (r, t, a, s) => {
2692
- for (var e = s > 1 ? void 0 : s ? Lr(t, a) : t, i = r.length - 1, o; i >= 0; i--)
2693
- (o = r[i]) && (e = (s ? o(t, a, e) : o(e)) || e);
2694
- return s && e && Ar(t, a, e), e;
2920
+ ], y);
2921
+ var Ke = Object.defineProperty, Xe = Object.getOwnPropertyDescriptor, yt = (e, t, a, i) => {
2922
+ for (var r = i > 1 ? void 0 : i ? Xe(t, a) : t, s = e.length - 1, o; s >= 0; s--)
2923
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
2924
+ return i && r && Ke(t, a, r), r;
2695
2925
  };
2696
- let H = class extends p {
2926
+ let X = class extends p {
2697
2927
  constructor() {
2698
2928
  super(...arguments), this.text = "", this.position = "top", this.delay = 200, this._visible = !1;
2699
2929
  }
@@ -2722,7 +2952,7 @@ let H = class extends p {
2722
2952
  `;
2723
2953
  }
2724
2954
  };
2725
- H.styles = c`
2955
+ X.styles = c`
2726
2956
  :host {
2727
2957
  display: inline-block;
2728
2958
  position: relative;
@@ -2829,36 +3059,36 @@ H.styles = c`
2829
3059
  border-right-color: var(--crt-primary);
2830
3060
  }
2831
3061
  `;
2832
- ut([
3062
+ yt([
2833
3063
  n({ type: String })
2834
- ], H.prototype, "text", 2);
2835
- ut([
3064
+ ], X.prototype, "text", 2);
3065
+ yt([
2836
3066
  n({ type: String, reflect: !0 })
2837
- ], H.prototype, "position", 2);
2838
- ut([
3067
+ ], X.prototype, "position", 2);
3068
+ yt([
2839
3069
  n({ type: Number })
2840
- ], H.prototype, "delay", 2);
2841
- ut([
3070
+ ], X.prototype, "delay", 2);
3071
+ yt([
2842
3072
  v()
2843
- ], H.prototype, "_visible", 2);
2844
- H = ut([
3073
+ ], X.prototype, "_visible", 2);
3074
+ X = yt([
2845
3075
  d("crt-tooltip")
2846
- ], H);
2847
- var Ir = Object.defineProperty, Br = Object.getOwnPropertyDescriptor, It = (r, t, a, s) => {
2848
- for (var e = s > 1 ? void 0 : s ? Br(t, a) : t, i = r.length - 1, o; i >= 0; i--)
2849
- (o = r[i]) && (e = (s ? o(t, a, e) : o(e)) || e);
2850
- return s && e && Ir(t, a, e), e;
3076
+ ], X);
3077
+ var We = Object.defineProperty, Ge = Object.getOwnPropertyDescriptor, qt = (e, t, a, i) => {
3078
+ for (var r = i > 1 ? void 0 : i ? Ge(t, a) : t, s = e.length - 1, o; s >= 0; s--)
3079
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
3080
+ return i && r && We(t, a, r), r;
2851
3081
  };
2852
- let ct = class extends p {
3082
+ let vt = class extends p {
2853
3083
  constructor() {
2854
3084
  super(...arguments), this.items = [], this.separator = ">";
2855
3085
  }
2856
3086
  render() {
2857
3087
  return l`
2858
3088
  <nav class="breadcrumb" aria-label="Breadcrumb">
2859
- ${this.items.map((r, t) => l`
3089
+ ${this.items.map((e, t) => l`
2860
3090
  <span class="item ${t === this.items.length - 1 ? "active" : ""}">
2861
- ${r.href && t !== this.items.length - 1 ? l`<a href="${r.href}">${r.label}</a>` : l`<span class="text">${r.label}</span>`}
3091
+ ${e.href && t !== this.items.length - 1 ? l`<a href="${e.href}">${e.label}</a>` : l`<span class="text">${e.label}</span>`}
2862
3092
  ${t < this.items.length - 1 ? l`<span class="separator">${this.separator}</span>` : ""}
2863
3093
  </span>
2864
3094
  `)}
@@ -2867,7 +3097,7 @@ let ct = class extends p {
2867
3097
  `;
2868
3098
  }
2869
3099
  };
2870
- ct.styles = c`
3100
+ vt.styles = c`
2871
3101
  :host {
2872
3102
  display: block;
2873
3103
  font-family: var(--crt-font-family);
@@ -2916,39 +3146,39 @@ ct.styles = c`
2916
3146
  font-size: var(--crt-font-size-sm);
2917
3147
  }
2918
3148
  `;
2919
- It([
3149
+ qt([
2920
3150
  n({ type: Array })
2921
- ], ct.prototype, "items", 2);
2922
- It([
3151
+ ], vt.prototype, "items", 2);
3152
+ qt([
2923
3153
  n({ type: String })
2924
- ], ct.prototype, "separator", 2);
2925
- ct = It([
3154
+ ], vt.prototype, "separator", 2);
3155
+ vt = qt([
2926
3156
  d("crt-breadcrumb")
2927
- ], ct);
2928
- var Ur = Object.defineProperty, Nr = Object.getOwnPropertyDescriptor, mt = (r, t, a, s) => {
2929
- for (var e = s > 1 ? void 0 : s ? Nr(t, a) : t, i = r.length - 1, o; i >= 0; i--)
2930
- (o = r[i]) && (e = (s ? o(t, a, e) : o(e)) || e);
2931
- return s && e && Ur(t, a, e), e;
3157
+ ], vt);
3158
+ var Qe = Object.defineProperty, Je = Object.getOwnPropertyDescriptor, xt = (e, t, a, i) => {
3159
+ for (var r = i > 1 ? void 0 : i ? Je(t, a) : t, s = e.length - 1, o; s >= 0; s--)
3160
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
3161
+ return i && r && Qe(t, a, r), r;
2932
3162
  };
2933
- let X = class extends p {
3163
+ let W = class extends p {
2934
3164
  constructor() {
2935
3165
  super(...arguments), this.current = 1, this.total = 1, this.siblings = 1, this.showInfo = !0;
2936
3166
  }
2937
- _goToPage(r) {
2938
- r >= 1 && r <= this.total && r !== this.current && (this.current = r, this.dispatchEvent(new CustomEvent("change", {
3167
+ _goToPage(e) {
3168
+ e >= 1 && e <= this.total && e !== this.current && (this.current = e, this.dispatchEvent(new CustomEvent("change", {
2939
3169
  detail: { page: this.current }
2940
3170
  })));
2941
3171
  }
2942
3172
  _getPageNumbers() {
2943
- const r = [], t = this.current > this.siblings + 2, a = this.current < this.total - this.siblings - 1;
2944
- r.push(1), t && r.push("...");
2945
- const s = Math.max(2, this.current - this.siblings), e = Math.min(this.total - 1, this.current + this.siblings);
2946
- for (let i = s; i <= e; i++)
2947
- r.includes(i) || r.push(i);
2948
- return a && r.push("..."), this.total > 1 && !r.includes(this.total) && r.push(this.total), r;
3173
+ const e = [], t = this.current > this.siblings + 2, a = this.current < this.total - this.siblings - 1;
3174
+ e.push(1), t && e.push("...");
3175
+ const i = Math.max(2, this.current - this.siblings), r = Math.min(this.total - 1, this.current + this.siblings);
3176
+ for (let s = i; s <= r; s++)
3177
+ e.includes(s) || e.push(s);
3178
+ return a && e.push("..."), this.total > 1 && !e.includes(this.total) && e.push(this.total), e;
2949
3179
  }
2950
3180
  render() {
2951
- const r = this._getPageNumbers();
3181
+ const e = this._getPageNumbers();
2952
3182
  return l`
2953
3183
  <nav class="pagination" aria-label="Pagination">
2954
3184
  <button
@@ -2960,7 +3190,7 @@ let X = class extends p {
2960
3190
 
2961
3191
  </button>
2962
3192
 
2963
- ${r.map(
3193
+ ${e.map(
2964
3194
  (t) => t === "..." ? l`<span class="page-ellipsis">...</span>` : l`
2965
3195
  <button
2966
3196
  class="page-btn ${t === this.current ? "active" : ""}"
@@ -2989,7 +3219,7 @@ let X = class extends p {
2989
3219
  `;
2990
3220
  }
2991
3221
  };
2992
- X.styles = c`
3222
+ W.styles = c`
2993
3223
  :host {
2994
3224
  display: block;
2995
3225
  font-family: var(--crt-font-family);
@@ -3044,40 +3274,40 @@ X.styles = c`
3044
3274
  margin-left: var(--crt-spacing-md);
3045
3275
  }
3046
3276
  `;
3047
- mt([
3277
+ xt([
3048
3278
  n({ type: Number })
3049
- ], X.prototype, "current", 2);
3050
- mt([
3279
+ ], W.prototype, "current", 2);
3280
+ xt([
3051
3281
  n({ type: Number })
3052
- ], X.prototype, "total", 2);
3053
- mt([
3282
+ ], W.prototype, "total", 2);
3283
+ xt([
3054
3284
  n({ type: Number })
3055
- ], X.prototype, "siblings", 2);
3056
- mt([
3285
+ ], W.prototype, "siblings", 2);
3286
+ xt([
3057
3287
  n({ type: Boolean })
3058
- ], X.prototype, "showInfo", 2);
3059
- X = mt([
3288
+ ], W.prototype, "showInfo", 2);
3289
+ W = xt([
3060
3290
  d("crt-pagination")
3061
- ], X);
3062
- var Rr = Object.defineProperty, Fr = Object.getOwnPropertyDescriptor, T = (r, t, a, s) => {
3063
- for (var e = s > 1 ? void 0 : s ? Fr(t, a) : t, i = r.length - 1, o; i >= 0; i--)
3064
- (o = r[i]) && (e = (s ? o(t, a, e) : o(e)) || e);
3065
- return s && e && Rr(t, a, e), e;
3291
+ ], W);
3292
+ var Ze = Object.defineProperty, tr = Object.getOwnPropertyDescriptor, I = (e, t, a, i) => {
3293
+ for (var r = i > 1 ? void 0 : i ? tr(t, a) : t, s = e.length - 1, o; s >= 0; s--)
3294
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
3295
+ return i && r && Ze(t, a, r), r;
3066
3296
  };
3067
- let x = class extends p {
3297
+ let w = class extends p {
3068
3298
  constructor() {
3069
3299
  super(...arguments), this.value = 50, this.min = 0, this.max = 100, this.step = 1, this.label = "", this.disabled = !1, this.showMarks = !1, this.unit = "";
3070
3300
  }
3071
- _handleInput(r) {
3072
- const t = r.target;
3301
+ _handleInput(e) {
3302
+ const t = e.target;
3073
3303
  this.value = Number(t.value), this.dispatchEvent(new CustomEvent("input", {
3074
3304
  detail: { value: this.value },
3075
3305
  bubbles: !0,
3076
3306
  composed: !0
3077
3307
  }));
3078
3308
  }
3079
- _handleChange(r) {
3080
- const t = r.target;
3309
+ _handleChange(e) {
3310
+ const t = e.target;
3081
3311
  this.value = Number(t.value), this.dispatchEvent(new CustomEvent("change", {
3082
3312
  detail: { value: this.value },
3083
3313
  bubbles: !0,
@@ -3121,7 +3351,7 @@ let x = class extends p {
3121
3351
  `;
3122
3352
  }
3123
3353
  };
3124
- x.styles = c`
3354
+ w.styles = c`
3125
3355
  :host {
3126
3356
  display: block;
3127
3357
  font-family: var(--crt-font-family);
@@ -3255,44 +3485,44 @@ x.styles = c`
3255
3485
  cursor: not-allowed;
3256
3486
  }
3257
3487
  `;
3258
- T([
3488
+ I([
3259
3489
  n({ type: Number })
3260
- ], x.prototype, "value", 2);
3261
- T([
3490
+ ], w.prototype, "value", 2);
3491
+ I([
3262
3492
  n({ type: Number })
3263
- ], x.prototype, "min", 2);
3264
- T([
3493
+ ], w.prototype, "min", 2);
3494
+ I([
3265
3495
  n({ type: Number })
3266
- ], x.prototype, "max", 2);
3267
- T([
3496
+ ], w.prototype, "max", 2);
3497
+ I([
3268
3498
  n({ type: Number })
3269
- ], x.prototype, "step", 2);
3270
- T([
3499
+ ], w.prototype, "step", 2);
3500
+ I([
3271
3501
  n({ type: String })
3272
- ], x.prototype, "label", 2);
3273
- T([
3502
+ ], w.prototype, "label", 2);
3503
+ I([
3274
3504
  n({ type: Boolean, reflect: !0 })
3275
- ], x.prototype, "disabled", 2);
3276
- T([
3505
+ ], w.prototype, "disabled", 2);
3506
+ I([
3277
3507
  n({ type: Boolean })
3278
- ], x.prototype, "showMarks", 2);
3279
- T([
3508
+ ], w.prototype, "showMarks", 2);
3509
+ I([
3280
3510
  n({ type: String })
3281
- ], x.prototype, "unit", 2);
3282
- x = T([
3511
+ ], w.prototype, "unit", 2);
3512
+ w = I([
3283
3513
  d("crt-slider")
3284
- ], x);
3285
- var Yr = Object.defineProperty, Vr = Object.getOwnPropertyDescriptor, Q = (r, t, a, s) => {
3286
- for (var e = s > 1 ? void 0 : s ? Vr(t, a) : t, i = r.length - 1, o; i >= 0; i--)
3287
- (o = r[i]) && (e = (s ? o(t, a, e) : o(e)) || e);
3288
- return s && e && Yr(t, a, e), e;
3514
+ ], w);
3515
+ var er = Object.defineProperty, rr = Object.getOwnPropertyDescriptor, et = (e, t, a, i) => {
3516
+ for (var r = i > 1 ? void 0 : i ? rr(t, a) : t, s = e.length - 1, o; s >= 0; s--)
3517
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
3518
+ return i && r && er(t, a, r), r;
3289
3519
  };
3290
- let E = class extends p {
3520
+ let M = class extends p {
3291
3521
  constructor() {
3292
3522
  super(...arguments), this.checked = !1, this.disabled = !1, this.label = "", this.onLabel = "1", this.offLabel = "0", this.size = "medium";
3293
3523
  }
3294
- _handleChange(r) {
3295
- const t = r.target;
3524
+ _handleChange(e) {
3525
+ const t = e.target;
3296
3526
  this.checked = t.checked, this.dispatchEvent(new CustomEvent("change", {
3297
3527
  detail: { checked: this.checked }
3298
3528
  }));
@@ -3318,7 +3548,7 @@ let E = class extends p {
3318
3548
  `;
3319
3549
  }
3320
3550
  };
3321
- E.styles = c`
3551
+ M.styles = c`
3322
3552
  :host {
3323
3553
  display: inline-flex;
3324
3554
  align-items: center;
@@ -3440,40 +3670,40 @@ E.styles = c`
3440
3670
  left: 35px;
3441
3671
  }
3442
3672
  `;
3443
- Q([
3673
+ et([
3444
3674
  n({ type: Boolean, reflect: !0 })
3445
- ], E.prototype, "checked", 2);
3446
- Q([
3675
+ ], M.prototype, "checked", 2);
3676
+ et([
3447
3677
  n({ type: Boolean, reflect: !0 })
3448
- ], E.prototype, "disabled", 2);
3449
- Q([
3678
+ ], M.prototype, "disabled", 2);
3679
+ et([
3450
3680
  n({ type: String })
3451
- ], E.prototype, "label", 2);
3452
- Q([
3681
+ ], M.prototype, "label", 2);
3682
+ et([
3453
3683
  n({ type: String })
3454
- ], E.prototype, "onLabel", 2);
3455
- Q([
3684
+ ], M.prototype, "onLabel", 2);
3685
+ et([
3456
3686
  n({ type: String })
3457
- ], E.prototype, "offLabel", 2);
3458
- Q([
3687
+ ], M.prototype, "offLabel", 2);
3688
+ et([
3459
3689
  n({ type: String, reflect: !0 })
3460
- ], E.prototype, "size", 2);
3461
- E = Q([
3690
+ ], M.prototype, "size", 2);
3691
+ M = et([
3462
3692
  d("crt-toggle")
3463
- ], E);
3464
- var qr = Object.defineProperty, Hr = Object.getOwnPropertyDescriptor, A = (r, t, a, s) => {
3465
- for (var e = s > 1 ? void 0 : s ? Hr(t, a) : t, i = r.length - 1, o; i >= 0; i--)
3466
- (o = r[i]) && (e = (s ? o(t, a, e) : o(e)) || e);
3467
- return s && e && qr(t, a, e), e;
3693
+ ], M);
3694
+ var ar = Object.defineProperty, ir = Object.getOwnPropertyDescriptor, L = (e, t, a, i) => {
3695
+ for (var r = i > 1 ? void 0 : i ? ir(t, a) : t, s = e.length - 1, o; s >= 0; s--)
3696
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
3697
+ return i && r && ar(t, a, r), r;
3468
3698
  };
3469
- let D = class extends p {
3699
+ let j = class extends p {
3470
3700
  constructor() {
3471
3701
  super(...arguments), this.src = "", this.alt = "", this.name = "", this.size = "md", this.shape = "square", this.status = "";
3472
3702
  }
3473
3703
  _getInitials() {
3474
3704
  if (!this.name) return "?";
3475
- const r = this.name.trim().split(/\s+/);
3476
- return r.length === 1 ? r[0].substring(0, 2) : r[0][0] + r[r.length - 1][0];
3705
+ const e = this.name.trim().split(/\s+/);
3706
+ return e.length === 1 ? e[0].substring(0, 2) : e[0][0] + e[e.length - 1][0];
3477
3707
  }
3478
3708
  _handleError() {
3479
3709
  this.src = "";
@@ -3499,7 +3729,7 @@ let D = class extends p {
3499
3729
  `;
3500
3730
  }
3501
3731
  };
3502
- D.styles = c`
3732
+ j.styles = c`
3503
3733
  :host {
3504
3734
  display: inline-block;
3505
3735
  font-family: var(--crt-font-family);
@@ -3627,28 +3857,28 @@ D.styles = c`
3627
3857
  border-color: var(--crt-bg-dark);
3628
3858
  }
3629
3859
  `;
3630
- A([
3860
+ L([
3631
3861
  n({ type: String })
3632
- ], D.prototype, "src", 2);
3633
- A([
3862
+ ], j.prototype, "src", 2);
3863
+ L([
3634
3864
  n({ type: String })
3635
- ], D.prototype, "alt", 2);
3636
- A([
3865
+ ], j.prototype, "alt", 2);
3866
+ L([
3637
3867
  n({ type: String })
3638
- ], D.prototype, "name", 2);
3639
- A([
3868
+ ], j.prototype, "name", 2);
3869
+ L([
3640
3870
  n({ type: String, reflect: !0 })
3641
- ], D.prototype, "size", 2);
3642
- A([
3871
+ ], j.prototype, "size", 2);
3872
+ L([
3643
3873
  n({ type: String, reflect: !0 })
3644
- ], D.prototype, "shape", 2);
3645
- A([
3874
+ ], j.prototype, "shape", 2);
3875
+ L([
3646
3876
  n({ type: String, reflect: !0 })
3647
- ], D.prototype, "status", 2);
3648
- D = A([
3877
+ ], j.prototype, "status", 2);
3878
+ j = L([
3649
3879
  d("crt-avatar")
3650
- ], D);
3651
- let _t = class extends p {
3880
+ ], j);
3881
+ let Et = class extends p {
3652
3882
  constructor() {
3653
3883
  super(...arguments), this.max = 5;
3654
3884
  }
@@ -3658,7 +3888,7 @@ let _t = class extends p {
3658
3888
  `;
3659
3889
  }
3660
3890
  };
3661
- _t.styles = c`
3891
+ Et.styles = c`
3662
3892
  :host {
3663
3893
  display: inline-flex;
3664
3894
  align-items: center;
@@ -3687,18 +3917,18 @@ _t.styles = c`
3687
3917
  box-shadow: var(--crt-glow-sm);
3688
3918
  }
3689
3919
  `;
3690
- A([
3920
+ L([
3691
3921
  n({ type: Number })
3692
- ], _t.prototype, "max", 2);
3693
- _t = A([
3922
+ ], Et.prototype, "max", 2);
3923
+ Et = L([
3694
3924
  d("crt-avatar-group")
3695
- ], _t);
3696
- var Xr = Object.defineProperty, Kr = Object.getOwnPropertyDescriptor, C = (r, t, a, s) => {
3697
- for (var e = s > 1 ? void 0 : s ? Kr(t, a) : t, i = r.length - 1, o; i >= 0; i--)
3698
- (o = r[i]) && (e = (s ? o(t, a, e) : o(e)) || e);
3699
- return s && e && Xr(t, a, e), e;
3925
+ ], Et);
3926
+ var sr = Object.defineProperty, or = Object.getOwnPropertyDescriptor, O = (e, t, a, i) => {
3927
+ for (var r = i > 1 ? void 0 : i ? or(t, a) : t, s = e.length - 1, o; s >= 0; s--)
3928
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
3929
+ return i && r && sr(t, a, r), r;
3700
3930
  };
3701
- let N = class extends p {
3931
+ let F = class extends p {
3702
3932
  constructor() {
3703
3933
  super(...arguments), this.variant = "rectangular", this.animation = "shimmer", this.width = "100%", this.height = "20px", this.effect = !1;
3704
3934
  }
@@ -3711,7 +3941,7 @@ let N = class extends p {
3711
3941
  `;
3712
3942
  }
3713
3943
  };
3714
- N.styles = c`
3944
+ F.styles = c`
3715
3945
  :host {
3716
3946
  display: block;
3717
3947
  }
@@ -3826,25 +4056,25 @@ N.styles = c`
3826
4056
  pointer-events: none;
3827
4057
  }
3828
4058
  `;
3829
- C([
4059
+ O([
3830
4060
  n({ type: String, reflect: !0 })
3831
- ], N.prototype, "variant", 2);
3832
- C([
4061
+ ], F.prototype, "variant", 2);
4062
+ O([
3833
4063
  n({ type: String, reflect: !0 })
3834
- ], N.prototype, "animation", 2);
3835
- C([
4064
+ ], F.prototype, "animation", 2);
4065
+ O([
3836
4066
  n({ type: String })
3837
- ], N.prototype, "width", 2);
3838
- C([
4067
+ ], F.prototype, "width", 2);
4068
+ O([
3839
4069
  n({ type: String })
3840
- ], N.prototype, "height", 2);
3841
- C([
4070
+ ], F.prototype, "height", 2);
4071
+ O([
3842
4072
  n({ type: Boolean, reflect: !0 })
3843
- ], N.prototype, "effect", 2);
3844
- N = C([
4073
+ ], F.prototype, "effect", 2);
4074
+ F = O([
3845
4075
  d("crt-skeleton")
3846
- ], N);
3847
- let zt = class extends p {
4076
+ ], F);
4077
+ let Dt = class extends p {
3848
4078
  constructor() {
3849
4079
  super(...arguments), this.lines = 3;
3850
4080
  }
@@ -3856,7 +4086,7 @@ let zt = class extends p {
3856
4086
  `;
3857
4087
  }
3858
4088
  };
3859
- zt.styles = c`
4089
+ Dt.styles = c`
3860
4090
  :host {
3861
4091
  display: block;
3862
4092
  }
@@ -3888,13 +4118,13 @@ zt.styles = c`
3888
4118
  }
3889
4119
  }
3890
4120
  `;
3891
- C([
4121
+ O([
3892
4122
  n({ type: Number })
3893
- ], zt.prototype, "lines", 2);
3894
- zt = C([
4123
+ ], Dt.prototype, "lines", 2);
4124
+ Dt = O([
3895
4125
  d("crt-skeleton-text")
3896
- ], zt);
3897
- let Ct = class extends p {
4126
+ ], Dt);
4127
+ let Mt = class extends p {
3898
4128
  constructor() {
3899
4129
  super(...arguments), this.hideImage = !1;
3900
4130
  }
@@ -3910,7 +4140,7 @@ let Ct = class extends p {
3910
4140
  `;
3911
4141
  }
3912
4142
  };
3913
- Ct.styles = c`
4143
+ Mt.styles = c`
3914
4144
  :host {
3915
4145
  display: block;
3916
4146
  }
@@ -3961,18 +4191,18 @@ Ct.styles = c`
3961
4191
  }
3962
4192
  }
3963
4193
  `;
3964
- C([
4194
+ O([
3965
4195
  n({ type: Boolean })
3966
- ], Ct.prototype, "hideImage", 2);
3967
- Ct = C([
4196
+ ], Mt.prototype, "hideImage", 2);
4197
+ Mt = O([
3968
4198
  d("crt-skeleton-card")
3969
- ], Ct);
3970
- var Wr = Object.defineProperty, Gr = Object.getOwnPropertyDescriptor, L = (r, t, a, s) => {
3971
- for (var e = s > 1 ? void 0 : s ? Gr(t, a) : t, i = r.length - 1, o; i >= 0; i--)
3972
- (o = r[i]) && (e = (s ? o(t, a, e) : o(e)) || e);
3973
- return s && e && Wr(t, a, e), e;
4199
+ ], Mt);
4200
+ var nr = Object.defineProperty, lr = Object.getOwnPropertyDescriptor, B = (e, t, a, i) => {
4201
+ for (var r = i > 1 ? void 0 : i ? lr(t, a) : t, s = e.length - 1, o; s >= 0; s--)
4202
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
4203
+ return i && r && nr(t, a, r), r;
3974
4204
  };
3975
- let w = class extends p {
4205
+ let k = class extends p {
3976
4206
  constructor() {
3977
4207
  super(...arguments), this.variant = "info", this.title = "", this.closable = !1, this.filled = !1, this.outlined = !1, this.banner = !1, this.animated = !1, this.icon = "";
3978
4208
  }
@@ -4007,7 +4237,7 @@ let w = class extends p {
4007
4237
  `;
4008
4238
  }
4009
4239
  };
4010
- w.styles = c`
4240
+ k.styles = c`
4011
4241
  :host {
4012
4242
  display: block;
4013
4243
  font-family: var(--crt-font-family);
@@ -4172,39 +4402,39 @@ w.styles = c`
4172
4402
  border-top: none;
4173
4403
  }
4174
4404
  `;
4175
- L([
4405
+ B([
4176
4406
  n({ type: String, reflect: !0 })
4177
- ], w.prototype, "variant", 2);
4178
- L([
4407
+ ], k.prototype, "variant", 2);
4408
+ B([
4179
4409
  n({ type: String })
4180
- ], w.prototype, "title", 2);
4181
- L([
4410
+ ], k.prototype, "title", 2);
4411
+ B([
4182
4412
  n({ type: Boolean, reflect: !0 })
4183
- ], w.prototype, "closable", 2);
4184
- L([
4413
+ ], k.prototype, "closable", 2);
4414
+ B([
4185
4415
  n({ type: Boolean, reflect: !0 })
4186
- ], w.prototype, "filled", 2);
4187
- L([
4416
+ ], k.prototype, "filled", 2);
4417
+ B([
4188
4418
  n({ type: Boolean, reflect: !0 })
4189
- ], w.prototype, "outlined", 2);
4190
- L([
4419
+ ], k.prototype, "outlined", 2);
4420
+ B([
4191
4421
  n({ type: Boolean, reflect: !0 })
4192
- ], w.prototype, "banner", 2);
4193
- L([
4422
+ ], k.prototype, "banner", 2);
4423
+ B([
4194
4424
  n({ type: Boolean, reflect: !0 })
4195
- ], w.prototype, "animated", 2);
4196
- L([
4425
+ ], k.prototype, "animated", 2);
4426
+ B([
4197
4427
  n({ type: String })
4198
- ], w.prototype, "icon", 2);
4199
- w = L([
4428
+ ], k.prototype, "icon", 2);
4429
+ k = B([
4200
4430
  d("crt-alert")
4201
- ], w);
4202
- var Qr = Object.defineProperty, Jr = Object.getOwnPropertyDescriptor, Bt = (r, t, a, s) => {
4203
- for (var e = s > 1 ? void 0 : s ? Jr(t, a) : t, i = r.length - 1, o; i >= 0; i--)
4204
- (o = r[i]) && (e = (s ? o(t, a, e) : o(e)) || e);
4205
- return s && e && Qr(t, a, e), e;
4431
+ ], k);
4432
+ var cr = Object.defineProperty, pr = Object.getOwnPropertyDescriptor, Ht = (e, t, a, i) => {
4433
+ for (var r = i > 1 ? void 0 : i ? pr(t, a) : t, s = e.length - 1, o; s >= 0; s--)
4434
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
4435
+ return i && r && cr(t, a, r), r;
4206
4436
  };
4207
- let pt = class extends p {
4437
+ let ut = class extends p {
4208
4438
  constructor() {
4209
4439
  super(...arguments), this.open = !1, this.message = "LOADING...";
4210
4440
  }
@@ -4228,7 +4458,7 @@ let pt = class extends p {
4228
4458
  ` : l``;
4229
4459
  }
4230
4460
  };
4231
- pt.styles = c`
4461
+ ut.styles = c`
4232
4462
  :host {
4233
4463
  display: block;
4234
4464
  }
@@ -4450,21 +4680,21 @@ pt.styles = c`
4450
4680
  50% { opacity: 0.5; }
4451
4681
  }
4452
4682
  `;
4453
- Bt([
4683
+ Ht([
4454
4684
  n({ type: Boolean, reflect: !0 })
4455
- ], pt.prototype, "open", 2);
4456
- Bt([
4685
+ ], ut.prototype, "open", 2);
4686
+ Ht([
4457
4687
  n({ type: String })
4458
- ], pt.prototype, "message", 2);
4459
- pt = Bt([
4688
+ ], ut.prototype, "message", 2);
4689
+ ut = Ht([
4460
4690
  d("crt-spinner")
4461
- ], pt);
4462
- var Zr = Object.getOwnPropertyDescriptor, te = (r, t, a, s) => {
4463
- for (var e = s > 1 ? void 0 : s ? Zr(t, a) : t, i = r.length - 1, o; i >= 0; i--)
4464
- (o = r[i]) && (e = o(e) || e);
4465
- return e;
4691
+ ], ut);
4692
+ var dr = Object.getOwnPropertyDescriptor, hr = (e, t, a, i) => {
4693
+ for (var r = i > 1 ? void 0 : i ? dr(t, a) : t, s = e.length - 1, o; s >= 0; s--)
4694
+ (o = e[s]) && (r = o(r) || r);
4695
+ return r;
4466
4696
  };
4467
- let Dt = class extends p {
4697
+ let Ut = class extends p {
4468
4698
  render() {
4469
4699
  return l`
4470
4700
  <div class="card">
@@ -4481,7 +4711,7 @@ let Dt = class extends p {
4481
4711
  `;
4482
4712
  }
4483
4713
  };
4484
- Dt.styles = c`
4714
+ Ut.styles = c`
4485
4715
  :host {
4486
4716
  /* Make the card element act like a normal block-level container
4487
4717
  so external width/height styles can be applied responsively. */
@@ -4523,15 +4753,15 @@ Dt.styles = c`
4523
4753
  margin-top: var(--crt-spacing-md);
4524
4754
  }
4525
4755
  `;
4526
- Dt = te([
4756
+ Ut = hr([
4527
4757
  d("crt-card")
4528
- ], Dt);
4529
- var re = Object.defineProperty, ee = Object.getOwnPropertyDescriptor, Ut = (r, t, a, s) => {
4530
- for (var e = s > 1 ? void 0 : s ? ee(t, a) : t, i = r.length - 1, o; i >= 0; i--)
4531
- (o = r[i]) && (e = (s ? o(t, a, e) : o(e)) || e);
4532
- return s && e && re(t, a, e), e;
4758
+ ], Ut);
4759
+ var vr = Object.defineProperty, ur = Object.getOwnPropertyDescriptor, Kt = (e, t, a, i) => {
4760
+ for (var r = i > 1 ? void 0 : i ? ur(t, a) : t, s = e.length - 1, o; s >= 0; s--)
4761
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
4762
+ return i && r && vr(t, a, r), r;
4533
4763
  };
4534
- let dt = class extends p {
4764
+ let gt = class extends p {
4535
4765
  constructor() {
4536
4766
  super(...arguments), this.headers = [], this.rows = [];
4537
4767
  }
@@ -4540,17 +4770,17 @@ let dt = class extends p {
4540
4770
  <table>
4541
4771
  <thead>
4542
4772
  <tr>
4543
- ${this.headers.map((r) => l`<th>${r}</th>`)}
4773
+ ${this.headers.map((e) => l`<th>${e}</th>`)}
4544
4774
  </tr>
4545
4775
  </thead>
4546
4776
  <tbody>
4547
- ${this.rows.map((r) => l`<tr>${r.map((t) => l`<td>${t}</td>`)}</tr>`)}
4777
+ ${this.rows.map((e) => l`<tr>${e.map((t) => l`<td>${t}</td>`)}</tr>`)}
4548
4778
  </tbody>
4549
4779
  </table>
4550
4780
  `;
4551
4781
  }
4552
4782
  };
4553
- dt.styles = c`
4783
+ gt.styles = c`
4554
4784
  :host {
4555
4785
  display: block;
4556
4786
  }
@@ -4602,21 +4832,21 @@ dt.styles = c`
4602
4832
  border-bottom: none;
4603
4833
  }
4604
4834
  `;
4605
- Ut([
4835
+ Kt([
4606
4836
  n({ type: Array })
4607
- ], dt.prototype, "headers", 2);
4608
- Ut([
4837
+ ], gt.prototype, "headers", 2);
4838
+ Kt([
4609
4839
  n({ type: Array })
4610
- ], dt.prototype, "rows", 2);
4611
- dt = Ut([
4840
+ ], gt.prototype, "rows", 2);
4841
+ gt = Kt([
4612
4842
  d("crt-table")
4613
- ], dt);
4614
- var ae = Object.defineProperty, se = Object.getOwnPropertyDescriptor, Nt = (r, t, a, s) => {
4615
- for (var e = s > 1 ? void 0 : s ? se(t, a) : t, i = r.length - 1, o; i >= 0; i--)
4616
- (o = r[i]) && (e = (s ? o(t, a, e) : o(e)) || e);
4617
- return s && e && ae(t, a, e), e;
4843
+ ], gt);
4844
+ var gr = Object.defineProperty, mr = Object.getOwnPropertyDescriptor, Xt = (e, t, a, i) => {
4845
+ for (var r = i > 1 ? void 0 : i ? mr(t, a) : t, s = e.length - 1, o; s >= 0; s--)
4846
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
4847
+ return i && r && gr(t, a, r), r;
4618
4848
  };
4619
- let ht = class extends p {
4849
+ let mt = class extends p {
4620
4850
  constructor() {
4621
4851
  super(...arguments), this.columns = 3, this.gap = "var(--crt-spacing-lg)";
4622
4852
  }
@@ -4634,7 +4864,7 @@ let ht = class extends p {
4634
4864
  `;
4635
4865
  }
4636
4866
  };
4637
- ht.styles = c`
4867
+ mt.styles = c`
4638
4868
  :host {
4639
4869
  display: block;
4640
4870
  }
@@ -4663,34 +4893,34 @@ ht.styles = c`
4663
4893
  }
4664
4894
  }
4665
4895
  `;
4666
- Nt([
4896
+ Xt([
4667
4897
  n({ type: Number })
4668
- ], ht.prototype, "columns", 2);
4669
- Nt([
4898
+ ], mt.prototype, "columns", 2);
4899
+ Xt([
4670
4900
  n({ type: String })
4671
- ], ht.prototype, "gap", 2);
4672
- ht = Nt([
4901
+ ], mt.prototype, "gap", 2);
4902
+ mt = Xt([
4673
4903
  d("crt-grid")
4674
- ], ht);
4675
- var ie = Object.defineProperty, oe = Object.getOwnPropertyDescriptor, at = (r, t, a, s) => {
4676
- for (var e = s > 1 ? void 0 : s ? oe(t, a) : t, i = r.length - 1, o; i >= 0; i--)
4677
- (o = r[i]) && (e = (s ? o(t, a, e) : o(e)) || e);
4678
- return s && e && ie(t, a, e), e;
4904
+ ], mt);
4905
+ var fr = Object.defineProperty, br = Object.getOwnPropertyDescriptor, nt = (e, t, a, i) => {
4906
+ for (var r = i > 1 ? void 0 : i ? br(t, a) : t, s = e.length - 1, o; s >= 0; s--)
4907
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
4908
+ return i && r && fr(t, a, r), r;
4679
4909
  };
4680
- let R = class extends p {
4910
+ let V = class extends p {
4681
4911
  constructor() {
4682
4912
  super(...arguments), this.title = "", this.description = "", this.code = "", this.activeTab = "preview", this.copied = !1;
4683
4913
  }
4684
- switchTab(r) {
4685
- this.activeTab = r;
4914
+ switchTab(e) {
4915
+ this.activeTab = e;
4686
4916
  }
4687
4917
  async copyCode() {
4688
4918
  try {
4689
4919
  await navigator.clipboard.writeText(this.code), this.copied = !0, setTimeout(() => {
4690
4920
  this.copied = !1;
4691
4921
  }, 2e3);
4692
- } catch (r) {
4693
- console.error("Failed to copy:", r);
4922
+ } catch (e) {
4923
+ console.error("Failed to copy:", e);
4694
4924
  }
4695
4925
  }
4696
4926
  render() {
@@ -4734,7 +4964,7 @@ let R = class extends p {
4734
4964
  `;
4735
4965
  }
4736
4966
  };
4737
- R.styles = c`
4967
+ V.styles = c`
4738
4968
  :host {
4739
4969
  display: block;
4740
4970
  margin-bottom: var(--crt-spacing-xl);
@@ -4883,33 +5113,33 @@ R.styles = c`
4883
5113
  color: var(--crt-bg-dark);
4884
5114
  }
4885
5115
  `;
4886
- at([
5116
+ nt([
4887
5117
  n()
4888
- ], R.prototype, "title", 2);
4889
- at([
5118
+ ], V.prototype, "title", 2);
5119
+ nt([
4890
5120
  n()
4891
- ], R.prototype, "description", 2);
4892
- at([
5121
+ ], V.prototype, "description", 2);
5122
+ nt([
4893
5123
  n()
4894
- ], R.prototype, "code", 2);
4895
- at([
5124
+ ], V.prototype, "code", 2);
5125
+ nt([
4896
5126
  v()
4897
- ], R.prototype, "activeTab", 2);
4898
- at([
5127
+ ], V.prototype, "activeTab", 2);
5128
+ nt([
4899
5129
  v()
4900
- ], R.prototype, "copied", 2);
4901
- R = at([
5130
+ ], V.prototype, "copied", 2);
5131
+ V = nt([
4902
5132
  d("crt-code-example")
4903
- ], R);
4904
- var ne = Object.defineProperty, le = Object.getOwnPropertyDescriptor, Et = (r, t, a, s) => {
4905
- for (var e = s > 1 ? void 0 : s ? le(t, a) : t, i = r.length - 1, o; i >= 0; i--)
4906
- (o = r[i]) && (e = (s ? o(t, a, e) : o(e)) || e);
4907
- return s && e && ne(t, a, e), e;
5133
+ ], V);
5134
+ var yr = Object.defineProperty, xr = Object.getOwnPropertyDescriptor, Bt = (e, t, a, i) => {
5135
+ for (var r = i > 1 ? void 0 : i ? xr(t, a) : t, s = e.length - 1, o; s >= 0; s--)
5136
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
5137
+ return i && r && yr(t, a, r), r;
4908
5138
  };
4909
- let rt = class extends p {
5139
+ let st = class extends p {
4910
5140
  constructor() {
4911
- super(...arguments), this.open = !1, this.title = "Modal", this.size = "medium", this._handleKeydown = (r) => {
4912
- r.key === "Escape" && this.open && this.close();
5141
+ super(...arguments), this.open = !1, this.title = "Modal", this.size = "medium", this._handleKeydown = (e) => {
5142
+ e.key === "Escape" && this.open && this.close();
4913
5143
  };
4914
5144
  }
4915
5145
  connectedCallback() {
@@ -4921,8 +5151,8 @@ let rt = class extends p {
4921
5151
  close() {
4922
5152
  this.open = !1, this.dispatchEvent(new CustomEvent("close"));
4923
5153
  }
4924
- _handleBackdropClick(r) {
4925
- r.target.classList.contains("backdrop") && this.close();
5154
+ _handleBackdropClick(e) {
5155
+ e.target.classList.contains("backdrop") && this.close();
4926
5156
  }
4927
5157
  render() {
4928
5158
  return l`
@@ -4943,7 +5173,7 @@ let rt = class extends p {
4943
5173
  `;
4944
5174
  }
4945
5175
  };
4946
- rt.styles = c`
5176
+ st.styles = c`
4947
5177
  :host {
4948
5178
  display: none;
4949
5179
  }
@@ -5070,24 +5300,24 @@ rt.styles = c`
5070
5300
  height: calc(95vh - 120px);
5071
5301
  }
5072
5302
  `;
5073
- Et([
5303
+ Bt([
5074
5304
  n({ type: Boolean, reflect: !0 })
5075
- ], rt.prototype, "open", 2);
5076
- Et([
5305
+ ], st.prototype, "open", 2);
5306
+ Bt([
5077
5307
  n({ type: String })
5078
- ], rt.prototype, "title", 2);
5079
- Et([
5308
+ ], st.prototype, "title", 2);
5309
+ Bt([
5080
5310
  n({ type: String })
5081
- ], rt.prototype, "size", 2);
5082
- rt = Et([
5311
+ ], st.prototype, "size", 2);
5312
+ st = Bt([
5083
5313
  d("crt-modal")
5084
- ], rt);
5085
- var ce = Object.defineProperty, pe = Object.getOwnPropertyDescriptor, J = (r, t, a, s) => {
5086
- for (var e = s > 1 ? void 0 : s ? pe(t, a) : t, i = r.length - 1, o; i >= 0; i--)
5087
- (o = r[i]) && (e = (s ? o(t, a, e) : o(e)) || e);
5088
- return s && e && ce(t, a, e), e;
5314
+ ], st);
5315
+ var wr = Object.defineProperty, kr = Object.getOwnPropertyDescriptor, rt = (e, t, a, i) => {
5316
+ for (var r = i > 1 ? void 0 : i ? kr(t, a) : t, s = e.length - 1, o; s >= 0; s--)
5317
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
5318
+ return i && r && wr(t, a, r), r;
5089
5319
  };
5090
- let M = class extends p {
5320
+ let T = class extends p {
5091
5321
  constructor() {
5092
5322
  super(...arguments), this.position = "top-right", this.message = "", this.title = "", this.variant = "default", this.duration = 4e3, this._toasts = [], this._counter = 0, this._initialized = !1;
5093
5323
  }
@@ -5101,25 +5331,25 @@ let M = class extends p {
5101
5331
  });
5102
5332
  }));
5103
5333
  }
5104
- show(r) {
5334
+ show(e) {
5105
5335
  const t = ++this._counter, a = {
5106
5336
  id: t,
5107
- title: r.title,
5108
- message: r.message,
5109
- variant: r.variant || "default",
5110
- duration: r.duration ?? 4e3
5337
+ title: e.title,
5338
+ message: e.message,
5339
+ variant: e.variant || "default",
5340
+ duration: e.duration ?? 4e3
5111
5341
  };
5112
5342
  this._toasts = [...this._toasts, a], a.duration > 0 && setTimeout(() => this._removeToast(t), a.duration);
5113
5343
  }
5114
- _removeToast(r) {
5344
+ _removeToast(e) {
5115
5345
  this._toasts = this._toasts.map(
5116
- (t) => t.id === r ? { ...t, removing: !0 } : t
5346
+ (t) => t.id === e ? { ...t, removing: !0 } : t
5117
5347
  ), setTimeout(() => {
5118
- this._toasts = this._toasts.filter((t) => t.id !== r);
5348
+ this._toasts = this._toasts.filter((t) => t.id !== e);
5119
5349
  }, 300);
5120
5350
  }
5121
- _getIcon(r) {
5122
- switch (r) {
5351
+ _getIcon(e) {
5352
+ switch (e) {
5123
5353
  case "success":
5124
5354
  return "[✓]";
5125
5355
  case "warning":
@@ -5135,16 +5365,16 @@ let M = class extends p {
5135
5365
  render() {
5136
5366
  return l`
5137
5367
  <div class="toast-container">
5138
- ${this._toasts.map((r) => l`
5139
- <div class="toast ${r.variant} ${r.removing ? "removing" : ""}">
5140
- <span class="toast-icon">${this._getIcon(r.variant)}</span>
5368
+ ${this._toasts.map((e) => l`
5369
+ <div class="toast ${e.variant} ${e.removing ? "removing" : ""}">
5370
+ <span class="toast-icon">${this._getIcon(e.variant)}</span>
5141
5371
  <div class="toast-content">
5142
- ${r.title ? l`<h4 class="toast-title">${r.title}</h4>` : ""}
5143
- <p class="toast-message">${r.message}</p>
5372
+ ${e.title ? l`<h4 class="toast-title">${e.title}</h4>` : ""}
5373
+ <p class="toast-message">${e.message}</p>
5144
5374
  </div>
5145
- <button class="toast-close" @click="${() => this._removeToast(r.id)}">✕</button>
5146
- ${r.duration > 0 ? l`
5147
- <div class="toast-progress" style="animation-duration: ${r.duration}ms"></div>
5375
+ <button class="toast-close" @click="${() => this._removeToast(e.id)}">✕</button>
5376
+ ${e.duration > 0 ? l`
5377
+ <div class="toast-progress" style="animation-duration: ${e.duration}ms"></div>
5148
5378
  ` : ""}
5149
5379
  </div>
5150
5380
  `)}
@@ -5152,7 +5382,7 @@ let M = class extends p {
5152
5382
  `;
5153
5383
  }
5154
5384
  };
5155
- M.styles = c`
5385
+ T.styles = c`
5156
5386
  :host {
5157
5387
  position: fixed;
5158
5388
  z-index: 10001;
@@ -5319,33 +5549,33 @@ M.styles = c`
5319
5549
  to { width: 0%; }
5320
5550
  }
5321
5551
  `;
5322
- J([
5552
+ rt([
5323
5553
  n({ type: String, reflect: !0 })
5324
- ], M.prototype, "position", 2);
5325
- J([
5554
+ ], T.prototype, "position", 2);
5555
+ rt([
5326
5556
  n({ type: String })
5327
- ], M.prototype, "message", 2);
5328
- J([
5557
+ ], T.prototype, "message", 2);
5558
+ rt([
5329
5559
  n({ type: String })
5330
- ], M.prototype, "title", 2);
5331
- J([
5560
+ ], T.prototype, "title", 2);
5561
+ rt([
5332
5562
  n({ type: String })
5333
- ], M.prototype, "variant", 2);
5334
- J([
5563
+ ], T.prototype, "variant", 2);
5564
+ rt([
5335
5565
  n({ type: Number })
5336
- ], M.prototype, "duration", 2);
5337
- J([
5566
+ ], T.prototype, "duration", 2);
5567
+ rt([
5338
5568
  v()
5339
- ], M.prototype, "_toasts", 2);
5340
- M = J([
5569
+ ], T.prototype, "_toasts", 2);
5570
+ T = rt([
5341
5571
  d("crt-toast")
5342
- ], M);
5343
- var de = Object.defineProperty, he = Object.getOwnPropertyDescriptor, bt = (r, t, a, s) => {
5344
- for (var e = s > 1 ? void 0 : s ? he(t, a) : t, i = r.length - 1, o; i >= 0; i--)
5345
- (o = r[i]) && (e = (s ? o(t, a, e) : o(e)) || e);
5346
- return s && e && de(t, a, e), e;
5572
+ ], T);
5573
+ var _r = Object.defineProperty, $r = Object.getOwnPropertyDescriptor, wt = (e, t, a, i) => {
5574
+ for (var r = i > 1 ? void 0 : i ? $r(t, a) : t, s = e.length - 1, o; s >= 0; s--)
5575
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
5576
+ return i && r && _r(t, a, r), r;
5347
5577
  };
5348
- let vt = class extends p {
5578
+ let ft = class extends p {
5349
5579
  constructor() {
5350
5580
  super(...arguments), this.header = "", this.open = !1;
5351
5581
  }
@@ -5374,7 +5604,7 @@ let vt = class extends p {
5374
5604
  `;
5375
5605
  }
5376
5606
  };
5377
- vt.styles = c`
5607
+ ft.styles = c`
5378
5608
  :host {
5379
5609
  display: block;
5380
5610
  font-family: var(--crt-font-family);
@@ -5445,20 +5675,20 @@ vt.styles = c`
5445
5675
  color: var(--crt-text-secondary);
5446
5676
  }
5447
5677
  `;
5448
- bt([
5678
+ wt([
5449
5679
  n({ type: String })
5450
- ], vt.prototype, "header", 2);
5451
- bt([
5680
+ ], ft.prototype, "header", 2);
5681
+ wt([
5452
5682
  n({ type: Boolean, reflect: !0 })
5453
- ], vt.prototype, "open", 2);
5454
- vt = bt([
5683
+ ], ft.prototype, "open", 2);
5684
+ ft = wt([
5455
5685
  d("crt-accordion-item")
5456
- ], vt);
5457
- let Pt = class extends p {
5686
+ ], ft);
5687
+ let jt = class extends p {
5458
5688
  constructor() {
5459
- super(...arguments), this.multiple = !1, this._handleToggle = (r) => {
5460
- !this.multiple && r.detail.open && this.querySelectorAll("crt-accordion-item").forEach((t) => {
5461
- t !== r.target && (t.open = !1);
5689
+ super(...arguments), this.multiple = !1, this._handleToggle = (e) => {
5690
+ !this.multiple && e.detail.open && this.querySelectorAll("crt-accordion-item").forEach((t) => {
5691
+ t !== e.target && (t.open = !1);
5462
5692
  });
5463
5693
  };
5464
5694
  }
@@ -5472,33 +5702,33 @@ let Pt = class extends p {
5472
5702
  return l`<slot></slot>`;
5473
5703
  }
5474
5704
  };
5475
- Pt.styles = c`
5705
+ jt.styles = c`
5476
5706
  :host {
5477
5707
  display: block;
5478
5708
  }
5479
5709
  `;
5480
- bt([
5710
+ wt([
5481
5711
  n({ type: Boolean })
5482
- ], Pt.prototype, "multiple", 2);
5483
- Pt = bt([
5712
+ ], jt.prototype, "multiple", 2);
5713
+ jt = wt([
5484
5714
  d("crt-accordion")
5485
- ], Pt);
5486
- var ve = Object.defineProperty, ge = Object.getOwnPropertyDescriptor, ft = (r, t, a, s) => {
5487
- for (var e = s > 1 ? void 0 : s ? ge(t, a) : t, i = r.length - 1, o; i >= 0; i--)
5488
- (o = r[i]) && (e = (s ? o(t, a, e) : o(e)) || e);
5489
- return s && e && ve(t, a, e), e;
5715
+ ], jt);
5716
+ var zr = Object.defineProperty, Cr = Object.getOwnPropertyDescriptor, kt = (e, t, a, i) => {
5717
+ for (var r = i > 1 ? void 0 : i ? Cr(t, a) : t, s = e.length - 1, o; s >= 0; s--)
5718
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
5719
+ return i && r && zr(t, a, r), r;
5490
5720
  };
5491
- let K = class extends p {
5721
+ let G = class extends p {
5492
5722
  constructor() {
5493
5723
  super(...arguments), this.bars = 20, this.mode = 1, this.barHeights = [], this.isActive = !1, this.visualize = () => {
5494
5724
  if (!this.isActive || !this.analyser || !this.dataArray) return;
5495
5725
  this.analyser.getByteFrequencyData(this.dataArray);
5496
- const r = Math.floor(this.dataArray.length / this.bars), t = [];
5726
+ const e = Math.floor(this.dataArray.length / this.bars), t = [];
5497
5727
  for (let a = 0; a < this.bars; a++) {
5498
- let s;
5499
- this.mode === 1 ? s = a * r : this.mode === 2 ? a < this.bars / 2 ? s = Math.floor((this.bars / 2 - a - 1) * r) : s = Math.floor((a - this.bars / 2) * r) : a < this.bars / 2 ? s = Math.floor(a * r) : s = Math.floor((this.bars - a - 1) * r);
5500
- const i = (this.dataArray[s] || 0) / 255 * 100;
5501
- t.push(Math.max(20, i));
5728
+ let i;
5729
+ this.mode === 1 ? i = a * e : this.mode === 2 ? a < this.bars / 2 ? i = Math.floor((this.bars / 2 - a - 1) * e) : i = Math.floor((a - this.bars / 2) * e) : a < this.bars / 2 ? i = Math.floor(a * e) : i = Math.floor((this.bars - a - 1) * e);
5730
+ const s = (this.dataArray[i] || 0) / 255 * 100;
5731
+ t.push(Math.max(20, s));
5502
5732
  }
5503
5733
  this.barHeights = t, this.animationId = requestAnimationFrame(this.visualize);
5504
5734
  };
@@ -5509,9 +5739,9 @@ let K = class extends p {
5509
5739
  disconnectedCallback() {
5510
5740
  super.disconnectedCallback(), this.stop();
5511
5741
  }
5512
- connectAudio(r) {
5742
+ connectAudio(e) {
5513
5743
  if (!this.audioContext) {
5514
- this.audioContext = new (window.AudioContext || window.webkitAudioContext)(), this.analyser = this.audioContext.createAnalyser(), this.analyser.fftSize = 64, this.sourceNode = this.audioContext.createMediaElementSource(r), this.sourceNode.connect(this.analyser), this.analyser.connect(this.audioContext.destination);
5744
+ this.audioContext = new (window.AudioContext || window.webkitAudioContext)(), this.analyser = this.audioContext.createAnalyser(), this.analyser.fftSize = 64, this.sourceNode = this.audioContext.createMediaElementSource(e), this.sourceNode.connect(this.analyser), this.analyser.connect(this.audioContext.destination);
5515
5745
  const t = this.analyser.frequencyBinCount;
5516
5746
  this.dataArray = new Uint8Array(t);
5517
5747
  }
@@ -5534,14 +5764,14 @@ let K = class extends p {
5534
5764
  <div class="visualizer">
5535
5765
  <span class="label">[VISUALIZER]</span>
5536
5766
  <button class="mode-toggle" @click="${this.toggleMode}">MODE ${this.mode}</button>
5537
- ${this.barHeights.map((r) => l`
5538
- <div class="bar" style="height: ${r}%"></div>
5767
+ ${this.barHeights.map((e) => l`
5768
+ <div class="bar" style="height: ${e}%"></div>
5539
5769
  `)}
5540
5770
  </div>
5541
5771
  `;
5542
5772
  }
5543
5773
  };
5544
- K.styles = c`
5774
+ G.styles = c`
5545
5775
  :host {
5546
5776
  display: block;
5547
5777
  }
@@ -5616,37 +5846,37 @@ K.styles = c`
5616
5846
  animation: none;
5617
5847
  }
5618
5848
  `;
5619
- ft([
5849
+ kt([
5620
5850
  n({ type: Number })
5621
- ], K.prototype, "bars", 2);
5622
- ft([
5851
+ ], G.prototype, "bars", 2);
5852
+ kt([
5623
5853
  n({ type: Number })
5624
- ], K.prototype, "mode", 2);
5625
- ft([
5854
+ ], G.prototype, "mode", 2);
5855
+ kt([
5626
5856
  v()
5627
- ], K.prototype, "barHeights", 2);
5628
- ft([
5857
+ ], G.prototype, "barHeights", 2);
5858
+ kt([
5629
5859
  v()
5630
- ], K.prototype, "isActive", 2);
5631
- K = ft([
5860
+ ], G.prototype, "isActive", 2);
5861
+ G = kt([
5632
5862
  d("crt-visualizer")
5633
- ], K);
5634
- var ue = Object.defineProperty, me = Object.getOwnPropertyDescriptor, Rt = (r, t, a, s) => {
5635
- for (var e = s > 1 ? void 0 : s ? me(t, a) : t, i = r.length - 1, o; i >= 0; i--)
5636
- (o = r[i]) && (e = (s ? o(t, a, e) : o(e)) || e);
5637
- return s && e && ue(t, a, e), e;
5863
+ ], G);
5864
+ var Pr = Object.defineProperty, Or = Object.getOwnPropertyDescriptor, Wt = (e, t, a, i) => {
5865
+ for (var r = i > 1 ? void 0 : i ? Or(t, a) : t, s = e.length - 1, o; s >= 0; s--)
5866
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
5867
+ return i && r && Pr(t, a, r), r;
5638
5868
  };
5639
- let gt = class extends p {
5869
+ let bt = class extends p {
5640
5870
  constructor() {
5641
5871
  super(...arguments), this.tracks = [], this.currentIndex = 0;
5642
5872
  }
5643
- handleTrackClick(r) {
5873
+ handleTrackClick(e) {
5644
5874
  this.dispatchEvent(new CustomEvent("track-select", {
5645
- detail: { index: r, track: this.tracks[r] }
5875
+ detail: { index: e, track: this.tracks[e] }
5646
5876
  }));
5647
5877
  }
5648
- handleRemoveTrack(r, t) {
5649
- r.stopPropagation(), this.dispatchEvent(new CustomEvent("track-remove", {
5878
+ handleRemoveTrack(e, t) {
5879
+ e.stopPropagation(), this.dispatchEvent(new CustomEvent("track-remove", {
5650
5880
  detail: { index: t }
5651
5881
  }));
5652
5882
  }
@@ -5676,14 +5906,14 @@ let gt = class extends p {
5676
5906
  </tr>
5677
5907
  </thead>
5678
5908
  <tbody>
5679
- ${this.tracks.map((r, t) => l`
5909
+ ${this.tracks.map((e, t) => l`
5680
5910
  <tr
5681
5911
  class="${t === this.currentIndex ? "active" : ""}"
5682
5912
  @click="${() => this.handleTrackClick(t)}"
5683
5913
  >
5684
5914
  <td class="track-number">${t + 1}</td>
5685
- <td class="track-title">${r.title}</td>
5686
- <td class="track-artist">${r.artist}</td>
5915
+ <td class="track-title">${e.title}</td>
5916
+ <td class="track-artist">${e.artist}</td>
5687
5917
  <td class="actions">
5688
5918
  <crt-button
5689
5919
  class="remove-btn"
@@ -5705,7 +5935,7 @@ let gt = class extends p {
5705
5935
  `;
5706
5936
  }
5707
5937
  };
5708
- gt.styles = c`
5938
+ bt.styles = c`
5709
5939
  :host {
5710
5940
  display: block;
5711
5941
  width: 100%;
@@ -5875,21 +6105,21 @@ gt.styles = c`
5875
6105
  box-shadow: var(--crt-glow-sm);
5876
6106
  }
5877
6107
  `;
5878
- Rt([
6108
+ Wt([
5879
6109
  n({ type: Array })
5880
- ], gt.prototype, "tracks", 2);
5881
- Rt([
6110
+ ], bt.prototype, "tracks", 2);
6111
+ Wt([
5882
6112
  n({ type: Number })
5883
- ], gt.prototype, "currentIndex", 2);
5884
- gt = Rt([
6113
+ ], bt.prototype, "currentIndex", 2);
6114
+ bt = Wt([
5885
6115
  d("crt-playlist")
5886
- ], gt);
5887
- var be = Object.defineProperty, fe = Object.getOwnPropertyDescriptor, y = (r, t, a, s) => {
5888
- for (var e = s > 1 ? void 0 : s ? fe(t, a) : t, i = r.length - 1, o; i >= 0; i--)
5889
- (o = r[i]) && (e = (s ? o(t, a, e) : o(e)) || e);
5890
- return s && e && be(t, a, e), e;
6116
+ ], bt);
6117
+ var Sr = Object.defineProperty, Er = Object.getOwnPropertyDescriptor, x = (e, t, a, i) => {
6118
+ for (var r = i > 1 ? void 0 : i ? Er(t, a) : t, s = e.length - 1, o; s >= 0; s--)
6119
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
6120
+ return i && r && Sr(t, a, r), r;
5891
6121
  };
5892
- let u = class extends p {
6122
+ let g = class extends p {
5893
6123
  constructor() {
5894
6124
  super(...arguments), this.tracks = [], this.currentIndex = 0, this.autoplay = !1, this.autoplayDelay = 500, this.isPlaying = !1, this.currentTime = 0, this.duration = 0, this.volume = 80, this.autoplayMuted = !1, this.togglePlay = async () => {
5895
6125
  this.isPlaying ? this.pause() : await this.play();
@@ -5903,39 +6133,39 @@ let u = class extends p {
5903
6133
  this.duration = this.audio?.duration || 0;
5904
6134
  }, this.handleEnded = () => {
5905
6135
  this.nextTrack();
5906
- }, this.handleProgressClick = (r) => {
5907
- const a = r.currentTarget.getBoundingClientRect(), s = (r.clientX - a.left) / a.width;
5908
- this.audio && (this.audio.currentTime = this.duration * s);
5909
- }, this.handleVolumeChange = (r) => {
5910
- this.volume = r.detail.value, this.audio && (this.audio.volume = this.volume / 100), localStorage.setItem("crtPlayerVolume", this.volume.toString());
6136
+ }, this.handleProgressClick = (e) => {
6137
+ const a = e.currentTarget.getBoundingClientRect(), i = (e.clientX - a.left) / a.width;
6138
+ this.audio && (this.audio.currentTime = this.duration * i);
6139
+ }, this.handleVolumeChange = (e) => {
6140
+ this.volume = e.detail.value, this.audio && (this.audio.volume = this.volume / 100), localStorage.setItem("crtPlayerVolume", this.volume.toString());
5911
6141
  };
5912
6142
  }
5913
6143
  connectedCallback() {
5914
6144
  super.connectedCallback();
5915
- const r = localStorage.getItem("crtPlayerVolume");
5916
- r && (this.volume = parseInt(r));
6145
+ const e = localStorage.getItem("crtPlayerVolume");
6146
+ e && (this.volume = parseInt(e));
5917
6147
  }
5918
6148
  firstUpdated() {
5919
6149
  this.audio && (this.audio.volume = this.volume / 100);
5920
6150
  }
5921
- updated(r) {
5922
- if (r.has("tracks") && this.tracks.length > 0 && ((r.get("tracks") === void 0 || r.get("tracks")?.length === 0) && this.loadTrack(0), this.autoplay && this.tracks.length > 0)) {
6151
+ updated(e) {
6152
+ if (e.has("tracks") && this.tracks.length > 0 && ((e.get("tracks") === void 0 || e.get("tracks")?.length === 0) && this.loadTrack(0), this.autoplay && this.tracks.length > 0)) {
5923
6153
  const t = Math.max(0, Number(this.autoplayDelay) || 0);
5924
6154
  setTimeout(() => {
5925
6155
  this.isPlaying || this.play();
5926
6156
  }, t);
5927
6157
  }
5928
6158
  }
5929
- loadTrack(r) {
5930
- if (r < 0 || r >= this.tracks.length) return;
5931
- const t = this.tracks[r];
6159
+ loadTrack(e) {
6160
+ if (e < 0 || e >= this.tracks.length) return;
6161
+ const t = this.tracks[e];
5932
6162
  if (!t?.url) {
5933
- this.currentIndex = r;
6163
+ this.currentIndex = e;
5934
6164
  return;
5935
6165
  }
5936
6166
  const a = this.isPlaying;
5937
- this.isPlaying && (this.audio?.pause(), this.visualizer?.stop()), this.currentIndex = r, this.currentTime = 0, this.audio && (this.audio.src = t.url, this.audio.load()), a && this.audio?.addEventListener("canplay", () => this.play(), { once: !0 }), this.dispatchEvent(new CustomEvent("track-change", {
5938
- detail: { index: r, track: this.tracks[r] }
6167
+ this.isPlaying && (this.audio?.pause(), this.visualizer?.stop()), this.currentIndex = e, this.currentTime = 0, this.audio && (this.audio.src = t.url, this.audio.load()), a && this.audio?.addEventListener("canplay", () => this.play(), { once: !0 }), this.dispatchEvent(new CustomEvent("track-change", {
6168
+ detail: { index: e, track: this.tracks[e] }
5939
6169
  }));
5940
6170
  }
5941
6171
  async play() {
@@ -5971,15 +6201,15 @@ let u = class extends p {
5971
6201
  this.visualizer?.audioContext?.resume?.();
5972
6202
  } catch {
5973
6203
  }
5974
- const r = this.audio.play();
5975
- r instanceof Promise && await r, this.autoplayMuted = !1, this.isPlaying = !0;
5976
- } catch (r) {
5977
- console.warn("Unmute / resume failed:", r);
6204
+ const e = this.audio.play();
6205
+ e instanceof Promise && await e, this.autoplayMuted = !1, this.isPlaying = !0;
6206
+ } catch (e) {
6207
+ console.warn("Unmute / resume failed:", e);
5978
6208
  }
5979
6209
  }
5980
- formatTime(r) {
5981
- if (!r || isNaN(r)) return "00:00";
5982
- const t = Math.floor(r / 60), a = Math.floor(r % 60);
6210
+ formatTime(e) {
6211
+ if (!e || isNaN(e)) return "00:00";
6212
+ const t = Math.floor(e / 60), a = Math.floor(e % 60);
5983
6213
  return `${t.toString().padStart(2, "0")}:${a.toString().padStart(2, "0")}`;
5984
6214
  }
5985
6215
  get currentTrack() {
@@ -5989,7 +6219,7 @@ let u = class extends p {
5989
6219
  return this.duration ? this.currentTime / this.duration * 100 : 0;
5990
6220
  }
5991
6221
  render() {
5992
- const r = this.tracks.length > 0 && this.currentTrack;
6222
+ const e = this.tracks.length > 0 && this.currentTrack;
5993
6223
  return l`
5994
6224
  <div class="player">
5995
6225
  <!-- Header -->
@@ -5997,7 +6227,7 @@ let u = class extends p {
5997
6227
  <crt-heading level="4" style="margin: 0;">[♫] MUSIC PLAYER [♫]</crt-heading>
5998
6228
  </div>
5999
6229
 
6000
- ${r ? l`
6230
+ ${e ? l`
6001
6231
  <!-- Visualizer -->
6002
6232
  <div class="visualizer-section">
6003
6233
  <crt-visualizer .bars="${20}"></crt-visualizer>
@@ -6073,7 +6303,7 @@ let u = class extends p {
6073
6303
  `;
6074
6304
  }
6075
6305
  };
6076
- u.styles = c`
6306
+ g.styles = c`
6077
6307
  :host {
6078
6308
  display: block;
6079
6309
  font-family: var(--crt-font-family);
@@ -6226,64 +6456,64 @@ u.styles = c`
6226
6456
  opacity: 0.5;
6227
6457
  }
6228
6458
  `;
6229
- y([
6459
+ x([
6230
6460
  n({ type: Array })
6231
- ], u.prototype, "tracks", 2);
6232
- y([
6461
+ ], g.prototype, "tracks", 2);
6462
+ x([
6233
6463
  n({ type: Number })
6234
- ], u.prototype, "currentIndex", 2);
6235
- y([
6464
+ ], g.prototype, "currentIndex", 2);
6465
+ x([
6236
6466
  n({ type: Boolean })
6237
- ], u.prototype, "autoplay", 2);
6238
- y([
6467
+ ], g.prototype, "autoplay", 2);
6468
+ x([
6239
6469
  n({ type: Number })
6240
- ], u.prototype, "autoplayDelay", 2);
6241
- y([
6470
+ ], g.prototype, "autoplayDelay", 2);
6471
+ x([
6242
6472
  v()
6243
- ], u.prototype, "isPlaying", 2);
6244
- y([
6473
+ ], g.prototype, "isPlaying", 2);
6474
+ x([
6245
6475
  v()
6246
- ], u.prototype, "currentTime", 2);
6247
- y([
6476
+ ], g.prototype, "currentTime", 2);
6477
+ x([
6248
6478
  v()
6249
- ], u.prototype, "duration", 2);
6250
- y([
6479
+ ], g.prototype, "duration", 2);
6480
+ x([
6251
6481
  v()
6252
- ], u.prototype, "volume", 2);
6253
- y([
6482
+ ], g.prototype, "volume", 2);
6483
+ x([
6254
6484
  v()
6255
- ], u.prototype, "autoplayMuted", 2);
6256
- y([
6257
- Tt("audio")
6258
- ], u.prototype, "audio", 2);
6259
- y([
6260
- Tt("crt-visualizer")
6261
- ], u.prototype, "visualizer", 2);
6262
- u = y([
6485
+ ], g.prototype, "autoplayMuted", 2);
6486
+ x([
6487
+ Ft("audio")
6488
+ ], g.prototype, "audio", 2);
6489
+ x([
6490
+ Ft("crt-visualizer")
6491
+ ], g.prototype, "visualizer", 2);
6492
+ g = x([
6263
6493
  d("crt-music-player")
6264
- ], u);
6265
- var ye = Object.defineProperty, xe = Object.getOwnPropertyDescriptor, st = (r, t, a, s) => {
6266
- for (var e = s > 1 ? void 0 : s ? xe(t, a) : t, i = r.length - 1, o; i >= 0; i--)
6267
- (o = r[i]) && (e = (s ? o(t, a, e) : o(e)) || e);
6268
- return s && e && ye(t, a, e), e;
6494
+ ], g);
6495
+ var Dr = Object.defineProperty, Mr = Object.getOwnPropertyDescriptor, lt = (e, t, a, i) => {
6496
+ for (var r = i > 1 ? void 0 : i ? Mr(t, a) : t, s = e.length - 1, o; s >= 0; s--)
6497
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
6498
+ return i && r && Dr(t, a, r), r;
6269
6499
  };
6270
- let F = class extends p {
6500
+ let Y = class extends p {
6271
6501
  constructor() {
6272
6502
  super(), this.rows = 10, this.prompt = "$", this.disabled = !1, this.outputs = [], this.input = "", this.handleFocus = () => {
6273
6503
  this.disabled || this.focus();
6274
- }, this.handleKeydown = (r) => {
6504
+ }, this.handleKeydown = (e) => {
6275
6505
  if (!this.disabled) {
6276
- if (r.key === "Backspace") {
6277
- r.preventDefault(), this.input = this.input.slice(0, -1), this.requestUpdate();
6506
+ if (e.key === "Backspace") {
6507
+ e.preventDefault(), this.input = this.input.slice(0, -1), this.requestUpdate();
6278
6508
  return;
6279
6509
  }
6280
- if (r.key === "Enter") {
6281
- r.preventDefault();
6510
+ if (e.key === "Enter") {
6511
+ e.preventDefault();
6282
6512
  const t = this.input.trim();
6283
6513
  this.println(`${this.prompt} ${t}`), this.dispatchEvent(new CustomEvent("command", { detail: t })), this.input = "", this.requestUpdate();
6284
6514
  return;
6285
6515
  }
6286
- r.key.length === 1 && !r.ctrlKey && !r.metaKey && (this.input += r.key, this.requestUpdate());
6516
+ e.key.length === 1 && !e.ctrlKey && !e.metaKey && (this.input += e.key, this.requestUpdate());
6287
6517
  }
6288
6518
  }, this.typing = !1, this.typeQueue = [], this.outputs = ["$ SYSTEM READY _"];
6289
6519
  }
@@ -6294,13 +6524,13 @@ let F = class extends p {
6294
6524
  this.removeEventListener("click", this.handleFocus), this.removeEventListener("keydown", this.handleKeydown), super.disconnectedCallback();
6295
6525
  }
6296
6526
  // Public API
6297
- write(r) {
6527
+ write(e) {
6298
6528
  this.outputs.length === 0 && (this.outputs = []);
6299
6529
  const t = this.outputs[this.outputs.length - 1] || "";
6300
- this.outputs[this.outputs.length - 1] = t + r, this.requestUpdate(), this.scrollToBottom();
6530
+ this.outputs[this.outputs.length - 1] = t + e, this.requestUpdate(), this.scrollToBottom();
6301
6531
  }
6302
- println(r) {
6303
- this.outputs = [...this.outputs, r], this.requestUpdate(), this.scrollToBottom();
6532
+ println(e) {
6533
+ this.outputs = [...this.outputs, e], this.requestUpdate(), this.scrollToBottom();
6304
6534
  }
6305
6535
  clear() {
6306
6536
  this.outputs = [], this.requestUpdate();
@@ -6310,39 +6540,39 @@ let F = class extends p {
6310
6540
  }
6311
6541
  scrollToBottom() {
6312
6542
  requestAnimationFrame(() => {
6313
- const r = this.shadowRoot?.querySelector(".term");
6314
- r && (r.scrollTop = r.scrollHeight);
6543
+ const e = this.shadowRoot?.querySelector(".term");
6544
+ e && (e.scrollTop = e.scrollHeight);
6315
6545
  });
6316
6546
  }
6317
- type(r, t = 30) {
6318
- this.typeQueue.push({ text: r, speed: t }), this.typing || this.processTypeQueue();
6547
+ type(e, t = 30) {
6548
+ this.typeQueue.push({ text: e, speed: t }), this.typing || this.processTypeQueue();
6319
6549
  }
6320
6550
  async processTypeQueue() {
6321
6551
  if (!this.typing) {
6322
6552
  for (this.typing = !0; this.typeQueue.length > 0; ) {
6323
- const { text: r, speed: t } = this.typeQueue.shift();
6553
+ const { text: e, speed: t } = this.typeQueue.shift();
6324
6554
  await new Promise((a) => {
6325
6555
  this.outputs = [...this.outputs, ""];
6326
- let s = 0;
6327
- const e = () => {
6328
- if (s >= r.length) {
6556
+ let i = 0;
6557
+ const r = () => {
6558
+ if (i >= e.length) {
6329
6559
  a();
6330
6560
  return;
6331
6561
  }
6332
- const i = this.outputs.length - 1;
6333
- this.outputs[i] = (this.outputs[i] || "") + r[s++], this.requestUpdate(), this.scrollToBottom(), setTimeout(e, t);
6562
+ const s = this.outputs.length - 1;
6563
+ this.outputs[s] = (this.outputs[s] || "") + e[i++], this.requestUpdate(), this.scrollToBottom(), setTimeout(r, t);
6334
6564
  };
6335
- e();
6565
+ r();
6336
6566
  });
6337
6567
  }
6338
6568
  this.typing = !1;
6339
6569
  }
6340
6570
  }
6341
6571
  render() {
6342
- const r = this.outputs.slice(-this.rows);
6572
+ const e = this.outputs.slice(-this.rows);
6343
6573
  return l`
6344
6574
  <div class="term" role="textbox" aria-label="Terminal" tabindex="0" aria-disabled="${this.disabled}">
6345
- ${r.map((t) => l`<div class="line">${t}</div>`)}
6575
+ ${e.map((t) => l`<div class="line">${t}</div>`)}
6346
6576
  <div class="line input-line">
6347
6577
  <span class="prompt">${this.prompt}</span>
6348
6578
  <div class="fake-input"><span class="input-text">${this.input}</span></div>
@@ -6352,7 +6582,7 @@ let F = class extends p {
6352
6582
  `;
6353
6583
  }
6354
6584
  };
6355
- F.styles = c`
6585
+ Y.styles = c`
6356
6586
  :host { display: block; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, 'Roboto Mono', monospace; width: 100%; max-width: none; box-sizing: border-box; min-width: 0; }
6357
6587
  .term {
6358
6588
  width: 100%;
@@ -6392,53 +6622,488 @@ F.styles = c`
6392
6622
  .fake-input .input-text { display:inline-block; white-space:pre; }
6393
6623
  .muted { opacity: 0.7; font-size: 0.9em; }
6394
6624
  `;
6395
- st([
6625
+ lt([
6396
6626
  n({ type: Number })
6397
- ], F.prototype, "rows", 2);
6398
- st([
6627
+ ], Y.prototype, "rows", 2);
6628
+ lt([
6399
6629
  n({ type: String })
6400
- ], F.prototype, "prompt", 2);
6401
- st([
6630
+ ], Y.prototype, "prompt", 2);
6631
+ lt([
6402
6632
  n({ type: Boolean, reflect: !0 })
6403
- ], F.prototype, "disabled", 2);
6404
- st([
6633
+ ], Y.prototype, "disabled", 2);
6634
+ lt([
6405
6635
  v()
6406
- ], F.prototype, "outputs", 2);
6407
- st([
6636
+ ], Y.prototype, "outputs", 2);
6637
+ lt([
6408
6638
  v()
6409
- ], F.prototype, "input", 2);
6410
- F = st([
6639
+ ], Y.prototype, "input", 2);
6640
+ Y = lt([
6411
6641
  d("crt-terminal")
6412
- ], F);
6413
- var we = Object.defineProperty, ke = Object.getOwnPropertyDescriptor, Z = (r, t, a, s) => {
6414
- for (var e = s > 1 ? void 0 : s ? ke(t, a) : t, i = r.length - 1, o; i >= 0; i--)
6415
- (o = r[i]) && (e = (s ? o(t, a, e) : o(e)) || e);
6416
- return s && e && we(t, a, e), e;
6642
+ ], Y);
6643
+ var jr = Object.defineProperty, Tr = Object.getOwnPropertyDescriptor, _t = (e, t, a, i) => {
6644
+ for (var r = i > 1 ? void 0 : i ? Tr(t, a) : t, s = e.length - 1, o; s >= 0; s--)
6645
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
6646
+ return i && r && jr(t, a, r), r;
6417
6647
  };
6418
- let j = class extends p {
6648
+ let Q = class extends p {
6419
6649
  constructor() {
6420
- super(...arguments), this.autoplay = !1, this.autoplayDelay = 500, this.tracks = [], this.currentIndex = 0, this.showUploadModal = !1, this.handleFilesChanged = (r) => {
6421
- const a = r.detail.files.filter((s) => s.type.startsWith("audio/") || s.name.endsWith(".mp3") || s.name.endsWith(".wav") || s.name.endsWith(".ogg") || s.name.endsWith(".flac")).map((s) => {
6422
- const e = s.name.replace(/\.[^/.]+$/, "");
6423
- let i = "UNKNOWN ARTIST", o = e.toUpperCase();
6424
- if (e.includes(" - ")) {
6425
- const h = e.split(" - ");
6426
- i = h[0].trim().toUpperCase(), o = h.slice(1).join(" - ").trim().toUpperCase();
6650
+ super(...arguments), this.items = [], this.brand = "", this._open = !1;
6651
+ }
6652
+ _toggle() {
6653
+ this._open = !this._open;
6654
+ }
6655
+ _onLinkClick(e, t) {
6656
+ try {
6657
+ const a = (t.href || "").trim();
6658
+ if (a && a.startsWith("#")) {
6659
+ e.preventDefault();
6660
+ const i = document.querySelector(a);
6661
+ if (i) {
6662
+ i.scrollIntoView({ behavior: "smooth", block: "start" });
6663
+ try {
6664
+ history.replaceState(null, "", a);
6665
+ } catch {
6666
+ location.hash = a;
6667
+ }
6668
+ } else
6669
+ console.warn("crt-navbar: target not found for", a);
6670
+ }
6671
+ } catch {
6672
+ }
6673
+ this.dispatchEvent(new CustomEvent("nav-select", { detail: t })), this.items = this.items.map((a) => ({ ...a, active: a.href === t.href }));
6674
+ }
6675
+ _onMenuSelect(e) {
6676
+ const t = e.detail?.item;
6677
+ t && (this._handleNavHref(t.href), this.items = this.items.map((a) => ({ ...a, active: a.href === t.href })));
6678
+ }
6679
+ _onLinkNavigate(e, t) {
6680
+ e.stopPropagation(), this._handleNavHref(t.href), this.items = this.items.map((a) => ({ ...a, active: a.href === t.href }));
6681
+ }
6682
+ _handleNavHref(e) {
6683
+ const t = (e || "").trim();
6684
+ if (t && t.startsWith("#")) {
6685
+ const a = document.querySelector(t);
6686
+ if (a) {
6687
+ a.scrollIntoView({ behavior: "smooth", block: "start" });
6688
+ try {
6689
+ history.replaceState(null, "", t);
6690
+ } catch {
6691
+ location.hash = t;
6692
+ }
6693
+ }
6694
+ }
6695
+ }
6696
+ render() {
6697
+ const e = typeof this.maxVisible == "number" ? this.items.slice(0, this.maxVisible) : this.items.slice(0), t = typeof this.maxVisible == "number" ? this.items.slice(this.maxVisible) : [];
6698
+ return l`
6699
+ <nav class="nav" role="navigation" aria-label="Main Navigation">
6700
+ <div style="display:flex;align-items:center;justify-content:space-between;gap:12px;">
6701
+ <div class="brand">
6702
+ <slot name="brand">${this.brand || "CRT"}</slot>
6703
+ </div>
6704
+ <button class="toggle" @click="${this._toggle}" aria-expanded="${this._open ? "true" : "false"}" aria-label="Toggle navigation">☰</button>
6705
+ </div>
6706
+
6707
+ <div class="menu ${this._open ? "open" : ""}" role="menubar">
6708
+ ${e.map((a) => l`
6709
+ <crt-link
6710
+ href="${a.href}"
6711
+ class="link"
6712
+ ?aria-current="${a.active ? !0 : void 0}"
6713
+ @click=${(i) => this._onLinkClick(i, a)}
6714
+ @navigate=${(i) => this._onLinkNavigate(i, a)}
6715
+ >${a.label}</crt-link>
6716
+ `)}
6717
+
6718
+ ${t.length > 0 ? l`
6719
+ <div style="position:relative;">
6720
+ <crt-menu .items="${t}" label="MORE" class="more-dropdown-container" @select="${(a) => this._onMenuSelect(a)}"></crt-menu>
6721
+ </div>
6722
+ ` : ""}
6723
+
6724
+ <slot name="end"></slot>
6725
+ </div>
6726
+ </nav>
6727
+ `;
6728
+ }
6729
+ };
6730
+ Q.styles = c`
6731
+ :host { display: block; font-family: var(--crt-font-family); }
6732
+ .nav {
6733
+ position: relative;
6734
+ display: flex;
6735
+ align-items: center;
6736
+ justify-content: space-between;
6737
+ gap: 12px;
6738
+ padding: var(--crt-spacing-md) var(--crt-spacing-lg);
6739
+ background: var(--crt-bg-darker);
6740
+ border-bottom: 2px solid var(--crt-primary);
6741
+ box-shadow: var(--crt-glow-inset);
6742
+ }
6743
+
6744
+ .brand {
6745
+ display: flex;
6746
+ gap: 12px;
6747
+ align-items: center;
6748
+ color: var(--crt-primary);
6749
+ text-shadow: var(--crt-glow);
6750
+ font-weight: 700;
6751
+ text-transform: uppercase;
6752
+ letter-spacing: 2px;
6753
+ }
6754
+
6755
+ .menu {
6756
+ display: flex;
6757
+ gap: 12px;
6758
+ align-items: center;
6759
+ overflow: hidden;
6760
+ min-width: 0;
6761
+ }
6762
+
6763
+ .link {
6764
+ color: var(--crt-primary);
6765
+ padding: 8px 12px;
6766
+ text-decoration: none;
6767
+ border: 1px solid transparent;
6768
+ transition: var(--crt-transition);
6769
+ font-family: var(--crt-font-family);
6770
+ text-transform: uppercase;
6771
+ letter-spacing: 1px;
6772
+ white-space: nowrap;
6773
+ }
6774
+
6775
+ .link:hover {
6776
+ background: color-mix(in srgb, var(--crt-primary) 10%, transparent);
6777
+ box-shadow: var(--crt-glow-sm);
6778
+ }
6779
+
6780
+ .link[aria-current="true"] {
6781
+ background: color-mix(in srgb, var(--crt-primary) 18%, transparent);
6782
+ box-shadow: var(--crt-glow);
6783
+ color: var(--crt-bg-dark);
6784
+ }
6785
+
6786
+ /* .more-button replaced with crt-button - keep visual spacing rules */
6787
+ .more-button {
6788
+ background: transparent;
6789
+ border: 1px solid transparent;
6790
+ color: var(--crt-primary);
6791
+ padding: 0;
6792
+ }
6793
+
6794
+ .more-dropdown-container {
6795
+ position: absolute;
6796
+ right: 0;
6797
+ margin-top: 8px;
6798
+ }
6799
+
6800
+ .toggle {
6801
+ display: none;
6802
+ background: transparent;
6803
+ border: 1px solid var(--crt-primary);
6804
+ color: var(--crt-primary);
6805
+ padding: 8px;
6806
+ cursor: var(--crt-cursor-pointer);
6807
+ font-family: var(--crt-font-family);
6808
+ }
6809
+
6810
+ @media (max-width: 720px) {
6811
+ .menu { display: none; }
6812
+ .menu.open { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; }
6813
+ .toggle { display: inline-flex; }
6814
+ .nav { flex-direction: column; align-items: stretch; }
6815
+ .brand { justify-content: space-between; width: 100%; }
6816
+ }
6817
+ `;
6818
+ _t([
6819
+ n({ type: Array })
6820
+ ], Q.prototype, "items", 2);
6821
+ _t([
6822
+ n({ type: String })
6823
+ ], Q.prototype, "brand", 2);
6824
+ _t([
6825
+ v()
6826
+ ], Q.prototype, "_open", 2);
6827
+ _t([
6828
+ n({ type: Number })
6829
+ ], Q.prototype, "maxVisible", 2);
6830
+ Q = _t([
6831
+ d("crt-navbar")
6832
+ ], Q);
6833
+ var Ar = Object.defineProperty, Ir = Object.getOwnPropertyDescriptor, re = (e, t, a, i) => {
6834
+ for (var r = i > 1 ? void 0 : i ? Ir(t, a) : t, s = e.length - 1, o; s >= 0; s--)
6835
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
6836
+ return i && r && Ar(t, a, r), r;
6837
+ };
6838
+ let Tt = class extends p {
6839
+ constructor() {
6840
+ super(...arguments), this.title = "";
6841
+ }
6842
+ render() {
6843
+ return l`
6844
+ <header class="header-wrap" role="banner">
6845
+ <div style="display:flex;align-items:center;gap:12px;min-width:0;">
6846
+ <slot name="brand">
6847
+ <div style="display:flex;flex-direction:column;gap:2px;min-width:0;">
6848
+ <crt-heading level="4">${this.title || "CRT LIVING STYLE GUIDE"}</crt-heading>
6849
+ <crt-text muted style="font-size:var(--crt-font-size-xs);">Component Library · Lit Web Components</crt-text>
6850
+ </div>
6851
+ </slot>
6852
+ </div>
6853
+
6854
+ <div class="actions">
6855
+ <slot name="actions">
6856
+ <!-- default action: search -->
6857
+ <crt-search placeholder="Search styleguide..." style="width:220px;"></crt-search>
6858
+ </slot>
6859
+ </div>
6860
+ </header>
6861
+ `;
6862
+ }
6863
+ };
6864
+ Tt.styles = c`
6865
+ :host { display: block; }
6866
+ .header-wrap {
6867
+ padding: var(--crt-spacing-lg) var(--crt-spacing-md);
6868
+ background: linear-gradient(180deg, rgba(0,0,0,0.65), rgba(0,0,0,0.75));
6869
+ border-bottom: 2px solid var(--crt-primary);
6870
+ box-shadow: var(--crt-glow-inset);
6871
+ display: flex;
6872
+ align-items: center;
6873
+ justify-content: space-between;
6874
+ gap: 12px;
6875
+ }
6876
+
6877
+ .title {
6878
+ display: flex;
6879
+ flex-direction: column;
6880
+ gap: 4px;
6881
+ }
6882
+
6883
+ /* Make nested atoms adopt spacing */
6884
+ .title ::slotted(crt-heading) { margin: 0; }
6885
+ .title ::slotted(crt-text) { margin: 0; }
6886
+
6887
+ .actions { display: flex; align-items: center; gap: 12px; }
6888
+
6889
+ @media (max-width: 720px) {
6890
+ .header-wrap { flex-direction: column; align-items: stretch; }
6891
+ .actions { justify-content: flex-end; width: 100%; }
6892
+ }
6893
+ `;
6894
+ re([
6895
+ n({ type: String })
6896
+ ], Tt.prototype, "title", 2);
6897
+ Tt = re([
6898
+ d("crt-header")
6899
+ ], Tt);
6900
+ var Lr = Object.defineProperty, Br = Object.getOwnPropertyDescriptor, ae = (e, t, a, i) => {
6901
+ for (var r = i > 1 ? void 0 : i ? Br(t, a) : t, s = e.length - 1, o; s >= 0; s--)
6902
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
6903
+ return i && r && Lr(t, a, r), r;
6904
+ };
6905
+ let At = class extends p {
6906
+ constructor() {
6907
+ super(...arguments), this.copyright = "";
6908
+ }
6909
+ render() {
6910
+ return l`
6911
+ <footer class="footer">
6912
+ <div><slot name="left">${this.copyright || "© 2026 CRT Style Guide"}</slot></div>
6913
+ <div><slot name="right">Made with ♥ · <crt-link href="https://github.com/" target="_blank">GitHub</crt-link></slot></div>
6914
+ </footer>
6915
+ `;
6916
+ }
6917
+ };
6918
+ At.styles = c`
6919
+ :host { display: block; }
6920
+ .footer {
6921
+ padding: var(--crt-spacing-md) var(--crt-spacing-lg);
6922
+ border-top: 2px solid var(--crt-primary);
6923
+ background: var(--crt-bg-darker);
6924
+ color: var(--crt-text-muted);
6925
+ display: flex;
6926
+ align-items: center;
6927
+ justify-content: space-between;
6928
+ gap: 12px;
6929
+ font-family: var(--crt-font-family);
6930
+ font-size: var(--crt-font-size-sm);
6931
+ }
6932
+ `;
6933
+ ae([
6934
+ n({ type: String })
6935
+ ], At.prototype, "copyright", 2);
6936
+ At = ae([
6937
+ d("crt-footer")
6938
+ ], At);
6939
+ var Ur = Object.defineProperty, Nr = Object.getOwnPropertyDescriptor, $t = (e, t, a, i) => {
6940
+ for (var r = i > 1 ? void 0 : i ? Nr(t, a) : t, s = e.length - 1, o; s >= 0; s--)
6941
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
6942
+ return i && r && Ur(t, a, r), r;
6943
+ };
6944
+ let J = class extends p {
6945
+ constructor() {
6946
+ super(...arguments), this.items = [], this.open = !1, this.label = "Menu", this._active = -1, this._triggerId = `crt-menu-trigger-${Math.random().toString(36).slice(2, 8)}`, this._listId = `crt-menu-list-${Math.random().toString(36).slice(2, 8)}`, this._onDocClick = (e) => {
6947
+ this.open && (this.contains(e.target) || (this.open = !1, this._active = -1, this.shadowRoot?.querySelector("button.trigger")?.focus()));
6948
+ }, this._onDocKeydown = (e) => {
6949
+ this.open && e.key === "Escape" && (this.open = !1, this._active = -1, this.shadowRoot?.querySelector("button.trigger")?.focus());
6950
+ }, this._toggle = () => {
6951
+ this.open = !this.open, this.open ? (this._active = this.items.findIndex((e) => !e.disabled), this.updateComplete.then(() => {
6952
+ this._focusActive();
6953
+ })) : (this._active = -1, this.shadowRoot?.querySelector("button.trigger")?.focus());
6954
+ };
6955
+ }
6956
+ connectedCallback() {
6957
+ super.connectedCallback(), document.addEventListener("click", this._onDocClick), document.addEventListener("keydown", this._onDocKeydown);
6958
+ }
6959
+ disconnectedCallback() {
6960
+ super.disconnectedCallback(), document.removeEventListener("click", this._onDocClick), document.removeEventListener("keydown", this._onDocKeydown);
6961
+ }
6962
+ _focusActive() {
6963
+ const e = this.shadowRoot?.querySelectorAll(".item");
6964
+ if (!e) return;
6965
+ e.forEach((a, i) => a.setAttribute("tabindex", this._active === i ? "0" : "-1")), e[this._active]?.focus();
6966
+ }
6967
+ _onKey(e) {
6968
+ if (!this.open) return;
6969
+ if (e.key === "Tab") {
6970
+ this.open = !1, this._active = -1;
6971
+ return;
6972
+ }
6973
+ const t = this.items.map((a, i) => ({ it: a, idx: i })).filter((a) => !a.it.disabled);
6974
+ switch (["ArrowDown", "ArrowUp", "Home", "End", "Enter", " "].includes(e.key) && e.preventDefault(), e.key) {
6975
+ case "ArrowDown": {
6976
+ const a = t.find((i) => i.idx > this._active) || t[0];
6977
+ this._active = a?.idx ?? this._active, this._focusActive();
6978
+ break;
6979
+ }
6980
+ case "ArrowUp": {
6981
+ const a = t.filter((r) => r.idx < this._active), i = a[a.length - 1] || t[t.length - 1];
6982
+ this._active = i?.idx ?? this._active, this._focusActive();
6983
+ break;
6984
+ }
6985
+ case "Home":
6986
+ this._active = t[0]?.idx ?? this._active, this._focusActive();
6987
+ break;
6988
+ case "End":
6989
+ this._active = t[t.length - 1]?.idx ?? this._active, this._focusActive();
6990
+ break;
6991
+ case "Enter":
6992
+ case " ":
6993
+ this._active >= 0 && this._select(this._active);
6994
+ break;
6995
+ }
6996
+ }
6997
+ _select(e) {
6998
+ const t = this.items[e];
6999
+ !t || t.disabled || (this.open = !1, this._active = -1, this.dispatchEvent(new CustomEvent("select", { detail: { item: t, index: e } })), t.href && (window.location.href = t.href), this.shadowRoot?.querySelector("button.trigger")?.focus());
7000
+ }
7001
+ render() {
7002
+ return l`
7003
+ <div style="display:flex;align-items:center;gap:8px;">
7004
+ <button id="${this._triggerId}" class="trigger" @click=${this._toggle} aria-expanded="${this.open ? "true" : "false"}" aria-haspopup="true" aria-controls="${this._listId}" aria-label="${this.label}">${this.label} ▾</button>
7005
+ <div id="${this._listId}" class="dropdown ${this.open ? "open" : ""}" role="menu" aria-labelledby="${this._triggerId}" @keydown=${(e) => this._onKey(e)}>
7006
+ ${this.items.map((e, t) => l`
7007
+ <div
7008
+ class="item"
7009
+ role="menuitem"
7010
+ tabindex="${this._active === t ? "0" : "-1"}"
7011
+ aria-disabled="${e.disabled ? "true" : "false"}"
7012
+ aria-selected="${this._active === t ? "true" : "false"}"
7013
+ @click=${() => this._select(t)}
7014
+ @keydown=${(a) => this._onKey(a)}
7015
+ >${e.label}</div>
7016
+ `)}
7017
+ </div>
7018
+ </div>
7019
+ `;
7020
+ }
7021
+ };
7022
+ J.styles = c`
7023
+ :host { display: inline-block; position: relative; font-family: var(--crt-font-family); }
7024
+ button.trigger {
7025
+ background: transparent;
7026
+ border: 1px solid var(--crt-primary);
7027
+ color: var(--crt-primary);
7028
+ padding: 8px 10px;
7029
+ cursor: var(--crt-cursor-pointer);
7030
+ font-family: var(--crt-font-family);
7031
+ }
7032
+
7033
+ .dropdown {
7034
+ position: absolute;
7035
+ right: 0;
7036
+ background: var(--crt-bg-dark);
7037
+ border: 2px solid var(--crt-primary);
7038
+ box-shadow: var(--crt-glow-sm);
7039
+ margin-top: 8px;
7040
+ min-width: 160px;
7041
+ display: none;
7042
+ flex-direction: column;
7043
+ z-index: 2000;
7044
+ }
7045
+
7046
+ .dropdown.open { display: flex; }
7047
+
7048
+ .item {
7049
+ padding: var(--crt-spacing-sm) var(--crt-spacing-md);
7050
+ cursor: var(--crt-cursor-pointer);
7051
+ color: var(--crt-primary);
7052
+ white-space: nowrap;
7053
+ }
7054
+
7055
+ .item[aria-disabled='true'] { opacity: 0.5; cursor: not-allowed; }
7056
+
7057
+ .item[aria-selected='true'] {
7058
+ background: color-mix(in srgb, var(--crt-primary) 18%, transparent);
7059
+ box-shadow: var(--crt-glow-sm);
7060
+ color: var(--crt-bg-dark);
7061
+ }
7062
+ `;
7063
+ $t([
7064
+ n({ type: Array })
7065
+ ], J.prototype, "items", 2);
7066
+ $t([
7067
+ n({ type: Boolean, reflect: !0 })
7068
+ ], J.prototype, "open", 2);
7069
+ $t([
7070
+ n({ type: String })
7071
+ ], J.prototype, "label", 2);
7072
+ $t([
7073
+ v()
7074
+ ], J.prototype, "_active", 2);
7075
+ J = $t([
7076
+ d("crt-menu")
7077
+ ], J);
7078
+ var Rr = Object.defineProperty, Fr = Object.getOwnPropertyDescriptor, at = (e, t, a, i) => {
7079
+ for (var r = i > 1 ? void 0 : i ? Fr(t, a) : t, s = e.length - 1, o; s >= 0; s--)
7080
+ (o = e[s]) && (r = (i ? o(t, a, r) : o(r)) || r);
7081
+ return i && r && Rr(t, a, r), r;
7082
+ };
7083
+ let A = class extends p {
7084
+ constructor() {
7085
+ super(...arguments), this.autoplay = !1, this.autoplayDelay = 500, this.tracks = [], this.currentIndex = 0, this.showUploadModal = !1, this.handleFilesChanged = (e) => {
7086
+ const a = e.detail.files.filter((i) => i.type.startsWith("audio/") || i.name.endsWith(".mp3") || i.name.endsWith(".wav") || i.name.endsWith(".ogg") || i.name.endsWith(".flac")).map((i) => {
7087
+ const r = i.name.replace(/\.[^/.]+$/, "");
7088
+ let s = "UNKNOWN ARTIST", o = r.toUpperCase();
7089
+ if (r.includes(" - ")) {
7090
+ const h = r.split(" - ");
7091
+ s = h[0].trim().toUpperCase(), o = h.slice(1).join(" - ").trim().toUpperCase();
6427
7092
  }
6428
7093
  return {
6429
7094
  title: o,
6430
- artist: i,
6431
- url: URL.createObjectURL(s)
7095
+ artist: s,
7096
+ url: URL.createObjectURL(i)
6432
7097
  };
6433
7098
  });
6434
7099
  this.tracks = [...this.tracks, ...a];
6435
- }, this.handleTrackSelect = (r) => {
6436
- this.currentIndex = r.detail.index;
6437
- }, this.handleTrackRemove = (r) => {
6438
- const t = r.detail.index, a = this.tracks[t];
6439
- URL.revokeObjectURL(a.url), this.tracks = this.tracks.filter((s, e) => e !== t), this.tracks.length === 0 ? this.currentIndex = 0 : t <= this.currentIndex && (this.currentIndex = Math.max(0, this.currentIndex - 1));
6440
- }, this.handleTrackChange = (r) => {
6441
- this.currentIndex = r.detail.index;
7100
+ }, this.handleTrackSelect = (e) => {
7101
+ this.currentIndex = e.detail.index;
7102
+ }, this.handleTrackRemove = (e) => {
7103
+ const t = e.detail.index, a = this.tracks[t];
7104
+ URL.revokeObjectURL(a.url), this.tracks = this.tracks.filter((i, r) => r !== t), this.tracks.length === 0 ? this.currentIndex = 0 : t <= this.currentIndex && (this.currentIndex = Math.max(0, this.currentIndex - 1));
7105
+ }, this.handleTrackChange = (e) => {
7106
+ this.currentIndex = e.detail.index;
6442
7107
  }, this.openUploadModal = () => {
6443
7108
  this.showUploadModal = !0;
6444
7109
  }, this.closeUploadModal = () => {
@@ -6505,7 +7170,7 @@ let j = class extends p {
6505
7170
  `;
6506
7171
  }
6507
7172
  };
6508
- j.styles = c`
7173
+ A.styles = c`
6509
7174
  :host {
6510
7175
  display: block;
6511
7176
  font-family: var(--crt-font-family);
@@ -6578,67 +7243,72 @@ j.styles = c`
6578
7243
  padding-top: var(--crt-spacing-md);
6579
7244
  }
6580
7245
  `;
6581
- Z([
7246
+ at([
6582
7247
  n({ type: Boolean })
6583
- ], j.prototype, "autoplay", 2);
6584
- Z([
7248
+ ], A.prototype, "autoplay", 2);
7249
+ at([
6585
7250
  n({ type: Number })
6586
- ], j.prototype, "autoplayDelay", 2);
6587
- Z([
7251
+ ], A.prototype, "autoplayDelay", 2);
7252
+ at([
6588
7253
  v()
6589
- ], j.prototype, "tracks", 2);
6590
- Z([
7254
+ ], A.prototype, "tracks", 2);
7255
+ at([
6591
7256
  v()
6592
- ], j.prototype, "currentIndex", 2);
6593
- Z([
7257
+ ], A.prototype, "currentIndex", 2);
7258
+ at([
6594
7259
  v()
6595
- ], j.prototype, "showUploadModal", 2);
6596
- Z([
6597
- Tt("crt-file-upload")
6598
- ], j.prototype, "fileUpload", 2);
6599
- j = Z([
7260
+ ], A.prototype, "showUploadModal", 2);
7261
+ at([
7262
+ Ft("crt-file-upload")
7263
+ ], A.prototype, "fileUpload", 2);
7264
+ A = at([
6600
7265
  d("crt-music-station")
6601
- ], j);
7266
+ ], A);
6602
7267
  export {
6603
- Pt as Accordion,
6604
- vt as AccordionItem,
6605
- w as Alert,
6606
- D as Avatar,
6607
- _t as AvatarGroup,
6608
- wt as Badge,
6609
- ct as Breadcrumb,
6610
- k as Button,
7268
+ jt as Accordion,
7269
+ ft as AccordionItem,
7270
+ k as Alert,
7271
+ j as Avatar,
7272
+ Et as AvatarGroup,
7273
+ Pt as Badge,
7274
+ vt as Breadcrumb,
7275
+ $ as Button,
6611
7276
  b as Calendar,
6612
- Dt as Card,
6613
- B as Checkbox,
6614
- R as CodeExample,
6615
- O as FileUpload,
6616
- ht as Grid,
6617
- kt as Heading,
6618
- nt as Icon,
6619
- V as Input,
6620
- I as Link,
6621
- rt as Modal,
6622
- u as MusicPlayer,
6623
- j as MusicStation,
6624
- X as Pagination,
6625
- gt as Playlist,
6626
- f as Progress,
6627
- U as Radio,
6628
- tt as RadioGroup,
6629
- S as Select,
6630
- N as Skeleton,
6631
- Ct as SkeletonCard,
6632
- zt as SkeletonText,
6633
- x as Slider,
6634
- pt as Spinner,
6635
- dt as Table,
6636
- lt as Tabs,
6637
- F as Terminal,
6638
- $t as Text,
6639
- q as Textarea,
6640
- M as Toast,
6641
- E as Toggle,
6642
- H as Tooltip,
6643
- K as Visualizer
7277
+ Ut as Card,
7278
+ N as Checkbox,
7279
+ V as CodeExample,
7280
+ E as FileUpload,
7281
+ At as Footer,
7282
+ mt as Grid,
7283
+ Tt as Header,
7284
+ Ot as Heading,
7285
+ dt as Icon,
7286
+ H as Input,
7287
+ U as Link,
7288
+ J as Menu,
7289
+ st as Modal,
7290
+ g as MusicPlayer,
7291
+ A as MusicStation,
7292
+ Q as Navbar,
7293
+ W as Pagination,
7294
+ bt as Playlist,
7295
+ y as Progress,
7296
+ R as Radio,
7297
+ it as RadioGroup,
7298
+ m as Search,
7299
+ D as Select,
7300
+ F as Skeleton,
7301
+ Mt as SkeletonCard,
7302
+ Dt as SkeletonText,
7303
+ w as Slider,
7304
+ ut as Spinner,
7305
+ gt as Table,
7306
+ ht as Tabs,
7307
+ Y as Terminal,
7308
+ St as Text,
7309
+ K as Textarea,
7310
+ T as Toast,
7311
+ M as Toggle,
7312
+ X as Tooltip,
7313
+ G as Visualizer
6644
7314
  };