@manyducks.co/dolla 2.0.0-alpha.14 → 2.0.0-alpha.15

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/index.js CHANGED
@@ -1,11 +1,11 @@
1
- var Pt = Object.defineProperty;
2
- var ot = (i) => {
1
+ var St = Object.defineProperty;
2
+ var lt = (i) => {
3
3
  throw TypeError(i);
4
4
  };
5
- var St = (i, e, t) => e in i ? Pt(i, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : i[e] = t;
6
- var S = (i, e, t) => St(i, typeof e != "symbol" ? e + "" : e, t), Qe = (i, e, t) => e.has(i) || ot("Cannot " + t);
7
- var s = (i, e, t) => (Qe(i, e, "read from private field"), t ? t.call(i) : e.get(i)), f = (i, e, t) => e.has(i) ? ot("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(i) : e.set(i, t), b = (i, e, t, r) => (Qe(i, e, "write to private field"), r ? r.call(i, t) : e.set(i, t), t), E = (i, e, t) => (Qe(i, e, "access private method"), t);
8
- var lt = (i, e, t, r) => ({
5
+ var Lt = (i, e, t) => e in i ? St(i, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : i[e] = t;
6
+ var S = (i, e, t) => Lt(i, typeof e != "symbol" ? e + "" : e, t), Je = (i, e, t) => e.has(i) || lt("Cannot " + t);
7
+ var s = (i, e, t) => (Je(i, e, "read from private field"), t ? t.call(i) : e.get(i)), f = (i, e, t) => e.has(i) ? lt("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(i) : e.set(i, t), b = (i, e, t, r) => (Je(i, e, "write to private field"), r ? r.call(i, t) : e.set(i, t), t), E = (i, e, t) => (Je(i, e, "access private method"), t);
8
+ var ct = (i, e, t, r) => ({
9
9
  set _(a) {
10
10
  b(i, e, a, t);
11
11
  },
@@ -13,10 +13,10 @@ var lt = (i, e, t, r) => ({
13
13
  return s(i, e, r);
14
14
  }
15
15
  });
16
- import { h as ct, c as Lt, i as Je, d as we, a as Rt, b as it, e as V, t as ut, f as se, g as wt, j as xt, k as Ye, P as yt, l as ht, m as Ot, n as Nt, o as ft, v as Mt, p as Tt, q as Dt, r as dt, s as pt, u as _t, w as je, x as Fe, y as At, z as jt, A as Ft } from "./passthrough-MfPKbG0F.js";
17
- import { B as fr, C as dr, D as pr } from "./passthrough-MfPKbG0F.js";
18
- function Ct(i) {
19
- return ct`
16
+ import { h as ut, c as xt, i as Ye, a as ie, d as ye, b as Rt, e as ot, f as V, t as ht, g as yt, j as Ot, k as Xe, P as bt, l as ft, m as Nt, n as Mt, o as dt, v as Tt, p as Dt, q as At, r as pt, s as mt, u as _t, w as Ce, x as Fe, y as jt, z as Ct, A as Ft } from "./passthrough-CBbog_A9.js";
17
+ import { B as dr, C as pr, D as mr } from "./passthrough-CBbog_A9.js";
18
+ function Vt(i) {
19
+ return ut`
20
20
  <div
21
21
  style=${{
22
22
  backgroundColor: "#880000",
@@ -30,7 +30,7 @@ function Ct(i) {
30
30
  <h1 style=${{ marginBottom: "0.5rem" }}>The app has crashed</h1>
31
31
  <p style=${{ marginBottom: "0.25rem" }}>
32
32
  <span style=${{ fontFamily: "monospace" }}>${i.loggerName}</span>
33
- ${Lt(i.uid, ct`<span style=${{ fontFamily: "monospace", opacity: 0.5 }}> [uid: ${i.uid}]</span>`)}
33
+ ${xt(i.uid, ut`<span style=${{ fontFamily: "monospace", opacity: 0.5 }}> [uid: ${i.uid}]</span>`)}
34
34
  ${" "}says:
35
35
  </p>
36
36
  <blockquote
@@ -62,12 +62,12 @@ function Ct(i) {
62
62
  </div>
63
63
  `;
64
64
  }
65
- var Q, Be, T, j;
66
- class Vt {
65
+ var J, ze, T, j;
66
+ class qt {
67
67
  constructor() {
68
68
  f(this, T);
69
- f(this, Q, []);
70
- f(this, Be, qt());
69
+ f(this, J, []);
70
+ f(this, ze, Ut());
71
71
  }
72
72
  /**
73
73
  * Adds a new middleware that will apply to subsequent requests.
@@ -76,8 +76,8 @@ class Vt {
76
76
  * @param middleware - A middleware function that will intercept requests.
77
77
  */
78
78
  use(e) {
79
- return s(this, Q).push(e), () => {
80
- s(this, Q).splice(s(this, Q).indexOf(e), 1);
79
+ return s(this, J).push(e), () => {
80
+ s(this, J).splice(s(this, J).indexOf(e), 1);
81
81
  };
82
82
  }
83
83
  async get(e, t) {
@@ -105,23 +105,23 @@ class Vt {
105
105
  return E(this, T, j).call(this, "trace", e, t);
106
106
  }
107
107
  }
108
- Q = new WeakMap(), Be = new WeakMap(), T = new WeakSet(), j = async function(e, t, r) {
109
- return Ht({
108
+ J = new WeakMap(), ze = new WeakMap(), T = new WeakSet(), j = async function(e, t, r) {
109
+ return It({
110
110
  ...r,
111
111
  method: e,
112
112
  uri: t,
113
- middleware: s(this, Q),
114
- fetch: s(this, Be)
113
+ middleware: s(this, J),
114
+ fetch: s(this, ze)
115
115
  });
116
116
  };
117
- function qt() {
117
+ function Ut() {
118
118
  if (typeof window < "u" && window.fetch)
119
119
  return window.fetch.bind(window);
120
120
  if (typeof global < "u" && global.fetch)
121
121
  return global.fetch.bind(global);
122
122
  throw new Error("Running in neither browser nor node. Please run this app in one of the supported environments.");
123
123
  }
124
- class Ut extends Error {
124
+ class Ht extends Error {
125
125
  constructor(t) {
126
126
  const { status: r, statusText: a, method: n, uri: o } = t, h = `${r} ${a}: Request failed (${n.toUpperCase()} ${o})`;
127
127
  super(h);
@@ -129,7 +129,7 @@ class Ut extends Error {
129
129
  this.response = t;
130
130
  }
131
131
  }
132
- async function Ht(i) {
132
+ async function It(i) {
133
133
  const { headers: e, query: t, fetch: r, middleware: a } = i, n = {
134
134
  method: i.method,
135
135
  uri: i.uri,
@@ -168,7 +168,7 @@ async function Ht(i) {
168
168
  const h = async () => {
169
169
  const l = n.query.toString(), d = l.length > 0 ? n.uri + "?" + l : n.uri;
170
170
  let g;
171
- !n.headers.has("content-type") && Je(n.body) ? (n.headers.set("content-type", "application/json"), g = JSON.stringify(n.body)) : g = n.body;
171
+ !n.headers.has("content-type") && Ye(n.body) ? (n.headers.set("content-type", "application/json"), g = JSON.stringify(n.body)) : g = n.body;
172
172
  const m = await r(d, {
173
173
  method: n.method,
174
174
  headers: n.headers,
@@ -193,29 +193,29 @@ async function Ht(i) {
193
193
  } else
194
194
  await h();
195
195
  if (o.status < 200 || o.status >= 400)
196
- throw new Ut(o);
196
+ throw new Ht(o);
197
197
  return o;
198
198
  }
199
- var ze, ie, te, Xe, bt;
200
- class It {
199
+ var Ke, oe, re, Ze, vt;
200
+ class Wt {
201
201
  constructor(e, t) {
202
- f(this, te);
202
+ f(this, re);
203
203
  S(this, "dolla");
204
204
  S(this, "config");
205
- f(this, ze, !1);
206
- f(this, ie, /* @__PURE__ */ new Map());
205
+ f(this, Ke, !1);
206
+ f(this, oe, /* @__PURE__ */ new Map());
207
207
  this.config = e, this.dolla = t;
208
208
  }
209
209
  async load() {
210
210
  let e;
211
- if (!s(this, ze)) {
212
- if (it(this.config.fetch)) {
213
- if (e = await this.config.fetch(), !Je(e))
211
+ if (!s(this, Ke)) {
212
+ if (ot(this.config.fetch)) {
213
+ if (e = await this.config.fetch(), !Ye(e))
214
214
  throw new Error(`Fetch function did not return an object of language strings: ${e}`);
215
215
  } else if (V(this.config.path)) {
216
216
  const t = await this.dolla.http.get(this.config.path);
217
217
  if (t.status >= 200 && t.status < 300)
218
- if (Je(t.body))
218
+ if (Ye(t.body))
219
219
  e = t.body;
220
220
  else
221
221
  throw new Error(
@@ -226,38 +226,38 @@ class It {
226
226
  }
227
227
  }
228
228
  if (e) {
229
- const t = E(this, te, Xe).call(this, e);
229
+ const t = E(this, re, Ze).call(this, e);
230
230
  for (const r of t)
231
- s(this, ie).set(r[0], r[1]);
231
+ s(this, oe).set(r[0], r[1]);
232
232
  } else
233
233
  throw new Error("Language could not be loaded.");
234
234
  }
235
235
  getTemplate(e) {
236
- return s(this, ie).get(e) ?? {
236
+ return s(this, oe).get(e) ?? {
237
237
  segments: [{ type: 0, text: `[MISSING: ${e}]` }]
238
238
  };
239
239
  }
240
240
  hasTemplate(e) {
241
- return s(this, ie).has(e);
241
+ return s(this, oe).has(e);
242
242
  }
243
243
  }
244
- ze = new WeakMap(), ie = new WeakMap(), te = new WeakSet(), Xe = function(e, t = []) {
244
+ Ke = new WeakMap(), oe = new WeakMap(), re = new WeakSet(), Ze = function(e, t = []) {
245
245
  const r = [];
246
246
  for (const a in e)
247
- switch (ut(e[a])) {
247
+ switch (ht(e[a])) {
248
248
  case "string":
249
- r.push([[...t, a].join("."), E(this, te, bt).call(this, e[a])]);
249
+ r.push([[...t, a].join("."), E(this, re, vt).call(this, e[a])]);
250
250
  break;
251
251
  case "object":
252
- r.push(...E(this, te, Xe).call(this, e[a], [...t, a]));
252
+ r.push(...E(this, re, Ze).call(this, e[a], [...t, a]));
253
253
  break;
254
254
  default:
255
255
  throw new Error(
256
- `Expected to find a string or object at ${[...t, a].join(".")}. Got: ${ut(e[a])}`
256
+ `Expected to find a string or object at ${[...t, a].join(".")}. Got: ${ht(e[a])}`
257
257
  );
258
258
  }
259
259
  return r;
260
- }, bt = function(e) {
260
+ }, vt = function(e) {
261
261
  let t;
262
262
  ((u) => {
263
263
  u[u.Static = 0] = "Static", u[u.ValueName = 1] = "ValueName", u[u.FormatName = 2] = "FormatName", u[u.FormatOptionName = 3] = "FormatOptionName", u[u.FormatOptionValue = 4] = "FormatOptionValue", u[u.FormatOptionEnd = 5] = "FormatOptionEnd";
@@ -306,37 +306,37 @@ ze = new WeakMap(), ie = new WeakMap(), te = new WeakSet(), Xe = function(e, t =
306
306
  }
307
307
  return o === 0 && a.length > 0 && r.segments.push({ type: 0, text: a }), r;
308
308
  };
309
- var be, q, x, ve, $e, Ee, ke, O, vt, Ze, et, tt, $t;
310
- class Wt {
309
+ var ve, q, R, $e, Ee, ke, Pe, O, $t, et, tt, rt, Et;
310
+ class Gt {
311
311
  constructor(e) {
312
312
  f(this, O);
313
- f(this, be);
313
+ f(this, ve);
314
314
  f(this, q);
315
- f(this, x, /* @__PURE__ */ new Map());
316
- f(this, ve, []);
317
- f(this, $e, /* @__PURE__ */ new Map());
318
- f(this, Ee, "auto");
315
+ f(this, R, /* @__PURE__ */ new Map());
316
+ f(this, $e, []);
317
+ f(this, Ee, /* @__PURE__ */ new Map());
318
+ f(this, ke, "auto");
319
319
  S(this, "$locale");
320
- f(this, ke);
321
- b(this, be, e), b(this, q, e.createLogger("dolla/i18n"));
322
- const [t, r] = se();
323
- this.$locale = t, b(this, ke, r), this.addFormat("number", (a, n, o) => E(this, O, Ze).call(this, Number(n), o)), this.addFormat("datetime", (a, n, o) => E(this, O, et).call(this, n, o)), this.addFormat("list", (a, n, o) => E(this, O, tt).call(this, n, o)), e.beforeMount(async () => {
324
- s(this, x).size > 0 && await this.setLocale(s(this, Ee));
320
+ f(this, Pe);
321
+ b(this, ve, e), b(this, q, e.createLogger("dolla/i18n"));
322
+ const [t, r] = ie();
323
+ this.$locale = t, b(this, Pe, r), this.addFormat("number", (a, n, o) => E(this, O, et).call(this, Number(n), o)), this.addFormat("datetime", (a, n, o) => E(this, O, tt).call(this, n, o)), this.addFormat("list", (a, n, o) => E(this, O, rt).call(this, n, o)), e.beforeMount(async () => {
324
+ s(this, R).size > 0 && await this.setLocale(s(this, ke));
325
325
  });
326
326
  }
327
327
  get locales() {
328
- return [...s(this, x).keys()];
328
+ return [...s(this, R).keys()];
329
329
  }
330
330
  setup(e) {
331
331
  if (e.translations.forEach((t) => {
332
- s(this, x).set(t.locale, new It(t, s(this, be)));
332
+ s(this, R).set(t.locale, new Wt(t, s(this, ve)));
333
333
  }), e.locale && e.locale !== "auto") {
334
334
  if (!e.translations.some((r) => r.locale === e.locale))
335
335
  throw new Error(`Initial locale '${e.locale}' is not registered in the locales array.`);
336
- b(this, Ee, e.locale);
336
+ b(this, ke, e.locale);
337
337
  }
338
338
  s(this, q).info(
339
- `${s(this, x).size} language${s(this, x).size === 1 ? "" : "s"} supported: '${[...s(this, x).keys()].join("', '")}'`
339
+ `${s(this, R).size} language${s(this, R).size === 1 ? "" : "s"} supported: '${[...s(this, R).keys()].join("', '")}'`
340
340
  );
341
341
  }
342
342
  async setLocale(e) {
@@ -349,18 +349,18 @@ class Wt {
349
349
  ((a = o.languages) == null ? void 0 : a.length) > 0 ? n.push(...o.languages) : o.language ? n.push(o.language) : o.browserLanguage ? n.push(o.browserLanguage) : o.userLanguage && n.push(o.userLanguage);
350
350
  }
351
351
  for (const o of n)
352
- s(this, x).has(o) && (t = o);
352
+ s(this, R).has(o) && (t = o);
353
353
  } else
354
- s(this, x).has(e) && (t = e);
354
+ s(this, R).has(e) && (t = e);
355
355
  if (t == null) {
356
- const n = s(this, x).keys().next().value;
356
+ const n = s(this, R).keys().next().value;
357
357
  n && (t = n);
358
358
  }
359
- if (!t || !s(this, x).has(t))
359
+ if (!t || !s(this, R).has(t))
360
360
  throw new Error(`Locale '${e}' has no translation.`);
361
- const r = s(this, x).get(t);
361
+ const r = s(this, R).get(t);
362
362
  try {
363
- await r.load(), b(this, ve, []), s(this, ke).call(this, t), s(this, q).info("set language to " + t);
363
+ await r.load(), b(this, $e, []), s(this, Pe).call(this, t), s(this, q).info("set language to " + t);
364
364
  } catch (n) {
365
365
  n instanceof Error && s(this, q).crash(n);
366
366
  }
@@ -382,13 +382,13 @@ class Wt {
382
382
  let r = [], a = [];
383
383
  for (const n in t)
384
384
  r.push(n), a.push(t[n]);
385
- return we([this.$locale, ...a], (n, ...o) => {
385
+ return ye([this.$locale, ...a], (n, ...o) => {
386
386
  if (n == null)
387
387
  return "[NO LOCALE SET]";
388
388
  const h = {};
389
389
  for (let l = 0; l < o.length; l++)
390
390
  h[r[l]] = o[l];
391
- return E(this, O, vt).call(this, n, e, h);
391
+ return E(this, O, $t).call(this, n, e, h);
392
392
  });
393
393
  }
394
394
  /**
@@ -406,7 +406,7 @@ class Wt {
406
406
  * t("greeting", {name: "world"}); // State<"Hello, WORLD!">
407
407
  */
408
408
  addFormat(e, t) {
409
- s(this, $e).set(e, t);
409
+ s(this, Ee).set(e, t);
410
410
  }
411
411
  /**
412
412
  * Creates an `Intl.Collator` configured for the current locale.
@@ -423,7 +423,7 @@ class Wt {
423
423
  * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#options
424
424
  */
425
425
  number(e, t) {
426
- return we([this.$locale, e], (r, a) => E(this, O, Ze).call(this, a, t));
426
+ return ye([this.$locale, e], (r, a) => E(this, O, et).call(this, a, t));
427
427
  }
428
428
  /**
429
429
  * Returns a State containing the date formatted for the current locale. Uses `Intl.DateTimeFormat` under the hood.
@@ -435,7 +435,7 @@ class Wt {
435
435
  * const $formatted = Dolla.i18n.dateTime(date, { dateFormat: "short" });
436
436
  */
437
437
  dateTime(e, t) {
438
- return we([this.$locale, e], (r, a) => E(this, O, et).call(this, a, t));
438
+ return ye([this.$locale, e], (r, a) => E(this, O, tt).call(this, a, t));
439
439
  }
440
440
  /**
441
441
  * Returns a State containing the date formatted for the current locale. Uses `Intl.DateTimeFormat` under the hood.
@@ -447,14 +447,14 @@ class Wt {
447
447
  * const $formatted = Dolla.i18n.list(list, { });
448
448
  */
449
449
  list(e, t) {
450
- return we([this.$locale, e], (r, a) => E(this, O, tt).call(this, a, t));
450
+ return ye([this.$locale, e], (r, a) => E(this, O, rt).call(this, a, t));
451
451
  }
452
452
  }
453
- be = new WeakMap(), q = new WeakMap(), x = new WeakMap(), ve = new WeakMap(), $e = new WeakMap(), Ee = new WeakMap(), ke = new WeakMap(), O = new WeakSet(), vt = function(e, t, r) {
453
+ ve = new WeakMap(), q = new WeakMap(), R = new WeakMap(), $e = new WeakMap(), Ee = new WeakMap(), ke = new WeakMap(), Pe = new WeakMap(), O = new WeakSet(), $t = function(e, t, r) {
454
454
  var l;
455
- const a = E(this, O, $t).call(this, t, r);
455
+ const a = E(this, O, Et).call(this, t, r);
456
456
  if (a) return a;
457
- const n = s(this, x).get(e);
457
+ const n = s(this, R).get(e);
458
458
  if (r.context != null && (t += "_" + r.context), r.count != null)
459
459
  if (r.ordinal) {
460
460
  const d = `${t}_ordinal_(=${r.count})`;
@@ -469,11 +469,11 @@ be = new WeakMap(), q = new WeakMap(), x = new WeakMap(), ve = new WeakMap(), $e
469
469
  if (d.type === 0)
470
470
  h += d.text;
471
471
  else if (d.type === 1) {
472
- let g = Gt(r, d.name);
472
+ let g = Bt(r, d.name);
473
473
  const m = ((l = r.formatOverrides) == null ? void 0 : l[d.name]) ?? [...d.formats];
474
474
  d.name === "count" && m.length === 0 && m.push({ name: "number", options: {} });
475
475
  for (const u of m) {
476
- const y = s(this, $e).get(u.name);
476
+ const y = s(this, Ee).get(u.name);
477
477
  if (y == null) {
478
478
  const k = new Error(
479
479
  `Failed to load format '${u.name}' when processing '${t}', template: ${o}`
@@ -485,22 +485,22 @@ be = new WeakMap(), q = new WeakMap(), x = new WeakMap(), ve = new WeakMap(), $e
485
485
  h += g;
486
486
  }
487
487
  return h;
488
- }, Ze = function(e, t) {
489
- return new Intl.NumberFormat(this.$locale.get(), t).format(e);
490
488
  }, et = function(e, t) {
489
+ return new Intl.NumberFormat(this.$locale.get(), t).format(e);
490
+ }, tt = function(e, t) {
491
491
  return new Intl.DateTimeFormat(this.$locale.get(), t).format(
492
492
  typeof e == "string" ? new Date(e) : e
493
493
  );
494
- }, tt = function(e, t) {
494
+ }, rt = function(e, t) {
495
495
  return new Intl.ListFormat(this.$locale.get(), t).format(e);
496
496
  }, // relativeTime(): State<string> {
497
497
  // }
498
- $t = function(e, t) {
499
- for (const r of s(this, ve))
498
+ Et = function(e, t) {
499
+ for (const r of s(this, $e))
500
500
  if (r[0] === e && Rt(r[1], t))
501
501
  return r[2];
502
502
  };
503
- function Gt(i, e) {
503
+ function Bt(i, e) {
504
504
  const t = String(e).split(/[\.\[\]]/).filter((a) => a.trim() !== "");
505
505
  let r = i;
506
506
  for (; t.length > 0; ) {
@@ -509,21 +509,21 @@ function Gt(i, e) {
509
509
  }
510
510
  return r;
511
511
  }
512
- var J, Pe, U, H, oe, F, le, Ce;
513
- class Bt {
512
+ var Y, Se, U, H, le, C, ce, Ve;
513
+ class zt {
514
514
  constructor(e) {
515
- f(this, le);
516
- f(this, J);
517
- f(this, Pe);
515
+ f(this, ce);
516
+ f(this, Y);
517
+ f(this, Se);
518
518
  // Keyed updates ensure only the most recent callback queued with a certain key
519
519
  // will be called, keeping DOM operations to a minimum.
520
520
  f(this, U, /* @__PURE__ */ new Map());
521
521
  // All unkeyed updates are run on every batch.
522
522
  f(this, H, []);
523
523
  // All read callbacks are run before updates on every batch.
524
- f(this, oe, []);
525
- f(this, F, !1);
526
- b(this, J, e), b(this, Pe, e.createLogger("dolla/render"));
524
+ f(this, le, []);
525
+ f(this, C, !1);
526
+ b(this, Y, e), b(this, Se, e.createLogger("dolla/render"));
527
527
  }
528
528
  /**
529
529
  * Queues a callback to run in the next render batch.
@@ -536,7 +536,7 @@ class Bt {
536
536
  e(), r();
537
537
  }) : s(this, H).push(() => {
538
538
  e(), r();
539
- }), !s(this, F) && s(this, J).isMounted && (b(this, F, !0), E(this, le, Ce).call(this));
539
+ }), !s(this, C) && s(this, Y).isMounted && (b(this, C, !0), E(this, ce, Ve).call(this));
540
540
  });
541
541
  }
542
542
  /**
@@ -546,49 +546,49 @@ class Bt {
546
546
  */
547
547
  read(e) {
548
548
  return new Promise((t) => {
549
- s(this, oe).push(() => {
549
+ s(this, le).push(() => {
550
550
  e(), t();
551
- }), !s(this, F) && s(this, J).isMounted && (b(this, F, !0), E(this, le, Ce).call(this));
551
+ }), !s(this, C) && s(this, Y).isMounted && (b(this, C, !0), E(this, ce, Ve).call(this));
552
552
  });
553
553
  }
554
554
  }
555
- J = new WeakMap(), Pe = new WeakMap(), U = new WeakMap(), H = new WeakMap(), oe = new WeakMap(), F = new WeakMap(), le = new WeakSet(), Ce = function() {
555
+ Y = new WeakMap(), Se = new WeakMap(), U = new WeakMap(), H = new WeakMap(), le = new WeakMap(), C = new WeakMap(), ce = new WeakSet(), Ve = function() {
556
556
  const e = s(this, U).size + s(this, H).length;
557
- if ((!s(this, J).isMounted || e === 0) && b(this, F, !1), !s(this, F)) {
558
- for (const t of s(this, oe))
557
+ if ((!s(this, Y).isMounted || e === 0) && b(this, C, !1), !s(this, C)) {
558
+ for (const t of s(this, le))
559
559
  t();
560
- b(this, oe, []);
560
+ b(this, le, []);
561
561
  return;
562
562
  }
563
563
  requestAnimationFrame(() => {
564
- s(this, Pe).info(`Batching ${s(this, U).size + s(this, H).length} queued DOM update(s).`);
564
+ s(this, Se).info(`Batching ${s(this, U).size + s(this, H).length} queued DOM update(s).`);
565
565
  for (const t of s(this, U).values())
566
566
  t();
567
567
  s(this, U).clear();
568
568
  for (const t of s(this, H))
569
569
  t();
570
- b(this, H, []), E(this, le, Ce).call(this);
570
+ b(this, H, []), E(this, ce, Ve).call(this);
571
571
  });
572
572
  };
573
- function fe() {
574
- return fe = Object.assign ? Object.assign.bind() : function(i) {
573
+ function de() {
574
+ return de = Object.assign ? Object.assign.bind() : function(i) {
575
575
  for (var e = 1; e < arguments.length; e++) {
576
576
  var t = arguments[e];
577
577
  for (var r in t) ({}).hasOwnProperty.call(t, r) && (i[r] = t[r]);
578
578
  }
579
579
  return i;
580
- }, fe.apply(null, arguments);
580
+ }, de.apply(null, arguments);
581
581
  }
582
- var _;
582
+ var A;
583
583
  (function(i) {
584
584
  i.Pop = "POP", i.Push = "PUSH", i.Replace = "REPLACE";
585
- })(_ || (_ = {}));
586
- var He = process.env.NODE_ENV !== "production" ? function(i) {
585
+ })(A || (A = {}));
586
+ var Ie = process.env.NODE_ENV !== "production" ? function(i) {
587
587
  return Object.freeze(i);
588
588
  } : function(i) {
589
589
  return i;
590
590
  };
591
- function Ve(i, e) {
591
+ function qe(i, e) {
592
592
  if (!i) {
593
593
  typeof console < "u" && console.warn(e);
594
594
  try {
@@ -597,13 +597,13 @@ function Ve(i, e) {
597
597
  }
598
598
  }
599
599
  }
600
- var Ie = "beforeunload", zt = "hashchange", Et = "popstate";
601
- function Kt(i) {
600
+ var We = "beforeunload", Kt = "hashchange", kt = "popstate";
601
+ function Qt(i) {
602
602
  i === void 0 && (i = {});
603
603
  var e = i, t = e.window, r = t === void 0 ? document.defaultView : t, a = r.history;
604
604
  function n() {
605
605
  var w = r.location, c = w.pathname, p = w.search, v = w.hash, $ = a.state || {};
606
- return [$.idx, He({
606
+ return [$.idx, Ie({
607
607
  pathname: c,
608
608
  search: p,
609
609
  hash: v,
@@ -616,7 +616,7 @@ function Kt(i) {
616
616
  if (o)
617
617
  y.call(o), o = null;
618
618
  else {
619
- var w = _.Pop, c = n(), p = c[0], v = c[1];
619
+ var w = A.Pop, c = n(), p = c[0], v = c[1];
620
620
  if (y.length)
621
621
  if (p != null) {
622
622
  var $ = g - p;
@@ -624,11 +624,11 @@ function Kt(i) {
624
624
  action: w,
625
625
  location: v,
626
626
  retry: function() {
627
- C($ * -1);
627
+ F($ * -1);
628
628
  }
629
- }, C($));
629
+ }, F($));
630
630
  } else
631
- process.env.NODE_ENV !== "production" && Ve(
631
+ process.env.NODE_ENV !== "production" && qe(
632
632
  !1,
633
633
  // TODO: Write up a doc that explains our blocking strategy in
634
634
  // detail and link to it here so people can understand better what
@@ -636,42 +636,42 @@ function Kt(i) {
636
636
  "You are trying to block a POP navigation to a location that was not created by the history library. The block will fail silently in production, but in general you should do all navigation with the history library (instead of using window.history.pushState directly) to avoid this situation."
637
637
  );
638
638
  else
639
- re(w);
639
+ ne(w);
640
640
  }
641
641
  }
642
- r.addEventListener(Et, h);
643
- var l = _.Pop, d = n(), g = d[0], m = d[1], u = Ge(), y = Ge();
644
- g == null && (g = 0, a.replaceState(fe({}, a.state, {
642
+ r.addEventListener(kt, h);
643
+ var l = A.Pop, d = n(), g = d[0], m = d[1], u = Be(), y = Be();
644
+ g == null && (g = 0, a.replaceState(de({}, a.state, {
645
645
  idx: g
646
646
  }), ""));
647
647
  function k(w) {
648
- return typeof w == "string" ? w : qe(w);
648
+ return typeof w == "string" ? w : Ue(w);
649
649
  }
650
- function de(w, c) {
651
- return c === void 0 && (c = null), He(fe({
650
+ function pe(w, c) {
651
+ return c === void 0 && (c = null), Ie(de({
652
652
  pathname: m.pathname,
653
653
  hash: "",
654
654
  search: ""
655
- }, typeof w == "string" ? rt(w) : w, {
655
+ }, typeof w == "string" ? nt(w) : w, {
656
656
  state: c,
657
- key: kt()
657
+ key: Pt()
658
658
  }));
659
659
  }
660
- function pe(w, c) {
660
+ function me(w, c) {
661
661
  return [{
662
662
  usr: w.state,
663
663
  key: w.key,
664
664
  idx: c
665
665
  }, k(w)];
666
666
  }
667
- function me(w, c, p) {
667
+ function ge(w, c, p) {
668
668
  return !y.length || (y.call({
669
669
  action: w,
670
670
  location: c,
671
671
  retry: p
672
672
  }), !1);
673
673
  }
674
- function re(w) {
674
+ function ne(w) {
675
675
  l = w;
676
676
  var c = n();
677
677
  g = c[0], m = c[1], u.call({
@@ -679,35 +679,35 @@ function Kt(i) {
679
679
  location: m
680
680
  });
681
681
  }
682
- function ne(w, c) {
683
- var p = _.Push, v = de(w, c);
682
+ function ae(w, c) {
683
+ var p = A.Push, v = pe(w, c);
684
684
  function $() {
685
- ne(w, c);
685
+ ae(w, c);
686
686
  }
687
- if (me(p, v, $)) {
688
- var L = pe(v, g + 1), N = L[0], D = L[1];
687
+ if (ge(p, v, $)) {
688
+ var L = me(v, g + 1), N = L[0], D = L[1];
689
689
  try {
690
690
  a.pushState(N, "", D);
691
691
  } catch {
692
692
  r.location.assign(D);
693
693
  }
694
- re(p);
694
+ ne(p);
695
695
  }
696
696
  }
697
- function ge(w, c) {
698
- var p = _.Replace, v = de(w, c);
697
+ function we(w, c) {
698
+ var p = A.Replace, v = pe(w, c);
699
699
  function $() {
700
- ge(w, c);
700
+ we(w, c);
701
701
  }
702
- if (me(p, v, $)) {
703
- var L = pe(v, g), N = L[0], D = L[1];
704
- a.replaceState(N, "", D), re(p);
702
+ if (ge(p, v, $)) {
703
+ var L = me(v, g), N = L[0], D = L[1];
704
+ a.replaceState(N, "", D), ne(p);
705
705
  }
706
706
  }
707
- function C(w) {
707
+ function F(w) {
708
708
  a.go(w);
709
709
  }
710
- var K = {
710
+ var Q = {
711
711
  get action() {
712
712
  return l;
713
713
  },
@@ -715,38 +715,38 @@ function Kt(i) {
715
715
  return m;
716
716
  },
717
717
  createHref: k,
718
- push: ne,
719
- replace: ge,
720
- go: C,
718
+ push: ae,
719
+ replace: we,
720
+ go: F,
721
721
  back: function() {
722
- C(-1);
722
+ F(-1);
723
723
  },
724
724
  forward: function() {
725
- C(1);
725
+ F(1);
726
726
  },
727
727
  listen: function(c) {
728
728
  return u.push(c);
729
729
  },
730
730
  block: function(c) {
731
731
  var p = y.push(c);
732
- return y.length === 1 && r.addEventListener(Ie, We), function() {
733
- p(), y.length || r.removeEventListener(Ie, We);
732
+ return y.length === 1 && r.addEventListener(We, Ge), function() {
733
+ p(), y.length || r.removeEventListener(We, Ge);
734
734
  };
735
735
  }
736
736
  };
737
- return K;
737
+ return Q;
738
738
  }
739
- function Qt(i) {
739
+ function Jt(i) {
740
740
  i === void 0 && (i = {});
741
741
  var e = i, t = e.window, r = t === void 0 ? document.defaultView : t, a = r.history;
742
742
  function n() {
743
- var c = rt(r.location.hash.substr(1)), p = c.pathname, v = p === void 0 ? "/" : p, $ = c.search, L = $ === void 0 ? "" : $, N = c.hash, D = N === void 0 ? "" : N, A = a.state || {};
744
- return [A.idx, He({
743
+ var c = nt(r.location.hash.substr(1)), p = c.pathname, v = p === void 0 ? "/" : p, $ = c.search, L = $ === void 0 ? "" : $, N = c.hash, D = N === void 0 ? "" : N, _ = a.state || {};
744
+ return [_.idx, Ie({
745
745
  pathname: v,
746
746
  search: L,
747
747
  hash: D,
748
- state: A.usr || null,
749
- key: A.key || "default"
748
+ state: _.usr || null,
749
+ key: _.key || "default"
750
750
  })];
751
751
  }
752
752
  var o = null;
@@ -754,7 +754,7 @@ function Qt(i) {
754
754
  if (o)
755
755
  y.call(o), o = null;
756
756
  else {
757
- var c = _.Pop, p = n(), v = p[0], $ = p[1];
757
+ var c = A.Pop, p = n(), v = p[0], $ = p[1];
758
758
  if (y.length)
759
759
  if (v != null) {
760
760
  var L = g - v;
@@ -762,11 +762,11 @@ function Qt(i) {
762
762
  action: c,
763
763
  location: $,
764
764
  retry: function() {
765
- K(L * -1);
765
+ Q(L * -1);
766
766
  }
767
- }, K(L));
767
+ }, Q(L));
768
768
  } else
769
- process.env.NODE_ENV !== "production" && Ve(
769
+ process.env.NODE_ENV !== "production" && qe(
770
770
  !1,
771
771
  // TODO: Write up a doc that explains our blocking strategy in
772
772
  // detail and link to it here so people can understand better
@@ -774,15 +774,15 @@ function Qt(i) {
774
774
  "You are trying to block a POP navigation to a location that was not created by the history library. The block will fail silently in production, but in general you should do all navigation with the history library (instead of using window.history.pushState directly) to avoid this situation."
775
775
  );
776
776
  else
777
- ne(c);
777
+ ae(c);
778
778
  }
779
779
  }
780
- r.addEventListener(Et, h), r.addEventListener(zt, function() {
780
+ r.addEventListener(kt, h), r.addEventListener(Kt, function() {
781
781
  var c = n(), p = c[1];
782
- qe(p) !== qe(m) && h();
782
+ Ue(p) !== Ue(m) && h();
783
783
  });
784
- var l = _.Pop, d = n(), g = d[0], m = d[1], u = Ge(), y = Ge();
785
- g == null && (g = 0, a.replaceState(fe({}, a.state, {
784
+ var l = A.Pop, d = n(), g = d[0], m = d[1], u = Be(), y = Be();
785
+ g == null && (g = 0, a.replaceState(de({}, a.state, {
786
786
  idx: g
787
787
  }), ""));
788
788
  function k() {
@@ -793,34 +793,34 @@ function Qt(i) {
793
793
  }
794
794
  return p;
795
795
  }
796
- function de(c) {
797
- return k() + "#" + (typeof c == "string" ? c : qe(c));
796
+ function pe(c) {
797
+ return k() + "#" + (typeof c == "string" ? c : Ue(c));
798
798
  }
799
- function pe(c, p) {
800
- return p === void 0 && (p = null), He(fe({
799
+ function me(c, p) {
800
+ return p === void 0 && (p = null), Ie(de({
801
801
  pathname: m.pathname,
802
802
  hash: "",
803
803
  search: ""
804
- }, typeof c == "string" ? rt(c) : c, {
804
+ }, typeof c == "string" ? nt(c) : c, {
805
805
  state: p,
806
- key: kt()
806
+ key: Pt()
807
807
  }));
808
808
  }
809
- function me(c, p) {
809
+ function ge(c, p) {
810
810
  return [{
811
811
  usr: c.state,
812
812
  key: c.key,
813
813
  idx: p
814
- }, de(c)];
814
+ }, pe(c)];
815
815
  }
816
- function re(c, p, v) {
816
+ function ne(c, p, v) {
817
817
  return !y.length || (y.call({
818
818
  action: c,
819
819
  location: p,
820
820
  retry: v
821
821
  }), !1);
822
822
  }
823
- function ne(c) {
823
+ function ae(c) {
824
824
  l = c;
825
825
  var p = n();
826
826
  g = p[0], m = p[1], u.call({
@@ -828,32 +828,32 @@ function Qt(i) {
828
828
  location: m
829
829
  });
830
830
  }
831
- function ge(c, p) {
832
- var v = _.Push, $ = pe(c, p);
831
+ function we(c, p) {
832
+ var v = A.Push, $ = me(c, p);
833
833
  function L() {
834
- ge(c, p);
834
+ we(c, p);
835
835
  }
836
- if (process.env.NODE_ENV !== "production" && Ve($.pathname.charAt(0) === "/", "Relative pathnames are not supported in hash history.push(" + JSON.stringify(c) + ")"), re(v, $, L)) {
837
- var N = me($, g + 1), D = N[0], A = N[1];
836
+ if (process.env.NODE_ENV !== "production" && qe($.pathname.charAt(0) === "/", "Relative pathnames are not supported in hash history.push(" + JSON.stringify(c) + ")"), ne(v, $, L)) {
837
+ var N = ge($, g + 1), D = N[0], _ = N[1];
838
838
  try {
839
- a.pushState(D, "", A);
839
+ a.pushState(D, "", _);
840
840
  } catch {
841
- r.location.assign(A);
841
+ r.location.assign(_);
842
842
  }
843
- ne(v);
843
+ ae(v);
844
844
  }
845
845
  }
846
- function C(c, p) {
847
- var v = _.Replace, $ = pe(c, p);
846
+ function F(c, p) {
847
+ var v = A.Replace, $ = me(c, p);
848
848
  function L() {
849
- C(c, p);
849
+ F(c, p);
850
850
  }
851
- if (process.env.NODE_ENV !== "production" && Ve($.pathname.charAt(0) === "/", "Relative pathnames are not supported in hash history.replace(" + JSON.stringify(c) + ")"), re(v, $, L)) {
852
- var N = me($, g), D = N[0], A = N[1];
853
- a.replaceState(D, "", A), ne(v);
851
+ if (process.env.NODE_ENV !== "production" && qe($.pathname.charAt(0) === "/", "Relative pathnames are not supported in hash history.replace(" + JSON.stringify(c) + ")"), ne(v, $, L)) {
852
+ var N = ge($, g), D = N[0], _ = N[1];
853
+ a.replaceState(D, "", _), ae(v);
854
854
  }
855
855
  }
856
- function K(c) {
856
+ function Q(c) {
857
857
  a.go(c);
858
858
  }
859
859
  var w = {
@@ -863,32 +863,32 @@ function Qt(i) {
863
863
  get location() {
864
864
  return m;
865
865
  },
866
- createHref: de,
867
- push: ge,
868
- replace: C,
869
- go: K,
866
+ createHref: pe,
867
+ push: we,
868
+ replace: F,
869
+ go: Q,
870
870
  back: function() {
871
- K(-1);
871
+ Q(-1);
872
872
  },
873
873
  forward: function() {
874
- K(1);
874
+ Q(1);
875
875
  },
876
876
  listen: function(p) {
877
877
  return u.push(p);
878
878
  },
879
879
  block: function(p) {
880
880
  var v = y.push(p);
881
- return y.length === 1 && r.addEventListener(Ie, We), function() {
882
- v(), y.length || r.removeEventListener(Ie, We);
881
+ return y.length === 1 && r.addEventListener(We, Ge), function() {
882
+ v(), y.length || r.removeEventListener(We, Ge);
883
883
  };
884
884
  }
885
885
  };
886
886
  return w;
887
887
  }
888
- function We(i) {
888
+ function Ge(i) {
889
889
  i.preventDefault(), i.returnValue = "";
890
890
  }
891
- function Ge() {
891
+ function Be() {
892
892
  var i = [];
893
893
  return {
894
894
  get length() {
@@ -908,14 +908,14 @@ function Ge() {
908
908
  }
909
909
  };
910
910
  }
911
- function kt() {
911
+ function Pt() {
912
912
  return Math.random().toString(36).substr(2, 8);
913
913
  }
914
- function qe(i) {
914
+ function Ue(i) {
915
915
  var e = i.pathname, t = e === void 0 ? "/" : e, r = i.search, a = r === void 0 ? "" : r, n = i.hash, o = n === void 0 ? "" : n;
916
916
  return a && a !== "?" && (t += a.charAt(0) === "?" ? a : "?" + a), o && o !== "#" && (t += o.charAt(0) === "#" ? o : "#" + o), t;
917
917
  }
918
- function rt(i) {
918
+ function nt(i) {
919
919
  var e = {};
920
920
  if (i) {
921
921
  var t = i.indexOf("#");
@@ -925,26 +925,26 @@ function rt(i) {
925
925
  }
926
926
  return e;
927
927
  }
928
- function ye(i) {
929
- return wt(i, "Expected `path` to be a string. Got type: %t, value: %v"), i.split("/").map((e) => e.trim()).filter((e) => e !== "");
928
+ function be(i) {
929
+ return yt(i, "Expected `path` to be a string. Got type: %t, value: %v"), i.split("/").map((e) => e.trim()).filter((e) => e !== "");
930
930
  }
931
- function ae(i) {
931
+ function se(i) {
932
932
  var t;
933
- xt(
934
- (r) => it(r == null ? void 0 : r.toString),
933
+ Ot(
934
+ (r) => ot(r == null ? void 0 : r.toString),
935
935
  i,
936
936
  "Expected `parts` to be an array of objects with a .toString() method. Got type: %t, value: %v"
937
937
  ), i = i.filter((r) => r).flatMap(String);
938
938
  let e = (t = i.shift()) == null ? void 0 : t.toString();
939
939
  if (e) {
940
940
  for (const r of i.map((a) => a.toString()))
941
- r.startsWith(".") ? e = Ue(e, r) : e[e.length - 1] !== "/" ? r[0] !== "/" ? e += "/" + r : e += r : r[0] === "/" ? e += r.slice(1) : e += r;
941
+ r.startsWith(".") ? e = He(e, r) : e[e.length - 1] !== "/" ? r[0] !== "/" ? e += "/" + r : e += r : r[0] === "/" ? e += r.slice(1) : e += r;
942
942
  e && e !== "/" && e.endsWith("/") && (e = e.slice(0, e.length - 1));
943
943
  }
944
944
  return e ?? "";
945
945
  }
946
- function Ue(i, e) {
947
- if (wt(i, "Expected `base` to be a string. Got type: %t, value: %v"), e == null && (e = i, i = ""), e.startsWith("/"))
946
+ function He(i, e) {
947
+ if (yt(i, "Expected `base` to be a string. Got type: %t, value: %v"), e == null && (e = i, i = ""), e.startsWith("/"))
948
948
  return e;
949
949
  let t = i;
950
950
  for (; ; )
@@ -958,9 +958,9 @@ function Ue(i, e) {
958
958
  e = e.replace(/^\.\/?/, "");
959
959
  else
960
960
  break;
961
- return ae([t, e]);
961
+ return se([t, e]);
962
962
  }
963
- function nt(i) {
963
+ function at(i) {
964
964
  if (!i) return {};
965
965
  i.startsWith("?") && (i = i.slice(1));
966
966
  const e = i.split("&").filter((t) => t.trim() !== "").map((t) => {
@@ -969,9 +969,9 @@ function nt(i) {
969
969
  });
970
970
  return Object.fromEntries(e);
971
971
  }
972
- function mt(i, e, t = {}) {
972
+ function gt(i, e, t = {}) {
973
973
  var o;
974
- const [r, a] = e.split("?"), n = ye(r);
974
+ const [r, a] = e.split("?"), n = be(r);
975
975
  e: for (const h of i) {
976
976
  const { fragments: l } = h;
977
977
  if (!(((o = l[l.length - 1]) == null ? void 0 : o.type) === 3) && l.length !== n.length || t.willMatch && !t.willMatch(h))
@@ -1003,19 +1003,19 @@ function mt(i, e, t = {}) {
1003
1003
  throw new Error(`Unknown fragment type: ${k.type}`);
1004
1004
  }
1005
1005
  }
1006
- const m = /* @__PURE__ */ Object.create(null);
1006
+ const m = {};
1007
1007
  for (const u of g)
1008
1008
  u.type === 2 && (m[u.name] = decodeURIComponent(u.value)), u.type === 4 && (m[u.name] = u.value), u.type === 3 && (m.wildcard = "/" + decodeURIComponent(u.value));
1009
1009
  return {
1010
1010
  path: "/" + g.map((u) => u.value).join("/"),
1011
1011
  pattern: "/" + l.map((u) => u.type === 2 ? `{${u.name}}` : u.type === 4 ? `{#${u.name}}` : u.name).join("/"),
1012
1012
  params: m,
1013
- query: nt(a),
1013
+ query: at(a),
1014
1014
  meta: h.meta
1015
1015
  };
1016
1016
  }
1017
1017
  }
1018
- function Jt(i) {
1018
+ function Yt(i) {
1019
1019
  const e = [], t = [], r = [], a = [];
1020
1020
  for (const o of i) {
1021
1021
  const { fragments: h } = o;
@@ -1033,8 +1033,8 @@ function Jt(i) {
1033
1033
  const n = (o, h) => o.fragments.length > h.fragments.length ? -1 : 1;
1034
1034
  return e.sort(n), t.sort(n), r.sort(n), a.sort(n), [...e, ...t, ...r, ...a];
1035
1035
  }
1036
- function Yt(i) {
1037
- const e = ye(i), t = [];
1036
+ function Xt(i) {
1037
+ const e = be(i), t = [];
1038
1038
  for (let r = 0; r < e.length; r++) {
1039
1039
  const a = e[r];
1040
1040
  if (a === "*") {
@@ -1057,47 +1057,47 @@ function Yt(i) {
1057
1057
  }
1058
1058
  return t;
1059
1059
  }
1060
- var Se, M, Y, Le, P, Ke, I, Re, X, Z, ce, ue, he, xe, z, at, st;
1061
- class Xt {
1060
+ var Le, M, X, xe, P, Qe, I, Re, Z, ee, ue, he, fe, Oe, K, st, it;
1061
+ class Zt {
1062
1062
  constructor(e, t) {
1063
- f(this, z);
1064
- f(this, Se);
1063
+ f(this, K);
1064
+ f(this, Le);
1065
1065
  f(this, M);
1066
- f(this, Y);
1067
- f(this, Le, Ye());
1066
+ f(this, X);
1067
+ f(this, xe, Xe());
1068
1068
  f(this, P);
1069
- f(this, Ke, 0);
1069
+ f(this, Qe, 0);
1070
1070
  f(this, I, []);
1071
1071
  f(this, Re);
1072
- f(this, X, []);
1073
- // Callbacks that need to be called on unmount.
1074
1072
  f(this, Z, []);
1073
+ // Callbacks that need to be called on unmount.
1074
+ f(this, ee, []);
1075
1075
  /**
1076
1076
  * The currently matched route pattern, if any.
1077
1077
  */
1078
1078
  S(this, "$pattern");
1079
- f(this, ce);
1079
+ f(this, ue);
1080
1080
  /**
1081
1081
  * The current URL path.
1082
1082
  */
1083
1083
  S(this, "$path");
1084
- f(this, ue);
1084
+ f(this, he);
1085
1085
  /**
1086
1086
  * The current named path params.
1087
1087
  */
1088
1088
  S(this, "$params");
1089
- f(this, he);
1089
+ f(this, fe);
1090
1090
  /**
1091
1091
  * The current query params. Changes to this object will be reflected in the URL.
1092
1092
  */
1093
1093
  S(this, "$query");
1094
- f(this, xe);
1095
- b(this, Se, e), b(this, M, e.createLogger("dolla/router")), b(this, Y, t);
1096
- const [r, a] = se(null), [n, o] = se(""), [h, l] = se({}), [d, g] = se(
1097
- nt(typeof window > "u" ? "" : window.location.search ?? "")
1094
+ f(this, Oe);
1095
+ b(this, Le, e), b(this, M, e.createLogger("dolla/router")), b(this, X, t);
1096
+ const [r, a] = ie(null), [n, o] = ie(""), [h, l] = ie({}), [d, g] = ie(
1097
+ at(typeof window > "u" ? "" : window.location.search ?? "")
1098
1098
  );
1099
- this.$pattern = r, b(this, ce, a), this.$path = n, b(this, ue, o), this.$params = h, b(this, he, l), this.$query = d, b(this, xe, g), e.beforeMount(() => {
1100
- s(this, P) != null && (s(this, Le).watch([d], (m) => {
1099
+ this.$pattern = r, b(this, ue, a), this.$path = n, b(this, he, o), this.$params = h, b(this, fe, l), this.$query = d, b(this, Oe, g), e.beforeMount(() => {
1100
+ s(this, P) != null && (s(this, xe).watch([d], (m) => {
1101
1101
  const u = new URLSearchParams();
1102
1102
  for (const k in m)
1103
1103
  u.set(k, String(m[k]));
@@ -1106,37 +1106,37 @@ class Xt {
1106
1106
  pathname: s(this, P).location.pathname,
1107
1107
  search: y
1108
1108
  });
1109
- }), s(this, Z).push(s(this, P).listen(E(this, z, st).bind(this))), E(this, z, st).call(this, s(this, P)), s(this, Z).push(
1110
- tr(s(this, Y).rootElement, (m) => {
1109
+ }), s(this, ee).push(s(this, P).listen(E(this, K, it).bind(this))), E(this, K, it).call(this, s(this, P)), s(this, ee).push(
1110
+ rr(s(this, X).rootElement, (m) => {
1111
1111
  let u = m.getAttribute("href");
1112
- s(this, M).info("Intercepted link click", m, u), /^https?:\/\/|^\//.test(u) || (u = ae([s(this, P).location.pathname, u])), s(this, P).push(u);
1112
+ s(this, M).info("Intercepted link click", m, u), /^https?:\/\/|^\//.test(u) || (u = se([s(this, P).location.pathname, u])), s(this, P).push(u);
1113
1113
  })
1114
- ), s(this, M).info("Intercepting <a> clicks within root element:", s(this, Y).rootElement));
1114
+ ), s(this, M).info("Intercepting <a> clicks within root element:", s(this, X).rootElement));
1115
1115
  }), e.onUnmount(() => {
1116
- for (; s(this, Z).length > 0; )
1117
- s(this, Z).pop()();
1118
- s(this, Le).stopAll();
1116
+ for (; s(this, ee).length > 0; )
1117
+ s(this, ee).pop()();
1118
+ s(this, xe).stopAll();
1119
1119
  });
1120
1120
  }
1121
1121
  setup(e) {
1122
- if (s(this, Se).isMounted) {
1122
+ if (s(this, Le).isMounted) {
1123
1123
  s(this, M).crash(
1124
1124
  new Error("Dolla is already mounted. Router setup must be called before Dolla.mount is called.")
1125
1125
  );
1126
1126
  return;
1127
1127
  }
1128
- e.style === "hash" ? b(this, P, Qt()) : b(this, P, Kt()), b(this, X, Jt(
1129
- e.routes.flatMap((t) => E(this, z, at).call(this, t)).map((t) => ({
1128
+ e.style === "hash" ? b(this, P, Jt()) : b(this, P, Qt()), b(this, Z, Yt(
1129
+ e.routes.flatMap((t) => E(this, K, st).call(this, t)).map((t) => ({
1130
1130
  pattern: t.pattern,
1131
1131
  meta: t.meta,
1132
- fragments: Yt(t.pattern)
1132
+ fragments: Xt(t.pattern)
1133
1133
  }))
1134
1134
  ));
1135
- for (const t of s(this, X))
1135
+ for (const t of s(this, Z))
1136
1136
  if (t.meta.redirect) {
1137
1137
  let r;
1138
- if (!it(t.meta.redirect)) if (V(t.meta.redirect)) {
1139
- if (r = t.meta.redirect, !mt(s(this, X), r, {
1138
+ if (!ot(t.meta.redirect)) if (V(t.meta.redirect)) {
1139
+ if (r = t.meta.redirect, !gt(s(this, Z), r, {
1140
1140
  willMatch(n) {
1141
1141
  return n !== t;
1142
1142
  }
@@ -1165,7 +1165,7 @@ class Xt {
1165
1165
  return;
1166
1166
  }
1167
1167
  let r;
1168
- Array.isArray(e) ? r = ae(e) : r = e.toString(), r = Ue(s(this, P).location.pathname, r), t.preserveQuery && (r += s(this, P).location.search), t.replace ? s(this, P).replace(r) : s(this, P).push(r);
1168
+ Array.isArray(e) ? r = se(e) : r = e.toString(), r = He(s(this, P).location.pathname, r), t.preserveQuery && (r += s(this, P).location.search), t.replace ? s(this, P).replace(r) : s(this, P).push(r);
1169
1169
  }
1170
1170
  /**
1171
1171
  * Navigate backward. Pass a number of steps to hit the back button that many times.
@@ -1196,13 +1196,13 @@ class Xt {
1196
1196
  s(this, P).go(e);
1197
1197
  }
1198
1198
  }
1199
- Se = new WeakMap(), M = new WeakMap(), Y = new WeakMap(), Le = new WeakMap(), P = new WeakMap(), Ke = new WeakMap(), I = new WeakMap(), Re = new WeakMap(), X = new WeakMap(), Z = new WeakMap(), ce = new WeakMap(), ue = new WeakMap(), he = new WeakMap(), xe = new WeakMap(), z = new WeakSet(), /**
1199
+ Le = new WeakMap(), M = new WeakMap(), X = new WeakMap(), xe = new WeakMap(), P = new WeakMap(), Qe = new WeakMap(), I = new WeakMap(), Re = new WeakMap(), Z = new WeakMap(), ee = new WeakMap(), ue = new WeakMap(), he = new WeakMap(), fe = new WeakMap(), Oe = new WeakMap(), K = new WeakSet(), /**
1200
1200
  * Parses a route definition object into a set of matchable routes.
1201
1201
  *
1202
1202
  * @param route - Route config object.
1203
1203
  * @param layers - Array of parent layers. Passed when this function calls itself on nested routes.
1204
1204
  */
1205
- at = function(e, t = [], r = []) {
1205
+ st = function(e, t = [], r = []) {
1206
1206
  if (!(typeof e == "object" && !Array.isArray(e)) || typeof e.path != "string")
1207
1207
  throw new TypeError(`Route configs must be objects with a 'path' string property. Got: ${e}`);
1208
1208
  if (e.redirect && e.routes)
@@ -1213,30 +1213,30 @@ at = function(e, t = [], r = []) {
1213
1213
  throw new Error("Route must have a 'view', a 'redirect', or a set of nested 'routes'.");
1214
1214
  let a = [];
1215
1215
  for (const l of t)
1216
- a.push(...ye(l.path));
1217
- a.push(...ye(e.path)), a[a.length - 1] === "*" && a.pop();
1216
+ a.push(...be(l.path));
1217
+ a.push(...be(e.path)), a[a.length - 1] === "*" && a.pop();
1218
1218
  const n = [];
1219
1219
  if (e.redirect) {
1220
1220
  let l = e.redirect;
1221
- return V(l) && (l = Ue(ae(a), l), l.startsWith("/") || (l = "/" + l)), n.push({
1222
- pattern: "/" + ae([...a, ...ye(e.path)]),
1221
+ return V(l) && (l = He(se(a), l), l.startsWith("/") || (l = "/" + l)), n.push({
1222
+ pattern: "/" + se([...a, ...be(e.path)]),
1223
1223
  meta: {
1224
1224
  redirect: l
1225
1225
  }
1226
1226
  }), n;
1227
1227
  }
1228
- let o = yt;
1228
+ let o = bt;
1229
1229
  if (typeof e.view == "function")
1230
1230
  o = e.view;
1231
1231
  else if (e.view)
1232
1232
  throw new TypeError(`Route '${e.path}' expected a view function or undefined. Got: ${e.view}`);
1233
- const h = { id: lt(this, Ke)._++, view: o };
1233
+ const h = { id: ct(this, Qe)._++, view: o };
1234
1234
  if (e.routes)
1235
1235
  for (const l of e.routes)
1236
- n.push(...E(this, z, at).call(this, l, [...t, e], [...r, h]));
1236
+ n.push(...E(this, K, st).call(this, l, [...t, e], [...r, h]));
1237
1237
  else
1238
1238
  n.push({
1239
- pattern: parent ? ae([...t.map((l) => l.path), e.path]) : e.path,
1239
+ pattern: parent ? se([...t.map((l) => l.path), e.path]) : e.path,
1240
1240
  meta: {
1241
1241
  pattern: e.path,
1242
1242
  layers: [...r, h],
@@ -1244,11 +1244,11 @@ at = function(e, t = [], r = []) {
1244
1244
  }
1245
1245
  });
1246
1246
  return n;
1247
- }, st = async function({ location: e }) {
1248
- e.search !== s(this, Re) && (b(this, Re, e.search), s(this, xe).call(this, nt(e.search)));
1249
- const t = mt(s(this, X), e.pathname);
1247
+ }, it = async function({ location: e }) {
1248
+ e.search !== s(this, Re) && (b(this, Re, e.search), s(this, Oe).call(this, at(e.search)));
1249
+ const t = gt(s(this, Z), e.pathname);
1250
1250
  if (!t) {
1251
- s(this, ce).call(this, null), s(this, ue).call(this, e.pathname), s(this, he).call(this, {
1251
+ s(this, ue).call(this, null), s(this, he).call(this, e.pathname), s(this, fe).call(this, {
1252
1252
  wildcard: e.pathname
1253
1253
  });
1254
1254
  return;
@@ -1260,7 +1260,7 @@ at = function(e, t = [], r = []) {
1260
1260
  }
1261
1261
  }), t.meta.redirect != null)
1262
1262
  if (typeof t.meta.redirect == "string") {
1263
- const r = rr(t.meta.redirect, t.params);
1263
+ const r = nr(t.meta.redirect, t.params);
1264
1264
  s(this, M).info(`↩️ redirecting from '${t.path}' to '${r}'`), s(this, P).replace(r);
1265
1265
  } else if (typeof t.meta.redirect == "function") {
1266
1266
  const r = {
@@ -1272,11 +1272,11 @@ at = function(e, t = [], r = []) {
1272
1272
  let a = await t.meta.redirect(r);
1273
1273
  if (typeof a != "string")
1274
1274
  throw new Error("Redirect function must return a path to redirect to.");
1275
- a.startsWith("/") || (a = Ue(t.path, a)), s(this, M).info(`Redirecting to: '${a}'`), s(this, P).replace(a);
1275
+ a.startsWith("/") || (a = He(t.path, a)), s(this, M).info(`Redirecting to: '${a}'`), s(this, P).replace(a);
1276
1276
  } else
1277
1277
  throw new TypeError("Redirect must either be a path string or a function.");
1278
- else if (s(this, M).info(`📍 navigating to '${t.path}'`), s(this, ue).call(this, t.path), s(this, he).call(this, t.params), t.pattern !== this.$pattern.get()) {
1279
- s(this, ce).call(this, t.pattern);
1278
+ else if (s(this, M).info(`📍 navigating to '${t.path}'`), s(this, he).call(this, t.path), s(this, fe).call(this, t.params), t.pattern !== this.$pattern.get()) {
1279
+ s(this, ue).call(this, t.pattern);
1280
1280
  const r = t.meta.layers;
1281
1281
  for (let a = 0; a < r.length; a++) {
1282
1282
  const n = r[a], o = s(this, I)[a];
@@ -1285,13 +1285,13 @@ at = function(e, t = [], r = []) {
1285
1285
  const h = s(this, I).at(-1);
1286
1286
  o && o.node.isMounted && o.node.unmount();
1287
1287
  let l;
1288
- h ? l = h.node.setChildView(n.view) : l = s(this, Y).rootView.setChildView(n.view), s(this, I).push({ id: n.id, node: l });
1288
+ h ? l = h.node.setChildView(n.view) : l = s(this, X).rootView.setChildView(n.view), s(this, I).push({ id: n.id, node: l });
1289
1289
  }
1290
1290
  }
1291
1291
  }
1292
1292
  };
1293
- const Zt = /(noopener|noreferrer) (noopener|noreferrer)/, er = /^[\w-_]+:/;
1294
- function tr(i, e, t = window) {
1293
+ const er = /(noopener|noreferrer) (noopener|noreferrer)/, tr = /^[\w-_]+:/;
1294
+ function rr(i, e, t = window) {
1295
1295
  function r(n) {
1296
1296
  return !n || n === i ? null : n.localName !== "a" || n.href === void 0 ? r(n.parentNode) : n;
1297
1297
  }
@@ -1299,60 +1299,64 @@ function tr(i, e, t = window) {
1299
1299
  if (n.button && n.button !== 0 || n.ctrlKey || n.metaKey || n.altKey || n.shiftKey || n.defaultPrevented)
1300
1300
  return;
1301
1301
  const o = r(n.target);
1302
- o && (t.location.protocol !== o.protocol || t.location.hostname !== o.hostname || t.location.port !== o.port || o.hasAttribute("data-router-ignore") || o.hasAttribute("download") || o.getAttribute("target") === "_blank" && Zt.test(o.getAttribute("rel")) || er.test(o.getAttribute("href")) || (n.preventDefault(), e(o)));
1302
+ o && (t.location.protocol !== o.protocol || t.location.hostname !== o.hostname || t.location.port !== o.port || o.hasAttribute("data-router-ignore") || o.hasAttribute("download") || o.getAttribute("target") === "_blank" && er.test(o.getAttribute("rel")) || tr.test(o.getAttribute("href")) || (n.preventDefault(), e(o)));
1303
1303
  }
1304
1304
  return i.addEventListener("click", a), function() {
1305
1305
  i.removeEventListener("click", a);
1306
1306
  };
1307
1307
  }
1308
- function rr(i, e) {
1308
+ function nr(i, e) {
1309
1309
  for (const t in e) {
1310
1310
  const r = e[t].toString();
1311
1311
  i = i.replace(`{${t}}`, r).replace(`{#${t}}`, r);
1312
1312
  }
1313
1313
  return i;
1314
1314
  }
1315
- var W, Oe, G, ee, Ne, Me, Te, De, _e, Ae, R, B;
1316
- class nr {
1315
+ var W, Ne, G, te, Me, Te, De, Ae, _e, je, B, x, z;
1316
+ class ar {
1317
1317
  constructor() {
1318
1318
  S(this, "http");
1319
1319
  S(this, "i18n");
1320
1320
  S(this, "render");
1321
1321
  S(this, "router");
1322
1322
  f(this, W, !1);
1323
- f(this, Oe, "production");
1323
+ f(this, Ne, "production");
1324
1324
  f(this, G);
1325
- f(this, ee);
1326
- f(this, Ne, Ct);
1327
- f(this, Me, Ye());
1328
- f(this, Te, []);
1325
+ f(this, te);
1326
+ f(this, Me, Vt);
1327
+ f(this, Te, Xe());
1329
1328
  f(this, De, []);
1330
- f(this, _e, []);
1331
1329
  f(this, Ae, []);
1332
- f(this, R, {
1330
+ f(this, _e, []);
1331
+ f(this, je, []);
1332
+ f(this, B, {
1333
+ root: this,
1334
+ data: {}
1335
+ });
1336
+ f(this, x, {
1333
1337
  info: "development",
1334
1338
  log: "development",
1335
1339
  warn: "development",
1336
1340
  error: !0
1337
1341
  });
1338
- f(this, B, ht("*,-dolla/*"));
1339
- S(this, "watch", s(this, Me).watch);
1340
- S(this, "createState", se);
1341
- S(this, "createSettableState", Ot);
1342
- S(this, "toSettableState", Nt);
1343
- S(this, "toState", ft);
1344
- S(this, "valueOf", Mt);
1345
- S(this, "derive", we);
1346
- S(this, "createWatcher", Ye);
1347
- S(this, "createRef", Tt);
1348
- S(this, "isRef", Dt);
1342
+ f(this, z, ft("*,-dolla/*"));
1343
+ S(this, "watch", s(this, Te).watch);
1344
+ S(this, "createState", ie);
1345
+ S(this, "createSettableState", Nt);
1346
+ S(this, "toSettableState", Mt);
1347
+ S(this, "toState", dt);
1348
+ S(this, "valueOf", Tt);
1349
+ S(this, "derive", ye);
1350
+ S(this, "createWatcher", Xe);
1351
+ S(this, "createRef", Dt);
1352
+ S(this, "isRef", At);
1349
1353
  const e = this;
1350
- this.http = new Vt(), this.i18n = new Wt(this), this.render = new Bt(this), this.router = new Xt(this, {
1354
+ this.http = new qt(), this.i18n = new Gt(this), this.render = new zt(this), this.router = new Zt(this, {
1351
1355
  get rootElement() {
1352
1356
  return s(e, G);
1353
1357
  },
1354
1358
  get rootView() {
1355
- return s(e, ee);
1359
+ return s(e, te);
1356
1360
  }
1357
1361
  });
1358
1362
  }
@@ -1367,40 +1371,58 @@ class nr {
1367
1371
  * Environment affects which log messages will print and how much debugging info is included in the DOM.
1368
1372
  */
1369
1373
  getEnv() {
1370
- return s(this, Oe);
1374
+ return s(this, Ne);
1371
1375
  }
1372
1376
  /**
1373
1377
  * Sets the environment that this app is running in.
1374
1378
  * Environment affects which log messages will print and how much debugging info is included in the DOM.
1375
1379
  */
1376
1380
  setEnv(e) {
1377
- b(this, Oe, e);
1381
+ b(this, Ne, e);
1378
1382
  }
1379
1383
  /**
1380
1384
  * Sets the view that will be shown when the `crash` method is called on any logger.
1381
1385
  * When a crash is reported the app will be unmounted and replaced with this crash page.
1382
1386
  */
1383
1387
  setCrashView(e) {
1384
- b(this, Ne, e);
1388
+ b(this, Me, e);
1389
+ }
1390
+ /**
1391
+ * Sets a context variable and returns its value. Context variables are accessible on the app and in child views.
1392
+ */
1393
+ set(e, t) {
1394
+ return s(this, B).data[e] = t, t;
1395
+ }
1396
+ /**
1397
+ * Gets the value of a context variable. Returns null if the variable is not set.
1398
+ */
1399
+ get(e) {
1400
+ return s(this, B).data[e] ?? null;
1401
+ }
1402
+ /**
1403
+ * Returns an object of all context variables stored at the app level.
1404
+ */
1405
+ getAll() {
1406
+ return { ...s(this, B).data };
1385
1407
  }
1386
1408
  async mount(e, t) {
1387
1409
  if (s(this, W))
1388
1410
  throw new Error("Dolla is already mounted.");
1389
1411
  if (V(e)) {
1390
1412
  const a = document.querySelector(e);
1391
- dt(HTMLElement, a, `Selector '${e}' did not match any element.`), b(this, G, a);
1413
+ pt(HTMLElement, a, `Selector '${e}' did not match any element.`), b(this, G, a);
1392
1414
  } else
1393
- dt(HTMLElement, e, "Expected an HTML element or a selector string. Got type: %t, value: %v"), b(this, G, e);
1415
+ pt(HTMLElement, e, "Expected an HTML element or a selector string. Got type: %t, value: %v"), b(this, G, e);
1394
1416
  let r;
1395
- t ? r = pt(t) : r = pt(yt), b(this, ee, this.constructView(r.type, r.props)), await Promise.all(s(this, Te).map((a) => a())), s(this, ee).mount(s(this, G)), b(this, W, !0);
1396
- for (const a of s(this, De))
1417
+ t ? r = mt(t) : r = mt(bt), b(this, te, this.constructView(r.type, r.props)), await Promise.all(s(this, De).map((a) => a())), s(this, te).mount(s(this, G)), b(this, W, !0);
1418
+ for (const a of s(this, Ae))
1397
1419
  a();
1398
1420
  }
1399
1421
  async unmount() {
1400
1422
  var e;
1401
1423
  if (s(this, W)) {
1402
- await Promise.all(s(this, _e).map((t) => t())), (e = s(this, ee)) == null || e.unmount(), s(this, Me).stopAll(), b(this, W, !1);
1403
- for (const t of s(this, Ae))
1424
+ await Promise.all(s(this, _e).map((t) => t())), (e = s(this, te)) == null || e.unmount(), s(this, Te).stopAll(), b(this, W, !1);
1425
+ for (const t of s(this, je))
1404
1426
  t();
1405
1427
  }
1406
1428
  }
@@ -1409,13 +1431,13 @@ class nr {
1409
1431
  * it will be awaited before mounting finishes. Use this to perform initial setup before the app is displayed to the user.
1410
1432
  */
1411
1433
  beforeMount(e) {
1412
- s(this, Te).push(e);
1434
+ s(this, De).push(e);
1413
1435
  }
1414
1436
  /**
1415
1437
  * Registers a `callback` to run after the app is mounted.
1416
1438
  */
1417
1439
  onMount(e) {
1418
- s(this, De).push(e);
1440
+ s(this, Ae).push(e);
1419
1441
  }
1420
1442
  /**
1421
1443
  * Registers a `callback` to run after `Dolla.unmount` is called, before the app is unmounted. If `callback` returns a Promise,
@@ -1428,7 +1450,7 @@ class nr {
1428
1450
  * Registers a `callback` to run after the app is unmounted.
1429
1451
  */
1430
1452
  onUnmount(e) {
1431
- s(this, Ae).push(e);
1453
+ s(this, je).push(e);
1432
1454
  }
1433
1455
  /**
1434
1456
  * Update log type toggles. Values that are not passed will remain unchanged.
@@ -1436,20 +1458,20 @@ class nr {
1436
1458
  setLoggles(e) {
1437
1459
  for (const t in e) {
1438
1460
  const r = e[t];
1439
- r && (s(this, R)[t] = r);
1461
+ r && (s(this, x)[t] = r);
1440
1462
  }
1441
1463
  }
1442
1464
  setLogFilter(e) {
1443
- b(this, B, ht(e));
1465
+ b(this, z, ft(e));
1444
1466
  }
1445
1467
  createLogger(e, t) {
1446
- const r = ft(e), a = (t == null ? void 0 : t.console) ?? _t(), n = this;
1468
+ const r = dt(e), a = (t == null ? void 0 : t.console) ?? _t(), n = this;
1447
1469
  return {
1448
1470
  get info() {
1449
1471
  var h;
1450
1472
  const o = r.get();
1451
- if (s(n, R).info === !1 || V(s(n, R).info) && s(n, R).info !== n.getEnv() || !s(h = n, B).call(h, o))
1452
- return je;
1473
+ if (s(n, x).info === !1 || V(s(n, x).info) && s(n, x).info !== n.getEnv() || !s(h = n, z).call(h, o))
1474
+ return Ce;
1453
1475
  {
1454
1476
  let l = `%c${o}`;
1455
1477
  return t != null && t.uid ? l += ` %c[uid: %c${t.uid}%c]` : l += "%c%c%c", a.info.bind(
@@ -1465,8 +1487,8 @@ class nr {
1465
1487
  get log() {
1466
1488
  var h;
1467
1489
  const o = r.get();
1468
- if (s(n, R).log === !1 || V(s(n, R).log) && s(n, R).log !== n.getEnv() || !s(h = n, B).call(h, o))
1469
- return je;
1490
+ if (s(n, x).log === !1 || V(s(n, x).log) && s(n, x).log !== n.getEnv() || !s(h = n, z).call(h, o))
1491
+ return Ce;
1470
1492
  {
1471
1493
  let l = `%c${o}`;
1472
1494
  return t != null && t.uid ? l += ` %c[uid: %c${t.uid}%c]` : l += "%c%c%c", a.log.bind(
@@ -1482,8 +1504,8 @@ class nr {
1482
1504
  get warn() {
1483
1505
  var h;
1484
1506
  const o = r.get();
1485
- if (s(n, R).warn === !1 || V(s(n, R).warn) && s(n, R).warn !== n.getEnv() || !s(h = n, B).call(h, o))
1486
- return je;
1507
+ if (s(n, x).warn === !1 || V(s(n, x).warn) && s(n, x).warn !== n.getEnv() || !s(h = n, z).call(h, o))
1508
+ return Ce;
1487
1509
  {
1488
1510
  let l = `%c${o}`;
1489
1511
  return t != null && t.uid ? l += ` %c[uid: %c${t.uid}%c]` : l += "%c%c%c", a.warn.bind(
@@ -1499,8 +1521,8 @@ class nr {
1499
1521
  get error() {
1500
1522
  var h;
1501
1523
  const o = r.get();
1502
- if (s(n, R).error === !1 || V(s(n, R).error) && s(n, R).error !== n.getEnv() || !s(h = n, B).call(h, o))
1503
- return je;
1524
+ if (s(n, x).error === !1 || V(s(n, x).error) && s(n, x).error !== n.getEnv() || !s(h = n, z).call(h, o))
1525
+ return Ce;
1504
1526
  {
1505
1527
  let l = `%c${o}`;
1506
1528
  return t != null && t.uid ? l += ` %c[uid: %c${t.uid}%c]` : l += "%c%c%c", a.error.bind(
@@ -1514,7 +1536,7 @@ class nr {
1514
1536
  }
1515
1537
  },
1516
1538
  crash(o) {
1517
- throw n.isMounted && (n.unmount(), n.constructView(s(n, Ne), {
1539
+ throw n.isMounted && (n.unmount(), n.constructView(s(n, Me), {
1518
1540
  error: o,
1519
1541
  loggerName: r.get(),
1520
1542
  uid: t == null ? void 0 : t.uid
@@ -1526,41 +1548,41 @@ class nr {
1526
1548
  *
1527
1549
  */
1528
1550
  constructView(e, t, r = []) {
1529
- return At({ root: this, data: {} }, e, t, r);
1551
+ return jt(s(this, B), e, t, r);
1530
1552
  }
1531
1553
  /**
1532
1554
  *
1533
1555
  */
1534
1556
  constructMarkup(e) {
1535
- return jt(Ft({ root: this, data: {} }, e));
1557
+ return Ct(Ft(s(this, B), e));
1536
1558
  }
1537
1559
  }
1538
- W = new WeakMap(), Oe = new WeakMap(), G = new WeakMap(), ee = new WeakMap(), Ne = new WeakMap(), Me = new WeakMap(), Te = new WeakMap(), De = new WeakMap(), _e = new WeakMap(), Ae = new WeakMap(), R = new WeakMap(), B = new WeakMap();
1539
- const gt = new nr(), or = gt.i18n.t.bind(gt.i18n);
1540
- function lr(i) {
1560
+ W = new WeakMap(), Ne = new WeakMap(), G = new WeakMap(), te = new WeakMap(), Me = new WeakMap(), Te = new WeakMap(), De = new WeakMap(), Ae = new WeakMap(), _e = new WeakMap(), je = new WeakMap(), B = new WeakMap(), x = new WeakMap(), z = new WeakMap();
1561
+ const wt = new ar(), lr = wt.i18n.t.bind(wt.i18n);
1562
+ function cr(i) {
1541
1563
  typeof window < "u" && (window.DOLLA_DEV_DEBUG = i);
1542
1564
  }
1543
- function cr() {
1565
+ function ur() {
1544
1566
  return typeof window < "u" ? window.DOLLA_DEV_DEBUG === !0 : !1;
1545
1567
  }
1546
1568
  export {
1547
- Lt as cond,
1548
- pt as createMarkup,
1549
- Tt as createRef,
1550
- Ot as createSettableState,
1551
- fr as createSetter,
1552
- se as createState,
1553
- gt as default,
1554
- we as derive,
1555
- cr as getDevDebug,
1556
- ct as html,
1557
- Dt as isRef,
1558
- dr as portal,
1559
- pr as repeat,
1560
- lr as setDevDebug,
1561
- or as t,
1562
- Nt as toSettableState,
1563
- ft as toState,
1564
- Mt as valueOf
1569
+ xt as cond,
1570
+ mt as createMarkup,
1571
+ Dt as createRef,
1572
+ Nt as createSettableState,
1573
+ dr as createSetter,
1574
+ ie as createState,
1575
+ wt as default,
1576
+ ye as derive,
1577
+ ur as getDevDebug,
1578
+ ut as html,
1579
+ At as isRef,
1580
+ pr as portal,
1581
+ mr as repeat,
1582
+ cr as setDevDebug,
1583
+ lr as t,
1584
+ Mt as toSettableState,
1585
+ dt as toState,
1586
+ Tt as valueOf
1565
1587
  };
1566
1588
  //# sourceMappingURL=index.js.map