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

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