@aerogel/core 0.1.1-next.d86959f8ee7dcf2194447eb424c1095912a5e5f8 → 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 (37) hide show
  1. package/dist/aerogel-core.d.ts +222 -261
  2. package/dist/aerogel-core.js +1410 -1401
  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/Form.vue +1 -1
  21. package/src/components/ui/LoadingModal.vue +1 -2
  22. package/src/components/ui/Modal.vue +53 -33
  23. package/src/components/ui/PromptModal.vue +7 -2
  24. package/src/components/ui/Toast.vue +1 -0
  25. package/src/components/ui/index.ts +1 -1
  26. package/src/forms/FormController.ts +4 -0
  27. package/src/index.css +9 -0
  28. package/src/ui/UI.state.ts +0 -11
  29. package/src/ui/UI.ts +42 -125
  30. package/src/ui/index.ts +1 -0
  31. package/src/ui/modals.ts +36 -0
  32. package/src/utils/composition/reactiveSet.test.ts +32 -0
  33. package/src/utils/composition/reactiveSet.ts +53 -0
  34. package/src/utils/index.ts +2 -0
  35. package/src/utils/time.ts +2 -0
  36. package/src/components/AppModals.vue +0 -14
  37. 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 o, 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((l) => l(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, l = 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(), l(...v)), this.registerListener(e, i, l);
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 l of a)
239
- Se(n.handlers[l] ?? [], r), ((i = n.handlers[l]) == null ? void 0 : i.length) === 0 && (delete n.handlers[l], Se(n.priorities, l));
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}'`), l = ((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), l[a] = []), ($ = l[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), o(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 l;
480
- const n = [], a = this._data[e], i = ((l = r.rules) == null ? void 0 : l.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
- }, l = await this.modalForm(this.requireComponent("confirm-modal"), i), d = typeof l == "object" ? l[0] : l ?? !1, v = typeof l == "object" ? l[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
- }, l = await this.modalForm(this.requireComponent("prompt-modal"), i());
719
- return (a && typeof l == "string" ? l == null ? void 0 : l.trim() : l) ?? 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: o(m),
771
+ props: k,
772
+ delay: l(v),
734
773
  operationPromise: n(r)
735
774
  };
736
775
  };
737
- let i = !1;
738
- const { operationPromise: l, props: d, delay: v } = a();
739
- if (v && await Promise.race([ue({ ms: v }).then(() => i = !0), l]), v && !i)
740
- return l;
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 l;
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
- }, l = this.modals.concat(i);
766
- return this.modalCallbacks[i.id] = a, this.setState({ modals: l }), 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((l) => e === l.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(o(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(o(De), {
1178
+ return (e, r) => e.$slots.default ? (o(), f(l(Qe), {
1173
1179
  key: 0,
1174
- placeholder: o(s).placeholder
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(o(De), {
1186
+ }, 8, ["placeholder"])) : (o(), f(l(Qe), {
1181
1187
  key: 1,
1182
- placeholder: o(s).placeholder
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(o(us), {
1193
- id: o(s).id
1198
+ return (e, r) => (o(), f(l(Cs), {
1199
+ id: l(s).id
1194
1200
  }, {
1195
- default: f(() => [
1196
- w(e.$slots, "default", {}, () => [
1197
- p(dt, {
1198
- placeholder: o(s).placeholder
1201
+ default: m(() => [
1202
+ $(e.$slots, "default", {}, () => [
1203
+ d(_t, {
1204
+ placeholder: l(s).placeholder
1199
1205
  }, null, 8, ["placeholder"]),
1200
- p(o(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(o(ds), ne(ae(r.$props)), {
1225
- default: f(() => [
1226
- p(o(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(o(ms), null, {
1250
- default: f(() => [
1251
- p(o(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),
1254
- align: o(s).align,
1255
- side: o(s).side,
1259
+ class: C(e.value),
1260
+ align: l(s).align,
1261
+ side: l(s).side,
1256
1262
  "side-offset": 4
1257
1263
  }, {
1258
- default: f(() => [
1259
- p(o(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(o(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), l = 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(l),
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(o(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(o(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
- for: o(s).id
1376
+ for: l(s).id
1371
1377
  }, n.$props), {
1372
- default: f(() => [
1373
- w(n.$slots, "default", {}, () => [
1374
- I(x(o(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 = o(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 = o(s)) == null ? void 0 : i.options) ?? [], (l) => (u(), h(Fe, {
1448
- key: l.key,
1449
- value: l.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(l.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(o($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: o(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 l = sr(r.value);
1608
- return t.inline && (l = l.replace("<p>", "<span>").replace("</p>", "</span>")), l;
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(l) {
1616
- var v, $;
1617
- const { target: d } = l;
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 && (l.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 (l, 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(l) {
1699
+ update(i) {
1694
1700
  if (n && t.name) {
1695
- n.setFieldValue(t.name, l);
1701
+ n.setFieldValue(t.name, i);
1696
1702
  return;
1697
1703
  }
1698
- r("update:modelValue", l);
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
- }), (l, d) => (u(), b("div", {
1704
- class: k(t.class)
1709
+ }), (i, p) => (o(), y("div", {
1710
+ class: C(t.class)
1705
1711
  }, [
1706
- l.label ? (u(), b("label", {
1712
+ i.label ? (o(), y("label", {
1707
1713
  key: 0,
1708
- for: i.id,
1709
- class: k(l.labelClass)
1710
- }, x(l.label), 11, Ir)) : T("", !0),
1711
- p(o(bs), H({
1712
- id: i.id,
1713
- name: l.name,
1714
- "model-value": i.value.value
1715
- }, l.$attrs, {
1716
- class: l.inputClass,
1717
- "onUpdate:modelValue": d[0] || (d[0] = (v) => l.$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(o(ys), {
1721
- class: k(l.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, l) => e(l ?? 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: l, result: d }) => {
1820
- l === r.id && await i(d);
1821
- });
1822
- async function i(l) {
1823
- a.value || (await R.emit("modal-will-close", { modal: r, result: l }), a.value = !0, await R.emit("modal-has-closed", { modal: r, result: l }));
1824
- }
1825
- return (l, d) => (u(), h(o(ws), {
1826
- ref: o(n),
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), {
1825
+ ref: l(n),
1827
1826
  open: "",
1828
- "onUpdate:open": d[0] || (d[0] = (v) => l.persistent || i())
1827
+ "onUpdate:open": u[0] || (u[0] = (i) => a.persistent || i || l(r)())
1829
1828
  }, {
1830
- default: f(() => [
1831
- p(o($s), null, {
1832
- default: f(() => [
1833
- w(l.$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] = o(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(o(_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": o(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(o(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(o(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(o(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"), l = 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": !l.value,
1955
- "scale-100 opacity-100": l.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) => o(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": o(i).childIndex === 1,
1969
- "opacity-0": o(i).childIndex === 1 && o(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(o(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, {
2038
- title: o(r),
2039
- "title-hidden": o(n)
2027
+ const e = t, { renderedTitle: r, titleHidden: n } = vn(e);
2028
+ return s(), (a, u) => (o(), f(ne, {
2029
+ title: l(r),
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,39 +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) => {
2061
- var l;
2062
- return (l = n.form) == null ? void 0 : l.submit();
2063
- }, ["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"]))
2064
2052
  }, [
2065
- w(n.$slots, "default")
2053
+ $(n.$slots, "default")
2066
2054
  ], 32));
2067
2055
  }
2068
2056
  });
2069
- function sn(t) {
2070
- const s = rt(
2057
+ function yn(t) {
2058
+ const s = ft(
2071
2059
  Object.entries(t.checkboxes ?? {}).reduce(
2072
- (i, [l, d]) => ({
2073
- [l]: {
2060
+ (u, [i, p]) => ({
2061
+ [i]: {
2074
2062
  type: "boolean",
2075
- default: d.default,
2076
- required: d.required ? "required" : void 0
2063
+ default: p.default,
2064
+ required: p.required ? "required" : void 0
2077
2065
  },
2078
- ...i
2066
+ ...u
2079
2067
  }),
2080
2068
  {}
2081
2069
  )
2082
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"));
2083
2071
  return { form: s, renderedTitle: e, titleHidden: r, renderedAcceptText: n, renderedCancelText: a };
2084
2072
  }
2085
- const rn = {
2073
+ const wn = {
2086
2074
  key: 0,
2087
2075
  class: "mt-4 flex flex-col text-sm text-gray-600"
2088
- }, 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({
2089
2077
  __name: "ConfirmModal",
2090
2078
  props: {
2091
2079
  title: {},
@@ -2098,55 +2086,56 @@ const rn = {
2098
2086
  actions: {},
2099
2087
  required: { type: Boolean }
2100
2088
  },
2089
+ emits: ["close"],
2101
2090
  setup(t, { expose: s }) {
2102
- const e = N(t, ["cancelVariant"]), { form: r, renderedTitle: n, titleHidden: a, renderedAcceptText: i, renderedCancelText: l } = sn(e);
2103
- return s(), (d, v) => (u(), h(se, {
2104
- title: o(n),
2105
- "title-hidden": o(a),
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, {
2093
+ title: l(n),
2094
+ "title-hidden": l(a),
2106
2095
  persistent: ""
2107
2096
  }, {
2108
- default: f(({ close: $ }) => [
2109
- p($t, {
2110
- form: o(r),
2111
- onSubmit: (m) => $([!0, o(r).data()])
2097
+ default: m(({ close: w }) => [
2098
+ d(Vt, {
2099
+ form: l(r),
2100
+ onSubmit: (v) => w([!0, l(r).data()])
2112
2101
  }, {
2113
- default: f(() => [
2114
- p(P, {
2115
- text: d.message,
2116
- actions: d.actions
2102
+ default: m(() => [
2103
+ d(z, {
2104
+ text: p.message,
2105
+ actions: p.actions
2117
2106
  }, null, 8, ["text", "actions"]),
2118
- d.checkboxes ? (u(), b("ul", rn, [
2119
- (u(!0), b(D, null, F(d.checkboxes, (m, C) => (u(), b("li", { key: C }, [
2120
- y("label", nn, [
2121
- Ke(y("input", {
2122
- "onUpdate:modelValue": (L) => o(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,
2123
2112
  type: "checkbox",
2124
- required: m.required,
2113
+ required: v.required,
2125
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"
2126
- }, null, 8, an), [
2127
- [qt, o(r)[C]]
2115
+ }, null, 8, _n), [
2116
+ [Wt, l(r)[k]]
2128
2117
  ]),
2129
- y("span", ln, x(m.label), 1)
2118
+ b("span", xn, x(v.label), 1)
2130
2119
  ])
2131
2120
  ]))), 128))
2132
- ])) : T("", !0),
2133
- y("div", on, [
2134
- p(q, {
2135
- variant: d.acceptVariant,
2121
+ ])) : M("", !0),
2122
+ b("div", Cn, [
2123
+ d(I, {
2124
+ variant: p.acceptVariant,
2136
2125
  submit: ""
2137
2126
  }, {
2138
- default: f(() => [
2139
- I(x(o(i)), 1)
2127
+ default: m(() => [
2128
+ L(x(l(u)), 1)
2140
2129
  ]),
2141
2130
  _: 1
2142
2131
  }, 8, ["variant"]),
2143
- d.required ? T("", !0) : (u(), h(q, {
2132
+ p.required ? M("", !0) : (o(), f(I, {
2144
2133
  key: 0,
2145
- variant: d.cancelVariant,
2146
- onClick: (m) => $(!1)
2134
+ variant: p.cancelVariant,
2135
+ onClick: (v) => w(!1)
2147
2136
  }, {
2148
- default: f(() => [
2149
- I(x(o(l)), 1)
2137
+ default: m(() => [
2138
+ L(x(l(i)), 1)
2150
2139
  ]),
2151
2140
  _: 2
2152
2141
  }, 1032, ["variant", "onClick"]))
@@ -2158,127 +2147,127 @@ const rn = {
2158
2147
  _: 1
2159
2148
  }, 8, ["title", "title-hidden"]));
2160
2149
  }
2161
- }), cn = {
2150
+ }), kn = {
2162
2151
  viewBox: "0 0 20 20",
2163
2152
  width: "1.2em",
2164
2153
  height: "1.2em"
2165
2154
  };
2166
- function dn(t, s) {
2167
- return u(), b("svg", cn, s[0] || (s[0] = [
2168
- y("path", {
2155
+ function Tn(t, s) {
2156
+ return o(), y("svg", kn, s[0] || (s[0] = [
2157
+ b("path", {
2169
2158
  fill: "currentColor",
2170
2159
  d: "M7.05 9.293L6.343 10L12 15.657l1.414-1.414L9.172 10l4.242-4.243L12 4.343z"
2171
2160
  }, null, -1)
2172
2161
  ]));
2173
2162
  }
2174
- const pn = E({ name: "zondicons-cheveron-left", render: dn }), mn = {
2163
+ const Mn = V({ name: "zondicons-cheveron-left", render: Tn }), En = {
2175
2164
  viewBox: "0 0 20 20",
2176
2165
  width: "1.2em",
2177
2166
  height: "1.2em"
2178
2167
  };
2179
- function fn(t, s) {
2180
- return u(), b("svg", mn, s[0] || (s[0] = [
2181
- y("path", {
2168
+ function Hn(t, s) {
2169
+ return o(), y("svg", En, s[0] || (s[0] = [
2170
+ b("path", {
2182
2171
  fill: "currentColor",
2183
2172
  d: "m12.95 10.707l.707-.707L8 4.343L6.586 5.757L10.828 10l-4.242 4.243L8 15.657z"
2184
2173
  }, null, -1)
2185
2174
  ]));
2186
2175
  }
2187
- const _t = E({ name: "zondicons-cheveron-right", render: fn }), hn = {
2176
+ const Lt = V({ name: "zondicons-cheveron-right", render: Hn }), Vn = {
2188
2177
  viewBox: "0 0 20 20",
2189
2178
  width: "1.2em",
2190
2179
  height: "1.2em"
2191
2180
  };
2192
- function gn(t, s) {
2193
- return u(), b("svg", hn, s[0] || (s[0] = [
2194
- y("path", {
2181
+ function Ln(t, s) {
2182
+ return o(), y("svg", Vn, s[0] || (s[0] = [
2183
+ b("path", {
2195
2184
  fill: "currentColor",
2196
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"
2197
2186
  }, null, -1)
2198
2187
  ]));
2199
2188
  }
2200
- const qe = E({ name: "zondicons-exclamation-solid", render: gn }), vn = {
2189
+ const De = V({ name: "zondicons-exclamation-solid", render: Ln }), In = {
2201
2190
  viewBox: "0 0 24 24",
2202
2191
  width: "1.2em",
2203
2192
  height: "1.2em"
2204
2193
  };
2205
- function bn(t, s) {
2206
- return u(), b("svg", vn, s[0] || (s[0] = [
2207
- y("path", {
2194
+ function zn(t, s) {
2195
+ return o(), y("svg", In, s[0] || (s[0] = [
2196
+ b("path", {
2208
2197
  fill: "currentColor",
2209
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"
2210
2199
  }, null, -1)
2211
2200
  ]));
2212
2201
  }
2213
- const yn = E({ name: "mdi-console", render: bn }), wn = {
2202
+ const Rn = V({ name: "mdi-console", render: zn }), qn = {
2214
2203
  viewBox: "0 0 20 20",
2215
2204
  width: "1.2em",
2216
2205
  height: "1.2em"
2217
2206
  };
2218
- function $n(t, s) {
2219
- return u(), b("svg", wn, s[0] || (s[0] = [
2220
- y("path", {
2207
+ function An(t, s) {
2208
+ return o(), y("svg", qn, s[0] || (s[0] = [
2209
+ b("path", {
2221
2210
  fill: "currentColor",
2222
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"
2223
2212
  }, null, -1)
2224
2213
  ]));
2225
2214
  }
2226
- const _n = E({ name: "zondicons-copy", render: $n }), xn = {
2215
+ const Pn = V({ name: "zondicons-copy", render: An }), Dn = {
2227
2216
  viewBox: "0 0 24 24",
2228
2217
  width: "1.2em",
2229
2218
  height: "1.2em"
2230
2219
  };
2231
- function Cn(t, s) {
2232
- return u(), b("svg", xn, s[0] || (s[0] = [
2233
- y("path", {
2220
+ function Bn(t, s) {
2221
+ return o(), y("svg", Dn, s[0] || (s[0] = [
2222
+ b("path", {
2234
2223
  fill: "currentColor",
2235
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"
2236
2225
  }, null, -1)
2237
2226
  ]));
2238
2227
  }
2239
- 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({
2240
2229
  __name: "ErrorReportModalButtons",
2241
2230
  props: {
2242
2231
  report: {}
2243
2232
  },
2244
2233
  setup(t) {
2245
2234
  const s = t, e = c(() => s.report.description ? `${s.report.title}: ${s.report.description}` : s.report.title), r = c(() => {
2246
- if (!A.sourceUrl)
2235
+ if (!P.sourceUrl)
2247
2236
  return !1;
2248
- const a = encodeURIComponent(e.value), i = encodeURIComponent(
2237
+ const a = encodeURIComponent(e.value), u = encodeURIComponent(
2249
2238
  [
2250
2239
  "[Please, explain here what you were trying to do when this error appeared]",
2251
2240
  "",
2252
2241
  "Error details:",
2253
2242
  "```",
2254
- Jt(
2243
+ ls(
2255
2244
  s.report.details ?? "Details missing from report",
2256
- 1800 - a.length - A.sourceUrl.length
2245
+ 1800 - a.length - P.sourceUrl.length
2257
2246
  ).trim(),
2258
2247
  "```"
2259
2248
  ].join(`
2260
2249
  `)
2261
2250
  );
2262
- return `${A.sourceUrl}/issues/new?title=${a}&body=${i}`;
2263
- }), n = c(() => ee(
2251
+ return `${P.sourceUrl}/issues/new?title=${a}&body=${u}`;
2252
+ }), n = c(() => se(
2264
2253
  [
2265
2254
  {
2266
2255
  id: "clipboard",
2267
2256
  description: "Copy to clipboard",
2268
- iconComponent: _n,
2257
+ iconComponent: Pn,
2269
2258
  async click() {
2270
2259
  await navigator.clipboard.writeText(`${e.value}
2271
2260
 
2272
- ${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"));
2273
2262
  }
2274
2263
  },
2275
2264
  {
2276
2265
  id: "console",
2277
2266
  description: "Log to console",
2278
- iconComponent: yn,
2267
+ iconComponent: Rn,
2279
2268
  click() {
2280
2269
  const a = s.report.error ?? s.report;
2281
- window.error = a, console.error(a), z.toast(
2270
+ window.error = a, console.error(a), A.toast(
2282
2271
  S(
2283
2272
  "errors.addedToConsole",
2284
2273
  "You can now use the **error** variable in the console"
@@ -2291,24 +2280,24 @@ ${s.report.details}`), z.toast(S("errors.copiedToClipboard", "Debug information
2291
2280
  r.value && a.push({
2292
2281
  id: "github",
2293
2282
  description: "Report in GitHub",
2294
- iconComponent: kn,
2283
+ iconComponent: jn,
2295
2284
  url: r.value
2296
2285
  });
2297
2286
  }
2298
2287
  ));
2299
- return (a, i) => (u(), b("div", Sn, [
2300
- (u(!0), b(D, null, F(n.value, (l) => w(a.$slots, "default", H({ ref_for: !0 }, l), () => [
2301
- 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, {
2302
2291
  size: "icon",
2303
2292
  variant: "ghost",
2304
2293
  class: "group whitespace-nowrap",
2305
- href: l.url,
2306
- title: a.$td(`errors.report_${l.id}`, l.description),
2307
- onClick: l.click
2294
+ href: i.url,
2295
+ title: a.$td(`errors.report_${i.id}`, i.description),
2296
+ onClick: i.click
2308
2297
  }, {
2309
- default: f(() => [
2310
- y("span", Tn, x(a.$td(`errors.report_${l.id}`, l.description)), 1),
2311
- (u(), h(W(l.iconComponent), {
2298
+ default: m(() => [
2299
+ b("span", Un, x(a.$td(`errors.report_${i.id}`, i.description)), 1),
2300
+ (o(), f(ee(i.iconComponent), {
2312
2301
  class: "size-4",
2313
2302
  "aria-hidden": "true"
2314
2303
  }))
@@ -2318,7 +2307,7 @@ ${s.report.details}`), z.toast(S("errors.copiedToClipboard", "Debug information
2318
2307
  ])), 256))
2319
2308
  ]));
2320
2309
  }
2321
- }), Hn = /* @__PURE__ */ g({
2310
+ }), Nn = /* @__PURE__ */ h({
2322
2311
  __name: "ErrorReportModalTitle",
2323
2312
  props: {
2324
2313
  report: {},
@@ -2327,17 +2316,17 @@ ${s.report.details}`), z.toast(S("errors.copiedToClipboard", "Debug information
2327
2316
  },
2328
2317
  setup(t) {
2329
2318
  const s = c(() => !t.totalReports || t.totalReports <= 1 ? t.report.title : `${t.report.title} (${t.currentReport}/${t.totalReports})`);
2330
- return (e, r) => (u(), h(P, {
2319
+ return (e, r) => (o(), f(z, {
2331
2320
  text: s.value,
2332
2321
  inline: ""
2333
2322
  }, null, 8, ["text"]));
2334
2323
  }
2335
2324
  });
2336
- function En(t) {
2337
- 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(
2338
2327
  () => {
2339
- var i;
2340
- 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.");
2341
2330
  }
2342
2331
  ), n = S("errors.previousReport", "Show previous report"), a = S("errors.nextReport", "Show next report");
2343
2332
  return {
@@ -2348,102 +2337,102 @@ function En(t) {
2348
2337
  activeReport: e
2349
2338
  };
2350
2339
  }
2351
- 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 = {
2352
2341
  key: 0,
2353
2342
  class: "flex gap-0.5"
2354
- }, 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({
2355
2344
  __name: "ErrorReportModal",
2356
2345
  props: {
2357
2346
  report: {},
2358
2347
  reports: {}
2359
2348
  },
2360
2349
  setup(t, { expose: s }) {
2361
- const e = t, { activeReportIndex: r, details: n, nextReportText: a, previousReportText: i, activeReport: l } = En(e);
2362
- return s(), (d, v) => (u(), h(se, {
2363
- 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"),
2364
2353
  "title-hidden": "",
2365
2354
  "close-hidden": "",
2366
2355
  class: "p-0",
2367
2356
  "wrapper-class": "sm:w-auto sm:min-w-lg sm:max-w-[80vw]"
2368
2357
  }, {
2369
- default: f(() => [
2370
- y("div", Vn, [
2371
- y("h2", Ln, [
2372
- y("div", In, [
2373
- p(o(qe), { class: "size-5 text-red-600" }),
2374
- 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, {
2375
2364
  class: "text-lg leading-6 font-semibold text-gray-900",
2376
- report: o(l),
2377
- "current-report": o(r) + 1,
2378
- "total-reports": d.reports.length
2365
+ report: l(i),
2366
+ "current-report": l(r) + 1,
2367
+ "total-reports": p.reports.length
2379
2368
  }, null, 8, ["report", "current-report", "total-reports"]),
2380
- d.reports.length > 1 ? (u(), b("span", qn, [
2381
- p(q, {
2369
+ p.reports.length > 1 ? (o(), y("span", Zn, [
2370
+ d(I, {
2382
2371
  size: "icon",
2383
2372
  variant: "ghost",
2384
- disabled: o(r) === 0,
2385
- "aria-label": o(i),
2386
- title: o(i),
2387
- onClick: v[0] || (v[0] = ($) => r.value--)
2373
+ disabled: l(r) === 0,
2374
+ "aria-label": l(u),
2375
+ title: l(u),
2376
+ onClick: g[0] || (g[0] = (w) => r.value--)
2388
2377
  }, {
2389
- default: f(() => [
2390
- p(o(pn), { class: "size-4" })
2378
+ default: m(() => [
2379
+ d(l(Mn), { class: "size-4" })
2391
2380
  ]),
2392
2381
  _: 1
2393
2382
  }, 8, ["disabled", "aria-label", "title"]),
2394
- p(q, {
2383
+ d(I, {
2395
2384
  size: "icon",
2396
2385
  variant: "ghost",
2397
- disabled: o(r) === d.reports.length - 1,
2398
- "aria-label": o(a),
2399
- title: o(a),
2400
- onClick: v[1] || (v[1] = ($) => r.value++)
2386
+ disabled: l(r) === p.reports.length - 1,
2387
+ "aria-label": l(a),
2388
+ title: l(a),
2389
+ onClick: g[1] || (g[1] = (w) => r.value++)
2401
2390
  }, {
2402
- default: f(() => [
2403
- p(o(_t), { class: "size-4" })
2391
+ default: m(() => [
2392
+ d(l(Lt), { class: "size-4" })
2404
2393
  ]),
2405
2394
  _: 1
2406
2395
  }, 8, ["disabled", "aria-label", "title"])
2407
- ])) : T("", !0)
2396
+ ])) : M("", !0)
2408
2397
  ]),
2409
- p(Mn, {
2410
- report: o(l),
2398
+ d(On, {
2399
+ report: l(i),
2411
2400
  class: "gap-0.5"
2412
2401
  }, null, 8, ["report"])
2413
2402
  ]),
2414
- o(l).description ? (u(), h(P, {
2403
+ l(i).description ? (o(), f(z, {
2415
2404
  key: 0,
2416
- text: o(l).description,
2405
+ text: l(i).description,
2417
2406
  class: "text-gray-600"
2418
- }, null, 8, ["text"])) : T("", !0)
2407
+ }, null, 8, ["text"])) : M("", !0)
2419
2408
  ]),
2420
- y("div", zn, [
2421
- y("pre", {
2409
+ b("div", Xn, [
2410
+ b("pre", {
2422
2411
  class: "p-4 text-xs text-red-800",
2423
- textContent: x(o(n))
2424
- }, null, 8, Rn)
2412
+ textContent: x(l(n))
2413
+ }, null, 8, Yn)
2425
2414
  ])
2426
2415
  ]),
2427
2416
  _: 1
2428
2417
  }, 8, ["title"]));
2429
2418
  }
2430
- }), An = {
2419
+ }), ea = {
2431
2420
  viewBox: "0 0 24 24",
2432
2421
  width: "1.2em",
2433
2422
  height: "1.2em"
2434
2423
  };
2435
- function Dn(t, s) {
2436
- return u(), b("svg", An, s[0] || (s[0] = [
2437
- y("path", {
2424
+ function ta(t, s) {
2425
+ return o(), y("svg", ea, s[0] || (s[0] = [
2426
+ b("path", {
2438
2427
  fill: "currentColor",
2439
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",
2440
2429
  opacity: ".25"
2441
2430
  }, null, -1),
2442
- y("path", {
2431
+ b("path", {
2443
2432
  fill: "currentColor",
2444
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"
2445
2434
  }, [
2446
- y("animateTransform", {
2435
+ b("animateTransform", {
2447
2436
  attributeName: "transform",
2448
2437
  dur: "0.75s",
2449
2438
  repeatCount: "indefinite",
@@ -2453,7 +2442,7 @@ function Dn(t, s) {
2453
2442
  ], -1)
2454
2443
  ]));
2455
2444
  }
2456
- 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({
2457
2446
  __name: "ProgressBar",
2458
2447
  props: {
2459
2448
  filledClass: {},
@@ -2462,31 +2451,31 @@ const jn = E({ name: "svg-spinners-90-ring-with-bg", render: Dn }), Bn = { class
2462
2451
  },
2463
2452
  setup(t) {
2464
2453
  let s;
2465
- 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);
2466
- 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(
2467
2456
  () => t.job,
2468
2457
  () => {
2469
2458
  s && s(), e.value = t.job ? t.job.progress : 0, s = t.job && t.job.listeners.add({ onUpdated: (a) => e.value = a });
2470
2459
  },
2471
2460
  { immediate: !0 }
2472
- ), ge(() => s && s()), (a, i) => (u(), b("div", Bn, [
2473
- y("div", {
2474
- class: k(r.value),
2475
- 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}%)`)
2476
2465
  }, null, 6),
2477
- y("span", Fn, x(a.$td("ui.progress", "{progress}% complete", {
2466
+ b("span", na, x(a.$td("ui.progress", "{progress}% complete", {
2478
2467
  progress: n.value * 100
2479
2468
  })), 1)
2480
2469
  ]));
2481
2470
  }
2482
2471
  });
2483
- function On(t) {
2472
+ function la(t) {
2484
2473
  const s = c(() => t.title ?? S("ui.loading", "Loading")), e = c(
2485
2474
  () => t.message ?? S("ui.loadingInProgress", "Loading in progress...")
2486
2475
  ), r = c(() => typeof t.progress == "number" || !!t.job), n = c(() => !t.title);
2487
2476
  return { renderedTitle: s, renderedMessage: e, titleHidden: n, showProgress: r };
2488
2477
  }
2489
- const Nn = /* @__PURE__ */ g({
2478
+ const oa = /* @__PURE__ */ h({
2490
2479
  __name: "LoadingModal",
2491
2480
  props: {
2492
2481
  title: {},
@@ -2495,30 +2484,30 @@ const Nn = /* @__PURE__ */ g({
2495
2484
  job: {}
2496
2485
  },
2497
2486
  setup(t, { expose: s }) {
2498
- const e = t, { renderedTitle: r, renderedMessage: n, titleHidden: a, showProgress: i } = On(e);
2499
- return s(), (l, 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, {
2500
2489
  persistent: "",
2501
- class: k(["flex", { "flex-col-reverse": o(i), "items-center justify-center gap-2": !o(i) }]),
2502
2490
  "wrapper-class": "w-auto",
2503
- title: o(r),
2504
- "title-hidden": o(a)
2491
+ title: l(r),
2492
+ "title-hidden": l(a),
2493
+ class: C({ "flex-col-reverse": l(u), "flex-row items-center justify-center gap-2": !l(u) })
2505
2494
  }, {
2506
- default: f(() => [
2507
- o(i) ? (u(), h(Un, {
2495
+ default: m(() => [
2496
+ l(u) ? (o(), f(aa, {
2508
2497
  key: 0,
2509
- progress: l.progress,
2510
- job: l.job,
2498
+ progress: i.progress,
2499
+ job: i.job,
2511
2500
  class: "min-w-[min(400px,80vw)]"
2512
- }, null, 8, ["progress", "job"])) : (u(), h(o(jn), {
2501
+ }, null, 8, ["progress", "job"])) : (o(), f(l(sa), {
2513
2502
  key: 1,
2514
2503
  class: "text-primary-600 mr-1 size-6"
2515
2504
  })),
2516
- p(P, { text: o(n) }, null, 8, ["text"])
2505
+ d(z, { text: l(n) }, null, 8, ["text"])
2517
2506
  ]),
2518
2507
  _: 1
2519
2508
  }, 8, ["title", "title-hidden", "class"]));
2520
2509
  }
2521
- }), ze = /* @__PURE__ */ g({
2510
+ }), Be = /* @__PURE__ */ h({
2522
2511
  __name: "HeadlessInput",
2523
2512
  props: {
2524
2513
  name: {},
@@ -2529,128 +2518,133 @@ const Nn = /* @__PURE__ */ g({
2529
2518
  },
2530
2519
  emits: ["update:modelValue"],
2531
2520
  setup(t, { expose: s, emit: e }) {
2532
- const r = e, n = X("form", null), a = c(() => !n || !t.name ? null : n.errors[t.name] ?? null), i = {
2533
- 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()}`,
2534
2523
  name: c(() => t.name),
2535
2524
  label: c(() => t.label),
2536
2525
  description: c(() => t.description),
2537
2526
  value: c(() => n && t.name ? n.getFieldValue(t.name) : t.modelValue),
2538
- errors: ve(a),
2527
+ errors: _e(a),
2539
2528
  required: c(() => {
2540
2529
  if (!(!t.name || !n))
2541
2530
  return n.getFieldRules(t.name).includes("required");
2542
2531
  }),
2543
- update(l) {
2532
+ update(i) {
2544
2533
  if (n && t.name) {
2545
- n.setFieldValue(t.name, l);
2534
+ n.setFieldValue(t.name, i);
2546
2535
  return;
2547
2536
  }
2548
- r("update:modelValue", l);
2537
+ r("update:modelValue", i);
2549
2538
  }
2550
2539
  };
2551
- return le("input", i), s(i), (l, d) => (u(), h(W(l.as), null, {
2552
- default: f(() => [
2553
- w(l.$slots, "default")
2540
+ return pe("input", u), s(u), (i, p) => (o(), f(ee(i.as), null, {
2541
+ default: m(() => [
2542
+ $(i.$slots, "default")
2554
2543
  ]),
2555
2544
  _: 3
2556
2545
  }));
2557
2546
  }
2558
- }), Wn = ["for"], fe = /* @__PURE__ */ g({
2547
+ }), ia = ["for"], ye = /* @__PURE__ */ h({
2559
2548
  __name: "HeadlessInputLabel",
2560
2549
  setup(t) {
2561
- const s = V("input", "<HeadlessInputLabel> must be a child of a <HeadlessInput>"), e = He(), r = c(() => !!(s.label || e.default));
2562
- 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", {
2563
2552
  key: 0,
2564
- for: o(s).id
2553
+ for: l(s).id
2565
2554
  }, [
2566
- w(n.$slots, "default", {}, () => [
2567
- I(x(o(s).label), 1)
2555
+ $(n.$slots, "default", {}, () => [
2556
+ L(x(l(s).label), 1)
2568
2557
  ])
2569
- ], 8, Wn)) : T("", !0);
2558
+ ], 8, ia)) : M("", !0);
2570
2559
  }
2571
- }), 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({
2572
2561
  __name: "HeadlessInputInput",
2573
2562
  props: {
2574
2563
  type: {}
2575
2564
  },
2576
2565
  setup(t) {
2577
- 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(() => {
2578
2567
  if (t.type)
2579
2568
  return t.type;
2580
- const $ = (n.value && (r == null ? void 0 : r.getFieldType(n.value))) ?? "";
2581
- return ["text", "email", "number", "tel", "url"].includes($) ? $ : "text";
2582
- }), l = c(() => {
2583
- 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")
2584
2573
  return !!a.value;
2585
2574
  });
2586
- function d() {
2587
- s.value && e.update(v());
2575
+ function p() {
2576
+ s.value && e.update(g());
2588
2577
  }
2589
- function v() {
2578
+ function g() {
2590
2579
  if (!s.value)
2591
2580
  return null;
2592
- switch (t.type) {
2581
+ switch (u.value) {
2593
2582
  case "checkbox":
2594
2583
  return s.value.checked;
2595
2584
  case "date":
2596
- 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;
2597
2590
  default:
2598
2591
  return s.value.value;
2599
2592
  }
2600
2593
  }
2601
- return st(e, () => {
2602
- var $;
2603
- return ($ = s.value) == null ? void 0 : $.focus();
2604
- }), Y(() => {
2594
+ return mt(e, () => {
2595
+ var w;
2596
+ return (w = s.value) == null ? void 0 : w.focus();
2597
+ }), G(() => {
2605
2598
  if (s.value) {
2606
- if (t.type === "date" && a.value instanceof Date) {
2607
- 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));
2608
2602
  return;
2609
2603
  }
2610
2604
  s.value.value = a.value ?? null;
2611
2605
  }
2612
- }), ($, m) => (u(), b("input", {
2613
- id: o(e).id,
2606
+ }), (w, v) => (o(), y("input", {
2607
+ id: l(e).id,
2614
2608
  ref: "$inputRef",
2615
2609
  name: n.value,
2616
- checked: l.value,
2617
- type: i.value,
2618
- required: o(e).required ?? void 0,
2619
- "aria-invalid": o(e).errors ? "true" : "false",
2620
- "aria-describedby": o(e).errors ? `${o(e).id}-error` : o(e).description ? `${o(e).id}-description` : void 0,
2621
- onInput: d
2622
- }, null, 40, Kn));
2623
- }
2624
- }), Ct = /* @__PURE__ */ g({
2610
+ checked: i.value,
2611
+ type: u.value,
2612
+ required: l(e).required ?? void 0,
2613
+ "aria-invalid": l(e).errors ? "true" : "false",
2614
+ "aria-describedby": l(e).errors ? `${l(e).id}-error` : l(e).description ? `${l(e).id}-description` : void 0,
2615
+ onInput: p
2616
+ }, null, 40, ua));
2617
+ }
2618
+ }), zt = /* @__PURE__ */ h({
2625
2619
  inheritAttrs: !1,
2626
2620
  __name: "HeadlessInputDescription",
2627
2621
  setup(t) {
2628
- const s = V(
2622
+ const s = R(
2629
2623
  "input",
2630
2624
  "<HeadlessInputDescription> must be a child of a <HeadlessInput>"
2631
2625
  ), e = c(() => typeof s.description == "string" ? s.description : ""), r = c(() => !!s.description);
2632
- return (n, a) => w(n.$slots, "default", {
2633
- id: `${o(s).id}-description`
2626
+ return (n, a) => $(n.$slots, "default", {
2627
+ id: `${l(s).id}-description`
2634
2628
  }, () => [
2635
- r.value ? (u(), h(P, H({ key: 0 }, n.$attrs, {
2636
- id: `${o(s).id}-description`,
2629
+ r.value ? (o(), f(z, H({ key: 0 }, n.$attrs, {
2630
+ id: `${l(s).id}-description`,
2637
2631
  text: e.value
2638
- }), null, 16, ["id", "text"])) : T("", !0)
2632
+ }), null, 16, ["id", "text"])) : M("", !0)
2639
2633
  ]);
2640
2634
  }
2641
- }), Qn = ["id"], he = /* @__PURE__ */ g({
2635
+ }), ca = ["id"], we = /* @__PURE__ */ h({
2642
2636
  __name: "HeadlessInputError",
2643
2637
  setup(t) {
2644
- 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);
2645
- 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", {
2646
2640
  key: 0,
2647
- id: `${o(s).id}-error`
2648
- }, x(e.value), 9, Qn)) : T("", !0);
2641
+ id: `${l(s).id}-error`
2642
+ }, x(e.value), 9, ca)) : M("", !0);
2649
2643
  }
2650
- }), Jn = {
2644
+ }), da = {
2651
2645
  key: 0,
2652
2646
  class: "pointer-events-none absolute inset-y-0 right-0 flex items-center pr-3"
2653
- }, Zn = /* @__PURE__ */ g({
2647
+ }, pa = /* @__PURE__ */ h({
2654
2648
  inheritAttrs: !1,
2655
2649
  __name: "Input",
2656
2650
  props: {
@@ -2663,61 +2657,61 @@ const Nn = /* @__PURE__ */ g({
2663
2657
  },
2664
2658
  emits: ["update:modelValue"],
2665
2659
  setup(t) {
2666
- 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(() => {
2667
- var l, d, v;
2668
- 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(
2669
2663
  // eslint-disable-next-line vue/max-len
2670
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",
2671
2665
  {
2672
- "focus:ring-primary-600": !((l = e.value) != null && l.errors),
2673
- "text-gray-900 shadow-2xs ring-gray-900/10 placeholder:text-gray-400": !((d = e.value) != null && d.errors),
2674
- "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
2675
2669
  },
2676
2670
  t.inputClass
2677
2671
  );
2678
2672
  });
2679
- return (l, d) => (u(), h(ze, H({
2673
+ return (i, p) => (o(), f(Be, H({
2680
2674
  ref: "$inputRef",
2681
- label: l.label,
2682
- class: o(n)
2675
+ label: i.label,
2676
+ class: l(n)
2683
2677
  }, s, {
2684
- "onUpdate:modelValue": d[0] || (d[0] = (v) => l.$emit("update:modelValue", v))
2678
+ "onUpdate:modelValue": p[0] || (p[0] = (g) => i.$emit("update:modelValue", g))
2685
2679
  }), {
2686
- default: f(() => {
2687
- var v;
2680
+ default: m(() => {
2681
+ var g;
2688
2682
  return [
2689
- p(fe, { class: "block text-sm leading-6 font-medium text-gray-900" }),
2690
- y("div", {
2691
- 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)
2692
2686
  }, [
2693
- p(xt, H(o(r), { class: i.value }), null, 16, ["class"]),
2694
- (v = e.value) != null && v.errors ? (u(), b("div", Jn, [
2695
- p(o(qe), { class: "size-5 text-red-500" })
2696
- ])) : 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)
2697
2691
  ], 2),
2698
- p(Ct, { class: "mt-2 text-sm text-gray-600" }),
2699
- 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" })
2700
2694
  ];
2701
2695
  }),
2702
2696
  _: 1
2703
2697
  }, 16, ["label", "class"]));
2704
2698
  }
2705
2699
  });
2706
- function $l(t, s = {}) {
2700
+ function Dl(t, s = {}) {
2707
2701
  return {
2708
2702
  default: t,
2709
2703
  type: "boolean",
2710
2704
  rules: s.rules
2711
2705
  };
2712
2706
  }
2713
- function _l(t, s = {}) {
2707
+ function Bl(t, s = {}) {
2714
2708
  return {
2715
2709
  default: t,
2716
2710
  type: "date",
2717
2711
  rules: s.rules
2718
2712
  };
2719
2713
  }
2720
- function xl(t, s, e = {}) {
2714
+ function jl(t, s, e = {}) {
2721
2715
  return {
2722
2716
  default: s,
2723
2717
  type: "enum",
@@ -2725,21 +2719,21 @@ function xl(t, s, e = {}) {
2725
2719
  values: t
2726
2720
  };
2727
2721
  }
2728
- function Cl(t) {
2722
+ function Fl(t) {
2729
2723
  return {
2730
2724
  default: t,
2731
2725
  type: "boolean",
2732
2726
  rules: "required"
2733
2727
  };
2734
2728
  }
2735
- function kl(t) {
2729
+ function Ul(t) {
2736
2730
  return {
2737
2731
  default: t,
2738
2732
  type: "date",
2739
2733
  rules: "required"
2740
2734
  };
2741
2735
  }
2742
- function Sl(t, s) {
2736
+ function Ol(t, s) {
2743
2737
  return {
2744
2738
  default: s,
2745
2739
  type: "enum",
@@ -2747,55 +2741,55 @@ function Sl(t, s) {
2747
2741
  values: t
2748
2742
  };
2749
2743
  }
2750
- function Tl(t) {
2744
+ function Nl(t) {
2751
2745
  return {
2752
2746
  default: t,
2753
2747
  type: "number",
2754
2748
  rules: "required"
2755
2749
  };
2756
2750
  }
2757
- function Ml(t) {
2751
+ function Wl(t) {
2758
2752
  return {
2759
2753
  default: t,
2760
2754
  type: "object",
2761
2755
  rules: "required"
2762
2756
  };
2763
2757
  }
2764
- function Xn(t) {
2758
+ function ma(t) {
2765
2759
  return {
2766
2760
  default: t,
2767
2761
  type: "string",
2768
2762
  rules: "required"
2769
2763
  };
2770
2764
  }
2771
- function Hl(t, s = {}) {
2765
+ function Kl(t, s = {}) {
2772
2766
  return {
2773
2767
  default: t,
2774
2768
  type: "number",
2775
2769
  rules: s.rules
2776
2770
  };
2777
2771
  }
2778
- function El(t, s = {}) {
2772
+ function Ql(t, s = {}) {
2779
2773
  return {
2780
2774
  default: t,
2781
2775
  type: "object",
2782
2776
  rules: s.rules
2783
2777
  };
2784
2778
  }
2785
- function Vl(t, s = {}) {
2779
+ function Jl(t, s = {}) {
2786
2780
  return {
2787
2781
  default: t,
2788
2782
  type: "string",
2789
2783
  rules: s.rules
2790
2784
  };
2791
2785
  }
2792
- function Yn(t) {
2793
- const s = rt({
2794
- draft: Xn(t.defaultValue ?? "")
2786
+ function fa(t) {
2787
+ const s = ft({
2788
+ draft: ma(t.defaultValue ?? "")
2795
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"));
2796
2790
  return { form: s, renderedTitle: e, renderedMessage: r, renderedAcceptText: n, renderedCancelText: a };
2797
2791
  }
2798
- 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({
2799
2793
  __name: "PromptModal",
2800
2794
  props: {
2801
2795
  title: {},
@@ -2808,44 +2802,45 @@ const Gn = { class: "mt-4 flex flex-row-reverse gap-2" }, ea = /* @__PURE__ */ g
2808
2802
  cancelText: {},
2809
2803
  cancelVariant: { default: "secondary" }
2810
2804
  },
2805
+ emits: ["close"],
2811
2806
  setup(t, { expose: s }) {
2812
- const e = N(t, ["cancelVariant"]), { form: r, renderedTitle: n, renderedMessage: a, renderedAcceptText: i, renderedCancelText: l } = Yn(e);
2813
- return s(), (d, v) => (u(), h(se, {
2814
- title: o(n),
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, {
2809
+ title: l(n),
2815
2810
  persistent: ""
2816
2811
  }, {
2817
- default: f(({ close: $ }) => [
2818
- p($t, {
2819
- form: o(r),
2820
- onSubmit: (m) => $(o(r).draft)
2812
+ default: m(({ close: w }) => [
2813
+ d(Vt, {
2814
+ form: l(r),
2815
+ onSubmit: (v) => w(l(r).draft)
2821
2816
  }, {
2822
- default: f(() => [
2823
- o(a) ? (u(), h(P, {
2817
+ default: m(() => [
2818
+ l(a) ? (o(), f(z, {
2824
2819
  key: 0,
2825
- text: o(a)
2826
- }, null, 8, ["text"])) : T("", !0),
2827
- p(Zn, {
2820
+ text: l(a)
2821
+ }, null, 8, ["text"])) : M("", !0),
2822
+ d(pa, {
2828
2823
  name: "draft",
2829
2824
  class: "mt-2",
2830
- placeholder: d.placeholder,
2831
- label: d.label
2825
+ placeholder: p.placeholder,
2826
+ label: p.label
2832
2827
  }, null, 8, ["placeholder", "label"]),
2833
- y("div", Gn, [
2834
- p(q, {
2835
- variant: d.acceptVariant,
2828
+ b("div", ha, [
2829
+ d(I, {
2830
+ variant: p.acceptVariant,
2836
2831
  submit: ""
2837
2832
  }, {
2838
- default: f(() => [
2839
- I(x(o(i)), 1)
2833
+ default: m(() => [
2834
+ L(x(l(u)), 1)
2840
2835
  ]),
2841
2836
  _: 1
2842
2837
  }, 8, ["variant"]),
2843
- p(q, {
2844
- variant: d.cancelVariant,
2845
- onClick: (m) => $()
2838
+ d(I, {
2839
+ variant: p.cancelVariant,
2840
+ onClick: (v) => w()
2846
2841
  }, {
2847
- default: f(() => [
2848
- I(x(o(l)), 1)
2842
+ default: m(() => [
2843
+ L(x(l(i)), 1)
2849
2844
  ]),
2850
2845
  _: 2
2851
2846
  }, 1032, ["variant", "onClick"])
@@ -2857,63 +2852,63 @@ const Gn = { class: "mt-4 flex flex-row-reverse gap-2" }, ea = /* @__PURE__ */ g
2857
2852
  _: 1
2858
2853
  }, 8, ["title"]));
2859
2854
  }
2860
- }), ta = {
2855
+ }), va = {
2861
2856
  viewBox: "0 0 24 24",
2862
2857
  width: "1.2em",
2863
2858
  height: "1.2em"
2864
2859
  };
2865
- function sa(t, s) {
2866
- return u(), b("svg", ta, s[0] || (s[0] = [
2867
- y("path", {
2860
+ function ba(t, s) {
2861
+ return o(), y("svg", va, s[0] || (s[0] = [
2862
+ b("path", {
2868
2863
  fill: "currentColor",
2869
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"
2870
2865
  }, null, -1)
2871
2866
  ]));
2872
2867
  }
2873
- const ra = E({ name: "material-symbols-bug-report", render: sa }), na = {
2868
+ const ya = V({ name: "material-symbols-bug-report", render: ba }), wa = {
2874
2869
  viewBox: "0 0 24 24",
2875
2870
  width: "1.2em",
2876
2871
  height: "1.2em"
2877
2872
  };
2878
- function aa(t, s) {
2879
- return u(), b("svg", na, s[0] || (s[0] = [
2880
- y("path", {
2873
+ function $a(t, s) {
2874
+ return o(), y("svg", wa, s[0] || (s[0] = [
2875
+ b("path", {
2881
2876
  fill: "currentColor",
2882
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"
2883
2878
  }, null, -1)
2884
2879
  ]));
2885
2880
  }
2886
- 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 = {
2887
2882
  viewBox: "0 0 24 24",
2888
2883
  width: "1.2em",
2889
2884
  height: "1.2em"
2890
2885
  };
2891
- function ia(t, s) {
2892
- return u(), b("svg", oa, s[0] || (s[0] = [
2893
- y("path", {
2886
+ function Ca(t, s) {
2887
+ return o(), y("svg", xa, s[0] || (s[0] = [
2888
+ b("path", {
2894
2889
  fill: "currentColor",
2895
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"
2896
2891
  }, null, -1)
2897
2892
  ]));
2898
2893
  }
2899
- const ua = E({ name: "material-symbols-frame-inspect", render: ia }), ca = {
2894
+ const Sa = V({ name: "material-symbols-frame-inspect", render: Ca }), ka = {
2900
2895
  viewBox: "0 0 24 24",
2901
2896
  width: "1.2em",
2902
2897
  height: "1.2em"
2903
2898
  };
2904
- function da(t, s) {
2905
- return u(), b("svg", ca, s[0] || (s[0] = [
2906
- y("path", {
2899
+ function Ta(t, s) {
2900
+ return o(), y("svg", ka, s[0] || (s[0] = [
2901
+ b("path", {
2907
2902
  fill: "currentColor",
2908
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"
2909
2904
  }, null, -1)
2910
2905
  ]));
2911
2906
  }
2912
- 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({
2913
2908
  __name: "StartupCrash",
2914
2909
  setup(t) {
2915
2910
  async function s() {
2916
- await z.confirm(
2911
+ await A.confirm(
2917
2912
  S("startupCrash.purgeConfirmTitle", "Delete everything?"),
2918
2913
  S(
2919
2914
  "startupCrash.purgeConfirmMessage",
@@ -2925,59 +2920,59 @@ Do you still want to proceed?`
2925
2920
  acceptVariant: "danger",
2926
2921
  acceptText: S("startupCrash.purgeConfirmAccept", "Purge device")
2927
2922
  }
2928
- ) && (await at.purge(), await A.reload());
2923
+ ) && (await gt.purge(), await P.reload());
2929
2924
  }
2930
2925
  return (e, r) => {
2931
- const n = Rt("i-majesticons-exclamation");
2932
- return u(), b("div", ma, [
2933
- y("div", fa, [
2934
- p(n, { class: "size-20 text-red-600" }),
2935
- y("h1", ha, x(e.$td("startupCrash.title", "Oops, something went wrong!")), 1),
2936
- 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, {
2937
2932
  text: e.$td(
2938
2933
  "startupCrash.message",
2939
2934
  "There was a problem starting the application, but here's some things you can do:"
2940
2935
  ),
2941
2936
  class: "mt-4 text-center"
2942
2937
  }, null, 8, ["text"]),
2943
- y("div", ga, [
2944
- p(q, {
2938
+ b("div", La, [
2939
+ d(I, {
2945
2940
  variant: "danger",
2946
2941
  onClick: r[0] || (r[0] = (a) => e.$app.reload())
2947
2942
  }, {
2948
- default: f(() => [
2949
- p(o(pa)),
2950
- 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)
2951
2946
  ]),
2952
2947
  _: 1
2953
2948
  }),
2954
- p(q, {
2949
+ d(I, {
2955
2950
  variant: "danger",
2956
2951
  onClick: r[1] || (r[1] = (a) => e.$errors.inspect(e.$errors.startupErrors))
2957
2952
  }, {
2958
- default: f(() => [
2959
- p(o(ra)),
2960
- 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)
2961
2956
  ]),
2962
2957
  _: 1
2963
2958
  }),
2964
- p(q, {
2959
+ d(I, {
2965
2960
  variant: "danger",
2966
2961
  onClick: r[2] || (r[2] = (a) => s())
2967
2962
  }, {
2968
- default: f(() => [
2969
- p(o(la)),
2970
- 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)
2971
2966
  ]),
2972
2967
  _: 1
2973
2968
  }),
2974
- p(q, {
2969
+ d(I, {
2975
2970
  variant: "danger",
2976
2971
  onClick: r[3] || (r[3] = (a) => e.$errors.debug = !e.$errors.debug)
2977
2972
  }, {
2978
- default: f(() => [
2979
- p(o(ua)),
2980
- 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)
2981
2976
  ]),
2982
2977
  _: 1
2983
2978
  })
@@ -2986,23 +2981,23 @@ Do you still want to proceed?`
2986
2981
  ]);
2987
2982
  };
2988
2983
  }
2989
- }), kt = /* @__PURE__ */ g({
2984
+ }), Rt = /* @__PURE__ */ h({
2990
2985
  __name: "HeadlessToastAction",
2991
2986
  props: {
2992
2987
  action: {}
2993
2988
  },
2994
2989
  setup(t) {
2995
- return (s, e) => (u(), h(W(s.action.dismiss ? o(Ss) : "button"), {
2990
+ return (s, e) => (o(), f(ee(s.action.dismiss ? l(js) : "button"), {
2996
2991
  type: "button",
2997
2992
  onClick: s.action.click
2998
2993
  }, {
2999
- default: f(() => [
3000
- I(x(s.action.label), 1)
2994
+ default: m(() => [
2995
+ L(x(s.action.label), 1)
3001
2996
  ]),
3002
2997
  _: 1
3003
2998
  }, 8, ["onClick"]));
3004
2999
  }
3005
- }), ba = { key: 0 }, ya = /* @__PURE__ */ g({
3000
+ }), za = { key: 0 }, Ra = /* @__PURE__ */ h({
3006
3001
  __name: "HeadlessToast",
3007
3002
  props: {
3008
3003
  message: {},
@@ -3010,11 +3005,11 @@ Do you still want to proceed?`
3010
3005
  variant: {}
3011
3006
  },
3012
3007
  setup(t) {
3013
- return (s, e) => (u(), h(o(Ts), null, {
3014
- default: f(() => [
3015
- w(s.$slots, "default", {}, () => [
3016
- s.message ? (u(), b("span", ba, x(s.message), 1)) : T("", !0),
3017
- (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, {
3018
3013
  key: n,
3019
3014
  action: r
3020
3015
  }, null, 8, ["action"]))), 128))
@@ -3023,7 +3018,7 @@ Do you still want to proceed?`
3023
3018
  _: 3
3024
3019
  }));
3025
3020
  }
3026
- }), wa = /* @__PURE__ */ g({
3021
+ }), qa = /* @__PURE__ */ h({
3027
3022
  __name: "Toast",
3028
3023
  props: {
3029
3024
  message: {},
@@ -3032,14 +3027,15 @@ Do you still want to proceed?`
3032
3027
  class: {}
3033
3028
  },
3034
3029
  setup(t, { expose: s }) {
3035
- const e = c(() => et(
3030
+ const e = c(() => pt(
3036
3031
  { baseClasses: t.class, variant: t.variant },
3037
3032
  {
3038
3033
  baseClasses: "flex items-center gap-2 rounded-md p-2 ring-1 shadow-lg border-gray-200",
3039
3034
  variants: {
3040
3035
  variant: {
3041
3036
  secondary: "bg-gray-900 text-white ring-black",
3042
- 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"
3043
3039
  }
3044
3040
  },
3045
3041
  defaultVariants: {
@@ -3047,134 +3043,137 @@ Do you still want to proceed?`
3047
3043
  }
3048
3044
  }
3049
3045
  ));
3050
- return s(), (r, n) => (u(), h(ya, {
3051
- class: k(e.value)
3046
+ return s(), (r, n) => (o(), f(Ra, {
3047
+ class: C(e.value)
3052
3048
  }, {
3053
- default: f(() => [
3054
- r.message ? (u(), h(P, {
3049
+ default: m(() => [
3050
+ r.message ? (o(), f(z, {
3055
3051
  key: 0,
3056
3052
  text: r.message,
3057
3053
  inline: ""
3058
- }, null, 8, ["text"])) : T("", !0),
3059
- (u(!0), b(D, null, F(r.actions, (a, i) => (u(), h(q, {
3060
- 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,
3061
3057
  action: a,
3062
3058
  variant: r.variant,
3063
- as: kt
3059
+ as: Rt
3064
3060
  }, null, 8, ["action", "variant"]))), 128))
3065
3061
  ]),
3066
3062
  _: 1
3067
3063
  }, 8, ["class"]));
3068
3064
  }
3069
- }), $a = { $ui: z }, _a = {
3065
+ }), Aa = { $ui: A }, Pa = {
3070
3066
  async install(t, s) {
3071
3067
  const e = {
3072
- "alert-modal": tn,
3073
- "confirm-modal": un,
3074
- "error-report-modal": Pn,
3075
- "loading-modal": Nn,
3076
- "prompt-modal": ea,
3077
- "startup-crash": va,
3078
- 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,
3079
3075
  ...s.components
3080
3076
  };
3081
3077
  for (const [r, n] of Object.entries(e))
3082
- z.registerComponent(r, n);
3083
- await $e(t, $a);
3078
+ A.registerComponent(r, n);
3079
+ await ke(t, Aa);
3084
3080
  }
3085
3081
  };
3086
- async function xa(t, s = {}) {
3082
+ async function Da(t, s = {}) {
3087
3083
  var r;
3088
- const e = [Fr, ar, Br, Tr, ur, _a, ...s.plugins ?? []];
3089
- 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");
3090
3086
  }
3091
- async function Ll(t, s = {}) {
3087
+ async function Zl(t, s = {}) {
3092
3088
  var r;
3093
- const e = Pt(t);
3094
- 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");
3095
3091
  }
3096
- const Ca = { key: 0 }, ka = /* @__PURE__ */ g({
3097
- __name: "AppModals",
3098
- setup(t) {
3099
- const s = c(() => z.modals[0] ?? null);
3100
- return (e, r) => s.value ? (u(), b("aside", Ca, [
3101
- p(wt, {
3102
- "child-index": 1,
3103
- modal: s.value
3104
- }, null, 8, ["modal"])
3105
- ])) : T("", !0);
3106
- }
3107
- }), Sa = /* @__PURE__ */ g({
3092
+ const Ba = /* @__PURE__ */ h({
3108
3093
  __name: "AppToasts",
3109
3094
  setup(t) {
3110
- return (s, e) => (u(), h(o(Ms), null, {
3111
- default: f(() => [
3112
- (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({
3113
3098
  id: r.id,
3114
- key: r.id,
3115
- ref_for: !0
3116
- }, r.properties), null, 16, ["id"]))), 128)),
3117
- p(o(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" })
3118
3102
  ]),
3119
3103
  _: 1
3120
3104
  }));
3121
3105
  }
3122
- }), Ta = /* @__PURE__ */ g({
3106
+ }), ja = /* @__PURE__ */ h({
3123
3107
  __name: "AppOverlays",
3124
3108
  setup(t) {
3125
- return (s, e) => (u(), b(D, null, [
3126
- p(ka),
3127
- p(Sa)
3109
+ return (s, e) => (o(), y(D, null, [
3110
+ d(l(ys), { nested: "" }),
3111
+ d(Ba)
3128
3112
  ], 64));
3129
3113
  }
3130
- }), 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({
3131
3115
  __name: "AppLayout",
3132
3116
  setup(t) {
3133
- return (s, e) => (u(), b("div", Ma, [
3134
- s.$errors.hasStartupErrors ? w(s.$slots, "startup-crash", { key: 0 }, () => [
3135
- (u(), h(W(s.$ui.requireComponent("startup-crash"))))
3136
- ]) : w(s.$slots, "default", { key: 1 }),
3137
- 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)
3138
3122
  ]));
3139
3123
  }
3140
- }), 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({
3141
3125
  __name: "HeadlessInputTextArea",
3142
3126
  setup(t) {
3143
- const s = G("$textAreaRef"), e = V(
3127
+ const s = te("$textAreaRef"), e = R(
3144
3128
  "input",
3145
3129
  "<HeadlessInputTextArea> must be a child of a <HeadlessInput>"
3146
3130
  ), r = c(() => e.name ?? void 0), n = c(() => e.value);
3147
3131
  function a() {
3148
3132
  s.value && e.update(s.value.value);
3149
3133
  }
3150
- return st(e, () => {
3151
- var i;
3152
- return (i = s.value) == null ? void 0 : i.focus();
3153
- }), (i, l) => (u(), b("textarea", {
3154
- id: o(e).id,
3134
+ return mt(e, () => {
3135
+ var u;
3136
+ return (u = s.value) == null ? void 0 : u.focus();
3137
+ }), (u, i) => (o(), y("textarea", {
3138
+ id: l(e).id,
3155
3139
  ref: "$textAreaRef",
3156
3140
  name: r.value,
3157
3141
  value: n.value,
3158
- required: o(e).required ?? void 0,
3159
- "aria-invalid": o(e).errors ? "true" : "false",
3160
- "aria-describedby": o(e).errors ? `${o(e).id}-error` : o(e).description ? `${o(e).id}-description` : void 0,
3142
+ required: l(e).required ?? void 0,
3143
+ "aria-invalid": l(e).errors ? "true" : "false",
3144
+ "aria-describedby": l(e).errors ? `${l(e).id}-error` : l(e).description ? `${l(e).id}-description` : void 0,
3161
3145
  onInput: a
3162
- }, null, 40, Ha));
3146
+ }, null, 40, Ua));
3163
3147
  }
3164
- }), 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({
3165
- __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
+ },
3166
3153
  setup(t) {
3167
- return (s, e) => (u(), b("details", Va, [
3168
- y("summary", La, [
3169
- p(o(_t), { class: "size-6 transition-transform group-open:rotate-90" }),
3170
- 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)
3171
3158
  ]),
3172
- y("div", Ia, [
3173
- w(s.$slots, "default")
3159
+ b("div", Ka, [
3160
+ $(s.$slots, "default")
3174
3161
  ])
3175
3162
  ]));
3176
3163
  }
3177
- }), 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({
3178
3177
  inheritAttrs: !1,
3179
3178
  __name: "Checkbox",
3180
3179
  props: {
@@ -3187,53 +3186,53 @@ const Ca = { key: 0 }, ka = /* @__PURE__ */ g({
3187
3186
  },
3188
3187
  emits: ["update:modelValue"],
3189
3188
  setup(t) {
3190
- const s = N(t, ["inputClass", "labelClass"]), e = G("$inputRef"), [r, n] = Ie(), a = c(() => M("relative flex items-start", n.value)), i = c(() => {
3191
- var d, v;
3192
- 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(
3193
3192
  "size-4 rounded text-primary-600 not-checked:hover:bg-gray-200 checked:hover:text-primary-500 checked:border-0",
3194
3193
  {
3195
- "border-gray-300 focus:ring-primary-600": !((d = e.value) != null && d.errors),
3196
- "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
3197
3196
  },
3198
3197
  t.inputClass
3199
3198
  );
3200
- }), l = c(() => M("ml-2 text-sm leading-6", t.labelClass));
3201
- 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({
3202
3201
  ref: "$inputRef",
3203
3202
  class: a.value
3204
3203
  }, s, {
3205
- "onUpdate:modelValue": v[0] || (v[0] = ($) => d.$emit("update:modelValue", $))
3204
+ "onUpdate:modelValue": g[0] || (g[0] = (w) => p.$emit("update:modelValue", w))
3206
3205
  }), {
3207
- default: f(() => [
3208
- y("div", qa, [
3209
- p(xt, H(o(r), {
3206
+ default: m(() => [
3207
+ b("div", Ja, [
3208
+ d(It, H(l(r), {
3210
3209
  type: "checkbox",
3211
- class: i.value
3210
+ class: u.value
3212
3211
  }), null, 16, ["class"])
3213
3212
  ]),
3214
- d.$slots.default ? (u(), b("div", {
3213
+ p.$slots.default ? (o(), y("div", {
3215
3214
  key: 0,
3216
- class: k(l.value)
3215
+ class: C(i.value)
3217
3216
  }, [
3218
- p(fe, { class: "text-gray-900" }, {
3219
- default: f(() => [
3220
- w(d.$slots, "default")
3217
+ d(ye, { class: "text-gray-900" }, {
3218
+ default: m(() => [
3219
+ $(p.$slots, "default")
3221
3220
  ]),
3222
3221
  _: 3
3223
3222
  }),
3224
- p(he, { class: "text-red-600" })
3225
- ], 2)) : d.label ? (u(), b("div", {
3223
+ d(we, { class: "text-red-600" })
3224
+ ], 2)) : p.label ? (o(), y("div", {
3226
3225
  key: 1,
3227
- class: k(l.value)
3226
+ class: C(i.value)
3228
3227
  }, [
3229
- p(fe, { class: "text-gray-900" }),
3230
- p(he, { class: "text-red-600" })
3231
- ], 2)) : T("", !0)
3228
+ d(ye, { class: "text-gray-900" }),
3229
+ d(we, { class: "text-red-600" })
3230
+ ], 2)) : M("", !0)
3232
3231
  ]),
3233
3232
  _: 3
3234
3233
  }, 16, ["class"]));
3235
3234
  }
3236
- }), za = /* @__PURE__ */ g({
3235
+ }), Za = /* @__PURE__ */ h({
3237
3236
  __name: "DropdownMenuOption",
3238
3237
  props: {
3239
3238
  class: {},
@@ -3242,40 +3241,40 @@ const Ca = { key: 0 }, ka = /* @__PURE__ */ g({
3242
3241
  },
3243
3242
  emits: ["select"],
3244
3243
  setup(t) {
3245
- const s = N(t, ["class"]), e = c(() => M(
3244
+ const s = K(t, ["class"]), e = c(() => E(
3246
3245
  "flex w-full items-center gap-2 rounded-lg px-2 py-2 text-sm text-gray-900 data-[highlighted]:bg-gray-100",
3247
3246
  t.class
3248
3247
  ));
3249
- return (r, n) => (u(), h(o(Es), H({ class: e.value }, s, {
3248
+ return (r, n) => (o(), f(l(Ns), H({ class: e.value }, s, {
3250
3249
  onSelect: n[0] || (n[0] = (a) => r.$emit("select"))
3251
3250
  }), {
3252
- default: f(() => [
3253
- w(r.$slots, "default")
3251
+ default: m(() => [
3252
+ $(r.$slots, "default")
3254
3253
  ]),
3255
3254
  _: 3
3256
3255
  }, 16, ["class"]));
3257
3256
  }
3258
- }), Ra = /* @__PURE__ */ g({
3257
+ }), Xa = /* @__PURE__ */ h({
3259
3258
  __name: "DropdownMenuOptions",
3260
3259
  setup(t) {
3261
- const s = V(
3260
+ const s = R(
3262
3261
  "dropdown-menu",
3263
3262
  "<DropdownMenuOptions> must be a child of a <DropdownMenu>"
3264
3263
  );
3265
- return (e, r) => (u(), h(o(Vs), {
3264
+ return (e, r) => (o(), f(l(Ws), {
3266
3265
  class: "gap-y-0.5 rounded-lg bg-white p-1.5 shadow-lg ring-1 ring-black/5",
3267
- align: o(s).align,
3268
- side: o(s).side
3266
+ align: l(s).align,
3267
+ side: l(s).side
3269
3268
  }, {
3270
- default: f(() => [
3271
- w(e.$slots, "default", {}, () => [
3272
- (u(!0), b(D, null, F(o(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(
3273
3272
  {
3274
3273
  key: a,
3275
- as: n.route || n.href ? ct : void 0,
3276
- class: n.class,
3277
- ref_for: !0
3274
+ as: n.route || n.href ? $t : void 0,
3275
+ class: n.class
3278
3276
  },
3277
+ { ref_for: !0 },
3279
3278
  n.route || n.href ? {
3280
3279
  href: n.href,
3281
3280
  route: n.route,
@@ -3283,14 +3282,14 @@ const Ca = { key: 0 }, ka = /* @__PURE__ */ g({
3283
3282
  routeQuery: n.routeQuery
3284
3283
  } : {},
3285
3284
  {
3286
- onSelect: (i) => {
3287
- var l;
3288
- return (l = n.click) == null ? void 0 : l.call(n);
3285
+ onSelect: (u) => {
3286
+ var i;
3287
+ return (i = n.click) == null ? void 0 : i.call(n);
3289
3288
  }
3290
3289
  }
3291
3290
  ), {
3292
- default: f(() => [
3293
- I(x(n.label), 1)
3291
+ default: m(() => [
3292
+ L(x(n.label), 1)
3294
3293
  ]),
3295
3294
  _: 2
3296
3295
  }, 1040, ["as", "class", "onSelect"]))), 128))
@@ -3299,7 +3298,7 @@ const Ca = { key: 0 }, ka = /* @__PURE__ */ g({
3299
3298
  _: 3
3300
3299
  }, 8, ["align", "side"]));
3301
3300
  }
3302
- }), Rl = /* @__PURE__ */ g({
3301
+ }), eo = /* @__PURE__ */ h({
3303
3302
  __name: "DropdownMenu",
3304
3303
  props: {
3305
3304
  align: {},
@@ -3315,18 +3314,18 @@ const Ca = { key: 0 }, ka = /* @__PURE__ */ g({
3315
3314
  return (r = t.options) == null ? void 0 : r.filter(Boolean);
3316
3315
  })
3317
3316
  };
3318
- return le("dropdown-menu", e), s(e), (r, n) => (u(), h(o(Ls), null, {
3319
- default: f(() => [
3320
- p(o(Is), null, {
3321
- default: f(() => [
3322
- 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")
3323
3322
  ]),
3324
3323
  _: 3
3325
3324
  }),
3326
- p(o(qs), null, {
3327
- default: f(() => [
3328
- w(r.$slots, "options", {}, () => [
3329
- p(Ra)
3325
+ d(l(Js), null, {
3326
+ default: m(() => [
3327
+ $(r.$slots, "options", {}, () => [
3328
+ d(Xa)
3330
3329
  ])
3331
3330
  ]),
3332
3331
  _: 3
@@ -3335,7 +3334,7 @@ const Ca = { key: 0 }, ka = /* @__PURE__ */ g({
3335
3334
  _: 3
3336
3335
  }));
3337
3336
  }
3338
- }), Pa = ["aria-hidden"], Aa = ["tabindex", "aria-label", "type"], Pl = /* @__PURE__ */ g({
3337
+ }), Ya = ["aria-hidden"], Ga = ["tabindex", "aria-label", "type"], to = /* @__PURE__ */ h({
3339
3338
  __name: "EditableContent",
3340
3339
  props: {
3341
3340
  type: { default: "text" },
@@ -3348,106 +3347,106 @@ const Ca = { key: 0 }, ka = /* @__PURE__ */ g({
3348
3347
  },
3349
3348
  emits: ["update", "save"],
3350
3349
  setup(t, { emit: s }) {
3351
- const e = s, r = G("$inputRef"), n = U(null), a = U(t.text), i = c(() => M("inline whitespace-pre", t.contentClass)), l = 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));
3352
- 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() {
3353
3352
  n.value = t.text;
3354
3353
  }
3355
- function $() {
3354
+ function w() {
3356
3355
  n.value && (t.type !== "number" && a.value.trim().length === 0 && (a.value = n.value, e("update", a.value)), n.value = null, e("save"));
3357
3356
  }
3358
- return Y(() => a.value = t.text), (m, C) => (u(), b("div", {
3359
- 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 }])
3360
3359
  }, [
3361
- n.value ? (u(), b("span", {
3360
+ n.value ? (o(), y("span", {
3362
3361
  key: 1,
3363
- class: k(l.value)
3364
- }, x(a.value), 3)) : (u(), b("div", {
3362
+ class: C(i.value)
3363
+ }, x(a.value), 3)) : (o(), y("div", {
3365
3364
  key: 0,
3366
- class: k(i.value)
3365
+ class: C(u.value)
3367
3366
  }, [
3368
- w(m.$slots, "default")
3367
+ $(v.$slots, "default")
3369
3368
  ], 2)),
3370
- m.type === "number" ? (u(), b("span", {
3369
+ v.type === "number" ? (o(), y("span", {
3371
3370
  key: 2,
3372
- class: k(["inline-block transition-[width]", n.value ? "w-5" : "w-0"])
3373
- }, null, 2)) : T("", !0),
3374
- y("form", {
3371
+ class: C(["inline-block transition-[width]", n.value ? "w-5" : "w-0"])
3372
+ }, null, 2)) : M("", !0),
3373
+ b("form", {
3375
3374
  class: "w-full",
3376
- "aria-hidden": m.formAriaHidden,
3377
- onSubmit: C[4] || (C[4] = We((L) => {
3378
- var _e;
3379
- 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();
3380
3379
  }, ["prevent"]))
3381
3380
  }, [
3382
- Ke(y("input", {
3381
+ nt(b("input", {
3383
3382
  ref: "$inputRef",
3384
- "onUpdate:modelValue": C[0] || (C[0] = (L) => a.value = L),
3385
- tabindex: m.tabindex ?? void 0,
3386
- "aria-label": m.ariaLabel ?? void 0,
3387
- type: m.type,
3388
- class: k([
3389
- d.value,
3390
- { "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" }
3391
3390
  ]),
3392
- onKeyup: C[1] || (C[1] = (L) => m.$emit("update", a.value)),
3393
- onFocus: C[2] || (C[2] = (L) => v()),
3394
- onBlur: C[3] || (C[3] = (L) => $())
3395
- }, null, 42, Aa), [
3396
- [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]
3397
3396
  ])
3398
- ], 40, Pa)
3397
+ ], 40, Ya)
3399
3398
  ], 2));
3400
3399
  }
3401
- }), Da = {
3400
+ }), el = {
3402
3401
  viewBox: "0 0 512 512",
3403
3402
  width: "1.2em",
3404
3403
  height: "1.2em"
3405
3404
  };
3406
- function ja(t, s) {
3407
- return u(), b("svg", Da, s[0] || (s[0] = [
3408
- y("path", {
3405
+ function tl(t, s) {
3406
+ return o(), y("svg", el, s[0] || (s[0] = [
3407
+ b("path", {
3409
3408
  fill: "currentColor",
3410
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"
3411
3410
  }, null, -1)
3412
3411
  ]));
3413
3412
  }
3414
- const Ba = E({ name: "ion-warning", render: ja }), Fa = {
3413
+ const sl = V({ name: "ion-warning", render: tl }), rl = {
3415
3414
  viewBox: "0 0 20 20",
3416
3415
  width: "1.2em",
3417
3416
  height: "1.2em"
3418
3417
  };
3419
- function Ua(t, s) {
3420
- return u(), b("svg", Fa, s[0] || (s[0] = [
3421
- y("path", {
3418
+ function nl(t, s) {
3419
+ return o(), y("svg", rl, s[0] || (s[0] = [
3420
+ b("path", {
3422
3421
  fill: "currentColor",
3423
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"
3424
3423
  }, null, -1)
3425
3424
  ]));
3426
3425
  }
3427
- 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({
3428
3427
  __name: "ErrorLogsModal",
3429
3428
  setup(t) {
3430
- return (s, e) => (u(), h(se, {
3429
+ return (s, e) => (o(), f(ne, {
3431
3430
  title: s.$td("errors.report", "Errors ({count})", { count: s.$errors.logs.length })
3432
3431
  }, {
3433
- default: f(() => [
3434
- y("ol", null, [
3435
- (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", {
3436
3435
  key: n,
3437
3436
  class: "mb-2 flex max-w-prose min-w-56 justify-between py-2 last:mb-0"
3438
3437
  }, [
3439
- y("div", null, [
3440
- y("h3", Na, x(r.report.title), 1),
3441
- y("time", {
3438
+ b("div", null, [
3439
+ b("h3", ll, x(r.report.title), 1),
3440
+ b("time", {
3442
3441
  datetime: r.date.toISOString(),
3443
3442
  class: "text-xs text-gray-700"
3444
- }, x(r.date.toLocaleTimeString()), 9, Wa),
3445
- p(P, {
3443
+ }, x(r.date.toLocaleTimeString()), 9, ol),
3444
+ d(z, {
3446
3445
  class: "text-sm text-gray-500",
3447
- text: r.report.description ?? o(yt)(r.report)
3446
+ text: r.report.description ?? l(Ht)(r.report)
3448
3447
  }, null, 8, ["text"])
3449
3448
  ]),
3450
- p(q, {
3449
+ d(I, {
3451
3450
  size: "icon",
3452
3451
  variant: "ghost",
3453
3452
  "aria-label": s.$td("errors.viewDetails", "View details"),
@@ -3455,11 +3454,11 @@ const Oa = E({ name: "zondicons-view-show", render: Ua }), Na = { class: "font-m
3455
3454
  class: "self-center",
3456
3455
  onClick: (a) => s.$errors.inspect(
3457
3456
  r.report,
3458
- s.$errors.logs.map(({ report: i }) => i)
3457
+ s.$errors.logs.map(({ report: u }) => u)
3459
3458
  )
3460
3459
  }, {
3461
- default: f(() => [
3462
- p(o(Oa), {
3460
+ default: m(() => [
3461
+ d(l(al), {
3463
3462
  class: "size-4",
3464
3463
  "aria-hidden": "true"
3465
3464
  })
@@ -3472,36 +3471,36 @@ const Oa = E({ name: "zondicons-view-show", render: Ua }), Na = { class: "font-m
3472
3471
  _: 1
3473
3472
  }, 8, ["title"]));
3474
3473
  }
3475
- }), Al = /* @__PURE__ */ g({
3474
+ }), so = /* @__PURE__ */ h({
3476
3475
  __name: "ErrorLogs",
3477
3476
  setup(t) {
3478
- return (s, e) => s.$errors.logs.length > 0 ? (u(), h(q, {
3477
+ return (s, e) => s.$errors.logs.length > 0 ? (o(), f(I, {
3479
3478
  key: 0,
3480
3479
  size: "icon",
3481
3480
  variant: "ghost",
3482
3481
  title: s.$td("errors.viewLogs", "View error logs"),
3483
3482
  "aria-label": s.$td("errors.viewLogs", "View error logs"),
3484
- onClick: e[0] || (e[0] = (r) => s.$ui.modal(Ka))
3483
+ onClick: e[0] || (e[0] = (r) => s.$ui.modal(il))
3485
3484
  }, {
3486
- default: f(() => [
3487
- p(o(Ba), { class: "size-6 text-red-500" })
3485
+ default: m(() => [
3486
+ d(l(sl), { class: "size-6 text-red-500" })
3488
3487
  ]),
3489
3488
  _: 1
3490
- }, 8, ["title", "aria-label"])) : T("", !0);
3489
+ }, 8, ["title", "aria-label"])) : M("", !0);
3491
3490
  }
3492
- }), Dl = /* @__PURE__ */ g({
3491
+ }), ro = /* @__PURE__ */ h({
3493
3492
  __name: "ErrorMessage",
3494
3493
  props: {
3495
3494
  error: {}
3496
3495
  },
3497
3496
  setup(t) {
3498
- const s = c(() => yt(t.error));
3499
- return (e, r) => (u(), h(P, {
3497
+ const s = c(() => Ht(t.error));
3498
+ return (e, r) => (o(), f(z, {
3500
3499
  text: s.value,
3501
3500
  inline: ""
3502
3501
  }, null, 8, ["text"]));
3503
3502
  }
3504
- }), jl = /* @__PURE__ */ g({
3503
+ }), no = /* @__PURE__ */ h({
3505
3504
  __name: "Link",
3506
3505
  props: {
3507
3506
  class: {},
@@ -3516,30 +3515,30 @@ const Oa = E({ name: "zondicons-view-show", render: Ua }), Na = { class: "font-m
3516
3515
  as: {}
3517
3516
  },
3518
3517
  setup(t) {
3519
- return (s, e) => (u(), h(q, H({ variant: "link" }, s.$props), {
3520
- default: f(() => [
3521
- w(s.$slots, "default")
3518
+ return (s, e) => (o(), f(I, H({ variant: "link" }, s.$props), {
3519
+ default: m(() => [
3520
+ $(s.$slots, "default")
3522
3521
  ]),
3523
3522
  _: 3
3524
3523
  }, 16));
3525
3524
  }
3526
- }), Bl = /* @__PURE__ */ g({
3525
+ }), ao = /* @__PURE__ */ h({
3527
3526
  __name: "SettingsModal",
3528
3527
  setup(t) {
3529
- const s = c(() => Zt(A.settings, "priority", "desc"));
3530
- return (e, r) => (u(), h(se, {
3528
+ const s = c(() => os(P.settings, "priority", "desc"));
3529
+ return (e, r) => (o(), f(ne, {
3531
3530
  title: e.$td("settings.title", "Settings")
3532
3531
  }, {
3533
- default: f(() => [
3534
- (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))
3535
3534
  ]),
3536
3535
  _: 1
3537
3536
  }, 8, ["title"]));
3538
3537
  }
3539
- }), Qa = {
3538
+ }), ul = {
3540
3539
  key: 0,
3541
3540
  class: "pointer-events-none absolute inset-y-0 right-0 flex items-center pr-3"
3542
- }, Fl = /* @__PURE__ */ g({
3541
+ }, lo = /* @__PURE__ */ h({
3543
3542
  inheritAttrs: !1,
3544
3543
  __name: "TextArea",
3545
3544
  props: {
@@ -3552,47 +3551,47 @@ const Oa = E({ name: "zondicons-view-show", render: Ua }), Na = { class: "font-m
3552
3551
  },
3553
3552
  emits: ["update:modelValue"],
3554
3553
  setup(t) {
3555
- 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(() => {
3556
- var l, d, v;
3557
- 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(
3558
3557
  // eslint-disable-next-line vue/max-len
3559
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",
3560
3559
  {
3561
- "focus:ring-primary-600": !((l = e.value) != null && l.errors),
3562
- "text-gray-900 shadow-2xs ring-gray-900/10 placeholder:text-gray-400": !((d = e.value) != null && d.errors),
3563
- "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
3564
3563
  },
3565
3564
  t.inputClass
3566
3565
  );
3567
3566
  });
3568
- return (l, d) => (u(), h(ze, H({
3567
+ return (i, p) => (o(), f(Be, H({
3569
3568
  ref: "$inputRef",
3570
- label: l.label,
3571
- class: o(n)
3569
+ label: i.label,
3570
+ class: l(n)
3572
3571
  }, s, {
3573
- "onUpdate:modelValue": d[0] || (d[0] = (v) => l.$emit("update:modelValue", v))
3572
+ "onUpdate:modelValue": p[0] || (p[0] = (g) => i.$emit("update:modelValue", g))
3574
3573
  }), {
3575
- default: f(() => {
3576
- var v;
3574
+ default: m(() => {
3575
+ var g;
3577
3576
  return [
3578
- p(fe, { class: "block text-sm leading-6 font-medium text-gray-900" }),
3579
- y("div", {
3580
- 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)
3581
3580
  }, [
3582
- p(Ea, H(o(r), { class: i.value }), null, 16, ["class"]),
3583
- (v = e.value) != null && v.errors ? (u(), b("div", Qa, [
3584
- p(o(qe), { class: "size-5 text-red-500" })
3585
- ])) : 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)
3586
3585
  ], 2),
3587
- p(Ct, { class: "mt-2 text-sm text-gray-600" }),
3588
- 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" })
3589
3588
  ];
3590
3589
  }),
3591
3590
  _: 1
3592
3591
  }, 16, ["label", "class"]));
3593
3592
  }
3594
3593
  });
3595
- class Ul {
3594
+ class oo {
3596
3595
  constructor() {
3597
3596
  _(this, "status");
3598
3597
  _(this, "_listeners");
@@ -3600,22 +3599,22 @@ class Ul {
3600
3599
  _(this, "_cancelled");
3601
3600
  _(this, "_started");
3602
3601
  _(this, "_completed");
3603
- 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();
3604
3603
  }
3605
3604
  async start() {
3606
3605
  this.beforeStart(), this._started.resolve();
3607
3606
  try {
3608
3607
  await this.updateProgress(), await this.run(), await this.updateProgress(), this._completed.resolve();
3609
3608
  } catch (s) {
3610
- if (s instanceof Ue)
3609
+ if (s instanceof et)
3611
3610
  return;
3612
- throw ee(Yt(s), (e) => {
3611
+ throw se(us(s), (e) => {
3613
3612
  this._completed.reject(e);
3614
3613
  });
3615
3614
  }
3616
3615
  }
3617
3616
  async cancel() {
3618
- this._cancelled = new K(), await this._cancelled;
3617
+ this._cancelled = new J(), await this._cancelled;
3619
3618
  }
3620
3619
  serialize() {
3621
3620
  return this.serializeStatus(this.status);
@@ -3650,10 +3649,10 @@ class Ul {
3650
3649
  }
3651
3650
  assertNotCancelled() {
3652
3651
  if (this._cancelled)
3653
- throw this._cancelled.resolve(), new Ue();
3652
+ throw this._cancelled.resolve(), new et();
3654
3653
  }
3655
3654
  calculateCurrentProgress(s) {
3656
- return s ?? (s = this.status), s.completed ? 1 : s.children ? Gt(
3655
+ return s ?? (s = this.status), s.completed ? 1 : s.children ? cs(
3657
3656
  s.children.reduce((e, r) => e + this.calculateCurrentProgress(r), 0) / s.children.length,
3658
3657
  2
3659
3658
  ) : 0;
@@ -3667,148 +3666,158 @@ class Ul {
3667
3666
  return { ...s };
3668
3667
  }
3669
3668
  }
3670
- async function Ol(t) {
3669
+ async function io(t) {
3671
3670
  await t.start();
3672
3671
  }
3673
3672
  export {
3674
- ql as AdvancedOptions,
3675
- tn as AlertModal,
3676
- A as App,
3677
- Il as AppLayout,
3678
- ka as AppModals,
3679
- Ta as AppOverlays,
3680
- Bs as AppService,
3681
- Sa as AppToasts,
3682
- q as Button,
3683
- bl as Cache,
3684
- lr as CacheService,
3685
- zl as Checkbox,
3686
- un as ConfirmModal,
3687
- Rl as DropdownMenu,
3688
- za as DropdownMenuOption,
3689
- Ra as DropdownMenuOptions,
3690
- Pl as EditableContent,
3691
- Al as ErrorLogs,
3692
- Ka as ErrorLogsModal,
3693
- Dl as ErrorMessage,
3694
- Pn as ErrorReportModal,
3695
- Mn as ErrorReportModalButtons,
3696
- Hn as ErrorReportModalTitle,
3697
- ut as Errors,
3698
- ol as EventListenerPriorities,
3699
- R as Events,
3700
- Ds as EventsService,
3701
- $t as Form,
3702
- Xs as FormController,
3703
- ct as HeadlessButton,
3704
- ze as HeadlessInput,
3705
- Ct as HeadlessInputDescription,
3706
- he as HeadlessInputError,
3707
- xt as HeadlessInputInput,
3708
- fe as HeadlessInputLabel,
3709
- Ea as HeadlessInputTextArea,
3710
- Wr as HeadlessModal,
3711
- Kr as HeadlessModalContent,
3712
- Qr as HeadlessModalDescription,
3713
- Jr as HeadlessModalOverlay,
3714
- Zr as HeadlessModalTitle,
3715
- br as HeadlessSelect,
3716
- Be as HeadlessSelectLabel,
3717
- mt as HeadlessSelectOption,
3718
- ft as HeadlessSelectOptions,
3719
- pt as HeadlessSelectTrigger,
3720
- dt as HeadlessSelectValue,
3721
- qr as HeadlessSwitch,
3722
- ya as HeadlessToast,
3723
- Zn as Input,
3724
- Ul as Job,
3725
- Ue as JobCancelledError,
3726
- Z as Lang,
3727
- me as Layouts,
3728
- jl as Link,
3729
- Nn as LoadingModal,
3730
- lt as MOBILE_BREAKPOINT,
3731
- P as Markdown,
3732
- se as Modal,
3733
- wt as ModalContext,
3734
- Un as ProgressBar,
3735
- ea as PromptModal,
3736
- _r as Select,
3737
- ht as SelectLabel,
3738
- Fe as SelectOption,
3739
- gt as SelectOptions,
3740
- vt as SelectTrigger,
3741
- we as Service,
3742
- Te as ServiceBootError,
3743
- Lr as Setting,
3744
- Bl as SettingsModal,
3745
- va as StartupCrash,
3746
- at as Storage,
3747
- zr as Switch,
3748
- Fl as TextArea,
3749
- wa as Toast,
3750
- z as UI,
3751
- dr as UIService,
3752
- pl as __valueType,
3753
- nr as aerogelDirectives,
3754
- zs as appNamespace,
3755
- $l as booleanInput,
3756
- $e as bootServices,
3757
- Ll as bootstrap,
3758
- xa as bootstrapApplication,
3759
- M as classes,
3760
- hl as computedAsync,
3761
- gl as computedDebounce,
3762
- _l as dateInput,
3763
- cl as defineDirective,
3764
- dl as defineFormValidationRule,
3765
- ul as definePlugin,
3766
- ye as defineServiceState,
3767
- As as defineServiceStore,
3768
- il as defineSettings,
3769
- Ol as dispatch,
3770
- xl as enumInput,
3771
- ot as getCurrentLayout,
3772
- yt as getErrorMessage,
3773
- tr as getMarkdownRouter,
3774
- Ps as getPiniaStore,
3775
- vr as hasSelectOptionLabel,
3776
- Ns as injectOrFail,
3777
- Os as injectReactive,
3778
- V as injectReactiveOrFail,
3779
- Fs as installPlugins,
3780
- Hl as numberInput,
3781
- El as objectInput,
3782
- ml as onCleanMounted,
3783
- st as onFormFocus,
3784
- fl as persistent,
3785
- wl as registerErrorHandler,
3786
- sr as renderMarkdown,
3787
- Ge as renderVNode,
3788
- yl as replaceExisting,
3789
- Cl as requiredBooleanInput,
3790
- kl as requiredDateInput,
3791
- Sl as requiredEnumInput,
3792
- Tl as requiredNumberInput,
3793
- Ml as requiredObjectInput,
3794
- Xn as requiredStringInput,
3795
- Rs as resetPiniaStore,
3796
- nt as safeHtml,
3797
- vl as setMarkdownRouter,
3798
- Vl as stringInput,
3799
- 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,
3800
3808
  S as translateWithDefault,
3801
- en as useAlertModal,
3802
- sn as useConfirmModal,
3803
- En as useErrorReportModal,
3804
- tt as useEvent,
3805
- rt as useForm,
3806
- Ie as useInputAttrs,
3807
- On as useLoadingModal,
3808
- Yn as usePromptModal,
3809
- Zs as validate,
3810
- Js as validateType,
3811
- de as validators,
3812
- 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
3813
3822
  };
3814
3823
  //# sourceMappingURL=aerogel-core.js.map