@manyducks.co/dolla 3.1.0 → 3.3.0

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.
@@ -0,0 +1,1054 @@
1
+ //#region src/utils.ts
2
+ var e = 0;
3
+ function t() {
4
+ return (e++).toString(36);
5
+ }
6
+ function n(e, t) {
7
+ let n = {};
8
+ for (let r in t) e.includes(r) || (n[r] = t[r]);
9
+ return n;
10
+ }
11
+ function r(e, t) {
12
+ if (!e) throw TypeError(t);
13
+ }
14
+ function i(e) {
15
+ return Array.isArray(e);
16
+ }
17
+ function a(e) {
18
+ return typeof e == "string";
19
+ }
20
+ function o(e) {
21
+ return typeof e == "function" && !s(e);
22
+ }
23
+ function s(e) {
24
+ return /^\s*class\s+/.test(String(e));
25
+ }
26
+ function c(e) {
27
+ return typeof e == "number" && !isNaN(e);
28
+ }
29
+ function l(e) {
30
+ return typeof e == "object" && !!e && !i(e);
31
+ }
32
+ //#endregion
33
+ //#region src/core/signals.ts
34
+ var u = /* @__PURE__ */ function(e) {
35
+ return e[e.None = 0] = "None", e[e.Mutable = 1] = "Mutable", e[e.Watching = 2] = "Watching", e[e.RecursedCheck = 4] = "RecursedCheck", e[e.Recursed = 8] = "Recursed", e[e.Dirty = 16] = "Dirty", e[e.Pending = 32] = "Pending", e;
36
+ }(u || {}), d = 0, f = 0, p = 0, m = 0, h, g = [];
37
+ function _(e, t, n) {
38
+ let r = t._depsTail;
39
+ if (r !== void 0 && r._dep === e) return;
40
+ let i = r === void 0 ? t._deps : r._nextDep;
41
+ if (i !== void 0 && i._dep === e) {
42
+ i._version = n, t._depsTail = i;
43
+ return;
44
+ }
45
+ let a = e._subsTail;
46
+ if (a !== void 0 && a._version === n && a._sub === t) return;
47
+ let o = t._depsTail = e._subsTail = {
48
+ _version: n,
49
+ _dep: e,
50
+ _sub: t,
51
+ _prevDep: r,
52
+ _nextDep: i,
53
+ _prevSub: a,
54
+ _nextSub: void 0
55
+ };
56
+ i !== void 0 && (i._prevDep = o), r === void 0 ? t._deps = o : r._nextDep = o, a === void 0 ? e._subs = o : a._nextSub = o;
57
+ }
58
+ function ee(e) {
59
+ e._flags & u.Mutable ? e._depsTail !== void 0 && (e._depsTail = void 0, e._flags = u.Mutable | u.Dirty, S(e)) : he.call(e);
60
+ }
61
+ function te(e, t = e._sub) {
62
+ let n = e._dep, r = e._prevDep, i = e._nextDep, a = e._nextSub, o = e._prevSub;
63
+ return i === void 0 ? t._depsTail = r : i._prevDep = r, r === void 0 ? t._deps = i : r._nextDep = i, a === void 0 ? n._subsTail = o : a._prevSub = o, o === void 0 ? (n._subs = a) === void 0 && ee(n) : o._nextSub = a, i;
64
+ }
65
+ function v(e) {
66
+ let t = m, n = t;
67
+ do
68
+ if (g[t++] = e, e._flags &= ~u.Watching, e = e._subs?._sub, e === void 0 || !(e._flags & u.Watching)) break;
69
+ while (!0);
70
+ for (m = t; n < --t;) {
71
+ let e = g[n];
72
+ g[n++] = g[t], g[t] = e;
73
+ }
74
+ }
75
+ function ne(e) {
76
+ return e._depsTail === void 0 ? se(e) : oe(e);
77
+ }
78
+ function re(e) {
79
+ let t = e._nextSub, n;
80
+ top: do {
81
+ let r = e._sub, i = r._flags;
82
+ if (i & (u.RecursedCheck | u.Recursed | u.Dirty | u.Pending) ? i & (u.RecursedCheck | u.Recursed) ? i & u.RecursedCheck ? !(i & (u.Dirty | u.Pending)) && ae(e, r) ? (r._flags = i | (u.Recursed | u.Pending), i &= u.Mutable) : i = u.None : r._flags = i & ~u.Recursed | u.Pending : i = u.None : r._flags = i | u.Pending, i & u.Watching && v(r), i & u.Mutable) {
83
+ let i = r._subs;
84
+ if (i !== void 0) {
85
+ let r = (e = i)._nextSub;
86
+ r !== void 0 && (n = {
87
+ _value: t,
88
+ _prev: n
89
+ }, t = r);
90
+ continue;
91
+ }
92
+ }
93
+ if ((e = t) !== void 0) {
94
+ t = e._nextSub;
95
+ continue;
96
+ }
97
+ for (; n !== void 0;) if (e = n._value, n = n._prev, e !== void 0) {
98
+ t = e._nextSub;
99
+ continue top;
100
+ }
101
+ break;
102
+ } while (!0);
103
+ }
104
+ function ie(e, t) {
105
+ let n, r = 0, i = !1;
106
+ top: do {
107
+ let a = e._dep, o = a._flags;
108
+ if (t._flags & u.Dirty) i = !0;
109
+ else if ((o & (u.Mutable | u.Dirty)) === (u.Mutable | u.Dirty)) {
110
+ if (ne(a)) {
111
+ let e = a._subs;
112
+ e._nextSub !== void 0 && y(e), i = !0;
113
+ }
114
+ } else if ((o & (u.Mutable | u.Pending)) === (u.Mutable | u.Pending)) {
115
+ (e._nextSub !== void 0 || e._prevSub !== void 0) && (n = {
116
+ _value: e,
117
+ _prev: n
118
+ }), e = a._deps, t = a, ++r;
119
+ continue;
120
+ }
121
+ if (!i) {
122
+ let t = e._nextDep;
123
+ if (t !== void 0) {
124
+ e = t;
125
+ continue;
126
+ }
127
+ }
128
+ for (; r--;) {
129
+ let r = t._subs, a = r._nextSub !== void 0;
130
+ if (a ? (e = n._value, n = n._prev) : e = r, i) {
131
+ if (ne(t)) {
132
+ a && y(r), t = e._sub;
133
+ continue;
134
+ }
135
+ i = !1;
136
+ } else t._flags &= ~u.Pending;
137
+ t = e._sub;
138
+ let o = e._nextDep;
139
+ if (o !== void 0) {
140
+ e = o;
141
+ continue top;
142
+ }
143
+ }
144
+ return i;
145
+ } while (!0);
146
+ }
147
+ function y(e) {
148
+ do {
149
+ let t = e._sub, n = t._flags;
150
+ (n & (u.Pending | u.Dirty)) === u.Pending && (t._flags = n | u.Dirty, (n & (u.Watching | u.RecursedCheck)) === u.Watching && v(t));
151
+ } while ((e = e._nextSub) !== void 0);
152
+ }
153
+ function ae(e, t) {
154
+ let n = t._depsTail;
155
+ for (; n !== void 0;) {
156
+ if (n === e) return !0;
157
+ n = n._prevDep;
158
+ }
159
+ return !1;
160
+ }
161
+ function b(e) {
162
+ let t = h;
163
+ return h = e, t;
164
+ }
165
+ function oe(e) {
166
+ ++d, e._depsTail = void 0, e._flags = u.Mutable | u.RecursedCheck;
167
+ let t = b(e);
168
+ try {
169
+ let t = e._value;
170
+ return t !== (e._value = e._getter(t));
171
+ } finally {
172
+ h = t, e._flags &= ~u.RecursedCheck, S(e);
173
+ }
174
+ }
175
+ function se(e) {
176
+ e._flags = u.Mutable;
177
+ let t = e._currentValue !== (e._currentValue = e._pendingValue);
178
+ return e._skipEqualValues ? t : !0;
179
+ }
180
+ function ce(e) {
181
+ let t = e._flags;
182
+ if (t & u.Dirty || t & u.Pending && ie(e._deps, e)) {
183
+ ++d, e._depsTail = void 0, e._flags = u.Watching | u.RecursedCheck;
184
+ let t = b(e);
185
+ try {
186
+ e._cleanup?.(), e._cleanup = void 0;
187
+ let t = e._fn();
188
+ o(t) && (e._cleanup = t);
189
+ } finally {
190
+ h = t, e._flags &= ~u.RecursedCheck, S(e);
191
+ }
192
+ } else e._flags = u.Watching;
193
+ }
194
+ function x() {
195
+ try {
196
+ for (; p < m;) {
197
+ let e = g[p];
198
+ g[p++] = void 0, ce(e);
199
+ }
200
+ } finally {
201
+ for (; p < m;) {
202
+ let e = g[p];
203
+ g[p++] = void 0, e._flags |= u.Watching | u.Recursed;
204
+ }
205
+ p = 0, m = 0;
206
+ }
207
+ }
208
+ function S(e) {
209
+ let t = e._depsTail, n = t === void 0 ? e._deps : t._nextDep;
210
+ for (; n !== void 0;) n = te(n, e);
211
+ }
212
+ function le(e, t) {
213
+ return o(e) ? D(() => e(t)) : e;
214
+ }
215
+ function ue() {
216
+ let e = this._flags;
217
+ if (e & u.Dirty || e & u.Pending && (ie(this._deps, this) || (this._flags = e & ~u.Pending, !1))) {
218
+ if (oe(this)) {
219
+ let e = this._subs;
220
+ e !== void 0 && y(e);
221
+ }
222
+ } else if (!e) {
223
+ this._flags = u.Mutable | u.RecursedCheck;
224
+ let e = b(this);
225
+ try {
226
+ this._value = E(this._getter());
227
+ } finally {
228
+ h = e, this._flags &= ~u.RecursedCheck;
229
+ }
230
+ }
231
+ let t = h;
232
+ return t !== void 0 && _(this, t, d), this._value;
233
+ }
234
+ function de(e) {
235
+ let t = le(e, this._value);
236
+ if (this._value !== t) {
237
+ this._value = t, this._flags &= ~(u.Dirty | u.Pending);
238
+ let e = this._subs;
239
+ for (; e !== void 0;) {
240
+ let t = e._sub, n = t._flags;
241
+ (n & (u.Dirty | u.Pending)) === 0 && (t._flags = n | u.Dirty, v(t)), e = e._nextSub;
242
+ }
243
+ f || x();
244
+ }
245
+ return t;
246
+ }
247
+ function fe() {
248
+ if (this._flags & u.Dirty && se(this)) {
249
+ let e = this._subs;
250
+ e !== void 0 && y(e);
251
+ }
252
+ let e = h;
253
+ for (; e !== void 0;) {
254
+ if (e._flags & (u.Mutable | u.Watching)) {
255
+ _(this, e, d);
256
+ break;
257
+ }
258
+ e = e._subs?._sub;
259
+ }
260
+ return this._currentValue;
261
+ }
262
+ function pe(e) {
263
+ let t = le(e, this._pendingValue);
264
+ if (this._pendingValue !== (this._pendingValue = t)) {
265
+ this._flags = u.Mutable | u.Dirty;
266
+ let e = this._subs;
267
+ e !== void 0 && (re(e), f || x());
268
+ }
269
+ }
270
+ function me(e, t) {
271
+ let n = typeof t == "function" ? t(D(this)) : t;
272
+ return e(n) ?? n;
273
+ }
274
+ function he() {
275
+ this._depsTail = void 0, this._flags = u.None, S(this);
276
+ let e = this._subs;
277
+ e !== void 0 && te(e), this._cleanup?.(), this._cleanup = void 0;
278
+ }
279
+ function C(e) {
280
+ if (o(e)) {
281
+ let t = {
282
+ _value: void 0,
283
+ _subs: void 0,
284
+ _subsTail: void 0,
285
+ _deps: void 0,
286
+ _depsTail: void 0,
287
+ _flags: u.None,
288
+ _getter: e
289
+ };
290
+ return [ue.bind(t), de.bind(t)];
291
+ } else {
292
+ let t = {
293
+ _currentValue: e,
294
+ _pendingValue: e,
295
+ _subs: void 0,
296
+ _subsTail: void 0,
297
+ _flags: u.Mutable,
298
+ _skipEqualValues: !0
299
+ };
300
+ return [fe.bind(t), pe.bind(t)];
301
+ }
302
+ }
303
+ function ge(e, t) {
304
+ return me.bind(e, t);
305
+ }
306
+ function w(e) {
307
+ return o(e) ? ue.bind({
308
+ _value: void 0,
309
+ _subs: void 0,
310
+ _subsTail: void 0,
311
+ _deps: void 0,
312
+ _depsTail: void 0,
313
+ _flags: u.None,
314
+ _getter: e
315
+ }) : () => e;
316
+ }
317
+ function T(e) {
318
+ let t = {
319
+ _fn: e,
320
+ _cleanup: void 0,
321
+ _subs: void 0,
322
+ _subsTail: void 0,
323
+ _deps: void 0,
324
+ _depsTail: void 0,
325
+ _flags: u.Watching | u.RecursedCheck
326
+ }, n = b(t);
327
+ n !== void 0 && _(t, n, 0);
328
+ try {
329
+ let e = t._fn();
330
+ o(e) && (t._cleanup = e);
331
+ } finally {
332
+ h = n, t._flags &= ~u.RecursedCheck;
333
+ }
334
+ return he.bind(t);
335
+ }
336
+ function E(e) {
337
+ return o(e) ? e() : e;
338
+ }
339
+ function D(e) {
340
+ let t = b(void 0);
341
+ try {
342
+ return E(e);
343
+ } finally {
344
+ b(t);
345
+ }
346
+ }
347
+ function _e(e) {
348
+ ++f;
349
+ try {
350
+ e();
351
+ } finally {
352
+ --f || x();
353
+ }
354
+ }
355
+ function O(e, t) {
356
+ return T(() => {
357
+ let n = e();
358
+ D(() => t(n));
359
+ });
360
+ }
361
+ function k({ value: e, signal: t }) {
362
+ return {
363
+ get latest() {
364
+ return D(e);
365
+ },
366
+ current: e,
367
+ next() {
368
+ return new Promise((n, r) => {
369
+ let i = !1, a = T(() => {
370
+ let t = e();
371
+ i ? (n(t), a()) : i = !0;
372
+ });
373
+ t.addEventListener("abort", () => {
374
+ r(/* @__PURE__ */ Error("Aborted by the parent context unmounting.")), a();
375
+ });
376
+ });
377
+ },
378
+ map(n) {
379
+ return k({
380
+ value: w((t) => n(e(), t)),
381
+ signal: t
382
+ });
383
+ },
384
+ reduce(n, r) {
385
+ return k({
386
+ value: w((t) => n(t ?? r, e())),
387
+ signal: t
388
+ });
389
+ },
390
+ filter(n, r) {
391
+ return k({
392
+ value: w((t) => {
393
+ let i = e();
394
+ return n(i, t) ? i : t ?? r;
395
+ }),
396
+ signal: t
397
+ });
398
+ },
399
+ throttle(n) {
400
+ let [r, i] = C(D(e)), a = Date.now() + n;
401
+ return k({
402
+ value: w(() => {
403
+ let t = r(), n = e(), o = Date.now();
404
+ return o >= a ? (a = o, i(n)) : t;
405
+ }),
406
+ signal: t
407
+ });
408
+ },
409
+ debounce(n) {
410
+ let [r, i] = C(D(e)), a = !1, o;
411
+ return t.addEventListener("abort", () => {
412
+ clearTimeout(o);
413
+ }), k({
414
+ value: w(() => {
415
+ let t = r(), s = e();
416
+ return a || (clearTimeout(o), o = setTimeout(() => {
417
+ a = !0, i(s), a = !1, o = void 0;
418
+ }, n)), t;
419
+ }),
420
+ signal: t
421
+ });
422
+ },
423
+ delay(n, r) {
424
+ let [i, a] = C(r ?? D(e)), o = !1, s;
425
+ return t.addEventListener("abort", () => {
426
+ clearTimeout(s);
427
+ }), k({
428
+ value: w(() => {
429
+ let t = i(), r = e();
430
+ return o || (s = setTimeout(() => {
431
+ o = !0, a(r), o = !1, s = void 0;
432
+ }, n)), t;
433
+ }),
434
+ signal: t
435
+ });
436
+ }
437
+ };
438
+ }
439
+ function ve(e) {
440
+ let t = {
441
+ _currentValue: e?.initialValue,
442
+ _pendingValue: e?.initialValue,
443
+ _subs: void 0,
444
+ _subsTail: void 0,
445
+ _flags: u.Mutable,
446
+ _skipEqualValues: !1
447
+ }, n = fe.bind(t), r = pe.bind(t), i = new AbortController(), a = k({
448
+ value: n,
449
+ signal: i.signal
450
+ });
451
+ return e?.context && X(e.context, () => {
452
+ i.abort();
453
+ }), [a, r];
454
+ }
455
+ //#endregion
456
+ //#region src/core/markup/types.ts
457
+ var ye = Symbol(), be = Symbol(), xe = Symbol(), A = class {
458
+ static [xe] = !0;
459
+ get [be]() {
460
+ return !0;
461
+ }
462
+ }, j = class extends A {
463
+ #e;
464
+ constructor(e, t) {
465
+ super(), this.#e = t;
466
+ }
467
+ getRoot() {
468
+ return this.#e;
469
+ }
470
+ isMounted() {
471
+ return this.#e.parentNode != null;
472
+ }
473
+ mount(e, t) {
474
+ B(e, this.#e, t);
475
+ }
476
+ unmount(e = !1) {
477
+ e || this.#e.parentNode?.removeChild(this.#e);
478
+ }
479
+ move(e, t) {
480
+ Me(e, this.#e, t);
481
+ }
482
+ };
483
+ //#endregion
484
+ //#region src/core/markup/scheduler.ts
485
+ function M(e) {
486
+ e();
487
+ }
488
+ //#endregion
489
+ //#region src/core/markup/nodes/dynamic.ts
490
+ var N = class extends A {
491
+ #e = V("");
492
+ #t = [];
493
+ #n;
494
+ #r;
495
+ #i;
496
+ constructor(e, t) {
497
+ super(), this.#n = e, this.#r = t;
498
+ }
499
+ getRoot() {
500
+ return this.#e;
501
+ }
502
+ isMounted() {
503
+ return this.#e.parentNode != null;
504
+ }
505
+ mount(e, t) {
506
+ this.isMounted() || (B(e, this.#e, t), this.#i = O(this.#r, (e) => {
507
+ M(() => {
508
+ this.#o(e);
509
+ });
510
+ }));
511
+ }
512
+ unmount(e = !1) {
513
+ this.#i?.(), this.isMounted() && (e || this.#e.parentNode?.removeChild(this.#e), this.#a(e));
514
+ }
515
+ move(e, t) {
516
+ let n = t?.nextSibling ?? null;
517
+ if (e.moveBefore) try {
518
+ e.moveBefore(this.#e, n), n = this.#e.nextSibling;
519
+ for (let t = 0; t < this.#t.length; t++) {
520
+ let r = this.#t[t].getRoot();
521
+ r && e.moveBefore(r, n);
522
+ }
523
+ return;
524
+ } catch {}
525
+ e.insertBefore(this.#e, n), n = this.#e.nextSibling;
526
+ for (let t = 0; t < this.#t.length; t++) this.#t[t].move(e, this.#t[t - 1]?.getRoot() ?? this.#e);
527
+ }
528
+ #a(e) {
529
+ for (let t = 0; t < this.#t.length; t++) this.#t[t].unmount(e);
530
+ this.#t.length = 0;
531
+ }
532
+ #o(e) {
533
+ if (!this.isMounted()) return;
534
+ if ((typeof e == "string" || typeof e == "number") && this.#t.length === 1) {
535
+ let t = this.#t[0];
536
+ if (t instanceof j) {
537
+ let n = t.getRoot();
538
+ if (n && n.nodeType === Node.TEXT_NODE) {
539
+ n.nodeValue = String(e);
540
+ return;
541
+ }
542
+ }
543
+ }
544
+ if (this.#a(!1), e == null || e === !1) return;
545
+ let t = z(this.#n, e), n = this.#e.parentElement, r = this.#e;
546
+ for (let e = 0; e < t.length; e++) {
547
+ let i = t[e];
548
+ i.mount(n, r), this.#t.push(i);
549
+ let a = i.getRoot();
550
+ a && (r = a);
551
+ }
552
+ }
553
+ }, Se = Symbol("parentElement"), P = Symbol("debug"), F = Symbol("isSVG"), Ce = ["ref", "children"], we = class extends A {
554
+ #e;
555
+ #t;
556
+ #n;
557
+ #r = !1;
558
+ #i = [];
559
+ #a = /* @__PURE__ */ new Set();
560
+ #o;
561
+ constructor(e, t, n) {
562
+ if (super(), this.#t = n, this.#n = e, t === "svg" ? (this.#n = K(e), this.#n[F] = !0, this.#r = !0) : this.#n[F] && t === "foreignObject" && (this.#n = K(e), this.#n[F] = !1, this.#r = !1), this.#n[F] ? this.#e = document.createElementNS("http://www.w3.org/2000/svg", t) : this.#e = document.createElement(t), this.#n[P]) {
563
+ let e = Le(this.#n);
564
+ e && (this.#e.dataset.view = e.context.name);
565
+ }
566
+ }
567
+ getRoot() {
568
+ return this.#e;
569
+ }
570
+ isMounted() {
571
+ return this.#e.parentNode != null;
572
+ }
573
+ mount(e, t) {
574
+ let r = this.isMounted();
575
+ if (!r && (this.#c(this.#e, n(Ce, this.#t)), this.#t.children)) {
576
+ this.#i = z(this.#n, this.#t.children);
577
+ for (let e of this.#i) e.mount(this.#e);
578
+ }
579
+ let i = t?.nextSibling ?? null;
580
+ if ((this.#e.parentNode !== e || this.#e.nextSibling !== i) && B(e, this.#e, i), !r) {
581
+ if (o(this.#t.ref)) {
582
+ let e = this.#t.ref(this.#e);
583
+ o(e) && (this.#o = e);
584
+ }
585
+ this.#r && q(this.#n);
586
+ }
587
+ }
588
+ unmount(e = !1) {
589
+ !e && this.#e.parentNode && this.#e.parentNode.removeChild(this.#e);
590
+ for (let e of this.#i) e.unmount(!0);
591
+ this.#a.forEach((e) => e()), this.#a.clear(), this.#r && J(this.#n), this.#o &&= (this.#o(), void 0), this.#i.length = 0;
592
+ }
593
+ move(e, t) {
594
+ if (e.moveBefore) try {
595
+ e.moveBefore(this.#e, t?.nextSibling ?? null);
596
+ return;
597
+ } catch {}
598
+ this.mount(e, t);
599
+ }
600
+ #s(e, t) {
601
+ o(e) ? this.#a.add(O(e, (e) => {
602
+ M(() => t(e));
603
+ })) : t(e);
604
+ }
605
+ #c(e, t) {
606
+ for (let n in t) {
607
+ let r = t[n];
608
+ if (n === "style") this.#l(e, r);
609
+ else if (n === "class" || n === "className") this.#u(e, r);
610
+ else if (n === "for") this.#s(r, (t) => {
611
+ e.htmlFor = t;
612
+ });
613
+ else if (n[0] === "." || n.startsWith("prop:")) {
614
+ let t = n.substring(5);
615
+ this.#s(r, (n) => {
616
+ e[t] = n;
617
+ });
618
+ } else if (n[0] === ":" || n.startsWith("attr:")) {
619
+ let t = n.substring(5).toLowerCase();
620
+ this.#s(r, (n) => {
621
+ I(e, t, n);
622
+ });
623
+ } else if (n[0] === "@" && o(r)) {
624
+ let t = n.substring(1);
625
+ this.#a.add(H(e, t, r));
626
+ } else if (n.startsWith("on") && o(r)) {
627
+ let t = n.toLowerCase().slice(2);
628
+ this.#a.add(H(e, t, r));
629
+ } else n in e && !this.#n[F] ? typeof e[n] == "boolean" ? this.#s(r, (t) => {
630
+ let r = !!t;
631
+ e[n] = r, I(e, n, r);
632
+ }) : this.#s(r, (t) => {
633
+ e[n] = t;
634
+ }) : this.#s(r, (t) => {
635
+ I(e, n, t);
636
+ });
637
+ }
638
+ }
639
+ #l(e, t) {
640
+ let n = /* @__PURE__ */ new Set(), r = (t) => {
641
+ n.forEach((e) => {
642
+ e(), this.#a.delete(e);
643
+ }), n.clear(), e.style.cssText = "";
644
+ let r = Ee(t);
645
+ for (let [t, { value: i, priority: a }] of Object.entries(r)) if (o(i)) {
646
+ let r = O(i, (n) => {
647
+ n ? e.style.setProperty(t, Oe(n), a) : e.style.removeProperty(t);
648
+ });
649
+ this.#a.add(r), n.add(r);
650
+ } else i != null && e.style.setProperty(t, Oe(i), a);
651
+ };
652
+ o(t) ? this.#a.add(O(t, r)) : r(t);
653
+ }
654
+ #u(e, t) {
655
+ let n = /* @__PURE__ */ new Set(), r = (t) => {
656
+ n.forEach((e) => {
657
+ e(), this.#a.delete(e);
658
+ }), n.clear(), I(e, "class", null);
659
+ let r = Te(t);
660
+ for (let [t, i] of Object.entries(r)) if (t !== "undefined") if (o(i)) {
661
+ let r = O(i, (n) => e.classList.toggle(t, !!n));
662
+ this.#a.add(r), n.add(r);
663
+ } else i && e.classList.add(t);
664
+ };
665
+ o(t) ? this.#a.add(O(t, r)) : r(t);
666
+ }
667
+ };
668
+ function Te(e) {
669
+ return a(e) ? Object.fromEntries(e.split(" ").map((e) => [e, !0])) : i(e) ? Object.assign({}, ...e.filter(Boolean).map(Te)) : l(e) ? e : {};
670
+ }
671
+ function Ee(e) {
672
+ return a(e) ? Object.fromEntries(e.split(";").filter((e) => e.trim()).map((e) => {
673
+ let [t, n] = e.split(":");
674
+ return [De(t.trim()), {
675
+ value: n.replace("!important", "").trim(),
676
+ priority: n.includes("!important") ? "important" : ""
677
+ }];
678
+ })) : i(e) ? Object.assign({}, ...e.filter(Boolean).map(Ee)) : l(e) ? Object.fromEntries(Object.entries(e).map(([e, t]) => [e.startsWith("--") ? e : De(e), { value: t }])) : {};
679
+ }
680
+ function De(e) {
681
+ return e.replace(/[A-Z]+(?![a-z])|[A-Z]/g, (e, t) => (t ? "-" : "") + e.toLowerCase());
682
+ }
683
+ function Oe(e) {
684
+ return c(e) ? `${e}px` : e;
685
+ }
686
+ function I(e, t, n) {
687
+ n ? e.setAttribute(t, String(n)) : e.removeAttribute(t);
688
+ }
689
+ //#endregion
690
+ //#region src/core/markup/utils.ts
691
+ function L(e, t) {
692
+ return {
693
+ [ye]: !0,
694
+ type: e,
695
+ props: t
696
+ };
697
+ }
698
+ function ke(e) {
699
+ return e && e[ye];
700
+ }
701
+ function Ae(e) {
702
+ return e && e[be];
703
+ }
704
+ function je(e) {
705
+ return e && e[xe];
706
+ }
707
+ function R(e, t = K()) {
708
+ let n = z(t, e);
709
+ return n.length === 1 ? n[0] : new N(t, () => n);
710
+ }
711
+ function z(e, ...t) {
712
+ let n = [];
713
+ function r(t) {
714
+ if (!(t == null || t === !1)) if (i(t)) for (let e = 0; e < t.length; e++) r(t[e]);
715
+ else if (a(t) || c(t)) n.push(new j(e, V(String(t))));
716
+ else if (ke(t)) {
717
+ let { type: r, props: i } = t;
718
+ je(r) ? n.push(new r(e, ...i.args)) : o(r) ? n.push(new U(e, r, i)) : a(r) && n.push(new we(e, r, i));
719
+ } else Ae(t) ? n.push(t) : t instanceof Node ? n.push(new j(e, t)) : o(t) && n.push(new N(e, t));
720
+ }
721
+ for (let e = 0; e < t.length; e++) r(t[e]);
722
+ return n;
723
+ }
724
+ function B(e, t, n) {
725
+ n ? e.insertBefore(t, n?.nextSibling) : e.appendChild(t);
726
+ }
727
+ function V(e) {
728
+ return document.createTextNode(e);
729
+ }
730
+ function Me(e, t, n) {
731
+ let r = n?.nextSibling ?? null;
732
+ if (e.moveBefore) try {
733
+ e.moveBefore(t, r);
734
+ return;
735
+ } catch {}
736
+ e.insertBefore(t, r);
737
+ }
738
+ function H(e, t, n) {
739
+ return e.addEventListener(t, n), () => e.removeEventListener(t, n);
740
+ }
741
+ //#endregion
742
+ //#region src/core/markup/nodes/view.ts
743
+ var Ne = Symbol.for("ViewNode"), U = class extends A {
744
+ #e;
745
+ #t;
746
+ #n;
747
+ context;
748
+ constructor(e, t, n) {
749
+ super(), this.context = K(e), this.context[Ne] = this, this.context.name = t.name, this.#e = n, this.#t = t;
750
+ }
751
+ getRoot() {
752
+ return this.#n?.getRoot();
753
+ }
754
+ isMounted() {
755
+ return this.context.isMounted;
756
+ }
757
+ mount(e, t) {
758
+ let n = this.isMounted();
759
+ if (!n) {
760
+ let e = D(() => this.#t.call(this.context, this.#e, this.context));
761
+ e != null && e !== !1 ? this.#n = R(e, this.context) : this.#n = new j(this.context, V(""));
762
+ }
763
+ this.#n.mount(e, t), n || q(this.context);
764
+ }
765
+ unmount(e = !1) {
766
+ this.#n?.unmount(e), J(this.context);
767
+ }
768
+ move(e, t) {
769
+ this.#n?.move(e, t);
770
+ }
771
+ }, W = Symbol("Context.mountListeners"), G = Symbol("Context.cleanupListeners");
772
+ function K(e) {
773
+ return Object.assign(Object.create(e ?? null), { isMounted: !1 });
774
+ }
775
+ function q(e) {
776
+ e.isMounted || (e.isMounted = !0, Pe(e, W));
777
+ }
778
+ function J(e) {
779
+ e.isMounted && (e.isMounted = !1, Pe(e, G));
780
+ }
781
+ function Pe(e, t) {
782
+ if (Object.hasOwn(e, t)) {
783
+ for (let n of e[t]) n();
784
+ e[t].length = 0;
785
+ }
786
+ }
787
+ function Y(e, t) {
788
+ Object.hasOwn(e, W) ? e[W].push(t) : e[W] = [t];
789
+ }
790
+ function X(e, t) {
791
+ Object.hasOwn(e, G) ? e[G].push(t) : e[G] = [t];
792
+ }
793
+ function Fe(e, t) {
794
+ e.isMounted ? X(e, T(t)) : Y(e, () => {
795
+ X(e, T(t));
796
+ });
797
+ }
798
+ function Ie(e) {
799
+ return e[Se];
800
+ }
801
+ function Le(e) {
802
+ return e[Ne];
803
+ }
804
+ var Z = Symbol("Dolla.StoreId");
805
+ function Re(e, t, ...n) {
806
+ t[Z] ??= Symbol(t.name), r(!Object.hasOwn(e, t[Z]), "Store was already provided on this context.");
807
+ let i = K(e);
808
+ return Y(e, () => q(i)), X(e, () => J(i)), i.name = t.name, e[t[Z]] = t.call(i, n[0], i);
809
+ }
810
+ function ze(e, t) {
811
+ let n = t[Z], i = n ? e[n] : void 0;
812
+ return r(i != null, `Store '${t.name}' is not provided by this context.`), i;
813
+ }
814
+ //#endregion
815
+ //#region src/core/root.ts
816
+ function Be(e, t) {
817
+ let n = a(e) ? document.querySelector(e) : e;
818
+ r(n, "Element cannot be null.");
819
+ let i = K();
820
+ i.name = "dolla:root";
821
+ let s = [], c = [];
822
+ i[Se] = n, i[P] = !!t?.debug;
823
+ let l = null, u = {
824
+ plugin: d,
825
+ mount: f,
826
+ unmount: p
827
+ };
828
+ function d(e) {
829
+ return s.push(e), u;
830
+ }
831
+ async function f(e) {
832
+ if (i.isMounted) return;
833
+ let t = await Promise.all(s.map((e) => e(i)));
834
+ for (let e of t) o(e) && c.push(e);
835
+ l = o(e) ? new U(i, e, {}) : R(e, i), l?.mount(n), q(i);
836
+ }
837
+ async function p() {
838
+ i.isMounted && (l?.unmount(!1), l = null, J(i), await Promise.all(c.map((e) => e())), c.length = 0);
839
+ }
840
+ return u;
841
+ }
842
+ //#endregion
843
+ //#region src/core/debug.ts
844
+ var Ve = () => {}, He = {
845
+ trace: 1,
846
+ info: 1,
847
+ log: 2,
848
+ warn: 3,
849
+ error: 4,
850
+ silent: 5
851
+ }, Ue = 1, We = (e) => !e.startsWith("dolla:"), Ge = (e) => {
852
+ Ue = He[e] || 1;
853
+ }, Ke = (e) => {
854
+ We = e;
855
+ }, Q = globalThis.console || {};
856
+ function qe(e, ...t) {
857
+ let n = e.name, r, i = (e, i) => {
858
+ if (i < Ue || !We(n) || !Q[e]) return Ve;
859
+ if (!r) {
860
+ let e = "%c" + n, i = [`color:${Ye(n)};font-weight:bold`];
861
+ for (let [n, r] of t) e += `%c[${n}: %c${r}%c]`, i.push("color:#777", "color:#aaa", "color:#777");
862
+ r = [e, ...i];
863
+ }
864
+ return Q[e].bind(Q, ...r);
865
+ };
866
+ return {
867
+ get info() {
868
+ return i("info", 1);
869
+ },
870
+ get trace() {
871
+ return i("trace", 1);
872
+ },
873
+ get log() {
874
+ return i("log", 2);
875
+ },
876
+ get warn() {
877
+ return i("warn", 3);
878
+ },
879
+ get error() {
880
+ return i("error", 4);
881
+ }
882
+ };
883
+ }
884
+ function Je(e, ...t) {
885
+ let n = K();
886
+ return n.name = e, qe(n, ...t);
887
+ }
888
+ function Ye(e) {
889
+ let t = 0;
890
+ for (let n = 0; n < e.length; n++) t = (t + e.charCodeAt(n) * 10) % 360;
891
+ return `oklch(0.68 0.15 ${t}deg)`;
892
+ }
893
+ //#endregion
894
+ //#region src/core/markup/nodes/portal.ts
895
+ var Xe = class extends A {
896
+ #e = V("");
897
+ #t;
898
+ #n;
899
+ #r;
900
+ #i;
901
+ constructor(e, t, n) {
902
+ super(), this.#t = e, this.#n = t, this.#r = n;
903
+ }
904
+ getRoot() {
905
+ return this.#e;
906
+ }
907
+ isMounted() {
908
+ return this.#e.parentNode != null;
909
+ }
910
+ mount(e, t) {
911
+ this.isMounted() || (B(e, this.#e, t), this.#i ||= R(this.#n, this.#t), this.#i.mount(this.#r));
912
+ }
913
+ unmount(e = !1) {
914
+ this.isMounted() && (e || this.#e.parentNode?.removeChild(this.#e), this.#i?.isMounted() && this.#i.unmount(!1));
915
+ }
916
+ move(e, t) {
917
+ Me(e, this.#e, t);
918
+ }
919
+ }, Ze = class extends A {
920
+ #e = V("");
921
+ #t;
922
+ #n;
923
+ #r;
924
+ #i;
925
+ #a = null;
926
+ #o = /* @__PURE__ */ new Map();
927
+ constructor(e, t, n, r) {
928
+ super(), this.#t = e, this.#n = t, this.#r = n, this.#i = r;
929
+ }
930
+ getRoot() {
931
+ return this.#e;
932
+ }
933
+ isMounted() {
934
+ return this.#e.parentNode != null;
935
+ }
936
+ mount(e, t) {
937
+ this.isMounted() || (B(e, this.#e, t), this.#a = O(this.#n, (e) => {
938
+ M(() => {
939
+ this._update(Array.from(e));
940
+ });
941
+ }));
942
+ }
943
+ unmount(e = !1) {
944
+ this.#a &&= (this.#a(), null), !e && this.isMounted() && this.#e.parentNode?.removeChild(this.#e), this._cleanup(e);
945
+ }
946
+ move(e, t) {
947
+ return this.mount(e, t);
948
+ }
949
+ _cleanup(e) {
950
+ for (let t of this.#o.values()) t._node.unmount(e);
951
+ this.#o.clear();
952
+ }
953
+ _update(e) {
954
+ if (!this.isMounted()) return;
955
+ if (e.length === 0) return this._cleanup(!1);
956
+ let t = /* @__PURE__ */ new Map();
957
+ _e(() => {
958
+ let n = new Set(e.map((e, t) => this.#r(e, t)));
959
+ for (let [e, t] of this.#o.entries()) n.has(e) || t._node.unmount(!1);
960
+ for (let r = 0; r < e.length; r++) {
961
+ let i = e[r], a = this.#r(i, r), o = this.#o.get(a);
962
+ if (o && n.has(a)) o._setItem(i), o._setIndex(r);
963
+ else {
964
+ let [e, t] = C(i), [n, s] = C(r);
965
+ o = {
966
+ _key: a,
967
+ _node: R(this.#i(() => e(), () => n()), this.#t),
968
+ _item: e,
969
+ _setItem: t,
970
+ _index: n,
971
+ _setIndex: s
972
+ };
973
+ }
974
+ t.set(a, o);
975
+ }
976
+ }), this.#o = t;
977
+ let n = this.#e.parentElement, r = this.#e;
978
+ for (let e of this.#o.values()) {
979
+ let t = r.nextSibling;
980
+ e._node.isMounted() ? e._node.getRoot() !== t && e._node.move(n, r) : e._node.mount(n, r), r = e._node.getRoot();
981
+ }
982
+ }
983
+ };
984
+ //#endregion
985
+ //#region src/core/markup/helpers.ts
986
+ function Qe(e, t, n) {
987
+ return o(e) ? L(Ze, { args: [
988
+ e,
989
+ t,
990
+ n
991
+ ] }) : Array.from(e).map((e, t) => n(() => e, () => t));
992
+ }
993
+ function $e(e, t, n) {
994
+ return o(e) ? L(N, { args: [w(() => e() ? t : n)] }) : e ? t : n;
995
+ }
996
+ function et(e, t, n) {
997
+ return $e(e, t, n);
998
+ }
999
+ function tt(e, t, n) {
1000
+ return $e(e, n, t);
1001
+ }
1002
+ function nt(e, t) {
1003
+ return L(Xe, { args: [t, e] });
1004
+ }
1005
+ //#endregion
1006
+ //#region src/core/markup/html.ts
1007
+ var $ = /* @__PURE__ */ function(e) {
1008
+ return e[e.Slash = 0] = "Slash", e[e.Text = 1] = "Text", e[e.Whitespace = 2] = "Whitespace", e[e.TagName = 3] = "TagName", e[e.Comment = 4] = "Comment", e[e.PropSet = 5] = "PropSet", e[e.PropAppend = 6] = "PropAppend", e;
1009
+ }($ || {});
1010
+ function rt(e, ...t) {
1011
+ let n = [e, ...t], r = $.Text, i = "", a = "", o = [0], s = "", c = (e) => {
1012
+ r === $.Text && (e || (i = i.replace(/^\s*\n\s*|\s*\n\s*$/g, ""))) ? o.push(e ? n[e] : i) : r === $.TagName && (e || i) ? (o[1] = e ? n[e] : i, r = $.Whitespace) : r === $.Whitespace && i === "..." && e ? o[2] = Object.assign(o[2] || {}, n[e]) : r === $.Whitespace && i && !e ? (o[2] = o[2] || {})[i] = !0 : r >= $.PropSet && (r === $.PropSet ? ((o[2] = o[2] || {})[s] = e ? i ? i + n[e] : n[e] : i, r = $.PropAppend) : (e || i) && (o[2][s] += e ? i + n[e] : i)), i = "";
1013
+ };
1014
+ for (let t = 0; t < e.length; t++) {
1015
+ t && (r === $.Text && c(), c(t));
1016
+ for (let n = 0; n < e[t].length; n++) {
1017
+ let l = e[t][n];
1018
+ if (r === $.Text) l === "<" ? (c(), o = [
1019
+ o,
1020
+ "",
1021
+ null
1022
+ ], r = $.TagName) : i += l;
1023
+ else if (r === $.Comment) i === "--" && l === ">" ? (r = $.Text, i = "") : i = l + i[0];
1024
+ else if (a) l === a ? a = "" : i += l;
1025
+ else if (l === "\"" || l === "'") a = l;
1026
+ else if (l === ">") c(), r = $.Text;
1027
+ else if (r) if (l === "=") r = $.PropSet, s = i, i = "";
1028
+ else if (l === "/" && (r < $.PropSet || e[t][n + 1] === ">")) {
1029
+ c(), r === $.TagName && (o = o[0]);
1030
+ let e = o;
1031
+ o = o[0];
1032
+ let t = e[1], n = e[2] || {}, i = e.slice(3);
1033
+ o.push(L(t, {
1034
+ ...n,
1035
+ children: i
1036
+ })), r = $.Slash;
1037
+ } else l === " " || l === " " || l === "\n" || l === "\r" ? (c(), r = $.Whitespace) : i += l;
1038
+ r === $.TagName && i === "!--" && (r = $.Comment, o = o[0]);
1039
+ }
1040
+ }
1041
+ return c(), o.length > 2 ? o.slice(1) : o[1];
1042
+ }
1043
+ //#endregion
1044
+ //#region src/core/ref.ts
1045
+ function it() {
1046
+ let e;
1047
+ return ((...t) => t.length ? (e = t[0], () => {
1048
+ e = void 0;
1049
+ }) : e);
1050
+ }
1051
+ //#endregion
1052
+ export { ge as A, t as B, R as C, w as D, _e as E, r as F, i as I, o as L, D as M, O as N, C as O, E as P, l as R, L as S, N as T, X as _, tt as a, U as b, qe as c, Be as d, Re as f, ze as g, Ie as h, Qe as i, ve as j, T as k, Ke as l, Le as m, rt as n, et as o, K as p, nt as r, Je as s, it as t, Ge as u, Fe as v, P as w, H as x, Y as y, a as z };
1053
+
1054
+ //# sourceMappingURL=core-BRSu5hVw.js.map