xote 4.1.1 → 4.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.
package/dist/xote.mjs CHANGED
@@ -1,21 +1,21 @@
1
- let L = {
1
+ let U = {
2
2
  contents: 0
3
3
  };
4
- function z() {
5
- return L.contents = L.contents + 1 | 0, L.contents;
4
+ function Q() {
5
+ return U.contents = U.contents + 1 | 0, U.contents;
6
6
  }
7
- function ge(e) {
7
+ function xe(e) {
8
8
  return e === void 0 ? {
9
9
  BS_PRIVATE_NESTED_SOME_NONE: 0
10
10
  } : e !== null && e.BS_PRIVATE_NESTED_SOME_NONE !== void 0 ? {
11
11
  BS_PRIVATE_NESTED_SOME_NONE: e.BS_PRIVATE_NESTED_SOME_NONE + 1 | 0
12
12
  } : e;
13
13
  }
14
- function Se(e) {
14
+ function Re(e) {
15
15
  if (e != null)
16
- return ge(e);
16
+ return xe(e);
17
17
  }
18
- function Q(e) {
18
+ function oe(e) {
19
19
  if (e === null || e.BS_PRIVATE_NESTED_SOME_NONE === void 0)
20
20
  return e;
21
21
  let t = e.BS_PRIVATE_NESTED_SOME_NONE;
@@ -24,21 +24,21 @@ function Q(e) {
24
24
  BS_PRIVATE_NESTED_SOME_NONE: t - 1 | 0
25
25
  };
26
26
  }
27
- function V(e, t) {
28
- return e !== void 0 ? Q(e) : t;
27
+ function Y(e, t) {
28
+ return e !== void 0 ? oe(e) : t;
29
29
  }
30
- function ve(e, t, n) {
30
+ function De(e, t, n) {
31
31
  return e.reduce(n, t);
32
32
  }
33
- function Ee(e, t) {
33
+ function Fe(e, t) {
34
34
  let n = e.length, r = new Array(n), l = 0;
35
- for (let o = 0; o < n; ++o) {
36
- let u = e[o], s = t(u);
37
- s !== void 0 && (r[l] = Q(s), l = l + 1 | 0);
35
+ for (let u = 0; u < n; ++u) {
36
+ let a = e[u], o = t(a);
37
+ o !== void 0 && (r[l] = oe(o), l = l + 1 | 0);
38
38
  }
39
39
  return r.length = l, r;
40
40
  }
41
- function we(e, t) {
41
+ function Le(e, t) {
42
42
  let n = 0;
43
43
  for (; ; ) {
44
44
  let r = n;
@@ -50,193 +50,193 @@ function we(e, t) {
50
50
  n = r + 1 | 0;
51
51
  }
52
52
  }
53
- let d = /* @__PURE__ */ new Map(), N = /* @__PURE__ */ new Map(), x = /* @__PURE__ */ new Map(), a = {
53
+ let h = /* @__PURE__ */ new Map(), j = /* @__PURE__ */ new Map(), P = /* @__PURE__ */ new Map(), p = {
54
54
  contents: void 0
55
- }, C = /* @__PURE__ */ new Set(), E = {
55
+ }, I = /* @__PURE__ */ new Set(), k = {
56
56
  contents: !1
57
- }, g = {
57
+ }, y = {
58
58
  contents: !1
59
59
  };
60
- function B(e) {
61
- if (N.get(e) === void 0) {
62
- N.set(e, /* @__PURE__ */ new Set());
60
+ function Z(e) {
61
+ if (j.get(e) === void 0) {
62
+ j.set(e, /* @__PURE__ */ new Set());
63
63
  return;
64
64
  }
65
65
  }
66
- function be(e, t) {
67
- let n = N.get(e);
66
+ function Pe(e, t) {
67
+ let n = j.get(e);
68
68
  if (n !== void 0) {
69
69
  n.forEach(t);
70
70
  return;
71
71
  }
72
72
  }
73
- function ye(e, t) {
74
- let n = N.get(e);
73
+ function Ge(e, t) {
74
+ let n = j.get(e);
75
75
  if (n !== void 0) {
76
76
  n.add(t);
77
77
  return;
78
78
  }
79
79
  }
80
- function ke(e, t) {
81
- let n = N.get(e);
80
+ function Be(e, t) {
81
+ let n = j.get(e);
82
82
  if (n !== void 0) {
83
83
  n.delete(t);
84
84
  return;
85
85
  }
86
86
  }
87
- function Te(e) {
88
- return Array.from(V(N.get(e), /* @__PURE__ */ new Set()).values());
87
+ function Ve(e) {
88
+ return Array.from(Y(j.get(e), /* @__PURE__ */ new Set()).values());
89
89
  }
90
- function Y(e, t) {
91
- let n = a.contents;
92
- a.contents = e;
90
+ function ce(e, t) {
91
+ let n = p.contents;
92
+ p.contents = e;
93
93
  try {
94
94
  let r = t();
95
- return a.contents = n, r;
95
+ return p.contents = n, r;
96
96
  } catch (r) {
97
- throw a.contents = n, r;
97
+ throw p.contents = n, r;
98
98
  }
99
99
  }
100
- function Ae(e) {
101
- let t = a.contents;
102
- a.contents = void 0;
100
+ function ze(e) {
101
+ let t = p.contents;
102
+ p.contents = void 0;
103
103
  try {
104
104
  let n = e();
105
- return a.contents = t, n;
105
+ return p.contents = t, n;
106
106
  } catch (n) {
107
- throw a.contents = t, n;
107
+ throw p.contents = t, n;
108
108
  }
109
109
  }
110
- function Oe(e) {
111
- let t = a.contents;
110
+ function We(e) {
111
+ let t = p.contents;
112
112
  return t !== void 0 ? t === e : !1;
113
113
  }
114
- function Ce(e) {
115
- if (!E.contents) {
116
- E.contents = !0;
114
+ function Ke(e) {
115
+ if (!k.contents) {
116
+ k.contents = !0;
117
117
  try {
118
- e(), E.contents = !1;
118
+ e(), k.contents = !1;
119
119
  return;
120
120
  } catch (t) {
121
- throw E.contents = !1, t;
121
+ throw k.contents = !1, t;
122
122
  }
123
123
  }
124
124
  }
125
- function Ne(e, t) {
126
- B(t);
127
- let n = Oe(e), r = d.get(e);
125
+ function Xe(e, t) {
126
+ Z(t);
127
+ let n = We(e), r = h.get(e);
128
128
  if (n && r !== void 0 && !r.deps.has(t))
129
- return r.deps.add(t), ye(t, e);
129
+ return r.deps.add(t), Ge(t, e);
130
130
  }
131
- function $(e) {
132
- e.deps.forEach((t) => ke(t, e.id)), e.deps.clear();
131
+ function x(e) {
132
+ e.deps.forEach((t) => Be(t, e.id)), e.deps.clear();
133
133
  }
134
- function $e(e) {
135
- let t = x.get(e);
134
+ function qe(e) {
135
+ let t = P.get(e);
136
136
  if (t === void 0)
137
137
  return;
138
- x.delete(e);
139
- let n = d.get(t);
138
+ P.delete(e);
139
+ let n = h.get(t);
140
140
  if (n !== void 0) {
141
- $(n), d.delete(t);
141
+ x(n), h.delete(t);
142
142
  return;
143
143
  }
144
144
  }
145
- function Z(e) {
146
- return ve(e, 0, (t, n) => n > t ? n : t);
145
+ function de(e) {
146
+ return De(e, 0, (t, n) => n > t ? n : t);
147
147
  }
148
- function xe(e) {
148
+ function He(e) {
149
149
  let t = [];
150
- return e.deps.forEach((n) => be(n, (r) => {
150
+ return e.deps.forEach((n) => Pe(n, (r) => {
151
151
  if (r === e.id)
152
152
  return;
153
- let l = d.get(r);
153
+ let l = h.get(r);
154
154
  if (l === void 0)
155
155
  return;
156
156
  if (typeof l.kind == "object") {
157
157
  t.push(l.level);
158
158
  return;
159
159
  }
160
- })), Z(t) + 1 | 0;
160
+ })), de(t) + 1 | 0;
161
161
  }
162
- function Me(e) {
162
+ function Ue(e) {
163
163
  let t = [];
164
164
  return e.deps.forEach((n) => {
165
- let r = x.get(n);
165
+ let r = P.get(n);
166
166
  if (r === void 0 || r === e.id)
167
167
  return;
168
- let l = d.get(r);
168
+ let l = h.get(r);
169
169
  if (l !== void 0) {
170
170
  t.push(l.level);
171
171
  return;
172
172
  }
173
- }), Z(t) + 1 | 0;
173
+ }), de(t) + 1 | 0;
174
174
  }
175
- function P(e) {
176
- return typeof e.kind == "object" ? Me(e) : xe(e);
175
+ function z(e) {
176
+ return typeof e.kind == "object" ? Ue(e) : He(e);
177
177
  }
178
- function Ie(e, t) {
179
- let n = d.get(e), r = d.get(t);
178
+ function Je(e, t) {
179
+ let n = h.get(e), r = h.get(t);
180
180
  if (n === void 0)
181
181
  return r !== void 0 ? 1 : 0;
182
182
  if (r === void 0)
183
183
  return -1;
184
- let o = typeof n.kind == "object" ? 0 : 1, s = typeof r.kind == "object" ? 0 : 1, c = o - s | 0;
184
+ let u = typeof n.kind == "object" ? 0 : 1, o = typeof r.kind == "object" ? 0 : 1, c = u - o | 0;
185
185
  return c !== 0 ? c : n.level - r.level | 0;
186
186
  }
187
- function De(e) {
188
- g.contents = !0, $(e), Y(e.id, () => {
189
- e.run(), g.contents = !1;
190
- }), e.level = P(e);
191
- }
192
- function ee() {
193
- for (; C.size > 0; ) {
194
- let e = Array.from(C.values());
195
- C.clear(), e.sort(Ie), e.forEach((t) => {
196
- let n = d.get(t);
187
+ function Qe(e) {
188
+ y.contents = !0, x(e), ce(e.id, () => {
189
+ e.run(), y.contents = !1;
190
+ }), e.level = z(e);
191
+ }
192
+ function se() {
193
+ for (; I.size > 0; ) {
194
+ let e = Array.from(I.values());
195
+ I.clear(), e.sort(Je), e.forEach((t) => {
196
+ let n = h.get(t);
197
197
  if (n !== void 0)
198
- return De(n);
198
+ return Qe(n);
199
199
  });
200
200
  }
201
201
  }
202
- function te(e) {
203
- if (B(e), Te(e).forEach((t) => {
204
- let n = d.get(t);
202
+ function ae(e) {
203
+ if (Z(e), Ve(e).forEach((t) => {
204
+ let n = h.get(t);
205
205
  if (n === void 0)
206
206
  return;
207
207
  let r = n.kind;
208
208
  if (typeof r == "object")
209
- return n.dirty ? void 0 : (n.dirty = !0, te(r.VAL));
210
- C.add(t);
211
- }), C.size > 0)
212
- return Ce(ee);
209
+ return n.dirty ? void 0 : (n.dirty = !0, ae(r.VAL));
210
+ I.add(t);
211
+ }), I.size > 0)
212
+ return Ke(se);
213
213
  }
214
- function ne(e) {
215
- let t = x.get(e);
214
+ function fe(e) {
215
+ let t = P.get(e);
216
216
  if (t === void 0)
217
217
  return;
218
- let n = d.get(t);
218
+ let n = h.get(t);
219
219
  if (n !== void 0 && n.dirty) {
220
- g.contents = !0, $(n), Y(t, () => {
221
- n.run(), n.dirty = !1, g.contents = !1;
222
- }), n.level = P(n);
220
+ y.contents = !0, x(n), ce(t, () => {
221
+ n.run(), n.dirty = !1, y.contents = !1;
222
+ }), n.level = z(n);
223
223
  return;
224
224
  }
225
225
  }
226
- function je(e) {
227
- let t = E.contents;
228
- E.contents = !0;
226
+ function Ye(e) {
227
+ let t = k.contents;
228
+ k.contents = !0;
229
229
  try {
230
230
  let n = e();
231
- return t || (E.contents = !1, C.size > 0 && ee()), n;
231
+ return t || (k.contents = !1, I.size > 0 && se()), n;
232
232
  } catch (n) {
233
- throw t || (E.contents = !1), n;
233
+ throw t || (k.contents = !1), n;
234
234
  }
235
235
  }
236
- let Pe = Ae, Ge = B;
237
- function re(e, t, n) {
238
- let r = z();
239
- return Ge(r), {
236
+ let Ze = ze, et = Z;
237
+ function pe(e, t, n) {
238
+ let r = Q();
239
+ return et(r), {
240
240
  id: r,
241
241
  value: {
242
242
  contents: e
@@ -244,19 +244,19 @@ function re(e, t, n) {
244
244
  version: {
245
245
  contents: 0
246
246
  },
247
- equals: V(n, (l, o) => l === o),
247
+ equals: Y(n, (l, u) => l === u),
248
248
  name: t
249
249
  };
250
250
  }
251
- function Le(e) {
252
- ne(e.id);
253
- let t = a.contents;
254
- return t !== void 0 && Ne(t, e.id), e.value.contents;
251
+ function tt(e) {
252
+ fe(e.id);
253
+ let t = p.contents;
254
+ return t !== void 0 && Xe(t, e.id), e.value.contents;
255
255
  }
256
- function Re(e) {
257
- return ne(e.id), e.value.contents;
256
+ function nt(e) {
257
+ return fe(e.id), e.value.contents;
258
258
  }
259
- function le(e, t) {
259
+ function me(e, t) {
260
260
  let n;
261
261
  try {
262
262
  n = !e.equals(e.value.contents, t);
@@ -264,101 +264,102 @@ function le(e, t) {
264
264
  n = !0;
265
265
  }
266
266
  if (n)
267
- return e.value.contents = t, e.version.contents = e.version.contents + 1 | 0, te(e.id);
267
+ return e.value.contents = t, e.version.contents = e.version.contents + 1 | 0, ae(e.id);
268
268
  }
269
- function Fe(e, t) {
270
- le(e, t(e.value.contents));
269
+ function rt(e, t) {
270
+ me(e, t(e.value.contents));
271
271
  }
272
- let ze, Ve, Be = je, We = Pe;
273
- const Xe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
272
+ let lt, ut, it = Ye, ot = Ze;
273
+ const ct = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
274
274
  __proto__: null,
275
- Id: ze,
276
- Scheduler: Ve,
277
- batch: Be,
278
- get: Le,
279
- make: re,
280
- peek: Re,
281
- set: le,
282
- untrack: We,
283
- update: Fe
275
+ Id: lt,
276
+ Scheduler: ut,
277
+ batch: it,
278
+ get: tt,
279
+ make: pe,
280
+ peek: nt,
281
+ set: me,
282
+ untrack: ot,
283
+ update: rt
284
284
  }, Symbol.toStringTag, { value: "Module" }));
285
- function ue(e, t, n) {
285
+ function he(e, t, n, r) {
286
286
  return {
287
287
  id: e,
288
288
  kind: t,
289
289
  run: n,
290
290
  deps: /* @__PURE__ */ new Set(),
291
291
  level: 0,
292
- dirty: !0
292
+ dirty: !0,
293
+ name: r
293
294
  };
294
295
  }
295
- function qe(e) {
296
- let t = z(), n = {
296
+ function dt(e, t) {
297
+ let n = Q(), r = {
297
298
  contents: void 0
298
- }, l = ue(t, "Effect", () => {
299
- let s = n.contents;
300
- s !== void 0 && s(), n.contents = e();
301
- });
302
- d.set(t, l), g.contents = !0, $(l);
303
- let o = a.contents;
304
- a.contents = t;
299
+ }, u = he(n, "Effect", () => {
300
+ let c = r.contents;
301
+ c !== void 0 && c(), r.contents = e();
302
+ }, t);
303
+ h.set(n, u), y.contents = !0, x(u);
304
+ let a = p.contents;
305
+ p.contents = n;
305
306
  try {
306
- l.run(), g.contents = !1;
307
- } catch (s) {
308
- throw a.contents = o, g.contents = !1, s;
307
+ u.run(), y.contents = !1;
308
+ } catch (c) {
309
+ throw p.contents = a, y.contents = !1, c;
309
310
  }
310
- return a.contents = o, l.level = P(l), {
311
+ return p.contents = a, u.level = z(u), {
311
312
  dispose: () => {
312
- let s = d.get(t);
313
- if (s === void 0)
313
+ let c = h.get(n);
314
+ if (c === void 0)
314
315
  return;
315
- let c = n.contents;
316
- c !== void 0 && c(), $(s), d.delete(t);
316
+ let R = r.contents;
317
+ R !== void 0 && R(), x(c), h.delete(n);
317
318
  }
318
319
  };
319
320
  }
320
- let He, Ue, Je;
321
- const Ke = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
321
+ let st, at, ft;
322
+ const pt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
322
323
  __proto__: null,
323
- Id: He,
324
- Observer: Ue,
325
- Scheduler: Je,
326
- run: qe
324
+ Id: st,
325
+ Observer: at,
326
+ Scheduler: ft,
327
+ run: dt
327
328
  }, Symbol.toStringTag, { value: "Module" }));
328
- function Qe(e) {
329
- let t = re(void 0, void 0, void 0), n = z(), r = () => {
330
- let u = e();
331
- t.value.contents = u;
332
- }, l = ue(n, {
329
+ function mt(e, t) {
330
+ let n = pe(void 0, t, void 0), r = Q(), l = () => {
331
+ let o = e();
332
+ n.value.contents = o;
333
+ }, u = he(r, {
333
334
  NAME: "Computed",
334
- VAL: t.id
335
- }, r);
336
- d.set(n, l), g.contents = !0, $(l);
337
- let o = a.contents;
338
- a.contents = n;
335
+ VAL: n.id
336
+ }, l, void 0);
337
+ h.set(r, u), y.contents = !0, x(u);
338
+ let a = p.contents;
339
+ p.contents = r;
339
340
  try {
340
- l.run(), l.dirty = !1, g.contents = !1;
341
- } catch (u) {
342
- throw a.contents = o, g.contents = !1, u;
341
+ u.run(), u.dirty = !1, y.contents = !1;
342
+ } catch (o) {
343
+ throw p.contents = a, y.contents = !1, o;
343
344
  }
344
- return a.contents = o, l.level = P(l), x.set(t.id, n), t;
345
+ return p.contents = a, u.level = z(u), P.set(n.id, r), n;
345
346
  }
346
- function Ye(e) {
347
- $e(e.id);
347
+ function ht(e) {
348
+ qe(e.id);
348
349
  }
349
- let Ze, et, tt, nt;
350
- const rt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
350
+ let _t, gt, St, Et;
351
+ const vt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
351
352
  __proto__: null,
352
- Id: Ze,
353
- Observer: tt,
354
- Scheduler: nt,
355
- Signal: et,
356
- dispose: Ye,
357
- make: Qe
353
+ Id: _t,
354
+ Observer: St,
355
+ Scheduler: Et,
356
+ Signal: gt,
357
+ dispose: ht,
358
+ make: mt
358
359
  }, Symbol.toStringTag, { value: "Module" }));
359
- let i = Xe, h = rt, _ = Ke;
360
- function oe(e) {
361
- return Ee(e.split("/"), (t) => {
360
+ let s = ct, S = vt, w = pt;
361
+ function _e(e) {
362
+ return Fe(e.split("/"), (t) => {
362
363
  if (t !== "")
363
364
  return t.startsWith(":") ? {
364
365
  TAG: "Param",
@@ -369,29 +370,68 @@ function oe(e) {
369
370
  };
370
371
  });
371
372
  }
372
- function ie(e, t) {
373
- let n = t.split("/").filter((o) => o !== "");
373
+ function ge(e, t) {
374
+ let n = t.split("/").filter((u) => u !== "");
374
375
  if (e.length !== n.length)
375
376
  return "NoMatch";
376
377
  let r = {};
377
- return e.every((o, u) => {
378
- let s = n[u];
379
- return o.TAG === "Static" ? s === o._0 : (r[o._0] = s, !0);
378
+ return e.every((u, a) => {
379
+ let o = n[a];
380
+ return u.TAG === "Static" ? o === u._0 : (r[u._0] = o, !0);
380
381
  }) ? {
381
382
  TAG: "Match",
382
383
  _0: r
383
384
  } : "NoMatch";
384
385
  }
385
- function W(e, t) {
386
- return ie(oe(e), t);
386
+ function ee(e, t) {
387
+ return ge(_e(e), t);
387
388
  }
388
- const lt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
389
+ const yt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
389
390
  __proto__: null,
390
- match: W,
391
- matchPath: ie,
392
- parsePattern: oe
391
+ match: ee,
392
+ matchPath: ge,
393
+ parsePattern: _e
393
394
  }, Symbol.toStringTag, { value: "Module" }));
394
- function se(e, t) {
395
+ function bt(e, t) {
396
+ delete e[t];
397
+ }
398
+ let wt = {}, V = {
399
+ contents: void 0
400
+ };
401
+ function kt() {
402
+ return {
403
+ disposers: [],
404
+ computeds: []
405
+ };
406
+ }
407
+ function C(e, t) {
408
+ let n = V.contents;
409
+ V.contents = e;
410
+ let r = t();
411
+ return V.contents = n, r;
412
+ }
413
+ function N(e, t) {
414
+ e.disposers.push(t);
415
+ }
416
+ function Se(e) {
417
+ e.disposers.forEach((t) => t.dispose()), e.computeds.forEach((t) => S.dispose(t));
418
+ }
419
+ function M(e, t) {
420
+ e.__xote_owner__ = t;
421
+ }
422
+ function Ee(e) {
423
+ return Re(e.__xote_owner__);
424
+ }
425
+ let Ot = {
426
+ currentOwner: V,
427
+ createOwner: kt,
428
+ runWithOwner: C,
429
+ addDisposer: N,
430
+ disposeOwner: Se,
431
+ setOwner: M,
432
+ getOwner: Ee
433
+ };
434
+ function ve(e, t) {
395
435
  return [
396
436
  e,
397
437
  {
@@ -400,7 +440,7 @@ function se(e, t) {
400
440
  }
401
441
  ];
402
442
  }
403
- function ut(e, t) {
443
+ function ye(e, t) {
404
444
  return [
405
445
  e,
406
446
  {
@@ -409,7 +449,7 @@ function ut(e, t) {
409
449
  }
410
450
  ];
411
451
  }
412
- function ot(e, t) {
452
+ function be(e, t) {
413
453
  return [
414
454
  e,
415
455
  {
@@ -418,437 +458,405 @@ function ot(e, t) {
418
458
  }
419
459
  ];
420
460
  }
421
- function it(e) {
461
+ let Tt = {
462
+ $$static: ve,
463
+ signal: ye,
464
+ computed: be
465
+ };
466
+ function L(e) {
467
+ let t = Ee(e);
468
+ t !== void 0 && Se(t), Array.from(e.childNodes || []).forEach(L);
469
+ }
470
+ function b(e) {
471
+ switch (e.TAG) {
472
+ case "Element":
473
+ let t = e.children, n = e.events, r = e.attrs, l = document.createElement(e.tag), u = {
474
+ disposers: [],
475
+ computeds: []
476
+ };
477
+ return M(l, u), C(u, () => {
478
+ r.forEach((i) => {
479
+ let m = i[1], g = i[0];
480
+ switch (m.TAG) {
481
+ case "Static":
482
+ l.setAttribute(g, m._0);
483
+ return;
484
+ case "SignalValue":
485
+ let E = m._0;
486
+ l.setAttribute(g, s.peek(E));
487
+ let v = w.run(() => {
488
+ l.setAttribute(g, s.get(E));
489
+ }, void 0);
490
+ return N(u, v);
491
+ case "Compute":
492
+ let F = m._0;
493
+ l.setAttribute(g, F());
494
+ let $ = w.run(() => {
495
+ l.setAttribute(g, F());
496
+ }, void 0);
497
+ return N(u, $);
498
+ }
499
+ }), n.forEach((i) => {
500
+ l.addEventListener(i[0], i[1]);
501
+ }), t.forEach((i) => {
502
+ let m = b(i);
503
+ l.appendChild(m);
504
+ });
505
+ }), l;
506
+ case "Text":
507
+ return document.createTextNode(e._0);
508
+ case "SignalText":
509
+ let a = e._0, o = document.createTextNode(s.peek(a)), c = {
510
+ disposers: [],
511
+ computeds: []
512
+ };
513
+ return M(o, c), C(c, () => {
514
+ let i = w.run(() => {
515
+ o.textContent = s.get(a);
516
+ }, void 0);
517
+ N(c, i);
518
+ }), o;
519
+ case "Fragment":
520
+ let R = document.createDocumentFragment();
521
+ return e._0.forEach((i) => {
522
+ let m = b(i);
523
+ R.appendChild(m);
524
+ }), R;
525
+ case "SignalFragment":
526
+ let Ae = e._0, W = {
527
+ disposers: [],
528
+ computeds: []
529
+ }, A = document.createElement("div");
530
+ return A.setAttribute("style", "display: contents"), M(A, W), C(W, () => {
531
+ let i = w.run(() => {
532
+ let m = s.get(Ae);
533
+ Array.from(A.childNodes || []).forEach(L), A.innerHTML = "", m.forEach((E) => {
534
+ let v = b(E);
535
+ A.appendChild(v);
536
+ });
537
+ }, void 0);
538
+ N(W, i);
539
+ }), A;
540
+ case "LazyComponent":
541
+ let ne = {
542
+ disposers: [],
543
+ computeds: []
544
+ }, $e = C(ne, e._0), re = b($e);
545
+ return M(re, ne), re;
546
+ case "KeyedList":
547
+ let K = e.renderItem, X = e.keyFn, le = e.signal, q = {
548
+ disposers: [],
549
+ computeds: []
550
+ }, H = document.createComment(" keyed-list-start "), D = document.createComment(" keyed-list-end ");
551
+ M(H, q);
552
+ let O = {}, Ce = () => {
553
+ let i = D.parentNode;
554
+ if (i == null)
555
+ return;
556
+ let m = s.get(le), g = {};
557
+ m.forEach((d) => {
558
+ g[X(d)] = d;
559
+ });
560
+ let E = [];
561
+ Object.keys(O).forEach((d) => {
562
+ if (g[d] === void 0) {
563
+ E.push(d);
564
+ return;
565
+ }
566
+ }), E.forEach((d) => {
567
+ let f = O[d];
568
+ if (f !== void 0) {
569
+ L(f.element), f.element.remove(), bt(O, d);
570
+ return;
571
+ }
572
+ });
573
+ let v = [], F = {};
574
+ m.forEach((d) => {
575
+ let f = X(d), B = O[f];
576
+ if (B !== void 0) {
577
+ if (B.item !== d) {
578
+ F[f] = !0;
579
+ let Ie = K(d), je = b(Ie), ie = {
580
+ key: f,
581
+ item: d,
582
+ element: je
583
+ };
584
+ v.push(ie), O[f] = ie;
585
+ return;
586
+ }
587
+ v.push(B);
588
+ return;
589
+ }
590
+ let Ne = K(d), Me = b(Ne), ue = {
591
+ key: f,
592
+ item: d,
593
+ element: Me
594
+ };
595
+ v.push(ue), O[f] = ue;
596
+ });
597
+ let $ = {
598
+ contents: H.nextSibling
599
+ };
600
+ v.forEach((d) => {
601
+ let f = $.contents;
602
+ if (f == null) {
603
+ i.insertBefore(d.element, D);
604
+ return;
605
+ }
606
+ if (f === D) {
607
+ i.insertBefore(d.element, D);
608
+ return;
609
+ }
610
+ if (f === d.element) {
611
+ $.contents = f.nextSibling;
612
+ return;
613
+ }
614
+ Y(F[d.key], !1) ? (L(f), i.replaceChild(d.element, f), $.contents = d.element.nextSibling) : (i.insertBefore(d.element, f), $.contents = d.element.nextSibling);
615
+ });
616
+ }, G = document.createDocumentFragment();
617
+ return G.appendChild(H), s.peek(le).forEach((i) => {
618
+ let m = X(i), g = K(i), E = b(g), v = {
619
+ key: m,
620
+ item: i,
621
+ element: E
622
+ };
623
+ O[m] = v, G.appendChild(E);
624
+ }), G.appendChild(D), C(q, () => {
625
+ let i = w.run(() => {
626
+ Ce();
627
+ }, void 0);
628
+ N(q, i);
629
+ }), G;
630
+ }
631
+ }
632
+ let At = {
633
+ disposeElement: L,
634
+ render: b
635
+ };
636
+ function $t(e) {
422
637
  return {
423
638
  TAG: "Text",
424
639
  _0: e
425
640
  };
426
641
  }
427
- function st(e) {
642
+ function Ct(e) {
428
643
  return {
429
644
  TAG: "SignalText",
430
- _0: h.make(e)
645
+ _0: S.make(e, void 0)
431
646
  };
432
647
  }
433
- function ct(e) {
648
+ function Nt(e) {
434
649
  return {
435
650
  TAG: "Fragment",
436
651
  _0: e
437
652
  };
438
653
  }
439
- function X(e) {
654
+ function te(e) {
440
655
  return {
441
656
  TAG: "SignalFragment",
442
657
  _0: e
443
658
  };
444
659
  }
445
- function at(e, t) {
660
+ function Mt(e, t) {
446
661
  return {
447
662
  TAG: "SignalFragment",
448
- _0: h.make(() => i.get(e).map(t))
663
+ _0: S.make(() => s.get(e).map(t), void 0)
449
664
  };
450
665
  }
451
- function m(e, t, n, r, l) {
452
- let o = t !== void 0 ? t : [].map((c) => c), u = n !== void 0 ? n : [].map((c) => c), s = r !== void 0 ? r : [].map((c) => c);
666
+ function It(e, t, n) {
453
667
  return {
454
- TAG: "Element",
455
- tag: e,
456
- attrs: o,
457
- events: u,
458
- children: s
668
+ TAG: "KeyedList",
669
+ signal: e,
670
+ keyFn: t,
671
+ renderItem: n
459
672
  };
460
673
  }
461
- function dt(e, t, n, r) {
462
- return m("div", e, t, n);
463
- }
464
- function ft(e, t, n, r) {
465
- return m("span", e, t, n);
466
- }
467
- function pt(e, t, n, r) {
468
- return m("button", e, t, n);
469
- }
470
- function ht(e, t, n) {
471
- return m("input", e, t, void 0);
472
- }
473
- function mt(e, t, n, r) {
474
- return m("h1", e, t, n);
475
- }
476
- function _t(e, t, n, r) {
477
- return m("h2", e, t, n);
478
- }
479
- function gt(e, t, n, r) {
480
- return m("h3", e, t, n);
481
- }
482
- function St(e, t, n, r) {
483
- return m("p", e, t, n);
484
- }
485
- function vt(e, t, n, r) {
486
- return m("ul", e, t, n);
487
- }
488
- function Et(e, t, n, r) {
489
- return m("li", e, t, n);
490
- }
491
- function ce(e, t, n, r) {
492
- return m("a", e, t, n);
493
- }
494
- let w = {
495
- contents: void 0
496
- };
497
- function wt() {
674
+ function _(e, t, n, r, l) {
675
+ let u = t !== void 0 ? t : [].map((c) => c), a = n !== void 0 ? n : [].map((c) => c), o = r !== void 0 ? r : [].map((c) => c);
498
676
  return {
499
- disposers: [],
500
- signals: [],
501
- computeds: []
677
+ TAG: "Element",
678
+ tag: e,
679
+ attrs: u,
680
+ events: a,
681
+ children: o
502
682
  };
503
683
  }
504
- function A(e, t) {
505
- let n = w.contents;
506
- w.contents = e;
507
- let r = t();
508
- return w.contents = n, r;
684
+ function jt(e, t, n, r) {
685
+ return _("div", e, t, n);
509
686
  }
510
- function bt(e) {
511
- let t = w.contents;
512
- if (t !== void 0) {
513
- t.signals.push(e);
514
- return;
515
- }
687
+ function xt(e, t, n, r) {
688
+ return _("span", e, t, n);
516
689
  }
517
- function yt(e) {
518
- let t = w.contents;
519
- if (t !== void 0) {
520
- t.computeds.push(e);
521
- return;
522
- }
690
+ function Rt(e, t, n, r) {
691
+ return _("button", e, t, n);
523
692
  }
524
- function kt(e) {
525
- let t = w.contents;
526
- if (t !== void 0) {
527
- t.disposers.push(e);
528
- return;
529
- }
693
+ function Dt(e, t, n) {
694
+ return _("input", e, t, void 0);
530
695
  }
531
- function y(e, t) {
532
- let n = V(Se(e.__xote_disposers), []);
533
- e.__xote_disposers = n.concat([t]);
534
- let r = w.contents;
535
- if (r !== void 0) {
536
- r.disposers.push(t);
537
- return;
538
- }
696
+ function Ft(e, t, n, r) {
697
+ return _("h1", e, t, n);
539
698
  }
540
- let R = (function(e) {
541
- e.__devtoolsId && window.__xoteDevToolsMarkAsDisposed && window.__xoteDevToolsMarkAsDisposed(e.__devtoolsId);
542
- });
543
- function j(e) {
544
- e.disposers.forEach((t) => t.dispose()), e.computeds.forEach((t) => {
545
- h.dispose(t), R(t);
546
- }), e.signals.forEach((t) => R(t));
699
+ function Lt(e, t, n, r) {
700
+ return _("h2", e, t, n);
547
701
  }
548
- function Tt(e) {
549
- let t = {
550
- disposers: [],
551
- signals: [],
552
- computeds: []
553
- };
554
- return A(t, () => e(() => j(t))), () => j(t);
702
+ function Pt(e, t, n, r) {
703
+ return _("h3", e, t, n);
555
704
  }
556
- function At(e) {
557
- return {
558
- TAG: "LazyComponent",
559
- _0: e
560
- };
705
+ function Gt(e, t, n, r) {
706
+ return _("p", e, t, n);
561
707
  }
562
- function q(e) {
563
- let t = e.__xote_owner;
564
- t != null && (j(t), e.__xote_owner = {
565
- disposers: [],
566
- signals: [],
567
- computeds: []
568
- });
569
- let n = e.__xote_disposers;
570
- n != null && (n.forEach((l) => l.dispose()), e.__xote_disposers = []), Array.from(e.childNodes || []).forEach(q);
708
+ function Bt(e, t, n, r) {
709
+ return _("ul", e, t, n);
571
710
  }
572
- function O(e) {
573
- switch (e.TAG) {
574
- case "Element":
575
- let t = e.children, n = e.events, r = e.attrs, l = e.tag, o = {
576
- disposers: [],
577
- signals: [],
578
- computeds: []
579
- }, u;
580
- switch (l) {
581
- case "circle":
582
- case "clipPath":
583
- case "defs":
584
- case "ellipse":
585
- case "g":
586
- case "line":
587
- case "linearGradient":
588
- case "marker":
589
- case "mask":
590
- case "path":
591
- case "pattern":
592
- case "polygon":
593
- case "polyline":
594
- case "radialGradient":
595
- case "rect":
596
- case "stop":
597
- case "svg":
598
- case "symbol":
599
- case "text":
600
- case "textPath":
601
- case "tspan":
602
- case "use":
603
- u = document.createElementNS("http://www.w3.org/2000/svg", l);
604
- break;
605
- default:
606
- u = document.createElement(l);
607
- }
608
- return u.__xote_owner = o, A(o, () => {
609
- r.forEach((f) => {
610
- let p = f[1], S = f[0];
611
- switch (p.TAG) {
612
- case "Static":
613
- let I = p._0;
614
- S === "value" && l === "input" ? u.value = I : u.setAttribute(S, I);
615
- return;
616
- case "SignalValue":
617
- let T = p._0;
618
- if (S === "value" && l === "input") {
619
- u.value = i.peek(T);
620
- let b = _.run(() => {
621
- let G = i.get(T);
622
- u.value = G;
623
- });
624
- return y(u, b);
625
- }
626
- u.setAttribute(S, i.peek(T));
627
- let he = _.run(() => {
628
- let b = i.get(T);
629
- u.setAttribute(S, b);
630
- });
631
- return y(u, he);
632
- case "Compute":
633
- let me = p._0, D = h.make(() => me());
634
- if (S === "value" && l === "input") {
635
- u.value = i.peek(D);
636
- let b = _.run(() => {
637
- let G = i.get(D);
638
- u.value = G;
639
- });
640
- return y(u, b);
641
- }
642
- u.setAttribute(S, i.peek(D));
643
- let _e = _.run(() => {
644
- let b = i.get(D);
645
- u.setAttribute(S, b);
646
- });
647
- return y(u, _e);
648
- }
649
- }), n.forEach((f) => {
650
- u.addEventListener(f[0], f[1]);
651
- }), t.forEach((f) => {
652
- let p = O(f);
653
- u.appendChild(p);
654
- });
655
- }), u;
656
- case "Text":
657
- return document.createTextNode(e._0);
658
- case "SignalText":
659
- let s = e._0, c = {
660
- disposers: [],
661
- signals: [],
662
- computeds: []
663
- }, M = document.createTextNode(i.peek(s));
664
- return M.__xote_owner = c, A(c, () => {
665
- let f = _.run(() => {
666
- let p = i.get(s);
667
- M.textContent = p;
668
- });
669
- y(M, f);
670
- }), M;
671
- case "Fragment":
672
- let H = document.createDocumentFragment();
673
- return e._0.forEach((f) => {
674
- let p = O(f);
675
- H.appendChild(p);
676
- }), H;
677
- case "SignalFragment":
678
- let fe = e._0, U = {
679
- disposers: [],
680
- signals: [],
681
- computeds: []
682
- }, v = document.createElement("div");
683
- return v.setAttribute("data-signal-fragment", "true"), v.setAttribute("style", "display: contents"), v.__xote_owner = U, A(U, () => {
684
- let f = _.run(() => {
685
- let p = i.get(fe);
686
- Array.from(v.childNodes || []).forEach(q), v.innerHTML = "", p.forEach((I) => {
687
- let T = O(I);
688
- v.appendChild(T);
689
- });
690
- });
691
- y(v, f);
692
- }), v;
693
- case "LazyComponent":
694
- let J = {
695
- disposers: [],
696
- signals: [],
697
- computeds: []
698
- }, pe = A(J, e._0), K = O(pe);
699
- return K.__xote_owner = J, K;
700
- }
711
+ function Vt(e, t, n, r) {
712
+ return _("li", e, t, n);
701
713
  }
702
- function ae(e, t) {
703
- let n = O(e);
714
+ function we(e, t, n, r) {
715
+ return _("a", e, t, n);
716
+ }
717
+ function ke(e, t) {
718
+ let n = b(e);
704
719
  t.appendChild(n);
705
720
  }
706
- function Ot(e, t) {
721
+ function zt(e, t) {
707
722
  let n = document.getElementById(t);
708
723
  if (n == null) {
709
724
  console.error("Container element not found: " + t);
710
725
  return;
711
726
  } else
712
- return ae(e, n);
727
+ return ke(e, n);
713
728
  }
714
- const Ct = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
729
+ let Oe = ve, Wt = ye, Kt = be;
730
+ const Xt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
715
731
  __proto__: null,
716
- a: ce,
717
- addDisposer: y,
718
- attr: se,
719
- button: pt,
720
- component: At,
721
- computedAttr: ot,
722
- createOwner: wt,
723
- createRoot: Tt,
724
- currentOwner: w,
725
- disposeElement: q,
726
- disposeOwner: j,
727
- div: dt,
728
- element: m,
729
- fragment: ct,
730
- h1: mt,
731
- h2: _t,
732
- h3: gt,
733
- input: ht,
734
- li: Et,
735
- list: at,
736
- markAsDisposedInDevTools: R,
737
- mount: ae,
738
- mountById: Ot,
739
- p: St,
740
- registerComputed: yt,
741
- registerEffectDisposer: kt,
742
- registerSignal: bt,
743
- render: O,
744
- runWithOwner: A,
745
- signalAttr: ut,
746
- signalFragment: X,
747
- span: ft,
748
- text: it,
749
- textSignal: st,
750
- ul: vt
732
+ Attributes: Tt,
733
+ DOM: wt,
734
+ Reactivity: Ot,
735
+ Render: At,
736
+ a: we,
737
+ attr: Oe,
738
+ button: Rt,
739
+ computedAttr: Kt,
740
+ div: jt,
741
+ element: _,
742
+ fragment: Nt,
743
+ h1: Ft,
744
+ h2: Lt,
745
+ h3: Pt,
746
+ input: Dt,
747
+ keyedList: It,
748
+ li: Vt,
749
+ list: Mt,
750
+ mount: ke,
751
+ mountById: zt,
752
+ p: Gt,
753
+ signalAttr: Wt,
754
+ signalFragment: te,
755
+ span: xt,
756
+ text: $t,
757
+ textSignal: Ct,
758
+ ul: Bt
751
759
  }, Symbol.toStringTag, { value: "Module" }));
752
- let k = i.make({
760
+ let T = s.make({
753
761
  pathname: "/",
754
762
  search: "",
755
763
  hash: ""
756
764
  }, void 0, void 0);
757
- function F() {
765
+ function J() {
758
766
  return {
759
767
  pathname: window.location.pathname,
760
768
  search: window.location.search,
761
769
  hash: window.location.hash
762
770
  };
763
771
  }
764
- function Nt() {
765
- i.set(k, F());
766
- let e = (t) => i.set(k, F());
772
+ function qt() {
773
+ s.set(T, J());
774
+ let e = (t) => s.set(T, J());
767
775
  window.addEventListener("popstate", e);
768
776
  }
769
- function de(e, t, n, r) {
770
- let l = t !== void 0 ? t : "", o = n !== void 0 ? n : "", u = {
777
+ function Te(e, t, n, r) {
778
+ let l = t !== void 0 ? t : "", u = n !== void 0 ? n : "", a = {
771
779
  pathname: e,
772
780
  search: l,
773
- hash: o
774
- }, s = e + l + o, c = {};
775
- window.history.pushState(c, "", s), i.set(k, u);
781
+ hash: u
782
+ }, o = e + l + u, c = {};
783
+ window.history.pushState(c, "", o), s.set(T, a);
776
784
  }
777
- function $t(e, t, n, r) {
778
- let l = t !== void 0 ? t : "", o = n !== void 0 ? n : "", u = {
785
+ function Ht(e, t, n, r) {
786
+ let l = t !== void 0 ? t : "", u = n !== void 0 ? n : "", a = {
779
787
  pathname: e,
780
788
  search: l,
781
- hash: o
782
- }, s = e + l + o, c = {};
783
- window.history.replaceState(c, "", s), i.set(k, u);
789
+ hash: u
790
+ }, o = e + l + u, c = {};
791
+ window.history.replaceState(c, "", o), s.set(T, a);
784
792
  }
785
- function xt(e, t) {
786
- return X(h.make(() => {
787
- let n = i.get(k), r = W(e, n.pathname);
793
+ function Ut(e, t) {
794
+ return te(S.make(() => {
795
+ let n = s.get(T), r = ee(e, n.pathname);
788
796
  return typeof r != "object" ? [] : [t(r._0)];
789
- }));
797
+ }, void 0));
790
798
  }
791
- function Mt(e) {
792
- return X(h.make(() => {
793
- let t = i.get(k), n = we(e, (r) => {
794
- let l = W(r.pattern, t.pathname);
799
+ function Jt(e) {
800
+ return te(S.make(() => {
801
+ let t = s.get(T), n = Le(e, (r) => {
802
+ let l = ee(r.pattern, t.pathname);
795
803
  if (typeof l == "object")
796
804
  return r.render(l._0);
797
805
  });
798
806
  return n !== void 0 ? [n] : [];
799
- }));
807
+ }, void 0));
800
808
  }
801
- function It(e, t, n, r) {
802
- let l = t !== void 0 ? t : [], o = n !== void 0 ? n : [], u = (s) => {
803
- s.preventDefault(), de(e, void 0, void 0);
809
+ function Qt(e, t, n, r) {
810
+ let l = t !== void 0 ? t : [], u = n !== void 0 ? n : [], a = (o) => {
811
+ o.preventDefault(), Te(e, void 0, void 0);
804
812
  };
805
- return ce(l.concat([se("href", e)]), [[
813
+ return we(l.concat([Oe("href", e)]), [[
806
814
  "click",
807
- u
808
- ]], o);
815
+ a
816
+ ]], u);
809
817
  }
810
- let Dt, jt;
811
- const Pt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
818
+ let Yt, Zt;
819
+ const en = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
812
820
  __proto__: null,
813
- Component: Dt,
814
- Route: jt,
815
- getCurrentLocation: F,
816
- init: Nt,
817
- link: It,
818
- location: k,
819
- push: de,
820
- replace: $t,
821
- route: xt,
822
- routes: Mt
821
+ Component: Yt,
822
+ Route: Zt,
823
+ getCurrentLocation: J,
824
+ init: qt,
825
+ link: Qt,
826
+ location: T,
827
+ push: Te,
828
+ replace: Ht,
829
+ route: Ut,
830
+ routes: Jt
823
831
  }, Symbol.toStringTag, { value: "Module" }));
824
- let Gt = i.Id, Lt = i.Scheduler, Rt = i.make, Ft = i.get, zt = i.peek, Vt = i.set, Bt = i.update, Wt = i.batch, Xt = i.untrack, nn = {
825
- Id: Gt,
826
- Scheduler: Lt,
827
- make: Rt,
828
- get: Ft,
829
- peek: zt,
830
- set: Vt,
831
- update: Bt,
832
- batch: Wt,
833
- untrack: Xt
834
- }, qt = h.Id, Ht = h.Signal, Ut = h.Observer, Jt = h.Scheduler, Kt = h.make, Qt = h.dispose, rn = {
835
- Id: qt,
836
- Signal: Ht,
837
- Observer: Ut,
838
- Scheduler: Jt,
839
- make: Kt,
840
- dispose: Qt
841
- }, Yt = _.Id, Zt = _.Observer, en = _.Scheduler, tn = _.run, ln = {
842
- Id: Yt,
843
- Observer: Zt,
844
- Scheduler: en,
845
- run: tn
846
- }, un = Ct, on = lt, sn = Pt;
832
+ let tn = s.Id, nn = s.Scheduler, rn = s.make, ln = s.get, un = s.peek, on = s.set, cn = s.update, dn = s.batch, sn = s.untrack, bn = {
833
+ Id: tn,
834
+ Scheduler: nn,
835
+ make: rn,
836
+ get: ln,
837
+ peek: un,
838
+ set: on,
839
+ update: cn,
840
+ batch: dn,
841
+ untrack: sn
842
+ }, an = S.Id, fn = S.Signal, pn = S.Observer, mn = S.Scheduler, hn = S.make, _n = S.dispose, wn = {
843
+ Id: an,
844
+ Signal: fn,
845
+ Observer: pn,
846
+ Scheduler: mn,
847
+ make: hn,
848
+ dispose: _n
849
+ }, gn = w.Id, Sn = w.Observer, En = w.Scheduler, vn = w.run, kn = {
850
+ Id: gn,
851
+ Observer: Sn,
852
+ Scheduler: En,
853
+ run: vn
854
+ }, On = Xt, Tn = yt, An = en;
847
855
  export {
848
- un as Component,
849
- rn as Computed,
850
- ln as Effect,
851
- on as Route,
852
- sn as Router,
853
- nn as Signal
856
+ On as Component,
857
+ wn as Computed,
858
+ kn as Effect,
859
+ Tn as Route,
860
+ An as Router,
861
+ bn as Signal
854
862
  };