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