@jasonshimmy/custom-elements-runtime 0.2.1 → 0.2.3

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.
@@ -2,12 +2,12 @@ function yt(e, t) {
2
2
  return te(e ? t : [], "when-block");
3
3
  }
4
4
  function mt(e, t) {
5
- return e.map((r, n) => {
6
- const o = typeof r == "object" ? r?.key ?? r?.id ?? `idx-${n}` : String(r);
7
- return te(t(r, n), `each-${o}`);
5
+ return e.map((r, o) => {
6
+ const n = typeof r == "object" ? r?.key ?? r?.id ?? `idx-${o}` : String(r);
7
+ return te(t(r, o), `each-${n}`);
8
8
  });
9
9
  }
10
- function Be() {
10
+ function Re() {
11
11
  const e = [];
12
12
  return {
13
13
  when(t, r) {
@@ -17,14 +17,14 @@ function Be() {
17
17
  return e.push([!0, t]), this;
18
18
  },
19
19
  done() {
20
- return Re(...e);
20
+ return Be(...e);
21
21
  }
22
22
  };
23
23
  }
24
- function Re(...e) {
24
+ function Be(...e) {
25
25
  for (let t = 0; t < e.length; t++) {
26
- const [r, n] = e[t];
27
- if (r) return [te(n, `whenChain-branch-${t}`)];
26
+ const [r, o] = e[t];
27
+ if (r) return [te(o, `whenChain-branch-${t}`)];
28
28
  }
29
29
  return [te([], "whenChain-empty")];
30
30
  }
@@ -36,7 +36,7 @@ function te(e, t) {
36
36
  children: r
37
37
  };
38
38
  }
39
- class K extends EventTarget {
39
+ class U extends EventTarget {
40
40
  handlers = {};
41
41
  static instance;
42
42
  eventCounters = /* @__PURE__ */ new Map();
@@ -44,7 +44,7 @@ class K extends EventTarget {
44
44
  * Returns the singleton instance of GlobalEventBus
45
45
  */
46
46
  static getInstance() {
47
- return K.instance || (K.instance = new K()), K.instance;
47
+ return U.instance || (U.instance = new U()), U.instance;
48
48
  }
49
49
  // Enhanced emit method with better typing and event storm protection
50
50
  /**
@@ -53,10 +53,10 @@ class K extends EventTarget {
53
53
  * @param data - Optional event payload
54
54
  */
55
55
  emit(t, r) {
56
- const n = Date.now(), o = this.eventCounters.get(t);
57
- if (!o || n - o.window > 1e3)
58
- this.eventCounters.set(t, { count: 1, window: n });
59
- else if (o.count++, o.count > 50 && (console.error(`Event storm detected for "${t}": ${o.count} events in 1 second. Throttling...`), o.count > 100)) {
56
+ const o = Date.now(), n = this.eventCounters.get(t);
57
+ if (!n || o - n.window > 1e3)
58
+ this.eventCounters.set(t, { count: 1, window: o });
59
+ else if (n.count++, n.count > 50 && (console.error(`Event storm detected for "${t}": ${n.count} events in 1 second. Throttling...`), n.count > 100)) {
60
60
  console.warn(`Blocking further "${t}" events to prevent infinite loop`);
61
61
  return;
62
62
  }
@@ -89,8 +89,8 @@ class K extends EventTarget {
89
89
  * @param handler - Handler function to remove
90
90
  */
91
91
  off(t, r) {
92
- const n = this.handlers[t];
93
- n && n.delete(r);
92
+ const o = this.handlers[t];
93
+ o && o.delete(r);
94
94
  }
95
95
  /**
96
96
  * Remove all handlers for a specific event.
@@ -105,8 +105,8 @@ class K extends EventTarget {
105
105
  * @param handler - CustomEvent handler
106
106
  * @param options - AddEventListener options
107
107
  */
108
- listen(t, r, n) {
109
- return this.addEventListener(t, r, n), () => this.removeEventListener(t, r);
108
+ listen(t, r, o) {
109
+ return this.addEventListener(t, r, o), () => this.removeEventListener(t, r);
110
110
  }
111
111
  /**
112
112
  * Register a one-time event handler. Returns a promise that resolves with the event data.
@@ -114,9 +114,9 @@ class K extends EventTarget {
114
114
  * @param handler - Handler function
115
115
  */
116
116
  once(t, r) {
117
- return new Promise((n) => {
118
- const o = this.on(t, (s) => {
119
- o(), r(s), n(s);
117
+ return new Promise((o) => {
118
+ const n = this.on(t, (s) => {
119
+ n(), r(s), o(s);
120
120
  });
121
121
  });
122
122
  }
@@ -146,9 +146,9 @@ class K extends EventTarget {
146
146
  */
147
147
  getEventStats() {
148
148
  const t = {};
149
- for (const [r, n] of this.eventCounters.entries())
149
+ for (const [r, o] of this.eventCounters.entries())
150
150
  t[r] = {
151
- count: n.count,
151
+ count: o.count,
152
152
  handlersCount: this.getHandlerCount(r)
153
153
  };
154
154
  return t;
@@ -160,24 +160,24 @@ class K extends EventTarget {
160
160
  this.eventCounters.clear();
161
161
  }
162
162
  }
163
- const Z = K.getInstance(), bt = (e, t) => Z.emit(e, t), vt = (e, t) => Z.on(e, t), xt = (e, t) => Z.off(e, t), wt = (e, t) => Z.once(e, t), kt = (e, t, r) => Z.listen(e, t, r);
164
- function xe(e) {
163
+ const Z = U.getInstance(), bt = (e, t) => Z.emit(e, t), vt = (e, t) => Z.on(e, t), wt = (e, t) => Z.off(e, t), xt = (e, t) => Z.once(e, t), kt = (e, t, r) => Z.listen(e, t, r);
164
+ function we(e) {
165
165
  let t = { ...e };
166
166
  const r = [];
167
- function n(a) {
167
+ function o(a) {
168
168
  r.push(a), a(t);
169
169
  }
170
- function o() {
170
+ function n() {
171
171
  return t;
172
172
  }
173
173
  function s(a) {
174
- const c = typeof a == "function" ? a(t) : a;
175
- t = { ...t, ...c }, i();
174
+ const l = typeof a == "function" ? a(t) : a;
175
+ t = { ...t, ...l }, i();
176
176
  }
177
177
  function i() {
178
178
  r.forEach((a) => a(t));
179
179
  }
180
- return { subscribe: n, getState: o, setState: s };
180
+ return { subscribe: o, getState: n, setState: s };
181
181
  }
182
182
  function me(e) {
183
183
  return e.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
@@ -196,70 +196,70 @@ function pe(e) {
196
196
  }
197
197
  function Pe(e, t, r) {
198
198
  if (r)
199
- for (const [n, o] of Object.entries(r)) {
199
+ for (const [o, n] of Object.entries(r)) {
200
200
  let s, i = {};
201
- if (Array.isArray(o) ? (s = o[0], i = o[1] || {}) : s = o, t.set(n, {
201
+ if (Array.isArray(n) ? (s = n[0], i = n[1] || {}) : s = n, t.set(o, {
202
202
  callback: s,
203
203
  options: i,
204
- oldValue: he(e, n)
204
+ oldValue: he(e, o)
205
205
  }), i.immediate)
206
206
  try {
207
- const a = he(e, n);
207
+ const a = he(e, o);
208
208
  s(a, void 0, e);
209
209
  } catch (a) {
210
- console.error(`Error in immediate watcher for "${n}":`, a);
210
+ console.error(`Error in immediate watcher for "${o}":`, a);
211
211
  }
212
212
  }
213
213
  }
214
214
  function he(e, t) {
215
- return t.split(".").reduce((r, n) => r?.[n], e);
215
+ return t.split(".").reduce((r, o) => r?.[o], e);
216
216
  }
217
- function Oe(e, t, r, n) {
218
- const o = (i, a) => {
217
+ function Oe(e, t, r, o) {
218
+ const n = (i, a) => {
219
219
  if (i === a) return !0;
220
220
  if (typeof i != typeof a || typeof i != "object" || i === null || a === null) return !1;
221
221
  if (Array.isArray(i) && Array.isArray(a))
222
- return i.length !== a.length ? !1 : i.every((p, y) => o(p, a[y]));
223
- const c = Object.keys(i), f = Object.keys(a);
224
- return c.length !== f.length ? !1 : c.every((p) => o(i[p], a[p]));
222
+ return i.length !== a.length ? !1 : i.every((p, y) => n(p, a[y]));
223
+ const l = Object.keys(i), f = Object.keys(a);
224
+ return l.length !== f.length ? !1 : l.every((p) => n(i[p], a[p]));
225
225
  }, s = t.get(r);
226
- if (s && !o(n, s.oldValue))
226
+ if (s && !n(o, s.oldValue))
227
227
  try {
228
- s.callback(n, s.oldValue, e), s.oldValue = n;
228
+ s.callback(o, s.oldValue, e), s.oldValue = o;
229
229
  } catch (i) {
230
230
  console.error(`Error in watcher for "${r}":`, i);
231
231
  }
232
232
  for (const [i, a] of t.entries())
233
233
  if (a.options.deep && r.startsWith(i + "."))
234
234
  try {
235
- const c = he(e, i);
236
- o(c, a.oldValue) || (a.callback(c, a.oldValue, e), a.oldValue = c);
237
- } catch (c) {
238
- console.error(`Error in deep watcher for "${i}":`, c);
235
+ const l = he(e, i);
236
+ n(l, a.oldValue) || (a.callback(l, a.oldValue, e), a.oldValue = l);
237
+ } catch (l) {
238
+ console.error(`Error in deep watcher for "${i}":`, l);
239
239
  }
240
240
  }
241
241
  function Me(e, t, r) {
242
242
  if (!t.props) return;
243
- function n(o, s) {
244
- return s === Boolean ? o === "true" : s === Number ? Number(o) : o;
243
+ function o(n, s) {
244
+ return s === Boolean ? n === "true" : s === Number ? Number(n) : n;
245
245
  }
246
- Object.entries(t.props).forEach(([o, s]) => {
247
- if (s.type === Function && typeof e[o] == "function")
248
- r[o] = e[o];
246
+ Object.entries(t.props).forEach(([n, s]) => {
247
+ if (s.type === Function && typeof e[n] == "function")
248
+ r[n] = e[n];
249
249
  else {
250
- const i = e.getAttribute(me(o));
251
- i !== null ? r[o] = pe(n(i, s.type)) : "default" in s && s.default !== void 0 && (r[o] = pe(s.default));
250
+ const i = e.getAttribute(me(n));
251
+ i !== null ? r[n] = pe(o(i, s.type)) : "default" in s && s.default !== void 0 && (r[n] = pe(s.default));
252
252
  }
253
253
  });
254
254
  }
255
- function Ne(e, t, r, n) {
256
- e.onConnected && !r && (e.onConnected(t), n(!0));
255
+ function Ne(e, t, r, o) {
256
+ e.onConnected && !r && (e.onConnected(t), o(!0));
257
257
  }
258
- function We(e, t, r, n, o, s, i, a) {
259
- e.onDisconnected && e.onDisconnected(t), r.forEach((c) => c()), n(), o(), s(!1), i(null), a(!1);
258
+ function We(e, t, r, o, n, s, i, a) {
259
+ e.onDisconnected && e.onDisconnected(t), r.forEach((l) => l()), o(), n(), s(!1), i(null), a(!1);
260
260
  }
261
- function De(e, t, r, n, o) {
262
- e.onAttributeChanged && e.onAttributeChanged(t, r, n, o);
261
+ function De(e, t, r, o, n) {
262
+ e.onAttributeChanged && e.onAttributeChanged(t, r, o, n);
263
263
  }
264
264
  function q(e, t) {
265
265
  if (t && e instanceof HTMLElement) {
@@ -270,34 +270,34 @@ function q(e, t) {
270
270
  }
271
271
  }
272
272
  function I(e, t) {
273
- return typeof t == "string" ? t.split(".").reduce((r, n) => r?.[n], e) : t;
273
+ return typeof t == "string" ? t.split(".").reduce((r, o) => r?.[o], e) : t;
274
274
  }
275
- function we(e, t, r) {
276
- const n = t.split("."), o = n.pop();
277
- if (!o) return;
278
- const s = n.reduce((i, a) => (a in i || (i[a] = {}), i[a]), e);
279
- s[o] = r;
275
+ function xe(e, t, r) {
276
+ const o = t.split("."), n = o.pop();
277
+ if (!n) return;
278
+ const s = o.reduce((i, a) => (a in i || (i[a] = {}), i[a]), e);
279
+ s[n] = r;
280
280
  }
281
- function qe(e, t, r, n, o, s, i) {
281
+ function qe(e, t, r, o, n, s, i) {
282
282
  if (!s) return;
283
- const a = t.includes("lazy"), c = t.includes("trim"), f = t.includes("number"), p = () => {
283
+ const a = t.includes("lazy"), l = t.includes("trim"), f = t.includes("number"), p = () => {
284
284
  const h = s._state || s;
285
285
  return I(h, e);
286
286
  }, y = p();
287
- let l = "text";
288
- const w = n?.type;
289
- if (i instanceof HTMLInputElement ? l = w || i.type || "text" : i instanceof HTMLSelectElement ? l = "select" : i instanceof HTMLTextAreaElement && (l = "textarea"), l === "checkbox")
287
+ let c = "text";
288
+ const x = o?.type;
289
+ if (i instanceof HTMLInputElement ? c = x || i.type || "text" : i instanceof HTMLSelectElement ? c = "select" : i instanceof HTMLTextAreaElement && (c = "textarea"), c === "checkbox")
290
290
  if (Array.isArray(y)) {
291
- const h = i?.getAttribute("value") || n?.value || "", u = y.includes(h);
291
+ const h = i?.getAttribute("value") || o?.value || "", u = y.includes(h);
292
292
  i && i.checked !== u && (r.checked = u);
293
293
  } else {
294
294
  const h = i?.getAttribute("true-value") || !0, u = y === h;
295
295
  i && i.checked !== u && (r.checked = u);
296
296
  }
297
- else if (l === "radio") {
298
- const h = n?.value || "", u = y === h;
297
+ else if (c === "radio") {
298
+ const h = o?.value || "", u = y === h;
299
299
  i && i.checked !== u && (r.checked = u);
300
- } else if (l === "select")
300
+ } else if (c === "select")
301
301
  if (i && i.hasAttribute("multiple")) {
302
302
  const h = i, u = Array.isArray(y) ? y : [];
303
303
  setTimeout(() => {
@@ -314,13 +314,13 @@ function qe(e, t, r, n, o, s, i) {
314
314
  const h = String(y ?? "");
315
315
  (!i || i.value !== h) && (r.value = y);
316
316
  }
317
- const x = a || l === "checkbox" || l === "radio" || l === "select" ? "change" : "input", k = (h) => {
318
- if (h.isComposing || o._isComposing || h.isTrusted === !1) return;
317
+ const w = a || c === "checkbox" || c === "radio" || c === "select" ? "change" : "input", k = (h) => {
318
+ if (h.isComposing || n._isComposing || h.isTrusted === !1) return;
319
319
  const u = h.target;
320
320
  if (u._modelUpdating) return;
321
321
  const g = p();
322
322
  let b = u.value;
323
- if (l === "checkbox")
323
+ if (c === "checkbox")
324
324
  if (Array.isArray(g)) {
325
325
  const $ = u.getAttribute("value") || "", _ = [...g];
326
326
  if (u.checked)
@@ -334,76 +334,76 @@ function qe(e, t, r, n, o, s, i) {
334
334
  const $ = u.getAttribute("true-value") || !0, _ = u.getAttribute("false-value") || !1;
335
335
  b = u.checked ? $ : _;
336
336
  }
337
- else if (l === "radio")
337
+ else if (c === "radio")
338
338
  b = u.getAttribute("value") || u.value;
339
- else if (l === "select" && u.multiple) {
339
+ else if (c === "select" && u.multiple) {
340
340
  const $ = u;
341
341
  b = Array.from($.selectedOptions).map(
342
342
  (_) => _.value
343
343
  );
344
- } else if (c && (b = b.trim()), f) {
344
+ } else if (l && (b = b.trim()), f) {
345
345
  const $ = Number(b);
346
346
  isNaN($) || (b = $);
347
347
  }
348
348
  const d = s._state || s, v = I(d, e);
349
349
  if (Array.isArray(b) && Array.isArray(v) ? JSON.stringify([...b].sort()) !== JSON.stringify([...v].sort()) : b !== v) {
350
350
  const $ = h.target;
351
- $._modelUpdating = !0, we(d, e, b), setTimeout(() => {
351
+ $._modelUpdating = !0, xe(d, e, b), setTimeout(() => {
352
352
  $._modelUpdating = !1;
353
353
  }, 0), s._requestRender && s._requestRender();
354
354
  }
355
355
  };
356
- if (o[x] = k, l === "text" || l === "textarea") {
356
+ if (n[w] = k, c === "text" || c === "textarea") {
357
357
  const h = () => {
358
- o._isComposing = !0;
358
+ n._isComposing = !0;
359
359
  }, u = (g) => {
360
- o._isComposing = !1;
360
+ n._isComposing = !1;
361
361
  const b = g.target;
362
362
  setTimeout(() => {
363
363
  if (b) {
364
364
  let d = b.value;
365
- if (c && (d = d.trim()), f) {
365
+ if (l && (d = d.trim()), f) {
366
366
  const _ = Number(d);
367
367
  isNaN(_) || (d = _);
368
368
  }
369
369
  const v = s._state || s, m = I(v, e);
370
370
  (Array.isArray(d) && Array.isArray(m) ? JSON.stringify([...d].sort()) !== JSON.stringify([...m].sort()) : d !== m) && (b && (b._modelUpdating = !0, setTimeout(() => {
371
371
  b._modelUpdating = !1;
372
- }, 0)), we(v, e, d), s._requestRender && s._requestRender());
372
+ }, 0)), xe(v, e, d), s._requestRender && s._requestRender());
373
373
  }
374
374
  }, 0);
375
375
  };
376
- o.compositionstart = h, o.compositionend = u;
376
+ n.compositionstart = h, n.compositionend = u;
377
377
  }
378
378
  }
379
379
  function Ae(e) {
380
380
  return e.slice(2).charAt(0).toLowerCase() + e.slice(3);
381
381
  }
382
- function Ie(e, t, r, n) {
383
- if (n) {
382
+ function Ie(e, t, r, o) {
383
+ if (o) {
384
384
  if (typeof e == "object" && e !== null)
385
- for (const [o, s] of Object.entries(e))
386
- t[o] = s;
385
+ for (const [n, s] of Object.entries(e))
386
+ t[n] = s;
387
387
  else if (typeof e == "string")
388
388
  try {
389
- const o = JSON.parse(e);
390
- if (typeof o == "object" && o !== null) {
391
- for (const [s, i] of Object.entries(o))
389
+ const n = JSON.parse(e);
390
+ if (typeof n == "object" && n !== null) {
391
+ for (const [s, i] of Object.entries(n))
392
392
  t[s] = i;
393
393
  return;
394
394
  }
395
395
  } catch {
396
- const o = I(n, e);
397
- r[e] = o;
396
+ const n = I(o, e);
397
+ r[e] = n;
398
398
  }
399
399
  }
400
400
  }
401
401
  function He(e, t, r) {
402
402
  if (!r) return;
403
- const n = I(r, e), o = t.style || "", s = n ? "" : "none";
404
- if (o) {
405
- const i = o.split(";").filter(Boolean), a = i.findIndex(
406
- (c) => c.trim().startsWith("display:")
403
+ const o = I(r, e), n = t.style || "", s = o ? "" : "none";
404
+ if (n) {
405
+ const i = n.split(";").filter(Boolean), a = i.findIndex(
406
+ (l) => l.trim().startsWith("display:")
407
407
  );
408
408
  a >= 0 ? i[a] = `display: ${s}` : i.push(`display: ${s}`), t.style = i.join("; ");
409
409
  } else
@@ -411,29 +411,29 @@ function He(e, t, r) {
411
411
  }
412
412
  function Fe(e, t, r) {
413
413
  if (!r) return;
414
- const n = I(r, e);
415
- let o = [];
416
- typeof n == "string" ? o = [n] : Array.isArray(n) ? o = n.filter(Boolean) : typeof n == "object" && (o = Object.entries(n).filter(([, a]) => !!a).flatMap(([a]) => a.split(/\s+/).filter(Boolean)));
417
- const s = t.class || "", i = s ? `${s} ${o.join(" ")}`.trim() : o.join(" ");
414
+ const o = I(r, e);
415
+ let n = [];
416
+ typeof o == "string" ? n = [o] : Array.isArray(o) ? n = o.filter(Boolean) : typeof o == "object" && (n = Object.entries(o).filter(([, a]) => !!a).flatMap(([a]) => a.split(/\s+/).filter(Boolean)));
417
+ const s = t.class || "", i = s ? `${s} ${n.join(" ")}`.trim() : n.join(" ");
418
418
  i && (t.class = i);
419
419
  }
420
- function Ke(e, t, r) {
421
- let n;
420
+ function Ue(e, t, r) {
421
+ let o;
422
422
  if (typeof e == "string") {
423
423
  if (!r) return;
424
- n = I(r, e);
424
+ o = I(r, e);
425
425
  } else
426
- n = e;
427
- let o = "";
428
- if (typeof n == "string")
429
- o = n;
430
- else if (n && typeof n == "object") {
426
+ o = e;
427
+ let n = "";
428
+ if (typeof o == "string")
429
+ n = o;
430
+ else if (o && typeof o == "object") {
431
431
  const i = [];
432
- for (const [a, c] of Object.entries(n))
433
- if (c != null && c !== "") {
432
+ for (const [a, l] of Object.entries(o))
433
+ if (l != null && l !== "") {
434
434
  const f = a.replace(
435
435
  /[A-Z]/g,
436
- (l) => `-${l.toLowerCase()}`
436
+ (c) => `-${c.toLowerCase()}`
437
437
  ), p = [
438
438
  "width",
439
439
  "height",
@@ -460,24 +460,24 @@ function Ke(e, t, r) {
460
460
  "min-height",
461
461
  "max-height"
462
462
  ];
463
- let y = String(c);
464
- typeof c == "number" && p.includes(f) && (y = `${c}px`), i.push(`${f}: ${y}`);
463
+ let y = String(l);
464
+ typeof l == "number" && p.includes(f) && (y = `${l}px`), i.push(`${f}: ${y}`);
465
465
  }
466
- o = i.join("; ") + (i.length > 0 ? ";" : "");
466
+ n = i.join("; ") + (i.length > 0 ? ";" : "");
467
467
  }
468
468
  const s = t.style || "";
469
- t.style = s + (s && !s.endsWith(";") ? "; " : "") + o;
469
+ t.style = s + (s && !s.endsWith(";") ? "; " : "") + n;
470
470
  }
471
- function Te(e, t, r, n) {
472
- const o = {}, s = { ...n || {} }, i = {};
473
- for (const [a, c] of Object.entries(e)) {
474
- const { value: f, modifiers: p } = c;
471
+ function Te(e, t, r, o) {
472
+ const n = {}, s = { ...o || {} }, i = {};
473
+ for (const [a, l] of Object.entries(e)) {
474
+ const { value: f, modifiers: p } = l;
475
475
  switch (a) {
476
476
  case "model":
477
477
  qe(
478
478
  typeof f == "string" ? f : String(f),
479
479
  p,
480
- o,
480
+ n,
481
481
  s,
482
482
  i,
483
483
  t,
@@ -485,7 +485,7 @@ function Te(e, t, r, n) {
485
485
  );
486
486
  break;
487
487
  case "bind":
488
- Ie(f, o, s, t);
488
+ Ie(f, n, s, t);
489
489
  break;
490
490
  case "show":
491
491
  He(f, s, t);
@@ -494,11 +494,11 @@ function Te(e, t, r, n) {
494
494
  Fe(f, s, t);
495
495
  break;
496
496
  case "style":
497
- Ke(f, s, t);
497
+ Ue(f, s, t);
498
498
  break;
499
499
  }
500
500
  }
501
- return { props: o, attrs: s, listeners: i };
501
+ return { props: n, attrs: s, listeners: i };
502
502
  }
503
503
  function ge(e, t) {
504
504
  if (Array.isArray(e)) {
@@ -507,25 +507,25 @@ function ge(e, t) {
507
507
  if (!i || typeof i != "object") return i;
508
508
  let a = i.props?.key ?? i.key;
509
509
  if (!a) {
510
- const y = i.tag || "node", l = i.props?.attrs?.id ?? i.props?.attrs?.name ?? i.props?.attrs?.["data-key"] ?? "";
511
- a = l ? `${t}:${y}:${l}` : `${t}:${y}`;
510
+ const y = i.tag || "node", c = i.props?.attrs?.id ?? i.props?.attrs?.name ?? i.props?.attrs?.["data-key"] ?? "";
511
+ a = c ? `${t}:${y}:${c}` : `${t}:${y}`;
512
512
  }
513
- let c = a, f = 1;
514
- for (; s.has(c); )
515
- c = `${a}#${f++}`;
516
- s.add(c);
513
+ let l = a, f = 1;
514
+ for (; s.has(l); )
515
+ l = `${a}#${f++}`;
516
+ s.add(l);
517
517
  let p = i.children;
518
- return Array.isArray(p) && (p = ge(p, c)), { ...i, key: c, children: p };
518
+ return Array.isArray(p) && (p = ge(p, l)), { ...i, key: l, children: p };
519
519
  });
520
520
  }
521
521
  const r = e;
522
- let n = r.props?.key ?? r.key ?? t, o = r.children;
523
- return Array.isArray(o) && (o = ge(o, n)), { ...r, key: n, children: o };
522
+ let o = r.props?.key ?? r.key ?? t, n = r.children;
523
+ return Array.isArray(n) && (n = ge(n, o)), { ...r, key: o, children: n };
524
524
  }
525
- function Ue(e, t, r, n) {
526
- const o = r.directives ?? {}, s = Te(
527
- o,
525
+ function Ke(e, t, r, o) {
526
+ const n = r.directives ?? {}, s = Te(
528
527
  n,
528
+ o,
529
529
  e,
530
530
  r.attrs
531
531
  ), i = {
@@ -536,27 +536,27 @@ function Ue(e, t, r, n) {
536
536
  ...t.attrs,
537
537
  ...r.attrs,
538
538
  ...s.attrs
539
- }, c = t.props ?? {}, f = i;
540
- for (const l in { ...c, ...f }) {
541
- const w = c[l], x = f[l];
542
- if (w !== x)
543
- if (l === "value" && (e instanceof HTMLInputElement || e instanceof HTMLTextAreaElement || e instanceof HTMLSelectElement))
544
- e.value !== x && (e.value = x ?? "");
545
- else if (l === "checked" && e instanceof HTMLInputElement)
546
- e.checked = !!x;
547
- else if (l.startsWith("on") && typeof x == "function") {
548
- const k = Ae(l);
549
- typeof w == "function" && e.removeEventListener(k, w), e.addEventListener(k, x);
550
- } else x == null || x === !1 ? e.removeAttribute(l) : e.setAttribute(l, String(x));
551
- }
552
- for (const [l, w] of Object.entries(
539
+ }, l = t.props ?? {}, f = i;
540
+ for (const c in { ...l, ...f }) {
541
+ const x = l[c], w = f[c];
542
+ if (x !== w)
543
+ if (c === "value" && (e instanceof HTMLInputElement || e instanceof HTMLTextAreaElement || e instanceof HTMLSelectElement))
544
+ e.value !== w && (e.value = w ?? "");
545
+ else if (c === "checked" && e instanceof HTMLInputElement)
546
+ e.checked = !!w;
547
+ else if (c.startsWith("on") && typeof w == "function") {
548
+ const k = Ae(c);
549
+ typeof x == "function" && e.removeEventListener(k, x), e.addEventListener(k, w);
550
+ } else w == null || w === !1 ? e.removeAttribute(c) : e.setAttribute(c, String(w));
551
+ }
552
+ for (const [c, x] of Object.entries(
553
553
  s.listeners || {}
554
554
  ))
555
- e.addEventListener(l, w);
555
+ e.addEventListener(c, x);
556
556
  const p = t.attrs ?? {}, y = a;
557
- for (const l in { ...p, ...y }) {
558
- const w = p[l], x = y[l];
559
- w !== x && (x == null || x === !1 ? e.removeAttribute(l) : e.setAttribute(l, String(x)));
557
+ for (const c in { ...p, ...y }) {
558
+ const x = p[c], w = y[c];
559
+ x !== w && (w == null || w === !1 ? e.removeAttribute(c) : e.setAttribute(c, String(w)));
560
560
  }
561
561
  }
562
562
  function P(e, t, r) {
@@ -569,87 +569,87 @@ function P(e, t, r) {
569
569
  return e.key != null && (y.key = e.key), y;
570
570
  }
571
571
  if (e.tag === "#anchor") {
572
- const y = e, l = Array.isArray(y.children) ? y.children : [], w = document.createTextNode(""), x = document.createTextNode("");
573
- y.key != null && (w.key = `${y.key}:start`, x.key = `${y.key}:end`), y._startNode = w, y._endNode = x;
572
+ const y = e, c = Array.isArray(y.children) ? y.children : [], x = document.createTextNode(""), w = document.createTextNode("");
573
+ y.key != null && (x.key = `${y.key}:start`, w.key = `${y.key}:end`), y._startNode = x, y._endNode = w;
574
574
  const k = document.createDocumentFragment();
575
- k.appendChild(w);
576
- for (const h of l) {
575
+ k.appendChild(x);
576
+ for (const h of c) {
577
577
  const u = P(h, t);
578
578
  k.appendChild(u);
579
579
  }
580
- return k.appendChild(x), k;
580
+ return k.appendChild(w), k;
581
581
  }
582
- const n = document.createElement(e.tag);
583
- e.key != null && (n.key = e.key);
584
- const { props: o = {}, attrs: s = {}, directives: i = {} } = e.props ?? {}, a = Te(i, t, n, s), c = {
585
- ...o,
582
+ const o = document.createElement(e.tag);
583
+ e.key != null && (o.key = e.key);
584
+ const { props: n = {}, attrs: s = {}, directives: i = {} } = e.props ?? {}, a = Te(i, t, o, s), l = {
585
+ ...n,
586
586
  ...a.props
587
587
  }, f = {
588
588
  ...s,
589
589
  ...a.attrs
590
590
  };
591
591
  for (const y in f) {
592
- const l = f[y];
592
+ const c = f[y];
593
593
  if (typeof y != "string" || /\[object Object\]/.test(y)) {
594
- typeof window < "u" && window.console && console.warn("Skipping invalid attribute key:", y, l);
594
+ typeof window < "u" && window.console && console.warn("Skipping invalid attribute key:", y, c);
595
595
  continue;
596
596
  }
597
- typeof l == "boolean" ? l && n.setAttribute(y, "") : l != null && n.setAttribute(y, l);
597
+ typeof c == "boolean" ? c && o.setAttribute(y, "") : c != null && o.setAttribute(y, c);
598
598
  }
599
- for (const y in c) {
600
- const l = c[y];
599
+ for (const y in l) {
600
+ const c = l[y];
601
601
  if (typeof y != "string" || /\[object Object\]/.test(y)) {
602
- typeof window < "u" && window.console && console.warn("Skipping invalid prop key:", y, l);
602
+ typeof window < "u" && window.console && console.warn("Skipping invalid prop key:", y, c);
603
603
  continue;
604
604
  }
605
- if (y === "value" && (n instanceof HTMLInputElement || n instanceof HTMLTextAreaElement || n instanceof HTMLSelectElement))
606
- n.value = l ?? "";
607
- else if (y === "checked" && n instanceof HTMLInputElement)
608
- n.checked = !!l;
609
- else if (y.startsWith("on") && typeof l == "function")
610
- n.addEventListener(Ae(y), l);
605
+ if (y === "value" && (o instanceof HTMLInputElement || o instanceof HTMLTextAreaElement || o instanceof HTMLSelectElement))
606
+ o.value = c ?? "";
607
+ else if (y === "checked" && o instanceof HTMLInputElement)
608
+ o.checked = !!c;
609
+ else if (y.startsWith("on") && typeof c == "function")
610
+ o.addEventListener(Ae(y), c);
611
611
  else {
612
- if (y.startsWith("on") && l === void 0)
612
+ if (y.startsWith("on") && c === void 0)
613
613
  continue;
614
- l == null || l === !1 ? n.removeAttribute(y) : n.setAttribute(y, String(l));
614
+ c == null || c === !1 ? o.removeAttribute(y) : o.setAttribute(y, String(c));
615
615
  }
616
616
  }
617
- for (const [y, l] of Object.entries(
617
+ for (const [y, c] of Object.entries(
618
618
  a.listeners || {}
619
619
  ))
620
- n.addEventListener(y, l);
620
+ o.addEventListener(y, c);
621
621
  const p = e.props?.ref ?? (e.props?.props && e.props.props.ref);
622
- if (typeof e != "string" && p && r && (r[p] = n), Array.isArray(e.children))
622
+ if (typeof e != "string" && p && r && (r[p] = o), Array.isArray(e.children))
623
623
  for (const y of e.children)
624
- n.appendChild(P(y, t, r));
625
- else typeof e.children == "string" && (n.textContent = e.children);
626
- return n;
624
+ o.appendChild(P(y, t, r));
625
+ else typeof e.children == "string" && (o.textContent = e.children);
626
+ return o;
627
627
  }
628
- function Ve(e, t, r, n, o) {
628
+ function Ve(e, t, r, o, n) {
629
629
  if (typeof r == "string") {
630
630
  e.textContent !== r && (e.textContent = r);
631
631
  return;
632
632
  }
633
633
  if (!Array.isArray(r)) return;
634
634
  const s = Array.from(e.childNodes), i = Array.isArray(t) ? t : [], a = /* @__PURE__ */ new Map();
635
- for (const w of i)
636
- w && w.key != null && a.set(w.key, w);
637
- const c = /* @__PURE__ */ new Map();
638
- for (const w of s) {
639
- const x = w.key;
640
- x != null && c.set(x, w);
635
+ for (const x of i)
636
+ x && x.key != null && a.set(x.key, x);
637
+ const l = /* @__PURE__ */ new Map();
638
+ for (const x of s) {
639
+ const w = x.key;
640
+ w != null && l.set(w, x);
641
641
  }
642
642
  const f = /* @__PURE__ */ new Set();
643
643
  let p = e.firstChild;
644
- function y(w, x) {
645
- let k = w;
646
- for (; k && (f.add(k), k !== x); )
644
+ function y(x, w) {
645
+ let k = x;
646
+ for (; k && (f.add(k), k !== w); )
647
647
  k = k.nextSibling;
648
648
  }
649
- function l(w, x, k, h) {
649
+ function c(x, w, k, h) {
650
650
  const u = [];
651
- let g = w.nextSibling;
652
- for (; g && g !== x; )
651
+ let g = x.nextSibling;
652
+ for (; g && g !== w; )
653
653
  u.push(g), g = g.nextSibling;
654
654
  const b = Array.isArray(k) ? k : [];
655
655
  if (h.some((v) => v && v.key != null) || b.some((v) => v && v.key != null)) {
@@ -661,19 +661,19 @@ function Ve(e, t, r, n, o) {
661
661
  E != null && m.set(E, C);
662
662
  }
663
663
  const $ = /* @__PURE__ */ new Set();
664
- let _ = w.nextSibling;
664
+ let _ = x.nextSibling;
665
665
  for (const C of h) {
666
666
  let E;
667
667
  if (C.key != null && m.has(C.key)) {
668
668
  const j = v.get(C.key);
669
- E = Y(
669
+ E = X(
670
670
  m.get(C.key),
671
671
  j,
672
672
  C,
673
- n
673
+ o
674
674
  ), $.add(E), E !== _ && e.contains(E) && e.insertBefore(E, _);
675
675
  } else
676
- E = P(C, n), e.insertBefore(E, _), $.add(E);
676
+ E = P(C, o), e.insertBefore(E, _), $.add(E);
677
677
  _ = E.nextSibling;
678
678
  }
679
679
  for (const C of u)
@@ -684,28 +684,28 @@ function Ve(e, t, r, n, o) {
684
684
  h.length
685
685
  );
686
686
  for (let m = 0; m < v; m++) {
687
- const $ = b[m], _ = h[m], C = Y(u[m], $, _, n);
687
+ const $ = b[m], _ = h[m], C = X(u[m], $, _, o);
688
688
  C !== u[m] && (e.insertBefore(C, u[m]), e.removeChild(u[m]));
689
689
  }
690
690
  for (let m = v; m < h.length; m++)
691
- e.insertBefore(P(h[m], n), x);
691
+ e.insertBefore(P(h[m], o), w);
692
692
  for (let m = v; m < u.length; m++)
693
693
  e.removeChild(u[m]);
694
694
  }
695
695
  }
696
- for (const w of r) {
697
- let x;
698
- if (w.tag === "#anchor") {
699
- const k = w.key, h = `${k}:start`, u = `${k}:end`;
700
- let g = c.get(h), b = c.get(u);
701
- const d = Array.isArray(w.children) ? w.children : [];
702
- if (g || (g = document.createTextNode(""), g.key = h), b || (b = document.createTextNode(""), b.key = u), w._startNode = g, w._endNode = b, !e.contains(g) || !e.contains(b)) {
696
+ for (const x of r) {
697
+ let w;
698
+ if (x.tag === "#anchor") {
699
+ const k = x.key, h = `${k}:start`, u = `${k}:end`;
700
+ let g = l.get(h), b = l.get(u);
701
+ const d = Array.isArray(x.children) ? x.children : [];
702
+ if (g || (g = document.createTextNode(""), g.key = h), b || (b = document.createTextNode(""), b.key = u), x._startNode = g, x._endNode = b, !e.contains(g) || !e.contains(b)) {
703
703
  e.insertBefore(g, p);
704
704
  for (const v of d)
705
- e.insertBefore(P(v, n), p);
705
+ e.insertBefore(P(v, o), p);
706
706
  e.insertBefore(b, p);
707
707
  } else
708
- l(
708
+ c(
709
709
  g,
710
710
  b,
711
711
  a.get(k)?.children,
@@ -714,24 +714,24 @@ function Ve(e, t, r, n, o) {
714
714
  y(g, b), p = b.nextSibling;
715
715
  continue;
716
716
  }
717
- if (w.key != null && c.has(w.key)) {
718
- const k = a.get(w.key);
719
- x = Y(
720
- c.get(w.key),
717
+ if (x.key != null && l.has(x.key)) {
718
+ const k = a.get(x.key);
719
+ w = X(
720
+ l.get(x.key),
721
721
  k,
722
- w,
723
- n,
724
- o
725
- ), f.add(x), x !== p && e.contains(x) && (p && !e.contains(p) && (p = null), e.insertBefore(x, p));
722
+ x,
723
+ o,
724
+ n
725
+ ), f.add(w), w !== p && e.contains(w) && (p && !e.contains(p) && (p = null), e.insertBefore(w, p));
726
726
  } else
727
- x = P(w, n, o), p && !e.contains(p) && (p = null), e.insertBefore(x, p), f.add(x);
728
- p = x.nextSibling;
727
+ w = P(x, o, n), p && !e.contains(p) && (p = null), e.insertBefore(w, p), f.add(w);
728
+ p = w.nextSibling;
729
729
  }
730
- for (const w of s)
731
- !f.has(w) && e.contains(w) && (q(w, o), e.removeChild(w));
730
+ for (const x of s)
731
+ !f.has(x) && e.contains(x) && (q(x, n), e.removeChild(x));
732
732
  }
733
- function Y(e, t, r, n, o) {
734
- if (t && typeof t != "string" && t.props?.ref && o && q(e, o), t === r) return e;
733
+ function X(e, t, r, o, n) {
734
+ if (t && typeof t != "string" && t.props?.ref && n && q(e, n), t === r) return e;
735
735
  if (typeof r == "string") {
736
736
  if (e.nodeType === Node.TEXT_NODE)
737
737
  return e.textContent !== r && (e.textContent = r), e;
@@ -741,78 +741,78 @@ function Y(e, t, r, n, o) {
741
741
  }
742
742
  }
743
743
  if (r && typeof r != "string" && r.tag === "#anchor") {
744
- const i = r, a = Array.isArray(i.children) ? i.children : [], c = i._startNode ?? document.createTextNode(""), f = i._endNode ?? document.createTextNode("");
745
- i.key != null && (c.key = `${i.key}:start`, f.key = `${i.key}:end`), i._startNode = c, i._endNode = f;
744
+ const i = r, a = Array.isArray(i.children) ? i.children : [], l = i._startNode ?? document.createTextNode(""), f = i._endNode ?? document.createTextNode("");
745
+ i.key != null && (l.key = `${i.key}:start`, f.key = `${i.key}:end`), i._startNode = l, i._endNode = f;
746
746
  const p = document.createDocumentFragment();
747
- p.appendChild(c);
747
+ p.appendChild(l);
748
748
  for (const y of a) {
749
- const l = P(y, n);
750
- p.appendChild(l);
749
+ const c = P(y, o);
750
+ p.appendChild(c);
751
751
  }
752
- return p.appendChild(f), e.parentNode?.replaceChild(p, e), c;
752
+ return p.appendChild(f), e.parentNode?.replaceChild(p, e), l;
753
753
  }
754
754
  if (!r) {
755
- q(e, o);
755
+ q(e, n);
756
756
  const i = document.createComment("removed");
757
757
  return e.parentNode?.replaceChild(i, e), i;
758
758
  }
759
759
  if (!t || typeof t == "string") {
760
- q(e, o);
761
- const i = P(r, n, o);
762
- return typeof r != "string" && r.props?.ref && o && (o[r.props.ref] = i), e.parentNode?.replaceChild(i, e), i;
760
+ q(e, n);
761
+ const i = P(r, o, n);
762
+ return typeof r != "string" && r.props?.ref && n && (n[r.props.ref] = i), e.parentNode?.replaceChild(i, e), i;
763
763
  }
764
764
  if (r.tag === "#anchor") {
765
- const i = Array.isArray(r.children) ? r.children : [], a = r._startNode ?? document.createTextNode(""), c = r._endNode ?? document.createTextNode("");
766
- r.key != null && (a.key = `${r.key}:start`, c.key = `${r.key}:end`), r._startNode = a, r._endNode = c;
765
+ const i = Array.isArray(r.children) ? r.children : [], a = r._startNode ?? document.createTextNode(""), l = r._endNode ?? document.createTextNode("");
766
+ r.key != null && (a.key = `${r.key}:start`, l.key = `${r.key}:end`), r._startNode = a, r._endNode = l;
767
767
  const f = document.createDocumentFragment();
768
768
  f.appendChild(a);
769
769
  for (const p of i)
770
- f.appendChild(P(p, n));
771
- return f.appendChild(c), e.parentNode?.replaceChild(f, e), a;
770
+ f.appendChild(P(p, o));
771
+ return f.appendChild(l), e.parentNode?.replaceChild(f, e), a;
772
772
  }
773
773
  if (typeof t != "string" && typeof r != "string" && t.tag === r.tag && t.key === r.key) {
774
774
  const i = e;
775
- return Ue(i, t.props || {}, r.props || {}, n), Ve(i, t.children, r.children, n, o), typeof r != "string" && r.props?.ref && o && (o[r.props.ref] = i), i;
775
+ return Ke(i, t.props || {}, r.props || {}, o), Ve(i, t.children, r.children, o, n), typeof r != "string" && r.props?.ref && n && (n[r.props.ref] = i), i;
776
776
  }
777
- q(e, o);
778
- const s = P(r, n, o);
779
- return typeof r != "string" && r.props?.ref && o && (o[r.props.ref] = s), e.parentNode?.replaceChild(s, e), s;
777
+ q(e, n);
778
+ const s = P(r, o, n);
779
+ return typeof r != "string" && r.props?.ref && n && (n[r.props.ref] = s), e.parentNode?.replaceChild(s, e), s;
780
780
  }
781
- function Je(e, t, r, n) {
782
- let o;
783
- Array.isArray(t) ? t.length === 1 ? (o = t[0], o && typeof o == "object" && o.key == null && (o = { ...o, key: "__root__" })) : o = { tag: "div", key: "__root__", children: t } : (o = t, o && typeof o == "object" && o.key == null && (o = { ...o, key: "__root__" })), o && typeof o == "object" && o.tag === "#anchor" && (o = {
781
+ function Je(e, t, r, o) {
782
+ let n;
783
+ Array.isArray(t) ? t.length === 1 ? (n = t[0], n && typeof n == "object" && n.key == null && (n = { ...n, key: "__root__" })) : n = { tag: "div", key: "__root__", children: t } : (n = t, n && typeof n == "object" && n.key == null && (n = { ...n, key: "__root__" })), n && typeof n == "object" && n.tag === "#anchor" && (n = {
784
784
  tag: "div",
785
785
  key: "__anchor_root__",
786
786
  props: { attrs: { "data-anchor-block-root": "", key: "__anchor_root__" } },
787
- children: [o]
788
- }), o = ge(o, String(o.key ?? "root"));
787
+ children: [n]
788
+ }), n = ge(n, String(n.key ?? "root"));
789
789
  const s = e._prevVNode ?? null, i = e._prevDom ?? e.firstChild ?? null;
790
790
  let a;
791
- s && i ? typeof s != "string" && typeof o != "string" && s.tag === o.tag && s.key === o.key ? a = Y(i, s, o, r, n) : (a = P(o, r, n), e.replaceChild(a, i)) : (a = P(o, r, n), e.firstChild ? e.replaceChild(a, e.firstChild) : e.appendChild(a));
792
- const c = [];
791
+ s && i ? typeof s != "string" && typeof n != "string" && s.tag === n.tag && s.key === n.key ? a = X(i, s, n, r, o) : (a = P(n, r, o), e.replaceChild(a, i)) : (a = P(n, r, o), e.firstChild ? e.replaceChild(a, e.firstChild) : e.appendChild(a));
792
+ const l = [];
793
793
  for (let f = 0; f < e.childNodes.length; f++) {
794
794
  const p = e.childNodes[f];
795
- p !== a && p.nodeName !== "STYLE" && (q(p, n), c.push(p));
795
+ p !== a && p.nodeName !== "STYLE" && (q(p, o), l.push(p));
796
796
  }
797
- c.forEach((f) => e.removeChild(f)), e._prevVNode = o, e._prevDom = a;
797
+ l.forEach((f) => e.removeChild(f)), e._prevVNode = n, e._prevDom = a;
798
798
  }
799
799
  function je(e, ...t) {
800
800
  let r = "";
801
- for (let n = 0; n < e.length; n++)
802
- r += e[n], n < t.length && (r += t[n]);
801
+ for (let o = 0; o < e.length; o++)
802
+ r += e[o], o < t.length && (r += t[o]);
803
803
  return r;
804
804
  }
805
805
  function Le(e) {
806
806
  return e.replace(/\/\*[\s\S]*?\*\//g, "").replace(/\s+/g, " ").replace(/\s*([{}:;,>+~])\s*/g, "$1").replace(/;}/g, "}").trim();
807
807
  }
808
- let Q = null;
808
+ let Y = null;
809
809
  function ke() {
810
- return Q || (Q = new CSSStyleSheet(), Q.replaceSync(Le(Qe))), Q;
810
+ return Y || (Y = new CSSStyleSheet(), Y.replaceSync(Le(Ye))), Y;
811
811
  }
812
812
  function Ze(e) {
813
813
  return e.replace(/url\s*\(\s*['"]?javascript:[^)]*\)/gi, "").replace(/<script[\s\S]*?>[\s\S]*?<\/script>/gi, "").replace(/expression\s*\([^)]*\)/gi, "");
814
814
  }
815
- const Qe = je`
815
+ const Ye = je`
816
816
  :host, *, ::before, ::after {
817
817
  all: isolate;
818
818
  box-sizing: border-box;
@@ -870,7 +870,7 @@ const Qe = je`
870
870
  sup { top: -.5em }
871
871
  [disabled], [aria-disabled=true] { cursor: not-allowed }
872
872
  [hidden] { display: none }
873
- `, Xe = {
873
+ `, Qe = {
874
874
  gray: {
875
875
  50: "var(--color-gray-50, #f9fafb)",
876
876
  100: "var(--color-gray-100, #f3f4f6)",
@@ -1004,7 +1004,9 @@ const Qe = je`
1004
1004
  900: "var(--color-rose-900, #881337)"
1005
1005
  },
1006
1006
  white: { DEFAULT: "var(--color-white, #ffffff)" },
1007
- black: { DEFAULT: "var(--color-black, #000000)" }
1007
+ black: { DEFAULT: "var(--color-black, #000000)" },
1008
+ transparent: { DEFAULT: "var(--color-transparent, transparent)" },
1009
+ current: { DEFAULT: "var(--color-current, currentColor)" }
1008
1010
  }, se = {
1009
1011
  /* Display */
1010
1012
  block: "display:block;",
@@ -1109,12 +1111,6 @@ const Qe = je`
1109
1111
  "rounded-md": "border-radius:0.375rem;",
1110
1112
  "rounded-lg": "border-radius:0.5rem;",
1111
1113
  "rounded-full": "border-radius:9999px;",
1112
- /* Ring (box-shadow for focus) */
1113
- "ring-0": "box-shadow:none;",
1114
- "ring-1": "box-shadow:0 0 0 1px rgba(59,130,246,0.5);",
1115
- "ring-2": "box-shadow:0 0 0 2px rgba(59,130,246,0.5);",
1116
- "ring-4": "box-shadow:0 0 0 4px rgba(59,130,246,0.5);",
1117
- "ring-8": "box-shadow:0 0 0 8px rgba(59,130,246,0.5);",
1118
1114
  /* Shadow and effects */
1119
1115
  "shadow-none": "box-shadow:0 0 #0000;",
1120
1116
  "shadow-xs": "box-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);",
@@ -1123,8 +1119,6 @@ const Qe = je`
1123
1119
  "shadow-lg": "box-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);",
1124
1120
  "shadow-xl": "box-shadow:0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);",
1125
1121
  "shadow-2xl": "box-shadow:0 25px 50px -12px rgb(0 0 0 / 0.25);",
1126
- /* Transitions */
1127
- transition: "transition-property:all;transition-duration:150ms;transition-timing-function:cubic-bezier(0.4,0,0.2,1);",
1128
1122
  /* Text Overflow & Whitespace */
1129
1123
  truncate: "overflow:hidden;text-overflow:ellipsis;white-space:nowrap;",
1130
1124
  /* Visibility */
@@ -1175,10 +1169,14 @@ const Qe = je`
1175
1169
  "line-clamp-2": "display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;",
1176
1170
  "line-clamp-3": "display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;",
1177
1171
  "line-clamp-4": "display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;",
1178
- /* Transition Delay/Property */
1172
+ /* Transitions */
1173
+ transition: "transition-property:all;transition-duration:150ms;transition-timing-function:ease-in-out;",
1174
+ "transition-all": "transition-property:all;",
1179
1175
  "transition-colors": "transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;",
1176
+ "transition-shadow": "transition-property:box-shadow;",
1180
1177
  "transition-opacity": "transition-property:opacity;",
1181
1178
  "transition-transform": "transition-property:transform;",
1179
+ "transition-none": "transition-property:none;",
1182
1180
  /* Z-index */
1183
1181
  "z-0": "z-index:0;",
1184
1182
  "z-10": "z-index:10;",
@@ -1186,7 +1184,7 @@ const Qe = je`
1186
1184
  "z-30": "z-index:30;",
1187
1185
  "z-40": "z-index:40;",
1188
1186
  "z-50": "z-index:50;"
1189
- }, Ye = "0.25rem", $e = {
1187
+ }, Xe = "0.25rem", $e = {
1190
1188
  m: ["margin"],
1191
1189
  mx: ["margin-inline"],
1192
1190
  my: ["margin-block"],
@@ -1218,34 +1216,34 @@ const Qe = je`
1218
1216
  "gap-x": ["column-gap"],
1219
1217
  "gap-y": ["row-gap"]
1220
1218
  };
1221
- function R(e, t) {
1222
- let r = 0, n = 0;
1223
- for (let o = 0; o < e.length; o++) {
1224
- const s = e[o];
1219
+ function B(e, t) {
1220
+ let r = 0, o = 0;
1221
+ for (let n = 0; n < e.length; n++) {
1222
+ const s = e[n];
1225
1223
  if (s === "[") r++;
1226
1224
  else if (s === "]" && r > 0) r--;
1227
- else if (s === "(") n++;
1228
- else if (s === ")" && n > 0) n--;
1229
- else if (r === 0 && n === 0 && (s === ">" || s === "+" || s === "~" || s === " "))
1230
- return e.slice(0, o) + t + e.slice(o);
1225
+ else if (s === "(") o++;
1226
+ else if (s === ")" && o > 0) o--;
1227
+ else if (r === 0 && o === 0 && (s === ">" || s === "+" || s === "~" || s === " "))
1228
+ return e.slice(0, n) + t + e.slice(n);
1231
1229
  }
1232
1230
  return e + t;
1233
1231
  }
1234
1232
  const Ge = {
1235
1233
  before: (e, t) => `${e}::before{${t}}`,
1236
1234
  after: (e, t) => `${e}::after{${t}}`,
1237
- hover: (e, t) => `${R(e, ":hover")}{${t}}`,
1238
- focus: (e, t) => `${R(e, ":focus")}{${t}}`,
1239
- active: (e, t) => `${R(e, ":active")}{${t}}`,
1240
- disabled: (e, t) => `${R(e, ":disabled")}{${t}}`,
1241
- visited: (e, t) => `${R(e, ":visited")}{${t}}`,
1242
- checked: (e, t) => `${R(e, ":checked")}{${t}}`,
1243
- first: (e, t) => `${R(e, ":first-child")}{${t}}`,
1244
- last: (e, t) => `${R(e, ":last-child")}{${t}}`,
1245
- odd: (e, t) => `${R(e, ":nth-child(odd)")}{${t}}`,
1246
- even: (e, t) => `${R(e, ":nth-child(even)")}{${t}}`,
1247
- "focus-within": (e, t) => `${R(e, ":focus-within")}{${t}}`,
1248
- "focus-visible": (e, t) => `${R(e, ":focus-visible")}{${t}}`,
1235
+ hover: (e, t) => `${B(e, ":hover")}{${t}}`,
1236
+ focus: (e, t) => `${B(e, ":focus")}{${t}}`,
1237
+ active: (e, t) => `${B(e, ":active")}{${t}}`,
1238
+ disabled: (e, t) => `${B(e, ":disabled")}{${t}}`,
1239
+ visited: (e, t) => `${B(e, ":visited")}{${t}}`,
1240
+ checked: (e, t) => `${B(e, ":checked")}{${t}}`,
1241
+ first: (e, t) => `${B(e, ":first-child")}{${t}}`,
1242
+ last: (e, t) => `${B(e, ":last-child")}{${t}}`,
1243
+ odd: (e, t) => `${B(e, ":nth-child(odd)")}{${t}}`,
1244
+ even: (e, t) => `${B(e, ":nth-child(even)")}{${t}}`,
1245
+ "focus-within": (e, t) => `${B(e, ":focus-within")}{${t}}`,
1246
+ "focus-visible": (e, t) => `${B(e, ":focus-visible")}{${t}}`,
1249
1247
  "group-hover": (e, t) => `.group:hover ${e}{${t}}`,
1250
1248
  "group-focus": (e, t) => `.group:focus ${e}{${t}}`,
1251
1249
  "group-active": (e, t) => `.group:active ${e}{${t}}`,
@@ -1263,23 +1261,23 @@ const Ge = {
1263
1261
  "2xl": "(min-width:1536px)",
1264
1262
  // Dark mode (now plain string)
1265
1263
  dark: "(prefers-color-scheme: dark)"
1266
- }, le = ["sm", "md", "lg", "xl", "2xl"];
1267
- function ce(e) {
1268
- const t = e.startsWith("-"), n = (t ? e.slice(1) : e).split("-");
1269
- if (n.length < 2) return null;
1270
- const o = n.slice(0, -1).join("-"), s = n[n.length - 1], i = parseFloat(s);
1271
- if (Number.isNaN(i) || !$e[o]) return null;
1264
+ }, ce = ["sm", "md", "lg", "xl", "2xl"];
1265
+ function le(e) {
1266
+ const t = e.startsWith("-"), o = (t ? e.slice(1) : e).split("-");
1267
+ if (o.length < 2) return null;
1268
+ const n = o.slice(0, -1).join("-"), s = o[o.length - 1], i = parseFloat(s);
1269
+ if (Number.isNaN(i) || !$e[n]) return null;
1272
1270
  const a = t ? "-" : "";
1273
- return $e[o].map((c) => `${c}:calc(${a}${Ye} * ${i});`).join("");
1271
+ return $e[n].map((l) => `${l}:calc(${a}${Xe} * ${i});`).join("");
1274
1272
  }
1275
1273
  function Se(e) {
1276
- const t = e.replace("#", ""), r = parseInt(t, 16), n = r >> 16 & 255, o = r >> 8 & 255, s = r & 255;
1277
- return `${n} ${o} ${s}`;
1274
+ const t = e.replace("#", ""), r = parseInt(t, 16), o = r >> 16 & 255, n = r >> 8 & 255, s = r & 255;
1275
+ return `${o} ${n} ${s}`;
1278
1276
  }
1279
1277
  function et(e) {
1280
1278
  const t = /^(bg|text|border|decoration|shadow|outline|caret|accent|fill|stroke)-([a-z]+)-?(\d{2,3}|DEFAULT)?$/.exec(e);
1281
1279
  if (!t) return null;
1282
- const [, r, n, o = "DEFAULT"] = t, s = Xe[n]?.[o];
1280
+ const [, r, o, n = "DEFAULT"] = t, s = Qe[o]?.[n];
1283
1281
  return s ? `${{
1284
1282
  bg: "background-color",
1285
1283
  decoration: "text-decoration-color",
@@ -1297,30 +1295,30 @@ function et(e) {
1297
1295
  function tt(e) {
1298
1296
  const [t, r] = e.split("/");
1299
1297
  if (!r) return { base: t };
1300
- const n = parseInt(r, 10);
1301
- return isNaN(n) || n < 0 || n > 100 ? { base: t } : { base: t, opacity: n / 100 };
1298
+ const o = parseInt(r, 10);
1299
+ return isNaN(o) || o < 0 || o > 100 ? { base: t } : { base: t, opacity: o / 100 };
1302
1300
  }
1303
1301
  function fe(e) {
1304
- const { base: t, opacity: r } = tt(e), n = et(t);
1305
- if (n) {
1302
+ const { base: t, opacity: r } = tt(e), o = et(t);
1303
+ if (o) {
1306
1304
  if (r !== void 0) {
1307
- const s = /#([0-9a-f]{6})/i.exec(n);
1305
+ const s = /#([0-9a-f]{6})/i.exec(o);
1308
1306
  if (s) {
1309
1307
  const i = Se(s[0]);
1310
- return n.replace(/#([0-9a-f]{6})/i, `rgb(${i} / ${r})`);
1308
+ return o.replace(/#([0-9a-f]{6})/i, `rgb(${i} / ${r})`);
1311
1309
  }
1312
1310
  }
1313
- return n;
1311
+ return o;
1314
1312
  }
1315
- const o = G(t);
1316
- if (o && r !== void 0) {
1317
- const s = /#([0-9a-f]{6})/i.exec(o);
1313
+ const n = G(t);
1314
+ if (n && r !== void 0) {
1315
+ const s = /#([0-9a-f]{6})/i.exec(n);
1318
1316
  if (s) {
1319
1317
  const i = Se(s[0]);
1320
- return o.replace(/#([0-9a-f]{6})/i, `rgb(${i} / ${r})`);
1318
+ return n.replace(/#([0-9a-f]{6})/i, `rgb(${i} / ${r})`);
1321
1319
  }
1322
1320
  }
1323
- return o;
1321
+ return n;
1324
1322
  }
1325
1323
  function ue(e) {
1326
1324
  const t = /^opacity-(\d{1,3})$/.exec(e);
@@ -1330,22 +1328,23 @@ function ue(e) {
1330
1328
  }
1331
1329
  function G(e) {
1332
1330
  if (e.startsWith("[") && e.endsWith("]") && !e.includes("-[")) {
1333
- const o = e.slice(1, -1).trim().match(/^([a-zA-Z][a-zA-Z0-9-]*)\s*:(.*)$/);
1334
- if (o) {
1335
- const s = o[1].trim();
1336
- let i = o[2].trim();
1331
+ const n = e.slice(1, -1).trim().match(/^([a-zA-Z][a-zA-Z0-9-]*)\s*:(.*)$/);
1332
+ if (n) {
1333
+ const s = n[1].trim();
1334
+ let i = n[2].trim();
1337
1335
  return i = i.replace(/url\('\s*([^']*?)\s*'\)/g, 'url("$1")'), i = i.replace(/^'([^']*)'$/g, '"$1"'), `${s}:${i};`;
1338
1336
  }
1339
1337
  return null;
1340
1338
  }
1341
1339
  const t = e.indexOf("-["), r = e.endsWith("]");
1342
1340
  if (t > 0 && r) {
1343
- const n = e.slice(0, t);
1344
- let o = e.slice(t + 2, -1);
1345
- o = o.replace(/_/g, " ");
1341
+ const o = e.slice(0, t);
1342
+ let n = e.slice(t + 2, -1);
1343
+ n = n.replace(/_/g, " ");
1346
1344
  const s = {
1347
1345
  bg: "background-color",
1348
1346
  text: "color",
1347
+ shadow: "box-shadow",
1349
1348
  p: "padding",
1350
1349
  px: "padding-inline",
1351
1350
  py: "padding-block",
@@ -1364,7 +1363,9 @@ function G(e) {
1364
1363
  "border-r": "border-right",
1365
1364
  "border-x": "border-inline",
1366
1365
  "border-y": "border-block",
1367
- shadow: "box-shadow",
1366
+ transition: "transition-property",
1367
+ ease: "transition-timing-function",
1368
+ delay: "transition-delay",
1368
1369
  duration: "transition-duration",
1369
1370
  list: "list-style",
1370
1371
  break: "word-break",
@@ -1378,15 +1379,14 @@ function G(e) {
1378
1379
  basis: "flex-basis",
1379
1380
  tracking: "letter-spacing",
1380
1381
  scroll: "scroll-behavior",
1381
- delay: "transition-delay",
1382
1382
  weight: "font-weight",
1383
1383
  leading: "line-height",
1384
1384
  z: "z-index"
1385
1385
  };
1386
- if (n === "rotate")
1387
- return `transform:rotate(${o});`;
1388
- const i = s[n] ?? n.replace(/_/g, "-");
1389
- if (i && o) return `${i}:${o};`;
1386
+ if (o === "rotate")
1387
+ return `transform:rotate(${n});`;
1388
+ const i = s[o] ?? o.replace(/_/g, "-");
1389
+ if (i && n) return `${i}:${n};`;
1390
1390
  }
1391
1391
  return null;
1392
1392
  }
@@ -1407,10 +1407,10 @@ function nt(e) {
1407
1407
  }
1408
1408
  function ot(e) {
1409
1409
  const t = /class\s*=\s*(['"])(.*?)\1/g, r = [];
1410
- let n;
1411
- for (; n = t.exec(e); ) {
1412
- const o = n[2].split(/\s+/).filter(Boolean);
1413
- o.length && r.push(...o);
1410
+ let o;
1411
+ for (; o = t.exec(e); ) {
1412
+ const n = o[2].split(/\s+/).filter(Boolean);
1413
+ n.length && r.push(...n);
1414
1414
  }
1415
1415
  return r.filter(Boolean);
1416
1416
  }
@@ -1418,18 +1418,18 @@ const _e = /* @__PURE__ */ new Map(), it = 16;
1418
1418
  function st(e) {
1419
1419
  const t = Date.now(), r = _e.get(e);
1420
1420
  if (r && t - r.timestamp < it) return r.css;
1421
- const n = ot(e), o = new Set(n), s = [], i = [], a = [], c = [], f = {};
1421
+ const o = ot(e), n = new Set(o), s = [], i = [], a = [], l = [], f = {};
1422
1422
  function p(h, u = !1) {
1423
1423
  const g = (u ? "dark|" : "") + h;
1424
1424
  if (g in f) return f[g];
1425
- const b = x(h, u);
1425
+ const b = w(h, u);
1426
1426
  return f[g] = b, b;
1427
1427
  }
1428
1428
  function y(h) {
1429
- const u = h.some((b) => le.includes(b)), g = h.includes("dark");
1429
+ const u = h.some((b) => ce.includes(b)), g = h.includes("dark");
1430
1430
  return h.length === 0 ? 1 : !u && !g ? 2 : u && !g ? 3 : 4;
1431
1431
  }
1432
- function l(h) {
1432
+ function c(h) {
1433
1433
  const u = [];
1434
1434
  let g = "", b = 0, d = 0;
1435
1435
  for (let v = 0; v < h.length; v++) {
@@ -1438,7 +1438,7 @@ function st(e) {
1438
1438
  }
1439
1439
  return g && u.push(g), u;
1440
1440
  }
1441
- function w(h) {
1441
+ function x(h) {
1442
1442
  switch (h) {
1443
1443
  case "hover":
1444
1444
  return ":hover";
@@ -1468,12 +1468,13 @@ function st(e) {
1468
1468
  return null;
1469
1469
  }
1470
1470
  }
1471
- function x(h, u = !1) {
1472
- const g = l(h);
1471
+ function w(h, u = !1) {
1472
+ const g = c(h);
1473
1473
  (h.includes("mask-image") || h.includes("sm: hover") || h.includes("sm:hover") || h.includes("mask.svg")) && console.error("DEBUG generateRule:", h, g);
1474
- let b = !1, d = g.find((S) => (S.startsWith("!") && (b = !0, S = S.slice(1)), se[S] || ce(S) || ue(S) || fe(S) || G(S)));
1474
+ let b = !1;
1475
+ const d = g.find((S) => (S.startsWith("!") && (b = !0, S = S.slice(1)), se[S] || le(S) || ue(S) || fe(S) || G(S)));
1475
1476
  if (!d) return null;
1476
- const v = d.replace(/^!/, ""), m = se[v] ?? ce(v) ?? ue(v) ?? fe(v) ?? G(v);
1477
+ const v = d.replace(/^!/, ""), m = se[v] ?? le(v) ?? ue(v) ?? fe(v) ?? G(v);
1477
1478
  if (!m) return null;
1478
1479
  const $ = g.indexOf(d);
1479
1480
  let _ = $ >= 0 ? g.slice(0, $) : [];
@@ -1487,156 +1488,180 @@ function st(e) {
1487
1488
  const ne = [], be = [];
1488
1489
  let W = null;
1489
1490
  for (const S of _) {
1490
- if (S === "dark" || le.includes(S)) continue;
1491
+ if (S === "dark" || ce.includes(S)) continue;
1491
1492
  const M = rt(S);
1492
1493
  if (M) {
1493
1494
  W = M;
1494
1495
  continue;
1495
1496
  }
1496
- const L = w(S);
1497
+ const L = x(S);
1497
1498
  if (L) {
1498
1499
  W ? be.push(L) : ne.push(L);
1499
1500
  continue;
1500
1501
  }
1501
- const B = Ge[S];
1502
- typeof B == "function" && (A = B(A, j).split("{")[0]);
1502
+ const R = Ge[S];
1503
+ typeof R == "function" && (A = R(A, j).split("{")[0]);
1503
1504
  }
1504
1505
  function ze(S, M) {
1505
1506
  if (!M) return S;
1506
- let L = 0, B = 0;
1507
+ let L = 0, R = 0;
1507
1508
  if (S.length && (S[0] === ">" || S[0] === "+" || S[0] === "~" || S[0] === " ")) {
1508
1509
  let T = 1;
1509
1510
  for (; T < S.length && S[T] === " "; ) T++;
1510
1511
  for (; T < S.length; T++) {
1511
1512
  const z = S[T];
1512
- if (z === "[" ? L++ : z === "]" && L > 0 ? L-- : z === "(" ? B++ : z === ")" && B > 0 && B--, L === 0 && B === 0 && (S[T] === ">" || S[T] === "+" || S[T] === "~" || S[T] === " "))
1513
+ if (z === "[" ? L++ : z === "]" && L > 0 ? L-- : z === "(" ? R++ : z === ")" && R > 0 && R--, L === 0 && R === 0 && (S[T] === ">" || S[T] === "+" || S[T] === "~" || S[T] === " "))
1513
1514
  return S.slice(0, T) + M + S.slice(T);
1514
1515
  }
1515
1516
  return S + M;
1516
1517
  }
1517
1518
  for (let T = 0; T < S.length; T++) {
1518
1519
  const z = S[T];
1519
- if (z === "[" ? L++ : z === "]" && L > 0 ? L-- : z === "(" ? B++ : z === ")" && B > 0 && B--, L === 0 && B === 0 && (z === ">" || z === "+" || z === "~" || z === " "))
1520
+ if (z === "[" ? L++ : z === "]" && L > 0 ? L-- : z === "(" ? R++ : z === ")" && R > 0 && R--, L === 0 && R === 0 && (z === ">" || z === "+" || z === "~" || z === " "))
1520
1521
  return S.slice(0, T) + M + S.slice(T);
1521
1522
  }
1522
1523
  return S + M;
1523
1524
  }
1524
- const oe = ne.join(""), U = be.join("");
1525
+ const oe = ne.join(""), K = be.join("");
1525
1526
  if (W)
1526
1527
  if (W.includes("&")) {
1527
- const S = W.indexOf("&"), M = W.slice(0, S), L = W.slice(S + 1), B = E + oe, T = A;
1528
+ const S = W.indexOf("&"), M = W.slice(0, S), L = W.slice(S + 1), R = E + oe, T = A;
1528
1529
  if (ne.length === 0)
1529
- A = T.replace(E, M + B + U + L);
1530
+ A = T.replace(E, M + R + K + L);
1530
1531
  else {
1531
- const z = ze(L, U);
1532
- A = T.replace(E, M + B + z);
1532
+ const z = ze(L, K);
1533
+ A = T.replace(E, M + R + z);
1533
1534
  }
1534
1535
  } else
1535
- A = A.replace(E, `${W}${E + oe}`), U && (A = A.replace(E, `${E}${U}`));
1536
+ A = A.replace(E, `${W}${E + oe}`), K && (A = A.replace(E, `${E}${K}`));
1536
1537
  else
1537
- A = E + oe + U;
1538
+ A = E + oe + K;
1538
1539
  A = A.replace(new RegExp(E, "g"), C);
1539
1540
  let O = `${A}{${j}}`;
1540
- const ie = _.filter((S) => le.includes(S)), H = ie.length ? ie[ie.length - 1] : null, ve = _.includes("dark");
1541
+ const ie = _.filter((S) => ce.includes(S)), H = ie.length ? ie[ie.length - 1] : null, ve = _.includes("dark");
1541
1542
  return u && H ? O = `@media (prefers-color-scheme: dark) and ${ae[H]}{${O}}` : u ? O = `@media (prefers-color-scheme: dark){${O}}` : ve && H ? O = `@media (prefers-color-scheme: dark) and ${ae[H]}{${O}}` : ve ? O = `@media (prefers-color-scheme: dark){${O}}` : H && (O = `@media ${ae[H]}{${O}}`), O;
1542
1543
  }
1543
- for (const h of o) {
1544
- const u = l(h), g = u.find(
1545
- (m) => se[m] || ce(m) || ue(m) || fe(m) || G(m)
1544
+ for (const h of n) {
1545
+ const u = c(h), g = u.find(
1546
+ (m) => se[m] || le(m) || ue(m) || fe(m) || G(m)
1546
1547
  );
1547
1548
  if (!g) continue;
1548
1549
  const b = u.indexOf(g), d = b >= 0 ? u.slice(0, b) : [], v = y(d);
1549
1550
  if (v === 4) {
1550
1551
  const m = p(h, !0);
1551
- m && c.push(m);
1552
+ m && l.push(m);
1552
1553
  } else {
1553
1554
  const m = p(h);
1554
1555
  m && (v === 1 ? s.push(m) : v === 2 ? i.push(m) : v === 3 && a.push(m));
1555
1556
  }
1556
1557
  }
1557
- const k = [...s, ...i, ...a, ...c].join("");
1558
+ const k = [...s, ...i, ...a, ...l].join("");
1558
1559
  return _e.set(e, { css: k, timestamp: t }), k;
1559
1560
  }
1560
1561
  const J = [];
1561
- function at(e, t, r, n, o, s, i, a) {
1562
+ function at(e, t, r, o, n, s, i, a) {
1562
1563
  if (e) {
1563
1564
  J.push(r);
1564
1565
  try {
1565
1566
  if (t.loadingTemplate && r.isLoading) {
1566
- F(e, t.loadingTemplate(r), r, n, o);
1567
+ F(e, t.loadingTemplate(r), r, o, n);
1567
1568
  return;
1568
1569
  }
1569
1570
  if (t.errorTemplate && r.hasError) {
1570
- r.error instanceof Error && F(e, t.errorTemplate(r.error, r), r, n, o);
1571
+ r.error instanceof Error && F(e, t.errorTemplate(r.error, r), r, o, n);
1571
1572
  return;
1572
1573
  }
1573
- const c = t.render(r);
1574
- if (c instanceof Promise) {
1575
- s(!0), c.then((f) => {
1576
- s(!1), i(null), F(e, f, r, n, o), a(e.innerHTML);
1574
+ const l = t.render(r);
1575
+ if (l instanceof Promise) {
1576
+ s(!0), l.then((f) => {
1577
+ s(!1), i(null), F(e, f, r, o, n), a(e.innerHTML);
1577
1578
  }).catch((f) => {
1578
- s(!1), i(f), t.errorTemplate && F(e, t.errorTemplate(f, r), r, n, o);
1579
- }), t.loadingTemplate && F(e, t.loadingTemplate(r), r, n, o);
1579
+ s(!1), i(f), t.errorTemplate && F(e, t.errorTemplate(f, r), r, o, n);
1580
+ }), t.loadingTemplate && F(e, t.loadingTemplate(r), r, o, n);
1580
1581
  return;
1581
1582
  }
1582
- F(e, c, r, n, o), a(e.innerHTML);
1583
+ F(e, l, r, o, n), a(e.innerHTML);
1583
1584
  } finally {
1584
1585
  J.pop();
1585
1586
  }
1586
1587
  }
1587
1588
  }
1588
- function F(e, t, r, n, o) {
1589
+ function F(e, t, r, o, n) {
1589
1590
  e && (Je(
1590
1591
  e,
1591
1592
  Array.isArray(t) ? t : [t],
1592
1593
  r,
1593
- n
1594
- ), o(e.innerHTML));
1594
+ o
1595
+ ), n(e.innerHTML));
1595
1596
  }
1596
- function lt(e, t, r, n, o, s, i) {
1597
+ function ct(e, t, r, o, n, s, i) {
1597
1598
  if (s !== null && clearTimeout(s), Date.now() - t < 16) {
1598
- if (o(r + 1), r > 10) {
1599
+ if (n(r + 1), r > 10) {
1599
1600
  console.warn("Potential infinite render loop detected. Skipping render."), i(null);
1600
1601
  return;
1601
1602
  }
1602
1603
  } else
1603
- o(0);
1604
- const c = setTimeout(() => {
1605
- n(Date.now()), e(), i(null);
1604
+ n(0);
1605
+ const l = setTimeout(() => {
1606
+ o(Date.now()), e(), i(null);
1606
1607
  }, 0);
1607
- i(c);
1608
+ i(l);
1608
1609
  }
1609
- function ct(e, t, r, n, o, s) {
1610
+ function lt(e, t, r, o, n, s) {
1610
1611
  if (!e) return;
1611
- const i = st(n);
1612
+ const i = st(o);
1612
1613
  if (!t.style && (!i || i.trim() === "")) {
1613
1614
  s(null), e.adoptedStyleSheets = [ke()];
1614
1615
  return;
1615
1616
  }
1616
1617
  let a = "";
1617
1618
  t.style && (typeof t.style == "string" ? a = t.style : typeof t.style == "function" && (a = t.style(r)));
1618
- let c = Ze(`${a}
1619
+ let l = Ze(`${a}
1619
1620
  ${i}
1620
1621
  `);
1621
- c = Le(c);
1622
- let f = o;
1623
- f || (f = new CSSStyleSheet()), (f.cssRules.length === 0 || f.toString() !== c) && f.replaceSync(c), e.adoptedStyleSheets = [ke(), f], s(f);
1622
+ l = Le(l);
1623
+ let f = n;
1624
+ f || (f = new CSSStyleSheet()), (f.cssRules.length === 0 || f.toString() !== l) && f.replaceSync(l), e.adoptedStyleSheets = [ke(), f], s(f);
1624
1625
  }
1625
1626
  const ye = /* @__PURE__ */ new Map();
1626
1627
  function Ce(e, t, r) {
1627
- let n = me(e);
1628
- n.includes("-") || (n = `cer-${n}`);
1629
- let o;
1630
- if (typeof t == "function" ? o = { ...r, render: t } : o = t, typeof o.onError != "function" && (o.onError = (s, i) => {
1631
- console.error(`[${n}] Error:`, s, i);
1632
- }), ye.set(n, o), typeof window < "u")
1633
- if (!customElements.get(n))
1634
- customElements.define(n, ft(n, o));
1628
+ let o = me(e);
1629
+ o.includes("-") || (o = `cer-${o}`);
1630
+ let n;
1631
+ typeof t == "function" ? n = { ...r, render: t } : n = t, typeof n.onError != "function" && (n.onError = (s, i) => {
1632
+ console.error(`[${o}] Error:`, s, i);
1633
+ });
1634
+ try {
1635
+ const s = /* @__PURE__ */ new Set([
1636
+ "refs",
1637
+ "requestRender",
1638
+ "error",
1639
+ "hasError",
1640
+ "isLoading",
1641
+ "emit"
1642
+ ]), i = [];
1643
+ if (n.state && typeof n.state == "object" && Object.keys(n.state).forEach((a) => {
1644
+ s.has(a) && i.push(a);
1645
+ }), n.props && typeof n.props == "object" && Object.keys(n.props).forEach((a) => {
1646
+ s.has(a) && i.push(a);
1647
+ }), n.computed && typeof n.computed == "object" && Object.keys(n.computed).forEach((a) => {
1648
+ s.has(a) && i.push(a);
1649
+ }), i.length > 0) {
1650
+ const a = Array.from(new Set(i));
1651
+ console.warn(
1652
+ `[${o}] Reserved runtime context keys used in component config: ${a.join(", ")}. These names are provided by the runtime (for example: refs, error, emit). Rename your state/prop/computed keys (e.g. 'error' -> 'errorMessage') to avoid collisions and TypeScript type conflicts.`
1653
+ );
1654
+ }
1655
+ } catch {
1656
+ }
1657
+ if (ye.set(o, n), typeof window < "u")
1658
+ if (!customElements.get(o))
1659
+ customElements.define(o, ft(o, n));
1635
1660
  else
1636
1661
  try {
1637
- document.querySelectorAll(n).forEach((s) => {
1662
+ document.querySelectorAll(o).forEach((s) => {
1638
1663
  try {
1639
- typeof s._cfg < "u" && (s._cfg = o), typeof s._render == "function" && s._render(o);
1664
+ typeof s._cfg < "u" && (s._cfg = n), typeof s._render == "function" && s._render(n);
1640
1665
  } catch {
1641
1666
  }
1642
1667
  });
@@ -1700,8 +1725,8 @@ function ft(e, t) {
1700
1725
  enumerable: !1,
1701
1726
  configurable: !1
1702
1727
  }), this.context = r, this._applyProps(t), Object.defineProperty(this.context, "emit", {
1703
- value: (o, s, i) => {
1704
- const a = new CustomEvent(o, {
1728
+ value: (n, s, i) => {
1729
+ const a = new CustomEvent(n, {
1705
1730
  detail: s,
1706
1731
  bubbles: !0,
1707
1732
  composed: !0,
@@ -1713,11 +1738,11 @@ function ft(e, t) {
1713
1738
  enumerable: !1,
1714
1739
  configurable: !1
1715
1740
  });
1716
- const n = ye.get(e) || t;
1717
- Object.keys(n).forEach((o) => {
1718
- const s = n[o];
1719
- typeof s == "function" && (this.context[o] = (...i) => s(...i, this.context));
1720
- }), this._applyComputed(n), this._initializing = !1, this._initWatchers(n), this._render(n);
1741
+ const o = ye.get(e) || t;
1742
+ Object.keys(o).forEach((n) => {
1743
+ const s = o[n];
1744
+ typeof s == "function" && (this.context[n] = (...i) => s(...i, this.context));
1745
+ }), this._applyComputed(o), this._initializing = !1, this._initWatchers(o), this._render(o);
1721
1746
  }
1722
1747
  connectedCallback() {
1723
1748
  this._runLogicWithinErrorBoundary(t, () => {
@@ -1755,13 +1780,13 @@ function ft(e, t) {
1755
1780
  );
1756
1781
  });
1757
1782
  }
1758
- attributeChangedCallback(r, n, o) {
1783
+ attributeChangedCallback(r, o, n) {
1759
1784
  this._runLogicWithinErrorBoundary(t, () => {
1760
1785
  this._applyProps(t), De(
1761
1786
  t,
1762
1787
  r,
1763
- n,
1764
1788
  o,
1789
+ n,
1765
1790
  this.context
1766
1791
  );
1767
1792
  });
@@ -1771,10 +1796,10 @@ function ft(e, t) {
1771
1796
  }
1772
1797
  _applyComputed(r) {
1773
1798
  this._runLogicWithinErrorBoundary(t, () => {
1774
- r.computed && Object.entries(r.computed).forEach(([n, o]) => {
1775
- Object.defineProperty(this.context, n, {
1799
+ r.computed && Object.entries(r.computed).forEach(([o, n]) => {
1800
+ Object.defineProperty(this.context, o, {
1776
1801
  get: () => {
1777
- const s = o(this.context);
1802
+ const s = n(this.context);
1778
1803
  return pe(s);
1779
1804
  },
1780
1805
  enumerable: !0
@@ -1790,16 +1815,16 @@ function ft(e, t) {
1790
1815
  r,
1791
1816
  this.context,
1792
1817
  this._refs,
1793
- (n) => {
1794
- this._lastHtmlStringForJitCSS = n, typeof this.onHtmlStringUpdate == "function" && this.onHtmlStringUpdate(n);
1818
+ (o) => {
1819
+ this._lastHtmlStringForJitCSS = o, typeof this.onHtmlStringUpdate == "function" && this.onHtmlStringUpdate(o);
1795
1820
  },
1796
- (n) => {
1797
- this._templateLoading = n, typeof this.onLoadingStateChange == "function" && this.onLoadingStateChange(n);
1821
+ (o) => {
1822
+ this._templateLoading = o, typeof this.onLoadingStateChange == "function" && this.onLoadingStateChange(o);
1798
1823
  },
1799
- (n) => {
1800
- this._templateError = n, typeof this.onErrorStateChange == "function" && this.onErrorStateChange(n);
1824
+ (o) => {
1825
+ this._templateError = o, typeof this.onErrorStateChange == "function" && this.onErrorStateChange(o);
1801
1826
  },
1802
- (n) => this._applyStyle(r, n)
1827
+ (o) => this._applyStyle(r, o)
1803
1828
  );
1804
1829
  });
1805
1830
  }
@@ -1808,7 +1833,7 @@ function ft(e, t) {
1808
1833
  }
1809
1834
  _requestRender() {
1810
1835
  this._runLogicWithinErrorBoundary(this._cfg, () => {
1811
- lt(
1836
+ ct(
1812
1837
  () => this._render(this._cfg),
1813
1838
  this._lastRenderTime,
1814
1839
  this._renderCount,
@@ -1826,28 +1851,28 @@ function ft(e, t) {
1826
1851
  });
1827
1852
  }
1828
1853
  // --- Style ---
1829
- _applyStyle(r, n) {
1854
+ _applyStyle(r, o) {
1830
1855
  this._runLogicWithinErrorBoundary(r, () => {
1831
- ct(
1856
+ lt(
1832
1857
  this.shadowRoot,
1833
1858
  r,
1834
1859
  this.context,
1835
- n,
1860
+ o,
1836
1861
  this._styleSheet,
1837
- (o) => {
1838
- this._styleSheet = o;
1862
+ (n) => {
1863
+ this._styleSheet = n;
1839
1864
  }
1840
1865
  );
1841
1866
  });
1842
1867
  }
1843
1868
  // --- Error Boundary function ---
1844
- _runLogicWithinErrorBoundary(r, n) {
1869
+ _runLogicWithinErrorBoundary(r, o) {
1845
1870
  this._hasError && (this._hasError = !1);
1846
1871
  try {
1847
- n();
1848
- } catch (o) {
1849
- this._hasError = !0, r.onError && r.onError(o, this.context), r.errorFallback && this.shadowRoot && (this.shadowRoot.innerHTML = r.errorFallback(
1850
- o,
1872
+ o();
1873
+ } catch (n) {
1874
+ this._hasError = !0, r.onError && r.onError(n, this.context), r.errorFallback && this.shadowRoot && (this.shadowRoot.innerHTML = r.errorFallback(
1875
+ n,
1851
1876
  this.context
1852
1877
  ));
1853
1878
  }
@@ -1855,11 +1880,11 @@ function ft(e, t) {
1855
1880
  // --- State, props, computed ---
1856
1881
  _initContext(r) {
1857
1882
  try {
1858
- let n = function(s, i = "") {
1883
+ let o = function(s, i = "") {
1859
1884
  return Array.isArray(s) ? new Proxy(s, {
1860
- get(a, c, f) {
1861
- const p = Reflect.get(a, c, f);
1862
- return typeof p == "function" && typeof c == "string" && [
1885
+ get(a, l, f) {
1886
+ const p = Reflect.get(a, l, f);
1887
+ return typeof p == "function" && typeof l == "string" && [
1863
1888
  "push",
1864
1889
  "pop",
1865
1890
  "shift",
@@ -1867,47 +1892,47 @@ function ft(e, t) {
1867
1892
  "splice",
1868
1893
  "sort",
1869
1894
  "reverse"
1870
- ].includes(c) ? function(...l) {
1871
- const w = p.apply(a, l);
1872
- if (!o._initializing) {
1873
- const x = i || "root";
1874
- o._triggerWatchers(x, a), o._render(r);
1895
+ ].includes(l) ? function(...c) {
1896
+ const x = p.apply(a, c);
1897
+ if (!n._initializing) {
1898
+ const w = i || "root";
1899
+ n._triggerWatchers(w, a), n._render(r);
1875
1900
  }
1876
- return w;
1901
+ return x;
1877
1902
  } : p;
1878
1903
  },
1879
- set(a, c, f) {
1880
- if (a[c] = f, !o._initializing) {
1881
- const p = i ? `${i}.${String(c)}` : String(c);
1882
- o._triggerWatchers(p, f), o._render(r);
1904
+ set(a, l, f) {
1905
+ if (a[l] = f, !n._initializing) {
1906
+ const p = i ? `${i}.${String(l)}` : String(l);
1907
+ n._triggerWatchers(p, f), n._render(r);
1883
1908
  }
1884
1909
  return !0;
1885
1910
  },
1886
- deleteProperty(a, c) {
1887
- if (delete a[c], !o._initializing) {
1888
- const f = i ? `${i}.${String(c)}` : String(c);
1889
- o._triggerWatchers(f, void 0), o._render(r);
1911
+ deleteProperty(a, l) {
1912
+ if (delete a[l], !n._initializing) {
1913
+ const f = i ? `${i}.${String(l)}` : String(l);
1914
+ n._triggerWatchers(f, void 0), n._render(r);
1890
1915
  }
1891
1916
  return !0;
1892
1917
  }
1893
1918
  }) : s && typeof s == "object" ? (Object.keys(s).forEach((a) => {
1894
- const c = i ? `${i}.${a}` : a;
1895
- s[a] = n(s[a], c);
1919
+ const l = i ? `${i}.${a}` : a;
1920
+ s[a] = o(s[a], l);
1896
1921
  }), new Proxy(s, {
1897
- set(a, c, f) {
1898
- const p = i ? `${i}.${String(c)}` : String(c);
1899
- return a[c] = n(f, p), o._initializing || (o._triggerWatchers(
1922
+ set(a, l, f) {
1923
+ const p = i ? `${i}.${String(l)}` : String(l);
1924
+ return a[l] = o(f, p), n._initializing || (n._triggerWatchers(
1900
1925
  p,
1901
- a[c]
1902
- ), o._render(r)), !0;
1926
+ a[l]
1927
+ ), n._render(r)), !0;
1903
1928
  },
1904
- get(a, c, f) {
1905
- return Reflect.get(a, c, f);
1929
+ get(a, l, f) {
1930
+ return Reflect.get(a, l, f);
1906
1931
  }
1907
1932
  })) : s;
1908
1933
  };
1909
- const o = this;
1910
- return n({ ...r.state });
1934
+ const n = this;
1935
+ return o({ ...r.state });
1911
1936
  } catch {
1912
1937
  return {};
1913
1938
  }
@@ -1921,84 +1946,84 @@ function ft(e, t) {
1921
1946
  );
1922
1947
  });
1923
1948
  }
1924
- _triggerWatchers(r, n) {
1925
- Oe(this.context, this._watchers, r, n);
1949
+ _triggerWatchers(r, o) {
1950
+ Oe(this.context, this._watchers, r, o);
1926
1951
  }
1927
1952
  _applyProps(r) {
1928
1953
  this._runLogicWithinErrorBoundary(r, () => {
1929
1954
  try {
1930
1955
  Me(this, r, this.context);
1931
- } catch (n) {
1932
- this._hasError = !0, r.onError && r.onError(n, this.context), r.errorFallback && this.shadowRoot && (this.shadowRoot.innerHTML = r.errorFallback(n, this.context));
1956
+ } catch (o) {
1957
+ this._hasError = !0, r.onError && r.onError(o, this.context), r.errorFallback && this.shadowRoot && (this.shadowRoot.innerHTML = r.errorFallback(o, this.context));
1933
1958
  }
1934
1959
  });
1935
1960
  }
1936
1961
  };
1937
1962
  }
1938
- function V(e, t = {}, r, n) {
1939
- const o = n ?? t.key;
1940
- return { tag: e, key: o, props: t, children: r };
1963
+ function V(e, t = {}, r, o) {
1964
+ const n = o ?? t.key;
1965
+ return { tag: e, key: n, props: t, children: r };
1941
1966
  }
1942
1967
  function ee(e) {
1943
1968
  return !!e && typeof e == "object" && (e.type === "AnchorBlock" || e.tag === "#anchor");
1944
1969
  }
1945
- function X(e) {
1970
+ function Q(e) {
1946
1971
  return typeof e == "object" && e !== null && "tag" in e && !ee(e);
1947
1972
  }
1948
1973
  function ut(e, t) {
1949
1974
  return e.key != null ? e : { ...e, key: t };
1950
1975
  }
1951
1976
  function dt(e, t = [], r = {}) {
1952
- const n = {}, o = {}, s = {}, i = /([:@#]?)([a-zA-Z0-9-:\.]+)=("([^"\\]*(\\.[^"\\]*)*)"|'([^'\\]*(\\.[^'\\]*)*)')/g;
1977
+ const o = {}, n = {}, s = {}, i = /([:@#]?)([a-zA-Z0-9-:\.]+)=("([^"\\]*(\\.[^"\\]*)*)"|'([^'\\]*(\\.[^'\\]*)*)')/g;
1953
1978
  let a;
1954
1979
  for (; a = i.exec(e); ) {
1955
- const c = a[1], f = a[2], p = (a[4] || a[6]) ?? "", y = p.match(/^{{(\d+)}}$/);
1956
- let l = y ? t[Number(y[1])] ?? null : p;
1957
- y || (l === "true" ? l = !0 : l === "false" ? l = !1 : l === "null" ? l = null : isNaN(Number(l)) || (l = Number(l)));
1958
- const w = ["model", "bind", "show", "class", "style"];
1959
- if (c === ":") {
1960
- const [x, ...k] = f.split(".");
1961
- if (w.includes(x)) {
1980
+ const l = a[1], f = a[2], p = (a[4] || a[6]) ?? "", y = p.match(/^{{(\d+)}}$/);
1981
+ let c = y ? t[Number(y[1])] ?? null : p;
1982
+ y || (c === "true" ? c = !0 : c === "false" ? c = !1 : c === "null" ? c = null : isNaN(Number(c)) || (c = Number(c)));
1983
+ const x = ["model", "bind", "show", "class", "style"];
1984
+ if (l === ":") {
1985
+ const [w, ...k] = f.split(".");
1986
+ if (x.includes(w)) {
1962
1987
  const h = [...k];
1963
- s[x] = {
1964
- value: l,
1988
+ s[w] = {
1989
+ value: c,
1965
1990
  modifiers: h
1966
1991
  };
1967
1992
  } else
1968
- o[f] = l;
1969
- } else if (c === "@") {
1970
- const x = "on" + f.charAt(0).toUpperCase() + f.slice(1);
1971
- n[x] = typeof l == "function" ? l : typeof r[l] == "function" ? r[l] : void 0;
1972
- } else f === "ref" ? n.ref = l : o[f] = l;
1993
+ n[f] = c;
1994
+ } else if (l === "@") {
1995
+ const w = "on" + f.charAt(0).toUpperCase() + f.slice(1);
1996
+ o[w] = typeof c == "function" ? c : typeof r[c] == "function" ? r[c] : void 0;
1997
+ } else f === "ref" ? o.ref = c : n[f] = c;
1973
1998
  }
1974
- return { props: n, attrs: o, directives: s };
1999
+ return { props: o, attrs: n, directives: s };
1975
2000
  }
1976
2001
  function pt(e, t, r) {
1977
- const n = J.length > 0 ? J[J.length - 1] : void 0, o = r ?? n;
2002
+ const o = J.length > 0 ? J[J.length - 1] : void 0, n = r ?? o;
1978
2003
  function s(d, v) {
1979
2004
  return V("#text", {}, d, v);
1980
2005
  }
1981
2006
  let i = "";
1982
2007
  for (let d = 0; d < e.length; d++)
1983
2008
  i += e[d], d < t.length && (i += `{{${d}}}`);
1984
- const a = /<\/?([a-zA-Z0-9-]+)((?:\s+[^\s=>/]+(?:\s*=\s*(?:"(?:\\.|[^"])*"|'(?:\\.|[^'])*'|[^\s>]+))?)*)\s*\/?>|{{(\d+)}}|([^<]+)/g, c = [];
1985
- let f, p = [], y = null, l = {}, w, x = 0, k = [];
2009
+ const a = /<\/?([a-zA-Z0-9-]+)((?:\s+[^\s=>/]+(?:\s*=\s*(?:"(?:\\.|[^"])*"|'(?:\\.|[^'])*'|[^\s>]+))?)*)\s*\/?>|{{(\d+)}}|([^<]+)/g, l = [];
2010
+ let f, p = [], y = null, c = {}, x, w = 0, k = [];
1986
2011
  function h(d) {
1987
- !d || typeof d != "object" || ee(d) || (d.props || d.attrs ? (d.props && (l.props || (l.props = {}), Object.assign(l.props, d.props)), d.attrs && (l.attrs || (l.attrs = {}), Object.keys(d.attrs).forEach((v) => {
1988
- if (v === "style" && l.attrs.style) {
1989
- const m = l.attrs.style.replace(
2012
+ !d || typeof d != "object" || ee(d) || (d.props || d.attrs ? (d.props && (c.props || (c.props = {}), Object.assign(c.props, d.props)), d.attrs && (c.attrs || (c.attrs = {}), Object.keys(d.attrs).forEach((v) => {
2013
+ if (v === "style" && c.attrs.style) {
2014
+ const m = c.attrs.style.replace(
1990
2015
  /;?\s*$/,
1991
2016
  ""
1992
2017
  ), $ = d.attrs.style.replace(/^;?\s*/, "");
1993
- l.attrs.style = m + "; " + $;
1994
- } else if (v === "class" && l.attrs.class) {
1995
- const m = l.attrs.class.trim().split(/\s+/).filter(Boolean), $ = d.attrs.class.trim().split(/\s+/).filter(Boolean), _ = [
2018
+ c.attrs.style = m + "; " + $;
2019
+ } else if (v === "class" && c.attrs.class) {
2020
+ const m = c.attrs.class.trim().split(/\s+/).filter(Boolean), $ = d.attrs.class.trim().split(/\s+/).filter(Boolean), _ = [
1996
2021
  .../* @__PURE__ */ new Set([...m, ...$])
1997
2022
  ];
1998
- l.attrs.class = _.join(" ");
2023
+ c.attrs.class = _.join(" ");
1999
2024
  } else
2000
- l.attrs[v] = d.attrs[v];
2001
- }))) : (l.props || (l.props = {}), Object.assign(l.props, d)));
2025
+ c.attrs[v] = d.attrs[v];
2026
+ }))) : (c.props || (c.props = {}), Object.assign(c.props, d)));
2002
2027
  }
2003
2028
  function u(d, v) {
2004
2029
  const m = y ? p : k;
@@ -2012,7 +2037,7 @@ function pt(e, t, r) {
2012
2037
  });
2013
2038
  return;
2014
2039
  }
2015
- if (X(d)) {
2040
+ if (Q(d)) {
2016
2041
  m.push(ut(d, void 0));
2017
2042
  return;
2018
2043
  }
@@ -2020,7 +2045,7 @@ function pt(e, t, r) {
2020
2045
  if (d.length === 0) return;
2021
2046
  for (let $ = 0; $ < d.length; $++) {
2022
2047
  const _ = d[$];
2023
- ee(_) || X(_) || Array.isArray(_) ? u(_, `${v}-${$}`) : _ !== null && typeof _ == "object" ? h(_) : m.push(s(String(_), `${v}-${$}`));
2048
+ ee(_) || Q(_) || Array.isArray(_) ? u(_, `${v}-${$}`) : _ !== null && typeof _ == "object" ? h(_) : m.push(s(String(_), `${v}-${$}`));
2024
2049
  }
2025
2050
  return;
2026
2051
  }
@@ -2052,23 +2077,23 @@ function pt(e, t, r) {
2052
2077
  props: $,
2053
2078
  attrs: _,
2054
2079
  directives: C
2055
- } = dt(f[2] || "", t, o), E = { props: {}, attrs: {} };
2080
+ } = dt(f[2] || "", t, n), E = { props: {}, attrs: {} };
2056
2081
  for (const j in $) E.props[j] = $[j];
2057
2082
  for (const j in _) E.attrs[j] = _[j];
2058
2083
  if (Object.keys(C).length > 0 && (E.directives = { ...C }), v) {
2059
2084
  const j = V(
2060
2085
  y,
2061
- l,
2062
- p.length === 1 && X(p[0]) && p[0].tag === "#text" ? typeof p[0].children == "string" ? p[0].children : "" : p.length ? p : void 0,
2063
- w
2064
- ), A = c.pop();
2065
- A ? (y = A.tag, l = A.props, w = A.key, p = A.children, p.push(j)) : (k.push(j), y = null, l = {}, w = void 0, p = []);
2066
- } else m ? y ? p.push(V(d, E, void 0, void 0)) : k.push(V(d, E, void 0, void 0)) : (y && c.push({
2086
+ c,
2087
+ p.length === 1 && Q(p[0]) && p[0].tag === "#text" ? typeof p[0].children == "string" ? p[0].children : "" : p.length ? p : void 0,
2088
+ x
2089
+ ), A = l.pop();
2090
+ A ? (y = A.tag, c = A.props, x = A.key, p = A.children, p.push(j)) : (k.push(j), y = null, c = {}, x = void 0, p = []);
2091
+ } else m ? y ? p.push(V(d, E, void 0, void 0)) : k.push(V(d, E, void 0, void 0)) : (y && l.push({
2067
2092
  tag: y,
2068
- props: l,
2093
+ props: c,
2069
2094
  children: p,
2070
- key: w
2071
- }), y = d, l = E, p = []);
2095
+ key: x
2096
+ }), y = d, c = E, p = []);
2072
2097
  } else if (typeof f[3] < "u") {
2073
2098
  const d = Number(f[3]), v = t[d], m = `interp-${d}`;
2074
2099
  u(v, m);
@@ -2081,25 +2106,25 @@ function pt(e, t, r) {
2081
2106
  const C = Number(_[1]), E = t[C], j = `interp-${C}`;
2082
2107
  u(E, j);
2083
2108
  } else {
2084
- const C = `text-${x++}`;
2109
+ const C = `text-${w++}`;
2085
2110
  v.push(s($, C));
2086
2111
  }
2087
2112
  }
2088
2113
  }
2089
- const b = k.filter((d) => X(d) && d.tag === "#text" ? typeof d.children == "string" && d.children.trim() !== "" : !0);
2114
+ const b = k.filter((d) => Q(d) && d.tag === "#text" ? typeof d.children == "string" && d.children.trim() !== "" : !0);
2090
2115
  return b.length === 1 ? b[0] : b.length > 1 ? b : V("div", {}, "", "fallback-root");
2091
2116
  }
2092
2117
  function D(e, ...t) {
2093
- const r = t[t.length - 1], n = typeof r == "object" && r && !Array.isArray(r) ? r : void 0;
2094
- return pt(e, t, n);
2118
+ const r = t[t.length - 1], o = typeof r == "object" && r && !Array.isArray(r) ? r : void 0;
2119
+ return pt(e, t, o);
2095
2120
  }
2096
2121
  const Ee = (e) => e ? typeof URLSearchParams > "u" ? {} : Object.fromEntries(new URLSearchParams(e)) : {}, N = (e, t) => {
2097
2122
  for (const r of e) {
2098
- const n = [], o = r.path.replace(/:[^/]+/g, (a) => (n.push(a.slice(1)), "([^/]+)")), s = new RegExp(`^${o}$`), i = t.match(s);
2123
+ const o = [], n = r.path.replace(/:[^/]+/g, (a) => (o.push(a.slice(1)), "([^/]+)")), s = new RegExp(`^${n}$`), i = t.match(s);
2099
2124
  if (i) {
2100
2125
  const a = {};
2101
- return n.forEach((c, f) => {
2102
- a[c] = i[f + 1];
2126
+ return o.forEach((l, f) => {
2127
+ a[l] = i[f + 1];
2103
2128
  }), { route: r, params: a };
2104
2129
  }
2105
2130
  }
@@ -2119,29 +2144,29 @@ async function ht(e) {
2119
2144
  throw new Error(`No component or loader defined for route: ${e.path}`);
2120
2145
  }
2121
2146
  function gt(e) {
2122
- const { routes: t, base: r = "", initialUrl: n } = e;
2123
- let o, s, i, a, c, f, p;
2147
+ const { routes: t, base: r = "", initialUrl: o } = e;
2148
+ let n, s, i, a, l, f, p;
2124
2149
  const y = async (k, h) => {
2125
2150
  const u = t.find((g) => N([g], k.path).route !== null);
2126
2151
  if (u?.beforeEnter)
2127
2152
  try {
2128
2153
  const g = await u.beforeEnter(k, h);
2129
- return typeof g == "string" ? (await x(g, !0), !1) : g !== !1;
2154
+ return typeof g == "string" ? (await w(g, !0), !1) : g !== !1;
2130
2155
  } catch (g) {
2131
2156
  return console.error("beforeEnter error", g), !1;
2132
2157
  }
2133
2158
  return !0;
2134
- }, l = async (k, h) => {
2159
+ }, c = async (k, h) => {
2135
2160
  const u = t.find((g) => N([g], k.path).route !== null);
2136
2161
  if (u?.onEnter)
2137
2162
  try {
2138
2163
  const g = await u.onEnter(k, h);
2139
- return typeof g == "string" ? (await x(g, !0), !1) : g !== !1;
2164
+ return typeof g == "string" ? (await w(g, !0), !1) : g !== !1;
2140
2165
  } catch (g) {
2141
2166
  return console.error("onEnter error", g), !1;
2142
2167
  }
2143
2168
  return !0;
2144
- }, w = (k, h) => {
2169
+ }, x = (k, h) => {
2145
2170
  const u = t.find((g) => N([g], k.path).route !== null);
2146
2171
  if (u?.afterEnter)
2147
2172
  try {
@@ -2149,7 +2174,7 @@ function gt(e) {
2149
2174
  } catch (g) {
2150
2175
  console.error("afterEnter error", g);
2151
2176
  }
2152
- }, x = async (k, h = !1) => {
2177
+ }, w = async (k, h = !1) => {
2153
2178
  try {
2154
2179
  const u = {
2155
2180
  path: k.replace(r, "") || "/",
@@ -2161,38 +2186,38 @@ function gt(e) {
2161
2186
  params: g.params,
2162
2187
  query: u.query
2163
2188
  };
2164
- if (!await y(d, b) || !await l(d, b)) return;
2165
- typeof window < "u" && typeof document < "u" && (h ? window.history.replaceState({}, "", r + k) : window.history.pushState({}, "", r + k)), i.setState(d), w(d, b);
2189
+ if (!await y(d, b) || !await c(d, b)) return;
2190
+ typeof window < "u" && typeof document < "u" && (h ? window.history.replaceState({}, "", r + k) : window.history.pushState({}, "", r + k)), i.setState(d), x(d, b);
2166
2191
  } catch (u) {
2167
2192
  console.error("Navigation error:", u);
2168
2193
  }
2169
2194
  };
2170
2195
  if (typeof window < "u" && typeof document < "u") {
2171
- o = () => {
2196
+ n = () => {
2172
2197
  const h = new URL(window.location.href), u = h.pathname.replace(r, "") || "/", g = Ee(h.search);
2173
2198
  return { path: u, query: g };
2174
- }, s = o();
2199
+ }, s = n();
2175
2200
  const k = N(t, s.path);
2176
- i = xe({
2201
+ i = we({
2177
2202
  path: s.path,
2178
2203
  params: k.params,
2179
2204
  query: s.query
2180
2205
  }), a = async (h = !1) => {
2181
- const u = o();
2182
- await x(u.path, h);
2183
- }, window.addEventListener("popstate", () => a(!0)), c = (h) => x(h, !1), f = (h) => x(h, !0), p = () => window.history.back();
2206
+ const u = n();
2207
+ await w(u.path, h);
2208
+ }, window.addEventListener("popstate", () => a(!0)), l = (h) => w(h, !1), f = (h) => w(h, !0), p = () => window.history.back();
2184
2209
  } else {
2185
- o = () => {
2186
- const u = new URL(n || "/", "http://localhost"), g = u.pathname.replace(r, "") || "/", b = Ee(u.search);
2210
+ n = () => {
2211
+ const u = new URL(o || "/", "http://localhost"), g = u.pathname.replace(r, "") || "/", b = Ee(u.search);
2187
2212
  return { path: g, query: b };
2188
- }, s = o();
2213
+ }, s = n();
2189
2214
  const k = N(t, s.path);
2190
- i = xe({
2215
+ i = we({
2191
2216
  path: s.path,
2192
2217
  params: k.params,
2193
2218
  query: s.query
2194
2219
  }), a = async () => {
2195
- const u = o();
2220
+ const u = n();
2196
2221
  await h(u.path);
2197
2222
  };
2198
2223
  const h = async (u) => {
@@ -2237,12 +2262,12 @@ function gt(e) {
2237
2262
  } catch {
2238
2263
  }
2239
2264
  };
2240
- c = async (u) => h(u), f = async (u) => h(u), p = () => {
2265
+ l = async (u) => h(u), f = async (u) => h(u), p = () => {
2241
2266
  };
2242
2267
  }
2243
2268
  return {
2244
2269
  store: i,
2245
- push: c,
2270
+ push: l,
2246
2271
  replace: f,
2247
2272
  back: p,
2248
2273
  subscribe: i.subscribe,
@@ -2259,10 +2284,10 @@ function St(e) {
2259
2284
  return Ce("router-view", {
2260
2285
  async render() {
2261
2286
  if (!t) return D`<div>Router not initialized.</div>`;
2262
- const r = t.getCurrent(), { path: n } = r, o = t.matchRoute(n);
2263
- if (!o.route) return D`<div>Not found</div>`;
2287
+ const r = t.getCurrent(), { path: o } = r, n = t.matchRoute(o);
2288
+ if (!n.route) return D`<div>Not found</div>`;
2264
2289
  try {
2265
- const s = await t.resolveRouteComponent(o.route);
2290
+ const s = await t.resolveRouteComponent(n.route);
2266
2291
  if (typeof s == "string")
2267
2292
  return { tag: s, props: {}, children: [] };
2268
2293
  if (typeof s == "function") {
@@ -2301,20 +2326,20 @@ function St(e) {
2301
2326
  },
2302
2327
  style: (r) => r.style,
2303
2328
  render: (r) => {
2304
- const n = t.getCurrent(), o = r.to, s = r.exact, i = r.exactActiveClass, a = r.activeClass, c = r.ariaCurrentValue, f = r.tag, p = r.disabled, y = r.external, l = n.path === o, w = s ? l : n && typeof n.path == "string" ? n.path.startsWith(o) : !1, x = l ? `aria-current="${c}"` : "", k = (r.class || "").split(/\s+/).filter(Boolean), h = {};
2329
+ const o = t.getCurrent(), n = r.to, s = r.exact, i = r.exactActiveClass, a = r.activeClass, l = r.ariaCurrentValue, f = r.tag, p = r.disabled, y = r.external, c = o.path === n, x = s ? c : o && typeof o.path == "string" ? o.path.startsWith(n) : !1, w = c ? `aria-current="${l}"` : "", k = (r.class || "").split(/\s+/).filter(Boolean), h = {};
2305
2330
  for (const v of k) h[v] = !0;
2306
2331
  const u = {
2307
2332
  ...h,
2308
2333
  // Also include the configurable names (may duplicate the above)
2309
- [a]: w,
2310
- [i]: l
2334
+ [a]: x,
2335
+ [i]: c
2311
2336
  }, g = f === "button", b = p ? g ? 'disabled aria-disabled="true" tabindex="-1"' : 'aria-disabled="true" tabindex="-1"' : "", d = y && (f === "a" || !f) ? 'target="_blank" rel="noopener noreferrer"' : "";
2312
2337
  return D`
2313
- ${Be().when(g, D`
2338
+ ${Re().when(g, D`
2314
2339
  <button
2315
2340
  part="button"
2316
2341
  :class="${u}"
2317
- ${x}
2342
+ ${w}
2318
2343
  ${b}
2319
2344
  ${d}
2320
2345
  @click="navigate"
@@ -2322,9 +2347,9 @@ function St(e) {
2322
2347
  `).otherwise(D`
2323
2348
  <a
2324
2349
  part="link"
2325
- href="${o}"
2350
+ href="${n}"
2326
2351
  :class="${u}"
2327
- ${x}
2352
+ ${w}
2328
2353
  ${b}
2329
2354
  ${d}
2330
2355
  @click="navigate"
@@ -2332,19 +2357,19 @@ function St(e) {
2332
2357
  `).done()}
2333
2358
  `;
2334
2359
  },
2335
- navigate: (r, n) => {
2336
- if (n.disabled) {
2360
+ navigate: (r, o) => {
2361
+ if (o.disabled) {
2337
2362
  r.preventDefault();
2338
2363
  return;
2339
2364
  }
2340
- n.external && (n.tag === "a" || !n.tag) || (r.preventDefault(), n.replace ? t.replace(n.to) : t.push(n.to));
2365
+ o.external && (o.tag === "a" || !o.tag) || (r.preventDefault(), o.replace ? t.replace(o.to) : t.push(o.to));
2341
2366
  }
2342
2367
  }), t;
2343
2368
  }
2344
2369
  export {
2345
- K as GlobalEventBus,
2370
+ U as GlobalEventBus,
2346
2371
  Ce as component,
2347
- xe as createStore,
2372
+ we as createStore,
2348
2373
  je as css,
2349
2374
  mt as each,
2350
2375
  bt as emit,
@@ -2352,12 +2377,12 @@ export {
2352
2377
  D as html,
2353
2378
  St as initRouter,
2354
2379
  kt as listen,
2355
- Be as match,
2380
+ Re as match,
2356
2381
  N as matchRoute,
2357
2382
  $t as matchRouteSSR,
2358
- xt as off,
2383
+ wt as off,
2359
2384
  vt as on,
2360
- wt as once,
2385
+ xt as once,
2361
2386
  Ee as parseQuery,
2362
2387
  ht as resolveRouteComponent,
2363
2388
  gt as useRouter,