@aerogel/core 0.1.1-next.97f5cf5c97f16ab8a0ef63b82aaab049a0f9e15b → 0.1.1-next.a0176c6dfcf389f63a56ef9d70349b4fe1e6e316

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