@aerogel/core 0.1.1-next.7f33b133934b479bdeee0808001759d92e987cf9 → 0.1.1-next.83b702b110078faef3926d147f4746121b64a2d5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,44 +1,44 @@
1
- var It = Object.defineProperty;
2
- var qt = (t, s, e) => s in t ? It(t, s, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[s] = e;
3
- var _ = (t, s, e) => qt(t, typeof s != "symbol" ? s + "" : s, e);
4
- import { markRaw as E, Comment as At, Text as Pt, Static as Dt, inject as X, reactive as ge, unref as l, onUnmounted as we, ref as N, computed as c, readonly as $e, nextTick as jt, useAttrs as et, onMounted as tt, watch as Le, toRaw as Bt, customRef as Ft, watchEffect as Y, defineComponent as h, createBlock as f, openBlock as i, mergeProps as V, withCtx as m, renderSlot as $, createPropsRestProxy as K, createVNode as d, normalizeProps as ue, guardReactiveProps as ce, createTextVNode as L, toDisplayString as x, normalizeClass as C, createElementBlock as y, Fragment as D, renderList as U, provide as de, resolveDynamicComponent as G, useSlots as Re, createCommentVNode as M, createElementVNode as b, h as Ut, useTemplateRef as ee, withModifiers as st, withDirectives as rt, vModelCheckbox as Ot, normalizeStyle as Nt, resolveComponent as Wt, createApp as Kt, vModelText as Qt } from "vue";
5
- import { JSError as _e, stringToSlug as Jt, tap as te, MagicObject as nt, PromisedValue as Q, Storage as O, objectOnly as ne, arrayFrom as at, isEmpty as Se, objectDeepClone as Zt, fail as W, facade as se, arrayRemove as Ve, getEnv as Xt, updateLocationQueryParameters as Yt, forever as Gt, toString as B, objectWithout as es, noop as ts, debounce as ss, stringMatchAll as lt, isDevelopment as J, isTesting as ze, after as le, uuid as oe, isObject as fe, objectWithoutEmpty as it, value as rs, isInstanceOf as Oe, stringExcerpt as ns, arraySorted as as, ListenersManager as ls, toError as is, round as os } from "@noeldemartin/utils";
1
+ var Bt = Object.defineProperty;
2
+ var jt = (t, s, e) => s in t ? Bt(t, s, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[s] = e;
3
+ var C = (t, s, e) => jt(t, typeof s != "symbol" ? s + "" : s, e);
4
+ import { markRaw as I, Comment as Ft, Text as Ot, Static as Ut, inject as X, reactive as ve, unref as l, onUnmounted as we, ref as W, computed as c, readonly as $e, nextTick as Nt, useAttrs as st, onMounted as rt, watch as Ie, toRaw as Wt, customRef as Kt, watchEffect as Y, defineComponent as g, createBlock as f, openBlock as o, mergeProps as V, withCtx as m, renderSlot as w, createPropsRestProxy as O, provide as ce, createVNode as d, normalizeProps as de, guardReactiveProps as pe, createTextVNode as L, toDisplayString as x, normalizeClass as $, createElementBlock as b, Fragment as A, renderList as B, resolveDynamicComponent as ee, useSlots as xe, createCommentVNode as M, createElementVNode as v, h as Qt, useTemplateRef as te, withModifiers as nt, withDirectives as at, vModelCheckbox as Zt, normalizeStyle as Ue, resolveComponent as Jt, createApp as Gt, vModelText as Xt } from "vue";
5
+ import { JSError as Ce, stringToSlug as Yt, tap as se, MagicObject as lt, PromisedValue as Z, Storage as N, objectOnly as ae, arrayFrom as ot, isEmpty as Me, objectDeepClone as es, fail as K, facade as re, arrayRemove as He, getEnv as ts, updateLocationQueryParameters as ss, forever as rs, toString as D, objectWithout as ns, noop as as, debounce as ls, stringMatchAll as it, isDevelopment as J, isTesting as ze, after as oe, uuid as ue, isObject as he, objectWithoutEmpty as ut, evaluate as os, isInstanceOf as Ne, stringExcerpt as is, arraySorted as us, ListenersManager as cs, toError as ds, round as ps } from "@noeldemartin/utils";
6
6
  import j from "virtual:aerogel";
7
- import { createPinia as us, setActivePinia as cs, defineStore as ds } from "pinia";
8
- import ps from "dompurify";
9
- import { marked as ms, Renderer as Ne } from "marked";
10
- import { injectModal as ot, useModal as fs, createModal as hs, showModal as We, closeModal as Ke, modals as ae, ModalComponent as gs, ModalsPortal as vs } from "@noeldemartin/vue-modals";
11
- import { ModalComponent as ui, ModalsPortal as ci, closeModal as di, createModal as pi, injectModal as mi, modals as fi, showModal as hi } from "@noeldemartin/vue-modals";
12
- import bs from "clsx";
13
- import { cva as ys } from "class-variance-authority";
14
- import { twMerge as ws } from "tailwind-merge";
15
- import { Primitive as $s, SelectValue as Qe, SelectTrigger as _s, SelectIcon as xs, SelectItem as Cs, SelectItemText as ks, SelectPortal as Ss, SelectContent as Ts, SelectViewport as Ms, SelectRoot as Hs, Label as Vs, useForwardExpose as Ie, SwitchRoot as Es, SwitchThumb as Ls, DialogRoot as Rs, DialogPortal as zs, DialogContent as Is, DialogDescription as qs, DialogOverlay as As, DialogTitle as Ps, ToastClose as Ds, ToastRoot as js, ToastProvider as Bs, ToastViewport as Fs, DropdownMenuItem as Us, DropdownMenuContent as Os, DropdownMenuRoot as Ns, DropdownMenuTrigger as Ws, DropdownMenuPortal as Ks } from "reka-ui";
16
- class Ee extends _e {
7
+ import { createPinia as ms, setActivePinia as fs, defineStore as hs } from "pinia";
8
+ import gs from "dompurify";
9
+ import { marked as vs, Renderer as We } from "marked";
10
+ import { injectModal as ct, useModal as bs, createModal as ys, showModal as Ke, closeModal as Qe, modals as le, ModalComponent as _s, ModalsPortal as ws } from "@noeldemartin/vue-modals";
11
+ import { ModalComponent as To, ModalsPortal as Mo, closeModal as Eo, createModal as Vo, injectModal as Ho, modals as Lo, showModal as Io } from "@noeldemartin/vue-modals";
12
+ import $s from "clsx";
13
+ import { cva as xs } from "class-variance-authority";
14
+ import { twMerge as Cs } from "tailwind-merge";
15
+ import { Primitive as ks, SelectValue as Ze, SelectTrigger as Ss, SelectIcon as Ts, SelectItem as Ms, SelectItemText as Es, SelectPortal as Vs, SelectContent as Hs, SelectViewport as Ls, SelectRoot as Is, Label as dt, useForwardExpose as Re, SwitchRoot as zs, SwitchThumb as Rs, DialogRoot as qs, DialogPortal as Ps, DialogContent as As, DialogDescription as Ds, DialogOverlay as Bs, DialogTitle as js, ToastClose as Fs, ToastRoot as Os, ToastProvider as Us, ToastViewport as Ns, ComboboxItem as Ws, ComboboxPortal as Ks, ComboboxContent as Qs, ComboboxViewport as Zs, ComboboxEmpty as Js, ComboboxGroup as Gs, ComboboxAnchor as Xs, ComboboxInput as Ys, ComboboxRoot as er, DropdownMenuItem as tr, DropdownMenuContent as sr, DropdownMenuRoot as rr, DropdownMenuTrigger as nr, DropdownMenuPortal as ar } from "reka-ui";
16
+ class Le extends Ce {
17
17
  constructor(s, e) {
18
18
  super(`Service '${s}' failed booting`, { cause: e });
19
19
  }
20
20
  }
21
- function Qs() {
22
- return j.namespace ?? Jt(j.name);
21
+ function lr() {
22
+ return j.namespace ?? Yt(j.name);
23
23
  }
24
24
  let qe = null;
25
- function ut() {
26
- return qe ?? Js();
25
+ function pt() {
26
+ return qe ?? or();
27
27
  }
28
- function Js() {
29
- return te(us(), (t) => {
30
- qe = t, cs(t);
28
+ function or() {
29
+ return se(ms(), (t) => {
30
+ qe = t, fs(t);
31
31
  });
32
32
  }
33
- function Zs() {
34
- return qe ?? ut();
33
+ function ir() {
34
+ return qe ?? pt();
35
35
  }
36
- function Xs(t, s) {
37
- return ut(), ds(t, s)();
36
+ function ur(t, s) {
37
+ return pt(), hs(t, s)();
38
38
  }
39
- function xe(t) {
39
+ function ke(t) {
40
40
  var s;
41
- return s = class extends Ce {
41
+ return s = class extends Se {
42
42
  usesStore() {
43
43
  return !0;
44
44
  }
@@ -72,19 +72,19 @@ To fix this problem, declare your initialState as a function instead.`
72
72
  var r;
73
73
  return ((r = t.restore) == null ? void 0 : r.call(t, e)) ?? e;
74
74
  }
75
- }, _(s, "persist", t.persist ?? []), s;
75
+ }, C(s, "persist", t.persist ?? []), s;
76
76
  }
77
- var He;
78
- let Ce = (He = class extends nt {
77
+ var Ve;
78
+ let Se = (Ve = class extends lt {
79
79
  constructor() {
80
80
  super();
81
- _(this, "_name");
82
- _(this, "_booted");
83
- _(this, "_computedStateKeys");
84
- _(this, "_watchers");
85
- _(this, "_store");
81
+ C(this, "_name");
82
+ C(this, "_booted");
83
+ C(this, "_computedStateKeys");
84
+ C(this, "_watchers");
85
+ C(this, "_store");
86
86
  const e = this.getComputedStateDefinition();
87
- this._name = this.getName() ?? new.target.name, this._booted = new Q(), this._computedStateKeys = new Set(Object.keys(e)), this._watchers = this.getStateWatchers(), this._store = this.usesStore() && Xs(this._name, {
87
+ this._name = this.getName() ?? new.target.name, this._booted = new Z(), this._computedStateKeys = new Set(Object.keys(e)), this._watchers = this.getStateWatchers(), this._store = this.usesStore() && ur(this._name, {
88
88
  state: () => this.getInitialState(),
89
89
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
90
90
  getters: e
@@ -97,7 +97,7 @@ let Ce = (He = class extends nt {
97
97
  return super.static(e);
98
98
  }
99
99
  launch() {
100
- const e = (r) => this._booted.reject(new Ee(this._name, r));
100
+ const e = (r) => this._booted.reject(new Le(this._name, r));
101
101
  try {
102
102
  this.frameworkBoot().then(() => this.boot()).then(() => this._booted.resolve()).catch(e);
103
103
  } catch (r) {
@@ -106,7 +106,7 @@ let Ce = (He = class extends nt {
106
106
  return this._booted;
107
107
  }
108
108
  hasPersistedState() {
109
- return O.has(this.storageKey);
109
+ return N.has(this.storageKey);
110
110
  }
111
111
  hasState(e) {
112
112
  return this._store ? e in this._store.$state || this._computedStateKeys.has(e) : !1;
@@ -118,14 +118,14 @@ let Ce = (He = class extends nt {
118
118
  setState(e, r) {
119
119
  if (!this._store)
120
120
  return;
121
- const n = typeof e == "string" ? { [e]: r } : e, a = ne(this._store.$state, Object.keys(n));
121
+ const n = typeof e == "string" ? { [e]: r } : e, a = ae(this._store.$state, Object.keys(n));
122
122
  Object.assign(this._store.$state, n), this.onStateUpdated(n, a);
123
123
  }
124
124
  updatePersistedState(e) {
125
125
  if (!this._store)
126
126
  return;
127
- const r = at(e), n = ne(this._store.$state, r);
128
- Se(n) || this.onPersistentStateUpdated(n);
127
+ const r = ot(e), n = ae(this._store.$state, r);
128
+ Me(n) || this.onPersistentStateUpdated(n);
129
129
  }
130
130
  __get(e) {
131
131
  return this.hasState(e) ? this.getState(e) : super.__get(e);
@@ -134,21 +134,21 @@ let Ce = (He = class extends nt {
134
134
  this.setState({ [e]: r });
135
135
  }
136
136
  get storageKey() {
137
- return `${Qs()}:${this._name}`;
137
+ return `${lr()}:${this._name}`;
138
138
  }
139
139
  onStateUpdated(e, r) {
140
- const n = ne(e, this.static("persist"));
141
- Se(n) || this.onPersistentStateUpdated(n);
140
+ const n = ae(e, this.static("persist"));
141
+ Me(n) || this.onPersistentStateUpdated(n);
142
142
  for (const a in e) {
143
143
  const u = this._watchers[a];
144
144
  !u || e[a] === r[a] || u.call(this, e[a], r[a]);
145
145
  }
146
146
  }
147
147
  onPersistentStateUpdated(e) {
148
- const r = O.get(this.storageKey);
149
- r && O.set(this.storageKey, {
148
+ const r = N.get(this.storageKey);
149
+ r && N.set(this.storageKey, {
150
150
  ...r,
151
- ...this.serializePersistedState(Zt(e))
151
+ ...this.serializePersistedState(es(e))
152
152
  });
153
153
  }
154
154
  usesStore() {
@@ -178,28 +178,28 @@ let Ce = (He = class extends nt {
178
178
  async boot() {
179
179
  }
180
180
  restorePersistedState() {
181
- if (!(!this.usesStore() || Se(this.static("persist")))) {
182
- if (O.has(this.storageKey)) {
183
- const e = O.require(this.storageKey);
181
+ if (!(!this.usesStore() || Me(this.static("persist")))) {
182
+ if (N.has(this.storageKey)) {
183
+ const e = N.require(this.storageKey);
184
184
  this.setState(this.deserializePersistedState(e));
185
185
  return;
186
186
  }
187
- O.set(this.storageKey, ne(this.getState(), this.static("persist")));
187
+ N.set(this.storageKey, ae(this.getState(), this.static("persist")));
188
188
  }
189
189
  }
190
190
  requireStore() {
191
- return this._store ? this._store : W(`Failed getting '${this._name}' store`);
191
+ return this._store ? this._store : K(`Failed getting '${this._name}' store`);
192
192
  }
193
- }, _(He, "persist", []), He);
194
- const _l = {
193
+ }, C(Ve, "persist", []), Ve);
194
+ const Al = {
195
195
  Low: -256,
196
196
  Default: 0,
197
197
  High: 256
198
198
  };
199
- class Ys extends Ce {
199
+ class cr extends Se {
200
200
  constructor() {
201
201
  super(...arguments);
202
- _(this, "listeners", {});
202
+ C(this, "listeners", {});
203
203
  }
204
204
  async boot() {
205
205
  Object.entries(globalThis.__aerogelEvents__ ?? {}).forEach(([e, r]) => (
@@ -211,7 +211,7 @@ class Ys extends Ce {
211
211
  var a;
212
212
  const n = this.listeners[e] ?? { priorities: [], handlers: {} };
213
213
  for (const u of n.priorities)
214
- await Promise.all(((a = n.handlers[u]) == null ? void 0 : a.map((o) => o(r))) ?? []);
214
+ await Promise.all(((a = n.handlers[u]) == null ? void 0 : a.map((i) => i(r))) ?? []);
215
215
  }
216
216
  // prettier-ignore
217
217
  /* eslint-enable max-len */
@@ -223,11 +223,11 @@ class Ys extends Ce {
223
223
  /* eslint-enable max-len */
224
224
  once(e, r, n) {
225
225
  let a = null;
226
- const u = typeof r == "function" ? {} : r, o = typeof r == "function" ? r : n;
227
- return te(
226
+ const u = typeof r == "function" ? {} : r, i = typeof r == "function" ? r : n;
227
+ return se(
228
228
  () => a && this.off(e, a),
229
229
  (p) => {
230
- a = (...g) => (p(), o(...g)), this.registerListener(e, u, o);
230
+ a = (...h) => (p(), i(...h)), this.registerListener(e, u, i);
231
231
  }
232
232
  );
233
233
  }
@@ -237,31 +237,32 @@ class Ys extends Ce {
237
237
  if (!n)
238
238
  return;
239
239
  const a = [...n.priorities];
240
- for (const o of a)
241
- Ve(n.handlers[o] ?? [], r), ((u = n.handlers[o]) == null ? void 0 : u.length) === 0 && (delete n.handlers[o], Ve(n.priorities, o));
240
+ for (const i of a)
241
+ He(n.handlers[i] ?? [], r), ((u = n.handlers[i]) == null ? void 0 : u.length) === 0 && (delete n.handlers[i], He(n.priorities, i));
242
242
  n.priorities.length === 0 && delete this.listeners[e];
243
243
  }
244
244
  registerListener(e, r, n) {
245
- var p, g, w;
245
+ var p, h, y;
246
246
  const a = r.priority ?? 0;
247
247
  e in this.listeners || (this.listeners[e] = { priorities: [], handlers: {} });
248
- const u = ((p = this.listeners[e]) == null ? void 0 : p.priorities) ?? W(`priorities missing for event '${e}'`), o = ((g = this.listeners[e]) == null ? void 0 : g.handlers) ?? W(`handlers missing for event '${e}'`);
249
- u.includes(a) || (u.push(a), u.sort((v, S) => S - v), o[a] = []), (w = o[a]) == null || w.push(n);
248
+ const u = ((p = this.listeners[e]) == null ? void 0 : p.priorities) ?? K(`priorities missing for event '${e}'`), i = ((h = this.listeners[e]) == null ? void 0 : h.handlers) ?? K(`handlers missing for event '${e}'`);
249
+ u.includes(a) || (u.push(a), u.sort((_, E) => E - _), i[a] = []), (y = i[a]) == null || y.push(n);
250
250
  }
251
251
  }
252
- const F = se(Ys);
253
- function xl(t) {
252
+ const F = re(cr);
253
+ function Dl(t) {
254
254
  return t;
255
255
  }
256
- const Gs = xe({
256
+ const dr = ke({
257
257
  name: "app",
258
258
  initialState: {
259
259
  plugins: {},
260
260
  instance: null,
261
- environment: Xt() ?? "development",
261
+ environment: ts() ?? "development",
262
262
  version: j.version,
263
263
  sourceUrl: j.sourceUrl,
264
- settings: []
264
+ settings: [],
265
+ settingsFullscreenOnMobile: !1
265
266
  },
266
267
  computed: {
267
268
  development: (t) => t.environment === "development",
@@ -275,12 +276,12 @@ const Gs = xe({
275
276
  }
276
277
  }
277
278
  });
278
- class er extends Gs {
279
+ class pr extends dr {
279
280
  constructor() {
280
281
  super(...arguments);
281
- _(this, "name", j.name);
282
- _(this, "ready", new Q());
283
- _(this, "mounted", new Q());
282
+ C(this, "name", j.name);
283
+ C(this, "ready", new Z());
284
+ C(this, "mounted", new Z());
284
285
  }
285
286
  isReady() {
286
287
  return this.ready.isResolved();
@@ -289,13 +290,16 @@ class er extends Gs {
289
290
  return this.mounted.isResolved();
290
291
  }
291
292
  addSetting(e) {
292
- this.settings.push(E(e));
293
+ this.settings.push(I(e));
294
+ }
295
+ setSettingsFullscreenOnMobile(e) {
296
+ this.settingsFullscreenOnMobile = e;
293
297
  }
294
298
  async whenReady(e) {
295
299
  return await this.ready.then(e);
296
300
  }
297
301
  async reload(e) {
298
- e && Yt(e), location.reload(), await Gt();
302
+ e && ss(e), location.reload(), await rs();
299
303
  }
300
304
  plugin(e) {
301
305
  return this.plugins[e] ?? null;
@@ -308,12 +312,12 @@ class er extends Gs {
308
312
  F.once("application-ready", () => this.ready.resolve()), F.once("application-mounted", () => this.mounted.resolve());
309
313
  }
310
314
  }
311
- const A = se(er);
312
- function Cl(t) {
315
+ const q = re(pr);
316
+ function Bl(t) {
313
317
  return t;
314
318
  }
315
- async function tr(t, ...s) {
316
- A.setState(
319
+ async function mr(t, ...s) {
320
+ q.setState(
317
321
  "plugins",
318
322
  t.reduce(
319
323
  (e, r) => (r.name && (e[r.name] = r), e),
@@ -321,55 +325,55 @@ async function tr(t, ...s) {
321
325
  )
322
326
  ), await Promise.all(t.map((e) => e.install(...s)) ?? []);
323
327
  }
324
- function sr(t) {
325
- return Object.entries(t.props ?? {}).reduce((s, [e, r]) => s + `${e}="${B(r)}"`, "");
328
+ function fr(t) {
329
+ return Object.entries(t.props ?? {}).reduce((s, [e, r]) => s + `${e}="${D(r)}"`, "");
326
330
  }
327
- function kl(t) {
331
+ function jl(t) {
328
332
  return t;
329
333
  }
330
- function rr(t) {
334
+ function hr(t) {
331
335
  const s = X(t);
332
- return s ? ge(s) : void 0;
336
+ return s ? ve(s) : void 0;
333
337
  }
334
- function I(t, s) {
335
- return rr(t) ?? W(s ?? `Could not resolve '${B(t)}' injection key`);
338
+ function H(t, s) {
339
+ return hr(t) ?? K(s ?? `Could not resolve '${D(t)}' injection key`);
336
340
  }
337
- function nr(t, s) {
338
- return X(t) ?? W(s ?? `Could not resolve '${B(t)}' injection key`);
341
+ function gr(t, s) {
342
+ return X(t) ?? K(s ?? `Could not resolve '${D(t)}' injection key`);
339
343
  }
340
- function ct(t) {
341
- return typeof t == "string" ? t : t.type === At ? "" : t.type === Pt || t.type === Dt ? t.children : t.type === "br" ? `
344
+ function mt(t) {
345
+ return typeof t == "string" ? t : t.type === Ft ? "" : t.type === Ot || t.type === Ut ? t.children : t.type === "br" ? `
342
346
 
343
- ` : `<${t.type} ${sr(t)}>${Array.from(t.children).map(ct).join("")}</${t.type}>`;
347
+ ` : `<${t.type} ${fr(t)}>${Array.from(t.children).map(mt).join("")}</${t.type}>`;
344
348
  }
345
- const Te = /* @__PURE__ */ new WeakMap(), ar = {
349
+ const Ee = /* @__PURE__ */ new WeakMap(), vr = {
346
350
  mounted(t, { value: s, modifiers: e }) {
347
351
  const r = typeof s == "function" ? s : null, n = () => {
348
352
  const a = t.getBoundingClientRect();
349
353
  e.css && (t.style.setProperty("--width", `${a.width}px`), t.style.setProperty("--height", `${a.height}px`)), r == null || r({ width: a.width, height: a.height });
350
354
  };
351
- e.watch && Te.set(t, te(new ResizeObserver(n)).observe(t)), n();
355
+ e.watch && Ee.set(t, se(new ResizeObserver(n)).observe(t)), n();
352
356
  },
353
357
  unmounted(t) {
354
358
  var s;
355
- (s = Te.get(t)) == null || s.unobserve(t), Te.delete(t);
359
+ (s = Ee.get(t)) == null || s.unobserve(t), Ee.delete(t);
356
360
  }
357
361
  };
358
- function dt(t, s) {
359
- const { baseClasses: e, ...r } = t, { baseClasses: n, ...a } = s, u = ys(n, a);
360
- return H(u(r), l(e));
362
+ function ft(t, s) {
363
+ const { baseClasses: e, ...r } = t, { baseClasses: n, ...a } = s, u = xs(n, a);
364
+ return k(u(r), l(e));
361
365
  }
362
- function H(...t) {
363
- return ws(bs(t));
366
+ function k(...t) {
367
+ return Cs($s(t));
364
368
  }
365
- function Sl(t, s) {
369
+ function Fl(t, s) {
366
370
  const e = F.on(t, s);
367
371
  we(() => e());
368
372
  }
369
- const lr = {
373
+ const br = {
370
374
  required: (t) => t ? void 0 : "required"
371
375
  };
372
- function ir(t, s) {
376
+ function yr(t, s) {
373
377
  var e;
374
378
  if (t == null)
375
379
  return !0;
@@ -388,29 +392,29 @@ function ir(t, s) {
388
392
  return typeof t == "object";
389
393
  }
390
394
  }
391
- const he = { ...lr };
392
- function Tl(t, s) {
393
- he[t] = s;
395
+ const ge = { ...br };
396
+ function Ol(t, s) {
397
+ ge[t] = s;
394
398
  }
395
- function or(t, s) {
396
- return ir(t, s) ? [] : ["invalid_value"];
399
+ function _r(t, s) {
400
+ return yr(t, s) ? [] : ["invalid_value"];
397
401
  }
398
- function ur(t, s) {
402
+ function wr(t, s) {
399
403
  var r;
400
- const e = (r = he[s]) == null ? void 0 : r.call(he, t);
401
- return e ? at(e) : [];
404
+ const e = (r = ge[s]) == null ? void 0 : r.call(ge, t);
405
+ return e ? ot(e) : [];
402
406
  }
403
- const Ml = Symbol(), Je = /* @__PURE__ */ new WeakMap();
404
- class cr extends nt {
407
+ const Ul = Symbol(), Je = /* @__PURE__ */ new WeakMap();
408
+ class $r extends lt {
405
409
  constructor(e) {
406
410
  super();
407
- _(this, "errors");
408
- _(this, "_fields");
409
- _(this, "_data");
410
- _(this, "_submitted");
411
- _(this, "_errors");
412
- _(this, "_listeners", {});
413
- this._fields = e, this._submitted = N(!1), this._data = this.getInitialData(e), this._errors = this.getInitialErrors(e), Je.set(
411
+ C(this, "errors");
412
+ C(this, "_fields");
413
+ C(this, "_data");
414
+ C(this, "_submitted");
415
+ C(this, "_errors");
416
+ C(this, "_listeners", {});
417
+ this._fields = e, this._submitted = W(!1), this._data = this.getInitialData(e), this._errors = this.getInitialErrors(e), Je.set(
414
418
  this,
415
419
  c(() => !Object.values(this._errors).some((r) => r !== null))
416
420
  ), this.errors = $e(this._errors);
@@ -423,8 +427,8 @@ class cr extends nt {
423
427
  return this._submitted.value;
424
428
  }
425
429
  setFieldValue(e, r) {
426
- const n = this._fields[e] ?? W(`Trying to set undefined '${B(e)}' field`);
427
- this._data[e] = n.type === "string" && (n.trim ?? !0) ? B(r).trim() : r, this._submitted.value && this.validate();
430
+ const n = this._fields[e] ?? K(`Trying to set undefined '${D(e)}' field`);
431
+ this._data[e] = n.type === "string" && (n.trim ?? !0) ? D(r).trim() : r, this._submitted.value && this.validate();
428
432
  }
429
433
  getFieldValue(e) {
430
434
  return this._data[e];
@@ -464,11 +468,11 @@ class cr extends nt {
464
468
  return (n = this._listeners)[e] ?? (n[e] = []), (a = this._listeners[e]) == null || a.push(r), () => this.off(e, r);
465
469
  }
466
470
  off(e, r) {
467
- Ve(this._listeners[e] ?? [], r);
471
+ He(this._listeners[e] ?? [], r);
468
472
  }
469
473
  async focus(e) {
470
474
  var r;
471
- await jt(), (r = this._listeners.focus) == null || r.forEach((n) => n(e));
475
+ await Nt(), (r = this._listeners.focus) == null || r.forEach((n) => n(e));
472
476
  }
473
477
  __get(e) {
474
478
  return e in this._fields ? this.getFieldValue(e) : super.__get(e);
@@ -481,24 +485,24 @@ class cr extends nt {
481
485
  this.setFieldValue(e, r);
482
486
  }
483
487
  getFieldErrors(e, r) {
484
- var o;
485
- const n = [], a = this._data[e], u = ((o = r.rules) == null ? void 0 : o.split("|")) ?? [];
486
- n.push(...or(a, r));
488
+ var i;
489
+ const n = [], a = this._data[e], u = ((i = r.rules) == null ? void 0 : i.split("|")) ?? [];
490
+ n.push(..._r(a, r));
487
491
  for (const p of u)
488
- p !== "required" && a == null || n.push(...ur(a, p));
492
+ p !== "required" && a == null || n.push(...wr(a, p));
489
493
  return n.length > 0 ? n : null;
490
494
  }
491
495
  getInitialData(e) {
492
496
  if (this.static().isConjuring())
493
497
  return {};
494
498
  const r = Object.entries(e).reduce((n, [a, u]) => (n[a] = u.default ?? null, n), {});
495
- return ge(r);
499
+ return ve(r);
496
500
  }
497
501
  getInitialErrors(e) {
498
502
  if (this.static().isConjuring())
499
503
  return {};
500
504
  const r = Object.keys(e).reduce((n, a) => (n[a] = null, n), {});
501
- return ge(r);
505
+ return ve(r);
502
506
  }
503
507
  resetData() {
504
508
  for (const [e, r] of Object.entries(this._fields))
@@ -508,30 +512,30 @@ class cr extends nt {
508
512
  Object.keys(this._errors).forEach((r) => delete this._errors[r]), e && Object.assign(this._errors, e);
509
513
  }
510
514
  }
511
- function pt(t, s) {
515
+ function ht(t, s) {
512
516
  const e = X("form", null), r = e == null ? void 0 : e.on("focus", (n) => t.name === n && s());
513
517
  we(() => r == null ? void 0 : r());
514
518
  }
515
- function mt(t) {
516
- return new cr(t);
519
+ function gt(t) {
520
+ return new $r(t);
517
521
  }
518
- function Ae() {
519
- const t = et(), s = c(() => t.class);
520
- return [c(() => es(t, "class")), s];
522
+ function Pe() {
523
+ const t = st(), s = c(() => t.class);
524
+ return [c(() => ns(t, "class")), s];
521
525
  }
522
- function Hl(t) {
523
- let s = ts;
524
- tt(() => s = t()), we(() => s());
526
+ function Nl(t) {
527
+ let s = as;
528
+ rt(() => s = t()), we(() => s());
525
529
  }
526
- function Vl(t, s) {
527
- const e = ge(O.get(t) ?? s);
528
- return Le(e, () => O.set(t, Bt(e))), e;
530
+ function Wl(t, s) {
531
+ const e = ve(N.get(t) ?? s);
532
+ return Ie(e, () => N.set(t, Wt(e))), e;
529
533
  }
530
- function dr(t) {
534
+ function xr(t) {
531
535
  let s = new Set(t), e, r;
532
- const n = Ft((a, u) => (r = a, e = u, {
536
+ const n = Kt((a, u) => (r = a, e = u, {
533
537
  get: () => s,
534
- set: () => W("Attempted to write read-only reactive set")
538
+ set: () => K("Attempted to write read-only reactive set")
535
539
  }));
536
540
  return {
537
541
  values() {
@@ -554,71 +558,71 @@ function dr(t) {
554
558
  }
555
559
  };
556
560
  }
557
- function El(t) {
558
- const s = N(), e = c(t);
559
- return Le(e, async () => s.value = await e.value, { immediate: !0 }), s;
561
+ function Kl(t) {
562
+ const s = W(), e = c(t);
563
+ return Ie(e, async () => s.value = await e.value, { immediate: !0 }), s;
560
564
  }
561
- function Ll(t, s) {
562
- const e = s ? t : {}, r = s ?? t, n = N(e.initial ?? null), a = ss((u) => n.value = u, e.delay ?? 300);
565
+ function Ql(t, s) {
566
+ const e = s ? t : {}, r = s ?? t, n = W(e.initial ?? null), a = ls((u) => n.value = u, e.delay ?? 300);
563
567
  return Y(() => a(r())), n;
564
568
  }
565
569
  let ie = null;
566
- function pr() {
567
- return te(new Ne(), (t) => {
570
+ function Cr() {
571
+ return se(new We(), (t) => {
568
572
  t.link = function(s) {
569
- const e = Ne.prototype.link.apply(this, [s]);
573
+ const e = We.prototype.link.apply(this, [s]);
570
574
  return s.href.startsWith("#") ? e : e.replace("<a", '<a target="_blank"');
571
575
  };
572
576
  });
573
577
  }
574
- function mr(t) {
575
- const s = lt(t, /<a[^>]*href="#action:([^"]+)"[^>]*>([^<]+)<\/a>/g);
578
+ function kr(t) {
579
+ const s = it(t, /<a[^>]*href="#action:([^"]+)"[^>]*>([^<]+)<\/a>/g);
576
580
  for (const [e, r, n] of s)
577
581
  t = t.replace(e, `<button type="button" data-markdown-action="${r}">${n}</button>`);
578
582
  return t;
579
583
  }
580
- function fr(t) {
581
- const s = lt(t, /<a[^>]*href="#route:([^"]+)"[^>]*>([^<]+)<\/a>/g);
584
+ function Sr(t) {
585
+ const s = it(t, /<a[^>]*href="#route:([^"]+)"[^>]*>([^<]+)<\/a>/g);
582
586
  for (const [e, r, n] of s) {
583
587
  const a = (ie == null ? void 0 : ie.resolve(r)) ?? r;
584
588
  t = t.replace(e, `<a data-markdown-route="${r}" href="${a}">${n}</a>`);
585
589
  }
586
590
  return t;
587
591
  }
588
- function hr() {
592
+ function Tr() {
589
593
  return ie;
590
594
  }
591
- function Rl(t) {
595
+ function Zl(t) {
592
596
  ie = t;
593
597
  }
594
- function gr(t) {
595
- let s = ms(t, { renderer: pr(), async: !1 });
596
- return s = ft(s), s = mr(s), s = fr(s), s;
598
+ function Mr(t) {
599
+ let s = vs(t, { renderer: Cr(), async: !1 });
600
+ return s = vt(s), s = kr(s), s = Sr(s), s;
597
601
  }
598
- function ft(t) {
599
- return ps.sanitize(t, { ADD_ATTR: ["target"] });
602
+ function vt(t) {
603
+ return gs.sanitize(t, { ADD_ATTR: ["target"] });
600
604
  }
601
- const vr = {
605
+ const Er = 6e4, Ge = -(/* @__PURE__ */ new Date()).getTimezoneOffset() * -Er, Vr = {
602
606
  mounted(t, { value: s }) {
603
- t.innerHTML = ft(s);
607
+ t.innerHTML = vt(s);
604
608
  }
605
- }, br = {
606
- measure: ar,
607
- "safe-html": vr
608
- }, yr = {
609
+ }, Hr = {
610
+ measure: vr,
611
+ "safe-html": Vr
612
+ }, Lr = {
609
613
  install(t, s) {
610
614
  const e = {
611
- ...br,
615
+ ...Hr,
612
616
  ...s.directives
613
617
  };
614
618
  for (const [r, n] of Object.entries(e))
615
619
  t.directive(r, n);
616
620
  }
617
621
  };
618
- class wr extends Ce {
622
+ class Ir extends Se {
619
623
  constructor() {
620
624
  super(...arguments);
621
- _(this, "cache");
625
+ C(this, "cache");
622
626
  }
623
627
  async get(e) {
624
628
  return await (await this.open()).match(e) ?? null;
@@ -631,30 +635,30 @@ class wr extends Ce {
631
635
  (await n.keys(e)).length !== 0 && await n.put(e, r);
632
636
  }
633
637
  async open() {
634
- return this.cache = this.cache ?? te(new Q(), (e) => {
638
+ return this.cache = this.cache ?? se(new Z(), (e) => {
635
639
  caches.open("app").then((r) => e.resolve(r));
636
640
  });
637
641
  }
638
642
  }
639
- const zl = se(wr);
640
- class $r extends Ce {
643
+ const Jl = re(Ir);
644
+ class zr extends Se {
641
645
  async purge() {
642
646
  await F.emit("purge-storage");
643
647
  }
644
648
  }
645
- const ht = se($r);
646
- function Il(t, s) {
649
+ const bt = re(zr);
650
+ function Gl(t, s) {
647
651
  return {
648
652
  ...t,
649
- ...ne(s, Object.keys(t))
653
+ ...ae(s, Object.keys(t))
650
654
  };
651
655
  }
652
- const _r = {
653
- $app: A,
656
+ const Rr = {
657
+ $app: q,
654
658
  $events: F,
655
- $storage: ht
659
+ $storage: bt
656
660
  };
657
- async function ke(t, s) {
661
+ async function Te(t, s) {
658
662
  await Promise.all(
659
663
  Object.entries(s).map(async ([e, r]) => {
660
664
  await r.launch().catch((n) => {
@@ -664,47 +668,47 @@ async function ke(t, s) {
664
668
  })
665
669
  ), Object.assign(t.config.globalProperties, s), (J() || ze()) && Object.assign(globalThis, s);
666
670
  }
667
- const xr = {
671
+ const qr = {
668
672
  async install(t, s) {
669
673
  var r;
670
674
  const e = {
671
- ..._r,
675
+ ...Rr,
672
676
  ...s.services
673
677
  };
674
- t.use(Zs()), (r = s.settings) == null || r.forEach((n) => A.addSetting(n)), await ke(t, e);
678
+ t.use(ir()), (r = s.settings) == null || r.forEach((n) => q.addSetting(n)), s.settingsFullscreenOnMobile !== void 0 && q.setSettingsFullscreenOnMobile(s.settingsFullscreenOnMobile), await Te(t, e);
675
679
  }
676
- }, Ze = /* @__PURE__ */ new WeakSet();
677
- function Pe() {
678
- const t = ot(), { close: s, remove: e, ...r } = fs(Ze.has(t) ? {} : { removeOnClose: !1 });
679
- return Ze.add(t), {
680
+ }, Xe = /* @__PURE__ */ new WeakSet();
681
+ function Ae() {
682
+ const t = ct(), { close: s, remove: e, ...r } = bs(Xe.has(t) ? {} : { removeOnClose: !1 });
683
+ return Xe.add(t), {
680
684
  ...r,
681
685
  async close(n) {
682
- s(n), await le(1e3), e();
686
+ s(n), await oe(1e3), e();
683
687
  }
684
688
  };
685
689
  }
686
- const gt = 768, ve = {
690
+ const yt = 768, be = {
687
691
  Mobile: "mobile",
688
692
  Desktop: "desktop"
689
693
  };
690
- function vt() {
691
- return globalThis.innerWidth > gt ? ve.Desktop : ve.Mobile;
694
+ function _t() {
695
+ return globalThis.innerWidth > yt ? be.Desktop : be.Mobile;
692
696
  }
693
- const Cr = xe({
697
+ const Pr = ke({
694
698
  name: "ui",
695
699
  initialState: {
696
700
  toasts: [],
697
- layout: vt()
701
+ layout: _t()
698
702
  },
699
703
  computed: {
700
- desktop: ({ layout: t }) => t === ve.Desktop,
701
- mobile: ({ layout: t }) => t === ve.Mobile
704
+ desktop: ({ layout: t }) => t === be.Desktop,
705
+ mobile: ({ layout: t }) => t === be.Mobile
702
706
  }
703
707
  });
704
- class kr extends Cr {
708
+ class Ar extends Pr {
705
709
  constructor() {
706
710
  super(...arguments);
707
- _(this, "components", {});
711
+ C(this, "components", {});
708
712
  }
709
713
  registerComponent(e, r) {
710
714
  this.components[e] = r;
@@ -713,7 +717,7 @@ class kr extends Cr {
713
717
  return this.components[e] ?? null;
714
718
  }
715
719
  requireComponent(e) {
716
- return this.resolveComponent(e) ?? W(`UI Component '${e}' is not defined!`);
720
+ return this.resolveComponent(e) ?? K(`UI Component '${e}' is not defined!`);
717
721
  }
718
722
  alert(e, r) {
719
723
  const n = () => typeof r != "string" ? { message: e } : {
@@ -734,17 +738,17 @@ class kr extends Cr {
734
738
  title: e,
735
739
  message: r,
736
740
  required: !!(n != null && n.required)
737
- }, { response: o } = await this.modal(this.requireComponent("confirm-modal"), u), p = typeof o == "object" ? o[0] : o ?? !1, g = typeof o == "object" ? o[1] : Object.entries(u.checkboxes ?? {}).reduce(
738
- (w, [v, { default: S }]) => ({
739
- [v]: S ?? !1,
740
- ...w
741
+ }, { response: i } = await this.modal(this.requireComponent("confirm-modal"), u), p = typeof i == "object" ? i[0] : i ?? !1, h = typeof i == "object" ? i[1] : Object.entries(u.checkboxes ?? {}).reduce(
742
+ (y, [_, { default: E }]) => ({
743
+ [_]: E ?? !1,
744
+ ...y
741
745
  }),
742
746
  {}
743
747
  );
744
- for (const [w, v] of Object.entries(u.checkboxes ?? {}))
745
- if (!(!v.required || g[w]))
746
- return p && J() && console.warn(`Confirmed confirm modal was suppressed because required '${w}' checkbox was missing`), [!1, g];
747
- return "checkboxes" in u ? [p, g] : p;
748
+ for (const [y, _] of Object.entries(u.checkboxes ?? {}))
749
+ if (!(!_.required || h[y]))
750
+ return p && J() && console.warn(`Confirmed confirm modal was suppressed because required '${y}' checkbox was missing`), [!1, h];
751
+ return "checkboxes" in u ? [p, h] : p;
748
752
  }
749
753
  async prompt(e, r, n) {
750
754
  const a = (n == null ? void 0 : n.trim) ?? !0, u = () => typeof r != "string" ? {
@@ -754,11 +758,11 @@ class kr extends Cr {
754
758
  title: e,
755
759
  message: r,
756
760
  ...n ?? {}
757
- }, { response: o } = await this.modal(this.requireComponent("prompt-modal"), u());
758
- return (a && typeof o == "string" ? o == null ? void 0 : o.trim() : o) ?? null;
761
+ }, { response: i } = await this.modal(this.requireComponent("prompt-modal"), u());
762
+ return (a && typeof i == "string" ? i == null ? void 0 : i.trim() : i) ?? null;
759
763
  }
760
764
  async loading(e, r) {
761
- const n = (v) => typeof v == "function" ? Promise.resolve(v()) : v, a = () => {
765
+ const n = (_) => typeof _ == "function" ? Promise.resolve(_()) : _, a = () => {
762
766
  if (typeof e == "string")
763
767
  return {
764
768
  props: { message: e },
@@ -766,39 +770,39 @@ class kr extends Cr {
766
770
  };
767
771
  if (typeof e == "function" || e instanceof Promise)
768
772
  return { operationPromise: n(e) };
769
- const { delay: v, ...S } = e;
773
+ const { delay: _, ...E } = e;
770
774
  return {
771
- props: S,
772
- delay: l(v),
775
+ props: E,
776
+ delay: l(_),
773
777
  operationPromise: n(r)
774
778
  };
775
779
  };
776
780
  let u = !1;
777
- const { operationPromise: o, props: p, delay: g } = a();
778
- if (g && await Promise.race([le({ ms: g }).then(() => u = !0), o]), g && !u)
779
- return o;
780
- const w = hs(this.requireComponent("loading-modal"), p);
781
- We(w);
781
+ const { operationPromise: i, props: p, delay: h } = a();
782
+ if (h && await Promise.race([oe({ ms: h }).then(() => u = !0), i]), h && !u)
783
+ return i;
784
+ const y = ys(this.requireComponent("loading-modal"), p);
785
+ Ke(y);
782
786
  try {
783
- const v = await o;
784
- return await le({ ms: 500 }), v;
787
+ const _ = await i;
788
+ return await oe({ ms: 500 }), _;
785
789
  } finally {
786
- await Ke(w.id, { removeAfter: 1e3 });
790
+ await Qe(y.id, { removeAfter: 1e3 });
787
791
  }
788
792
  }
789
793
  toast(e, r = {}) {
790
794
  const { component: n, ...a } = r, u = {
791
- id: oe(),
795
+ id: ue(),
792
796
  properties: { message: e, ...a },
793
- component: E(n ?? this.requireComponent("toast"))
797
+ component: I(n ?? this.requireComponent("toast"))
794
798
  };
795
799
  this.setState("toasts", this.toasts.concat(u));
796
800
  }
797
801
  modal(e, r) {
798
- return We(e, r ?? {});
802
+ return Ke(e, r ?? {});
799
803
  }
800
804
  async closeAllModals() {
801
- await Promise.all(ae.value.map(({ id: e }) => Ke(e, { removeAfter: 1e3 })));
805
+ await Promise.all(le.value.map(({ id: e }) => Qe(e, { removeAfter: 1e3 })));
802
806
  }
803
807
  async boot() {
804
808
  this.watchMountedEvent(), this.watchViewportBreakpoints();
@@ -808,17 +812,17 @@ class kr extends Cr {
808
812
  if (!globalThis.document || !globalThis.getComputedStyle)
809
813
  return;
810
814
  const e = globalThis.document.getElementById("splash");
811
- e && (globalThis.getComputedStyle(e).opacity !== "0" && (e.style.opacity = "0", await le({ ms: 600 })), e.remove());
815
+ e && (globalThis.getComputedStyle(e).opacity !== "0" && (e.style.opacity = "0", await oe({ ms: 600 })), e.remove());
812
816
  });
813
817
  }
814
818
  watchViewportBreakpoints() {
815
819
  if (!globalThis.matchMedia)
816
820
  return;
817
- globalThis.matchMedia(`(min-width: ${gt}px)`).addEventListener("change", () => this.setState({ layout: vt() }));
821
+ globalThis.matchMedia(`(min-width: ${yt}px)`).addEventListener("change", () => this.setState({ layout: _t() }));
818
822
  }
819
823
  }
820
- const P = se(kr);
821
- class Sr {
824
+ const P = re(Ar);
825
+ class Dr {
822
826
  constructor(s, e) {
823
827
  this.locale = s, this.fallbackLocale = e;
824
828
  }
@@ -844,7 +848,7 @@ class Sr {
844
848
  return J() && console.warn("Lang provider is missing"), e;
845
849
  }
846
850
  }
847
- const Tr = xe({
851
+ const Br = ke({
848
852
  name: "lang",
849
853
  persist: ["locale", "fallbackLocale"],
850
854
  initialState: {
@@ -853,11 +857,11 @@ const Tr = xe({
853
857
  fallbackLocale: "en"
854
858
  }
855
859
  });
856
- class Mr extends Tr {
860
+ class jr extends Br {
857
861
  constructor() {
858
862
  super();
859
- _(this, "provider");
860
- this.provider = new Sr(
863
+ C(this, "provider");
864
+ this.provider = new Dr(
861
865
  this.getState("locale") ?? this.getBrowserLocale(),
862
866
  this.getState("fallbackLocale")
863
867
  );
@@ -885,7 +889,7 @@ class Mr extends Tr {
885
889
  );
886
890
  }
887
891
  }
888
- const Z = se(Mr), bt = Z.translate.bind(Z), k = Z.translateWithDefault.bind(Z), Hr = xe({
892
+ const G = re(jr), wt = G.translate.bind(G), S = G.translateWithDefault.bind(G), Fr = ke({
889
893
  name: "errors",
890
894
  initialState: {
891
895
  logs: [],
@@ -898,12 +902,13 @@ const Z = se(Mr), bt = Z.translate.bind(Z), k = Z.translateWithDefault.bind(Z),
898
902
  hasStartupErrors: ({ startupErrors: t }) => t.length > 0
899
903
  }
900
904
  });
901
- class Vr extends Hr {
905
+ class Or extends Fr {
902
906
  constructor() {
903
907
  super(...arguments);
904
- _(this, "forceReporting", !1);
905
- _(this, "enabled", !0);
906
- _(this, "eruda", null);
908
+ C(this, "forceReporting", !1);
909
+ C(this, "enabled", !0);
910
+ C(this, "eruda", null);
911
+ C(this, "erudaPlugins", null);
907
912
  }
908
913
  enable() {
909
914
  this.enabled = !0;
@@ -913,7 +918,7 @@ class Vr extends Hr {
913
918
  }
914
919
  async inspect(e, r) {
915
920
  if (Array.isArray(e) && e.length === 0) {
916
- P.alert(k("errors.inspectEmpty", "Nothing to inspect!"));
921
+ P.alert(S("errors.inspectEmpty", "Nothing to inspect!"));
917
922
  return;
918
923
  }
919
924
  const n = Array.isArray(e) ? e[0] : this.isErrorReport(e) ? e : await this.createErrorReport(e), a = Array.isArray(e) ? e : r ?? [n];
@@ -922,7 +927,7 @@ class Vr extends Hr {
922
927
  async report(e, r) {
923
928
  if (await F.emit("error", { error: e, message: r }), ze("unit") || (J() && this.logError(e), !this.enabled))
924
929
  throw e;
925
- if (!A.isMounted()) {
930
+ if (!q.isMounted()) {
926
931
  const u = await this.createStartupErrorReport(e);
927
932
  u && this.setState({ startupErrors: this.startupErrors.concat(u) });
928
933
  return;
@@ -933,12 +938,12 @@ class Vr extends Hr {
933
938
  date: /* @__PURE__ */ new Date()
934
939
  };
935
940
  P.toast(
936
- r ?? k("errors.notice", "Something went wrong, but it's not your fault. Try again!"),
941
+ r ?? S("errors.notice", "Something went wrong, but it's not your fault. Try again!"),
937
942
  {
938
943
  variant: "danger",
939
944
  actions: [
940
945
  {
941
- label: k("errors.viewDetails", "View details"),
946
+ label: S("errors.viewDetails", "View details"),
942
947
  dismiss: !0,
943
948
  click: () => P.modal(P.requireComponent("error-report-modal"), { report: n, reports: [n] })
944
949
  }
@@ -964,31 +969,34 @@ class Vr extends Hr {
964
969
  (e = this.eruda) == null || e.destroy();
965
970
  return;
966
971
  }
967
- this.eruda ?? (this.eruda = (await import("eruda")).default), this.eruda.init();
972
+ this.eruda ?? (this.eruda = (await import("eruda")).default), this.erudaPlugins ?? (this.erudaPlugins = [(await import("eruda-indexeddb")).default]), this.eruda.init(), this.erudaPlugins.forEach((r) => {
973
+ var n;
974
+ return (n = this.eruda) == null ? void 0 : n.add(r);
975
+ });
968
976
  });
969
977
  }
970
978
  logError(e) {
971
- console.error(e), fe(e) && e.cause && this.logError(e.cause);
979
+ console.error(e), he(e) && e.cause && this.logError(e.cause);
972
980
  }
973
981
  isErrorReport(e) {
974
- return fe(e) && "title" in e;
982
+ return he(e) && "title" in e;
975
983
  }
976
984
  async createErrorReport(e) {
977
- return typeof e == "string" ? { title: e } : e instanceof Error || e instanceof _e ? this.createErrorReportFromError(e) : fe(e) ? it({
978
- title: B(
979
- e.name ?? e.title ?? k("errors.unknown", "Unknown Error")
985
+ return typeof e == "string" ? { title: e } : e instanceof Error || e instanceof Ce ? this.createErrorReportFromError(e) : he(e) ? ut({
986
+ title: D(
987
+ e.name ?? e.title ?? S("errors.unknown", "Unknown Error")
980
988
  ),
981
- description: B(
982
- e.message ?? e.description ?? k("errors.unknownDescription", "Unknown error object")
989
+ description: D(
990
+ e.message ?? e.description ?? S("errors.unknownDescription", "Unknown error object")
983
991
  ),
984
992
  error: e
985
993
  }) : {
986
- title: k("errors.unknown", "Unknown Error"),
994
+ title: S("errors.unknown", "Unknown Error"),
987
995
  error: e
988
996
  };
989
997
  }
990
998
  async createStartupErrorReport(e) {
991
- return e instanceof Ee ? e.cause instanceof Ee ? null : this.createErrorReport(e.cause) : this.createErrorReport(e);
999
+ return e instanceof Le ? e.cause instanceof Le ? null : this.createErrorReport(e.cause) : this.createErrorReport(e);
992
1000
  }
993
1001
  createErrorReportFromError(e, r = {}) {
994
1002
  return {
@@ -1000,7 +1008,7 @@ class Vr extends Hr {
1000
1008
  };
1001
1009
  }
1002
1010
  }
1003
- const yt = se(Vr), wt = /* @__PURE__ */ h({
1011
+ const $t = re(Or), xt = /* @__PURE__ */ g({
1004
1012
  __name: "HeadlessButton",
1005
1013
  props: {
1006
1014
  class: {},
@@ -1018,7 +1026,7 @@ const yt = se(Vr), wt = /* @__PURE__ */ h({
1018
1026
  setup(t) {
1019
1027
  const s = c(() => t.as ? { as: t.as } : t.route ? {
1020
1028
  as: P.resolveComponent("router-link") ?? "a",
1021
- to: it({
1029
+ to: ut({
1022
1030
  name: t.route,
1023
1031
  params: t.routeParams,
1024
1032
  query: t.routeQuery
@@ -1031,18 +1039,18 @@ const yt = se(Vr), wt = /* @__PURE__ */ h({
1031
1039
  as: "button",
1032
1040
  type: t.submit ? "submit" : "button"
1033
1041
  });
1034
- return (e, r) => (i(), f(l($s), V({
1042
+ return (e, r) => (o(), f(l(ks), V({
1035
1043
  class: t.class,
1036
1044
  "as-child": e.asChild,
1037
1045
  disabled: e.disabled
1038
1046
  }, s.value), {
1039
1047
  default: m(() => [
1040
- $(e.$slots, "default")
1048
+ w(e.$slots, "default")
1041
1049
  ]),
1042
1050
  _: 3
1043
1051
  }, 16, ["class", "as-child", "disabled"]));
1044
1052
  }
1045
- }), R = /* @__PURE__ */ h({
1053
+ }), z = /* @__PURE__ */ g({
1046
1054
  __name: "Button",
1047
1055
  props: {
1048
1056
  class: {},
@@ -1058,7 +1066,7 @@ const yt = se(Vr), wt = /* @__PURE__ */ h({
1058
1066
  as: {}
1059
1067
  },
1060
1068
  setup(t) {
1061
- const s = K(t, ["class", "size", "variant", "disabled"]), e = c(() => dt(
1069
+ const s = O(t, ["class", "size", "variant", "disabled"]), e = c(() => ft(
1062
1070
  { baseClasses: t.class, variant: t.variant, size: t.size, disabled: t.disabled },
1063
1071
  {
1064
1072
  baseClasses: "focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2",
@@ -1154,62 +1162,101 @@ const yt = se(Vr), wt = /* @__PURE__ */ h({
1154
1162
  }
1155
1163
  }
1156
1164
  ));
1157
- return (r, n) => (i(), f(wt, V({
1165
+ return (r, n) => (o(), f(xt, V({
1158
1166
  class: e.value,
1159
1167
  disabled: r.disabled
1160
1168
  }, s), {
1161
1169
  default: m(() => [
1162
- $(r.$slots, "default")
1170
+ w(r.$slots, "default")
1163
1171
  ]),
1164
1172
  _: 3
1165
1173
  }, 16, ["class", "disabled"]));
1166
1174
  }
1167
1175
  });
1168
- function Er(t) {
1176
+ function Ur(t) {
1169
1177
  return typeof t == "object" && t !== null && "label" in t;
1170
1178
  }
1171
- const $t = /* @__PURE__ */ h({
1179
+ function Ct(t, s) {
1180
+ const e = X("form", null), r = c(() => e && t.name ? e.getFieldValue(t.name) : t.modelValue), n = c(() => r.value), a = c(() => !e || !t.name ? null : e.errors[t.name] ?? null), u = c(() => t.options ? t.options.map((h) => ({
1181
+ key: ue(),
1182
+ label: t.renderOption ? t.renderOption(h) : Ur(h) ? os(h.label) : D(h),
1183
+ value: h
1184
+ })) : null), i = {
1185
+ labelClass: t.labelClass,
1186
+ optionsClass: t.optionsClass,
1187
+ align: t.align,
1188
+ side: t.side,
1189
+ value: r,
1190
+ id: `select-${ue()}`,
1191
+ name: c(() => t.name),
1192
+ label: c(() => t.label),
1193
+ description: c(() => t.description),
1194
+ placeholder: c(() => t.placeholder ?? S("ui.select", "Select an option")),
1195
+ options: u,
1196
+ selectedOption: c(() => {
1197
+ var h;
1198
+ return (h = u.value) == null ? void 0 : h.find((y) => y.value === t.modelValue);
1199
+ }),
1200
+ errors: $e(a),
1201
+ required: c(() => {
1202
+ if (!(!t.name || !e))
1203
+ return e.getFieldRules(t.name).includes("required");
1204
+ }),
1205
+ update(h) {
1206
+ if (e && t.name) {
1207
+ e.setFieldValue(t.name, h);
1208
+ return;
1209
+ }
1210
+ s("update:modelValue", h);
1211
+ }
1212
+ };
1213
+ function p(h) {
1214
+ i.update(h);
1215
+ }
1216
+ return ce("select", i), { expose: i, update: p, acceptableValue: n };
1217
+ }
1218
+ const kt = /* @__PURE__ */ g({
1172
1219
  __name: "HeadlessSelectValue",
1173
1220
  setup(t) {
1174
- const s = I(
1221
+ const s = H(
1175
1222
  "select",
1176
1223
  "<HeadlessSelectValue> must be a child of a <HeadlessSelect>"
1177
1224
  );
1178
- return (e, r) => e.$slots.default ? (i(), f(l(Qe), {
1225
+ return (e, r) => e.$slots.default ? (o(), f(l(Ze), {
1179
1226
  key: 0,
1180
1227
  placeholder: l(s).placeholder
1181
1228
  }, {
1182
1229
  default: m(() => [
1183
- $(e.$slots, "default")
1230
+ w(e.$slots, "default")
1184
1231
  ]),
1185
1232
  _: 3
1186
- }, 8, ["placeholder"])) : (i(), f(l(Qe), {
1233
+ }, 8, ["placeholder"])) : (o(), f(l(Ze), {
1187
1234
  key: 1,
1188
1235
  placeholder: l(s).placeholder
1189
1236
  }, null, 8, ["placeholder"]));
1190
1237
  }
1191
- }), _t = /* @__PURE__ */ h({
1238
+ }), St = /* @__PURE__ */ g({
1192
1239
  __name: "HeadlessSelectTrigger",
1193
1240
  setup(t) {
1194
- const s = I(
1241
+ const s = H(
1195
1242
  "select",
1196
1243
  "<HeadlessSelectTrigger> must be a child of a <HeadlessSelect>"
1197
1244
  );
1198
- return (e, r) => (i(), f(l(_s), {
1245
+ return (e, r) => (o(), f(l(Ss), {
1199
1246
  id: l(s).id
1200
1247
  }, {
1201
1248
  default: m(() => [
1202
- $(e.$slots, "default", {}, () => [
1203
- d($t, {
1249
+ w(e.$slots, "default", {}, () => [
1250
+ d(kt, {
1204
1251
  placeholder: l(s).placeholder
1205
1252
  }, null, 8, ["placeholder"]),
1206
- d(l(xs))
1253
+ d(l(Ts))
1207
1254
  ])
1208
1255
  ]),
1209
1256
  _: 3
1210
1257
  }, 8, ["id"]));
1211
1258
  }
1212
- }), xt = /* @__PURE__ */ h({
1259
+ }), Tt = /* @__PURE__ */ g({
1213
1260
  __name: "HeadlessSelectOption",
1214
1261
  props: {
1215
1262
  value: {},
@@ -1219,19 +1266,19 @@ const $t = /* @__PURE__ */ h({
1219
1266
  as: {}
1220
1267
  },
1221
1268
  setup(t) {
1222
- const s = I(
1269
+ const s = H(
1223
1270
  "select",
1224
1271
  "<HeadlessSelectOption> must be a child of a <HeadlessSelect>"
1225
1272
  ), e = c(() => {
1226
1273
  var n;
1227
1274
  const r = (n = s.options) == null ? void 0 : n.find((a) => a.value === t.value);
1228
- return r ? r.label : B(t.value);
1275
+ return r ? r.label : D(t.value);
1229
1276
  });
1230
- return (r, n) => (i(), f(l(Cs), ue(ce(r.$props)), {
1277
+ return (r, n) => (o(), f(l(Ms), de(pe(r.$props)), {
1231
1278
  default: m(() => [
1232
- d(l(ks), null, {
1279
+ d(l(Es), null, {
1233
1280
  default: m(() => [
1234
- $(r.$slots, "default", {}, () => [
1281
+ w(r.$slots, "default", {}, () => [
1235
1282
  L(x(e.value), 1)
1236
1283
  ])
1237
1284
  ]),
@@ -1241,33 +1288,33 @@ const $t = /* @__PURE__ */ h({
1241
1288
  _: 3
1242
1289
  }, 16));
1243
1290
  }
1244
- }), Ct = /* @__PURE__ */ h({
1291
+ }), Mt = /* @__PURE__ */ g({
1245
1292
  __name: "HeadlessSelectOptions",
1246
1293
  props: {
1247
1294
  class: {},
1248
1295
  innerClass: {}
1249
1296
  },
1250
1297
  setup(t) {
1251
- const s = I(
1298
+ const s = H(
1252
1299
  "select",
1253
1300
  "<HeadlessSelectOptions> must be a child of a <HeadlessSelect>"
1254
- ), e = c(() => H("min-w-(--reka-select-trigger-width) max-h-(--reka-select-content-available-height)", t.class));
1255
- return (r, n) => (i(), f(l(Ss), null, {
1301
+ ), e = c(() => k("min-w-(--reka-select-trigger-width) max-h-(--reka-select-content-available-height)", t.class));
1302
+ return (r, n) => (o(), f(l(Vs), null, {
1256
1303
  default: m(() => [
1257
- d(l(Ts), {
1304
+ d(l(Hs), {
1258
1305
  position: "popper",
1259
- class: C(e.value),
1306
+ class: $(e.value),
1260
1307
  align: l(s).align,
1261
1308
  side: l(s).side,
1262
1309
  "side-offset": 4
1263
1310
  }, {
1264
1311
  default: m(() => [
1265
- d(l(Ms), {
1266
- class: C(r.innerClass)
1312
+ d(l(Ls), {
1313
+ class: $(r.innerClass)
1267
1314
  }, {
1268
1315
  default: m(() => [
1269
- $(r.$slots, "default", {}, () => [
1270
- (i(!0), y(D, null, U(l(s).options ?? [], (a) => (i(), f(xt, {
1316
+ w(r.$slots, "default", {}, () => [
1317
+ (o(!0), b(A, null, B(l(s).options ?? [], (a) => (o(), f(Tt, {
1271
1318
  key: a.key,
1272
1319
  value: a.value
1273
1320
  }, null, 8, ["value"]))), 128))
@@ -1282,7 +1329,7 @@ const $t = /* @__PURE__ */ h({
1282
1329
  _: 3
1283
1330
  }));
1284
1331
  }
1285
- }), Lr = /* @__PURE__ */ h({
1332
+ }), Nr = /* @__PURE__ */ g({
1286
1333
  inheritAttrs: !1,
1287
1334
  __name: "HeadlessSelect",
1288
1335
  props: {
@@ -1302,56 +1349,21 @@ const $t = /* @__PURE__ */ h({
1302
1349
  },
1303
1350
  emits: ["update:modelValue"],
1304
1351
  setup(t, { expose: s, emit: e }) {
1305
- const r = e, n = X("form", null), a = c(() => n && t.name ? n.getFieldValue(t.name) : t.modelValue), u = c(() => a.value), o = c(() => !n || !t.name ? null : n.errors[t.name] ?? null), p = c(() => t.options ? t.options.map((v) => ({
1306
- key: oe(),
1307
- label: t.renderOption ? t.renderOption(v) : Er(v) ? rs(v.label) : B(v),
1308
- value: v
1309
- })) : null), g = {
1310
- labelClass: t.labelClass,
1311
- optionsClass: t.optionsClass,
1312
- align: t.align,
1313
- side: t.side,
1314
- value: a,
1315
- id: `select-${oe()}`,
1316
- name: c(() => t.name),
1317
- label: c(() => t.label),
1318
- description: c(() => t.description),
1319
- placeholder: c(() => t.placeholder ?? k("ui.select", "Select an option")),
1320
- options: p,
1321
- selectedOption: c(() => {
1322
- var v;
1323
- return (v = p.value) == null ? void 0 : v.find((S) => S.value === t.modelValue);
1324
- }),
1325
- errors: $e(o),
1326
- required: c(() => {
1327
- if (!(!t.name || !n))
1328
- return n.getFieldRules(t.name).includes("required");
1329
- }),
1330
- update(v) {
1331
- if (n && t.name) {
1332
- n.setFieldValue(t.name, v);
1333
- return;
1334
- }
1335
- r("update:modelValue", v);
1336
- }
1337
- };
1338
- function w(v) {
1339
- g.update(v);
1340
- }
1341
- return de("select", g), s(g), (v, S) => (i(), f(l(Hs), {
1342
- "model-value": u.value,
1343
- by: v.compareOptions,
1344
- "onUpdate:modelValue": S[0] || (S[0] = (q) => w(q))
1352
+ const r = e, n = O(t, ["as", "compareOptions"]), { expose: a, acceptableValue: u, update: i } = Ct({ as: t.as, compareOptions: t.compareOptions, ...n }, r);
1353
+ return s(a), (p, h) => (o(), f(l(Is), {
1354
+ "model-value": l(u),
1355
+ by: p.compareOptions,
1356
+ "onUpdate:modelValue": h[0] || (h[0] = (y) => l(i)(y))
1345
1357
  }, {
1346
- default: m(({ open: q }) => [
1347
- (i(), f(G(v.as), ue(ce(v.$attrs)), {
1358
+ default: m(({ open: y }) => [
1359
+ (o(), f(ee(p.as), de(pe(p.$attrs)), {
1348
1360
  default: m(() => [
1349
- $(v.$slots, "default", {
1350
- modelValue: v.modelValue,
1351
- open: q
1361
+ w(p.$slots, "default", {
1362
+ modelValue: p.modelValue,
1363
+ open: y
1352
1364
  }, () => [
1353
- d(_t),
1354
- d(Ct)
1365
+ d(St),
1366
+ d(Mt)
1355
1367
  ])
1356
1368
  ]),
1357
1369
  _: 2
@@ -1360,50 +1372,50 @@ const $t = /* @__PURE__ */ h({
1360
1372
  _: 3
1361
1373
  }, 8, ["model-value", "by"]));
1362
1374
  }
1363
- }), Xe = /* @__PURE__ */ h({
1375
+ }), Ye = /* @__PURE__ */ g({
1364
1376
  __name: "HeadlessSelectLabel",
1365
1377
  props: {
1366
1378
  asChild: { type: Boolean },
1367
1379
  as: {}
1368
1380
  },
1369
1381
  setup(t) {
1370
- const s = I(
1382
+ const s = H(
1371
1383
  "select",
1372
1384
  "<HeadlessSelectLabel> must be a child of a <HeadlessSelect>"
1373
- ), e = Re(), r = c(() => !!(s.label || e.default));
1374
- return (n, a) => r.value ? (i(), f(l(Vs), V({
1385
+ ), e = xe(), r = c(() => !!(s.label || e.default));
1386
+ return (n, a) => r.value ? (o(), f(l(dt), V({
1375
1387
  key: 0,
1376
1388
  for: l(s).id
1377
1389
  }, n.$props), {
1378
1390
  default: m(() => [
1379
- $(n.$slots, "default", {}, () => [
1391
+ w(n.$slots, "default", {}, () => [
1380
1392
  L(x(l(s).label), 1)
1381
1393
  ])
1382
1394
  ]),
1383
1395
  _: 3
1384
1396
  }, 16, ["for"])) : M("", !0);
1385
1397
  }
1386
- }), kt = /* @__PURE__ */ h({
1398
+ }), Et = /* @__PURE__ */ g({
1387
1399
  __name: "SelectLabel",
1388
1400
  props: {
1389
1401
  class: {}
1390
1402
  },
1391
1403
  setup(t) {
1392
- const s = I("select", "<SelectLabel> must be a child of a <Select>"), e = c(() => H("block text-sm leading-6 font-medium text-gray-900", s.labelClass, t.class));
1393
- return (r, n) => r.$slots.default ? (i(), f(Xe, {
1404
+ const s = H("select", "<SelectLabel> must be a child of a <Select>"), e = c(() => k("block text-sm leading-6 font-medium text-gray-900", s.labelClass, t.class));
1405
+ return (r, n) => r.$slots.default ? (o(), f(Ye, {
1394
1406
  key: 0,
1395
- class: C(e.value)
1407
+ class: $(e.value)
1396
1408
  }, {
1397
1409
  default: m(() => [
1398
- $(r.$slots, "default")
1410
+ w(r.$slots, "default")
1399
1411
  ]),
1400
1412
  _: 3
1401
- }, 8, ["class"])) : (i(), f(Xe, {
1413
+ }, 8, ["class"])) : (o(), f(Ye, {
1402
1414
  key: 1,
1403
- class: C(e.value)
1415
+ class: $(e.value)
1404
1416
  }, null, 8, ["class"]));
1405
1417
  }
1406
- }), Ye = /* @__PURE__ */ h({
1418
+ }), et = /* @__PURE__ */ g({
1407
1419
  __name: "SelectOption",
1408
1420
  props: {
1409
1421
  value: {},
@@ -1411,57 +1423,57 @@ const $t = /* @__PURE__ */ h({
1411
1423
  innerClass: {}
1412
1424
  },
1413
1425
  setup(t) {
1414
- const s = c(() => H("group p-1 outline-none", t.class)), e = c(() => H(
1426
+ const s = c(() => k("group p-1 outline-none", t.class)), e = c(() => k(
1415
1427
  // eslint-disable-next-line vue/max-len
1416
1428
  "relative flex max-w-[calc(100vw-2rem)] cursor-pointer items-center truncate rounded-md gap-2 px-2 py-1 text-sm select-none *:truncate group-data-[highlighted]:bg-gray-100 group-data-[state=checked]:font-semibold group-data-[state=unchecked]:opacity-50",
1417
1429
  t.innerClass
1418
1430
  ));
1419
- return (r, n) => (i(), f(xt, {
1420
- class: C(s.value),
1431
+ return (r, n) => (o(), f(Tt, {
1432
+ class: $(s.value),
1421
1433
  value: r.value
1422
1434
  }, {
1423
1435
  default: m(() => [
1424
- b("div", {
1425
- class: C(e.value)
1436
+ v("div", {
1437
+ class: $(e.value)
1426
1438
  }, [
1427
- $(r.$slots, "default")
1439
+ w(r.$slots, "default")
1428
1440
  ], 2)
1429
1441
  ]),
1430
1442
  _: 3
1431
1443
  }, 8, ["class", "value"]));
1432
1444
  }
1433
- }), St = /* @__PURE__ */ h({
1445
+ }), Vt = /* @__PURE__ */ g({
1434
1446
  __name: "SelectOptions",
1435
1447
  props: {
1436
1448
  class: {}
1437
1449
  },
1438
1450
  setup(t) {
1439
- const s = I("select", "<SelectOptions> must be a child of a <Select>"), e = c(() => H(
1451
+ const s = H("select", "<SelectOptions> must be a child of a <Select>"), e = c(() => k(
1440
1452
  "z-50 overflow-auto rounded-lg bg-white text-base shadow-lg ring-1 ring-black/5 focus:outline-hidden",
1441
1453
  s.optionsClass,
1442
1454
  t.class
1443
1455
  ));
1444
- return (r, n) => (i(), f(Ct, {
1445
- class: C(e.value)
1456
+ return (r, n) => (o(), f(Mt, {
1457
+ class: $(e.value)
1446
1458
  }, {
1447
1459
  default: m(() => {
1448
1460
  var a;
1449
1461
  return [
1450
- (a = l(s).options) != null && a.length ? $(r.$slots, "default", { key: 0 }, () => {
1462
+ (a = l(s).options) != null && a.length ? w(r.$slots, "default", { key: 0 }, () => {
1451
1463
  var u;
1452
1464
  return [
1453
- (i(!0), y(D, null, U(((u = l(s)) == null ? void 0 : u.options) ?? [], (o) => (i(), f(Ye, {
1454
- key: o.key,
1455
- value: o.value
1465
+ (o(!0), b(A, null, B(((u = l(s)) == null ? void 0 : u.options) ?? [], (i) => (o(), f(et, {
1466
+ key: i.key,
1467
+ value: i.value
1456
1468
  }, {
1457
1469
  default: m(() => [
1458
- L(x(o.label), 1)
1470
+ L(x(i.label), 1)
1459
1471
  ]),
1460
1472
  _: 2
1461
1473
  }, 1032, ["value"]))), 128))
1462
1474
  ];
1463
- }) : $(r.$slots, "default", { key: 1 }, () => [
1464
- d(Ye, {
1475
+ }) : w(r.$slots, "default", { key: 1 }, () => [
1476
+ d(et, {
1465
1477
  disabled: "",
1466
1478
  value: null
1467
1479
  }, {
@@ -1476,42 +1488,42 @@ const $t = /* @__PURE__ */ h({
1476
1488
  _: 3
1477
1489
  }, 8, ["class"]));
1478
1490
  }
1479
- }), Rr = {
1491
+ }), Wr = {
1480
1492
  viewBox: "0 0 20 20",
1481
1493
  width: "1.2em",
1482
1494
  height: "1.2em"
1483
1495
  };
1484
- function zr(t, s) {
1485
- return i(), y("svg", Rr, s[0] || (s[0] = [
1486
- b("path", {
1496
+ function Kr(t, s) {
1497
+ return o(), b("svg", Wr, s[0] || (s[0] = [
1498
+ v("path", {
1487
1499
  fill: "currentColor",
1488
1500
  d: "m9.293 12.95l.707.707L15.657 8l-1.414-1.414L10 10.828L5.757 6.586L4.343 8z"
1489
1501
  }, null, -1)
1490
1502
  ]));
1491
1503
  }
1492
- const Ir = E({ name: "zondicons-cheveron-down", render: zr }), Tt = /* @__PURE__ */ h({
1504
+ const Qr = I({ name: "zondicons-cheveron-down", render: Kr }), Ht = /* @__PURE__ */ g({
1493
1505
  __name: "SelectTrigger",
1494
1506
  props: {
1495
1507
  class: {}
1496
1508
  },
1497
1509
  setup(t) {
1498
- const s = I("select", "<SelectTrigger> must be a child of a <Select>"), e = c(() => H(
1510
+ const s = H("select", "<SelectTrigger> must be a child of a <Select>"), e = c(() => k(
1499
1511
  // eslint-disable-next-line vue/max-len
1500
1512
  "focus:outline-primary-600 data-[state=open]:outline-primary-600 grid w-full cursor-default grid-cols-1 rounded-md bg-white py-1.5 pr-2 pl-3 text-left text-gray-900 outline-1 -outline-offset-1 outline-gray-300 focus:outline-2 focus:-outline-offset-2 sm:text-sm/6",
1501
1513
  { "mt-1": s.label },
1502
1514
  t.class
1503
1515
  ));
1504
- return (r, n) => (i(), f(_t, {
1505
- class: C(e.value)
1516
+ return (r, n) => (o(), f(St, {
1517
+ class: $(e.value)
1506
1518
  }, {
1507
1519
  default: m(() => [
1508
- d($t, { class: "col-start-1 row-start-1 truncate pr-6" }),
1509
- d(l(Ir), { class: "col-start-1 row-start-1 size-5 self-center justify-self-end text-gray-500 sm:size-4" })
1520
+ d(kt, { class: "col-start-1 row-start-1 truncate pr-6" }),
1521
+ d(l(Qr), { class: "col-start-1 row-start-1 size-5 self-center justify-self-end text-gray-500 sm:size-4" })
1510
1522
  ]),
1511
1523
  _: 1
1512
1524
  }, 8, ["class"]));
1513
1525
  }
1514
- }), qr = /* @__PURE__ */ h({
1526
+ }), Zr = /* @__PURE__ */ g({
1515
1527
  __name: "Select",
1516
1528
  props: {
1517
1529
  as: {},
@@ -1530,30 +1542,30 @@ const Ir = E({ name: "zondicons-cheveron-down", render: zr }), Tt = /* @__PURE__
1530
1542
  },
1531
1543
  emits: ["update:modelValue"],
1532
1544
  setup(t) {
1533
- const { forwardRef: s } = Ie();
1534
- return (e, r) => (i(), f(Lr, V({ ref: l(s) }, e.$props, {
1545
+ const { forwardRef: s } = Re();
1546
+ return (e, r) => (o(), f(Nr, V({ ref: l(s) }, e.$props, {
1535
1547
  "onUpdate:modelValue": r[0] || (r[0] = (n) => e.$emit("update:modelValue", n))
1536
1548
  }), {
1537
1549
  default: m(() => [
1538
- d(kt),
1539
- $(e.$slots, "default", {}, () => [
1540
- d(Tt),
1541
- d(St)
1550
+ d(Et),
1551
+ w(e.$slots, "default", {}, () => [
1552
+ d(Ht),
1553
+ d(Vt)
1542
1554
  ])
1543
1555
  ]),
1544
1556
  _: 3
1545
1557
  }, 16));
1546
1558
  }
1547
- }), Ar = { class: "grow" }, Pr = /* @__PURE__ */ h({
1559
+ }), Jr = { class: "grow" }, Gr = /* @__PURE__ */ g({
1548
1560
  __name: "Language",
1549
1561
  setup(t) {
1550
- const s = Z.getBrowserLocale(), e = c(() => [null, ...Z.locales]);
1562
+ const s = G.getBrowserLocale(), e = c(() => [null, ...G.locales]);
1551
1563
  function r(n) {
1552
- return (n && j.locales[n]) ?? k("settings.localeDefault", "{locale} (default)", {
1564
+ return (n && j.locales[n]) ?? S("settings.localeDefault", "{locale} (default)", {
1553
1565
  locale: j.locales[s] ?? s
1554
1566
  });
1555
1567
  }
1556
- return (n, a) => (i(), f(qr, {
1568
+ return (n, a) => (o(), f(Zr, {
1557
1569
  modelValue: n.$lang.locale,
1558
1570
  "onUpdate:modelValue": a[0] || (a[0] = (u) => n.$lang.locale = u),
1559
1571
  class: "flex flex-col items-start md:flex-row",
@@ -1562,40 +1574,40 @@ const Ir = E({ name: "zondicons-cheveron-down", render: zr }), Tt = /* @__PURE__
1562
1574
  "render-option": r
1563
1575
  }, {
1564
1576
  default: m(() => [
1565
- b("div", Ar, [
1566
- d(kt, { class: "text-base font-semibold" }, {
1577
+ v("div", Jr, [
1578
+ d(Et, { class: "text-base font-semibold" }, {
1567
1579
  default: m(() => [
1568
1580
  L(x(n.$td("settings.locale", "Language")), 1)
1569
1581
  ]),
1570
1582
  _: 1
1571
1583
  }),
1572
- d(z, {
1584
+ d(R, {
1573
1585
  "lang-key": "settings.localeDescription",
1574
1586
  "lang-default": "Choose the application's language.",
1575
1587
  class: "mt-1 text-sm text-gray-500"
1576
1588
  })
1577
1589
  ]),
1578
- d(R, {
1590
+ d(z, {
1579
1591
  variant: "ghost",
1580
- as: Tt,
1592
+ as: Ht,
1581
1593
  class: "grid w-auto outline-none"
1582
1594
  }),
1583
- d(St)
1595
+ d(Vt)
1584
1596
  ]),
1585
1597
  _: 1
1586
1598
  }, 8, ["modelValue", "options"]));
1587
1599
  }
1588
- }), Dr = [
1600
+ }), Xr = [
1589
1601
  {
1590
1602
  priority: 100,
1591
- component: Pr
1603
+ component: Gr
1592
1604
  }
1593
- ], jr = { $lang: Z }, Br = {
1605
+ ], Yr = { $lang: G }, en = {
1594
1606
  async install(t) {
1595
1607
  var s;
1596
- (s = t.config.globalProperties).$t ?? (s.$t = bt), t.config.globalProperties.$td = k, Dr.forEach((e) => A.addSetting(e)), await ke(t, jr);
1608
+ (s = t.config.globalProperties).$t ?? (s.$t = wt), t.config.globalProperties.$td = S, Xr.forEach((e) => q.addSetting(e)), await Te(t, Yr);
1597
1609
  }
1598
- }, Fr = /* @__PURE__ */ h({
1610
+ }, tn = /* @__PURE__ */ g({
1599
1611
  __name: "Markdown",
1600
1612
  props: {
1601
1613
  as: {},
@@ -1607,38 +1619,38 @@ const Ir = E({ name: "zondicons-cheveron-down", render: zr }), Tt = /* @__PURE__
1607
1619
  actions: {}
1608
1620
  },
1609
1621
  setup(t) {
1610
- const s = et(), e = Re(), r = c(() => e.default ? e.default().map(ct).join("") : t.text ?? (t.langKey && (t.langDefault ? k(t.langKey, t.langDefault, t.langParams ?? {}) : bt(t.langKey, t.langParams ?? {})))), n = c(() => {
1622
+ const s = st(), e = xe(), r = c(() => e.default ? e.default().map(mt).join("") : t.text ?? (t.langKey && (t.langDefault ? S(t.langKey, t.langDefault, t.langParams ?? {}) : wt(t.langKey, t.langParams ?? {})))), n = c(() => {
1611
1623
  if (!r.value)
1612
1624
  return null;
1613
- let o = gr(r.value);
1614
- return t.inline && (o = o.replace("<p>", "<span>").replace("</p>", "</span>")), o;
1615
- }), a = () => Ut(t.as ?? (t.inline ? "span" : "div"), {
1625
+ let i = Mr(r.value);
1626
+ return t.inline && (i = i.replace("<p>", "<span>").replace("</p>", "</span>")), i;
1627
+ }), a = () => Qt(t.as ?? (t.inline ? "span" : "div"), {
1616
1628
  innerHTML: n.value,
1617
1629
  onClick: u,
1618
1630
  ...s,
1619
1631
  class: `${s.class ?? ""} ${t.inline ? "" : "prose"}`
1620
1632
  });
1621
- async function u(o) {
1622
- var g, w;
1623
- const { target: p } = o;
1624
- if (Oe(p, HTMLElement) && p.dataset.markdownAction) {
1625
- (w = (g = t.actions) == null ? void 0 : g[p.dataset.markdownAction]) == null || w.call(g);
1633
+ async function u(i) {
1634
+ var h, y;
1635
+ const { target: p } = i;
1636
+ if (Ne(p, HTMLElement) && p.dataset.markdownAction) {
1637
+ (y = (h = t.actions) == null ? void 0 : h[p.dataset.markdownAction]) == null || y.call(h);
1626
1638
  return;
1627
1639
  }
1628
- if (Oe(p, HTMLAnchorElement) && p.dataset.markdownRoute) {
1629
- const v = hr();
1630
- v && (o.preventDefault(), v.visit(p.dataset.markdownRoute));
1640
+ if (Ne(p, HTMLAnchorElement) && p.dataset.markdownRoute) {
1641
+ const _ = Tr();
1642
+ _ && (i.preventDefault(), _.visit(p.dataset.markdownRoute));
1631
1643
  return;
1632
1644
  }
1633
1645
  }
1634
- return (o, p) => (i(), f(a));
1646
+ return (i, p) => (o(), f(a));
1635
1647
  }
1636
- }), Ur = (t, s) => {
1648
+ }), sn = (t, s) => {
1637
1649
  const e = t.__vccOpts || t;
1638
1650
  for (const [r, n] of s)
1639
1651
  e[r] = n;
1640
1652
  return e;
1641
- }, z = /* @__PURE__ */ Ur(Fr, [["__scopeId", "data-v-8b211cfb"]]), Or = { class: "flex-grow" }, Nr = ["id"], Wr = /* @__PURE__ */ h({
1653
+ }, R = /* @__PURE__ */ sn(tn, [["__scopeId", "data-v-8b211cfb"]]), rn = { class: "flex-grow" }, nn = ["id"], an = /* @__PURE__ */ g({
1642
1654
  __name: "Setting",
1643
1655
  props: {
1644
1656
  title: {},
@@ -1648,29 +1660,29 @@ const Ir = E({ name: "zondicons-cheveron-down", render: zr }), Tt = /* @__PURE__
1648
1660
  layout: { default: "horizontal" }
1649
1661
  },
1650
1662
  setup(t) {
1651
- const s = c(() => H(t.class, "flex flex-col justify-center gap-1"));
1652
- return (e, r) => (i(), y("div", {
1653
- class: C(["mt-4 flex", { "flex-col": e.layout === "vertical" }])
1663
+ const s = c(() => k(t.class, "flex flex-col justify-center gap-1"));
1664
+ return (e, r) => (o(), b("div", {
1665
+ class: $(["mt-4 flex", { "flex-col": e.layout === "vertical" }])
1654
1666
  }, [
1655
- b("div", Or, [
1656
- b("h3", {
1667
+ v("div", rn, [
1668
+ v("h3", {
1657
1669
  id: e.titleId,
1658
1670
  class: "text-base font-semibold"
1659
- }, x(e.title), 9, Nr),
1660
- e.description ? (i(), f(z, {
1671
+ }, x(e.title), 9, nn),
1672
+ e.description ? (o(), f(R, {
1661
1673
  key: 0,
1662
1674
  text: e.description,
1663
1675
  class: "mt-1 text-sm text-gray-500"
1664
1676
  }, null, 8, ["text"])) : M("", !0)
1665
1677
  ]),
1666
- b("div", {
1667
- class: C(s.value)
1678
+ v("div", {
1679
+ class: $(s.value)
1668
1680
  }, [
1669
- $(e.$slots, "default")
1681
+ w(e.$slots, "default")
1670
1682
  ], 2)
1671
1683
  ], 2));
1672
1684
  }
1673
- }), Kr = ["for"], Qr = /* @__PURE__ */ h({
1685
+ }), ln = ["for"], on = /* @__PURE__ */ g({
1674
1686
  inheritAttrs: !1,
1675
1687
  __name: "HeadlessSwitch",
1676
1688
  props: {
@@ -1686,7 +1698,7 @@ const Ir = E({ name: "zondicons-cheveron-down", render: zr }), Tt = /* @__PURE__
1686
1698
  emits: ["update:modelValue"],
1687
1699
  setup(t, { expose: s, emit: e }) {
1688
1700
  const r = e, n = X("form", null), a = c(() => !n || !t.name ? null : n.errors[t.name] ?? null), u = {
1689
- id: `switch-${oe()}`,
1701
+ id: `switch-${ue()}`,
1690
1702
  name: c(() => t.name),
1691
1703
  label: c(() => t.label),
1692
1704
  description: c(() => t.description),
@@ -1696,60 +1708,60 @@ const Ir = E({ name: "zondicons-cheveron-down", render: zr }), Tt = /* @__PURE__
1696
1708
  if (!(!t.name || !n))
1697
1709
  return n.getFieldRules(t.name).includes("required");
1698
1710
  }),
1699
- update(o) {
1711
+ update(i) {
1700
1712
  if (n && t.name) {
1701
- n.setFieldValue(t.name, o);
1713
+ n.setFieldValue(t.name, i);
1702
1714
  return;
1703
1715
  }
1704
- r("update:modelValue", o);
1716
+ r("update:modelValue", i);
1705
1717
  }
1706
1718
  };
1707
1719
  return s(u), Y(() => {
1708
1720
  !t.description && !a.value || console.warn("Errors and description not implemented in <HeadlessSwitch>");
1709
- }), (o, p) => (i(), y("div", {
1710
- class: C(t.class)
1721
+ }), (i, p) => (o(), b("div", {
1722
+ class: $(t.class)
1711
1723
  }, [
1712
- o.label ? (i(), y("label", {
1724
+ i.label ? (o(), b("label", {
1713
1725
  key: 0,
1714
1726
  for: u.id,
1715
- class: C(o.labelClass)
1716
- }, x(o.label), 11, Kr)) : M("", !0),
1717
- d(l(Es), V({
1727
+ class: $(i.labelClass)
1728
+ }, x(i.label), 11, ln)) : M("", !0),
1729
+ d(l(zs), V({
1718
1730
  id: u.id,
1719
- name: o.name,
1731
+ name: i.name,
1720
1732
  "model-value": u.value.value
1721
- }, o.$attrs, {
1722
- class: o.inputClass,
1723
- "onUpdate:modelValue": p[0] || (p[0] = (g) => o.$emit("update:modelValue", g))
1733
+ }, i.$attrs, {
1734
+ class: i.inputClass,
1735
+ "onUpdate:modelValue": p[0] || (p[0] = (h) => i.$emit("update:modelValue", h))
1724
1736
  }), {
1725
1737
  default: m(() => [
1726
- d(l(Ls), {
1727
- class: C(o.thumbClass)
1738
+ d(l(Rs), {
1739
+ class: $(i.thumbClass)
1728
1740
  }, null, 8, ["class"])
1729
1741
  ]),
1730
1742
  _: 1
1731
1743
  }, 16, ["id", "name", "model-value", "class"])
1732
1744
  ], 2));
1733
1745
  }
1734
- }), Jr = /* @__PURE__ */ h({
1746
+ }), un = /* @__PURE__ */ g({
1735
1747
  __name: "Switch",
1736
1748
  setup(t) {
1737
- return (s, e) => (i(), f(Qr, {
1749
+ return (s, e) => (o(), f(on, {
1738
1750
  class: "flex flex-row items-center gap-1",
1739
1751
  "input-class": "disabled:opacity-50 disabled:cursor-not-allowed data-[state=checked]:bg-primary-600 data-[state=unchecked]:bg-gray-200 relative inline-flex h-6 w-11 shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focusdisabled:opacity-50 disabled:cursor-not-allowed :ring-2 focus:ring-primary-600 focus:ring-offset-2 focus:outline-hidden",
1740
1752
  "thumb-class": "data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0 pointer-events-none inline-block size-5 transform rounded-full bg-white shadow-sm ring-0 transition duration-200 ease-in-out"
1741
1753
  }));
1742
1754
  }
1743
- }), Zr = /* @__PURE__ */ h({
1755
+ }), cn = /* @__PURE__ */ g({
1744
1756
  __name: "Debug",
1745
1757
  setup(t) {
1746
- return (s, e) => (i(), f(Wr, {
1758
+ return (s, e) => (o(), f(an, {
1747
1759
  "title-id": "debug-setting",
1748
1760
  title: s.$td("settings.debug", "Debugging"),
1749
1761
  description: s.$td("settings.debugDescription", "Enable debugging with [Eruda](https://eruda.liriliri.io/).")
1750
1762
  }, {
1751
1763
  default: m(() => [
1752
- d(Jr, {
1764
+ d(un, {
1753
1765
  modelValue: s.$errors.debug,
1754
1766
  "onUpdate:modelValue": e[0] || (e[0] = (r) => s.$errors.debug = r),
1755
1767
  "aria-labelledby": "debug-setting"
@@ -1758,76 +1770,78 @@ const Ir = E({ name: "zondicons-cheveron-down", render: zr }), Tt = /* @__PURE__
1758
1770
  _: 1
1759
1771
  }, 8, ["title", "description"]));
1760
1772
  }
1761
- }), Xr = [
1773
+ }), dn = [
1762
1774
  {
1763
1775
  priority: 10,
1764
- component: Zr
1776
+ component: cn
1765
1777
  }
1766
- ], Mt = [];
1767
- function ql(t) {
1768
- Mt.push(t);
1778
+ ], Lt = [];
1779
+ function Xl(t) {
1780
+ Lt.push(t);
1769
1781
  }
1770
- function Ht(t) {
1771
- for (const s of Mt) {
1782
+ function It(t) {
1783
+ for (const s of Lt) {
1772
1784
  const e = s(t);
1773
1785
  if (e)
1774
1786
  return e;
1775
1787
  }
1776
- return typeof t == "string" ? t : t instanceof Error || t instanceof _e ? t.message : fe(t) ? B(t.message ?? t.description ?? "Unknown error object") : k("errors.unknown", "Unknown Error");
1788
+ return typeof t == "string" ? t : t instanceof Error || t instanceof Ce ? t.message : he(t) ? D(t.message ?? t.description ?? "Unknown error object") : S("errors.unknown", "Unknown Error");
1777
1789
  }
1778
- class Ge extends _e {
1790
+ class tt extends Ce {
1779
1791
  }
1780
- const Yr = { $errors: yt }, Gr = (t) => (yt.report(t), !0);
1781
- function en(t, s = () => !1) {
1782
- const e = (r) => s(r) || Gr(r);
1783
- t.config.errorHandler = e, globalThis.onerror = (r, n, a, u, o) => e(o ?? r), globalThis.onunhandledrejection = (r) => e(r.reason);
1792
+ const pn = { $errors: $t }, mn = (t) => ($t.report(t), !0);
1793
+ function fn(t, s = () => !1) {
1794
+ const e = (r) => s(r) || mn(r);
1795
+ t.config.errorHandler = e, globalThis.onerror = (r, n, a, u, i) => e(i ?? r), globalThis.onunhandledrejection = (r) => e(r.reason);
1784
1796
  }
1785
- const tn = {
1797
+ const hn = {
1786
1798
  async install(t, s) {
1787
- en(t, s.handleError), Xr.forEach((e) => A.addSetting(e)), await ke(t, Yr);
1799
+ fn(t, s.handleError), dn.forEach((e) => q.addSetting(e)), await Te(t, pn);
1788
1800
  }
1789
- }, sn = {
1801
+ }, gn = {
1790
1802
  async install() {
1791
1803
  ze() && (globalThis.testingRuntime = {
1792
1804
  on: (...t) => F.on(...t),
1793
- service: (t) => A.service(t)
1805
+ service: (t) => q.service(t)
1794
1806
  });
1795
1807
  }
1796
- }, rn = {
1808
+ }, vn = {
1797
1809
  viewBox: "0 0 20 20",
1798
1810
  width: "1.2em",
1799
1811
  height: "1.2em"
1800
1812
  };
1801
- function nn(t, s) {
1802
- return i(), y("svg", rn, s[0] || (s[0] = [
1803
- b("path", {
1813
+ function bn(t, s) {
1814
+ return o(), b("svg", vn, s[0] || (s[0] = [
1815
+ v("path", {
1804
1816
  fill: "currentColor",
1805
1817
  d: "M10 8.586L2.929 1.515L1.515 2.929L8.586 10l-7.071 7.071l1.414 1.414L10 11.414l7.071 7.071l1.414-1.414L11.414 10l7.071-7.071l-1.414-1.414z"
1806
1818
  }, null, -1)
1807
1819
  ]));
1808
1820
  }
1809
- const an = E({ name: "zondicons-close", render: nn }), ln = /* @__PURE__ */ h({
1821
+ const yn = I({ name: "zondicons-close", render: bn }), _n = /* @__PURE__ */ g({
1810
1822
  __name: "HeadlessModal",
1811
1823
  props: {
1812
1824
  persistent: { type: Boolean },
1825
+ fullscreen: { type: Boolean },
1826
+ fullscreenOnMobile: { type: Boolean },
1813
1827
  title: {},
1814
1828
  titleHidden: { type: Boolean },
1815
1829
  description: {},
1816
1830
  descriptionHidden: { type: Boolean }
1817
1831
  },
1818
1832
  setup(t, { expose: s }) {
1819
- const e = N(null), { close: r } = Pe();
1833
+ const e = W(null), { close: r } = Ae();
1820
1834
  s({ $content: e });
1821
- const { forwardRef: n } = Ie();
1822
- return de("$modalContentRef", e), (a, u) => (i(), f(l(Rs), {
1835
+ const { forwardRef: n } = Re();
1836
+ return ce("$modalContentRef", e), (a, u) => (o(), f(l(qs), {
1823
1837
  ref: l(n),
1824
1838
  open: "",
1825
- "onUpdate:open": u[0] || (u[0] = (o) => a.persistent || o || l(r)())
1839
+ "onUpdate:open": u[0] || (u[0] = (i) => a.persistent || i || l(r)())
1826
1840
  }, {
1827
1841
  default: m(() => [
1828
- d(l(zs), null, {
1842
+ d(l(Ps), null, {
1829
1843
  default: m(() => [
1830
- $(a.$slots, "default", { close: l(r) })
1844
+ w(a.$slots, "default", { close: l(r) })
1831
1845
  ]),
1832
1846
  _: 3
1833
1847
  })
@@ -1835,14 +1849,14 @@ const an = E({ name: "zondicons-close", render: nn }), ln = /* @__PURE__ */ h({
1835
1849
  _: 3
1836
1850
  }, 512));
1837
1851
  }
1838
- }), on = /* @__PURE__ */ h({
1852
+ }), wn = /* @__PURE__ */ g({
1839
1853
  __name: "HeadlessModalContent",
1840
1854
  setup(t) {
1841
- const { child: s } = Pe(), e = nr("$modalContentRef"), r = ee("$contentRef");
1842
- return Y(() => e.value = r.value), (n, a) => (i(), f(l(Is), { ref: "$contentRef" }, {
1855
+ const { child: s } = Ae(), e = gr("$modalContentRef"), r = te("$contentRef");
1856
+ return Y(() => e.value = r.value), (n, a) => (o(), f(l(As), { ref: "$contentRef" }, {
1843
1857
  default: m(() => [
1844
- $(n.$slots, "default"),
1845
- l(s) ? (i(), f(l(gs), {
1858
+ w(n.$slots, "default"),
1859
+ l(s) ? (o(), f(l(_s), {
1846
1860
  key: 0,
1847
1861
  is: l(s)
1848
1862
  }, null, 8, ["is"])) : M("", !0)
@@ -1850,21 +1864,21 @@ const an = E({ name: "zondicons-close", render: nn }), ln = /* @__PURE__ */ h({
1850
1864
  _: 3
1851
1865
  }, 512));
1852
1866
  }
1853
- }), un = /* @__PURE__ */ h({
1867
+ }), $n = /* @__PURE__ */ g({
1854
1868
  __name: "HeadlessModalDescription",
1855
1869
  props: {
1856
1870
  asChild: { type: Boolean },
1857
1871
  as: {}
1858
1872
  },
1859
1873
  setup(t) {
1860
- return (s, e) => (i(), f(l(qs), ue(ce(s.$props)), {
1874
+ return (s, e) => (o(), f(l(Ds), de(pe(s.$props)), {
1861
1875
  default: m(() => [
1862
- $(s.$slots, "default")
1876
+ w(s.$slots, "default")
1863
1877
  ]),
1864
1878
  _: 3
1865
1879
  }, 16));
1866
1880
  }
1867
- }), cn = /* @__PURE__ */ h({
1881
+ }), xn = /* @__PURE__ */ g({
1868
1882
  __name: "HeadlessModalOverlay",
1869
1883
  props: {
1870
1884
  forceMount: { type: Boolean },
@@ -1872,34 +1886,33 @@ const an = E({ name: "zondicons-close", render: nn }), ln = /* @__PURE__ */ h({
1872
1886
  as: {}
1873
1887
  },
1874
1888
  setup(t) {
1875
- return (s, e) => (i(), f(l(As), ue(ce(s.$props)), {
1889
+ return (s, e) => (o(), f(l(Bs), de(pe(s.$props)), {
1876
1890
  default: m(() => [
1877
- $(s.$slots, "default")
1891
+ w(s.$slots, "default")
1878
1892
  ]),
1879
1893
  _: 3
1880
1894
  }, 16));
1881
1895
  }
1882
- }), dn = /* @__PURE__ */ h({
1896
+ }), Cn = /* @__PURE__ */ g({
1883
1897
  __name: "HeadlessModalTitle",
1884
1898
  props: {
1885
1899
  asChild: { type: Boolean },
1886
1900
  as: {}
1887
1901
  },
1888
1902
  setup(t) {
1889
- return (s, e) => (i(), f(l(Ps), ue(ce(s.$props)), {
1903
+ return (s, e) => (o(), f(l(js), de(pe(s.$props)), {
1890
1904
  default: m(() => [
1891
- $(s.$slots, "default")
1905
+ w(s.$slots, "default")
1892
1906
  ]),
1893
1907
  _: 3
1894
1908
  }, 16));
1895
1909
  }
1896
- }), pn = {
1897
- key: 0,
1898
- class: "absolute top-0 right-0 hidden pt-3.5 pr-2.5 sm:block"
1899
- }, mn = ["onClick"], fn = { class: "sr-only" }, Me = dr(), re = /* @__PURE__ */ h({
1910
+ }), kn = ["onClick"], Sn = { class: "sr-only" }, fe = xr(), ne = /* @__PURE__ */ g({
1900
1911
  __name: "Modal",
1901
1912
  props: {
1902
1913
  persistent: { type: Boolean },
1914
+ fullscreen: { type: Boolean },
1915
+ fullscreenOnMobile: { type: Boolean },
1903
1916
  title: {},
1904
1917
  titleHidden: { type: Boolean },
1905
1918
  description: {},
@@ -1909,87 +1922,99 @@ const an = E({ name: "zondicons-close", render: nn }), ln = /* @__PURE__ */ h({
1909
1922
  closeHidden: { type: Boolean }
1910
1923
  },
1911
1924
  setup(t, { expose: s }) {
1912
- const e = K(t, ["class", "wrapperClass", "title", "titleHidden", "description", "persistent", "closeHidden"]);
1925
+ const e = O(t, ["class", "wrapperClass", "title", "titleHidden", "description", "persistent", "closeHidden", "fullscreen", "fullscreenOnMobile"]);
1913
1926
  s({
1914
1927
  $content: c(() => {
1915
1928
  var T;
1916
- return (T = o.value) == null ? void 0 : T.$content;
1929
+ return (T = i.value) == null ? void 0 : T.$content;
1917
1930
  })
1918
1931
  });
1919
- const { forwardRef: r, currentRef: n } = Ie(), { id: a, visible: u } = Pe(), o = n, p = ot(), g = c(
1932
+ const { forwardRef: r, currentRef: n } = Re(), { id: a, visible: u } = Ae(), i = n, p = ct(), h = c(
1920
1933
  () => {
1921
1934
  var T;
1922
- return u.value && ((T = ae.value.toReversed().find((Be) => Be.visible.value)) == null ? void 0 : T.id) === a.value;
1935
+ return u.value && ((T = le.value.toReversed().find((je) => je.visible.value)) == null ? void 0 : T.id) === a.value;
1923
1936
  }
1924
- ), w = c(() => ae.value.find((T) => T.visible.value)), v = c(() => ae.value.some((T) => Me.has(T))), S = c(() => t.description ? {} : { "aria-describedby": void 0 }), q = c(() => H("max-h-[90vh] overflow-auto px-4 pb-4", { "pt-4": !t.title || t.titleHidden }, t.class)), pe = c(() => H(
1925
- "isolate fixed top-1/2 left-1/2 z-50 w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2",
1926
- "overflow-hidden rounded-lg bg-white text-left shadow-xl sm:max-w-lg",
1927
- Me.has(p.value) || "animate-[fade-in_var(--tw-duration)_ease-in-out,grow_var(--tw-duration)_ease-in-out]",
1928
- "transition-[scale,opacity] will-change-[scale,opacity] duration-300",
1929
- {
1930
- "scale-50 opacity-0": !g.value,
1931
- "scale-100 opacity-100": g.value
1932
- },
1937
+ ), y = c(() => le.value.find((T) => T.visible.value)), _ = c(() => le.value.some((T) => fe.has(T))), E = c(() => t.description ? {} : { "aria-describedby": void 0 }), U = c(() => k(
1938
+ "overflow-auto px-4 pb-4 flex flex-col flex-1",
1939
+ { "pt-4": !t.title || t.titleHidden, "max-h-[90vh]": !Q.value },
1940
+ t.class
1941
+ )), Q = c(() => t.fullscreen || t.fullscreenOnMobile && P.mobile), Dt = c(() => k(
1942
+ "isolate fixed z-50 flex flex-col overflow-hidden bg-white text-left duration-300",
1943
+ Q.value ? [
1944
+ "inset-0 transition-[transform,translate] will-change-[transform,translate]",
1945
+ fe.has(p.value) || "animate-[slide-in_var(--tw-duration)_ease-in-out]",
1946
+ h.value ? "translate-y-0" : "translate-y-full"
1947
+ ] : [
1948
+ "top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-full",
1949
+ "max-w-[calc(100%-2rem)] rounded-lg shadow-xl sm:max-w-lg",
1950
+ "transition-[scale,opacity] will-change-[scale,opacity]",
1951
+ fe.has(p.value) || "animate-[fade-in_var(--tw-duration)_ease-in-out,grow_var(--tw-duration)_ease-in-out]",
1952
+ h.value ? "scale-100 opacity-100" : "scale-50 opacity-0"
1953
+ ],
1933
1954
  t.wrapperClass
1934
1955
  ));
1935
- return tt(() => le(500).then(() => Me.add(p.value))), (T, Be) => (i(), f(ln, V(e, {
1956
+ return rt(() => oe(500).then(() => fe.add(p.value))), (T, je) => (o(), f(_n, V(e, {
1936
1957
  ref: (me) => l(r)(me),
1937
1958
  persistent: T.persistent
1938
1959
  }), {
1939
1960
  default: m(({ close: me }) => {
1940
- var Fe, Ue;
1961
+ var Fe, Oe;
1941
1962
  return [
1942
- d(cn, {
1943
- class: C(["fixed inset-0 transition-opacity duration-300 will-change-[opacity]", {
1944
- "animate-[fade-in_var(--tw-duration)_ease-in-out]": !v.value,
1945
- "bg-black/30": ((Fe = w.value) == null ? void 0 : Fe.id) === l(a) || !w.value && ((Ue = l(ae)[0]) == null ? void 0 : Ue.id) === l(a),
1946
- "opacity-0": !w.value
1963
+ d(xn, {
1964
+ class: $(["fixed inset-0 transition-opacity duration-300 will-change-[opacity]", {
1965
+ "animate-[fade-in_var(--tw-duration)_ease-in-out]": !_.value,
1966
+ "bg-black/30": ((Fe = y.value) == null ? void 0 : Fe.id) === l(a) || !y.value && ((Oe = l(le)[0]) == null ? void 0 : Oe.id) === l(a),
1967
+ "opacity-0": !y.value,
1968
+ hidden: Q.value
1947
1969
  }])
1948
1970
  }, null, 8, ["class"]),
1949
- d(on, V(S.value, { class: pe.value }), {
1971
+ d(wn, V(E.value, { class: Dt.value }), {
1950
1972
  default: m(() => [
1951
- !T.persistent && !T.closeHidden ? (i(), y("div", pn, [
1952
- b("button", {
1973
+ !T.persistent && !T.closeHidden ? (o(), b("div", {
1974
+ key: 0,
1975
+ class: $(["absolute top-0 right-0 pt-3.5 pr-2.5", { "hidden sm:block": !Q.value }])
1976
+ }, [
1977
+ v("button", {
1953
1978
  type: "button",
1954
1979
  class: "clickable z-10 rounded-full p-2.5 text-gray-400 hover:text-gray-500",
1955
- onClick: (ol) => me()
1980
+ onClick: (Cl) => me()
1956
1981
  }, [
1957
- b("span", fn, x(T.$td("ui.close", "Close")), 1),
1958
- d(l(an), { class: "size-4" })
1959
- ], 8, mn)
1960
- ])) : M("", !0),
1961
- T.title ? (i(), f(dn, {
1982
+ v("span", Sn, x(T.$td("ui.close", "Close")), 1),
1983
+ d(l(yn), { class: "size-4" })
1984
+ ], 8, kn)
1985
+ ], 2)) : M("", !0),
1986
+ T.title ? (o(), f(Cn, {
1962
1987
  key: 1,
1963
- class: C(["px-4 pt-5 text-base font-semibold text-gray-900", {
1988
+ class: $(["px-4 pt-5 text-base font-semibold text-gray-900", {
1964
1989
  "sr-only": T.titleHidden,
1965
1990
  "pb-0": T.description && !T.descriptionHidden,
1966
1991
  "pb-2": !T.description || T.descriptionHidden
1967
1992
  }])
1968
1993
  }, {
1969
1994
  default: m(() => [
1970
- d(z, {
1995
+ d(R, {
1971
1996
  text: T.title,
1972
1997
  inline: ""
1973
1998
  }, null, 8, ["text"])
1974
1999
  ]),
1975
2000
  _: 1
1976
2001
  }, 8, ["class"])) : M("", !0),
1977
- T.description ? (i(), f(un, {
2002
+ T.description ? (o(), f($n, {
1978
2003
  key: 2,
1979
- class: C(["px-4 pt-1 pb-2", { "sr-only": T.descriptionHidden }])
2004
+ class: $(["px-4 pt-1 pb-2", { "sr-only": T.descriptionHidden }])
1980
2005
  }, {
1981
2006
  default: m(() => [
1982
- d(z, {
2007
+ d(R, {
1983
2008
  text: T.description,
1984
2009
  class: "text-sm leading-6 text-gray-500"
1985
2010
  }, null, 8, ["text"])
1986
2011
  ]),
1987
2012
  _: 1
1988
2013
  }, 8, ["class"])) : M("", !0),
1989
- b("div", {
1990
- class: C(q.value)
2014
+ v("div", {
2015
+ class: $(U.value)
1991
2016
  }, [
1992
- $(T.$slots, "default", { close: me })
2017
+ w(T.$slots, "default", { close: me })
1993
2018
  ], 2)
1994
2019
  ]),
1995
2020
  _: 2
@@ -2000,29 +2025,29 @@ const an = E({ name: "zondicons-close", render: nn }), ln = /* @__PURE__ */ h({
2000
2025
  }, 16, ["persistent"]));
2001
2026
  }
2002
2027
  });
2003
- function hn(t) {
2004
- const s = c(() => t.title ?? k("ui.alert", "Alert")), e = c(() => !t.title);
2028
+ function Tn(t) {
2029
+ const s = c(() => t.title ?? S("ui.alert", "Alert")), e = c(() => !t.title);
2005
2030
  return { renderedTitle: s, titleHidden: e };
2006
2031
  }
2007
- const gn = /* @__PURE__ */ h({
2032
+ const Mn = /* @__PURE__ */ g({
2008
2033
  __name: "AlertModal",
2009
2034
  props: {
2010
2035
  title: {},
2011
2036
  message: {}
2012
2037
  },
2013
2038
  setup(t, { expose: s }) {
2014
- const e = t, { renderedTitle: r, titleHidden: n } = hn(e);
2015
- return s(), (a, u) => (i(), f(re, {
2039
+ const e = t, { renderedTitle: r, titleHidden: n } = Tn(e);
2040
+ return s(), (a, u) => (o(), f(ne, {
2016
2041
  title: l(r),
2017
2042
  "title-hidden": l(n)
2018
2043
  }, {
2019
2044
  default: m(() => [
2020
- d(z, { text: a.message }, null, 8, ["text"])
2045
+ d(R, { text: a.message }, null, 8, ["text"])
2021
2046
  ]),
2022
2047
  _: 1
2023
2048
  }, 8, ["title", "title-hidden"]));
2024
2049
  }
2025
- }), Vt = /* @__PURE__ */ h({
2050
+ }), zt = /* @__PURE__ */ g({
2026
2051
  __name: "Form",
2027
2052
  props: {
2028
2053
  form: {}
@@ -2034,18 +2059,18 @@ const gn = /* @__PURE__ */ h({
2034
2059
  return Y((n) => {
2035
2060
  var a;
2036
2061
  e == null || e(), e = (a = t.form) == null ? void 0 : a.on("submit", () => r("submit")), n(() => e == null ? void 0 : e());
2037
- }), de("form", t.form), (n, a) => (i(), y("form", {
2038
- onSubmit: a[0] || (a[0] = st((u) => n.form ? n.form.submit() : n.$emit("submit"), ["prevent"]))
2062
+ }), ce("form", t.form), (n, a) => (o(), b("form", {
2063
+ onSubmit: a[0] || (a[0] = nt((u) => n.form ? n.form.submit() : n.$emit("submit"), ["prevent"]))
2039
2064
  }, [
2040
- $(n.$slots, "default")
2065
+ w(n.$slots, "default")
2041
2066
  ], 32));
2042
2067
  }
2043
2068
  });
2044
- function vn(t) {
2045
- const s = mt(
2069
+ function En(t) {
2070
+ const s = gt(
2046
2071
  Object.entries(t.checkboxes ?? {}).reduce(
2047
- (u, [o, p]) => ({
2048
- [o]: {
2072
+ (u, [i, p]) => ({
2073
+ [i]: {
2049
2074
  type: "boolean",
2050
2075
  default: p.default,
2051
2076
  required: p.required ? "required" : void 0
@@ -2054,13 +2079,13 @@ function vn(t) {
2054
2079
  }),
2055
2080
  {}
2056
2081
  )
2057
- ), e = c(() => t.title ?? k("ui.confirm", "Confirm")), r = c(() => !t.title), n = c(() => t.acceptText ?? k("ui.accept", "Ok")), a = c(() => t.cancelText ?? k("ui.cancel", "Cancel"));
2082
+ ), e = c(() => t.title ?? S("ui.confirm", "Confirm")), r = c(() => !t.title), n = c(() => t.acceptText ?? S("ui.accept", "Ok")), a = c(() => t.cancelText ?? S("ui.cancel", "Cancel"));
2058
2083
  return { form: s, renderedTitle: e, titleHidden: r, renderedAcceptText: n, renderedCancelText: a };
2059
2084
  }
2060
- const bn = {
2085
+ const Vn = {
2061
2086
  key: 0,
2062
2087
  class: "mt-4 flex flex-col text-sm text-gray-600"
2063
- }, yn = { class: "flex items-center" }, wn = ["onUpdate:modelValue", "required"], $n = { class: "ml-1.5" }, _n = { class: "mt-4 flex flex-row-reverse gap-2" }, xn = /* @__PURE__ */ h({
2088
+ }, Hn = { class: "flex items-center" }, Ln = ["onUpdate:modelValue", "required"], In = { class: "ml-1.5" }, zn = { class: "mt-4 flex flex-row-reverse gap-2" }, Rn = /* @__PURE__ */ g({
2064
2089
  __name: "ConfirmModal",
2065
2090
  props: {
2066
2091
  title: {},
@@ -2075,39 +2100,39 @@ const bn = {
2075
2100
  },
2076
2101
  emits: ["close"],
2077
2102
  setup(t, { expose: s }) {
2078
- const e = K(t, ["cancelVariant"]), { form: r, renderedTitle: n, titleHidden: a, renderedAcceptText: u, renderedCancelText: o } = vn(e);
2079
- return s(), (p, g) => (i(), f(re, {
2103
+ const e = O(t, ["cancelVariant"]), { form: r, renderedTitle: n, titleHidden: a, renderedAcceptText: u, renderedCancelText: i } = En(e);
2104
+ return s(), (p, h) => (o(), f(ne, {
2080
2105
  title: l(n),
2081
2106
  "title-hidden": l(a),
2082
2107
  persistent: ""
2083
2108
  }, {
2084
- default: m(({ close: w }) => [
2085
- d(Vt, {
2109
+ default: m(({ close: y }) => [
2110
+ d(zt, {
2086
2111
  form: l(r),
2087
- onSubmit: (v) => w([!0, l(r).data()])
2112
+ onSubmit: (_) => y([!0, l(r).data()])
2088
2113
  }, {
2089
2114
  default: m(() => [
2090
- d(z, {
2115
+ d(R, {
2091
2116
  text: p.message,
2092
2117
  actions: p.actions
2093
2118
  }, null, 8, ["text", "actions"]),
2094
- p.checkboxes ? (i(), y("ul", bn, [
2095
- (i(!0), y(D, null, U(p.checkboxes, (v, S) => (i(), y("li", { key: S }, [
2096
- b("label", yn, [
2097
- rt(b("input", {
2098
- "onUpdate:modelValue": (q) => l(r)[S] = q,
2119
+ p.checkboxes ? (o(), b("ul", Vn, [
2120
+ (o(!0), b(A, null, B(p.checkboxes, (_, E) => (o(), b("li", { key: E }, [
2121
+ v("label", Hn, [
2122
+ at(v("input", {
2123
+ "onUpdate:modelValue": (U) => l(r)[E] = U,
2099
2124
  type: "checkbox",
2100
- required: v.required,
2125
+ required: _.required,
2101
2126
  class: "border-primary-600 text-primary-600 hover:bg-primary-50 hover:checked:bg-primary-500 focus:ring-primary-600 focus-visible:ring-primary-600 rounded border-2"
2102
- }, null, 8, wn), [
2103
- [Ot, l(r)[S]]
2127
+ }, null, 8, Ln), [
2128
+ [Zt, l(r)[E]]
2104
2129
  ]),
2105
- b("span", $n, x(v.label), 1)
2130
+ v("span", In, x(_.label), 1)
2106
2131
  ])
2107
2132
  ]))), 128))
2108
2133
  ])) : M("", !0),
2109
- b("div", _n, [
2110
- d(R, {
2134
+ v("div", zn, [
2135
+ d(z, {
2111
2136
  variant: p.acceptVariant,
2112
2137
  submit: ""
2113
2138
  }, {
@@ -2116,13 +2141,13 @@ const bn = {
2116
2141
  ]),
2117
2142
  _: 1
2118
2143
  }, 8, ["variant"]),
2119
- p.required ? M("", !0) : (i(), f(R, {
2144
+ p.required ? M("", !0) : (o(), f(z, {
2120
2145
  key: 0,
2121
2146
  variant: p.cancelVariant,
2122
- onClick: (v) => w(!1)
2147
+ onClick: (_) => y(!1)
2123
2148
  }, {
2124
2149
  default: m(() => [
2125
- L(x(l(o)), 1)
2150
+ L(x(l(i)), 1)
2126
2151
  ]),
2127
2152
  _: 2
2128
2153
  }, 1032, ["variant", "onClick"]))
@@ -2134,92 +2159,92 @@ const bn = {
2134
2159
  _: 1
2135
2160
  }, 8, ["title", "title-hidden"]));
2136
2161
  }
2137
- }), Cn = {
2162
+ }), qn = {
2138
2163
  viewBox: "0 0 20 20",
2139
2164
  width: "1.2em",
2140
2165
  height: "1.2em"
2141
2166
  };
2142
- function kn(t, s) {
2143
- return i(), y("svg", Cn, s[0] || (s[0] = [
2144
- b("path", {
2167
+ function Pn(t, s) {
2168
+ return o(), b("svg", qn, s[0] || (s[0] = [
2169
+ v("path", {
2145
2170
  fill: "currentColor",
2146
2171
  d: "M7.05 9.293L6.343 10L12 15.657l1.414-1.414L9.172 10l4.242-4.243L12 4.343z"
2147
2172
  }, null, -1)
2148
2173
  ]));
2149
2174
  }
2150
- const Sn = E({ name: "zondicons-cheveron-left", render: kn }), Tn = {
2175
+ const An = I({ name: "zondicons-cheveron-left", render: Pn }), Dn = {
2151
2176
  viewBox: "0 0 20 20",
2152
2177
  width: "1.2em",
2153
2178
  height: "1.2em"
2154
2179
  };
2155
- function Mn(t, s) {
2156
- return i(), y("svg", Tn, s[0] || (s[0] = [
2157
- b("path", {
2180
+ function Bn(t, s) {
2181
+ return o(), b("svg", Dn, s[0] || (s[0] = [
2182
+ v("path", {
2158
2183
  fill: "currentColor",
2159
2184
  d: "m12.95 10.707l.707-.707L8 4.343L6.586 5.757L10.828 10l-4.242 4.243L8 15.657z"
2160
2185
  }, null, -1)
2161
2186
  ]));
2162
2187
  }
2163
- const Et = E({ name: "zondicons-cheveron-right", render: Mn }), Hn = {
2188
+ const Rt = I({ name: "zondicons-cheveron-right", render: Bn }), jn = {
2164
2189
  viewBox: "0 0 20 20",
2165
2190
  width: "1.2em",
2166
2191
  height: "1.2em"
2167
2192
  };
2168
- function Vn(t, s) {
2169
- return i(), y("svg", Hn, s[0] || (s[0] = [
2170
- b("path", {
2193
+ function Fn(t, s) {
2194
+ return o(), b("svg", jn, s[0] || (s[0] = [
2195
+ v("path", {
2171
2196
  fill: "currentColor",
2172
2197
  d: "M2.93 17.07A10 10 0 1 1 17.07 2.93A10 10 0 0 1 2.93 17.07M9 5v6h2V5zm0 8v2h2v-2z"
2173
2198
  }, null, -1)
2174
2199
  ]));
2175
2200
  }
2176
- const De = E({ name: "zondicons-exclamation-solid", render: Vn }), En = {
2201
+ const De = I({ name: "zondicons-exclamation-solid", render: Fn }), On = {
2177
2202
  viewBox: "0 0 24 24",
2178
2203
  width: "1.2em",
2179
2204
  height: "1.2em"
2180
2205
  };
2181
- function Ln(t, s) {
2182
- return i(), y("svg", En, s[0] || (s[0] = [
2183
- b("path", {
2206
+ function Un(t, s) {
2207
+ return o(), b("svg", On, s[0] || (s[0] = [
2208
+ v("path", {
2184
2209
  fill: "currentColor",
2185
2210
  d: "M20 19V7H4v12zm0-16a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2zm-7 14v-2h5v2zm-3.42-4L5.57 9H8.4l3.3 3.3c.39.39.39 1.03 0 1.42L8.42 17H5.59z"
2186
2211
  }, null, -1)
2187
2212
  ]));
2188
2213
  }
2189
- const Rn = E({ name: "mdi-console", render: Ln }), zn = {
2214
+ const Nn = I({ name: "mdi-console", render: Un }), Wn = {
2190
2215
  viewBox: "0 0 20 20",
2191
2216
  width: "1.2em",
2192
2217
  height: "1.2em"
2193
2218
  };
2194
- function In(t, s) {
2195
- return i(), y("svg", zn, s[0] || (s[0] = [
2196
- b("path", {
2219
+ function Kn(t, s) {
2220
+ return o(), b("svg", Wn, s[0] || (s[0] = [
2221
+ v("path", {
2197
2222
  fill: "currentColor",
2198
2223
  d: "M6 6V2c0-1.1.9-2 2-2h10a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-4v4a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8c0-1.1.9-2 2-2zm2 0h4a2 2 0 0 1 2 2v4h4V2H8zM2 8v10h10V8z"
2199
2224
  }, null, -1)
2200
2225
  ]));
2201
2226
  }
2202
- const qn = E({ name: "zondicons-copy", render: In }), An = {
2227
+ const Qn = I({ name: "zondicons-copy", render: Kn }), Zn = {
2203
2228
  viewBox: "0 0 24 24",
2204
2229
  width: "1.2em",
2205
2230
  height: "1.2em"
2206
2231
  };
2207
- function Pn(t, s) {
2208
- return i(), y("svg", An, s[0] || (s[0] = [
2209
- b("path", {
2232
+ function Jn(t, s) {
2233
+ return o(), b("svg", Zn, s[0] || (s[0] = [
2234
+ v("path", {
2210
2235
  fill: "currentColor",
2211
2236
  d: "M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5c.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34c-.46-1.16-1.11-1.47-1.11-1.47c-.91-.62.07-.6.07-.6c1 .07 1.53 1.03 1.53 1.03c.87 1.52 2.34 1.07 2.91.83c.09-.65.35-1.09.63-1.34c-2.22-.25-4.55-1.11-4.55-4.92c0-1.11.38-2 1.03-2.71c-.1-.25-.45-1.29.1-2.64c0 0 .84-.27 2.75 1.02c.79-.22 1.65-.33 2.5-.33s1.71.11 2.5.33c1.91-1.29 2.75-1.02 2.75-1.02c.55 1.35.2 2.39.1 2.64c.65.71 1.03 1.6 1.03 2.71c0 3.82-2.34 4.66-4.57 4.91c.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2"
2212
2237
  }, null, -1)
2213
2238
  ]));
2214
2239
  }
2215
- const Dn = E({ name: "mdi-github", render: Pn }), jn = { class: "flex" }, Bn = { class: "sr-only" }, Fn = /* @__PURE__ */ h({
2240
+ const Gn = I({ name: "mdi-github", render: Jn }), Xn = { class: "flex" }, Yn = { class: "sr-only" }, ea = /* @__PURE__ */ g({
2216
2241
  __name: "ErrorReportModalButtons",
2217
2242
  props: {
2218
2243
  report: {}
2219
2244
  },
2220
2245
  setup(t) {
2221
2246
  const s = t, e = c(() => s.report.description ? `${s.report.title}: ${s.report.description}` : s.report.title), r = c(() => {
2222
- if (!A.sourceUrl)
2247
+ if (!q.sourceUrl)
2223
2248
  return !1;
2224
2249
  const a = encodeURIComponent(e.value), u = encodeURIComponent(
2225
2250
  [
@@ -2227,35 +2252,35 @@ const Dn = E({ name: "mdi-github", render: Pn }), jn = { class: "flex" }, Bn = {
2227
2252
  "",
2228
2253
  "Error details:",
2229
2254
  "```",
2230
- ns(
2255
+ is(
2231
2256
  s.report.details ?? "Details missing from report",
2232
- 1800 - a.length - A.sourceUrl.length
2257
+ 1800 - a.length - q.sourceUrl.length
2233
2258
  ).trim(),
2234
2259
  "```"
2235
2260
  ].join(`
2236
2261
  `)
2237
2262
  );
2238
- return `${A.sourceUrl}/issues/new?title=${a}&body=${u}`;
2239
- }), n = c(() => te(
2263
+ return `${q.sourceUrl}/issues/new?title=${a}&body=${u}`;
2264
+ }), n = c(() => se(
2240
2265
  [
2241
2266
  {
2242
2267
  id: "clipboard",
2243
2268
  description: "Copy to clipboard",
2244
- iconComponent: qn,
2269
+ iconComponent: Qn,
2245
2270
  async click() {
2246
2271
  await navigator.clipboard.writeText(`${e.value}
2247
2272
 
2248
- ${s.report.details}`), P.toast(k("errors.copiedToClipboard", "Debug information copied to clipboard"));
2273
+ ${s.report.details}`), P.toast(S("errors.copiedToClipboard", "Debug information copied to clipboard"));
2249
2274
  }
2250
2275
  },
2251
2276
  {
2252
2277
  id: "console",
2253
2278
  description: "Log to console",
2254
- iconComponent: Rn,
2279
+ iconComponent: Nn,
2255
2280
  click() {
2256
2281
  const a = s.report.error ?? s.report;
2257
2282
  window.error = a, console.error(a), P.toast(
2258
- k(
2283
+ S(
2259
2284
  "errors.addedToConsole",
2260
2285
  "You can now use the **error** variable in the console"
2261
2286
  )
@@ -2267,24 +2292,24 @@ ${s.report.details}`), P.toast(k("errors.copiedToClipboard", "Debug information
2267
2292
  r.value && a.push({
2268
2293
  id: "github",
2269
2294
  description: "Report in GitHub",
2270
- iconComponent: Dn,
2295
+ iconComponent: Gn,
2271
2296
  url: r.value
2272
2297
  });
2273
2298
  }
2274
2299
  ));
2275
- return (a, u) => (i(), y("div", jn, [
2276
- (i(!0), y(D, null, U(n.value, (o) => $(a.$slots, "default", V({ ref_for: !0 }, o), () => [
2277
- d(R, {
2300
+ return (a, u) => (o(), b("div", Xn, [
2301
+ (o(!0), b(A, null, B(n.value, (i) => w(a.$slots, "default", V({ ref_for: !0 }, i), () => [
2302
+ d(z, {
2278
2303
  size: "icon",
2279
2304
  variant: "ghost",
2280
2305
  class: "group whitespace-nowrap",
2281
- href: o.url,
2282
- title: a.$td(`errors.report_${o.id}`, o.description),
2283
- onClick: o.click
2306
+ href: i.url,
2307
+ title: a.$td(`errors.report_${i.id}`, i.description),
2308
+ onClick: i.click
2284
2309
  }, {
2285
2310
  default: m(() => [
2286
- b("span", Bn, x(a.$td(`errors.report_${o.id}`, o.description)), 1),
2287
- (i(), f(G(o.iconComponent), {
2311
+ v("span", Yn, x(a.$td(`errors.report_${i.id}`, i.description)), 1),
2312
+ (o(), f(ee(i.iconComponent), {
2288
2313
  class: "size-4",
2289
2314
  "aria-hidden": "true"
2290
2315
  }))
@@ -2294,7 +2319,7 @@ ${s.report.details}`), P.toast(k("errors.copiedToClipboard", "Debug information
2294
2319
  ])), 256))
2295
2320
  ]));
2296
2321
  }
2297
- }), Un = /* @__PURE__ */ h({
2322
+ }), ta = /* @__PURE__ */ g({
2298
2323
  __name: "ErrorReportModalTitle",
2299
2324
  props: {
2300
2325
  report: {},
@@ -2303,19 +2328,19 @@ ${s.report.details}`), P.toast(k("errors.copiedToClipboard", "Debug information
2303
2328
  },
2304
2329
  setup(t) {
2305
2330
  const s = c(() => !t.totalReports || t.totalReports <= 1 ? t.report.title : `${t.report.title} (${t.currentReport}/${t.totalReports})`);
2306
- return (e, r) => (i(), f(z, {
2331
+ return (e, r) => (o(), f(R, {
2307
2332
  text: s.value,
2308
2333
  inline: ""
2309
2334
  }, null, 8, ["text"]));
2310
2335
  }
2311
2336
  });
2312
- function On(t) {
2313
- const s = N(t.reports.includes(t.report) ? t.reports.indexOf(t.report) : 0), e = c(() => t.reports[s.value]), r = c(
2337
+ function sa(t) {
2338
+ const s = W(t.reports.includes(t.report) ? t.reports.indexOf(t.report) : 0), e = c(() => t.reports[s.value]), r = c(
2314
2339
  () => {
2315
2340
  var u;
2316
- return ((u = e.value.details) == null ? void 0 : u.trim()) || k("errors.detailsEmpty", "This error is missing a stacktrace.");
2341
+ return ((u = e.value.details) == null ? void 0 : u.trim()) || S("errors.detailsEmpty", "This error is missing a stacktrace.");
2317
2342
  }
2318
- ), n = k("errors.previousReport", "Show previous report"), a = k("errors.nextReport", "Show next report");
2343
+ ), n = S("errors.previousReport", "Show previous report"), a = S("errors.nextReport", "Show next report");
2319
2344
  return {
2320
2345
  activeReportIndex: s,
2321
2346
  details: r,
@@ -2324,18 +2349,18 @@ function On(t) {
2324
2349
  activeReport: e
2325
2350
  };
2326
2351
  }
2327
- const Nn = { class: "px-4 pt-5 pb-4" }, Wn = { class: "flex justify-between gap-4" }, Kn = { class: "flex items-center gap-2" }, Qn = {
2352
+ const ra = { class: "px-4 pt-5 pb-4" }, na = { class: "flex justify-between gap-4" }, aa = { class: "flex items-center gap-2" }, la = {
2328
2353
  key: 0,
2329
2354
  class: "flex gap-0.5"
2330
- }, Jn = { class: "-mt-2 max-h-[75vh] overflow-auto bg-red-800/10" }, Zn = ["textContent"], Xn = /* @__PURE__ */ h({
2355
+ }, oa = { class: "-mt-2 max-h-[75vh] overflow-auto bg-red-800/10" }, ia = ["textContent"], ua = /* @__PURE__ */ g({
2331
2356
  __name: "ErrorReportModal",
2332
2357
  props: {
2333
2358
  report: {},
2334
2359
  reports: {}
2335
2360
  },
2336
2361
  setup(t, { expose: s }) {
2337
- const e = t, { activeReportIndex: r, details: n, nextReportText: a, previousReportText: u, activeReport: o } = On(e);
2338
- return s(), (p, g) => (i(), f(re, {
2362
+ const e = t, { activeReportIndex: r, details: n, nextReportText: a, previousReportText: u, activeReport: i } = sa(e);
2363
+ return s(), (p, h) => (o(), f(ne, {
2339
2364
  title: p.$td("errors.report", "Error report"),
2340
2365
  "title-hidden": "",
2341
2366
  "close-hidden": "",
@@ -2343,83 +2368,83 @@ const Nn = { class: "px-4 pt-5 pb-4" }, Wn = { class: "flex justify-between gap-
2343
2368
  "wrapper-class": "sm:w-auto sm:min-w-lg sm:max-w-[80vw]"
2344
2369
  }, {
2345
2370
  default: m(() => [
2346
- b("div", Nn, [
2347
- b("h2", Wn, [
2348
- b("div", Kn, [
2371
+ v("div", ra, [
2372
+ v("h2", na, [
2373
+ v("div", aa, [
2349
2374
  d(l(De), { class: "size-5 text-red-600" }),
2350
- d(Un, {
2375
+ d(ta, {
2351
2376
  class: "text-lg leading-6 font-semibold text-gray-900",
2352
- report: l(o),
2377
+ report: l(i),
2353
2378
  "current-report": l(r) + 1,
2354
2379
  "total-reports": p.reports.length
2355
2380
  }, null, 8, ["report", "current-report", "total-reports"]),
2356
- p.reports.length > 1 ? (i(), y("span", Qn, [
2357
- d(R, {
2381
+ p.reports.length > 1 ? (o(), b("span", la, [
2382
+ d(z, {
2358
2383
  size: "icon",
2359
2384
  variant: "ghost",
2360
2385
  disabled: l(r) === 0,
2361
2386
  "aria-label": l(u),
2362
2387
  title: l(u),
2363
- onClick: g[0] || (g[0] = (w) => r.value--)
2388
+ onClick: h[0] || (h[0] = (y) => r.value--)
2364
2389
  }, {
2365
2390
  default: m(() => [
2366
- d(l(Sn), { class: "size-4" })
2391
+ d(l(An), { class: "size-4" })
2367
2392
  ]),
2368
2393
  _: 1
2369
2394
  }, 8, ["disabled", "aria-label", "title"]),
2370
- d(R, {
2395
+ d(z, {
2371
2396
  size: "icon",
2372
2397
  variant: "ghost",
2373
2398
  disabled: l(r) === p.reports.length - 1,
2374
2399
  "aria-label": l(a),
2375
2400
  title: l(a),
2376
- onClick: g[1] || (g[1] = (w) => r.value++)
2401
+ onClick: h[1] || (h[1] = (y) => r.value++)
2377
2402
  }, {
2378
2403
  default: m(() => [
2379
- d(l(Et), { class: "size-4" })
2404
+ d(l(Rt), { class: "size-4" })
2380
2405
  ]),
2381
2406
  _: 1
2382
2407
  }, 8, ["disabled", "aria-label", "title"])
2383
2408
  ])) : M("", !0)
2384
2409
  ]),
2385
- d(Fn, {
2386
- report: l(o),
2410
+ d(ea, {
2411
+ report: l(i),
2387
2412
  class: "gap-0.5"
2388
2413
  }, null, 8, ["report"])
2389
2414
  ]),
2390
- l(o).description ? (i(), f(z, {
2415
+ l(i).description ? (o(), f(R, {
2391
2416
  key: 0,
2392
- text: l(o).description,
2417
+ text: l(i).description,
2393
2418
  class: "text-gray-600"
2394
2419
  }, null, 8, ["text"])) : M("", !0)
2395
2420
  ]),
2396
- b("div", Jn, [
2397
- b("pre", {
2421
+ v("div", oa, [
2422
+ v("pre", {
2398
2423
  class: "p-4 text-xs text-red-800",
2399
2424
  textContent: x(l(n))
2400
- }, null, 8, Zn)
2425
+ }, null, 8, ia)
2401
2426
  ])
2402
2427
  ]),
2403
2428
  _: 1
2404
2429
  }, 8, ["title"]));
2405
2430
  }
2406
- }), Yn = {
2431
+ }), ca = {
2407
2432
  viewBox: "0 0 24 24",
2408
2433
  width: "1.2em",
2409
2434
  height: "1.2em"
2410
2435
  };
2411
- function Gn(t, s) {
2412
- return i(), y("svg", Yn, s[0] || (s[0] = [
2413
- b("path", {
2436
+ function da(t, s) {
2437
+ return o(), b("svg", ca, s[0] || (s[0] = [
2438
+ v("path", {
2414
2439
  fill: "currentColor",
2415
2440
  d: "M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z",
2416
2441
  opacity: ".25"
2417
2442
  }, null, -1),
2418
- b("path", {
2443
+ v("path", {
2419
2444
  fill: "currentColor",
2420
2445
  d: "M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z"
2421
2446
  }, [
2422
- b("animateTransform", {
2447
+ v("animateTransform", {
2423
2448
  attributeName: "transform",
2424
2449
  dur: "0.75s",
2425
2450
  repeatCount: "indefinite",
@@ -2429,40 +2454,50 @@ function Gn(t, s) {
2429
2454
  ], -1)
2430
2455
  ]));
2431
2456
  }
2432
- const ea = E({ name: "svg-spinners-90-ring-with-bg", render: Gn }), ta = { class: "mt-1 h-2 w-full overflow-hidden rounded-full bg-gray-200" }, sa = { class: "sr-only" }, ra = /* @__PURE__ */ h({
2457
+ const pa = I({ name: "svg-spinners-90-ring-with-bg", render: da }), ma = { class: "relative mt-1 h-2 w-full overflow-hidden rounded-full bg-gray-200" }, fa = { class: "sr-only" }, ha = /* @__PURE__ */ g({
2433
2458
  __name: "ProgressBar",
2434
2459
  props: {
2435
2460
  filledClass: {},
2461
+ overflowClass: {},
2436
2462
  progress: {},
2437
2463
  job: {}
2438
2464
  },
2439
2465
  setup(t) {
2440
2466
  let s;
2441
- const e = N(0), r = c(() => H("size-full transition-transform duration-500 rounded-r-full ease-linear bg-primary-600", t.filledClass)), n = c(() => typeof t.progress == "number" ? t.progress : e.value);
2442
- return Le(
2467
+ const e = W(0), r = c(() => k("size-full transition-transform duration-500 rounded-r-full ease-linear bg-primary-600", t.filledClass)), n = c(() => k(
2468
+ "absolute inset-y-0 right-0 size-full rounded-r-full",
2469
+ "bg-primary-900 transition-[width] duration-500 ease-linear",
2470
+ t.overflowClass
2471
+ )), a = c(() => typeof t.progress == "number" ? t.progress : e.value), u = c(() => a.value > 1 ? 100 * ((a.value - 1) / a.value) : null);
2472
+ return Ie(
2443
2473
  () => t.job,
2444
2474
  () => {
2445
- s && s(), e.value = t.job ? t.job.progress : 0, s = t.job && t.job.listeners.add({ onUpdated: (a) => e.value = a });
2475
+ s && s(), e.value = t.job ? t.job.progress : 0, s = t.job && t.job.listeners.add({ onUpdated: (i) => e.value = i });
2446
2476
  },
2447
2477
  { immediate: !0 }
2448
- ), we(() => s && s()), (a, u) => (i(), y("div", ta, [
2449
- b("div", {
2450
- class: C(r.value),
2451
- style: Nt(`transform:translateX(-${(1 - n.value) * 100}%)`)
2478
+ ), we(() => s && s()), (i, p) => (o(), b("div", ma, [
2479
+ v("div", {
2480
+ class: $(r.value),
2481
+ style: Ue(`transform:translateX(-${(1 - a.value) * 100}%)`)
2452
2482
  }, null, 6),
2453
- b("span", sa, x(a.$td("ui.progress", "{progress}% complete", {
2454
- progress: n.value * 100
2483
+ u.value ? (o(), b("div", {
2484
+ key: 0,
2485
+ class: $(n.value),
2486
+ style: Ue({ width: `${u.value}%` })
2487
+ }, null, 6)) : M("", !0),
2488
+ v("span", fa, x(i.$td("ui.progress", "{progress}% complete", {
2489
+ progress: a.value * 100
2455
2490
  })), 1)
2456
2491
  ]));
2457
2492
  }
2458
2493
  });
2459
- function na(t) {
2460
- const s = c(() => t.title ?? k("ui.loading", "Loading")), e = c(
2461
- () => t.message ?? k("ui.loadingInProgress", "Loading in progress...")
2494
+ function ga(t) {
2495
+ const s = c(() => t.title ?? S("ui.loading", "Loading")), e = c(
2496
+ () => t.message ?? S("ui.loadingInProgress", "Loading in progress...")
2462
2497
  ), r = c(() => typeof t.progress == "number" || !!t.job), n = c(() => !t.title);
2463
2498
  return { renderedTitle: s, renderedMessage: e, titleHidden: n, showProgress: r };
2464
2499
  }
2465
- const aa = /* @__PURE__ */ h({
2500
+ const va = /* @__PURE__ */ g({
2466
2501
  __name: "LoadingModal",
2467
2502
  props: {
2468
2503
  title: {},
@@ -2471,30 +2506,30 @@ const aa = /* @__PURE__ */ h({
2471
2506
  job: {}
2472
2507
  },
2473
2508
  setup(t, { expose: s }) {
2474
- const e = t, { renderedTitle: r, renderedMessage: n, titleHidden: a, showProgress: u } = na(e);
2475
- return s(), (o, p) => (i(), f(re, {
2509
+ const e = t, { renderedTitle: r, renderedMessage: n, titleHidden: a, showProgress: u } = ga(e);
2510
+ return s(), (i, p) => (o(), f(ne, {
2476
2511
  persistent: "",
2477
- class: C(["flex", { "flex-col-reverse": l(u), "items-center justify-center gap-2": !l(u) }]),
2478
2512
  "wrapper-class": "w-auto",
2479
2513
  title: l(r),
2480
- "title-hidden": l(a)
2514
+ "title-hidden": l(a),
2515
+ class: $({ "flex-col-reverse": l(u), "flex-row items-center justify-center gap-2": !l(u) })
2481
2516
  }, {
2482
2517
  default: m(() => [
2483
- l(u) ? (i(), f(ra, {
2518
+ l(u) ? (o(), f(ha, {
2484
2519
  key: 0,
2485
- progress: o.progress,
2486
- job: o.job,
2520
+ progress: i.progress,
2521
+ job: i.job,
2487
2522
  class: "min-w-[min(400px,80vw)]"
2488
- }, null, 8, ["progress", "job"])) : (i(), f(l(ea), {
2523
+ }, null, 8, ["progress", "job"])) : (o(), f(l(pa), {
2489
2524
  key: 1,
2490
2525
  class: "text-primary-600 mr-1 size-6"
2491
2526
  })),
2492
- d(z, { text: l(n) }, null, 8, ["text"])
2527
+ d(R, { text: l(n) }, null, 8, ["text"])
2493
2528
  ]),
2494
2529
  _: 1
2495
2530
  }, 8, ["title", "title-hidden", "class"]));
2496
2531
  }
2497
- }), je = /* @__PURE__ */ h({
2532
+ }), Be = /* @__PURE__ */ g({
2498
2533
  __name: "HeadlessInput",
2499
2534
  props: {
2500
2535
  name: {},
@@ -2506,7 +2541,7 @@ const aa = /* @__PURE__ */ h({
2506
2541
  emits: ["update:modelValue"],
2507
2542
  setup(t, { expose: s, emit: e }) {
2508
2543
  const r = e, n = X("form", null), a = c(() => !n || !t.name ? null : n.errors[t.name] ?? null), u = {
2509
- id: `input-${oe()}`,
2544
+ id: `input-${ue()}`,
2510
2545
  name: c(() => t.name),
2511
2546
  label: c(() => t.label),
2512
2547
  description: c(() => t.description),
@@ -2516,119 +2551,122 @@ const aa = /* @__PURE__ */ h({
2516
2551
  if (!(!t.name || !n))
2517
2552
  return n.getFieldRules(t.name).includes("required");
2518
2553
  }),
2519
- update(o) {
2554
+ update(i) {
2520
2555
  if (n && t.name) {
2521
- n.setFieldValue(t.name, o);
2556
+ n.setFieldValue(t.name, i);
2522
2557
  return;
2523
2558
  }
2524
- r("update:modelValue", o);
2559
+ r("update:modelValue", i);
2525
2560
  }
2526
2561
  };
2527
- return de("input", u), s(u), (o, p) => (i(), f(G(o.as), null, {
2562
+ return ce("input", u), s(u), (i, p) => (o(), f(ee(i.as), null, {
2528
2563
  default: m(() => [
2529
- $(o.$slots, "default")
2564
+ w(i.$slots, "default")
2530
2565
  ]),
2531
2566
  _: 3
2532
2567
  }));
2533
2568
  }
2534
- }), la = ["for"], be = /* @__PURE__ */ h({
2569
+ }), ba = ["for"], ye = /* @__PURE__ */ g({
2535
2570
  __name: "HeadlessInputLabel",
2536
2571
  setup(t) {
2537
- const s = I("input", "<HeadlessInputLabel> must be a child of a <HeadlessInput>"), e = Re(), r = c(() => !!(s.label || e.default));
2538
- return (n, a) => r.value ? (i(), y("label", {
2572
+ const s = H("input", "<HeadlessInputLabel> must be a child of a <HeadlessInput>"), e = xe(), r = c(() => !!(s.label || e.default));
2573
+ return (n, a) => r.value ? (o(), b("label", {
2539
2574
  key: 0,
2540
2575
  for: l(s).id
2541
2576
  }, [
2542
- $(n.$slots, "default", {}, () => [
2577
+ w(n.$slots, "default", {}, () => [
2543
2578
  L(x(l(s).label), 1)
2544
2579
  ])
2545
- ], 8, la)) : M("", !0);
2580
+ ], 8, ba)) : M("", !0);
2546
2581
  }
2547
- }), ia = ["id", "name", "checked", "type", "required", "aria-invalid", "aria-describedby"], Lt = /* @__PURE__ */ h({
2582
+ }), ya = ["id", "name", "checked", "type", "required", "aria-invalid", "aria-describedby"], qt = /* @__PURE__ */ g({
2548
2583
  __name: "HeadlessInputInput",
2549
2584
  props: {
2550
2585
  type: {}
2551
2586
  },
2552
2587
  setup(t) {
2553
- const s = ee("$inputRef"), e = I("input", "<HeadlessInputInput> must be a child of a <HeadlessInput>"), r = X("form", null), n = c(() => e.name ?? void 0), a = c(() => e.value), u = c(() => {
2588
+ const s = te("$inputRef"), e = H("input", "<HeadlessInputInput> must be a child of a <HeadlessInput>"), r = X("form", null), n = c(() => e.name ?? void 0), a = c(() => e.value), u = c(() => {
2554
2589
  if (t.type)
2555
2590
  return t.type;
2556
- const w = (n.value && (r == null ? void 0 : r.getFieldType(n.value))) ?? "";
2557
- return ["text", "email", "number", "tel", "url"].includes(w) ? w : "text";
2558
- }), o = c(() => {
2591
+ const y = (n.value && (r == null ? void 0 : r.getFieldType(n.value))) ?? "";
2592
+ return ["text", "email", "number", "tel", "url"].includes(y) ? y : "text";
2593
+ }), i = c(() => {
2559
2594
  if (u.value === "checkbox")
2560
2595
  return !!a.value;
2561
2596
  });
2562
2597
  function p() {
2563
- s.value && e.update(g());
2598
+ s.value && e.update(h());
2564
2599
  }
2565
- function g() {
2600
+ function h() {
2566
2601
  if (!s.value)
2567
2602
  return null;
2568
2603
  switch (u.value) {
2569
2604
  case "checkbox":
2570
2605
  return s.value.checked;
2571
2606
  case "date":
2572
- return s.value.valueAsDate;
2607
+ case "time":
2608
+ case "datetime-local":
2609
+ return new Date(Math.round(s.value.valueAsNumber / 6e4) * 6e4 + Ge);
2573
2610
  case "number":
2574
2611
  return s.value.valueAsNumber;
2575
2612
  default:
2576
2613
  return s.value.value;
2577
2614
  }
2578
2615
  }
2579
- return pt(e, () => {
2580
- var w;
2581
- return (w = s.value) == null ? void 0 : w.focus();
2616
+ return ht(e, () => {
2617
+ var y;
2618
+ return (y = s.value) == null ? void 0 : y.focus();
2582
2619
  }), Y(() => {
2583
2620
  if (s.value) {
2584
- if (u.value === "date" && a.value instanceof Date) {
2585
- s.value.valueAsDate = a.value;
2621
+ if (["date", "time", "datetime-local"].includes(u.value) && a.value instanceof Date) {
2622
+ const y = Math.round(a.value.getTime() / 6e4) * 6e4;
2623
+ s.value.valueAsNumber = y - Ge, e.update(new Date(y));
2586
2624
  return;
2587
2625
  }
2588
2626
  s.value.value = a.value ?? null;
2589
2627
  }
2590
- }), (w, v) => (i(), y("input", {
2628
+ }), (y, _) => (o(), b("input", {
2591
2629
  id: l(e).id,
2592
2630
  ref: "$inputRef",
2593
2631
  name: n.value,
2594
- checked: o.value,
2632
+ checked: i.value,
2595
2633
  type: u.value,
2596
2634
  required: l(e).required ?? void 0,
2597
2635
  "aria-invalid": l(e).errors ? "true" : "false",
2598
2636
  "aria-describedby": l(e).errors ? `${l(e).id}-error` : l(e).description ? `${l(e).id}-description` : void 0,
2599
2637
  onInput: p
2600
- }, null, 40, ia));
2638
+ }, null, 40, ya));
2601
2639
  }
2602
- }), Rt = /* @__PURE__ */ h({
2640
+ }), Pt = /* @__PURE__ */ g({
2603
2641
  inheritAttrs: !1,
2604
2642
  __name: "HeadlessInputDescription",
2605
2643
  setup(t) {
2606
- const s = I(
2644
+ const s = H(
2607
2645
  "input",
2608
2646
  "<HeadlessInputDescription> must be a child of a <HeadlessInput>"
2609
2647
  ), e = c(() => typeof s.description == "string" ? s.description : ""), r = c(() => !!s.description);
2610
- return (n, a) => $(n.$slots, "default", {
2648
+ return (n, a) => w(n.$slots, "default", {
2611
2649
  id: `${l(s).id}-description`
2612
2650
  }, () => [
2613
- r.value ? (i(), f(z, V({ key: 0 }, n.$attrs, {
2651
+ r.value ? (o(), f(R, V({ key: 0 }, n.$attrs, {
2614
2652
  id: `${l(s).id}-description`,
2615
2653
  text: e.value
2616
2654
  }), null, 16, ["id", "text"])) : M("", !0)
2617
2655
  ]);
2618
2656
  }
2619
- }), oa = ["id"], ye = /* @__PURE__ */ h({
2657
+ }), _a = ["id"], _e = /* @__PURE__ */ g({
2620
2658
  __name: "HeadlessInputError",
2621
2659
  setup(t) {
2622
- const s = I("input", "<HeadlessInputError> must be a child of a <HeadlessInput>"), e = c(() => s.errors ? k(`errors.${s.errors[0]}`, `Error: ${s.errors[0]}`) : null);
2623
- return (r, n) => e.value ? (i(), y("p", {
2660
+ const s = H("input", "<HeadlessInputError> must be a child of a <HeadlessInput>"), e = c(() => s.errors ? S(`errors.${s.errors[0]}`, `Error: ${s.errors[0]}`) : null);
2661
+ return (r, n) => e.value ? (o(), b("p", {
2624
2662
  key: 0,
2625
2663
  id: `${l(s).id}-error`
2626
- }, x(e.value), 9, oa)) : M("", !0);
2664
+ }, x(e.value), 9, _a)) : M("", !0);
2627
2665
  }
2628
- }), ua = {
2666
+ }), wa = {
2629
2667
  key: 0,
2630
2668
  class: "pointer-events-none absolute inset-y-0 right-0 flex items-center pr-3"
2631
- }, ca = /* @__PURE__ */ h({
2669
+ }, $a = /* @__PURE__ */ g({
2632
2670
  inheritAttrs: !1,
2633
2671
  __name: "Input",
2634
2672
  props: {
@@ -2637,65 +2675,71 @@ const aa = /* @__PURE__ */ h({
2637
2675
  description: {},
2638
2676
  modelValue: {},
2639
2677
  inputClass: {},
2640
- wrapperClass: {}
2678
+ wrapperClass: {},
2679
+ descriptionClass: {},
2680
+ errorClass: {}
2641
2681
  },
2642
2682
  emits: ["update:modelValue"],
2643
2683
  setup(t) {
2644
- const s = K(t, ["label", "inputClass", "wrapperClass"]), e = ee("$inputRef"), [r, n] = Ae(), a = c(() => H("relative rounded-md shadow-2xs", { "mt-1": t.label }, t.wrapperClass)), u = c(() => {
2645
- var o, p, g;
2646
- return H(
2684
+ const s = O(t, ["label", "inputClass", "wrapperClass", "descriptionClass", "errorClass"]), e = te("$inputRef"), [r, n] = Pe(), a = c(() => k("relative rounded-md shadow-2xs", { "mt-1": t.label }, t.wrapperClass)), u = c(() => k("mt-2 text-sm text-gray-600", t.descriptionClass)), i = c(() => k("mt-2 text-sm text-red-600", t.errorClass)), p = c(() => {
2685
+ var h, y, _;
2686
+ return k(
2647
2687
  // eslint-disable-next-line vue/max-len
2648
2688
  "block w-full rounded-md border-0 py-1.5 ring-1 ring-inset focus:ring-2 focus:ring-inset sm:text-sm sm:leading-6",
2649
2689
  {
2650
- "focus:ring-primary-600": !((o = e.value) != null && o.errors),
2651
- "text-gray-900 shadow-2xs ring-gray-900/10 placeholder:text-gray-400": !((p = e.value) != null && p.errors),
2652
- "pr-10 text-red-900 ring-red-900/10 placeholder:text-red-300 focus:ring-red-500": (g = e.value) == null ? void 0 : g.errors
2690
+ "focus:ring-primary-600": !((h = e.value) != null && h.errors),
2691
+ "text-gray-900 shadow-2xs ring-gray-900/10 placeholder:text-gray-400": !((y = e.value) != null && y.errors),
2692
+ "pr-10 text-red-900 ring-red-900/10 placeholder:text-red-300 focus:ring-red-500": (_ = e.value) == null ? void 0 : _.errors
2653
2693
  },
2654
2694
  t.inputClass
2655
2695
  );
2656
2696
  });
2657
- return (o, p) => (i(), f(je, V({
2697
+ return (h, y) => (o(), f(Be, V({
2658
2698
  ref: "$inputRef",
2659
- label: o.label,
2699
+ label: h.label,
2660
2700
  class: l(n)
2661
2701
  }, s, {
2662
- "onUpdate:modelValue": p[0] || (p[0] = (g) => o.$emit("update:modelValue", g))
2702
+ "onUpdate:modelValue": y[0] || (y[0] = (_) => h.$emit("update:modelValue", _))
2663
2703
  }), {
2664
2704
  default: m(() => {
2665
- var g;
2705
+ var _;
2666
2706
  return [
2667
- d(be, { class: "block text-sm leading-6 font-medium text-gray-900" }),
2668
- b("div", {
2669
- class: C(a.value)
2707
+ d(ye, { class: "block text-sm leading-6 font-medium text-gray-900" }),
2708
+ v("div", {
2709
+ class: $(a.value)
2670
2710
  }, [
2671
- d(Lt, V(l(r), { class: u.value }), null, 16, ["class"]),
2672
- (g = e.value) != null && g.errors ? (i(), y("div", ua, [
2711
+ d(qt, V(l(r), { class: p.value }), null, 16, ["class"]),
2712
+ (_ = e.value) != null && _.errors ? (o(), b("div", wa, [
2673
2713
  d(l(De), { class: "size-5 text-red-500" })
2674
2714
  ])) : M("", !0)
2675
2715
  ], 2),
2676
- d(Rt, { class: "mt-2 text-sm text-gray-600" }),
2677
- d(ye, { class: "mt-2 text-sm text-red-600" })
2716
+ d(Pt, {
2717
+ class: $(u.value)
2718
+ }, null, 8, ["class"]),
2719
+ d(_e, {
2720
+ class: $(i.value)
2721
+ }, null, 8, ["class"])
2678
2722
  ];
2679
2723
  }),
2680
2724
  _: 1
2681
2725
  }, 16, ["label", "class"]));
2682
2726
  }
2683
2727
  });
2684
- function Al(t, s = {}) {
2728
+ function Yl(t, s = {}) {
2685
2729
  return {
2686
2730
  default: t,
2687
2731
  type: "boolean",
2688
2732
  rules: s.rules
2689
2733
  };
2690
2734
  }
2691
- function Pl(t, s = {}) {
2735
+ function eo(t, s = {}) {
2692
2736
  return {
2693
2737
  default: t,
2694
2738
  type: "date",
2695
2739
  rules: s.rules
2696
2740
  };
2697
2741
  }
2698
- function Dl(t, s, e = {}) {
2742
+ function to(t, s, e = {}) {
2699
2743
  return {
2700
2744
  default: s,
2701
2745
  type: "enum",
@@ -2703,21 +2747,21 @@ function Dl(t, s, e = {}) {
2703
2747
  values: t
2704
2748
  };
2705
2749
  }
2706
- function jl(t) {
2750
+ function so(t) {
2707
2751
  return {
2708
2752
  default: t,
2709
2753
  type: "boolean",
2710
2754
  rules: "required"
2711
2755
  };
2712
2756
  }
2713
- function Bl(t) {
2757
+ function ro(t) {
2714
2758
  return {
2715
2759
  default: t,
2716
2760
  type: "date",
2717
2761
  rules: "required"
2718
2762
  };
2719
2763
  }
2720
- function Fl(t, s) {
2764
+ function no(t, s) {
2721
2765
  return {
2722
2766
  default: s,
2723
2767
  type: "enum",
@@ -2725,55 +2769,55 @@ function Fl(t, s) {
2725
2769
  values: t
2726
2770
  };
2727
2771
  }
2728
- function Ul(t) {
2772
+ function ao(t) {
2729
2773
  return {
2730
2774
  default: t,
2731
2775
  type: "number",
2732
2776
  rules: "required"
2733
2777
  };
2734
2778
  }
2735
- function Ol(t) {
2779
+ function lo(t) {
2736
2780
  return {
2737
2781
  default: t,
2738
2782
  type: "object",
2739
2783
  rules: "required"
2740
2784
  };
2741
2785
  }
2742
- function da(t) {
2786
+ function xa(t) {
2743
2787
  return {
2744
2788
  default: t,
2745
2789
  type: "string",
2746
2790
  rules: "required"
2747
2791
  };
2748
2792
  }
2749
- function Nl(t, s = {}) {
2793
+ function oo(t, s = {}) {
2750
2794
  return {
2751
2795
  default: t,
2752
2796
  type: "number",
2753
2797
  rules: s.rules
2754
2798
  };
2755
2799
  }
2756
- function Wl(t, s = {}) {
2800
+ function io(t, s = {}) {
2757
2801
  return {
2758
2802
  default: t,
2759
2803
  type: "object",
2760
2804
  rules: s.rules
2761
2805
  };
2762
2806
  }
2763
- function Kl(t, s = {}) {
2807
+ function uo(t, s = {}) {
2764
2808
  return {
2765
2809
  default: t,
2766
2810
  type: "string",
2767
2811
  rules: s.rules
2768
2812
  };
2769
2813
  }
2770
- function pa(t) {
2771
- const s = mt({
2772
- draft: da(t.defaultValue ?? "")
2773
- }), e = c(() => t.title ?? t.message), r = c(() => t.title ? t.message : null), n = c(() => t.acceptText ?? k("ui.accept", "Ok")), a = c(() => t.cancelText ?? k("ui.cancel", "Cancel"));
2814
+ function Ca(t) {
2815
+ const s = gt({
2816
+ draft: xa(t.defaultValue ?? "")
2817
+ }), e = c(() => t.title ?? t.message), r = c(() => t.title ? t.message : null), n = c(() => t.acceptText ?? S("ui.accept", "Ok")), a = c(() => t.cancelText ?? S("ui.cancel", "Cancel"));
2774
2818
  return { form: s, renderedTitle: e, renderedMessage: r, renderedAcceptText: n, renderedCancelText: a };
2775
2819
  }
2776
- const ma = { class: "mt-4 flex flex-row-reverse gap-2" }, fa = /* @__PURE__ */ h({
2820
+ const ka = { class: "mt-4 flex flex-row-reverse gap-2" }, Sa = /* @__PURE__ */ g({
2777
2821
  __name: "PromptModal",
2778
2822
  props: {
2779
2823
  title: {},
@@ -2788,29 +2832,29 @@ const ma = { class: "mt-4 flex flex-row-reverse gap-2" }, fa = /* @__PURE__ */ h
2788
2832
  },
2789
2833
  emits: ["close"],
2790
2834
  setup(t, { expose: s }) {
2791
- const e = K(t, ["cancelVariant"]), { form: r, renderedTitle: n, renderedMessage: a, renderedAcceptText: u, renderedCancelText: o } = pa(e);
2792
- return s(), (p, g) => (i(), f(re, {
2835
+ const e = O(t, ["cancelVariant"]), { form: r, renderedTitle: n, renderedMessage: a, renderedAcceptText: u, renderedCancelText: i } = Ca(e);
2836
+ return s(), (p, h) => (o(), f(ne, {
2793
2837
  title: l(n),
2794
2838
  persistent: ""
2795
2839
  }, {
2796
- default: m(({ close: w }) => [
2797
- d(Vt, {
2840
+ default: m(({ close: y }) => [
2841
+ d(zt, {
2798
2842
  form: l(r),
2799
- onSubmit: (v) => w(l(r).draft)
2843
+ onSubmit: (_) => y(l(r).draft)
2800
2844
  }, {
2801
2845
  default: m(() => [
2802
- l(a) ? (i(), f(z, {
2846
+ l(a) ? (o(), f(R, {
2803
2847
  key: 0,
2804
2848
  text: l(a)
2805
2849
  }, null, 8, ["text"])) : M("", !0),
2806
- d(ca, {
2850
+ d($a, {
2807
2851
  name: "draft",
2808
2852
  class: "mt-2",
2809
2853
  placeholder: p.placeholder,
2810
2854
  label: p.label
2811
2855
  }, null, 8, ["placeholder", "label"]),
2812
- b("div", ma, [
2813
- d(R, {
2856
+ v("div", ka, [
2857
+ d(z, {
2814
2858
  variant: p.acceptVariant,
2815
2859
  submit: ""
2816
2860
  }, {
@@ -2819,12 +2863,12 @@ const ma = { class: "mt-4 flex flex-row-reverse gap-2" }, fa = /* @__PURE__ */ h
2819
2863
  ]),
2820
2864
  _: 1
2821
2865
  }, 8, ["variant"]),
2822
- d(R, {
2866
+ d(z, {
2823
2867
  variant: p.cancelVariant,
2824
- onClick: (v) => w()
2868
+ onClick: (_) => y()
2825
2869
  }, {
2826
2870
  default: m(() => [
2827
- L(x(l(o)), 1)
2871
+ L(x(l(i)), 1)
2828
2872
  ]),
2829
2873
  _: 2
2830
2874
  }, 1032, ["variant", "onClick"])
@@ -2836,65 +2880,65 @@ const ma = { class: "mt-4 flex flex-row-reverse gap-2" }, fa = /* @__PURE__ */ h
2836
2880
  _: 1
2837
2881
  }, 8, ["title"]));
2838
2882
  }
2839
- }), ha = {
2883
+ }), Ta = {
2840
2884
  viewBox: "0 0 24 24",
2841
2885
  width: "1.2em",
2842
2886
  height: "1.2em"
2843
2887
  };
2844
- function ga(t, s) {
2845
- return i(), y("svg", ha, s[0] || (s[0] = [
2846
- b("path", {
2888
+ function Ma(t, s) {
2889
+ return o(), b("svg", Ta, s[0] || (s[0] = [
2890
+ v("path", {
2847
2891
  fill: "currentColor",
2848
2892
  d: "M12 21q-1.625 0-3.012-.8T6.8 18H4v-2h2.1q-.075-.5-.088-1T6 14H4v-2h2q0-.5.012-1t.088-1H4V8h2.8q.35-.575.788-1.075T8.6 6.05L7 4.4L8.4 3l2.15 2.15q.7-.225 1.425-.225t1.425.225L15.6 3L17 4.4l-1.65 1.65q.575.375 1.038.862T17.2 8H20v2h-2.1q.075.5.088 1T18 12h2v2h-2q0 .5-.013 1t-.087 1H20v2h-2.8q-.8 1.4-2.187 2.2T12 21m-2-5h4v-2h-4zm0-4h4v-2h-4z"
2849
2893
  }, null, -1)
2850
2894
  ]));
2851
2895
  }
2852
- const va = E({ name: "material-symbols-bug-report", render: ga }), ba = {
2896
+ const Ea = I({ name: "material-symbols-bug-report", render: Ma }), Va = {
2853
2897
  viewBox: "0 0 24 24",
2854
2898
  width: "1.2em",
2855
2899
  height: "1.2em"
2856
2900
  };
2857
- function ya(t, s) {
2858
- return i(), y("svg", ba, s[0] || (s[0] = [
2859
- b("path", {
2901
+ function Ha(t, s) {
2902
+ return o(), b("svg", Va, s[0] || (s[0] = [
2903
+ v("path", {
2860
2904
  fill: "currentColor",
2861
2905
  d: "M7 21q-.825 0-1.412-.587T5 19V6q-.425 0-.712-.288T4 5t.288-.712T5 4h4q0-.425.288-.712T10 3h4q.425 0 .713.288T15 4h4q.425 0 .713.288T20 5t-.288.713T19 6v13q0 .825-.587 1.413T17 21zm5-7.1l1.9 1.9q.275.275.7.275t.7-.275t.275-.7t-.275-.7l-1.9-1.9l1.9-1.9q.275-.275.275-.7t-.275-.7t-.7-.275t-.7.275L12 11.1l-1.9-1.9q-.275-.275-.7-.275t-.7.275t-.275.7t.275.7l1.9 1.9l-1.9 1.9q-.275.275-.275.7t.275.7t.7.275t.7-.275z"
2862
2906
  }, null, -1)
2863
2907
  ]));
2864
2908
  }
2865
- const wa = E({ name: "material-symbols-delete-forever-rounded", render: ya }), $a = {
2909
+ const La = I({ name: "material-symbols-delete-forever-rounded", render: Ha }), Ia = {
2866
2910
  viewBox: "0 0 24 24",
2867
2911
  width: "1.2em",
2868
2912
  height: "1.2em"
2869
2913
  };
2870
- function _a(t, s) {
2871
- return i(), y("svg", $a, s[0] || (s[0] = [
2872
- b("path", {
2914
+ function za(t, s) {
2915
+ return o(), b("svg", Ia, s[0] || (s[0] = [
2916
+ v("path", {
2873
2917
  fill: "currentColor",
2874
2918
  d: "M11.25 13.5q.95 0 1.6-.65t.65-1.6t-.65-1.6t-1.6-.65t-1.6.65t-.65 1.6t.65 1.6t1.6.65m4.825 4l-2.625-2.625q-.5.325-1.062.475t-1.138.15q-1.775 0-3.012-1.237T7 11.25t1.238-3.012T11.25 7t3.013 1.238T15.5 11.25q0 .575-.162 1.138t-.488 1.062l2.65 2.65zM5 21q-.825 0-1.412-.587T3 19v-4h2v4h4v2zm10 0v-2h4v-4h2v4q0 .825-.587 1.413T19 21zM3 9V5q0-.825.588-1.412T5 3h4v2H5v4zm16 0V5h-4V3h4q.825 0 1.413.588T21 5v4z"
2875
2919
  }, null, -1)
2876
2920
  ]));
2877
2921
  }
2878
- const xa = E({ name: "material-symbols-frame-inspect", render: _a }), Ca = {
2922
+ const Ra = I({ name: "material-symbols-frame-inspect", render: za }), qa = {
2879
2923
  viewBox: "0 0 24 24",
2880
2924
  width: "1.2em",
2881
2925
  height: "1.2em"
2882
2926
  };
2883
- function ka(t, s) {
2884
- return i(), y("svg", Ca, s[0] || (s[0] = [
2885
- b("path", {
2927
+ function Pa(t, s) {
2928
+ return o(), b("svg", qa, s[0] || (s[0] = [
2929
+ v("path", {
2886
2930
  fill: "currentColor",
2887
2931
  d: "M12 20q-3.35 0-5.675-2.325T4 12t2.325-5.675T12 4q1.725 0 3.3.712T18 6.75V5q0-.425.288-.712T19 4t.713.288T20 5v5q0 .425-.288.713T19 11h-5q-.425 0-.712-.288T13 10t.288-.712T14 9h3.2q-.8-1.4-2.187-2.2T12 6Q9.5 6 7.75 7.75T6 12t1.75 4.25T12 18q1.7 0 3.113-.862t2.187-2.313q.2-.35.563-.487t.737-.013q.4.125.575.525t-.025.75q-1.025 2-2.925 3.2T12 20"
2888
2932
  }, null, -1)
2889
2933
  ]));
2890
2934
  }
2891
- const Sa = E({ name: "material-symbols-refresh-rounded", render: ka }), Ta = { class: "grid grow place-items-center" }, Ma = { class: "flex flex-col items-center p-8" }, Ha = { class: "mt-0 mb-0 text-center text-4xl font-medium text-red-600" }, Va = { class: "mt-4 grid grid-cols-1 gap-2 sm:grid-cols-2 [&_button]:justify-start sm:[&_button]:size-32 sm:[&_button]:flex-col sm:[&_button]:justify-center [&_svg]:size-6 sm:[&_svg]:size-8" }, Ea = /* @__PURE__ */ h({
2935
+ const Aa = I({ name: "material-symbols-refresh-rounded", render: Pa }), Da = { class: "grid grow place-items-center" }, Ba = { class: "flex flex-col items-center p-8" }, ja = { class: "mt-0 mb-0 text-center text-4xl font-medium text-red-600" }, Fa = { class: "mt-4 grid grid-cols-1 gap-2 sm:grid-cols-2 [&_button]:justify-start sm:[&_button]:size-32 sm:[&_button]:flex-col sm:[&_button]:justify-center [&_svg]:size-6 sm:[&_svg]:size-8" }, Oa = /* @__PURE__ */ g({
2892
2936
  __name: "StartupCrash",
2893
2937
  setup(t) {
2894
2938
  async function s() {
2895
2939
  await P.confirm(
2896
- k("startupCrash.purgeConfirmTitle", "Delete everything?"),
2897
- k(
2940
+ S("startupCrash.purgeConfirmTitle", "Delete everything?"),
2941
+ S(
2898
2942
  "startupCrash.purgeConfirmMessage",
2899
2943
  `If the problem persists, one drastic solution may be to wipe the storage in this device to start from scratch. However, keep in mind that **all the data that you haven't synchronized will be deleted forever**.
2900
2944
 
@@ -2902,60 +2946,60 @@ Do you still want to proceed?`
2902
2946
  ),
2903
2947
  {
2904
2948
  acceptVariant: "danger",
2905
- acceptText: k("startupCrash.purgeConfirmAccept", "Purge device")
2949
+ acceptText: S("startupCrash.purgeConfirmAccept", "Purge device")
2906
2950
  }
2907
- ) && (await ht.purge(), await A.reload());
2951
+ ) && (await bt.purge(), await q.reload());
2908
2952
  }
2909
2953
  return (e, r) => {
2910
- const n = Wt("i-majesticons-exclamation");
2911
- return i(), y("div", Ta, [
2912
- b("div", Ma, [
2954
+ const n = Jt("i-majesticons-exclamation");
2955
+ return o(), b("div", Da, [
2956
+ v("div", Ba, [
2913
2957
  d(n, { class: "size-20 text-red-600" }),
2914
- b("h1", Ha, x(e.$td("startupCrash.title", "Oops, something went wrong!")), 1),
2915
- d(z, {
2958
+ v("h1", ja, x(e.$td("startupCrash.title", "Oops, something went wrong!")), 1),
2959
+ d(R, {
2916
2960
  text: e.$td(
2917
2961
  "startupCrash.message",
2918
2962
  "There was a problem starting the application, but here's some things you can do:"
2919
2963
  ),
2920
2964
  class: "mt-4 text-center"
2921
2965
  }, null, 8, ["text"]),
2922
- b("div", Va, [
2923
- d(R, {
2966
+ v("div", Fa, [
2967
+ d(z, {
2924
2968
  variant: "danger",
2925
2969
  onClick: r[0] || (r[0] = (a) => e.$app.reload())
2926
2970
  }, {
2927
2971
  default: m(() => [
2928
- d(l(Sa)),
2972
+ d(l(Aa)),
2929
2973
  L(" " + x(e.$td("startupCrash.reload", "Try again")), 1)
2930
2974
  ]),
2931
2975
  _: 1
2932
2976
  }),
2933
- d(R, {
2977
+ d(z, {
2934
2978
  variant: "danger",
2935
2979
  onClick: r[1] || (r[1] = (a) => e.$errors.inspect(e.$errors.startupErrors))
2936
2980
  }, {
2937
2981
  default: m(() => [
2938
- d(l(va)),
2982
+ d(l(Ea)),
2939
2983
  L(" " + x(e.$td("startupCrash.inspect", "View error details")), 1)
2940
2984
  ]),
2941
2985
  _: 1
2942
2986
  }),
2943
- d(R, {
2987
+ d(z, {
2944
2988
  variant: "danger",
2945
2989
  onClick: r[2] || (r[2] = (a) => s())
2946
2990
  }, {
2947
2991
  default: m(() => [
2948
- d(l(wa)),
2992
+ d(l(La)),
2949
2993
  L(" " + x(e.$td("startupCrash.purge", "Purge device")), 1)
2950
2994
  ]),
2951
2995
  _: 1
2952
2996
  }),
2953
- d(R, {
2997
+ d(z, {
2954
2998
  variant: "danger",
2955
2999
  onClick: r[3] || (r[3] = (a) => e.$errors.debug = !e.$errors.debug)
2956
3000
  }, {
2957
3001
  default: m(() => [
2958
- d(l(xa)),
3002
+ d(l(Ra)),
2959
3003
  L(" " + x(e.$td("startupCrash.debug", "Toggle debugging")), 1)
2960
3004
  ]),
2961
3005
  _: 1
@@ -2965,13 +3009,13 @@ Do you still want to proceed?`
2965
3009
  ]);
2966
3010
  };
2967
3011
  }
2968
- }), zt = /* @__PURE__ */ h({
3012
+ }), At = /* @__PURE__ */ g({
2969
3013
  __name: "HeadlessToastAction",
2970
3014
  props: {
2971
3015
  action: {}
2972
3016
  },
2973
3017
  setup(t) {
2974
- return (s, e) => (i(), f(G(s.action.dismiss ? l(Ds) : "button"), {
3018
+ return (s, e) => (o(), f(ee(s.action.dismiss ? l(Fs) : "button"), {
2975
3019
  type: "button",
2976
3020
  onClick: s.action.click
2977
3021
  }, {
@@ -2981,7 +3025,7 @@ Do you still want to proceed?`
2981
3025
  _: 1
2982
3026
  }, 8, ["onClick"]));
2983
3027
  }
2984
- }), La = { key: 0 }, Ra = /* @__PURE__ */ h({
3028
+ }), Ua = { key: 0 }, Na = /* @__PURE__ */ g({
2985
3029
  __name: "HeadlessToast",
2986
3030
  props: {
2987
3031
  message: {},
@@ -2989,11 +3033,11 @@ Do you still want to proceed?`
2989
3033
  variant: {}
2990
3034
  },
2991
3035
  setup(t) {
2992
- return (s, e) => (i(), f(l(js), null, {
3036
+ return (s, e) => (o(), f(l(Os), null, {
2993
3037
  default: m(() => [
2994
- $(s.$slots, "default", {}, () => [
2995
- s.message ? (i(), y("span", La, x(s.message), 1)) : M("", !0),
2996
- (i(!0), y(D, null, U(s.actions, (r, n) => (i(), f(zt, {
3038
+ w(s.$slots, "default", {}, () => [
3039
+ s.message ? (o(), b("span", Ua, x(s.message), 1)) : M("", !0),
3040
+ (o(!0), b(A, null, B(s.actions, (r, n) => (o(), f(At, {
2997
3041
  key: n,
2998
3042
  action: r
2999
3043
  }, null, 8, ["action"]))), 128))
@@ -3002,7 +3046,7 @@ Do you still want to proceed?`
3002
3046
  _: 3
3003
3047
  }));
3004
3048
  }
3005
- }), za = /* @__PURE__ */ h({
3049
+ }), Wa = /* @__PURE__ */ g({
3006
3050
  __name: "Toast",
3007
3051
  props: {
3008
3052
  message: {},
@@ -3011,7 +3055,7 @@ Do you still want to proceed?`
3011
3055
  class: {}
3012
3056
  },
3013
3057
  setup(t, { expose: s }) {
3014
- const e = c(() => dt(
3058
+ const e = c(() => ft(
3015
3059
  { baseClasses: t.class, variant: t.variant },
3016
3060
  {
3017
3061
  baseClasses: "flex items-center gap-2 rounded-md p-2 ring-1 shadow-lg border-gray-200",
@@ -3027,98 +3071,98 @@ Do you still want to proceed?`
3027
3071
  }
3028
3072
  }
3029
3073
  ));
3030
- return s(), (r, n) => (i(), f(Ra, {
3031
- class: C(e.value)
3074
+ return s(), (r, n) => (o(), f(Na, {
3075
+ class: $(e.value)
3032
3076
  }, {
3033
3077
  default: m(() => [
3034
- r.message ? (i(), f(z, {
3078
+ r.message ? (o(), f(R, {
3035
3079
  key: 0,
3036
3080
  text: r.message,
3037
3081
  inline: ""
3038
3082
  }, null, 8, ["text"])) : M("", !0),
3039
- (i(!0), y(D, null, U(r.actions, (a, u) => (i(), f(R, {
3083
+ (o(!0), b(A, null, B(r.actions, (a, u) => (o(), f(z, {
3040
3084
  key: u,
3041
3085
  action: a,
3042
3086
  variant: r.variant,
3043
- as: zt
3087
+ as: At
3044
3088
  }, null, 8, ["action", "variant"]))), 128))
3045
3089
  ]),
3046
3090
  _: 1
3047
3091
  }, 8, ["class"]));
3048
3092
  }
3049
- }), Ia = { $ui: P }, qa = {
3093
+ }), Ka = { $ui: P }, Qa = {
3050
3094
  async install(t, s) {
3051
3095
  const e = {
3052
- "alert-modal": gn,
3053
- "confirm-modal": xn,
3054
- "error-report-modal": Xn,
3055
- "loading-modal": aa,
3056
- "prompt-modal": fa,
3057
- "startup-crash": Ea,
3058
- toast: za,
3096
+ "alert-modal": Mn,
3097
+ "confirm-modal": Rn,
3098
+ "error-report-modal": ua,
3099
+ "loading-modal": va,
3100
+ "prompt-modal": Sa,
3101
+ "startup-crash": Oa,
3102
+ toast: Wa,
3059
3103
  ...s.components
3060
3104
  };
3061
3105
  for (const [r, n] of Object.entries(e))
3062
3106
  P.registerComponent(r, n);
3063
- await ke(t, Ia);
3107
+ await Te(t, Ka);
3064
3108
  }
3065
3109
  };
3066
- async function Aa(t, s = {}) {
3110
+ async function Za(t, s = {}) {
3067
3111
  var r;
3068
- const e = [sn, yr, tn, Br, xr, qa, ...s.plugins ?? []];
3069
- A.instance = t, await tr(e, t, s), await ((r = s.install) == null ? void 0 : r.call(s, t)), await F.emit("application-ready");
3112
+ const e = [gn, Lr, hn, en, qr, Qa, ...s.plugins ?? []];
3113
+ q.instance = t, await mr(e, t, s), await ((r = s.install) == null ? void 0 : r.call(s, t)), await F.emit("application-ready");
3070
3114
  }
3071
- async function Ql(t, s = {}) {
3115
+ async function co(t, s = {}) {
3072
3116
  var r;
3073
- const e = Kt(t);
3074
- J() && (window.$aerogel = e), await Aa(e, s), e.mount("#app"), (r = e._container) == null || r.classList.remove("loading"), await F.emit("application-mounted");
3117
+ const e = Gt(t);
3118
+ J() && (window.$aerogel = e), await Za(e, s), e.mount("#app"), (r = e._container) == null || r.classList.remove("loading"), await F.emit("application-mounted");
3075
3119
  }
3076
- const Pa = /* @__PURE__ */ h({
3120
+ const Ja = /* @__PURE__ */ g({
3077
3121
  __name: "AppToasts",
3078
3122
  setup(t) {
3079
- return (s, e) => (i(), f(l(Bs), null, {
3123
+ return (s, e) => (o(), f(l(Us), null, {
3080
3124
  default: m(() => [
3081
- (i(!0), y(D, null, U(s.$ui.toasts, (r) => (i(), f(G(r.component), V({
3125
+ (o(!0), b(A, null, B(s.$ui.toasts, (r) => (o(), f(ee(r.component), V({
3082
3126
  id: r.id,
3083
3127
  key: r.id
3084
3128
  }, { ref_for: !0 }, r.properties), null, 16, ["id"]))), 128)),
3085
- d(l(Fs), { class: "fixed right-0 bottom-0 z-50 flex flex-col items-end space-y-4 px-4 py-6 sm:p-6" })
3129
+ d(l(Ns), { class: "fixed right-0 bottom-0 z-50 flex flex-col items-end space-y-4 px-4 py-6 sm:p-6" })
3086
3130
  ]),
3087
3131
  _: 1
3088
3132
  }));
3089
3133
  }
3090
- }), Da = /* @__PURE__ */ h({
3134
+ }), Ga = /* @__PURE__ */ g({
3091
3135
  __name: "AppOverlays",
3092
3136
  setup(t) {
3093
- return (s, e) => (i(), y(D, null, [
3094
- d(l(vs), { nested: "" }),
3095
- d(Pa)
3137
+ return (s, e) => (o(), b(A, null, [
3138
+ d(l(ws), { nested: "" }),
3139
+ d(Ja)
3096
3140
  ], 64));
3097
3141
  }
3098
- }), ja = { class: "flex min-h-full flex-col text-base leading-tight font-normal text-gray-900 antialiased" }, Jl = /* @__PURE__ */ h({
3142
+ }), Xa = { class: "text-primary-text flex min-h-full flex-col text-base leading-tight font-normal antialiased" }, po = /* @__PURE__ */ g({
3099
3143
  __name: "AppLayout",
3100
3144
  setup(t) {
3101
- return (s, e) => (i(), y("div", ja, [
3102
- s.$errors.hasStartupErrors ? $(s.$slots, "startup-crash", { key: 0 }, () => [
3103
- (i(), f(G(s.$ui.requireComponent("startup-crash"))))
3104
- ]) : $(s.$slots, "default", { key: 1 }),
3105
- d(Da)
3145
+ return (s, e) => (o(), b("div", Xa, [
3146
+ s.$errors.hasStartupErrors ? w(s.$slots, "startup-crash", { key: 0 }, () => [
3147
+ (o(), f(ee(s.$ui.requireComponent("startup-crash"))))
3148
+ ]) : w(s.$slots, "default", { key: 1 }),
3149
+ d(Ga)
3106
3150
  ]));
3107
3151
  }
3108
- }), Ba = ["id", "name", "value", "required", "aria-invalid", "aria-describedby"], Fa = /* @__PURE__ */ h({
3152
+ }), Ya = ["id", "name", "value", "required", "aria-invalid", "aria-describedby"], el = /* @__PURE__ */ g({
3109
3153
  __name: "HeadlessInputTextArea",
3110
3154
  setup(t) {
3111
- const s = ee("$textAreaRef"), e = I(
3155
+ const s = te("$textAreaRef"), e = H(
3112
3156
  "input",
3113
3157
  "<HeadlessInputTextArea> must be a child of a <HeadlessInput>"
3114
3158
  ), r = c(() => e.name ?? void 0), n = c(() => e.value);
3115
3159
  function a() {
3116
3160
  s.value && e.update(s.value.value);
3117
3161
  }
3118
- return pt(e, () => {
3162
+ return ht(e, () => {
3119
3163
  var u;
3120
3164
  return (u = s.value) == null ? void 0 : u.focus();
3121
- }), (u, o) => (i(), y("textarea", {
3165
+ }), (u, i) => (o(), b("textarea", {
3122
3166
  id: l(e).id,
3123
3167
  ref: "$textAreaRef",
3124
3168
  name: r.value,
@@ -3127,37 +3171,51 @@ const Pa = /* @__PURE__ */ h({
3127
3171
  "aria-invalid": l(e).errors ? "true" : "false",
3128
3172
  "aria-describedby": l(e).errors ? `${l(e).id}-error` : l(e).description ? `${l(e).id}-description` : void 0,
3129
3173
  onInput: a
3130
- }, null, 40, Ba));
3174
+ }, null, 40, Ya));
3131
3175
  }
3132
- }), Ua = { class: "group" }, Oa = { class: "-ml-2 flex w-[max-content] items-center rounded-lg py-2 pr-3 pl-1 hover:bg-gray-100 focus-visible:outline focus-visible:outline-gray-700" }, Na = { class: "pt-2 pl-4" }, Wa = /* @__PURE__ */ h({
3176
+ }), tl = { class: "group" }, sl = /* @__PURE__ */ g({
3133
3177
  __name: "Details",
3134
3178
  props: {
3135
- label: {}
3179
+ label: { default: () => {
3180
+ } },
3181
+ contentClass: {},
3182
+ summaryClass: {}
3136
3183
  },
3137
3184
  setup(t) {
3138
- return (s, e) => (i(), y("details", Ua, [
3139
- b("summary", Oa, [
3140
- d(l(Et), { class: "size-6 transition-transform group-open:rotate-90" }),
3141
- b("span", null, x(s.label), 1)
3142
- ]),
3143
- b("div", Na, [
3144
- $(s.$slots, "default")
3145
- ])
3185
+ const s = c(() => k("pt-2 pl-4", t.contentClass)), e = c(() => k(
3186
+ "-ml-2 flex w-[max-content] items-center rounded-lg py-2 pr-3 pl-1 max-w-full",
3187
+ "hover:bg-gray-100 focus-visible:outline focus-visible:outline-gray-700",
3188
+ t.summaryClass
3189
+ ));
3190
+ return (r, n) => (o(), b("details", tl, [
3191
+ v("summary", {
3192
+ class: $(e.value)
3193
+ }, [
3194
+ d(l(Rt), { class: "size-6 transition-transform group-open:rotate-90" }),
3195
+ w(r.$slots, "label", {}, () => [
3196
+ v("span", null, x(r.label ?? r.$td("ui.details", "Details")), 1)
3197
+ ])
3198
+ ], 2),
3199
+ v("div", {
3200
+ class: $(s.value)
3201
+ }, [
3202
+ w(r.$slots, "default")
3203
+ ], 2)
3146
3204
  ]));
3147
3205
  }
3148
- }), Zl = /* @__PURE__ */ h({
3206
+ }), mo = /* @__PURE__ */ g({
3149
3207
  __name: "AdvancedOptions",
3150
3208
  setup(t) {
3151
- return (s, e) => (i(), f(Wa, {
3209
+ return (s, e) => (o(), f(sl, {
3152
3210
  label: s.$td("ui.advancedOptions", "Advanced options")
3153
3211
  }, {
3154
3212
  default: m(() => [
3155
- $(s.$slots, "default")
3213
+ w(s.$slots, "default")
3156
3214
  ]),
3157
3215
  _: 3
3158
3216
  }, 8, ["label"]));
3159
3217
  }
3160
- }), Ka = { class: "flex h-6 items-center" }, Xl = /* @__PURE__ */ h({
3218
+ }), rl = { class: "flex h-6 items-center" }, fo = /* @__PURE__ */ g({
3161
3219
  inheritAttrs: !1,
3162
3220
  __name: "Checkbox",
3163
3221
  props: {
@@ -3170,53 +3228,197 @@ const Pa = /* @__PURE__ */ h({
3170
3228
  },
3171
3229
  emits: ["update:modelValue"],
3172
3230
  setup(t) {
3173
- const s = K(t, ["inputClass", "labelClass"]), e = ee("$inputRef"), [r, n] = Ae(), a = c(() => H("relative flex items-start", n.value)), u = c(() => {
3174
- var p, g;
3175
- return H(
3231
+ const s = O(t, ["inputClass", "labelClass"]), e = te("$inputRef"), [r, n] = Pe(), a = c(() => k("relative flex items-start", n.value)), u = c(() => {
3232
+ var p, h;
3233
+ return k(
3176
3234
  "size-4 rounded text-primary-600 not-checked:hover:bg-gray-200 checked:hover:text-primary-500 checked:border-0",
3177
3235
  {
3178
3236
  "border-gray-300 focus:ring-primary-600": !((p = e.value) != null && p.errors),
3179
- "border-red-400 border-2 focus:ring-red-600": (g = e.value) == null ? void 0 : g.errors
3237
+ "border-red-400 border-2 focus:ring-red-600": (h = e.value) == null ? void 0 : h.errors
3180
3238
  },
3181
3239
  t.inputClass
3182
3240
  );
3183
- }), o = c(() => H("ml-2 text-sm leading-6", t.labelClass));
3184
- return (p, g) => (i(), f(je, V({
3241
+ }), i = c(() => k("ml-2 text-sm leading-6", t.labelClass));
3242
+ return (p, h) => (o(), f(Be, V({
3185
3243
  ref: "$inputRef",
3186
3244
  class: a.value
3187
3245
  }, s, {
3188
- "onUpdate:modelValue": g[0] || (g[0] = (w) => p.$emit("update:modelValue", w))
3246
+ "onUpdate:modelValue": h[0] || (h[0] = (y) => p.$emit("update:modelValue", y))
3189
3247
  }), {
3190
3248
  default: m(() => [
3191
- b("div", Ka, [
3192
- d(Lt, V(l(r), {
3249
+ v("div", rl, [
3250
+ d(qt, V(l(r), {
3193
3251
  type: "checkbox",
3194
3252
  class: u.value
3195
3253
  }), null, 16, ["class"])
3196
3254
  ]),
3197
- p.$slots.default ? (i(), y("div", {
3255
+ p.$slots.default ? (o(), b("div", {
3198
3256
  key: 0,
3199
- class: C(o.value)
3257
+ class: $(i.value)
3200
3258
  }, [
3201
- d(be, { class: "text-gray-900" }, {
3259
+ d(ye, { class: "text-gray-900" }, {
3202
3260
  default: m(() => [
3203
- $(p.$slots, "default")
3261
+ w(p.$slots, "default")
3204
3262
  ]),
3205
3263
  _: 3
3206
3264
  }),
3207
- d(ye, { class: "text-red-600" })
3208
- ], 2)) : p.label ? (i(), y("div", {
3265
+ d(_e, { class: "text-red-600" })
3266
+ ], 2)) : p.label ? (o(), b("div", {
3209
3267
  key: 1,
3210
- class: C(o.value)
3268
+ class: $(i.value)
3211
3269
  }, [
3212
- d(be, { class: "text-gray-900" }),
3213
- d(ye, { class: "text-red-600" })
3270
+ d(ye, { class: "text-gray-900" }),
3271
+ d(_e, { class: "text-red-600" })
3214
3272
  ], 2)) : M("", !0)
3215
3273
  ]),
3216
3274
  _: 3
3217
3275
  }, 16, ["class"]));
3218
3276
  }
3219
- }), Qa = /* @__PURE__ */ h({
3277
+ }), nl = { class: "relative flex max-w-[calc(100vw-2rem)] cursor-pointer items-center gap-2 truncate rounded-md px-2 py-1 text-sm select-none *:truncate group-data-[highlighted]:bg-gray-100 group-data-[state=checked]:font-semibold group-data-[state=unchecked]:opacity-50" }, al = /* @__PURE__ */ g({
3278
+ __name: "ComboboxOption",
3279
+ props: {
3280
+ textValue: {},
3281
+ value: {},
3282
+ disabled: { type: Boolean },
3283
+ asChild: { type: Boolean },
3284
+ as: {}
3285
+ },
3286
+ setup(t) {
3287
+ const s = H("select", "<ComboboxOption> must be a child of a <Combobox>"), e = c(() => {
3288
+ var n;
3289
+ const r = (n = s.options) == null ? void 0 : n.find((a) => a.value === t.value);
3290
+ return r ? r.label : D(t.value);
3291
+ });
3292
+ return (r, n) => (o(), f(l(Ws), V(r.$props, { class: "group p-1 outline-none" }), {
3293
+ default: m(() => [
3294
+ v("div", nl, x(e.value), 1)
3295
+ ]),
3296
+ _: 1
3297
+ }, 16));
3298
+ }
3299
+ }), ll = { class: "relative flex max-w-[calc(100vw-2rem)] items-center gap-2 truncate rounded-md px-2 py-1 text-sm select-none *:truncate" }, ol = /* @__PURE__ */ g({
3300
+ __name: "ComboboxOptions",
3301
+ setup(t) {
3302
+ const s = H("select", "<ComboboxOptions> must be a child of a <Combobox>"), e = k(
3303
+ "max-h-(--reka-combobox-content-available-height) min-w-(--reka-combobox-trigger-width)",
3304
+ "z-50 overflow-auto rounded-lg bg-white text-base shadow-lg ring-1 ring-black/5 focus:outline-hidden"
3305
+ );
3306
+ return (r, n) => (o(), f(l(Ks), null, {
3307
+ default: m(() => [
3308
+ d(l(Qs), {
3309
+ position: "popper",
3310
+ align: l(s).align,
3311
+ side: l(s).side,
3312
+ "side-offset": 4,
3313
+ class: $(l(e))
3314
+ }, {
3315
+ default: m(() => [
3316
+ d(l(Zs), null, {
3317
+ default: m(() => [
3318
+ d(l(Js), { class: "group p-1 outline-none" }, {
3319
+ default: m(() => [
3320
+ v("div", ll, x(r.$td("ui.comboboxEmpty", "No options found")), 1)
3321
+ ]),
3322
+ _: 1
3323
+ }),
3324
+ d(l(Gs), null, {
3325
+ default: m(() => [
3326
+ (o(!0), b(A, null, B(l(s).options ?? [], (a) => (o(), f(al, {
3327
+ key: a.key,
3328
+ value: a.value
3329
+ }, null, 8, ["value"]))), 128))
3330
+ ]),
3331
+ _: 1
3332
+ })
3333
+ ]),
3334
+ _: 1
3335
+ })
3336
+ ]),
3337
+ _: 1
3338
+ }, 8, ["align", "side", "class"])
3339
+ ]),
3340
+ _: 1
3341
+ }));
3342
+ }
3343
+ }), il = /* @__PURE__ */ g({
3344
+ __name: "ComboboxTrigger",
3345
+ setup(t) {
3346
+ const s = H("select", "<ComboboxTrigger> must be a child of a <Combobox>"), e = c(() => k(
3347
+ // eslint-disable-next-line vue/max-len
3348
+ "block w-full rounded-md border-0 py-1.5 ring-1 ring-inset focus:ring-2 focus:ring-inset sm:text-sm sm:leading-6",
3349
+ {
3350
+ "mt-1": s.label,
3351
+ "focus:ring-primary-600": !s.errors,
3352
+ "text-gray-900 shadow-2xs ring-gray-900/10 placeholder:text-gray-400": !s.errors,
3353
+ "pr-10 text-red-900 ring-red-900/10 placeholder:text-red-300 focus:ring-red-500": s.errors
3354
+ }
3355
+ ));
3356
+ return (r, n) => (o(), f(l(Xs), null, {
3357
+ default: m(() => [
3358
+ d(l(Ys), {
3359
+ id: l(s).id,
3360
+ placeholder: l(s).placeholder,
3361
+ class: $(e.value)
3362
+ }, null, 8, ["id", "placeholder", "class"])
3363
+ ]),
3364
+ _: 1
3365
+ }));
3366
+ }
3367
+ }), ul = /* @__PURE__ */ g({
3368
+ __name: "ComboboxLabel",
3369
+ props: {
3370
+ asChild: { type: Boolean },
3371
+ as: {}
3372
+ },
3373
+ setup(t) {
3374
+ const s = H("select", "<ComboboxLabel> must be a child of a <Combobox>"), e = xe(), r = c(() => !!(s.label || e.default));
3375
+ return (n, a) => r.value ? (o(), f(l(dt), V({
3376
+ key: 0,
3377
+ for: l(s).id
3378
+ }, n.$props, { class: "block text-sm leading-6 font-medium text-gray-900" }), {
3379
+ default: m(() => [
3380
+ w(n.$slots, "default", {}, () => [
3381
+ L(x(l(s).label), 1)
3382
+ ])
3383
+ ]),
3384
+ _: 3
3385
+ }, 16, ["for"])) : M("", !0);
3386
+ }
3387
+ }), ho = /* @__PURE__ */ g({
3388
+ __name: "Combobox",
3389
+ props: {
3390
+ as: { default: "div" },
3391
+ options: {},
3392
+ placeholder: {},
3393
+ renderOption: { type: Function },
3394
+ compareOptions: { type: Function, default: (t, s) => t === s },
3395
+ labelClass: {},
3396
+ optionsClass: {},
3397
+ align: {},
3398
+ side: {},
3399
+ name: {},
3400
+ label: {},
3401
+ description: {},
3402
+ modelValue: {}
3403
+ },
3404
+ emits: ["update:modelValue"],
3405
+ setup(t, { expose: s, emit: e }) {
3406
+ const r = e, n = O(t, ["as", "compareOptions"]), { expose: a, acceptableValue: u, update: i } = Ct({ as: t.as, compareOptions: t.compareOptions, ...n }, r);
3407
+ return s(a), (p, h) => (o(), f(l(er), {
3408
+ "open-on-focus": "",
3409
+ "model-value": l(u),
3410
+ by: p.compareOptions,
3411
+ "onUpdate:modelValue": h[0] || (h[0] = (y) => l(i)(y))
3412
+ }, {
3413
+ default: m(() => [
3414
+ d(ul),
3415
+ d(il),
3416
+ d(ol)
3417
+ ]),
3418
+ _: 1
3419
+ }, 8, ["model-value", "by"]));
3420
+ }
3421
+ }), cl = /* @__PURE__ */ g({
3220
3422
  __name: "DropdownMenuOption",
3221
3423
  props: {
3222
3424
  class: {},
@@ -3225,37 +3427,37 @@ const Pa = /* @__PURE__ */ h({
3225
3427
  },
3226
3428
  emits: ["select"],
3227
3429
  setup(t) {
3228
- const s = K(t, ["class"]), e = c(() => H(
3430
+ const s = O(t, ["class"]), e = c(() => k(
3229
3431
  "flex w-full items-center gap-2 rounded-lg px-2 py-2 text-sm text-gray-900 data-[highlighted]:bg-gray-100",
3230
3432
  t.class
3231
3433
  ));
3232
- return (r, n) => (i(), f(l(Us), V({ class: e.value }, s, {
3434
+ return (r, n) => (o(), f(l(tr), V({ class: e.value }, s, {
3233
3435
  onSelect: n[0] || (n[0] = (a) => r.$emit("select"))
3234
3436
  }), {
3235
3437
  default: m(() => [
3236
- $(r.$slots, "default")
3438
+ w(r.$slots, "default")
3237
3439
  ]),
3238
3440
  _: 3
3239
3441
  }, 16, ["class"]));
3240
3442
  }
3241
- }), Ja = /* @__PURE__ */ h({
3443
+ }), dl = /* @__PURE__ */ g({
3242
3444
  __name: "DropdownMenuOptions",
3243
3445
  setup(t) {
3244
- const s = I(
3446
+ const s = H(
3245
3447
  "dropdown-menu",
3246
3448
  "<DropdownMenuOptions> must be a child of a <DropdownMenu>"
3247
3449
  );
3248
- return (e, r) => (i(), f(l(Os), {
3450
+ return (e, r) => (o(), f(l(sr), {
3249
3451
  class: "gap-y-0.5 rounded-lg bg-white p-1.5 shadow-lg ring-1 ring-black/5",
3250
3452
  align: l(s).align,
3251
3453
  side: l(s).side
3252
3454
  }, {
3253
3455
  default: m(() => [
3254
- $(e.$slots, "default", {}, () => [
3255
- (i(!0), y(D, null, U(l(s).options, (n, a) => (i(), f(Qa, V(
3456
+ w(e.$slots, "default", {}, () => [
3457
+ (o(!0), b(A, null, B(l(s).options, (n, a) => (o(), f(cl, V(
3256
3458
  {
3257
3459
  key: a,
3258
- as: n.route || n.href ? wt : void 0,
3460
+ as: n.route || n.href ? xt : void 0,
3259
3461
  class: n.class
3260
3462
  },
3261
3463
  { ref_for: !0 },
@@ -3267,8 +3469,8 @@ const Pa = /* @__PURE__ */ h({
3267
3469
  } : {},
3268
3470
  {
3269
3471
  onSelect: (u) => {
3270
- var o;
3271
- return (o = n.click) == null ? void 0 : o.call(n);
3472
+ var i;
3473
+ return (i = n.click) == null ? void 0 : i.call(n);
3272
3474
  }
3273
3475
  }
3274
3476
  ), {
@@ -3282,7 +3484,7 @@ const Pa = /* @__PURE__ */ h({
3282
3484
  _: 3
3283
3485
  }, 8, ["align", "side"]));
3284
3486
  }
3285
- }), Yl = /* @__PURE__ */ h({
3487
+ }), go = /* @__PURE__ */ g({
3286
3488
  __name: "DropdownMenu",
3287
3489
  props: {
3288
3490
  align: {},
@@ -3298,18 +3500,18 @@ const Pa = /* @__PURE__ */ h({
3298
3500
  return (r = t.options) == null ? void 0 : r.filter(Boolean);
3299
3501
  })
3300
3502
  };
3301
- return de("dropdown-menu", e), s(e), (r, n) => (i(), f(l(Ns), null, {
3503
+ return ce("dropdown-menu", e), s(e), (r, n) => (o(), f(l(rr), null, {
3302
3504
  default: m(() => [
3303
- d(l(Ws), null, {
3505
+ d(l(nr), null, {
3304
3506
  default: m(() => [
3305
- $(r.$slots, "default")
3507
+ w(r.$slots, "default")
3306
3508
  ]),
3307
3509
  _: 3
3308
3510
  }),
3309
- d(l(Ks), null, {
3511
+ d(l(ar), null, {
3310
3512
  default: m(() => [
3311
- $(r.$slots, "options", {}, () => [
3312
- d(Ja)
3513
+ w(r.$slots, "options", {}, () => [
3514
+ d(dl)
3313
3515
  ])
3314
3516
  ]),
3315
3517
  _: 3
@@ -3318,7 +3520,7 @@ const Pa = /* @__PURE__ */ h({
3318
3520
  _: 3
3319
3521
  }));
3320
3522
  }
3321
- }), Za = ["aria-hidden"], Xa = ["tabindex", "aria-label", "type"], Gl = /* @__PURE__ */ h({
3523
+ }), pl = ["aria-hidden"], ml = ["tabindex", "aria-label", "type"], vo = /* @__PURE__ */ g({
3322
3524
  __name: "EditableContent",
3323
3525
  props: {
3324
3526
  type: { default: "text" },
@@ -3331,106 +3533,106 @@ const Pa = /* @__PURE__ */ h({
3331
3533
  },
3332
3534
  emits: ["update", "save"],
3333
3535
  setup(t, { emit: s }) {
3334
- const e = s, r = ee("$inputRef"), n = N(null), a = N(t.text), u = c(() => H("inline whitespace-pre", t.contentClass)), o = c(() => H("invisible whitespace-pre", t.contentClass)), p = c(() => H("absolute inset-0 h-full w-full resize-none border-0 bg-transparent p-0 focus:ring-0", t.contentClass));
3335
- function g() {
3536
+ const e = s, r = te("$inputRef"), n = W(null), a = W(t.text), u = c(() => k("inline whitespace-pre", t.contentClass)), i = c(() => k("invisible whitespace-pre", t.contentClass)), p = c(() => k("absolute inset-0 h-full w-full resize-none border-0 bg-transparent p-0 focus:ring-0", t.contentClass));
3537
+ function h() {
3336
3538
  n.value = t.text;
3337
3539
  }
3338
- function w() {
3540
+ function y() {
3339
3541
  n.value && (t.type !== "number" && a.value.trim().length === 0 && (a.value = n.value, e("update", a.value)), n.value = null, e("save"));
3340
3542
  }
3341
- return Y(() => a.value = t.text), (v, S) => (i(), y("div", {
3342
- class: C(["relative", { "pointer-events-none!": v.disabled && !n.value }])
3543
+ return Y(() => a.value = t.text), (_, E) => (o(), b("div", {
3544
+ class: $(["relative", { "pointer-events-none!": _.disabled && !n.value }])
3343
3545
  }, [
3344
- n.value ? (i(), y("span", {
3546
+ n.value ? (o(), b("span", {
3345
3547
  key: 1,
3346
- class: C(o.value)
3347
- }, x(a.value), 3)) : (i(), y("div", {
3548
+ class: $(i.value)
3549
+ }, x(a.value), 3)) : (o(), b("div", {
3348
3550
  key: 0,
3349
- class: C(u.value)
3551
+ class: $(u.value)
3350
3552
  }, [
3351
- $(v.$slots, "default")
3553
+ w(_.$slots, "default")
3352
3554
  ], 2)),
3353
- v.type === "number" ? (i(), y("span", {
3555
+ _.type === "number" ? (o(), b("span", {
3354
3556
  key: 2,
3355
- class: C(["inline-block transition-[width]", n.value ? "w-5" : "w-0"])
3557
+ class: $(["inline-block transition-[width]", n.value ? "w-5" : "w-0"])
3356
3558
  }, null, 2)) : M("", !0),
3357
- b("form", {
3559
+ v("form", {
3358
3560
  class: "w-full",
3359
- "aria-hidden": v.formAriaHidden,
3360
- onSubmit: S[4] || (S[4] = st((q) => {
3361
- var pe;
3362
- return (pe = r.value) == null ? void 0 : pe.blur();
3561
+ "aria-hidden": _.formAriaHidden,
3562
+ onSubmit: E[4] || (E[4] = nt((U) => {
3563
+ var Q;
3564
+ return (Q = r.value) == null ? void 0 : Q.blur();
3363
3565
  }, ["prevent"]))
3364
3566
  }, [
3365
- rt(b("input", {
3567
+ at(v("input", {
3366
3568
  ref: "$inputRef",
3367
- "onUpdate:modelValue": S[0] || (S[0] = (q) => a.value = q),
3368
- tabindex: v.tabindex ?? void 0,
3369
- "aria-label": v.ariaLabel ?? void 0,
3370
- type: v.type,
3371
- class: C([
3569
+ "onUpdate:modelValue": E[0] || (E[0] = (U) => a.value = U),
3570
+ tabindex: _.tabindex ?? void 0,
3571
+ "aria-label": _.ariaLabel ?? void 0,
3572
+ type: _.type,
3573
+ class: $([
3372
3574
  p.value,
3373
- { "opacity-0": !n.value, "appearance-textfield": !n.value && v.type === "number" }
3575
+ { "opacity-0": !n.value, "appearance-textfield": !n.value && _.type === "number" }
3374
3576
  ]),
3375
- onKeyup: S[1] || (S[1] = (q) => v.$emit("update", a.value)),
3376
- onFocus: S[2] || (S[2] = (q) => g()),
3377
- onBlur: S[3] || (S[3] = (q) => w())
3378
- }, null, 42, Xa), [
3379
- [Qt, a.value]
3577
+ onKeyup: E[1] || (E[1] = (U) => _.$emit("update", a.value)),
3578
+ onFocus: E[2] || (E[2] = (U) => h()),
3579
+ onBlur: E[3] || (E[3] = (U) => y())
3580
+ }, null, 42, ml), [
3581
+ [Xt, a.value]
3380
3582
  ])
3381
- ], 40, Za)
3583
+ ], 40, pl)
3382
3584
  ], 2));
3383
3585
  }
3384
- }), Ya = {
3586
+ }), fl = {
3385
3587
  viewBox: "0 0 512 512",
3386
3588
  width: "1.2em",
3387
3589
  height: "1.2em"
3388
3590
  };
3389
- function Ga(t, s) {
3390
- return i(), y("svg", Ya, s[0] || (s[0] = [
3391
- b("path", {
3591
+ function hl(t, s) {
3592
+ return o(), b("svg", fl, s[0] || (s[0] = [
3593
+ v("path", {
3392
3594
  fill: "currentColor",
3393
3595
  d: "M449.07 399.08L278.64 82.58c-12.08-22.44-44.26-22.44-56.35 0L51.87 399.08A32 32 0 0 0 80 446.25h340.89a32 32 0 0 0 28.18-47.17m-198.6-1.83a20 20 0 1 1 20-20a20 20 0 0 1-20 20m21.72-201.15l-5.74 122a16 16 0 0 1-32 0l-5.74-121.95a21.73 21.73 0 0 1 21.5-22.69h.21a21.74 21.74 0 0 1 21.73 22.7Z"
3394
3596
  }, null, -1)
3395
3597
  ]));
3396
3598
  }
3397
- const el = E({ name: "ion-warning", render: Ga }), tl = {
3599
+ const gl = I({ name: "ion-warning", render: hl }), vl = {
3398
3600
  viewBox: "0 0 20 20",
3399
3601
  width: "1.2em",
3400
3602
  height: "1.2em"
3401
3603
  };
3402
- function sl(t, s) {
3403
- return i(), y("svg", tl, s[0] || (s[0] = [
3404
- b("path", {
3604
+ function bl(t, s) {
3605
+ return o(), b("svg", vl, s[0] || (s[0] = [
3606
+ v("path", {
3405
3607
  fill: "currentColor",
3406
3608
  d: "M.2 10a11 11 0 0 1 19.6 0A11 11 0 0 1 .2 10m9.8 4a4 4 0 1 0 0-8a4 4 0 0 0 0 8m0-2a2 2 0 1 1 0-4a2 2 0 0 1 0 4"
3407
3609
  }, null, -1)
3408
3610
  ]));
3409
3611
  }
3410
- const rl = E({ name: "zondicons-view-show", render: sl }), nl = { class: "font-medium" }, al = ["datetime"], ll = /* @__PURE__ */ h({
3612
+ const yl = I({ name: "zondicons-view-show", render: bl }), _l = { class: "font-medium" }, wl = ["datetime"], $l = /* @__PURE__ */ g({
3411
3613
  __name: "ErrorLogsModal",
3412
3614
  setup(t) {
3413
- return (s, e) => (i(), f(re, {
3615
+ return (s, e) => (o(), f(ne, {
3414
3616
  title: s.$td("errors.report", "Errors ({count})", { count: s.$errors.logs.length })
3415
3617
  }, {
3416
3618
  default: m(() => [
3417
- b("ol", null, [
3418
- (i(!0), y(D, null, U(s.$errors.logs, (r, n) => (i(), y("li", {
3619
+ v("ol", null, [
3620
+ (o(!0), b(A, null, B(s.$errors.logs, (r, n) => (o(), b("li", {
3419
3621
  key: n,
3420
3622
  class: "mb-2 flex max-w-prose min-w-56 justify-between py-2 last:mb-0"
3421
3623
  }, [
3422
- b("div", null, [
3423
- b("h3", nl, x(r.report.title), 1),
3424
- b("time", {
3624
+ v("div", null, [
3625
+ v("h3", _l, x(r.report.title), 1),
3626
+ v("time", {
3425
3627
  datetime: r.date.toISOString(),
3426
3628
  class: "text-xs text-gray-700"
3427
- }, x(r.date.toLocaleTimeString()), 9, al),
3428
- d(z, {
3629
+ }, x(r.date.toLocaleTimeString()), 9, wl),
3630
+ d(R, {
3429
3631
  class: "text-sm text-gray-500",
3430
- text: r.report.description ?? l(Ht)(r.report)
3632
+ text: r.report.description ?? l(It)(r.report)
3431
3633
  }, null, 8, ["text"])
3432
3634
  ]),
3433
- d(R, {
3635
+ d(z, {
3434
3636
  size: "icon",
3435
3637
  variant: "ghost",
3436
3638
  "aria-label": s.$td("errors.viewDetails", "View details"),
@@ -3442,7 +3644,7 @@ const rl = E({ name: "zondicons-view-show", render: sl }), nl = { class: "font-m
3442
3644
  )
3443
3645
  }, {
3444
3646
  default: m(() => [
3445
- d(l(rl), {
3647
+ d(l(yl), {
3446
3648
  class: "size-4",
3447
3649
  "aria-hidden": "true"
3448
3650
  })
@@ -3455,36 +3657,36 @@ const rl = E({ name: "zondicons-view-show", render: sl }), nl = { class: "font-m
3455
3657
  _: 1
3456
3658
  }, 8, ["title"]));
3457
3659
  }
3458
- }), ei = /* @__PURE__ */ h({
3660
+ }), bo = /* @__PURE__ */ g({
3459
3661
  __name: "ErrorLogs",
3460
3662
  setup(t) {
3461
- return (s, e) => s.$errors.logs.length > 0 ? (i(), f(R, {
3663
+ return (s, e) => s.$errors.logs.length > 0 ? (o(), f(z, {
3462
3664
  key: 0,
3463
3665
  size: "icon",
3464
3666
  variant: "ghost",
3465
3667
  title: s.$td("errors.viewLogs", "View error logs"),
3466
3668
  "aria-label": s.$td("errors.viewLogs", "View error logs"),
3467
- onClick: e[0] || (e[0] = (r) => s.$ui.modal(ll))
3669
+ onClick: e[0] || (e[0] = (r) => s.$ui.modal($l))
3468
3670
  }, {
3469
3671
  default: m(() => [
3470
- d(l(el), { class: "size-6 text-red-500" })
3672
+ d(l(gl), { class: "size-6 text-red-500" })
3471
3673
  ]),
3472
3674
  _: 1
3473
3675
  }, 8, ["title", "aria-label"])) : M("", !0);
3474
3676
  }
3475
- }), ti = /* @__PURE__ */ h({
3677
+ }), yo = /* @__PURE__ */ g({
3476
3678
  __name: "ErrorMessage",
3477
3679
  props: {
3478
3680
  error: {}
3479
3681
  },
3480
3682
  setup(t) {
3481
- const s = c(() => Ht(t.error));
3482
- return (e, r) => (i(), f(z, {
3683
+ const s = c(() => It(t.error));
3684
+ return (e, r) => (o(), f(R, {
3483
3685
  text: s.value,
3484
3686
  inline: ""
3485
3687
  }, null, 8, ["text"]));
3486
3688
  }
3487
- }), si = /* @__PURE__ */ h({
3689
+ }), _o = /* @__PURE__ */ g({
3488
3690
  __name: "Link",
3489
3691
  props: {
3490
3692
  class: {},
@@ -3499,30 +3701,31 @@ const rl = E({ name: "zondicons-view-show", render: sl }), nl = { class: "font-m
3499
3701
  as: {}
3500
3702
  },
3501
3703
  setup(t) {
3502
- return (s, e) => (i(), f(R, V({ variant: "link" }, s.$props), {
3704
+ return (s, e) => (o(), f(z, V({ variant: "link" }, s.$props), {
3503
3705
  default: m(() => [
3504
- $(s.$slots, "default")
3706
+ w(s.$slots, "default")
3505
3707
  ]),
3506
3708
  _: 3
3507
3709
  }, 16));
3508
3710
  }
3509
- }), ri = /* @__PURE__ */ h({
3711
+ }), wo = /* @__PURE__ */ g({
3510
3712
  __name: "SettingsModal",
3511
3713
  setup(t) {
3512
- const s = c(() => as(A.settings, "priority", "desc"));
3513
- return (e, r) => (i(), f(re, {
3514
- title: e.$td("settings.title", "Settings")
3714
+ const s = c(() => us(q.settings, "priority", "desc"));
3715
+ return (e, r) => (o(), f(ne, {
3716
+ title: e.$td("settings.title", "Settings"),
3717
+ "fullscreen-on-mobile": e.$app.settingsFullscreenOnMobile
3515
3718
  }, {
3516
3719
  default: m(() => [
3517
- (i(!0), y(D, null, U(s.value, (n, a) => (i(), f(G(n.component), { key: a }))), 128))
3720
+ (o(!0), b(A, null, B(s.value, (n, a) => (o(), f(ee(n.component), { key: a }))), 128))
3518
3721
  ]),
3519
3722
  _: 1
3520
- }, 8, ["title"]));
3723
+ }, 8, ["title", "fullscreen-on-mobile"]));
3521
3724
  }
3522
- }), il = {
3725
+ }), xl = {
3523
3726
  key: 0,
3524
3727
  class: "pointer-events-none absolute inset-y-0 right-0 flex items-center pr-3"
3525
- }, ni = /* @__PURE__ */ h({
3728
+ }, $o = /* @__PURE__ */ g({
3526
3729
  inheritAttrs: !1,
3527
3730
  __name: "TextArea",
3528
3731
  props: {
@@ -3535,70 +3738,70 @@ const rl = E({ name: "zondicons-view-show", render: sl }), nl = { class: "font-m
3535
3738
  },
3536
3739
  emits: ["update:modelValue"],
3537
3740
  setup(t) {
3538
- const s = K(t, ["label", "inputClass", "wrapperClass"]), e = ee("$inputRef"), [r, n] = Ae(), a = c(() => H("relative rounded-md shadow-2xs", { "mt-1": t.label }, t.wrapperClass)), u = c(() => {
3539
- var o, p, g;
3540
- return H(
3741
+ const s = O(t, ["label", "inputClass", "wrapperClass"]), e = te("$inputRef"), [r, n] = Pe(), a = c(() => k("relative rounded-md shadow-2xs", { "mt-1": t.label }, t.wrapperClass)), u = c(() => {
3742
+ var i, p, h;
3743
+ return k(
3541
3744
  // eslint-disable-next-line vue/max-len
3542
3745
  "block w-full rounded-md border-0 py-1.5 ring-1 ring-inset focus:ring-2 focus:ring-inset sm:text-sm sm:leading-6",
3543
3746
  {
3544
- "focus:ring-primary-600": !((o = e.value) != null && o.errors),
3747
+ "focus:ring-primary-600": !((i = e.value) != null && i.errors),
3545
3748
  "text-gray-900 shadow-2xs ring-gray-900/10 placeholder:text-gray-400": !((p = e.value) != null && p.errors),
3546
- "pr-10 text-red-900 ring-red-900/10 placeholder:text-red-300 focus:ring-red-500": (g = e.value) == null ? void 0 : g.errors
3749
+ "pr-10 text-red-900 ring-red-900/10 placeholder:text-red-300 focus:ring-red-500": (h = e.value) == null ? void 0 : h.errors
3547
3750
  },
3548
3751
  t.inputClass
3549
3752
  );
3550
3753
  });
3551
- return (o, p) => (i(), f(je, V({
3754
+ return (i, p) => (o(), f(Be, V({
3552
3755
  ref: "$inputRef",
3553
- label: o.label,
3756
+ label: i.label,
3554
3757
  class: l(n)
3555
3758
  }, s, {
3556
- "onUpdate:modelValue": p[0] || (p[0] = (g) => o.$emit("update:modelValue", g))
3759
+ "onUpdate:modelValue": p[0] || (p[0] = (h) => i.$emit("update:modelValue", h))
3557
3760
  }), {
3558
3761
  default: m(() => {
3559
- var g;
3762
+ var h;
3560
3763
  return [
3561
- d(be, { class: "block text-sm leading-6 font-medium text-gray-900" }),
3562
- b("div", {
3563
- class: C(a.value)
3764
+ d(ye, { class: "block text-sm leading-6 font-medium text-gray-900" }),
3765
+ v("div", {
3766
+ class: $(a.value)
3564
3767
  }, [
3565
- d(Fa, V(l(r), { class: u.value }), null, 16, ["class"]),
3566
- (g = e.value) != null && g.errors ? (i(), y("div", il, [
3768
+ d(el, V(l(r), { class: u.value }), null, 16, ["class"]),
3769
+ (h = e.value) != null && h.errors ? (o(), b("div", xl, [
3567
3770
  d(l(De), { class: "size-5 text-red-500" })
3568
3771
  ])) : M("", !0)
3569
3772
  ], 2),
3570
- d(Rt, { class: "mt-2 text-sm text-gray-600" }),
3571
- d(ye, { class: "mt-2 text-sm text-red-600" })
3773
+ d(Pt, { class: "mt-2 text-sm text-gray-600" }),
3774
+ d(_e, { class: "mt-2 text-sm text-red-600" })
3572
3775
  ];
3573
3776
  }),
3574
3777
  _: 1
3575
3778
  }, 16, ["label", "class"]));
3576
3779
  }
3577
3780
  });
3578
- class ai {
3781
+ class xo {
3579
3782
  constructor() {
3580
- _(this, "status");
3581
- _(this, "_listeners");
3582
- _(this, "_progress");
3583
- _(this, "_cancelled");
3584
- _(this, "_started");
3585
- _(this, "_completed");
3586
- this.status = this.getInitialStatus(), this._listeners = new ls(), this._started = new Q(), this._completed = new Q();
3783
+ C(this, "status");
3784
+ C(this, "_listeners");
3785
+ C(this, "_progress");
3786
+ C(this, "_cancelled");
3787
+ C(this, "_started");
3788
+ C(this, "_completed");
3789
+ this.status = this.getInitialStatus(), this._listeners = new cs(), this._started = new Z(), this._completed = new Z();
3587
3790
  }
3588
3791
  async start() {
3589
3792
  this.beforeStart(), this._started.resolve();
3590
3793
  try {
3591
3794
  await this.updateProgress(), await this.run(), await this.updateProgress(), this._completed.resolve();
3592
3795
  } catch (s) {
3593
- if (s instanceof Ge)
3796
+ if (s instanceof tt)
3594
3797
  return;
3595
- throw te(is(s), (e) => {
3798
+ throw se(ds(s), (e) => {
3596
3799
  this._completed.reject(e);
3597
3800
  });
3598
3801
  }
3599
3802
  }
3600
3803
  async cancel() {
3601
- this._cancelled = new Q(), await this._cancelled;
3804
+ this._cancelled = new Z(), await this._cancelled;
3602
3805
  }
3603
3806
  serialize() {
3604
3807
  return this.serializeStatus(this.status);
@@ -3633,10 +3836,10 @@ class ai {
3633
3836
  }
3634
3837
  assertNotCancelled() {
3635
3838
  if (this._cancelled)
3636
- throw this._cancelled.resolve(), new Ge();
3839
+ throw this._cancelled.resolve(), new tt();
3637
3840
  }
3638
3841
  calculateCurrentProgress(s) {
3639
- return s ?? (s = this.status), s.completed ? 1 : s.children ? os(
3842
+ return s ?? (s = this.status), s.completed ? 1 : s.children ? ps(
3640
3843
  s.children.reduce((e, r) => e + this.calculateCurrentProgress(r), 0) / s.children.length,
3641
3844
  2
3642
3845
  ) : 0;
@@ -3650,156 +3853,164 @@ class ai {
3650
3853
  return { ...s };
3651
3854
  }
3652
3855
  }
3653
- async function li(t) {
3856
+ async function Co(t) {
3654
3857
  await t.start();
3655
3858
  }
3656
3859
  export {
3657
- Zl as AdvancedOptions,
3658
- gn as AlertModal,
3659
- A as App,
3660
- Jl as AppLayout,
3661
- Da as AppOverlays,
3662
- er as AppService,
3663
- Pa as AppToasts,
3664
- R as Button,
3665
- zl as Cache,
3666
- wr as CacheService,
3667
- Xl as Checkbox,
3668
- xn as ConfirmModal,
3669
- Wa as Details,
3670
- Yl as DropdownMenu,
3671
- Qa as DropdownMenuOption,
3672
- Ja as DropdownMenuOptions,
3673
- Gl as EditableContent,
3674
- ei as ErrorLogs,
3675
- ll as ErrorLogsModal,
3676
- ti as ErrorMessage,
3677
- Xn as ErrorReportModal,
3678
- Fn as ErrorReportModalButtons,
3679
- Un as ErrorReportModalTitle,
3680
- yt as Errors,
3681
- _l as EventListenerPriorities,
3860
+ mo as AdvancedOptions,
3861
+ Mn as AlertModal,
3862
+ q as App,
3863
+ po as AppLayout,
3864
+ Ga as AppOverlays,
3865
+ pr as AppService,
3866
+ Ja as AppToasts,
3867
+ z as Button,
3868
+ Jl as Cache,
3869
+ Ir as CacheService,
3870
+ fo as Checkbox,
3871
+ ho as Combobox,
3872
+ ul as ComboboxLabel,
3873
+ al as ComboboxOption,
3874
+ ol as ComboboxOptions,
3875
+ il as ComboboxTrigger,
3876
+ Rn as ConfirmModal,
3877
+ sl as Details,
3878
+ go as DropdownMenu,
3879
+ cl as DropdownMenuOption,
3880
+ dl as DropdownMenuOptions,
3881
+ vo as EditableContent,
3882
+ bo as ErrorLogs,
3883
+ $l as ErrorLogsModal,
3884
+ yo as ErrorMessage,
3885
+ ua as ErrorReportModal,
3886
+ ea as ErrorReportModalButtons,
3887
+ ta as ErrorReportModalTitle,
3888
+ $t as Errors,
3889
+ Al as EventListenerPriorities,
3682
3890
  F as Events,
3683
- Ys as EventsService,
3684
- Vt as Form,
3685
- cr as FormController,
3686
- wt as HeadlessButton,
3687
- je as HeadlessInput,
3688
- Rt as HeadlessInputDescription,
3689
- ye as HeadlessInputError,
3690
- Lt as HeadlessInputInput,
3691
- be as HeadlessInputLabel,
3692
- Fa as HeadlessInputTextArea,
3693
- ln as HeadlessModal,
3694
- on as HeadlessModalContent,
3695
- un as HeadlessModalDescription,
3696
- cn as HeadlessModalOverlay,
3697
- dn as HeadlessModalTitle,
3698
- Lr as HeadlessSelect,
3699
- Xe as HeadlessSelectLabel,
3700
- xt as HeadlessSelectOption,
3701
- Ct as HeadlessSelectOptions,
3702
- _t as HeadlessSelectTrigger,
3703
- $t as HeadlessSelectValue,
3704
- Qr as HeadlessSwitch,
3705
- Ra as HeadlessToast,
3706
- ca as Input,
3707
- ai as Job,
3708
- Ge as JobCancelledError,
3709
- Z as Lang,
3710
- ve as Layouts,
3711
- si as Link,
3712
- aa as LoadingModal,
3713
- gt as MOBILE_BREAKPOINT,
3714
- z as Markdown,
3715
- re as Modal,
3716
- ui as ModalComponent,
3717
- ci as ModalsPortal,
3718
- ra as ProgressBar,
3719
- fa as PromptModal,
3720
- qr as Select,
3721
- kt as SelectLabel,
3722
- Ye as SelectOption,
3723
- St as SelectOptions,
3724
- Tt as SelectTrigger,
3725
- Ce as Service,
3726
- Ee as ServiceBootError,
3727
- Wr as Setting,
3728
- ri as SettingsModal,
3729
- Ea as StartupCrash,
3730
- ht as Storage,
3731
- Jr as Switch,
3732
- ni as TextArea,
3733
- za as Toast,
3891
+ cr as EventsService,
3892
+ zt as Form,
3893
+ $r as FormController,
3894
+ xt as HeadlessButton,
3895
+ Be as HeadlessInput,
3896
+ Pt as HeadlessInputDescription,
3897
+ _e as HeadlessInputError,
3898
+ qt as HeadlessInputInput,
3899
+ ye as HeadlessInputLabel,
3900
+ el as HeadlessInputTextArea,
3901
+ _n as HeadlessModal,
3902
+ wn as HeadlessModalContent,
3903
+ $n as HeadlessModalDescription,
3904
+ xn as HeadlessModalOverlay,
3905
+ Cn as HeadlessModalTitle,
3906
+ Nr as HeadlessSelect,
3907
+ Ye as HeadlessSelectLabel,
3908
+ Tt as HeadlessSelectOption,
3909
+ Mt as HeadlessSelectOptions,
3910
+ St as HeadlessSelectTrigger,
3911
+ kt as HeadlessSelectValue,
3912
+ on as HeadlessSwitch,
3913
+ Na as HeadlessToast,
3914
+ $a as Input,
3915
+ xo as Job,
3916
+ tt as JobCancelledError,
3917
+ Ge as LOCAL_TIMEZONE_OFFSET,
3918
+ G as Lang,
3919
+ be as Layouts,
3920
+ _o as Link,
3921
+ va as LoadingModal,
3922
+ Er as MINUTE_MILLISECONDS,
3923
+ yt as MOBILE_BREAKPOINT,
3924
+ R as Markdown,
3925
+ ne as Modal,
3926
+ To as ModalComponent,
3927
+ Mo as ModalsPortal,
3928
+ ha as ProgressBar,
3929
+ Sa as PromptModal,
3930
+ Zr as Select,
3931
+ Et as SelectLabel,
3932
+ et as SelectOption,
3933
+ Vt as SelectOptions,
3934
+ Ht as SelectTrigger,
3935
+ Se as Service,
3936
+ Le as ServiceBootError,
3937
+ an as Setting,
3938
+ wo as SettingsModal,
3939
+ Oa as StartupCrash,
3940
+ bt as Storage,
3941
+ un as Switch,
3942
+ $o as TextArea,
3943
+ Wa as Toast,
3734
3944
  P as UI,
3735
- kr as UIService,
3736
- Ml as __valueType,
3737
- br as aerogelDirectives,
3738
- Qs as appNamespace,
3739
- Al as booleanInput,
3740
- ke as bootServices,
3741
- Ql as bootstrap,
3742
- Aa as bootstrapApplication,
3743
- H as classes,
3744
- di as closeModal,
3745
- El as computedAsync,
3746
- Ll as computedDebounce,
3747
- pi as createModal,
3748
- Pl as dateInput,
3749
- kl as defineDirective,
3750
- Tl as defineFormValidationRule,
3751
- Cl as definePlugin,
3752
- xe as defineServiceState,
3753
- Xs as defineServiceStore,
3754
- xl as defineSettings,
3755
- li as dispatch,
3756
- Dl as enumInput,
3757
- vt as getCurrentLayout,
3758
- Ht as getErrorMessage,
3759
- hr as getMarkdownRouter,
3760
- Zs as getPiniaStore,
3761
- Er as hasSelectOptionLabel,
3762
- mi as injectModal,
3763
- nr as injectOrFail,
3764
- rr as injectReactive,
3765
- I as injectReactiveOrFail,
3766
- tr as installPlugins,
3767
- fi as modals,
3768
- Nl as numberInput,
3769
- Wl as objectInput,
3770
- Hl as onCleanMounted,
3771
- pt as onFormFocus,
3772
- Vl as persistent,
3773
- dr as reactiveSet,
3774
- ql as registerErrorHandler,
3775
- gr as renderMarkdown,
3776
- ct as renderVNode,
3777
- Il as replaceExisting,
3778
- jl as requiredBooleanInput,
3779
- Bl as requiredDateInput,
3780
- Fl as requiredEnumInput,
3781
- Ul as requiredNumberInput,
3782
- Ol as requiredObjectInput,
3783
- da as requiredStringInput,
3784
- Js as resetPiniaStore,
3785
- ft as safeHtml,
3786
- Rl as setMarkdownRouter,
3787
- hi as showModal,
3788
- Kl as stringInput,
3789
- bt as translate,
3790
- k as translateWithDefault,
3791
- hn as useAlertModal,
3792
- vn as useConfirmModal,
3793
- On as useErrorReportModal,
3794
- Sl as useEvent,
3795
- mt as useForm,
3796
- Ae as useInputAttrs,
3797
- na as useLoadingModal,
3798
- Pe as useModal,
3799
- pa as usePromptModal,
3800
- ur as validate,
3801
- or as validateType,
3802
- he as validators,
3803
- dt as variantClasses
3945
+ Ar as UIService,
3946
+ Ul as __valueType,
3947
+ Hr as aerogelDirectives,
3948
+ lr as appNamespace,
3949
+ Yl as booleanInput,
3950
+ Te as bootServices,
3951
+ co as bootstrap,
3952
+ Za as bootstrapApplication,
3953
+ k as classes,
3954
+ Eo as closeModal,
3955
+ Kl as computedAsync,
3956
+ Ql as computedDebounce,
3957
+ Vo as createModal,
3958
+ eo as dateInput,
3959
+ jl as defineDirective,
3960
+ Ol as defineFormValidationRule,
3961
+ Bl as definePlugin,
3962
+ ke as defineServiceState,
3963
+ ur as defineServiceStore,
3964
+ Dl as defineSettings,
3965
+ Co as dispatch,
3966
+ to as enumInput,
3967
+ _t as getCurrentLayout,
3968
+ It as getErrorMessage,
3969
+ Tr as getMarkdownRouter,
3970
+ ir as getPiniaStore,
3971
+ Ur as hasSelectOptionLabel,
3972
+ Ho as injectModal,
3973
+ gr as injectOrFail,
3974
+ hr as injectReactive,
3975
+ H as injectReactiveOrFail,
3976
+ mr as installPlugins,
3977
+ Lo as modals,
3978
+ oo as numberInput,
3979
+ io as objectInput,
3980
+ Nl as onCleanMounted,
3981
+ ht as onFormFocus,
3982
+ Wl as persistent,
3983
+ xr as reactiveSet,
3984
+ Xl as registerErrorHandler,
3985
+ Mr as renderMarkdown,
3986
+ mt as renderVNode,
3987
+ Gl as replaceExisting,
3988
+ so as requiredBooleanInput,
3989
+ ro as requiredDateInput,
3990
+ no as requiredEnumInput,
3991
+ ao as requiredNumberInput,
3992
+ lo as requiredObjectInput,
3993
+ xa as requiredStringInput,
3994
+ or as resetPiniaStore,
3995
+ vt as safeHtml,
3996
+ Zl as setMarkdownRouter,
3997
+ Io as showModal,
3998
+ uo as stringInput,
3999
+ wt as translate,
4000
+ S as translateWithDefault,
4001
+ Tn as useAlertModal,
4002
+ En as useConfirmModal,
4003
+ sa as useErrorReportModal,
4004
+ Fl as useEvent,
4005
+ gt as useForm,
4006
+ Pe as useInputAttrs,
4007
+ ga as useLoadingModal,
4008
+ Ae as useModal,
4009
+ Ca as usePromptModal,
4010
+ Ct as useSelect,
4011
+ wr as validate,
4012
+ _r as validateType,
4013
+ ge as validators,
4014
+ ft as variantClasses
3804
4015
  };
3805
4016
  //# sourceMappingURL=aerogel-core.js.map