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

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