@manyducks.co/dolla 2.0.0-alpha.42 → 2.0.0-alpha.44

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.
@@ -1,12 +1,12 @@
1
- var $e = Object.defineProperty;
2
- var ue = (t) => {
1
+ var Oe = Object.defineProperty;
2
+ var oe = (t) => {
3
3
  throw TypeError(t);
4
4
  };
5
- var Ie = (t, e, s) => e in t ? $e(t, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : t[e] = s;
6
- var l = (t, e, s) => Ie(t, typeof e != "symbol" ? e + "" : e, s), G = (t, e, s) => e.has(t) || ue("Cannot " + s);
7
- var w = (t, e, s) => (G(t, e, "read from private field"), s ? s.call(t) : e.get(t)), C = (t, e, s) => e.has(t) ? ue("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(t) : e.set(t, s), $ = (t, e, s, n) => (G(t, e, "write to private field"), n ? n.call(t, s) : e.set(t, s), s), ce = (t, e, s) => (G(t, e, "access private method"), s);
5
+ var $e = (t, e, s) => e in t ? Oe(t, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : t[e] = s;
6
+ var l = (t, e, s) => $e(t, typeof e != "symbol" ? e + "" : e, s), F = (t, e, s) => e.has(t) || oe("Cannot " + s);
7
+ var w = (t, e, s) => (F(t, e, "read from private field"), s ? s.call(t) : e.get(t)), L = (t, e, s) => e.has(t) ? oe("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(t) : e.set(t, s), $ = (t, e, s, n) => (F(t, e, "write to private field"), n ? n.call(t, s) : e.set(t, s), s), ue = (t, e, s) => (F(t, e, "access private method"), s);
8
8
  var M = /* @__PURE__ */ ((t) => (t[t.Computed = 1] = "Computed", t[t.Effect = 2] = "Effect", t[t.Tracking = 4] = "Tracking", t[t.Notified = 8] = "Notified", t[t.Recursed = 16] = "Recursed", t[t.Dirty = 32] = "Dirty", t[t.PendingComputed = 64] = "PendingComputed", t[t.PendingEffect = 128] = "PendingEffect", t[t.Propagated = 224] = "Propagated", t))(M || {});
9
- function ve({
9
+ function ye({
10
10
  updateComputed: t,
11
11
  notifyEffect: e
12
12
  }) {
@@ -59,8 +59,8 @@ function ve({
59
59
  }
60
60
  for (; h; ) {
61
61
  --h;
62
- const oe = c.dep.subs;
63
- if (c = oe.prevSub, oe.prevSub = void 0, (r = c.nextSub) !== void 0) {
62
+ const re = c.dep.subs;
63
+ if (c = re.prevSub, re.prevSub = void 0, (r = c.nextSub) !== void 0) {
64
64
  c = r, u = h ? 64 : 32;
65
65
  continue e;
66
66
  }
@@ -263,44 +263,44 @@ function ve({
263
263
  }
264
264
  }
265
265
  var {
266
- link: ct,
267
- propagate: ft,
268
- updateDirtyFlag: je,
269
- startTracking: we,
270
- endTracking: be,
271
- processEffectNotifications: lt,
272
- processComputedUpdate: at,
273
- processPendingInnerEffects: Ne
274
- } = ve({
266
+ link: ft,
267
+ propagate: lt,
268
+ updateDirtyFlag: Ie,
269
+ startTracking: ve,
270
+ endTracking: we,
271
+ processEffectNotifications: at,
272
+ processComputedUpdate: dt,
273
+ processPendingInnerEffects: be
274
+ } = ye({
275
275
  updateComputed(t) {
276
- we(t);
276
+ ve(t);
277
277
  try {
278
278
  const e = t.currentValue, s = t.getter(e);
279
279
  return e !== s ? (t.currentValue = s, !0) : !1;
280
280
  } finally {
281
- be(t);
281
+ we(t);
282
282
  }
283
283
  },
284
284
  notifyEffect(t) {
285
- return "isScope" in t ? _e(t) : qe(t);
285
+ return "isScope" in t ? _e(t) : Ve(t);
286
286
  }
287
287
  });
288
- function Ve(t) {
289
- we(t);
288
+ function je(t) {
289
+ ve(t);
290
290
  try {
291
291
  t.fn();
292
292
  } finally {
293
- be(t);
293
+ we(t);
294
294
  }
295
295
  }
296
- function qe(t) {
296
+ function Ve(t) {
297
297
  const e = t.flags;
298
- return e & 32 || e & 64 && je(t, e) ? Ve(t) : Ne(t, t.flags), !0;
298
+ return e & 32 || e & 64 && Ie(t, e) ? je(t) : be(t, t.flags), !0;
299
299
  }
300
300
  function _e(t) {
301
- return t.flags & 128 ? (Ne(t, t.flags), !0) : !1;
301
+ return t.flags & 128 ? (be(t, t.flags), !0) : !1;
302
302
  }
303
- function D(t) {
303
+ function A(t) {
304
304
  const e = typeof t;
305
305
  switch (e) {
306
306
  case "undefined":
@@ -315,63 +315,63 @@ function D(t) {
315
315
  return e;
316
316
  }
317
317
  }
318
- function q(t) {
318
+ function _(t) {
319
319
  return Array.isArray(t);
320
320
  }
321
321
  function X(t, e) {
322
- return q(e) && e.every((s) => t(s));
322
+ return _(e) && e.every((s) => t(s));
323
323
  }
324
- function dt(t, e, s) {
324
+ function ht(t, e, s) {
325
325
  if (X(t, e))
326
326
  return !0;
327
- throw new TypeError(F(e, s));
327
+ throw new TypeError(G(e, s));
328
328
  }
329
329
  function O(t) {
330
330
  return typeof t == "string";
331
331
  }
332
- function ht(t, e) {
332
+ function pt(t, e) {
333
333
  if (O(t))
334
334
  return !0;
335
- throw new TypeError(F(t, e ?? "Expected a string. Got type: %t, value: %v"));
335
+ throw new TypeError(G(t, e ?? "Expected a string. Got type: %t, value: %v"));
336
336
  }
337
337
  function E(t) {
338
- return D(t) === "function";
338
+ return A(t) === "function";
339
339
  }
340
- function Ue(t) {
340
+ function qe(t) {
341
341
  return typeof t == "number" && !isNaN(t);
342
342
  }
343
- function pt(...t) {
343
+ function mt(...t) {
344
344
  const e = t[0], s = O(t[2]) ? t[2] : `Expected instance of ${e.name}. Got type: %t, value: %v`, n = (i) => {
345
345
  if (i instanceof e)
346
346
  return !0;
347
- throw new TypeError(F(i, s));
347
+ throw new TypeError(G(i, s));
348
348
  };
349
349
  return t.length < 2 ? n : n(t[1]);
350
350
  }
351
351
  function J(t) {
352
- return t != null && typeof t == "object" && !q(t);
352
+ return t != null && typeof t == "object" && !_(t);
353
353
  }
354
- function mt(t, e) {
354
+ function gt(t, e) {
355
355
  if (J(t))
356
356
  return !0;
357
- throw new TypeError(F(t, e));
357
+ throw new TypeError(G(t, e));
358
358
  }
359
- function F(t, e) {
359
+ function G(t, e) {
360
360
  var i;
361
- const s = D(t), n = ((i = t == null ? void 0 : t.toString) == null ? void 0 : i.call(t)) || String(t);
361
+ const s = A(t), n = ((i = t == null ? void 0 : t.toString) == null ? void 0 : i.call(t)) || String(t);
362
362
  return e.replaceAll("%t", s).replaceAll("%v", n);
363
363
  }
364
364
  let T, P = [];
365
365
  const {
366
366
  link: Q,
367
- propagate: ze,
368
- updateDirtyFlag: Re,
367
+ propagate: Ue,
368
+ updateDirtyFlag: ze,
369
369
  startTracking: Y,
370
370
  endTracking: ee,
371
- processEffectNotifications: Be,
372
- processComputedUpdate: Fe,
371
+ processEffectNotifications: Re,
372
+ processComputedUpdate: Be,
373
373
  processPendingInnerEffects: Ge
374
- } = ve({
374
+ } = ye({
375
375
  updateComputed(t) {
376
376
  const e = g;
377
377
  g = t, P.length = 0, Y(t);
@@ -384,17 +384,17 @@ const {
384
384
  },
385
385
  notifyEffect(t) {
386
386
  const e = t.flags;
387
- return e & M.Dirty || e & M.PendingComputed && Re(t, e) ? xe(t) : Ge(t, t.flags), !0;
387
+ return e & M.Dirty || e & M.PendingComputed && ze(t, e) ? Ne(t) : Ge(t, t.flags), !0;
388
388
  }
389
389
  });
390
390
  let g;
391
- const L = [];
391
+ const C = [];
392
392
  let W = !1;
393
- function We() {
393
+ function Fe() {
394
394
  W || (W = !0, queueMicrotask(() => {
395
395
  W = !1;
396
- for (let t = 0; t < L.length; t++) {
397
- const e = L[t], s = g;
396
+ for (let t = 0; t < C.length; t++) {
397
+ const e = C[t], s = g;
398
398
  g = e, P.length = 0, Y(e);
399
399
  try {
400
400
  e.fn();
@@ -402,29 +402,29 @@ function We() {
402
402
  g = s, ee(e), T !== void 0 && (T(P), T = void 0);
403
403
  }
404
404
  }
405
- L.length = 0;
405
+ C.length = 0;
406
406
  }));
407
407
  }
408
- function xe(t) {
409
- L.push(t), We();
408
+ function Ne(t) {
409
+ C.push(t), Fe();
410
410
  }
411
- function Ze() {
411
+ function We() {
412
412
  Y(this), ee(this), queueMicrotask(() => {
413
- L.splice(L.indexOf(this), 1);
413
+ C.splice(C.indexOf(this), 1);
414
414
  });
415
415
  }
416
- const Me = [];
417
- function te() {
418
- Me.push(g), g = void 0;
416
+ const xe = [];
417
+ function Ze() {
418
+ xe.push(g), g = void 0;
419
419
  }
420
- function se() {
421
- g = Me.pop();
420
+ function He() {
421
+ g = xe.pop();
422
422
  }
423
423
  var b, j;
424
- class Ee {
424
+ class Me {
425
425
  constructor(e, s) {
426
- C(this, b);
427
- C(this, j);
426
+ L(this, b);
427
+ L(this, j);
428
428
  l(this, "name");
429
429
  $(this, b, {
430
430
  currentValue: e,
@@ -456,7 +456,7 @@ class Ee {
456
456
  if (!w(this, j).call(this, w(this, b).currentValue, e)) {
457
457
  w(this, b).currentValue = e;
458
458
  const s = w(this, b).subs;
459
- s !== void 0 && (ze(s), Be());
459
+ s !== void 0 && (Ue(s), Re());
460
460
  }
461
461
  }
462
462
  /**
@@ -507,14 +507,14 @@ class Ee {
507
507
  }
508
508
  }
509
509
  b = new WeakMap(), j = new WeakMap();
510
- var A, V, B, Se;
511
- class ke {
510
+ var D, V, B, ke;
511
+ class Ee {
512
512
  constructor(e, s) {
513
- C(this, B);
514
- C(this, A);
515
- C(this, V);
513
+ L(this, B);
514
+ L(this, D);
515
+ L(this, V);
516
516
  l(this, "name");
517
- $(this, V, e), $(this, A, {
517
+ $(this, V, e), $(this, D, {
518
518
  currentValue: void 0,
519
519
  equals: (s == null ? void 0 : s.equals) ?? Object.is,
520
520
  subs: void 0,
@@ -522,15 +522,15 @@ class ke {
522
522
  deps: void 0,
523
523
  depsTail: void 0,
524
524
  flags: M.Computed | M.Dirty,
525
- getter: ce(this, B, Se).bind(this)
525
+ getter: ue(this, B, ke).bind(this)
526
526
  }), s != null && s.name && (this.name = s.name);
527
527
  }
528
528
  get() {
529
- return g !== void 0 && (Q(w(this, A), g), P.push(this)), this.peek();
529
+ return g !== void 0 && (Q(w(this, D), g), P.push(this)), this.peek();
530
530
  }
531
531
  peek() {
532
- const e = w(this, A), s = e.flags;
533
- return s & (M.Dirty | M.PendingComputed) && Fe(e, s), e.currentValue;
532
+ const e = w(this, D), s = e.flags;
533
+ return s & (M.Dirty | M.PendingComputed) && Be(e, s), e.currentValue;
534
534
  }
535
535
  /**
536
536
  * @deprecated use `get()`
@@ -539,34 +539,37 @@ class ke {
539
539
  return this.peek();
540
540
  }
541
541
  }
542
- A = new WeakMap(), V = new WeakMap(), B = new WeakSet(), Se = function(e) {
542
+ D = new WeakMap(), V = new WeakMap(), B = new WeakSet(), ke = function(e) {
543
543
  let s = w(this, V).call(this, e);
544
544
  return y(s) && (s = s.get()), s;
545
545
  };
546
546
  function y(t) {
547
- return t instanceof Ee || t instanceof ke;
547
+ return t instanceof Me || t instanceof Ee;
548
548
  }
549
549
  function K(t, e) {
550
- return new Ee(t, e);
550
+ return new Me(t, e);
551
551
  }
552
- function ne(t, e) {
553
- return new ke(t, e);
552
+ function te(t, e) {
553
+ return new Ee(t, e);
554
554
  }
555
- function He(t, e) {
555
+ function Ke(t, e) {
556
556
  if (E(e))
557
557
  t.update(e);
558
558
  else if (arguments.length > 1)
559
559
  t.set(e);
560
560
  else
561
- return (s) => He(t, s);
561
+ return (s) => Ke(t, s);
562
562
  }
563
563
  function I(t) {
564
564
  return y(t) ? t.get() : t;
565
565
  }
566
- function gt(t) {
566
+ function yt(t) {
567
567
  return y(t) ? t.peek() : t;
568
568
  }
569
- function yt(t) {
569
+ function se(t) {
570
+ Ze(), t(), He();
571
+ }
572
+ function vt(t) {
570
573
  T = t;
571
574
  }
572
575
  function v(t) {
@@ -578,21 +581,21 @@ function v(t) {
578
581
  depsTail: void 0,
579
582
  flags: M.Effect
580
583
  };
581
- return g !== void 0 && Q(e, g), xe(e), Ze.bind(e);
584
+ return g !== void 0 && Q(e, g), Ne(e), We.bind(e);
582
585
  }
583
- const vt = () => {
586
+ const wt = () => {
584
587
  };
585
588
  let Z = 1;
586
- function Te() {
589
+ function Se() {
587
590
  return Z = Z % Number.MAX_SAFE_INTEGER + 1, Z.toString(36) + Date.now().toString(36);
588
591
  }
589
- function wt(t, e) {
592
+ function bt(t, e) {
590
593
  return Object.is(t, e);
591
594
  }
592
- function bt(t, e) {
595
+ function Nt(t, e) {
593
596
  if (Object.is(t, e)) return !0;
594
- const s = D(t);
595
- if (s !== D(e))
597
+ const s = A(t);
598
+ if (s !== A(e))
596
599
  return !1;
597
600
  switch (s) {
598
601
  case "object":
@@ -660,19 +663,19 @@ function H(t, e) {
660
663
  }
661
664
  return t !== t && e !== e;
662
665
  }
663
- function Ke(t, e) {
666
+ function Xe(t, e) {
664
667
  const s = {};
665
668
  for (const n in e)
666
669
  t.includes(n) || (s[n] = e[n]);
667
670
  return s;
668
671
  }
669
- function Nt(t) {
672
+ function xt(t) {
670
673
  let e = 0;
671
674
  for (let s = 0; s < t.length; s++)
672
675
  e = (e + t.charCodeAt(s) * 10) % 360;
673
676
  return `oklch(0.68 0.15 ${e}deg)`;
674
677
  }
675
- function xt(t) {
678
+ function Mt(t) {
676
679
  if (t instanceof RegExp)
677
680
  return (n) => t.test(n);
678
681
  const e = {
@@ -694,11 +697,11 @@ function xt(t) {
694
697
  return !(o.some((f) => f(n)) || i.length > 0 && !i.some((f) => f(n)));
695
698
  };
696
699
  }
697
- const k = Symbol.for("DollaMarkupElement"), Mt = Symbol.for("DollaRouter");
698
- function Et(t, e) {
700
+ const k = Symbol.for("DollaMarkupElement"), Et = Symbol.for("DollaRouter");
701
+ function kt(t, e) {
699
702
  return e.outlet();
700
703
  }
701
- function Xe(t) {
704
+ function Je(t) {
702
705
  for (var e, s, n = arguments, i = 1, o = "", f = "", a = [0], m = function(c) {
703
706
  i === 1 && (c || (o = o.replace(/^\s*\n\s*|\s*\n\s*$/g, ""))) ? a.push(c ? n[c] : o) : i === 3 && (c || o) ? (a[1] = c ? n[c] : o, i = 2) : i === 2 && o === "..." && c ? a[2] = Object.assign(a[2] || {}, n[c]) : i === 2 && o && !c ? (a[2] = a[2] || {})[o] = !0 : i >= 5 && (i === 5 ? ((a[2] = a[2] || {})[s] = c ? o ? o + n[c] : n[c] : o, i = 6) : (c || o) && (a[2][s] += c ? o + n[c] : o)), o = "";
704
707
  }, r = 0; r < t.length; r++) {
@@ -708,11 +711,11 @@ function Xe(t) {
708
711
  }
709
712
  return m(), a.length > 2 ? a.slice(1) : a[1];
710
713
  }
711
- var ae;
712
- ae = k;
713
- class fe {
714
+ var le;
715
+ le = k;
716
+ class ce {
714
717
  constructor(e) {
715
- l(this, ae, !0);
718
+ l(this, le, !0);
716
719
  l(this, "domNode");
717
720
  this.domNode = e;
718
721
  }
@@ -726,11 +729,11 @@ class fe {
726
729
  this.domNode.parentNode && !e && this.domNode.parentNode.removeChild(this.domNode);
727
730
  }
728
731
  }
729
- var de;
730
- de = k;
731
- class Je {
732
+ var ae;
733
+ ae = k;
734
+ class Qe {
732
735
  constructor(e) {
733
- l(this, de, !0);
736
+ l(this, ae, !0);
734
737
  l(this, "domNode", document.createTextNode(""));
735
738
  l(this, "children", []);
736
739
  l(this, "elementContext");
@@ -744,11 +747,13 @@ class Je {
744
747
  mount(e, s) {
745
748
  this.isMounted || (e.insertBefore(this.domNode, (s == null ? void 0 : s.nextSibling) ?? null), this.unsubscribe = v(() => {
746
749
  const n = this.source.get();
747
- if (!Oe(n))
750
+ if (!Pe(n))
748
751
  throw console.error(n), new TypeError(
749
- `Dynamic received invalid value to render. Got type: ${D(n)}, value: ${n}`
752
+ `Dynamic received invalid value to render. Got type: ${A(n)}, value: ${n}`
750
753
  );
751
- te(), this.update(q(n) ? n : [n]), se();
754
+ se(() => {
755
+ this.update(_(n) ? n : [n]);
756
+ });
752
757
  }));
753
758
  }
754
759
  unmount(e = !1) {
@@ -764,7 +769,7 @@ class Je {
764
769
  var o, f, a;
765
770
  if (this.cleanup(!1), e == null || e.length === 0 || !this.isMounted)
766
771
  return;
767
- const s = e.flatMap((m) => De(m) ? m : S(this.elementContext, ie(m)));
772
+ const s = e.flatMap((m) => De(m) ? m : S(this.elementContext, ne(m)));
768
773
  for (const m of s) {
769
774
  const r = ((o = this.children.at(-1)) == null ? void 0 : o.domNode) || this.domNode;
770
775
  m.mount(this.domNode.parentNode, r), this.children.push(m);
@@ -773,12 +778,12 @@ class Je {
773
778
  n.insertBefore(this.domNode, i);
774
779
  }
775
780
  }
776
- const Qe = (t) => /^on[A-Z]/.test(t);
777
- var he;
778
- he = k;
779
- class Ye {
781
+ const Ye = (t) => /^on[A-Z]/.test(t);
782
+ var de;
783
+ de = k;
784
+ class et {
780
785
  constructor({ tag: e, props: s, children: n, elementContext: i }) {
781
- l(this, he, !0);
786
+ l(this, de, !0);
782
787
  l(this, "domNode");
783
788
  l(this, "props");
784
789
  l(this, "childMarkup", []);
@@ -798,7 +803,7 @@ class Ye {
798
803
  else
799
804
  throw new Error("Expected ref to be a function. Got: " + s.ref);
800
805
  this.props = {
801
- ...Ke(["ref", "class", "className"], s),
806
+ ...Xe(["ref", "class", "className"], s),
802
807
  class: s.className ?? s.class
803
808
  }, n && (this.childMarkup = n), this.elementContext = i;
804
809
  }
@@ -833,25 +838,23 @@ class Ye {
833
838
  }
834
839
  }
835
840
  attachProp(e, s) {
836
- y(e) ? this.unsubscribers.push(v(() => s(e.get()))) : s(e);
841
+ y(e) ? this.unsubscribers.push(
842
+ v(() => {
843
+ s(e.get());
844
+ })
845
+ ) : s(e);
837
846
  }
838
847
  applyProps(e, s) {
839
848
  for (const n in s) {
840
849
  const i = s[n];
841
- if (n === "attributes") {
842
- const o = i;
843
- for (const f in o)
844
- this.attachProp(o[f], (a) => {
845
- a == null ? e.removeAttribute(f) : e.setAttribute(f, String(a));
846
- });
847
- } else if (n === "onClickOutside" || n === "onclickoutside") {
850
+ if (n === "on:clickoutside" || n === "onClickOutside" || n === "onclickoutside") {
848
851
  const o = (a) => {
849
852
  this.canClickAway && !e.contains(a.target) && (y(i) ? i.peek()(a) : i(a));
850
853
  }, f = { capture: !0 };
851
854
  window.addEventListener("click", o, f), this.unsubscribers.push(() => {
852
855
  window.removeEventListener("click", o, f);
853
856
  });
854
- } else if (Qe(n)) {
857
+ } else if (Ye(n)) {
855
858
  const o = n.slice(2).toLowerCase(), f = y(i) ? (a) => i.peek()(a) : i;
856
859
  e.addEventListener(o, f), this.unsubscribers.push(() => {
857
860
  e.removeEventListener(o, f);
@@ -860,7 +863,7 @@ class Ye {
860
863
  this.attachProp(i, (o) => {
861
864
  o == null ? e.removeAttribute(n) : e.setAttribute(n, String(o));
862
865
  });
863
- else if (!et.includes(n))
866
+ else if (!tt.includes(n))
864
867
  if (this.elementContext.isSVG)
865
868
  this.attachProp(i, (o) => {
866
869
  o != null ? e.setAttribute(n, String(s[n])) : e.removeAttribute(n);
@@ -883,28 +886,33 @@ class Ye {
883
886
  e.checked = o, o ? e.setAttribute("checked", "") : e.removeAttribute("checked");
884
887
  });
885
888
  break;
886
- // Attribute-aliased props
887
- case "exportParts":
888
- case "part":
889
- case "translate":
890
- case "type":
891
- case "title": {
892
- const o = n.toLowerCase();
893
- this.attachProp(i, (f) => {
894
- f == null ? e.removeAttribute(o) : e.setAttribute(o, String(f));
895
- });
896
- break;
897
- }
898
889
  case "autocomplete":
899
890
  case "autocapitalize":
900
891
  this.attachProp(i, (o) => {
901
- typeof o == "string" ? e.autocomplete = o : o ? e.autocomplete = "on" : e.autocomplete = "off";
892
+ typeof o == "string" ? e[n] = o : o ? e[n] = "on" : e[n] = "off";
902
893
  });
903
894
  break;
904
895
  default: {
905
- this.attachProp(i, (o) => {
906
- e[n] = o;
907
- });
896
+ if (n.startsWith("prop:")) {
897
+ const o = n.substring(5);
898
+ this.attachProp(i, (f) => {
899
+ e[o] = f;
900
+ });
901
+ } else if (n.startsWith("on:")) {
902
+ const o = n.substring(3);
903
+ let f;
904
+ this.attachProp(i, (a) => {
905
+ !a && f ? e.removeEventListener(o, f) : a != null && (f && f !== a && e.removeEventListener(o, f), e.addEventListener(o, a)), f = a;
906
+ });
907
+ } else if (n.startsWith("attr:")) {
908
+ const o = n.substring(5).toLowerCase();
909
+ this.attachProp(i, (f) => {
910
+ f != null ? e.setAttribute(o, String(f)) : e.removeAttribute(o);
911
+ });
912
+ } else
913
+ this.attachProp(i, (o) => {
914
+ e[n] = o;
915
+ });
908
916
  break;
909
917
  }
910
918
  }
@@ -944,7 +952,7 @@ class Ye {
944
952
  });
945
953
  n.push(f), i.push(f);
946
954
  } else {
947
- const o = Ce(s);
955
+ const o = Te(s);
948
956
  for (const f in o) {
949
957
  const a = o[f];
950
958
  if (y(a)) {
@@ -961,14 +969,14 @@ class Ye {
961
969
  };
962
970
  }
963
971
  }
964
- function Ce(t) {
972
+ function Te(t) {
965
973
  let e = {};
966
974
  if (O(t)) {
967
975
  const s = t.split(" ");
968
976
  for (const n of s)
969
977
  e[n] = !0;
970
978
  } else J(t) ? Object.assign(e, t) : Array.isArray(t) && Array.from(t).filter(Boolean).forEach((s) => {
971
- Object.assign(e, Ce(s));
979
+ Object.assign(e, Te(s));
972
980
  });
973
981
  return delete e.undefined, e;
974
982
  }
@@ -980,22 +988,22 @@ function Le(t) {
980
988
  const [i, o] = n.split(":"), f = {
981
989
  value: o
982
990
  };
983
- o.includes("!important") ? (f.priority = "important", f.value = o.replace("!important", "").trim()) : f.value = o.trim(), e[le(i.trim())] = f;
991
+ o.includes("!important") ? (f.priority = "important", f.value = o.replace("!important", "").trim()) : f.value = o.trim(), e[fe(i.trim())] = f;
984
992
  }
985
993
  }
986
994
  if (J(t))
987
995
  for (const s in t)
988
- s.startsWith("--") ? e[s] = { value: t[s] } : e[le(s)] = { value: t[s] };
996
+ s.startsWith("--") ? e[s] = { value: t[s] } : e[fe(s)] = { value: t[s] };
989
997
  else Array.isArray(t) && Array.from(t).filter((s) => s != null).forEach((s) => {
990
998
  Object.assign(e, Le(s));
991
999
  });
992
1000
  return e;
993
1001
  }
994
- function le(t) {
1002
+ function fe(t) {
995
1003
  return t.replace(/[A-Z]+(?![a-z])|[A-Z]/g, (e, s) => (s ? "-" : "") + e.toLowerCase());
996
1004
  }
997
- const et = ["ref", "children", "class", "style", "data"];
998
- let tt = class {
1005
+ const tt = ["ref", "children", "class", "style", "data"];
1006
+ let st = class {
999
1007
  constructor(e) {
1000
1008
  l(this, "store");
1001
1009
  this.store = e;
@@ -1044,7 +1052,7 @@ let tt = class {
1044
1052
  }
1045
1053
  }
1046
1054
  };
1047
- class st {
1055
+ class nt {
1048
1056
  constructor(e, s) {
1049
1057
  l(this, "fn");
1050
1058
  l(this, "_options");
@@ -1056,7 +1064,7 @@ class st {
1056
1064
  l(this, "elementContext");
1057
1065
  l(this, "lifecycleListeners", { mount: [], unmount: [] });
1058
1066
  l(this, "logger");
1059
- l(this, "id", Te());
1067
+ l(this, "id", Se());
1060
1068
  l(this, "name");
1061
1069
  this.fn = e, this.name = e.name, this._options = s;
1062
1070
  }
@@ -1068,7 +1076,7 @@ class st {
1068
1076
  if (e.stores.has(this.fn))
1069
1077
  return !1;
1070
1078
  this.elementContext = e, this.logger = e.root.createLogger(this.name);
1071
- const s = new tt(this);
1079
+ const s = new st(this);
1072
1080
  try {
1073
1081
  this.value = this.fn.call(s, this._options, s);
1074
1082
  } catch (n) {
@@ -1091,7 +1099,7 @@ class st {
1091
1099
  }
1092
1100
  class U extends Error {
1093
1101
  }
1094
- class nt {
1102
+ class it {
1095
1103
  constructor(e) {
1096
1104
  l(this, "view");
1097
1105
  this.view = e;
@@ -1112,7 +1120,7 @@ class nt {
1112
1120
  this.view.elementContext.viewName = e, this.view.logger.setName(e);
1113
1121
  }
1114
1122
  provide(e, s) {
1115
- const n = new st(e, s);
1123
+ const n = new nt(e, s);
1116
1124
  if (n.attach(this.view.elementContext))
1117
1125
  return this.view.lifecycleListeners.mount.push(() => {
1118
1126
  n.handleMount();
@@ -1164,12 +1172,12 @@ class nt {
1164
1172
  return N("$outlet", { children: this.view.children });
1165
1173
  }
1166
1174
  }
1167
- var pe;
1168
- pe = k;
1169
- const re = class re {
1175
+ var he;
1176
+ he = k;
1177
+ const ie = class ie {
1170
1178
  constructor(e, s, n, i = []) {
1171
- l(this, pe, !0);
1172
- l(this, "uniqueId", Te());
1179
+ l(this, he, !0);
1180
+ l(this, "uniqueId", Se());
1173
1181
  l(this, "elementContext");
1174
1182
  l(this, "logger");
1175
1183
  l(this, "props");
@@ -1215,14 +1223,14 @@ const re = class re {
1215
1223
  }
1216
1224
  setChildView(e) {
1217
1225
  this.childMarkup = [];
1218
- const s = new re(this.elementContext, e, {});
1226
+ const s = new ie(this.elementContext, e, {});
1219
1227
  return this.children.set([s]), s;
1220
1228
  }
1221
1229
  /*===============================*\
1222
1230
  || Internal ||
1223
1231
  \*===============================*/
1224
1232
  _initialize() {
1225
- const e = new nt(this);
1233
+ const e = new it(this);
1226
1234
  let s;
1227
1235
  try {
1228
1236
  s = this.fn.call(e, this.props, e), this.childMarkup.length && this.children.set(S(this.elementContext, this.childMarkup));
@@ -1230,27 +1238,27 @@ const re = class re {
1230
1238
  throw n instanceof Error && this.logger.crash(n), n;
1231
1239
  }
1232
1240
  if (s !== null) if (s instanceof Node)
1233
- this.element = _(S(this.elementContext, N("$node", { value: s })));
1241
+ this.element = q(S(this.elementContext, N("$node", { value: s })));
1234
1242
  else if (y(s))
1235
- this.element = _(
1243
+ this.element = q(
1236
1244
  S(this.elementContext, N("$dynamic", { source: s }))
1237
1245
  );
1238
1246
  else if (R(s) || X(R, s))
1239
- this.element = _(S(this.elementContext, s));
1247
+ this.element = q(S(this.elementContext, s));
1240
1248
  else {
1241
1249
  const n = new TypeError(
1242
- `Expected '${this.fn.name}' function to return a DOM node, Markup element, Readable or null. Got: ${D(s)}`
1250
+ `Expected '${this.fn.name}' function to return a DOM node, Markup element, Readable or null. Got: ${A(s)}`
1243
1251
  );
1244
1252
  this.logger.crash(n);
1245
1253
  }
1246
1254
  }
1247
1255
  };
1248
- let z = re;
1249
- var me;
1250
- me = k;
1251
- class it {
1256
+ let z = ie;
1257
+ var pe;
1258
+ pe = k;
1259
+ class rt {
1252
1260
  constructor({ elementContext: e, items: s, renderFn: n, keyFn: i }) {
1253
- l(this, me, !0);
1261
+ l(this, pe, !0);
1254
1262
  l(this, "domNode", document.createTextNode(""));
1255
1263
  l(this, "items");
1256
1264
  l(this, "unsubscribe", null);
@@ -1266,8 +1274,8 @@ class it {
1266
1274
  mount(e, s) {
1267
1275
  this.isMounted || (e.insertBefore(this.domNode, (s == null ? void 0 : s.nextSibling) ?? null), this.unsubscribe = v(() => {
1268
1276
  let n = this.items.get();
1269
- n == null && (n = [], console.log("list received empty value", n, this)), requestAnimationFrame(() => {
1270
- te(), this._update(Array.from(n)), se();
1277
+ n == null && (n = [], console.log("list received empty value", n, this)), se(() => {
1278
+ this._update(Array.from(n));
1271
1279
  });
1272
1280
  }));
1273
1281
  }
@@ -1305,8 +1313,8 @@ class it {
1305
1313
  key: r.key,
1306
1314
  item: c,
1307
1315
  index: h,
1308
- element: new z(this.elementContext, rt, {
1309
- item: ne(() => c.get()),
1316
+ element: new z(this.elementContext, ot, {
1317
+ item: te(() => c.get()),
1310
1318
  index: h,
1311
1319
  renderFn: this.renderFn
1312
1320
  })
@@ -1322,14 +1330,14 @@ class it {
1322
1330
  (m = this.domNode.parentNode) == null || m.insertBefore(this.domNode, o.nextSibling);
1323
1331
  }
1324
1332
  }
1325
- function rt(t, e) {
1333
+ function ot(t, e) {
1326
1334
  return e.name = "@ListItem", t.renderFn.call(e, t.item, t.index, e);
1327
1335
  }
1328
- var ge;
1329
- ge = k;
1330
- class Ae {
1336
+ var me;
1337
+ me = k;
1338
+ class Ce {
1331
1339
  constructor(e) {
1332
- l(this, ge, !0);
1340
+ l(this, me, !0);
1333
1341
  l(this, "domNode", document.createTextNode(""));
1334
1342
  l(this, "isMounted", !1);
1335
1343
  l(this, "source");
@@ -1340,7 +1348,9 @@ class Ae {
1340
1348
  mount(e, s) {
1341
1349
  this.isMounted || (this.isMounted = !0, e.insertBefore(this.domNode, (s == null ? void 0 : s.nextSibling) ?? null), y(this.source) ? this.unsubscribe = v(() => {
1342
1350
  const n = I(this.source);
1343
- te(), this.update(n), se();
1351
+ se(() => {
1352
+ this.update(n);
1353
+ });
1344
1354
  }) : this.update(this.elements));
1345
1355
  }
1346
1356
  unmount(e = !1) {
@@ -1362,11 +1372,11 @@ class Ae {
1362
1372
  }
1363
1373
  }
1364
1374
  }
1365
- var ye;
1366
- ye = k;
1367
- class ot {
1375
+ var ge;
1376
+ ge = k;
1377
+ class ut {
1368
1378
  constructor(e) {
1369
- l(this, ye, !0);
1379
+ l(this, ge, !0);
1370
1380
  l(this, "config");
1371
1381
  l(this, "element");
1372
1382
  this.config = e;
@@ -1376,65 +1386,65 @@ class ot {
1376
1386
  }
1377
1387
  mount(e, s) {
1378
1388
  const { content: n, parent: i } = this.config;
1379
- De(n) ? this.element = n : this.element = _(S(this.config.elementContext, ie(n))), this.element.mount(i);
1389
+ De(n) ? this.element = n : this.element = q(S(this.config.elementContext, ne(n))), this.element.mount(i);
1380
1390
  }
1381
1391
  unmount(e = !1) {
1382
1392
  var s;
1383
- (s = this.element) != null && s.isMounted && this.element.unmount(e);
1393
+ (s = this.element) != null && s.isMounted && this.element.unmount(!1);
1384
1394
  }
1385
1395
  }
1386
1396
  function R(t) {
1387
- return t instanceof Pe;
1397
+ return t instanceof Ae;
1388
1398
  }
1389
1399
  function De(t) {
1390
1400
  return (t == null ? void 0 : t[k]) === !0;
1391
1401
  }
1392
- function ie(t) {
1393
- return q(t) || (t = [t]), t.flat(1 / 0).filter((e) => e != null && e !== !1).map((e) => R(e) ? e : e instanceof Node ? N("$node", { value: e }) : y(e) ? N("$dynamic", { source: e }) : N("$text", { value: e }));
1402
+ function ne(t) {
1403
+ return _(t) || (t = [t]), t.flat(1 / 0).filter((e) => e != null && e !== !1).map((e) => R(e) ? e : e instanceof Node ? N("$node", { value: e }) : y(e) ? N("$dynamic", { source: e }) : N("$text", { value: e }));
1394
1404
  }
1395
1405
  function N(t, e, ...s) {
1396
- return new Pe(t, e, ...s);
1406
+ return new Ae(t, e, ...s);
1397
1407
  }
1398
- class Pe {
1408
+ class Ae {
1399
1409
  constructor(e, s, ...n) {
1400
1410
  l(this, "type");
1401
1411
  l(this, "props");
1402
1412
  l(this, "children");
1403
- this.type = e, this.props = s, this.children = ie(n);
1413
+ this.type = e, this.props = s, this.children = ne(n);
1404
1414
  }
1405
1415
  }
1406
- const St = Xe.bind(N);
1407
- function Tt(t, e, s) {
1416
+ const Tt = Je.bind(N);
1417
+ function Lt(t, e, s) {
1408
1418
  return N("$dynamic", {
1409
- source: ne(() => {
1419
+ source: te(() => {
1410
1420
  const n = I(t);
1411
1421
  return n && e ? e : !n && s ? s : null;
1412
1422
  })
1413
1423
  });
1414
1424
  }
1415
1425
  function Ct(t, e, s) {
1416
- return N("$list", { items: ne(() => t), keyFn: e, renderFn: s });
1426
+ return N("$list", { items: te(() => t), keyFn: e, renderFn: s });
1417
1427
  }
1418
- function Lt(t, e) {
1428
+ function Dt(t, e) {
1419
1429
  return N("$portal", { parent: t, content: e });
1420
1430
  }
1421
1431
  function S(t, e) {
1422
- return (q(e) ? e : [e]).map((n) => {
1432
+ return (_(e) ? e : [e]).map((n) => {
1423
1433
  if (E(n.type))
1424
1434
  return new z(t, n.type, n.props, n.children);
1425
1435
  if (O(n.type))
1426
1436
  switch (n.type) {
1427
1437
  case "$node": {
1428
1438
  const i = n.props;
1429
- return new fe(i.value);
1439
+ return new ce(i.value);
1430
1440
  }
1431
1441
  case "$text": {
1432
1442
  const i = n.props;
1433
- return new fe(document.createTextNode(String(i.value)));
1443
+ return new ce(document.createTextNode(String(i.value)));
1434
1444
  }
1435
1445
  case "$list": {
1436
1446
  const i = n.props;
1437
- return new it({
1447
+ return new rt({
1438
1448
  items: i.items,
1439
1449
  keyFn: i.keyFn,
1440
1450
  renderFn: i.renderFn,
@@ -1443,18 +1453,18 @@ function S(t, e) {
1443
1453
  }
1444
1454
  case "$dynamic": {
1445
1455
  const i = n.props;
1446
- return new Je({
1456
+ return new Qe({
1447
1457
  source: i.source,
1448
1458
  elementContext: t
1449
1459
  });
1450
1460
  }
1451
1461
  case "$outlet": {
1452
1462
  const i = n.props;
1453
- return new Ae(i.children);
1463
+ return new Ce(i.children);
1454
1464
  }
1455
1465
  case "$portal": {
1456
1466
  const i = n.props;
1457
- return new ot({
1467
+ return new ut({
1458
1468
  content: i.content,
1459
1469
  parent: i.parent,
1460
1470
  elementContext: t
@@ -1463,7 +1473,7 @@ function S(t, e) {
1463
1473
  default:
1464
1474
  if (n.type.startsWith("$"))
1465
1475
  throw new Error(`Unknown markup type: ${n.type}`);
1466
- return new Ye({
1476
+ return new et({
1467
1477
  tag: n.type,
1468
1478
  props: n.props ?? {},
1469
1479
  children: n.children,
@@ -1474,45 +1484,46 @@ function S(t, e) {
1474
1484
  throw new TypeError(`Expected a string or view function. Got: ${n.type}`);
1475
1485
  });
1476
1486
  }
1477
- function _(t) {
1478
- return t.length === 1 ? t[0] : new Ae(t);
1487
+ function q(t) {
1488
+ return t.length === 1 ? t[0] : new Ce(t);
1479
1489
  }
1480
- function Oe(t) {
1481
- return t == null || t === !1 || O(t) || Ue(t) || R(t) || y(t) || X(Oe, t);
1490
+ function Pe(t) {
1491
+ return t == null || t === !1 || O(t) || qe(t) || R(t) || y(t) || X(Pe, t);
1482
1492
  }
1483
1493
  export {
1484
- wt as A,
1485
- Lt as B,
1486
- Ct as C,
1487
- Mt as I,
1488
- Et as P,
1489
- st as S,
1494
+ vt as A,
1495
+ bt as B,
1496
+ Dt as C,
1497
+ Ct as D,
1498
+ Et as I,
1499
+ kt as P,
1500
+ nt as S,
1490
1501
  z as V,
1491
- dt as a,
1492
- ht as b,
1502
+ ht as a,
1503
+ pt as b,
1493
1504
  K as c,
1494
- ne as d,
1495
- mt as e,
1505
+ te as d,
1506
+ gt as e,
1496
1507
  O as f,
1497
1508
  J as g,
1498
1509
  H as h,
1499
1510
  E as i,
1500
1511
  I as j,
1501
- Tt as k,
1502
- St as l,
1503
- xt as m,
1512
+ Lt as k,
1513
+ Tt as l,
1514
+ Mt as m,
1504
1515
  U as n,
1505
- pt as o,
1516
+ mt as o,
1506
1517
  N as p,
1507
- _ as q,
1518
+ q,
1508
1519
  S as r,
1509
- bt as s,
1510
- D as t,
1511
- vt as u,
1512
- Nt as v,
1520
+ Nt as s,
1521
+ A as t,
1522
+ wt as u,
1523
+ xt as v,
1513
1524
  v as w,
1514
- He as x,
1515
- gt as y,
1516
- yt as z
1525
+ Ke as x,
1526
+ yt as y,
1527
+ se as z
1517
1528
  };
1518
- //# sourceMappingURL=markup-DQdkb3ri.js.map
1529
+ //# sourceMappingURL=markup-aCjkIk4X.js.map