@deijose/nix-js 1.0.3 → 1.0.5

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,1089 +1,10 @@
1
- var e = null, t = [], n = null, r = [], i = null, a = [];
2
- function o(e) {
3
- a.push(i), i = e;
4
- }
5
- function s() {
6
- i = a.pop() ?? null;
7
- }
8
- var c = 0, l = new Set(), u = 100, d = 0, f = class {
9
- _value;
10
- _subs = new Set();
11
- constructor(e) {
12
- this._value = e;
13
- }
14
- get value() {
15
- return e && (this._subs.add(e), n?.add(this)), this._value;
16
- }
17
- set value(e) {
18
- Object.is(this._value, e) || (this._value = e, this._notify());
19
- }
20
- update(e) {
21
- this.value = e(this._value);
22
- }
23
- peek() {
24
- return this._value;
25
- }
26
- _removeSub(e) {
27
- this._subs.delete(e);
28
- }
29
- _notify() {
30
- let e = [...this._subs];
31
- c > 0 ? e.forEach((e) => l.add(e)) : e.forEach((e) => e());
32
- }
33
- dispose() {
34
- this._subs.clear();
35
- }
36
- };
37
- function p(e) {
38
- return new f(e);
39
- }
40
- function m(a) {
41
- let o, s = new Set(), c = i, l = () => {
42
- if (typeof o == "function" && o(), s.forEach((e) => e._removeSub(l)), s = new Set(), t.push(e), r.push(n), e = l, n = s, d++, d > u) throw d = 0, e = t.pop() || null, n = r.pop() || null, Error("[Nix] Maximum effect re-execution depth exceeded (possible infinite loop).");
43
- try {
44
- o = a();
45
- } catch (e) {
46
- if (c) c(e);
47
- else throw e;
48
- } finally {
49
- d--, e = t.pop() || null, n = r.pop() || null;
50
- }
51
- };
52
- return l(), () => {
53
- typeof o == "function" && o(), s.forEach((e) => e._removeSub(l)), s.clear();
54
- };
55
- }
56
- function h(e) {
57
- let t = new f(void 0);
58
- return m(() => {
59
- t.value = e();
60
- }), t;
61
- }
62
- function g(e) {
63
- c++;
64
- try {
65
- e();
66
- } finally {
67
- if (c--, c === 0) {
68
- let e = [...l];
69
- l.clear(), e.forEach((e) => e());
70
- }
71
- }
72
- }
73
- function _(t) {
74
- let r = e, i = n;
75
- e = null, n = null;
76
- try {
77
- return t();
78
- } finally {
79
- e = r, n = i;
80
- }
81
- }
82
- function ee(e, t, n = {}) {
83
- let { immediate: r = !1, once: i = !1 } = n, a = e instanceof f ? () => e.value : e, o, s = !0, c = !1, l = m(() => {
84
- let e = a();
85
- if (s) {
86
- if (s = !1, r && !c) {
87
- let n = e;
88
- _(() => t(n, void 0)), i && (c = !0, Promise.resolve().then(l));
89
- }
90
- o = e;
91
- return;
92
- }
93
- if (!c) {
94
- let n = e, r = o;
95
- o = e, _(() => t(n, r)), i && (c = !0, Promise.resolve().then(l));
96
- }
97
- });
98
- return () => {
99
- c = !0, l();
100
- };
101
- }
102
- function v(e) {
103
- return e ? Promise.resolve().then(e) : Promise.resolve();
104
- }
105
- var y = class {
106
- __isNixComponent = !0;
107
- children;
108
- _slots = new Map();
109
- setChildren(e) {
110
- return this.children = e, this;
111
- }
112
- setSlot(e, t) {
113
- return this._slots.set(e, t), this;
114
- }
115
- slot(e) {
116
- return this._slots.get(e);
117
- }
118
- };
119
- function b(e) {
120
- return typeof e == "object" && !!e && e.__isNixComponent === !0;
121
- }
122
- function x(e) {
123
- return Symbol(e);
124
- }
125
- var S = [];
126
- function C() {
127
- return [...S];
128
- }
129
- function w() {
130
- S.push(new Map());
131
- }
132
- function T() {
133
- S.pop();
134
- }
135
- function E(e, t) {
136
- let n = S.splice(0);
137
- e.forEach((e) => S.push(e)), S.push(new Map());
138
- try {
139
- return t();
140
- } finally {
141
- S.splice(0), n.forEach((e) => S.push(e));
142
- }
143
- }
144
- function D(e, t) {
145
- let n = S[S.length - 1];
146
- if (!n) throw Error("[Nix] provide() debe llamarse dentro de onInit() de un NixComponent.");
147
- n.set(e, t);
148
- }
149
- function O(e) {
150
- for (let t = S.length - 1; t >= 0; t--) if (S[t].has(e)) return S[t].get(e);
151
- }
152
- function te() {
153
- return { el: null };
154
- }
155
- function ne(e, t) {
156
- t ? e.style.display === "none" && (e.style.display = "") : e.style.display !== "none" && (e.style.display = "none");
157
- }
158
- function re(e, t, n) {
159
- return {
160
- __isKeyedList: !0,
161
- items: e,
162
- keyFn: t,
163
- renderFn: n
164
- };
165
- }
166
- function ie() {
167
- return {
168
- __isPortalOutlet: !0,
169
- _container: null
170
- };
171
- }
172
- function ae(e) {
173
- return {
174
- __isNixTemplate: !0,
175
- mount(e) {
176
- let t = typeof e == "string" ? document.querySelector(e) ?? document.body : e;
177
- return { unmount: this._render(t, null) };
178
- },
179
- _render(t, n) {
180
- let r = document.createElement("div");
181
- return r.setAttribute("data-nix-outlet", ""), e._container = r, t.insertBefore(r, n), () => {
182
- e._container = null, r.remove();
183
- };
184
- }
185
- };
186
- }
187
- function oe(e, t = document.body) {
188
- return {
189
- __isNixTemplate: !0,
190
- mount(e) {
191
- let t = typeof e == "string" ? document.querySelector(e) ?? document.body : e;
192
- return { unmount: this._render(t, null) };
193
- },
194
- _render(n, r) {
195
- let i;
196
- if (i = typeof t == "string" ? document.querySelector(t) ?? document.body : t instanceof Element ? t : "__isPortalOutlet" in t ? t._container ?? document.body : t.el ?? document.body, b(e)) {
197
- w();
198
- let t;
199
- try {
200
- try {
201
- e.onInit?.();
202
- } catch (t) {
203
- if (e.onError) e.onError(t);
204
- else throw t;
205
- }
206
- t = e.render()._render(i, null);
207
- } finally {
208
- T();
209
- }
210
- let n;
211
- try {
212
- let t = e.onMount?.();
213
- typeof t == "function" && (n = t);
214
- } catch (t) {
215
- if (e.onError) e.onError(t);
216
- else throw t;
217
- }
218
- return () => {
219
- try {
220
- e.onUnmount?.();
221
- } catch {}
222
- try {
223
- n?.();
224
- } catch {}
225
- t();
226
- };
227
- }
228
- return e._render(i, null);
229
- }
230
- };
231
- }
232
- var k = x("nix:portal-outlet");
233
- function se(e) {
234
- D(k, e);
235
- }
236
- function ce() {
237
- return O(k);
238
- }
239
- function le(e, t) {
240
- return {
241
- __isNixTemplate: !0,
242
- mount(e) {
243
- let t = typeof e == "string" ? document.querySelector(e) ?? document.body : e;
244
- return { unmount: this._render(t, null) };
245
- },
246
- _render(n, r) {
247
- let i = document.createComment("nix-eb");
248
- n.insertBefore(i, r);
249
- let a = null, c = !1, l = !1, u, d = !1, f = (e) => {
250
- let n = i.parentNode, o = typeof t == "function" && !b(t) ? t(e) : t;
251
- if (b(o)) {
252
- w();
253
- let e;
254
- try {
255
- try {
256
- o.onInit?.();
257
- } catch {}
258
- e = o.render()._render(n, r);
259
- } finally {
260
- T();
261
- }
262
- let t;
263
- try {
264
- let e = o.onMount?.();
265
- typeof e == "function" && (t = e);
266
- } catch {}
267
- a = () => {
268
- try {
269
- o.onUnmount?.();
270
- } catch {}
271
- t?.(), e();
272
- };
273
- } else a = o._render(n, r);
274
- };
275
- o((e) => {
276
- c || (c = !0, l ? (a?.(), a = null, f(e)) : (u = e, d = !0));
277
- });
278
- try {
279
- if (b(e)) {
280
- w();
281
- try {
282
- try {
283
- e.onInit?.();
284
- } catch (t) {
285
- if (e.onError) e.onError(t);
286
- else throw t;
287
- }
288
- a = e.render()._render(n, r);
289
- } finally {
290
- T();
291
- }
292
- if (!c) try {
293
- let t = e.onMount?.(), n = a;
294
- a = () => {
295
- try {
296
- e.onUnmount?.();
297
- } catch {}
298
- if (typeof t == "function") try {
299
- t();
300
- } catch {}
301
- n?.();
302
- };
303
- } catch (t) {
304
- if (e.onError) e.onError(t);
305
- else throw t;
306
- }
307
- } else a = e._render(n, r);
308
- } catch (e) {
309
- c = !0, a?.(), a = null, u = e, d = !0;
310
- } finally {
311
- s(), l = !0;
312
- }
313
- return d && (a?.(), a = null, f(u)), () => {
314
- a?.(), i.remove();
315
- };
316
- }
317
- };
318
- }
319
- function A(e) {
320
- let t = e.name ?? "nix";
321
- return {
322
- enterFrom: e.enterFrom ?? `${t}-enter-from`,
323
- enterActive: e.enterActive ?? `${t}-enter-active`,
324
- enterTo: e.enterTo ?? `${t}-enter-to`,
325
- leaveFrom: e.leaveFrom ?? `${t}-leave-from`,
326
- leaveActive: e.leaveActive ?? `${t}-leave-active`,
327
- leaveTo: e.leaveTo ?? `${t}-leave-to`
328
- };
329
- }
330
- function j(e) {
331
- return Math.max(0, ...e.split(",").map((e) => parseFloat(e) || 0));
332
- }
333
- function M(e, t = 0) {
334
- return new Promise((n) => {
335
- let r = getComputedStyle(e), i = Math.max(j(r.transitionDuration || "0"), j(r.animationDuration || "0")) * 1e3, a = i > 0 ? i + 100 : t > 0 ? t : 0;
336
- if (a <= 0) {
337
- n();
338
- return;
339
- }
340
- let o, s = (t) => {
341
- t.target === e && (clearTimeout(o), e.removeEventListener("transitionend", s), e.removeEventListener("animationend", s), n());
342
- };
343
- e.addEventListener("transitionend", s), e.addEventListener("animationend", s), o = setTimeout(() => {
344
- e.removeEventListener("transitionend", s), e.removeEventListener("animationend", s), n();
345
- }, a);
346
- });
347
- }
348
- function ue(e, t = {}) {
349
- let n = A(t);
350
- return {
351
- __isNixTemplate: !0,
352
- mount(e) {
353
- let t = typeof e == "string" ? document.querySelector(e) ?? document.body : e;
354
- return { unmount: this._render(t, null) };
355
- },
356
- _render(r, i) {
357
- let a = document.createComment("nix-t");
358
- r.insertBefore(a, i);
359
- let o = null, s = null, c = 0, l = !0, u = () => {
360
- let e = a.nextSibling;
361
- for (; e && e !== i;) {
362
- if (e.nodeType === Node.ELEMENT_NODE) return e;
363
- e = e.nextSibling;
364
- }
365
- return null;
366
- };
367
- function d(e) {
368
- if (b(e)) {
369
- let t = e;
370
- w();
371
- let n;
372
- try {
373
- try {
374
- t.onInit?.();
375
- } catch {}
376
- n = t.render();
377
- } finally {
378
- T();
379
- }
380
- let a = n._render(r, i), o;
381
- try {
382
- o = t.onMount?.();
383
- } catch {}
384
- return () => {
385
- try {
386
- t.onUnmount?.();
387
- } catch {}
388
- if (typeof o == "function") try {
389
- o();
390
- } catch {}
391
- a();
392
- };
393
- }
394
- return e._render(r, i);
395
- }
396
- let f = (e, r = !1) => {
397
- c++, s &&= (s(), null), o = d(e);
398
- let i = u();
399
- if (i && (!l || t.appear) && !r) {
400
- let e = c;
401
- (async () => {
402
- t.onBeforeEnter?.(i), i.classList.add(n.enterFrom, n.enterActive), i.getBoundingClientRect(), await new Promise((e) => requestAnimationFrame(() => e())), c === e && (i.classList.remove(n.enterFrom), i.classList.add(n.enterTo), await M(i, t.duration), c === e && (i.classList.remove(n.enterActive, n.enterTo), t.onAfterEnter?.(i)));
403
- })().catch(() => {});
404
- }
405
- l = !1;
406
- }, p = () => {
407
- let e = o;
408
- o = null;
409
- let r = u();
410
- if (!r) {
411
- e?.();
412
- return;
413
- }
414
- let i = ++c;
415
- s = e ?? null, (async () => {
416
- t.onBeforeLeave?.(r), r.classList.add(n.leaveFrom, n.leaveActive), r.getBoundingClientRect(), await new Promise((e) => requestAnimationFrame(() => e())), c === i && (r.classList.remove(n.leaveFrom), r.classList.add(n.leaveTo), await M(r, t.duration), c === i && (r.classList.remove(n.leaveActive, n.leaveTo), t.onAfterLeave?.(r), s?.(), s = null));
417
- })().catch(() => {});
418
- }, h = null;
419
- if (typeof e == "function" && !b(e)) {
420
- let t = e, n = null;
421
- h = m(() => {
422
- let e = t(), r = n === null, i = e === null;
423
- r && !i ? f(e) : !r && i ? p() : !r && !i && (c++, s?.(), s = null, o?.(), o = null, f(e, !0)), n = e;
424
- }), l = !1;
425
- } else f(e);
426
- return () => {
427
- c++, h?.(), o?.(), s?.(), o = null, s = null, a.remove();
428
- };
429
- }
430
- };
431
- }
432
- function de(e) {
433
- let t = e.lastIndexOf(">"), n = e.lastIndexOf("<");
434
- if (n <= t) return { type: "node" };
435
- let r = e.slice(n + 1), i = r.match(/@([\w:.-]+)=["']?$/);
436
- if (i) {
437
- let e = i[1].split(".");
438
- return {
439
- type: "event",
440
- eventName: e[0],
441
- modifiers: e.slice(1),
442
- hadOpenQuote: i[0].endsWith("\"") || i[0].endsWith("'")
443
- };
444
- }
445
- let a = r.match(/([\w:.-]+)=["']?$/);
446
- return a ? {
447
- type: "attr",
448
- attrName: a[1],
449
- hadOpenQuote: a[0].endsWith("\"") || a[0].endsWith("'")
450
- } : { type: "node" };
451
- }
452
- function fe(e, t) {
453
- let n = Array(e.length).fill(0), r = "";
454
- for (let i = 0; i < e.length; i++) {
455
- let a = e[i];
456
- if (n[i] === 1 && (a[0] === "\"" || a[0] === "'") && (a = a.slice(1)), i < t.length) {
457
- let e = t[i];
458
- if (e.type === "node") r += a + `<!--nix-${i}-->`;
459
- else if (e.type === "event") {
460
- let t = `@${e.modifiers.length ? `${e.eventName}.${e.modifiers.join(".")}` : e.eventName}=`.length + (e.hadOpenQuote ? 1 : 0);
461
- r += a.slice(0, -t) + ` data-nix-e-${i}="${e.eventName}"`, e.hadOpenQuote && (n[i + 1] = 1);
462
- } else {
463
- let t = `${e.attrName}=`.length + (e.hadOpenQuote ? 1 : 0);
464
- r += a.slice(0, -t) + ` data-nix-a-${i}="${e.attrName}"`, e.hadOpenQuote && (n[i + 1] = 1);
465
- }
466
- } else r += a;
467
- }
468
- return r;
469
- }
470
- function N(e) {
471
- return typeof e == "object" && !!e && e.__isNixTemplate === !0;
472
- }
473
- function pe(e) {
474
- return typeof e == "object" && !!e && e.__isKeyedList === !0;
475
- }
476
- function me(e) {
477
- let t = new Map(), n = document.createTreeWalker(e, NodeFilter.SHOW_COMMENT), r;
478
- for (; r = n.nextNode();) {
479
- let e = r, n = e.nodeValue?.match(/^nix-(\d+)$/);
480
- n && t.set(parseInt(n[1]), e);
481
- }
482
- return t;
483
- }
484
- function he(e) {
485
- let t = new Map();
486
- return e.querySelectorAll("*").forEach((e) => {
487
- let n = Array.from(e.attributes);
488
- for (let r of n) {
489
- let n = r.name.match(/^data-nix-e-(\d+)$/);
490
- if (n) {
491
- t.set(parseInt(n[1]), {
492
- el: e,
493
- type: "event",
494
- name: r.value
495
- }), e.removeAttribute(r.name);
496
- continue;
497
- }
498
- n = r.name.match(/^data-nix-a-(\d+)$/), n && (t.set(parseInt(n[1]), {
499
- el: e,
500
- type: "attr",
501
- name: r.value
502
- }), e.removeAttribute(r.name));
503
- }
504
- }), t;
505
- }
506
- function P(e, t, n) {
507
- let r = [], i = [], a = me(e), o = he(e);
508
- for (let e = 0; e < t.length; e++) {
509
- let s = t[e], c = n[e];
510
- if (s.type === "event") {
511
- let t = o.get(e);
512
- if (!t) continue;
513
- let { el: n, name: i } = t, a = c, l = s.modifiers, u = {};
514
- l.includes("once") && (u.once = !0), l.includes("capture") && (u.capture = !0), l.includes("passive") && (u.passive = !0);
515
- let d = {
516
- enter: "Enter",
517
- escape: "Escape",
518
- space: " ",
519
- tab: "Tab",
520
- delete: "Delete",
521
- backspace: "Backspace",
522
- up: "ArrowUp",
523
- down: "ArrowDown",
524
- left: "ArrowLeft",
525
- right: "ArrowRight"
526
- }, f = (e) => {
527
- if (l.includes("prevent") && e.preventDefault(), l.includes("stop") && e.stopPropagation(), !(l.includes("self") && e.target !== e.currentTarget)) {
528
- if ("key" in e) {
529
- let t = e;
530
- for (let e of l) {
531
- let n = d[e];
532
- if (n !== void 0 && t.key !== n || !d[e] && e.length === 1 && t.key.toLowerCase() !== e) return;
533
- }
534
- }
535
- a(e);
536
- }
537
- };
538
- n.addEventListener(i, f, u), r.push(() => n.removeEventListener(i, f, u));
539
- continue;
540
- }
541
- if (s.type === "attr") {
542
- let t = o.get(e);
543
- if (!t) continue;
544
- let { el: n, name: i } = t;
545
- if (i === "ref") {
546
- c.el = n, r.push(() => {
547
- c.el = null;
548
- });
549
- continue;
550
- }
551
- if (i === "show" || i === "hide") {
552
- let e = n, t = null;
553
- if (typeof c == "function") {
554
- let n = m(() => {
555
- let n = !!c(), r = i === "show" ? n : !n;
556
- t === null && (t = e.style.display || ""), e.style.display = r ? t : "none";
557
- });
558
- r.push(n);
559
- } else (i === "show" ? c : !c) || (n.style.display = "none");
560
- continue;
561
- }
562
- let a = (i === "value" || i === "checked" || i === "selected") && i in n;
563
- if (typeof c == "function") {
564
- let e = m(() => {
565
- let e = c();
566
- a ? n[i] = e ?? "" : e == null || e === !1 ? n.removeAttribute(i) : n.setAttribute(i, String(e));
567
- });
568
- r.push(e);
569
- } else a ? n[i] = c ?? "" : c != null && c !== !1 && n.setAttribute(i, String(c));
570
- continue;
571
- }
572
- let l = a.get(e);
573
- if (!l) continue;
574
- if (typeof c != "function") {
575
- if (b(c)) {
576
- let e = c;
577
- w();
578
- let t;
579
- try {
580
- try {
581
- e.onInit?.();
582
- } catch (t) {
583
- if (e.onError) e.onError(t);
584
- else throw t;
585
- }
586
- t = e.render()._render(l.parentNode, l);
587
- } finally {
588
- T();
589
- }
590
- let n;
591
- i.push(() => {
592
- try {
593
- let t = e.onMount?.();
594
- typeof t == "function" && (n = t);
595
- } catch (t) {
596
- if (e.onError) e.onError(t);
597
- else throw t;
598
- }
599
- }), r.push(() => {
600
- try {
601
- e.onUnmount?.();
602
- } catch {}
603
- try {
604
- n?.();
605
- } catch {}
606
- t();
607
- });
608
- } else if (N(c)) {
609
- let e = c._render(l.parentNode, l);
610
- r.push(e);
611
- } else if (Array.isArray(c)) for (let e of c) if (b(e)) {
612
- let t;
613
- w();
614
- try {
615
- try {
616
- e.onInit?.();
617
- } catch (t) {
618
- if (e.onError) e.onError(t);
619
- else throw t;
620
- }
621
- t = e.render()._render(l.parentNode, l);
622
- } finally {
623
- T();
624
- }
625
- let n;
626
- i.push(() => {
627
- try {
628
- let t = e.onMount?.();
629
- typeof t == "function" && (n = t);
630
- } catch (t) {
631
- if (e.onError) e.onError(t);
632
- else throw t;
633
- }
634
- }), r.push(() => {
635
- try {
636
- e.onUnmount?.();
637
- } catch {}
638
- try {
639
- n?.();
640
- } catch {}
641
- t();
642
- });
643
- } else N(e) ? e._render(l.parentNode, l) : e != null && e !== !1 && l.parentNode.insertBefore(document.createTextNode(String(e)), l);
644
- else c != null && c !== !1 && l.parentNode.insertBefore(document.createTextNode(String(c)), l);
645
- continue;
646
- }
647
- let u = null, d = null, f = null, p = C(), h = m(() => {
648
- let e = c();
649
- if (typeof e == "string" || typeof e == "number") {
650
- d &&= (d(), null), u ? u.nodeValue = String(e) : (u = document.createTextNode(String(e)), l.parentNode.insertBefore(u, l));
651
- return;
652
- }
653
- if (u &&= (u.parentNode?.removeChild(u), null), d &&= (d(), null), !(e == null || e === !1)) if (N(e)) d = e._render(l.parentNode, l);
654
- else if (b(e)) {
655
- let t = e, n;
656
- E(p, () => {
657
- try {
658
- t.onInit?.();
659
- } catch (e) {
660
- if (t.onError) t.onError(e);
661
- else throw e;
662
- }
663
- n = t.render()._render(l.parentNode, l);
664
- });
665
- let r;
666
- try {
667
- let e = t.onMount?.();
668
- typeof e == "function" && (r = e);
669
- } catch (e) {
670
- if (t.onError) t.onError(e);
671
- else throw e;
672
- }
673
- d = () => {
674
- try {
675
- t.onUnmount?.();
676
- } catch {}
677
- try {
678
- r?.();
679
- } catch {}
680
- n();
681
- };
682
- } else if (pe(e)) {
683
- f ||= new Map();
684
- let t = l.parentNode, n = e.items.map((t, n) => e.keyFn(t, n)), r = new Set(n);
685
- for (let [e, n] of f) if (!r.has(e)) {
686
- n.cleanup();
687
- let r = n.start;
688
- for (; r !== n.end;) {
689
- let e = r.nextSibling;
690
- t.removeChild(r), r = e;
691
- }
692
- t.removeChild(n.end), f.delete(e);
693
- }
694
- let i = l;
695
- for (let r = n.length - 1; r >= 0; r--) {
696
- let a = n[r], o = e.items[r];
697
- if (f.has(a)) {
698
- let e = f.get(a);
699
- if (e.end.nextSibling !== i) {
700
- let n = [], r = e.start;
701
- for (; n.push(r), r !== e.end;) r = r.nextSibling;
702
- for (let e of n) t.insertBefore(e, i);
703
- }
704
- i = e.start;
705
- } else {
706
- let n = document.createComment("nix-ke"), s = document.createComment("nix-ks");
707
- t.insertBefore(n, i), t.insertBefore(s, n);
708
- let c, l = e.renderFn(o, r);
709
- if (b(l)) {
710
- let e;
711
- E(p, () => {
712
- try {
713
- l.onInit?.();
714
- } catch (e) {
715
- if (l.onError) l.onError(e);
716
- else throw e;
717
- }
718
- e = l.render()._render(t, n);
719
- });
720
- let r;
721
- try {
722
- let e = l.onMount?.();
723
- typeof e == "function" && (r = e);
724
- } catch (e) {
725
- if (l.onError) l.onError(e);
726
- else throw e;
727
- }
728
- c = () => {
729
- try {
730
- l.onUnmount?.();
731
- } catch {}
732
- try {
733
- r?.();
734
- } catch {}
735
- e();
736
- };
737
- } else c = l._render(t, n);
738
- f.set(a, {
739
- start: s,
740
- end: n,
741
- cleanup: c
742
- }), i = s;
743
- }
744
- }
745
- } else if (Array.isArray(e)) {
746
- let t = [];
747
- for (let n of e) if (b(n)) {
748
- try {
749
- n.onInit?.();
750
- } catch (e) {
751
- if (n.onError) n.onError(e);
752
- else throw e;
753
- }
754
- let e = n.render()._render(l.parentNode, l), r;
755
- try {
756
- let e = n.onMount?.();
757
- typeof e == "function" && (r = e);
758
- } catch (e) {
759
- if (n.onError) n.onError(e);
760
- else throw e;
761
- }
762
- t.push(() => {
763
- try {
764
- n.onUnmount?.();
765
- } catch {}
766
- try {
767
- r?.();
768
- } catch {}
769
- e();
770
- });
771
- } else if (N(n)) t.push(n._render(l.parentNode, l));
772
- else if (n != null && n !== !1) {
773
- let e = document.createTextNode(String(n));
774
- l.parentNode.insertBefore(e, l), t.push(() => e.parentNode?.removeChild(e));
775
- }
776
- d = () => t.forEach((e) => e());
777
- } else u = document.createTextNode(String(e)), l.parentNode.insertBefore(u, l);
778
- });
779
- r.push(() => {
780
- if (h(), d &&= (d(), null), u &&= (u.parentNode?.removeChild(u), null), f) {
781
- for (let e of f.values()) e.cleanup();
782
- f = null;
783
- }
784
- });
785
- }
786
- return {
787
- disposes: r,
788
- postMountHooks: i
789
- };
790
- }
791
- function F(e, ...t) {
792
- let n = [], r = "";
793
- for (let t = 0; t < e.length - 1; t++) {
794
- r += e[t];
795
- let i = de(r);
796
- n.push(i), r += "__nix__";
797
- }
798
- let i = fe(e, n);
799
- function a(e, r) {
800
- let a = document.createElement("template");
801
- a.innerHTML = i;
802
- let o = a.content, { disposes: s, postMountHooks: c } = P(o, n, t), l = document.createComment("nix-scope");
803
- e.insertBefore(l, r);
804
- let u = o.firstChild;
805
- for (; u;) {
806
- let t = u.nextSibling;
807
- e.insertBefore(u, r), u = t;
808
- }
809
- return c.forEach((e) => e()), () => {
810
- s.forEach((e) => e());
811
- let e = l.nextSibling;
812
- for (; e && e !== r;) {
813
- let t = e.nextSibling;
814
- e.parentNode?.removeChild(e), e = t;
815
- }
816
- l.parentNode?.removeChild(l);
817
- };
818
- }
819
- return {
820
- __isNixTemplate: !0,
821
- _render: a,
822
- mount(e) {
823
- let t = typeof e == "string" ? document.querySelector(e) : e;
824
- if (!t) throw Error(`[Nix] mount: contenedor no encontrado: ${e}`);
825
- let n = a(t, null);
826
- return { unmount() {
827
- n();
828
- } };
829
- }
830
- };
831
- }
832
- function I(e, t) {
833
- if (b(e)) {
834
- let n = typeof t == "string" ? document.querySelector(t) : t;
835
- if (!n) throw Error(`[Nix] mount: contenedor no encontrado: ${t}`);
836
- w();
837
- let r;
838
- try {
839
- try {
840
- e.onInit?.();
841
- } catch (t) {
842
- if (e.onError) e.onError(t);
843
- else throw t;
844
- }
845
- r = e.render()._render(n, null);
846
- } finally {
847
- T();
848
- }
849
- let i;
850
- try {
851
- let t = e.onMount?.();
852
- typeof t == "function" && (i = t);
853
- } catch (t) {
854
- if (e.onError) e.onError(t);
855
- else throw t;
856
- }
857
- return { unmount() {
858
- try {
859
- e.onUnmount?.();
860
- } catch {}
861
- try {
862
- i?.();
863
- } catch {}
864
- r();
865
- } };
866
- }
867
- return e.mount(t);
868
- }
869
- function L(e, t) {
870
- let n = {};
871
- for (let t of Object.keys(e)) n[t] = p(e[t]);
872
- let r = n;
873
- function i() {
874
- for (let t of Object.keys(e)) n[t].value = e[t];
875
- }
876
- let a = Object.assign(Object.create(null), r, { $reset: i });
877
- if (t) {
878
- let e = t(r);
879
- Object.assign(a, e);
880
- }
881
- return a;
882
- }
883
- var R = null, z = null;
884
- function B() {
885
- if (!R) throw Error("[Nix] No hay router activo. Llama a createRouter() antes.");
886
- return R;
887
- }
888
- function V(e) {
889
- let t = {};
890
- return new URLSearchParams(e).forEach((e, n) => {
891
- t[n] = e;
892
- }), t;
893
- }
894
- function H(e) {
895
- let t = new URLSearchParams();
896
- for (let [n, r] of Object.entries(e)) r != null && r !== !1 && t.set(n, String(r));
897
- let n = t.toString();
898
- return n ? "?" + n : "";
899
- }
900
- function ge(e) {
901
- return e === "*" ? [{ kind: "wildcard" }] : e.split("/").filter(Boolean).map((e) => e === "*" ? { kind: "wildcard" } : e.startsWith(":") ? {
902
- kind: "param",
903
- name: e.slice(1)
904
- } : {
905
- kind: "literal",
906
- value: e
907
- });
908
- }
909
- function _e(e, t) {
910
- return t === "*" ? e === "" ? "*" : e + "/*" : (e + (t.startsWith("/") ? t : "/" + t)).replace(/\/+/g, "/") || "/";
911
- }
912
- function U(e, t = "", n = []) {
913
- let r = [];
914
- for (let i of e) {
915
- let e = _e(t, i.path), a = [...n, i.component], o = ge(e);
916
- r.push({
917
- fullPath: e,
918
- segments: o,
919
- chain: a,
920
- beforeEnter: i.beforeEnter
921
- }), i.children?.length && r.push(...U(i.children, e, a));
922
- }
923
- return r;
924
- }
925
- function ve(e, t) {
926
- let n = e.split("/").filter(Boolean), r = t.segments;
927
- if (r.length === 1 && r[0].kind === "wildcard") return {};
928
- let i = r.length > 0 && r[r.length - 1].kind === "wildcard", a = i ? r.slice(0, -1) : r;
929
- if (i) {
930
- if (n.length < a.length) return null;
931
- } else if (n.length !== a.length) return null;
932
- let o = {};
933
- for (let e = 0; e < a.length; e++) {
934
- let t = a[e];
935
- if (t.kind === "literal") {
936
- if (n[e] !== t.value) return null;
937
- } else if (t.kind === "param") try {
938
- o[t.name] = decodeURIComponent(n[e] ?? "");
939
- } catch {
940
- o[t.name] = n[e] ?? "";
941
- }
942
- }
943
- return o;
944
- }
945
- function ye(e) {
946
- return e.segments.reduce((e, t) => t.kind === "literal" ? e + 2 : t.kind === "param" ? e + 1 : e, 0);
947
- }
948
- function W(e, t) {
949
- let n, r = {}, i = -1;
950
- for (let a of t) {
951
- let t = ve(e, a);
952
- if (t === null) continue;
953
- let o = ye(a);
954
- o > i && (n = a, r = t, i = o);
955
- }
956
- return n ? {
957
- route: n,
958
- params: r
959
- } : void 0;
960
- }
961
- function be(e) {
962
- function t() {
963
- return window.location.pathname || "/";
964
- }
965
- let n = t(), r = U(e), i = W(n, r), a = p(n), o = p(i?.params ?? {}), s = p(V(window.location.search)), c = [], l = 0;
966
- function u(e, t, n, r, i) {
967
- let a = [...c];
968
- n && a.push(n);
969
- let o = ++l;
970
- if (a.length === 0) {
971
- r();
972
- return;
973
- }
974
- let s = 0;
975
- function u(n) {
976
- if (o !== l) return;
977
- if (n === !1) {
978
- i?.();
979
- return;
980
- }
981
- if (typeof n == "string") {
982
- n === e ? r() : h(n);
983
- return;
984
- }
985
- if (s >= a.length) {
986
- r();
987
- return;
988
- }
989
- let c = a[s++](e, t);
990
- if (c instanceof Promise) {
991
- c.then(u);
992
- return;
993
- }
994
- u(c);
995
- }
996
- u(void 0);
997
- }
998
- let d = !1;
999
- function f(e, t) {
1000
- let n = e.indexOf("?"), r = n === -1 ? e : e.slice(0, n), i = n === -1 ? {} : V(e.slice(n)), a = t ? {
1001
- ...i,
1002
- ...t
1003
- } : i, o = {};
1004
- for (let [e, t] of Object.entries(a)) t != null && t !== !1 && (o[e] = String(t));
1005
- return {
1006
- pathname: r,
1007
- stringQuery: o
1008
- };
1009
- }
1010
- z &&= (z(), null);
1011
- let m = () => {
1012
- let e = t(), n = a.value, i = s.value, c = W(e, r), l = V(window.location.search);
1013
- u(e, n, c?.route.beforeEnter, () => {
1014
- o.value = c?.params ?? {}, s.value = l, a.value = e;
1015
- }, () => {
1016
- history.pushState(null, "", n + H(i));
1017
- });
1018
- };
1019
- window.addEventListener("popstate", m), z = () => window.removeEventListener("popstate", m);
1020
- function h(e, t) {
1021
- d = !0;
1022
- let { pathname: n, stringQuery: i } = f(e, t), c = a.value, l = W(n, r);
1023
- u(n, c, l?.route.beforeEnter, () => {
1024
- o.value = l?.params ?? {}, s.value = i, a.value = n, history.pushState(null, "", n + H(i));
1025
- });
1026
- }
1027
- function g(e) {
1028
- return c.push(e), () => {
1029
- let t = c.indexOf(e);
1030
- t !== -1 && c.splice(t, 1);
1031
- };
1032
- }
1033
- let _ = {
1034
- current: a,
1035
- params: o,
1036
- query: s,
1037
- navigate: h,
1038
- beforeEach: g,
1039
- routes: e,
1040
- _flat: r,
1041
- _guards: c
1042
- };
1043
- return R = _, queueMicrotask(() => {
1044
- d || u(n, "", W(n, r)?.route.beforeEnter, () => {}, () => {
1045
- history.replaceState(null, "", "/");
1046
- let e = W("/", r);
1047
- a.value = "/", o.value = e?.params ?? {}, s.value = {};
1048
- });
1049
- }), _;
1050
- }
1051
- function xe() {
1052
- return B();
1053
- }
1054
- var Se = class extends y {
1055
- _depth;
1056
- constructor(e = 0) {
1057
- super(), this._depth = e;
1058
- }
1059
- render() {
1060
- let e = this._depth;
1061
- return F`<div class="router-view">${() => {
1062
- let t = B(), n = W(t.current.value, t._flat);
1063
- return n ? e >= n.route.chain.length ? F`<span></span>` : n.route.chain[e]() : F`<div style="color:#f87171;padding:16px 0">
1
+ var e=null,t=[],n=null,r=[],i=null,a=[];function o(e){a.push(i),i=e}function s(){i=a.pop()??null}var c=0,l=new Set,u=100,d=0,f=class{_value;_subs=new Set;constructor(e){this._value=e}get value(){return e&&(this._subs.add(e),n?.add(this)),this._value}set value(e){Object.is(this._value,e)||(this._value=e,this._notify())}update(e){this.value=e(this._value)}peek(){return this._value}_removeSub(e){this._subs.delete(e)}_notify(){let e=[...this._subs];c>0?e.forEach(e=>l.add(e)):e.forEach(e=>e())}dispose(){this._subs.clear()}};function p(e){return new f(e)}function m(o){let l,a=new Set,s=i,c=()=>{if("function"==typeof l&&l(),a.forEach(e=>e._removeSub(c)),a=new Set,t.push(e),r.push(n),e=c,n=a,++d>u)throw d=0,e=t.pop()||null,n=r.pop()||null,Error("[Nix] Maximum effect re-execution depth exceeded (possible infinite loop).");try{l=o()}catch(e){if(!s)throw e;s(e)}finally{d--,e=t.pop()||null,n=r.pop()||null}};return c(),()=>{"function"==typeof l&&l(),a.forEach(e=>e._removeSub(c)),a.clear()}}function h(e){let t=new f(void 0);return m(()=>{t.value=e()}),t}function g(e){c++;try{e()}finally{if(0===--c){let e=[...l];l.clear(),e.forEach(e=>e())}}}function _(t){let r=e,o=n;e=null,n=null;try{return t()}finally{e=r,n=o}}function ee(e,t,n={}){let r,{immediate:o=!1,once:l=!1}=n,i=e instanceof f?()=>e.value:e,a=!0,u=!1,s=m(()=>{let e=i();if(a){if(a=!1,o&&!u){let n=e;_(()=>t(n,void 0)),l&&(u=!0,Promise.resolve().then(s))}r=e}else if(!u){let n=e,o=r;r=e,_(()=>t(n,o)),l&&(u=!0,Promise.resolve().then(s))}});return()=>{u=!0,s()}}function v(e){return e?Promise.resolve().then(e):Promise.resolve()}var y=class{__isNixComponent=!0;children;_slots=new Map;setChildren(e){return this.children=e,this}setSlot(e,t){return this._slots.set(e,t),this}slot(e){return this._slots.get(e)}};function b(e){return"object"==typeof e&&!!e&&!0===e.__isNixComponent}function x(e){return Symbol(e)}var S=[];function C(){return[...S]}function w(){S.push(new Map)}function T(){S.pop()}function E(e,t){let n=S.splice(0);e.forEach(e=>S.push(e)),S.push(new Map);try{return t()}finally{S.splice(0),n.forEach(e=>S.push(e))}}function D(e,t){let n=S[S.length-1];if(!n)throw Error("[Nix] provide() debe llamarse dentro de onInit() de un NixComponent.");n.set(e,t)}function O(e){for(let t=S.length-1;t>=0;t--)if(S[t].has(e))return S[t].get(e)}function te(){return{el:null}}function ne(e,t){t?"none"===e.style.display&&(e.style.display=""):"none"!==e.style.display&&(e.style.display="none")}function re(e,t,n){return{__isKeyedList:!0,items:e,keyFn:t,renderFn:n}}function ie(){return{__isPortalOutlet:!0,_container:null}}function ae(e){return{__isNixTemplate:!0,mount(e){let t="string"==typeof e?document.querySelector(e)??document.body:e;return{unmount:this._render(t,null)}},_render(t,n){let r=document.createElement("div");return r.setAttribute("data-nix-outlet",""),e._container=r,t.insertBefore(r,n),()=>{e._container=null,r.remove()}}}}function oe(e,t=document.body){return{__isNixTemplate:!0,mount(e){let t="string"==typeof e?document.querySelector(e)??document.body:e;return{unmount:this._render(t,null)}},_render(n,r){let o;if(o="string"==typeof t?document.querySelector(t)??document.body:t instanceof Element?t:"__isPortalOutlet"in t?t._container??document.body:t.el??document.body,b(e)){let t,n;w();try{try{e.onInit?.()}catch(t){if(!e.onError)throw t;e.onError(t)}t=e.render()._render(o,null)}finally{T()}try{let t=e.onMount?.();"function"==typeof t&&(n=t)}catch(t){if(!e.onError)throw t;e.onError(t)}return()=>{try{e.onUnmount?.()}catch{}try{n?.()}catch{}t()}}return e._render(o,null)}}}var k=x("nix:portal-outlet");function se(e){D(k,e)}function ce(){return O(k)}function le(e,t){return{__isNixTemplate:!0,mount(e){let t="string"==typeof e?document.querySelector(e)??document.body:e;return{unmount:this._render(t,null)}},_render(n,r){let l=document.createComment("nix-eb");n.insertBefore(l,r);let i,a=null,u=!1,c=!1,f=!1,d=e=>{let n=l.parentNode,o="function"!=typeof t||b(t)?t:t(e);if(b(o)){let e,t;w();try{try{o.onInit?.()}catch{}e=o.render()._render(n,r)}finally{T()}try{let e=o.onMount?.();"function"==typeof e&&(t=e)}catch{}a=()=>{try{o.onUnmount?.()}catch{}t?.(),e()}}else a=o._render(n,r)};o(e=>{u||(u=!0,c?(a?.(),a=null,d(e)):(i=e,f=!0))});try{if(b(e)){w();try{try{e.onInit?.()}catch(t){if(!e.onError)throw t;e.onError(t)}a=e.render()._render(n,r)}finally{T()}if(!u)try{let t=e.onMount?.(),n=a;a=()=>{try{e.onUnmount?.()}catch{}if("function"==typeof t)try{t()}catch{}n?.()}}catch(t){if(!e.onError)throw t;e.onError(t)}}else a=e._render(n,r)}catch(e){u=!0,a?.(),a=null,i=e,f=!0}finally{s(),c=!0}return f&&(a?.(),a=null,d(i)),()=>{a?.(),l.remove()}}}}function A(e){let t=e.name??"nix";return{enterFrom:e.enterFrom??`${t}-enter-from`,enterActive:e.enterActive??`${t}-enter-active`,enterTo:e.enterTo??`${t}-enter-to`,leaveFrom:e.leaveFrom??`${t}-leave-from`,leaveActive:e.leaveActive??`${t}-leave-active`,leaveTo:e.leaveTo??`${t}-leave-to`}}function j(e){return Math.max(0,...e.split(",").map(e=>parseFloat(e)||0))}function M(e,t=0){return new Promise(n=>{let r=getComputedStyle(e),o=1e3*Math.max(j(r.transitionDuration||"0"),j(r.animationDuration||"0")),l=o>0?o+100:t>0?t:0;if(l<=0)return void n();let i,a=t=>{t.target===e&&(clearTimeout(i),e.removeEventListener("transitionend",a),e.removeEventListener("animationend",a),n())};e.addEventListener("transitionend",a),e.addEventListener("animationend",a),i=setTimeout(()=>{e.removeEventListener("transitionend",a),e.removeEventListener("animationend",a),n()},l)})}function ue(e,t={}){let n=A(t);return{__isNixTemplate:!0,mount(e){let t="string"==typeof e?document.querySelector(e)??document.body:e;return{unmount:this._render(t,null)}},_render(r,o){let l=document.createComment("nix-t");r.insertBefore(l,o);let i=null,a=null,u=0,s=!0,c=()=>{let e=l.nextSibling;for(;e&&e!==o;){if(e.nodeType===Node.ELEMENT_NODE)return e;e=e.nextSibling}return null};function f(e){if(b(e)){let t,n=e;w();try{try{n.onInit?.()}catch{}t=n.render()}finally{T()}let l,i=t._render(r,o);try{l=n.onMount?.()}catch{}return()=>{try{n.onUnmount?.()}catch{}if("function"==typeof l)try{l()}catch{}i()}}return e._render(r,o)}let d=(e,r=!1)=>{u++,a&&=(a(),null),i=f(e);let o=c();if(o&&(!s||t.appear)&&!r){let e=u;(async()=>{t.onBeforeEnter?.(o),o.classList.add(n.enterFrom,n.enterActive),o.getBoundingClientRect(),await new Promise(e=>requestAnimationFrame(()=>e())),u===e&&(o.classList.remove(n.enterFrom),o.classList.add(n.enterTo),await M(o,t.duration),u===e&&(o.classList.remove(n.enterActive,n.enterTo),t.onAfterEnter?.(o)))})().catch(()=>{})}s=!1},p=()=>{let e=i;i=null;let r=c();if(!r)return void e?.();let o=++u;a=e??null,(async()=>{t.onBeforeLeave?.(r),r.classList.add(n.leaveFrom,n.leaveActive),r.getBoundingClientRect(),await new Promise(e=>requestAnimationFrame(()=>e())),u===o&&(r.classList.remove(n.leaveFrom),r.classList.add(n.leaveTo),await M(r,t.duration),u===o&&(r.classList.remove(n.leaveActive,n.leaveTo),t.onAfterLeave?.(r),a?.(),a=null))})().catch(()=>{})},h=null;if("function"!=typeof e||b(e))d(e);else{let t=e,n=null;h=m(()=>{let e=t(),r=null===n,o=null===e;r&&!o?d(e):!r&&o?p():!r&&!o&&(u++,a?.(),a=null,i?.(),i=null,d(e,!0)),n=e}),s=!1}return()=>{u++,h?.(),i?.(),a?.(),i=null,a=null,l.remove()}}}}function de(e){let t=e.lastIndexOf(">"),n=e.lastIndexOf("<");if(n<=t)return{type:"node"};let r=e.slice(n+1),o=r.match(/@([\w:.-]+)=["']?$/);if(o){let e=o[1].split(".");return{type:"event",eventName:e[0],modifiers:e.slice(1),hadOpenQuote:o[0].endsWith('"')||o[0].endsWith("'")}}let l=r.match(/([\w:.-]+)=["']?$/);return l?{type:"attr",attrName:l[1],hadOpenQuote:l[0].endsWith('"')||l[0].endsWith("'")}:{type:"node"}}function fe(e,t){let n=Array(e.length).fill(0),r="";for(let o=0;o<e.length;o++){let l=e[o];if(1===n[o]&&('"'===l[0]||"'"===l[0])&&(l=l.slice(1)),o<t.length){let e=t[o];if("node"===e.type)r+=l+`\x3c!--nix-${o}--\x3e`;else if("event"===e.type){let t=`@${e.modifiers.length?`${e.eventName}.${e.modifiers.join(".")}`:e.eventName}=`.length+(e.hadOpenQuote?1:0);r+=l.slice(0,-t)+` data-nix-e-${o}="${e.eventName}"`,e.hadOpenQuote&&(n[o+1]=1)}else{let t=`${e.attrName}=`.length+(e.hadOpenQuote?1:0);r+=l.slice(0,-t)+` data-nix-a-${o}="${e.attrName}"`,e.hadOpenQuote&&(n[o+1]=1)}}else r+=l}return r}function N(e){return"object"==typeof e&&!!e&&!0===e.__isNixTemplate}function pe(e){return"object"==typeof e&&!!e&&!0===e.__isKeyedList}function me(e){let t,n=new Map,r=document.createTreeWalker(e,NodeFilter.SHOW_COMMENT);for(;t=r.nextNode();){let e=t,r=e.nodeValue?.match(/^nix-(\d+)$/);r&&n.set(parseInt(r[1]),e)}return n}function he(e){let t=new Map;return e.querySelectorAll("*").forEach(e=>{let n=Array.from(e.attributes);for(let r of n){let n=r.name.match(/^data-nix-e-(\d+)$/);n?(t.set(parseInt(n[1]),{el:e,type:"event",name:r.value}),e.removeAttribute(r.name)):(n=r.name.match(/^data-nix-a-(\d+)$/),n&&(t.set(parseInt(n[1]),{el:e,type:"attr",name:r.value}),e.removeAttribute(r.name)))}}),t}function P(e,t,n){let r=[],o=[],l=me(e),i=he(e);for(let e=0;e<t.length;e++){let a=t[e],u=n[e];if("event"===a.type){let t=i.get(e);if(!t)continue;let{el:n,name:o}=t,l=u,s=a.modifiers,c={};s.includes("once")&&(c.once=!0),s.includes("capture")&&(c.capture=!0),s.includes("passive")&&(c.passive=!0);let f={enter:"Enter",escape:"Escape",space:" ",tab:"Tab",delete:"Delete",backspace:"Backspace",up:"ArrowUp",down:"ArrowDown",left:"ArrowLeft",right:"ArrowRight"},d=e=>{if(s.includes("prevent")&&e.preventDefault(),s.includes("stop")&&e.stopPropagation(),!s.includes("self")||e.target===e.currentTarget){if("key"in e){let t=e;for(let e of s){let n=f[e];if(void 0!==n&&t.key!==n||!f[e]&&1===e.length&&t.key.toLowerCase()!==e)return}}l(e)}};n.addEventListener(o,d,c),r.push(()=>n.removeEventListener(o,d,c));continue}if("attr"===a.type){let t=i.get(e);if(!t)continue;let{el:n,name:o}=t;if("ref"===o){u.el=n,r.push(()=>{u.el=null});continue}if("show"===o||"hide"===o){let e=n,t=null;if("function"==typeof u){let n=m(()=>{let n=!!u(),r="show"===o?n:!n;null===t&&(t=e.style.display||""),e.style.display=r?t:"none"});r.push(n)}else("show"===o?u:!u)||(n.style.display="none");continue}let l=("value"===o||"checked"===o||"selected"===o)&&o in n;if("function"==typeof u){let e=m(()=>{let e=u();l?n[o]=e??"":null==e||!1===e?n.removeAttribute(o):n.setAttribute(o,String(e))});r.push(e)}else l?n[o]=u??"":null!=u&&!1!==u&&n.setAttribute(o,String(u));continue}let s=l.get(e);if(!s)continue;if("function"!=typeof u){if(b(u)){let e,n,l=u;w();try{try{l.onInit?.()}catch(t){if(!l.onError)throw t;l.onError(t)}e=l.render()._render(s.parentNode,s)}finally{T()}o.push(()=>{try{let e=l.onMount?.();"function"==typeof e&&(n=e)}catch(e){if(!l.onError)throw e;l.onError(e)}}),r.push(()=>{try{l.onUnmount?.()}catch{}try{n?.()}catch{}e()})}else if(N(u)){let e=u._render(s.parentNode,s);r.push(e)}else if(Array.isArray(u))for(let e of u)if(b(e)){let n,l;w();try{try{e.onInit?.()}catch(t){if(!e.onError)throw t;e.onError(t)}n=e.render()._render(s.parentNode,s)}finally{T()}o.push(()=>{try{let t=e.onMount?.();"function"==typeof t&&(l=t)}catch(t){if(!e.onError)throw t;e.onError(t)}}),r.push(()=>{try{e.onUnmount?.()}catch{}try{l?.()}catch{}n()})}else N(e)?e._render(s.parentNode,s):null!=e&&!1!==e&&s.parentNode.insertBefore(document.createTextNode(String(e)),s);else null!=u&&!1!==u&&s.parentNode.insertBefore(document.createTextNode(String(u)),s);continue}let c=null,f=null,d=null,p=C(),h=m(()=>{let e=u();if("string"==typeof e||"number"==typeof e)return f&&=(f(),null),void(c?c.nodeValue=String(e):(c=document.createTextNode(String(e)),s.parentNode.insertBefore(c,s)));if(c&&=(c.parentNode?.removeChild(c),null),f&&=(f(),null),null!=e&&!1!==e)if(N(e))f=e._render(s.parentNode,s);else if(b(e)){let t,n,r=e;E(p,()=>{try{r.onInit?.()}catch(e){if(!r.onError)throw e;r.onError(e)}t=r.render()._render(s.parentNode,s)});try{let e=r.onMount?.();"function"==typeof e&&(n=e)}catch(e){if(!r.onError)throw e;r.onError(e)}f=()=>{try{r.onUnmount?.()}catch{}try{n?.()}catch{}t()}}else if(pe(e)){d||=new Map;let t=s.parentNode,n=e.items.map((t,n)=>e.keyFn(t,n)),r=new Set(n);for(let[e,n]of d)if(!r.has(e)){n.cleanup();let r=n.start;for(;r!==n.end;){let e=r.nextSibling;t.removeChild(r),r=e}t.removeChild(n.end),d.delete(e)}let o=s;for(let r=n.length-1;r>=0;r--){let l=n[r],i=e.items[r];if(d.has(l)){let e=d.get(l);if(e.end.nextSibling!==o){let n=[],r=e.start;for(;n.push(r),r!==e.end;)r=r.nextSibling;for(let e of n)t.insertBefore(e,o)}o=e.start}else{let n=document.createComment("nix-ke"),a=document.createComment("nix-ks");t.insertBefore(n,o),t.insertBefore(a,n);let u,s=e.renderFn(i,r);if(b(s)){let r,o;E(p,()=>{try{s.onInit?.()}catch(e){if(!s.onError)throw e;s.onError(e)}r=s.render()._render(t,n)});try{let e=s.onMount?.();"function"==typeof e&&(o=e)}catch(e){if(!s.onError)throw e;s.onError(e)}u=()=>{try{s.onUnmount?.()}catch{}try{o?.()}catch{}r()}}else u=s._render(t,n);d.set(l,{start:a,end:n,cleanup:u}),o=a}}}else if(Array.isArray(e)){let t=[];for(let n of e)if(b(n)){try{n.onInit?.()}catch(e){if(!n.onError)throw e;n.onError(e)}let r,o=n.render()._render(s.parentNode,s);try{let e=n.onMount?.();"function"==typeof e&&(r=e)}catch(e){if(!n.onError)throw e;n.onError(e)}t.push(()=>{try{n.onUnmount?.()}catch{}try{r?.()}catch{}o()})}else if(N(n))t.push(n._render(s.parentNode,s));else if(null!=n&&!1!==n){let e=document.createTextNode(String(n));s.parentNode.insertBefore(e,s),t.push(()=>e.parentNode?.removeChild(e))}f=()=>t.forEach(e=>e())}else c=document.createTextNode(String(e)),s.parentNode.insertBefore(c,s)});r.push(()=>{if(h(),f&&=(f(),null),c&&=(c.parentNode?.removeChild(c),null),d){for(let e of d.values())e.cleanup();d=null}})}return{disposes:r,postMountHooks:o}}function F(e,...t){let n=[],r="";for(let t=0;t<e.length-1;t++){r+=e[t];let o=de(r);n.push(o),r+="__nix__"}let o=fe(e,n);function l(e,r){let l=document.createElement("template");l.innerHTML=o;let i=l.content,{disposes:a,postMountHooks:u}=P(i,n,t),s=document.createComment("nix-scope");e.insertBefore(s,r);let c=i.firstChild;for(;c;){let t=c.nextSibling;e.insertBefore(c,r),c=t}return u.forEach(e=>e()),()=>{a.forEach(e=>e());let e=s.nextSibling;for(;e&&e!==r;){let t=e.nextSibling;e.parentNode?.removeChild(e),e=t}s.parentNode?.removeChild(s)}}return{__isNixTemplate:!0,_render:l,mount(e){let t="string"==typeof e?document.querySelector(e):e;if(!t)throw Error(`[Nix] mount: contenedor no encontrado: ${e}`);let n=l(t,null);return{unmount(){n()}}}}}function I(e,t){if(b(e)){let n,r,o="string"==typeof t?document.querySelector(t):t;if(!o)throw Error(`[Nix] mount: contenedor no encontrado: ${t}`);w();try{try{e.onInit?.()}catch(t){if(!e.onError)throw t;e.onError(t)}n=e.render()._render(o,null)}finally{T()}try{let t=e.onMount?.();"function"==typeof t&&(r=t)}catch(t){if(!e.onError)throw t;e.onError(t)}return{unmount(){try{e.onUnmount?.()}catch{}try{r?.()}catch{}n()}}}return e.mount(t)}function L(e,t){let n={};for(let t of Object.keys(e))n[t]=p(e[t]);let r=n;let o=Object.assign(Object.create(null),r,{$reset:function(){for(let t of Object.keys(e))n[t].value=e[t]}});if(t){let e=t(r);for(let t of Object.keys(e))"$reset"!==t?o[t]=e[t]:console.warn('[Nix] Store action name "$reset" is reserved and will be ignored.')}return o}var R=null,z=null;function B(){if(!R)throw Error("[Nix] No hay router activo. Llama a createRouter() antes.");return R}function V(e){let t={};return new URLSearchParams(e).forEach((e,n)=>{t[n]=e}),t}function H(e){let t=new URLSearchParams;for(let[n,r]of Object.entries(e))null!=r&&!1!==r&&t.set(n,String(r));let n=t.toString();return n?"?"+n:""}function ge(e){return"*"===e?[{kind:"wildcard"}]:e.split("/").filter(Boolean).map(e=>"*"===e?{kind:"wildcard"}:e.startsWith(":")?{kind:"param",name:e.slice(1)}:{kind:"literal",value:e})}function _e(e,t){return"*"===t?""===e?"*":e+"/*":(e+(t.startsWith("/")?t:"/"+t)).replace(/\/+/g,"/")||"/"}function U(e,t="",n=[]){let r=[];for(let o of e){let e=_e(t,o.path),l=[...n,o.component],i=ge(e);r.push({fullPath:e,segments:i,chain:l,beforeEnter:o.beforeEnter}),o.children?.length&&r.push(...U(o.children,e,l))}return r}function ve(e,t){let n=e.split("/").filter(Boolean),r=t.segments;if(1===r.length&&"wildcard"===r[0].kind)return{};let o=r.length>0&&"wildcard"===r[r.length-1].kind,l=o?r.slice(0,-1):r;if(o){if(n.length<l.length)return null}else if(n.length!==l.length)return null;let i={};for(let e=0;e<l.length;e++){let t=l[e];if("literal"===t.kind){if(n[e]!==t.value)return null}else if("param"===t.kind)try{i[t.name]=decodeURIComponent(n[e]??"")}catch{i[t.name]=n[e]??""}}return i}function ye(e){return e.segments.reduce((e,t)=>"literal"===t.kind?e+2:"param"===t.kind?e+1:e,0)}function W(e,t){let n,r={},o=-1;for(let l of t){let t=ve(e,l);if(null===t)continue;let i=ye(l);i>o&&(n=l,r=t,o=i)}return n?{route:n,params:r}:void 0}function be(e){function t(){return window.location.pathname||"/"}let n=t(),r=U(e),o=W(n,r),l=p(n),i=p(o?.params??{}),a=p(V(window.location.search)),u=[],s=0;function c(e,t,n,r,o){let l=[...u];n&&l.push(n);let i=++s;if(0===l.length)return void r();let a=0;!function n(u){if(i!==s)return;if(!1===u)return void o?.();if("string"==typeof u)return void(u===e?r():h(u));if(a>=l.length)return void r();let c=l[a++](e,t);c instanceof Promise?c.then(n):n(c)}(void 0)}let f=!1;z&&=(z(),null);let d=()=>{let e=t(),n=l.value,o=a.value,u=W(e,r),s=V(window.location.search);c(e,n,u?.route.beforeEnter,()=>{i.value=u?.params??{},a.value=s,l.value=e},()=>{history.pushState(null,"",n+H(o))})};function h(e,t){f=!0;let{pathname:n,stringQuery:o}=function(e,t){let n=e.indexOf("?"),r=-1===n?e:e.slice(0,n),o=-1===n?{}:V(e.slice(n)),l=t?{...o,...t}:o,i={};for(let[e,t]of Object.entries(l))null!=t&&!1!==t&&(i[e]=String(t));return{pathname:r,stringQuery:i}}(e,t),u=l.value,s=W(n,r);c(n,u,s?.route.beforeEnter,()=>{i.value=s?.params??{},a.value=o,l.value=n,history.pushState(null,"",n+H(o))})}window.addEventListener("popstate",d),z=()=>window.removeEventListener("popstate",d);let m={current:l,params:i,query:a,navigate:h,beforeEach:function(e){return u.push(e),()=>{let t=u.indexOf(e);-1!==t&&u.splice(t,1)}},routes:e,_flat:r,_guards:u};return R&&console.warn("[Nix] A router already exists. The previous router is being replaced. Only one router instance should be active at a time."),R=m,queueMicrotask(()=>{f||c(n,"",W(n,r)?.route.beforeEnter,()=>{},()=>{history.replaceState(null,"","/");let e=W("/",r);l.value="/",i.value=e?.params??{},a.value={}})}),m}function xe(){return B()}var Se=class extends y{_depth;constructor(e=0){super(),this._depth=e}render(){let e=this._depth;return F`<div class="router-view">${()=>{let t=B(),n=W(t.current.value,t._flat);return n?e>=n.route.chain.length?F`<span></span>`:n.route.chain[e]():F`<div style="color:#f87171;padding:16px 0">
1064
2
  404 — Ruta no encontrada: <strong>${t.current.value}</strong>
1065
- </div>`;
1066
- }}</div>`;
1067
- }
1068
- }, Ce = class extends y {
1069
- _to;
1070
- _label;
1071
- constructor(e, t) {
1072
- super(), this._to = e, this._label = t;
1073
- }
1074
- render() {
1075
- let e = this._to;
1076
- return F`<a
3
+ </div>`}}</div>`}},Ce=class extends y{_to;_label;constructor(e,t){super(),this._to=e,this._label=t}render(){let e=this._to;return F`<a
1077
4
  href=${e}
1078
- style=${() => B().current.value === e ? "color:#38bdf8;font-weight:700;text-decoration:none;cursor:pointer;padding:4px 10px;border-radius:4px;background:#0c2a3a" : "color:#a3a3a3;text-decoration:none;cursor:pointer;padding:4px 10px;border-radius:4px"}
1079
- @click=${(t) => {
1080
- t.preventDefault(), B().navigate(e);
1081
- }}
1082
- >${this._label}</a>`;
1083
- }
1084
- };
1085
- function G(e, t, n = {}) {
1086
- let { fallback: r, errorFallback: i, resetOnRefresh: a = !1 } = n, o = r ?? F`
5
+ style=${()=>B().current.value===e?"color:#38bdf8;font-weight:700;text-decoration:none;cursor:pointer;padding:4px 10px;border-radius:4px;background:#0c2a3a":"color:#a3a3a3;text-decoration:none;cursor:pointer;padding:4px 10px;border-radius:4px"}
6
+ @click=${t=>{t.preventDefault(),B().navigate(e)}}
7
+ >${this._label}</a>`}};function G(e,t,n={}){let{fallback:r,errorFallback:o,resetOnRefresh:l=!1}=n,i=r??F`
1087
8
  <span style="color:#52525b;font-size:13px;display:inline-flex;align-items:center;gap:6px">
1088
9
  <span class="nix-spinner" style="
1089
10
  display:inline-block;width:14px;height:14px;border-radius:50%;
@@ -1093,180 +14,8 @@ function G(e, t, n = {}) {
1093
14
  Cargando…
1094
15
  </span>
1095
16
  <style>@keyframes nix-spin{to{transform:rotate(360deg)}}</style>
1096
- `, s = i ?? ((e) => F`
17
+ `,a=o??(e=>F`
1097
18
  <span style="color:#f87171;font-size:13px">
1098
- ⚠ ${e instanceof Error ? e.message : String(e)}
19
+ ⚠ ${e instanceof Error?e.message:String(e)}
1099
20
  </span>
1100
- `);
1101
- class c extends y {
1102
- _state = p({ status: "pending" });
1103
- onMount() {
1104
- this._run();
1105
- }
1106
- _run() {
1107
- (a || this._state.peek().status === "pending") && (this._state.value = { status: "pending" }), e().then((e) => {
1108
- this._state.value = {
1109
- status: "resolved",
1110
- data: e
1111
- };
1112
- }, (e) => {
1113
- this._state.value = {
1114
- status: "error",
1115
- error: e
1116
- };
1117
- });
1118
- }
1119
- render() {
1120
- return F`<div class="nix-suspense" style="display:contents">${() => {
1121
- let e = this._state.value;
1122
- return e.status === "pending" ? o : e.status === "error" ? s(e.error) : t(e.data);
1123
- }}</div>`;
1124
- }
1125
- }
1126
- return new c();
1127
- }
1128
- function we(e, t) {
1129
- let n = null;
1130
- return () => n ? new n() : G(async () => (n = (await e()).default, n), (e) => new e(), { fallback: t });
1131
- }
1132
- function K(e = "Required") {
1133
- return (t) => t == null || t === "" || Array.isArray(t) && t.length === 0 ? e : null;
1134
- }
1135
- function q(e, t) {
1136
- return (n) => typeof n == "string" && n.length < e ? t ?? `Minimum ${e} characters` : null;
1137
- }
1138
- function J(e, t) {
1139
- return (n) => typeof n == "string" && n.length > e ? t ?? `Maximum ${e} characters` : null;
1140
- }
1141
- function Y(e, t = "Invalid format") {
1142
- return (n) => typeof n == "string" && !e.test(n) ? t : null;
1143
- }
1144
- function X(e = "Invalid email") {
1145
- return Y(/^[^\s@]+@[^\s@]+\.[^\s@]+$/, e);
1146
- }
1147
- function Z(e, t) {
1148
- return (n) => typeof n == "number" && n < e ? t ?? `Minimum value is ${e}` : null;
1149
- }
1150
- function Q(e, t) {
1151
- return (n) => typeof n == "number" && n > e ? t ?? `Maximum value is ${e}` : null;
1152
- }
1153
- function Te(e) {
1154
- return e;
1155
- }
1156
- const Ee = {
1157
- required: K,
1158
- minLength: q,
1159
- maxLength: J,
1160
- email: X,
1161
- pattern: Y,
1162
- min: Z,
1163
- max: Q
1164
- };
1165
- function De(e, t) {
1166
- return {
1167
- ...e,
1168
- ...t
1169
- };
1170
- }
1171
- function $(e, t = []) {
1172
- let n = p(e), r = p(!1), i = p(!1), a = p(null), o = h(() => {
1173
- if (a.value) return a.value;
1174
- if (!r.value && !i.value) return null;
1175
- for (let e of t) {
1176
- let t = e(n.value);
1177
- if (t) return t;
1178
- }
1179
- return null;
1180
- });
1181
- function s(t) {
1182
- return typeof e == "boolean" ? t.checked : typeof e == "number" ? Number(t.value) : t.value;
1183
- }
1184
- let c = (e) => {
1185
- n.value = s(e.target), i.value = !0, a.value = null;
1186
- }, l = () => {
1187
- r.value = !0;
1188
- };
1189
- function u() {
1190
- n.value = e, r.value = !1, i.value = !1, a.value = null;
1191
- }
1192
- function d(e) {
1193
- a.value = e, e && (r.value = !0);
1194
- }
1195
- return {
1196
- value: n,
1197
- error: o,
1198
- touched: r,
1199
- dirty: i,
1200
- onInput: c,
1201
- onBlur: l,
1202
- reset: u,
1203
- _setExternalError: d
1204
- };
1205
- }
1206
- function Oe(e, t = {}) {
1207
- let n = {};
1208
- for (let r in e) {
1209
- let i = t.validators?.[r] ?? [];
1210
- n[r] = $(e[r], i);
1211
- }
1212
- let r = h(() => {
1213
- let e = {};
1214
- for (let t in n) e[t] = n[t].value.value;
1215
- return e;
1216
- }), i = h(() => {
1217
- let e = {};
1218
- for (let t in n) {
1219
- let r = n[t].error.value;
1220
- r && (e[t] = r);
1221
- }
1222
- return e;
1223
- }), a = h(() => {
1224
- for (let e in n) if (n[e].error.value) return !1;
1225
- return !0;
1226
- }), o = h(() => {
1227
- for (let e in n) if (n[e].dirty.value) return !0;
1228
- return !1;
1229
- });
1230
- function s(e) {
1231
- for (let t in e) n[t]?._setExternalError(e[t] ?? null);
1232
- }
1233
- function c() {
1234
- for (let e in n) n[e].reset();
1235
- }
1236
- function l(e) {
1237
- return (i) => {
1238
- i.preventDefault();
1239
- for (let e in n) n[e].touched.value = !0;
1240
- let a = r.value;
1241
- if (t.validate) {
1242
- let e = t.validate(a);
1243
- if (e) {
1244
- let t = {}, n = !1;
1245
- for (let r in e) {
1246
- let i = e[r], a = Array.isArray(i) ? i[0] ?? null : i ?? null;
1247
- a && (t[r] = a, n = !0);
1248
- }
1249
- if (n) {
1250
- s(t);
1251
- return;
1252
- }
1253
- }
1254
- }
1255
- for (let e in n) if (n[e].error.value) return;
1256
- e(a);
1257
- };
1258
- }
1259
- return {
1260
- fields: n,
1261
- values: r,
1262
- errors: i,
1263
- valid: a,
1264
- dirty: o,
1265
- handleSubmit: l,
1266
- reset: c,
1267
- setErrors: s
1268
- };
1269
- }
1270
- export { Ce as Link, y as NixComponent, Se as RouterView, f as Signal, g as batch, h as computed, le as createErrorBoundary, Oe as createForm, x as createInjectionKey, ie as createPortalOutlet, be as createRouter, L as createStore, Te as createValidator, m as effect, X as email, De as extendValidators, F as html, O as inject, ce as injectOutlet, we as lazy, Q as max, J as maxLength, Z as min, q as minLength, I as mount, v as nextTick, Y as pattern, oe as portal, ae as portalOutlet, D as provide, se as provideOutlet, te as ref, re as repeat, K as required, ne as showWhen, p as signal, G as suspend, ue as transition, _ as untrack, $ as useField, xe as useRouter, Ee as validators, ee as watch };
1271
-
1272
- //# sourceMappingURL=nix-js.js.map
21
+ `);return new class extends y{_state=p({status:"pending"});onMount(){this._run()}_run(){(l||"pending"===this._state.peek().status)&&(this._state.value={status:"pending"}),e().then(e=>{this._state.value={status:"resolved",data:e}},e=>{this._state.value={status:"error",error:e}})}render(){return F`<div class="nix-suspense" style="display:contents">${()=>{let e=this._state.value;return"pending"===e.status?i:"error"===e.status?a(e.error):t(e.data)}}</div>`}}}function we(e,t){let n=null;return()=>n?new n:G(async()=>(n=(await e()).default,n),e=>new e,{fallback:t})}function K(e="Required"){return t=>null==t||""===t||Array.isArray(t)&&0===t.length?e:null}function q(e,t){return n=>"string"==typeof n&&n.length<e?t??`Minimum ${e} characters`:null}function J(e,t){return n=>"string"==typeof n&&n.length>e?t??`Maximum ${e} characters`:null}function Y(e,t="Invalid format"){return n=>"string"!=typeof n||e.test(n)?null:t}function X(e="Invalid email"){return Y(/^[^\s@]+@[^\s@]+\.[^\s@]+$/,e)}function Z(e,t){return n=>"number"==typeof n&&n<e?t??`Minimum value is ${e}`:null}function Q(e,t){return n=>"number"==typeof n&&n>e?t??`Maximum value is ${e}`:null}function Te(e){return e}const Ee={required:K,minLength:q,maxLength:J,email:X,pattern:Y,min:Z,max:Q};function De(e,t){return{...e,...t}}function $(e,t=[]){let n=p(e),r=p(!1),o=p(!1),l=p(null),i=h(()=>{if(l.value)return l.value;if(!r.value&&!o.value)return null;for(let e of t){let t=e(n.value);if(t)return t}return null});function a(t){if(!t||!("value"in t))return e;let n=t;return"boolean"==typeof e?n.checked:"number"==typeof e?Number(n.value):n.value}return{value:n,error:i,touched:r,dirty:o,onInput:e=>{n.value=a(e.target),o.value=!0,l.value=null},onBlur:()=>{r.value=!0},reset:function(){n.value=e,r.value=!1,o.value=!1,l.value=null},_setExternalError:function(e){l.value=e,e&&(r.value=!0)}}}function Oe(e,t={}){let n={};for(let r in e){let o=t.validators?.[r]??[];n[r]=$(e[r],o)}let r=h(()=>{let e={};for(let t in n)e[t]=n[t].value.value;return e}),o=h(()=>{let e={};for(let t in n){let r=n[t].error.value;r&&(e[t]=r)}return e}),l=h(()=>{for(let e in n)if(n[e].error.value)return!1;return!0}),i=h(()=>{for(let e in n)if(n[e].dirty.value)return!0;return!1});function a(e){for(let t in e)n[t]?._setExternalError(e[t]??null)}return{fields:n,values:r,errors:o,valid:l,dirty:i,handleSubmit:function(e){return o=>{o.preventDefault();for(let e in n)n[e].touched.value=!0;let l=r.value;if(t.validate){let e=t.validate(l);if(e){let t={},n=!1;for(let r in e){let o=e[r],l=Array.isArray(o)?o[0]??null:o??null;l&&(t[r]=l,n=!0)}if(n)return void a(t)}}for(let e in n)if(n[e].error.value)return;e(l)}},reset:function(){for(let e in n)n[e].reset()},setErrors:a}}export{Ce as Link,y as NixComponent,Se as RouterView,f as Signal,g as batch,h as computed,le as createErrorBoundary,Oe as createForm,x as createInjectionKey,ie as createPortalOutlet,be as createRouter,L as createStore,Te as createValidator,m as effect,X as email,De as extendValidators,F as html,O as inject,ce as injectOutlet,we as lazy,Q as max,J as maxLength,Z as min,q as minLength,I as mount,v as nextTick,Y as pattern,oe as portal,ae as portalOutlet,D as provide,se as provideOutlet,te as ref,re as repeat,K as required,ne as showWhen,p as signal,G as suspend,ue as transition,_ as untrack,$ as useField,xe as useRouter,Ee as validators,ee as watch};