@aerogel/core 0.1.1-next.b25730fd2850ebabef064973972dabd342d92769 → 0.1.1-next.e6a6ad3e33336c7da826eebdf24cd581e20522f2

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